• Stars
    star
    138
  • Rank 264,508 (Top 6 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

User Interface widgets and utilities for Solid

solid-ui

NPM Package

User Interface widgets and utilities for Solid (solid-ui)

These are HTML5 widgets which connect to a solid store. Building blocks for solid-based apps. Vanilla JS. Includes large widgets like chat, table, matrix, form fields, and small widgets.

See Solid-Ui Storybook for SolidUI widgets. See Solid-UI API for SolidUI functions. See Forms introduction for UI vocabulary implementation.

Table of content:

  • Getting started(#getting-started)
  • Further documentation(#further-ocumentation)

Getting started

Contributions of bug fixes and new functionality, documentation, and tests are always appreciated.

In npm-based projects

When including solid-ui in an npm-based project, you can use it with:

  import { ns, rdf,  acl, aclControl, create, dom, icons, log, matrix, media,
  messageArea, infiniteMessageArea, pad, preferences, style, table, tabs, utils, widgets, versionInfo
} from 'solid-ui'

Directly in a webpage

Clone this repo, and in the repo root run:

  • npm install
  • npm run build

This will generate a dist/ folder containing, among other artifacts, dist/main.js. Now run npx serve and go to http://localhost:3000/Documentation/ with your browser to see some examples.

While viewing one of those examples, you can open the web console in your browser and for instance try how you can create a button:

const solidLogo = 'https://solidproject.org/assets/img/solid-emblem.svg'
const myButton = UI.widgets.button(document, solidLogo, 'test', () => window.alert('clicked!'))
UI.widgets.clearElement(document.body)
document.body.appendChild(myButton)

Or a chat widget:

const chatChannel = 'https://example-user.inrupt.net/public/example-chat/index.ttl#this'
const chat = UI.infiniteMessageArea(document, store, UI.rdf.namedNode(chatChannel))
document.body.appendChild(chat)

Development new components

When developing a component in solid-ui you can test it in isolation using storybook

npm run build
npm run storybook

If there is no story for the component yet, add a new one to ./src/stories.

When you want to test the component within a solid-pane, you can use the development mode of solid-panes.

Adding Tests

The following document gives guidance on how to add and perform testing in solid-ui. Testing in solid-ui

Further documentation

More Repositories

1

solidos

The operating system for Solid
Shell
124
star
2

solid-panes

A set of core solid-compatible apps based on solid-ui
JavaScript
99
star
3

mashlib

Solid-compatible data mashup library and Data Browser
CSS
68
star
4

solid-tutorial-rdflib.js

Tutorials for using rdflib.js
34
star
5

data-kitchen

The SolidOS Databrowser technology as a stand-alone electron app
JavaScript
18
star
6

solid-logic

Core business logic of Solid OS
TypeScript
11
star
7

money-pane

Insight in your personal finance data
TypeScript
11
star
8

chat-pane

Solid-compatible chat discussion applet for solid-panes framework
JavaScript
10
star
9

project-pane

Projects have e.g a Chat,To-Do list, Meetings, Tag vocabulary, etc and sub-projects.
JavaScript
8
star
10

contacts-pane

Contact management: AddressBooks, Groups, Individuals and Organizations.
JavaScript
8
star
11

form-playground

Play with applying different forms to different objects, editing forms, etc
HTML
7
star
12

issue-pane

Issue tracker and bug editor pane, very configurable. Solid pane compatible
JavaScript
7
star
13

profile-pane

SolidOS pane that displays a personal profile page
TypeScript
6
star
14

folder-pane

Folder browser fo Sold file system: traverse, add new folders, objects, upload files etc
JavaScript
6
star
15

demo-notes

A simple demo program using solid-ui and rdflib.js
HTML
4
star
16

pane-registry

An index to hold all loaded solid panes, whether statically or dynamically loaded
JavaScript
4
star
17

solidos-module-interface

The way a solid-os module describes itself, is loaded and callled
3
star
18

source-pane

source-pane
JavaScript
3
star
19

activitystreams-pane

A visualization of Activity Streams types for solid-panes
TypeScript
3
star
20

meeting-pane

Bring together schedule, people, materials, discussion around a meeting.
JavaScript
3
star
21

solid-pane-source

An extraction of the source-pane into its own repo - this is experimental at this stage, not to be used in production yet
JavaScript
1
star
22

markdown-pane

A SolidOS pane to render, create and edit markdown files.
TypeScript
1
star