}
29 |
30 | export type PartialAgentTriple = {
31 | pred: string,
32 | obj: NamedNode
33 | }
34 |
--------------------------------------------------------------------------------
/src/convert.sed:
--------------------------------------------------------------------------------
1 | # A note of the changes between the tabulator library and the solid-ui library
2 | #
3 | s/tabulator\.ns/UI.ns/g
4 | s/tabulator\.Util/UI.utils/g
5 | s/tabulator\.panes.utils/UI.widgets/g
6 | s/tabulator\.kb/UI.store/g
7 | s/tabulator\.panes.utils/UI.widgets/g
8 | s/tabulator\.kb/UI.store/g
9 | s/tabulator\.sf/UI.store.fetcher/g
10 | s/tabulator\.fetcher/UI.store.fetcher/g
11 | s/tabulator\.lb.label/UI.utils.label/g
12 | s/tabulator\.log/UI.log/g
13 | s/tabulator\.rdf/UI.rdf/g
14 | s/tabulator.sparql/UI.store.updater/g
15 | s/tabulator.outline/UI.outline/g
16 |
--------------------------------------------------------------------------------
/src/create/index.ts:
--------------------------------------------------------------------------------
1 | import {
2 | newThingUI
3 | } from './create'
4 |
5 | export const create = {
6 | newThingUI
7 | }
8 |
--------------------------------------------------------------------------------
/src/create/types.ts:
--------------------------------------------------------------------------------
1 | import { NamedNode } from 'rdflib'
2 | import { PaneDefinition } from 'pane-registry'
3 |
4 | export type CreateContext = {
5 | div: HTMLElement
6 | dom: HTMLDocument
7 | folder?: NamedNode
8 | me: NamedNode
9 | refreshTarget?: HTMLTableElement
10 | statusArea: HTMLElement
11 | }
12 |
13 | export interface NewAppInstanceOptions {
14 | appPathSegment?: string
15 | event: any
16 | folder: NamedNode | null
17 | iconEle: HTMLImageElement
18 | pane: PaneDefinition
19 | noun: string
20 | noIndexHTML: boolean
21 | div: HTMLElement,
22 | me: NamedNode,
23 | dom: HTMLDocument,
24 | refreshTarget?: HTMLTableElement
25 | }
26 |
--------------------------------------------------------------------------------
/src/debug.ts:
--------------------------------------------------------------------------------
1 | export function log (...args: any[]) {
2 | // eslint-disable-next-line no-console
3 | console.log(...args)
4 | }
5 |
6 | export function warn (...args: any[]) {
7 | // eslint-disable-next-line no-console
8 | console.warn(...args)
9 | }
10 |
11 | export function error (...args: any[]) {
12 | // eslint-disable-next-line no-console
13 | console.error(...args)
14 | }
15 |
16 | export function trace (...args: any[]) {
17 | // eslint-disable-next-line no-console
18 | console.trace(...args)
19 | }
20 |
--------------------------------------------------------------------------------
/src/header/empty-profile.ts:
--------------------------------------------------------------------------------
1 | export const emptyProfile = `
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | `
11 |
--------------------------------------------------------------------------------
/src/icons/GitHub-Mark-120px-plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/icons/GitHub-Mark-120px-plus.png
--------------------------------------------------------------------------------
/src/icons/auto-play-next-tbl.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/icons/class-rectangle.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/src/icons/dokieli-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/icons/dokieli-logo.png
--------------------------------------------------------------------------------
/src/icons/markdown.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/noun-reply-5506924.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/icons/noun_10636.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_10636_grey.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/icons/noun_106746.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_113198.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_123691.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_130259.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_1369237.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_1369241.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_138712.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_144.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_145978.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_15059.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_160581.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_1619.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_17020.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/icons/noun_17020_gray-tick.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/icons/noun_17020_sans-tick.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/icons/noun_17181.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_189137.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_19460_green.svg:
--------------------------------------------------------------------------------
1 | plusCircle Created with Sketch (http://www.bohemiancoding.com/sketch)
--------------------------------------------------------------------------------
/src/icons/noun_2188_red.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
--------------------------------------------------------------------------------
/src/icons/noun_243787.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_253504.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_25830.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_260227.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_26877.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_272948.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_289243.svg:
--------------------------------------------------------------------------------
1 | 266 - Albums (Solid) Created with Sketch.
--------------------------------------------------------------------------------
/src/icons/noun_344563.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_346319.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_368567.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_383448.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_45961.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_479395.svg:
--------------------------------------------------------------------------------
1 | Noun_Project_100Icon_1px_grid
--------------------------------------------------------------------------------
/src/icons/noun_480183.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_48218.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_534313.svg:
--------------------------------------------------------------------------------
1 | Sounds_Icon_Grid
--------------------------------------------------------------------------------
/src/icons/noun_547570.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_562340.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_567486.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_581629.svg:
--------------------------------------------------------------------------------
1 | business_icons_tnp
--------------------------------------------------------------------------------
/src/icons/noun_598334.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_598334_cc.svg:
--------------------------------------------------------------------------------
1 | Created by ✦ Shmidt Sergey ✦ from the Noun Project
--------------------------------------------------------------------------------
/src/icons/noun_681601.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_688606.svg:
--------------------------------------------------------------------------------
1 | Artboard 66
--------------------------------------------------------------------------------
/src/icons/noun_748003.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_79217.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_793109.svg:
--------------------------------------------------------------------------------
1 | Artboard 11
--------------------------------------------------------------------------------
/src/icons/noun_88470.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_897914.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_925021.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_973687.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_973694.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_973694_expanded.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/icons/noun_99101.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_Cabinet_1434380.svg:
--------------------------------------------------------------------------------
1 | 48
2 |
--------------------------------------------------------------------------------
/src/icons/noun_Camera_1618446_000000.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_Danger_1259514.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/noun_Download_76560_000000.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_Hash_2457016.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/noun_Search_875351.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_Share_29706_000000.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_Sliders_341315_000000.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_T-Block_1114655_000000.svg:
--------------------------------------------------------------------------------
1 | T-down Created with Sketch.
--------------------------------------------------------------------------------
/src/icons/noun_T-Block_1114657_000000.svg:
--------------------------------------------------------------------------------
1 | T Created with Sketch.
--------------------------------------------------------------------------------
/src/icons/noun_Upload_76574_000000.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_classification_1479198.svg:
--------------------------------------------------------------------------------
1 | classification-divide-digest-separate-analytic-identify-list
2 |
--------------------------------------------------------------------------------
/src/icons/noun_copy_2018813.svg:
--------------------------------------------------------------------------------
1 | Asset 288
--------------------------------------------------------------------------------
/src/icons/noun_forward_390574_000000.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_help.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 | help_outline
4 | Created with Sketch.
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/icons/noun_lines_2626315.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/noun_locked_2160665_000000.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/noun_mention_3203461.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/noun_photo album_668930_000000.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_properties_402126.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_properties_98039.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/icons/noun_rectangle_1722413.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_rhombus_1722412.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/noun_unlocked_2160671_000000.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/padlock-timbl.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/icons/property-diamond.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/src/icons/social/0CREDITS.txt:
--------------------------------------------------------------------------------
1 | These icons were downloaded from https://worldvectorlogo.com/
2 | They are beleived free to use without constraint.
3 |
4 |
--------------------------------------------------------------------------------
/src/icons/social/ORCID-1.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/social/bluesky-1.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/social/facebook-2020-2-1.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/social/linkedin-icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/social/mastodon-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/social/nostr-icon-purple-on-white.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/social/pinterest-2-1.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/social/snapchat-1.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/icons/social/strava-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/social/tumblr-icon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/social/x-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/solid_logo.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/icons/solid_logo.ts
--------------------------------------------------------------------------------
/src/matrix/index.ts:
--------------------------------------------------------------------------------
1 | import {
2 | matrixForQuery
3 | } from './matrix'
4 |
5 | export const matrix = {
6 | matrixForQuery
7 | }
8 |
--------------------------------------------------------------------------------
/src/matrix/types.ts:
--------------------------------------------------------------------------------
1 | export type MatrixOptions = {
2 | cellFunction?: (td, x, y, value) => string
3 | xDecreasing?: boolean
4 | yDecreasing?: boolean
5 | // eslint-disable-next-line camelcase
6 | set_x: any[]
7 | // eslint-disable-next-line camelcase
8 | set_y: any[]
9 | }
10 |
--------------------------------------------------------------------------------
/src/media/index.ts:
--------------------------------------------------------------------------------
1 | import {
2 | cameraCaptureControl,
3 | cameraButton
4 | } from './media-capture'
5 |
6 | export const media = {
7 | cameraCaptureControl,
8 | cameraButton
9 | }
10 |
--------------------------------------------------------------------------------
/src/ns.js:
--------------------------------------------------------------------------------
1 | // Namespaces we commonly use and have common prefixes for around Solid
2 | //
3 |
4 | import solidNamespace from 'solid-namespace' // Delegate to this which takes RDFlib as param.
5 | import * as $rdf from 'rdflib'
6 |
7 | module.exports = solidNamespace($rdf)
8 | // export * from ns2
9 |
10 | // ends
11 |
--------------------------------------------------------------------------------
/src/originalIcons/0README.txt:
--------------------------------------------------------------------------------
1 |
2 | One site with usable icons -- there are many
3 |
4 | http://icons.mysitemyway.com/
5 |
6 |
--------------------------------------------------------------------------------
/src/originalIcons/16dot-blue.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/16dot-blue.gif
--------------------------------------------------------------------------------
/src/originalIcons/16dot-green.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/16dot-green.gif
--------------------------------------------------------------------------------
/src/originalIcons/16dot-red.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/16dot-red.gif
--------------------------------------------------------------------------------
/src/originalIcons/16dot-yellow.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/16dot-yellow.gif
--------------------------------------------------------------------------------
/src/originalIcons/18x18-button.white.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/18x18-button.white.gif
--------------------------------------------------------------------------------
/src/originalIcons/18x18-white.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/18x18-white.gif
--------------------------------------------------------------------------------
/src/originalIcons/1dot5a.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/1dot5a.gif
--------------------------------------------------------------------------------
/src/originalIcons/1pt5a.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/1pt5a.gif
--------------------------------------------------------------------------------
/src/originalIcons/22-categorize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/22-categorize.png
--------------------------------------------------------------------------------
/src/originalIcons/22-text-xml4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/22-text-xml4.png
--------------------------------------------------------------------------------
/src/originalIcons/CV.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/CV.png
--------------------------------------------------------------------------------
/src/originalIcons/Wclocksmall.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/Wclocksmall.png
--------------------------------------------------------------------------------
/src/originalIcons/about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/about.png
--------------------------------------------------------------------------------
/src/originalIcons/appointment-new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/appointment-new.png
--------------------------------------------------------------------------------
/src/originalIcons/ball16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/ball16.gif
--------------------------------------------------------------------------------
/src/originalIcons/beanie-a.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/beanie-a.gif
--------------------------------------------------------------------------------
/src/originalIcons/bg_ball.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/bg_ball.gif
--------------------------------------------------------------------------------
/src/originalIcons/circ-blue.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/circ-blue.gif
--------------------------------------------------------------------------------
/src/originalIcons/circ-green.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/circ-green.gif
--------------------------------------------------------------------------------
/src/originalIcons/circ-red.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/circ-red.gif
--------------------------------------------------------------------------------
/src/originalIcons/circ-x.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/circ-x.gif
--------------------------------------------------------------------------------
/src/originalIcons/circ-yellow.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/circ-yellow.gif
--------------------------------------------------------------------------------
/src/originalIcons/clean/icon_back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/clean/icon_back.png
--------------------------------------------------------------------------------
/src/originalIcons/clean/icon_collapse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/clean/icon_collapse.png
--------------------------------------------------------------------------------
/src/originalIcons/clean/icon_collapse_all.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/clean/icon_collapse_all.png
--------------------------------------------------------------------------------
/src/originalIcons/clean/icon_con_max.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/clean/icon_con_max.png
--------------------------------------------------------------------------------
/src/originalIcons/clean/icon_con_min.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/clean/icon_con_min.png
--------------------------------------------------------------------------------
/src/originalIcons/clean/icon_expand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/clean/icon_expand.png
--------------------------------------------------------------------------------
/src/originalIcons/clean/icon_forward.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/clean/icon_forward.png
--------------------------------------------------------------------------------
/src/originalIcons/clean/icon_link_with_editor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/clean/icon_link_with_editor.png
--------------------------------------------------------------------------------
/src/originalIcons/clean/icon_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/clean/icon_menu.png
--------------------------------------------------------------------------------
/src/originalIcons/clean/icon_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/clean/icon_up.png
--------------------------------------------------------------------------------
/src/originalIcons/clock1-a.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/clock1-a.gif
--------------------------------------------------------------------------------
/src/originalIcons/compassrose.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/compassrose.png
--------------------------------------------------------------------------------
/src/originalIcons/discovery_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/discovery_small.png
--------------------------------------------------------------------------------
/src/originalIcons/document.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/document.png
--------------------------------------------------------------------------------
/src/originalIcons/flickr_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/flickr_small.png
--------------------------------------------------------------------------------
/src/originalIcons/foaf/foafTiny.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/foaf/foafTiny.gif
--------------------------------------------------------------------------------
/src/originalIcons/g1377.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/g1377.png
--------------------------------------------------------------------------------
/src/originalIcons/go-to-this.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/go-to-this.png
--------------------------------------------------------------------------------
/src/originalIcons/images-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/images-1.jpg
--------------------------------------------------------------------------------
/src/originalIcons/images-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/images-2.jpg
--------------------------------------------------------------------------------
/src/originalIcons/images-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/images-3.jpg
--------------------------------------------------------------------------------
/src/originalIcons/images-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/images-4.jpg
--------------------------------------------------------------------------------
/src/originalIcons/images-5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/images-5.jpg
--------------------------------------------------------------------------------
/src/originalIcons/images.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/images.jpg
--------------------------------------------------------------------------------
/src/originalIcons/law.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/law.jpg
--------------------------------------------------------------------------------
/src/originalIcons/loading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/loading.png
--------------------------------------------------------------------------------
/src/originalIcons/lock1-a.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/lock1-a.gif
--------------------------------------------------------------------------------
/src/originalIcons/m-glass-a.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/m-glass-a.gif
--------------------------------------------------------------------------------
/src/originalIcons/map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/map.png
--------------------------------------------------------------------------------
/src/originalIcons/markers/0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/markers/0.png
--------------------------------------------------------------------------------
/src/originalIcons/markers/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/markers/1.png
--------------------------------------------------------------------------------
/src/originalIcons/markers/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/markers/2.png
--------------------------------------------------------------------------------
/src/originalIcons/markers/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/markers/3.png
--------------------------------------------------------------------------------
/src/originalIcons/markers/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/markers/4.png
--------------------------------------------------------------------------------
/src/originalIcons/markers/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/markers/5.png
--------------------------------------------------------------------------------
/src/originalIcons/markers/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/markers/6.png
--------------------------------------------------------------------------------
/src/originalIcons/markers/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/markers/7.png
--------------------------------------------------------------------------------
/src/originalIcons/markers/8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/markers/8.png
--------------------------------------------------------------------------------
/src/originalIcons/markers/9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/markers/9.png
--------------------------------------------------------------------------------
/src/originalIcons/microblog/microblog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/microblog/microblog.png
--------------------------------------------------------------------------------
/src/originalIcons/optional_off.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/optional_off.PNG
--------------------------------------------------------------------------------
/src/originalIcons/optional_on.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/optional_on.PNG
--------------------------------------------------------------------------------
/src/originalIcons/pb-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/pb-logo.png
--------------------------------------------------------------------------------
/src/originalIcons/pencil_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/pencil_small.png
--------------------------------------------------------------------------------
/src/originalIcons/photo_back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/photo_back.png
--------------------------------------------------------------------------------
/src/originalIcons/photo_begin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/photo_begin.png
--------------------------------------------------------------------------------
/src/originalIcons/photo_end.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/photo_end.png
--------------------------------------------------------------------------------
/src/originalIcons/photo_next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/photo_next.png
--------------------------------------------------------------------------------
/src/originalIcons/photo_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/photo_small.png
--------------------------------------------------------------------------------
/src/originalIcons/pin3-a.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/pin3-a.gif
--------------------------------------------------------------------------------
/src/originalIcons/pin7-a.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/pin7-a.gif
--------------------------------------------------------------------------------
/src/originalIcons/publication/publicationPaneIcon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/publication/publicationPaneIcon.gif
--------------------------------------------------------------------------------
/src/originalIcons/publication/publicationPaneIcon2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/publication/publicationPaneIcon2.gif
--------------------------------------------------------------------------------
/src/originalIcons/publication/publication_placeholder.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/publication/publication_placeholder.gif
--------------------------------------------------------------------------------
/src/originalIcons/rdf_flyer.24.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/rdf_flyer.24.gif
--------------------------------------------------------------------------------
/src/originalIcons/refresh.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/refresh.gif
--------------------------------------------------------------------------------
/src/originalIcons/retract.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/retract.gif
--------------------------------------------------------------------------------
/src/originalIcons/silk/famfamfam.com- Silk Icons.webloc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/silk/famfamfam.com- Silk Icons.webloc
--------------------------------------------------------------------------------
/src/originalIcons/silk/readme.txt:
--------------------------------------------------------------------------------
1 | Silk icon set 1.3
2 |
3 | _________________________________________
4 | Mark James
5 | http://www.famfamfam.com/lab/icons/silk/
6 | _________________________________________
7 |
8 | This work is licensed under a
9 | Creative Commons Attribution 2.5 License.
10 | [ http://creativecommons.org/licenses/by/2.5/ ]
11 |
12 | This means you may use it for any purpose,
13 | and make any changes you like.
14 | All I ask is that you include a link back
15 | to this page in your credits.
16 |
17 | Are you using this icon set? Send me an email
18 | (including a link or picture if available) to
19 | mjames@gmail.com
20 |
21 | Any other questions about this icon set please
22 | contact mjames@gmail.com
--------------------------------------------------------------------------------
/src/originalIcons/silk/telephone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/silk/telephone.png
--------------------------------------------------------------------------------
/src/originalIcons/smblk01.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/smblk01.gif
--------------------------------------------------------------------------------
/src/originalIcons/smblu02.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/smblu02.gif
--------------------------------------------------------------------------------
/src/originalIcons/smgr02.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/smgr02.gif
--------------------------------------------------------------------------------
/src/originalIcons/smgry05.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/smgry05.gif
--------------------------------------------------------------------------------
/src/originalIcons/smmag01.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/smmag01.gif
--------------------------------------------------------------------------------
/src/originalIcons/smrd01.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/smrd01.gif
--------------------------------------------------------------------------------
/src/originalIcons/smyel01.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/smyel01.gif
--------------------------------------------------------------------------------
/src/originalIcons/social/social.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/social/social.gif
--------------------------------------------------------------------------------
/src/originalIcons/sw-cube.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/sw-cube.png
--------------------------------------------------------------------------------
/src/originalIcons/table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/table.png
--------------------------------------------------------------------------------
/src/originalIcons/table2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/table2.png
--------------------------------------------------------------------------------
/src/originalIcons/tag_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tag_small.png
--------------------------------------------------------------------------------
/src/originalIcons/tag_tiny.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tag_tiny.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/22-applications-system.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/22-applications-system.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/22-emblem-system.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/22-emblem-system.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/22-folder-open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/22-folder-open.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/22-folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/22-folder.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/22-help-browser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/22-help-browser.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/22-image-x-generic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/22-image-x-generic.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/22-list-add-new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/22-list-add-new.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/22-list-add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/22-list-add.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/22-list-remove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/22-list-remove.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/22-mail-message-new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/22-mail-message-new.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/22-text-html.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/22-text-html.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/22-text-x-generic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/22-text-x-generic.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/22-user-trash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/22-user-trash.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/22-view-refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/22-view-refresh.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/22-x-office-calendar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/22-x-office-calendar.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/32-help-browser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/32-help-browser.png
--------------------------------------------------------------------------------
/src/originalIcons/tango/README.txt:
--------------------------------------------------------------------------------
1 | See: http://tango.freedesktop.org/Tango_Icon_Library
2 |
--------------------------------------------------------------------------------
/src/originalIcons/tango/Tango Icon Gallery - Tango Desktop Project.webloc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tango/Tango Icon Gallery - Tango Desktop Project.webloc
--------------------------------------------------------------------------------
/src/originalIcons/tbl-X-big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-X-big.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-collapse-no-effect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-collapse-no-effect.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-collapse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-collapse.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-columns.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-columns.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-down.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-expand-l.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-expand-l.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-expand-trans-no-effect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-expand-trans-no-effect.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-expand-trans.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-expand-trans.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-expand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-expand.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-i-blue-12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-i-blue-12.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-i-gray-12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-i-gray-12.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-invert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-invert.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-minis-red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-minis-red.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-minus-red-12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-minus-red-12.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-more-trans.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-more-trans.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-plus-black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-plus-black.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-plus-green-12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-plus-green-12.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-plus-green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-plus-green.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-rows.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-rows.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-shrink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-shrink.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-up.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-x-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-x-small.png
--------------------------------------------------------------------------------
/src/originalIcons/tbl-x-trans.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/tbl-x-trans.png
--------------------------------------------------------------------------------
/src/originalIcons/trash1-a.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/trash1-a.gif
--------------------------------------------------------------------------------
/src/originalIcons/triangle-expand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/triangle-expand.png
--------------------------------------------------------------------------------
/src/originalIcons/userinput_add_triple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/userinput_add_triple.png
--------------------------------------------------------------------------------
/src/originalIcons/userinput_show_choices_temp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/userinput_show_choices_temp.png
--------------------------------------------------------------------------------
/src/originalIcons/w3c/README.txt:
--------------------------------------------------------------------------------
1 | From http://www.w3.org/RDF/icons.
2 | W3C lioence.
3 |
--------------------------------------------------------------------------------
/src/originalIcons/w3c/n3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/w3c/n3.gif
--------------------------------------------------------------------------------
/src/originalIcons/w3c/n3_small.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/w3c/n3_small.gif
--------------------------------------------------------------------------------
/src/originalIcons/w3c/n3_small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/w3c/n3_small.png
--------------------------------------------------------------------------------
/src/originalIcons/w3c/n3_smaller.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/w3c/n3_smaller.png
--------------------------------------------------------------------------------
/src/originalIcons/w3c/n3_smaller1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/w3c/n3_smaller1.png
--------------------------------------------------------------------------------
/src/originalIcons/x-office-calendar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidOS/solid-ui/74e80203d82814ad1aa0fd4ac4674b22655d94ce/src/originalIcons/x-office-calendar.png
--------------------------------------------------------------------------------
/src/signup/config-default.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | /**
3 | * Provides a simple configuration object for Solid web client and other
4 | * modules.
5 | * @module config-default
6 | */
7 | export default { // @@ should not use export default
8 | /**
9 | * Primary authentication endpoint
10 | */
11 | authEndpoint: '',
12 |
13 | /**
14 | * Fallback authentication endpoint
15 | */
16 | fallbackAuthEndpoint: 'https://databox.me/',
17 |
18 | /**
19 | * Default signup endpoints (list of identity providers)
20 | */
21 | signupEndpoint: 'https://solidproject.org/use-solid/',
22 |
23 | /**
24 | * Default height of the Signup popup window, in pixels
25 | */
26 | signupWindowHeight: 600,
27 |
28 | /**
29 | * Default width of the Signup popup window, in pixels
30 | */
31 | signupWindowWidth: 1024,
32 |
33 | /**
34 | * Path to the client private key (only needed when running within node)
35 | */
36 | key: '',
37 |
38 | /**
39 | * Path to the client certificate (only needed when running within node)
40 | */
41 | cert: ''
42 | }
43 |
--------------------------------------------------------------------------------
/src/stories/Display.stories.mdx:
--------------------------------------------------------------------------------
1 | import * as UI from "../../lib";
2 |
3 | import { Canvas, Meta, Story } from "@storybook/addon-docs";
4 |
5 |
6 |
7 | ## complain
8 |
9 | [API documentation](https://solidos.github.io/solid-ui/Documentation/api/modules/_widgets_buttons_.html#complain)
10 |
11 |
12 |
13 | {() => {
14 | const div = document.createElement("div");
15 | UI.widgets.complain({ div, dom: document }, "not good!");
16 | return div;
17 | }}
18 |
19 |
20 |
21 | ## errorMessageBlock
22 |
23 | [API documentation](https://solidos.github.io/solid-ui/Documentation/api/modules/_widgets_error_.html#errormessageblock)
24 |
25 |
26 |
27 | {() => {
28 | return UI.widgets.errorMessageBlock(document, "my error message", "#f0f");
29 | }}
30 |
31 |
32 |
33 | ## setName
34 |
35 | Sets the best name we have and looks up a better one
36 |
37 | [API documentation](https://solidos.github.io/solid-ui/Documentation/api/modules/_widgets_buttons_.html#setname)
38 |
39 |
40 |
41 | {() => {
42 | const div = document.createElement("div");
43 | const jane = UI.rdf.namedNode("https://jane.example/person/card#me");
44 | UI.store.add(jane, UI.ns.foaf("name"), "Jane Doe");
45 | UI.widgets.setName(div, jane);
46 | return div;
47 | }}
48 |
49 |
50 |
--------------------------------------------------------------------------------
/src/stories/Events.stories.mdx:
--------------------------------------------------------------------------------
1 | import * as UI from "../../lib";
2 |
3 | import { Canvas, Meta, Story } from "@storybook/addon-docs";
4 | import { action } from "@storybook/addon-actions";
5 |
6 |
7 |
8 | ## openHrefInOutlineMode
9 |
10 | Event Handler for links within solid apps.
11 |
12 | [API Documentation](https://solidos.github.io/solid-ui/Documentation/api/modules/_widgets_buttons_.html#openhrefinoutlinemode)
13 |
14 |
15 |
16 | {() => {
17 | document.outlineManager = {
18 | GotoSubject: action("go to subject"),
19 | };
20 | const anchor = document.createElement("a");
21 | anchor.setAttribute("href", "http://example.com");
22 | anchor.onclick = (e) => {
23 | UI.widgets.openHrefInOutlineMode(e);
24 | return false;
25 | };
26 | anchor.appendChild(document.createTextNode("click me"));
27 | return anchor;
28 | }}
29 |
30 |
31 |
--------------------------------------------------------------------------------
/src/stories/Header.stories.mdx:
--------------------------------------------------------------------------------
1 | import * as UI from "../../lib";
2 |
3 | import { Canvas, Meta, Story } from "@storybook/addon-docs";
4 |
5 |
6 |
7 | ## Header
8 |
9 |
10 |
11 | export const headerDecorator = (Story) => {
12 | setTimeout(() => Story(), 1);
13 | return 'The above div with ID "PageHeader" is replaced by the header component
';
14 | };
15 |
16 | To experience the full behaviour of the header, you need to log in. This can be done at
17 | [the example page](http://solidos.github.io/solid-ui/examples/header).
18 |
19 |
20 |
21 | {() => {
22 | const options = {};
23 | UI.initHeader(UI.store, options);
24 | }}
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/stories/decorators.js:
--------------------------------------------------------------------------------
1 | export const rawJsonDecorator = (Story) => {
2 | return `${JSON.stringify(Story(), null, 2)} `
3 | }
4 |
--------------------------------------------------------------------------------
/src/stories/forms/Intro.stories.mdx:
--------------------------------------------------------------------------------
1 | import * as UI from "../../../lib";
2 |
3 | import { Canvas, Meta, Story } from "@storybook/addon-docs";
4 |
5 |
6 |
7 | ## See also
8 |
9 | - [Forms intro](https://solidos.github.io/solid-ui/Documentation/forms-intro.html)
10 | - [Form ecosystem](https://solidos.github.io/solid-ui//Documentation/form-ecosystem.html)
11 | - [Form Playground](https://solidos.github.io/form-playground/playground.html)
12 | - [Form Browse](https://solidos.github.io/form-playground/browse.html)
13 | - [API docs](https://solidos.github.io/solid-ui/Documentation/api/)
14 |
--------------------------------------------------------------------------------
/src/stories/iconForClass.stories.mdx:
--------------------------------------------------------------------------------
1 | import * as UI from "../../lib";
2 |
3 | import { Canvas, Meta, Story } from "@storybook/addon-docs";
4 |
5 | export const iconDecorator = (Story) => {
6 | const items = Story();
7 | const lines = items.map(
8 | ({ className, icon }) =>
9 | `${className} ${icon} `
10 | );
11 | return `className icon Preview
12 | ${lines.join("")}
13 |
`;
14 | };
15 |
16 |
17 |
18 | # iconForClass
19 |
20 | Best logo or avatar or photo etc to represent someone or some group etc
21 |
22 | [API Documentation](https://solidos.github.io/solid-ui/Documentation/api/modules/_widgets_buttons_.html#iconforclass)
23 |
24 | ## for solid:AppProviderClass
25 |
26 |
27 |
28 | {() =>
29 | Object.keys(UI.widgets.iconForClass).map((className) => {
30 | const icon = UI.widgets.iconForClass[className];
31 | return { className, icon };
32 | })
33 | }
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/styleConstants.js:
--------------------------------------------------------------------------------
1 | export default {
2 | highlightColor: '#7C4DFF', // Solid lavender https://design.inrupt.com/atomic-core/?cat=Core
3 |
4 | formBorderColor: '#888888', // Mid-grey
5 | formHeadingColor: '#888888', // originally was brown; now grey
6 | lowProfileLinkColor: '#3B5998', // Grey-blue, e.g., for field labels linking to ontology
7 | formFieldNameBoxWidth: '8em', // The fixed amount to get form fields to line up
8 | // We put in the latter when switching away from using tables. However, getting
9 | // alignment between fields in different groups is a hard problem.
10 |
11 | mediaModuleCanvasWidth: '640',
12 | mediaModuleCanvasHeight: '480',
13 |
14 | textInputSize: 20, // Rough default text input size, in characters
15 | tabBorderRadius: '0.2em',
16 |
17 | textInputBackgroundColor: '#eef',
18 | textInputBackgroundColorUneditable: '#fff',
19 | textInputColor: '#000',
20 | textInputColorPending: '#888',
21 |
22 | defaultErrorBackgroundColor: '#fee',
23 |
24 | participationDefaultBackground: 'white',
25 |
26 | basicMaxLength: '4096'
27 | }
28 |
--------------------------------------------------------------------------------
/src/toDataURI.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # from https://unix.stackexchange.com/questions/247843/how-to-generate-a-data-uri-from-an-image-file
3 | mimetype=$(file -bN --mime-type "$1")
4 | content=$(base64 < "$1")
5 | echo "export default const 'data:$mimetype;base64,$content'"
6 | # ends
7 |
--------------------------------------------------------------------------------
/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.sparql' {
2 | const content: string
3 | export default content
4 | }
5 |
--------------------------------------------------------------------------------
/src/utils/keyHelpers/otherHelpers.ts:
--------------------------------------------------------------------------------
1 | import { store } from 'solid-logic'
2 | import * as ns from '../../ns'
3 | import { NamedNode } from 'rdflib'
4 | // Will rename this file later. We will probably be using solid-logic anyway
5 | // moved it out so I can mock
6 |
7 | export const getRootIfPreferencesExist = (webId: NamedNode) => {
8 | let root = store.any(webId, ns.space('preferencesFile'), null, webId.doc())?.value
9 | root = root?.split('/').slice(0, -2).join('/')
10 | if (!root) throw new Error(`prefererencesFile is expected to exist in ${webId}`)
11 | return root
12 | }
13 |
--------------------------------------------------------------------------------
/src/widgets/forms/formStyle.ts:
--------------------------------------------------------------------------------
1 | import * as ns from '../../ns'
2 | import { Node } from 'rdflib'
3 | import { store } from 'solid-logic'
4 | import { fieldParams } from './fieldParams'
5 |
6 | import { mostSpecificClassURI } from './fieldFunction'
7 |
8 | const STYLE_URI_PREFIX = 'https://www.w3.org/ns/css#'
9 |
10 | /* eslint-disable no-console */
11 |
12 | export function setFieldStyle (ele:HTMLElement, field:Node) {
13 | const classUri = mostSpecificClassURI(field)
14 | const params = fieldParams[classUri] || {}
15 |
16 | const style = store.any(field as any, ns.ui('style'))
17 | if (!style) {
18 | if (params.style) {
19 | ele.setAttribute('style', params.style)
20 | }
21 | return
22 | }
23 | if (style.termType === 'Literal') {
24 | if (style) ele.setAttribute('style', style.value)
25 | } else {
26 | const sts = store.statementsMatching(style as any, null, null, (field as any).doc())
27 | sts.forEach(st => {
28 | if (st.predicate.uri && st.predicate.uri.startsWith(STYLE_URI_PREFIX)) {
29 | const cssAttribute = st.predicate.uri.slice(STYLE_URI_PREFIX.length)
30 | try {
31 | ele.style[cssAttribute] = st.object.value
32 | } catch (err) {
33 | console.warn(`setFieldStyle: Error setting element style ${cssAttribute} to "${st.object.value}"`)
34 | console.warn(`setFieldStyle: ... Element tagName was "${ele.tagName || '???'}"`)
35 | }
36 | }
37 | })
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/test/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "jest/globals": true
4 | },
5 | "plugins": [ "jest" ]
6 | }
7 |
--------------------------------------------------------------------------------
/test/browser/README.md:
--------------------------------------------------------------------------------
1 | # Browser tests
2 |
3 | The purpose of this folder is to preserve legacy code that were written to test functionality "manually" in a browser,
4 | e.g. you would open an HTML in your browser and look through the rendered view to check if there were any
5 | deviations from what you expected.
6 |
7 | No new tests should be written this way, since the execution and verification of functionality should be automated.
8 |
--------------------------------------------------------------------------------
/test/browser/tabs/test.ttl:
--------------------------------------------------------------------------------
1 | @prefix foaf: .
2 | @prefix sched: .
3 | @prefix ical: .
4 | @prefix dc: .
5 | @prefix ui: .
6 |
7 | # :event1 dc:author :a0;
8 | # sched:YesNoMaybe;
9 | # :a0 foaf:name "Zoe".
10 | # :a1 foaf:name "Alice".
11 | # :a2 foaf:name "Bob".
12 | #
13 | # sched:Yes ui:backgroundColor "#efe".
14 | # sched:No ui:backgroundColor "#fee".
15 | # sched:Maybe ui:backgroundColor "#ffe".
16 |
--------------------------------------------------------------------------------
/test/custom-matchers/toContainGraph.ts:
--------------------------------------------------------------------------------
1 | import { IndexedFormula } from 'rdflib'
2 |
3 | export function toContainGraph (received: IndexedFormula, expected: IndexedFormula) {
4 | const receivedStatements = received.statements.slice()
5 | const expectedStatements = expected.statements.slice()
6 | const diffStatements = expectedStatements.filter(st => !received.holds(st.subject, st.predicate, st.object, st.graph))
7 | return {
8 | pass: diffStatements.length === 0,
9 | message: () => `Statements in expected graph is not contained in received graph\n
10 | Found ${receivedStatements.length} statements in received graph:
11 | ${receivedStatements.map(st => `- ${st.subject} ${st.predicate} ${st.object} ${st.graph} .\n`).join('')}
12 | The following ${diffStatements.length} statements does not exist in the above graph:
13 | ${diffStatements.map(st => `- ${st.subject} ${st.predicate} ${st.object} ${st.graph} .\n`).join('')}`
14 | }
15 | }
16 |
17 | declare global {
18 | namespace jest {
19 | interface Matchers {
20 | toContainGraph (a: IndexedFormula): R;
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/test/helpers/dom-with-head.ts:
--------------------------------------------------------------------------------
1 | import { JSDOM } from 'jsdom'
2 |
3 | export function domWithHead () {
4 | const window = new JSDOM('Hello world
').window
5 | const dom = window.document
6 | return {
7 | head: {},
8 | createElement: dom.createElement.bind(dom)
9 | } as unknown as HTMLDocument
10 | }
11 |
--------------------------------------------------------------------------------
/test/helpers/setup.ts:
--------------------------------------------------------------------------------
1 | import { toContainGraph } from '../custom-matchers/toContainGraph'
2 | import { toEqualGraph } from '../custom-matchers/toEqualGraph'
3 | import { error, log, trace, warn } from '../../src/debug'
4 | import 'isomorphic-fetch'
5 | import { TextEncoder, TextDecoder } from 'util'
6 |
7 | // https://stackoverflow.com/questions/52612122/how-to-use-jest-to-test-functions-using-crypto-or-window-mscrypto
8 | // globalThis.crypto = require('crypto').webcrypto // with node >=16
9 | const nodeCrypto = require('crypto')
10 | global.crypto = {
11 | getRandomValues: function (buffer) {
12 | return nodeCrypto.randomFillSync(buffer)
13 | }
14 | }
15 |
16 | global.TextEncoder = TextEncoder
17 | global.TextDecoder = TextDecoder
18 |
19 | // We don't want to output debug messages to console as part of the tests
20 | jest.mock('../../src/debug')
21 |
22 | export function silenceDebugMessages () {
23 | ;(log as any).mockImplementation(() => null)
24 | ;(warn as any).mockImplementation(() => null)
25 | ;(error as any).mockImplementation(() => null)
26 | ;(trace as any).mockImplementation(() => null)
27 | }
28 |
29 | // adding custom matchers
30 | expect.extend({
31 | toContainGraph,
32 | toEqualGraph
33 | })
34 |
--------------------------------------------------------------------------------
/test/unit/__snapshots__/pad.test.ts.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`notepad runs 1`] = `
4 |
14 | `;
15 |
16 | exports[`notepad status area ... 1`] = `
17 |
27 | `;
28 |
--------------------------------------------------------------------------------
/test/unit/__snapshots__/participation.test.ts.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`manageParticipation runs 1`] = `
4 |
7 | `;
8 |
9 | exports[`renderParticipants returns without crashing when a person is not returned 1`] = `
10 |
13 | `;
14 |
15 | exports[`renderParticipants runs 1`] = `
16 |
19 | `;
20 |
--------------------------------------------------------------------------------
/test/unit/__snapshots__/tabs.test.ts.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`tabWidget minimal setup of options renders content for first tab 1`] = `
4 |
7 |
10 |
13 |
14 |
17 |
18 | `;
19 |
--------------------------------------------------------------------------------
/test/unit/acl/index.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../../helpers/setup'
2 | import * as Acl from '../../../src/acl/acl'
3 | import * as AclControl from '../../../src/acl/acl-control'
4 | import { acl, aclControl } from '../../../src/acl/index'
5 |
6 | silenceDebugMessages()
7 |
8 | describe('acl related APIs', () => {
9 | it('exports some methods in the acl module', () => {
10 | expect(Acl).toEqual(expect.objectContaining(acl))
11 | expect([
12 | 'adoptACLDefault',
13 | 'readACL',
14 | 'sameACL',
15 | 'ACLunion',
16 | 'loadUnionACL',
17 | 'ACLbyCombination',
18 | 'makeACLGraph',
19 | 'makeACLGraphbyCombo',
20 | 'ACLToString',
21 | 'comboToString',
22 | 'makeACLString',
23 | 'putACLObject',
24 | 'putACLbyCombo',
25 | 'fixIndividualCardACL',
26 | 'fixIndividualACL',
27 | 'setACL',
28 | 'getACLorDefault',
29 | 'getACL'
30 | ]).toEqual(expect.arrayContaining(Object.keys(acl)))
31 | })
32 |
33 | it('exposes some methods of acl-control module', () => {
34 | expect(AclControl).toEqual(expect.objectContaining(aclControl))
35 | expect([
36 | 'preventBrowserDropEvents',
37 | 'shortNameForFolder',
38 | 'ACLControlBox5'
39 | ]).toEqual(expect.arrayContaining(Object.keys(aclControl)))
40 | })
41 | })
42 |
--------------------------------------------------------------------------------
/test/unit/acl/mocks/aclWithAllAgents.ttl:
--------------------------------------------------------------------------------
1 | @prefix : .
2 | @prefix acl: .
3 | @prefix meg: .
4 | @prefix profile: .
5 | @prefix foaf: .
6 |
7 | :1
8 | acl:accessTo meg:;
9 | acl:default meg:;
10 | acl:agent profile:me;
11 | acl:mode acl:Read;
12 | a acl:Authorization.
13 | :2a
14 | acl:accessTo meg:;
15 | acl:agentClass foaf:Agent;
16 | acl:mode acl:Read;
17 | a acl:Authorization.
18 | :2b
19 | acl:default meg:;
20 | acl:agentClass foaf:Agent;
21 | acl:mode acl:Read;
22 | a acl:Authorization.
23 | :3a
24 | acl:accessTo meg:;
25 | acl:agentGroup ;
26 | acl:mode acl:Read;
27 | a acl:Authorization.
28 | :3b
29 | acl:defaultForNew meg:;
30 | acl:agentGroup ;
31 | acl:mode acl:Read;
32 | a acl:Authorization.
33 | :4
34 | acl:accessTo meg:;
35 | acl:default meg:;
36 | acl:origin ;
37 | acl:mode acl:Read;
38 | a acl:Authorization.
39 | :5
40 | acl:accessTo meg:;
41 | acl:defaultForNew meg:;
42 | acl:originClass ;
43 | acl:mode acl:Read;
44 | a acl:Authorization.
45 |
--------------------------------------------------------------------------------
/test/unit/acl/mocks/defaultAcl.ttl:
--------------------------------------------------------------------------------
1 | @prefix : .
2 | @prefix acl: .
3 | @prefix meg: .
4 | @prefix profile: .
5 | @prefix foaf: .
6 |
7 | :Append
8 | acl:accessTo meg:;
9 | acl:agent profile:me;
10 | acl:default meg:;
11 | acl:mode acl:Append;
12 | a acl:Authorization.
13 | :ControlReadWrite
14 | acl:accessTo meg:;
15 | acl:agent profile:me;
16 | acl:defaultForNew meg:;
17 | acl:mode acl:Control, acl:Read, acl:Write;
18 | a acl:Authorization.
19 | :Read
20 | acl:accessTo meg:;
21 | acl:agentClass foaf:Agent;
22 | acl:default meg:;
23 | acl:mode acl:Read;
24 | a acl:Authorization.
25 |
--------------------------------------------------------------------------------
/test/unit/acl/mocks/defaultAclDuplicate.ttl:
--------------------------------------------------------------------------------
1 | @prefix : .
2 | @prefix acl: .
3 | @prefix meg: .
4 | @prefix profile: .
5 | @prefix foaf: .
6 |
7 | :Append
8 | acl:accessTo meg:;
9 | acl:agent profile:me;
10 | acl:default meg:;
11 | acl:mode acl:Append;
12 | a acl:Authorization.
13 | :ControlReadWrite
14 | acl:accessTo meg:;
15 | acl:agent profile:me;
16 | acl:defaultForNew meg:;
17 | acl:mode acl:Control, acl:Read, acl:Write;
18 | a acl:Authorization.
19 | :Read
20 | acl:accessTo meg:;
21 | acl:agentClass foaf:Agent;
22 | acl:default meg:;
23 | acl:mode acl:Read;
24 | a acl:Authorization.
25 |
--------------------------------------------------------------------------------
/test/unit/acl/mocks/docAcl.ttl:
--------------------------------------------------------------------------------
1 | @prefix : .
2 | @prefix acl: .
3 | @prefix meg: .
4 | @prefix profile: .
5 | @prefix foaf: .
6 |
7 | :Append
8 | acl:accessTo meg:;
9 | acl:agent profile:me;
10 | acl:mode acl:Append;
11 | a acl:Authorization.
12 | :ControlReadWrite
13 | acl:accessTo meg:;
14 | acl:agent profile:me;
15 | acl:mode acl:Control, acl:Read, acl:Write;
16 | a acl:Authorization.
17 | :Read
18 | acl:accessTo meg:;
19 | acl:agentClass foaf:Agent;
20 | acl:mode acl:Read;
21 | a acl:Authorization.
22 |
--------------------------------------------------------------------------------
/test/unit/acl/styles.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../../helpers/setup'
2 | import * as Style from '../../../src/style'
3 |
4 | silenceDebugMessages()
5 |
6 | describe('Style', () => {
7 | it('exists', () => {
8 | expect(typeof Style).toEqual('object')
9 | })
10 | })
11 |
--------------------------------------------------------------------------------
/test/unit/chat/__snapshots__/bookmarks.test.ts.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`findBookmarkDocument complains if you have multiple bookmark docs 1`] = `"More than one bookmark file! ,"`;
4 |
--------------------------------------------------------------------------------
/test/unit/chat/infinite.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../../helpers/setup'
2 | import { JSDOM } from 'jsdom'
3 | import { infiniteMessageArea } from '../../../src/chat/infinite'
4 | import { sym } from 'rdflib'
5 |
6 | silenceDebugMessages()
7 | const dom = new JSDOM('Hello world
').window.document
8 |
9 | describe('infiniteMessageArea', () => {
10 | it('exists', () => {
11 | expect(infiniteMessageArea).toBeInstanceOf(Function)
12 | })
13 | /* Bogus error: line 374: TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
14 | when p1 in fact is HTMLTableRowElement { AJAR_date: '9999-01-01T00:00:00Z' }
15 | */
16 | it.skip('runs', async () => {
17 | const kb = undefined // will default to store
18 | const chatChannel = sym('https://domain.tld/chat.ttl#this')
19 | const options = {}
20 | ;(window as any).alert = () => {}
21 |
22 | const result = await infiniteMessageArea(dom, kb, chatChannel, options)
23 | expect(result).toBeTruthy()
24 | })
25 | })
26 |
--------------------------------------------------------------------------------
/test/unit/chat/messageTools.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../../helpers/setup'
2 | import {
3 | sentimentStrip,
4 | sentimentStripLinked,
5 | messageToolbar
6 | } from '../../../src/chat/messageTools'
7 |
8 | import * as $rdf from 'rdflib'
9 |
10 | const message1 = $rdf.sym('https://example.com/chat.ttl#message1')
11 |
12 | silenceDebugMessages()
13 |
14 | describe('sentimentStrip', () => {
15 | it('exists', () => {
16 | expect(sentimentStrip).toBeInstanceOf(Function)
17 | })
18 | it('runs', async () => {
19 | expect(await sentimentStrip(message1)).toBeInstanceOf(Text)
20 | })
21 | })
22 |
23 | describe('sentimentStripLinked', () => {
24 | it('exists', () => {
25 | expect(sentimentStripLinked).toBeInstanceOf(Function)
26 | })
27 | it('runs', async () => {
28 | expect(await sentimentStripLinked(message1, message1.doc())).toBeInstanceOf(HTMLSpanElement)
29 | })
30 | })
31 |
32 | describe('messageToolbar', () => {
33 | it('exists', () => {
34 | expect(messageToolbar).toBeInstanceOf(Function)
35 | })
36 | it('runs', async () => {
37 | expect(await messageToolbar(message1, document.createElement('tr'), {})).toBeInstanceOf(HTMLDivElement)
38 | })
39 | })
40 |
--------------------------------------------------------------------------------
/test/unit/chat/signature.test.ts:
--------------------------------------------------------------------------------
1 | import { getMsgHash, serializeMsg, signMsg, verifySignature } from '../../../src/chat/signature'
2 | import { sha256 } from '@noble/hashes/sha256'
3 |
4 | const PRIV_KEY = 'a11bc5d2eee6cdb3b37f5473a712cad905ccfb13fb2ccdbf1be0a1ac4fdc7d2a'
5 | const PUB_KEY = '023a9da707bee1302f66083c9d95673ff969b41607a66f52686fa774d64ceb87'
6 |
7 | describe('signature', () => {
8 | it('serializeMsg', () => {
9 | const msg = { id: 'test' }
10 | const res = serializeMsg(msg)
11 | expect(res).toEqual(JSON.stringify(msg))
12 | })
13 | it('sign and verifySignature', () => {
14 | const msg = { id: 'test' }
15 | const sign = signMsg(msg, PRIV_KEY)
16 | const verify = verifySignature(sign, msg, PUB_KEY)
17 | expect(verify).toEqual(true)
18 | })
19 | })
20 |
--------------------------------------------------------------------------------
/test/unit/chat/thread.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../../helpers/setup'
2 | import { JSDOM } from 'jsdom'
3 | import { thread } from '../../../src/chat/thread'
4 | import { graph, sym } from 'rdflib'
5 |
6 | silenceDebugMessages()
7 | const dom = new JSDOM('Hello world
').window.document
8 |
9 | describe('Thread', () => {
10 | it('exists', () => {
11 | expect(thread).toBeInstanceOf(Function)
12 | })
13 |
14 | it.skip('runs', () => {
15 | const kb = graph()
16 | const subject = ''
17 | const messageStore = sym('https://test.test#')
18 | const options = {}
19 |
20 | ;(window as any).alert = () => {}
21 | expect(thread(dom, kb, subject, messageStore, options)).toBeInstanceOf(Object)
22 | })
23 | })
24 |
--------------------------------------------------------------------------------
/test/unit/create.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../helpers/setup'
2 | import { JSDOM } from 'jsdom'
3 | import { create } from '../../src/create'
4 |
5 | silenceDebugMessages()
6 | const dom = new JSDOM('Hello world
').window.document
7 | const div = dom.createElement('div')
8 |
9 | describe('newThingUI', () => {
10 | it('exists', () => {
11 | expect(create.newThingUI).toBeInstanceOf(Function)
12 | })
13 | it('runs', () => {
14 | expect(create.newThingUI({ dom, div }, { dom }, {})).toEqual(undefined)
15 | })
16 | })
17 |
--------------------------------------------------------------------------------
/test/unit/folders.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../helpers/setup'
2 | import { JSDOM } from 'jsdom'
3 | import { deleteRecursive, deleteFolder } from '../../src/folders'
4 | import { store } from 'solid-logic'
5 |
6 | silenceDebugMessages()
7 | const dom = new JSDOM('Hello world
').window.document
8 |
9 | describe('deleteRecursive', () => {
10 | it('exists', () => {
11 | expect(deleteRecursive).toBeInstanceOf(Function)
12 | })
13 | it.skip('runs', async () => {
14 | expect(await deleteRecursive(store, 'test/')).toEqual(undefined)
15 | })
16 | })
17 |
18 | describe('deleteFolder', () => {
19 | it('exists', () => {
20 | expect(deleteFolder).toBeInstanceOf(Function)
21 | })
22 | it('runs', async () => {
23 | expect(await deleteFolder({}, undefined, dom)).toBeTruthy()
24 | })
25 | })
26 |
--------------------------------------------------------------------------------
/test/unit/footer/__snapshots__/index.test.ts.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`createControllerInfoBlock makes use of options 1`] = `
4 |
7 |
8 |
11 |
12 |
15 |
16 |
19 |
20 |
21 | `;
22 |
23 | exports[`createControllerInfoBlock runs createControllerInfoBlock 1`] = `
24 |
27 |
28 |
31 |
32 |
35 |
36 |
39 |
40 |
41 | `;
42 |
43 | exports[`footer is exposed on public API 1`] = `undefined`;
44 |
45 | exports[`rebuildFooter creates a link 1`] = `[Function]`;
46 |
47 | exports[`rebuildFooter does NOT creates a link in the footer 1`] = `[Function]`;
48 |
--------------------------------------------------------------------------------
/test/unit/helpers/clearStore.ts:
--------------------------------------------------------------------------------
1 | import { solidLogicSingleton } from 'solid-logic'
2 |
3 | export function clearStore () {
4 | solidLogicSingleton.clearStore()
5 | }
6 |
--------------------------------------------------------------------------------
/test/unit/helpers/createAgentMapFromTurtle.ts:
--------------------------------------------------------------------------------
1 | import { NamedNode } from 'rdflib'
2 | import { AgentMapMap } from '../../../src/acl/types'
3 | import { createGraphFromTurtle } from './createGraphFromTurtle'
4 | import { readACL } from '../../../src/acl/acl'
5 |
6 | export async function createAgentMapFromTurtle (turtle: string, resourceDoc: NamedNode, aclDoc: NamedNode): Promise {
7 | const store = await createGraphFromTurtle(turtle, aclDoc.uri)
8 | return readACL(resourceDoc, aclDoc, store)
9 | }
10 |
--------------------------------------------------------------------------------
/test/unit/helpers/createDataBrowserContext.ts:
--------------------------------------------------------------------------------
1 | import { DataBrowserContext } from 'pane-registry'
2 | import { LiveStore } from 'rdflib'
3 |
4 | export function createDataBrowserContext (
5 | dom: HTMLDocument,
6 | store: LiveStore
7 | ): DataBrowserContext {
8 | return {
9 | dom,
10 | getOutliner: jest.fn(),
11 | session: {
12 | paneRegistry: {
13 | list: [],
14 | paneForIcon: [],
15 | paneForPredicate: [],
16 | register: jest.fn(),
17 | byName: jest.fn()
18 | },
19 | store
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/test/unit/helpers/createGraphFromTurtle.ts:
--------------------------------------------------------------------------------
1 | import { graph, IndexedFormula, parse } from 'rdflib'
2 |
3 | export async function createGraphFromTurtle (turtle: string, graphUri: string): Promise {
4 | const store = graph()
5 | return new Promise((resolve, reject) => parse(turtle, store, graphUri, 'text/turtle', error => {
6 | if (error) reject(error)
7 | resolve(store)
8 | }))
9 | }
10 |
--------------------------------------------------------------------------------
/test/unit/helpers/createGraphFromTurtleFile.ts:
--------------------------------------------------------------------------------
1 | import { IndexedFormula } from 'rdflib'
2 | import { getFileContent } from './getFileContent'
3 | import { createGraphFromTurtle } from './createGraphFromTurtle'
4 |
5 | export async function createGraphFromTurtleFile (filePath: string, graphUri: string): Promise {
6 | const turtle = await getFileContent(filePath)
7 | return createGraphFromTurtle(turtle, graphUri)
8 | }
9 |
--------------------------------------------------------------------------------
/test/unit/helpers/createLiveStore.ts:
--------------------------------------------------------------------------------
1 | import { fetcher, graph, UpdateManager, LiveStore } from 'rdflib'
2 |
3 | export function createLiveStore (): LiveStore { // will change this to LiveStore when pane-registry is updated
4 | const store = graph()
5 | fetcher(store, {})
6 | store.updater = new UpdateManager()
7 | return store as LiveStore
8 | }
9 |
--------------------------------------------------------------------------------
/test/unit/helpers/getFileContent.ts:
--------------------------------------------------------------------------------
1 | import { readFile } from 'fs'
2 |
3 | export async function getFileContent (filePath: string): Promise {
4 | return new Promise((resolve, reject) => readFile(filePath, 'utf-8', (err, data) => {
5 | if (err) return reject(err)
6 | resolve(data)
7 | }))
8 | }
9 |
--------------------------------------------------------------------------------
/test/unit/helpers/instantiateAccessController.ts:
--------------------------------------------------------------------------------
1 | import { AccessController } from '../../../src/acl/access-controller'
2 | import { createDataBrowserContext } from './createDataBrowserContext'
3 | import { sym, LiveStore } from 'rdflib'
4 |
5 | export function instantiateAccessController (dom: HTMLDocument, store: LiveStore) {
6 | const subject = sym('https://test.test#')
7 | const noun = ''
8 | const context = createDataBrowserContext(dom, store)
9 | const statusElement = dom.createElement('div')
10 | const targetIsProtected = false
11 | const targetDoc = sym('https://test.test#')
12 | const targetACLDoc = sym('https://test.test#')
13 | const defaultHolder = sym('https://test.test#')
14 | const defaultACLDoc = sym('https://test.test#')
15 | const prospectiveDefaultHolder = sym('https://test.test#')
16 | return new AccessController(
17 | subject,
18 | noun,
19 | context,
20 | statusElement,
21 | targetIsProtected,
22 | targetDoc,
23 | targetACLDoc,
24 | defaultHolder,
25 | defaultACLDoc,
26 | prospectiveDefaultHolder,
27 | store,
28 | dom
29 | )
30 | }
31 |
--------------------------------------------------------------------------------
/test/unit/helpers/instantiateAccessGroups.ts:
--------------------------------------------------------------------------------
1 | import { sym, LiveStore } from 'rdflib'
2 | import { AccessGroups } from '../../../src/acl/access-groups'
3 | import { instantiateAccessController } from './instantiateAccessController'
4 |
5 | export function instantiateAccessGroups (dom: HTMLDocument, store: LiveStore) {
6 | return new AccessGroups(
7 | sym('http://test.test/doc'),
8 | sym('http://test.test/doc.acl'),
9 | instantiateAccessController(dom, store),
10 | store,
11 | {})
12 | }
13 |
--------------------------------------------------------------------------------
/test/unit/helpers/loadTurtleFileIntoGraph.ts:
--------------------------------------------------------------------------------
1 | import { IndexedFormula } from 'rdflib'
2 | import { getFileContent } from './getFileContent'
3 | import { loadTurtleIntoGraph } from './loadTurtleIntoGraph'
4 |
5 | export async function loadTurtleFileIntoGraph (serializationPath: string, graphUri: string, graph: IndexedFormula): Promise {
6 | const rawText = await getFileContent(serializationPath)
7 | return loadTurtleIntoGraph(rawText, graphUri, graph)
8 | }
9 |
--------------------------------------------------------------------------------
/test/unit/helpers/loadTurtleIntoGraph.ts:
--------------------------------------------------------------------------------
1 | import { IndexedFormula, parse } from 'rdflib'
2 |
3 | export async function loadTurtleIntoGraph (rawText: string, graphUri: string, graph: IndexedFormula): Promise {
4 | return new Promise((resolve, reject) => parse(rawText, graph, graphUri, 'text/turtle', error => {
5 | if (error) return reject(error)
6 | resolve()
7 | }))
8 | }
9 |
--------------------------------------------------------------------------------
/test/unit/iconBase.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../helpers/setup'
2 | import { icons } from '../../src/iconBase'
3 |
4 | const { iconBase, originalIconBase } = icons
5 |
6 | silenceDebugMessages()
7 |
8 | describe('iconBase', () => {
9 | it('exists', () => {
10 | expect(iconBase).toEqual('https://solidos.github.io/solid-ui/src/icons/')
11 | })
12 | })
13 |
14 | describe('originalIconBase', () => {
15 | it('exists', () => {
16 | expect(originalIconBase).toEqual('https://solidos.github.io/solid-ui/src/originalIcons/')
17 | })
18 | })
19 |
--------------------------------------------------------------------------------
/test/unit/index.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../helpers/setup'
2 | import * as Index from '../../src/index'
3 |
4 | silenceDebugMessages()
5 |
6 | describe('Index', () => {
7 | it('exists', () => {
8 | expect(Object.keys(Index).sort()).toEqual([
9 | 'acl',
10 | 'aclControl',
11 | 'authn',
12 | 'create',
13 | 'createTypes',
14 | 'dom',
15 | 'icons',
16 | 'infiniteMessageArea',
17 | 'initFooter',
18 | 'initHeader',
19 | 'language',
20 | 'log',
21 | 'login',
22 | 'matrix',
23 | 'media',
24 | 'messageArea',
25 | 'ns',
26 | 'pad',
27 | 'participation',
28 | 'preferences',
29 | 'rdf',
30 | 'store',
31 | 'style',
32 | 'table',
33 | 'tabs',
34 | 'utils',
35 | 'versionInfo',
36 | 'widgets'
37 | ])
38 | })
39 | // make sure none of them are undefined:
40 | Object.keys(Index).forEach(key => expect(Index[key] && key).toEqual(key))
41 | })
42 |
--------------------------------------------------------------------------------
/test/unit/login/login.test.ts:
--------------------------------------------------------------------------------
1 | import * as testLogin from '../../../src/login/login'
2 |
3 | describe('ensureLoggedIn', () => {
4 | afterAll(() => {
5 | jest.restoreAllMocks()
6 | })
7 | it('exists', () => {
8 | expect(testLogin.ensureLoggedIn).toBeInstanceOf(Function)
9 | })
10 | it('runs', () => {
11 | expect(testLogin.ensureLoggedIn({})).toBeInstanceOf(Object)
12 | })
13 | })
14 |
--------------------------------------------------------------------------------
/test/unit/matrix.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../helpers/setup'
2 | import { matrix } from '../../src/matrix'
3 | import { JSDOM } from 'jsdom'
4 |
5 | silenceDebugMessages()
6 | const window = new JSDOM('Hello world
').window
7 | const dom = window.document
8 |
9 | describe('matrixForQuery', () => {
10 | it('exists', () => {
11 | expect(matrix.matrixForQuery).toBeInstanceOf(Function)
12 | })
13 | it('runs', () => {
14 | expect(matrix.matrixForQuery(
15 | dom,
16 | '',
17 | '',
18 | '',
19 | '',
20 | {},
21 | () => {}
22 | )).toBeTruthy()
23 | })
24 | })
25 |
--------------------------------------------------------------------------------
/test/unit/media-capture.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../helpers/setup'
2 | import { JSDOM } from 'jsdom'
3 | import { cameraCaptureControl, cameraButton } from '../../src/media/media-capture'
4 | import { graph } from 'rdflib'
5 |
6 | silenceDebugMessages()
7 | const window = new JSDOM('Hello world
').window
8 | const dom = window.document
9 |
10 | describe('cameraCaptureControl', () => {
11 | it('exists', () => {
12 | expect(cameraCaptureControl).toBeInstanceOf(Function)
13 | })
14 | it('runs', () => {
15 | expect(() => {
16 | cameraCaptureControl(
17 | dom,
18 | graph(),
19 | () => {},
20 | () => {}
21 | )
22 | }).toThrowError('navigator.mediaDevices not available')
23 | })
24 | })
25 |
26 | describe('cameraButton', () => {
27 | it('exists', () => {
28 | expect(cameraButton).toBeInstanceOf(Function)
29 | })
30 | it('runs', () => {
31 | expect(cameraButton(
32 | dom,
33 | graph(),
34 | () => {},
35 | () => {}
36 | )).toBeTruthy()
37 | })
38 | })
39 |
--------------------------------------------------------------------------------
/test/unit/messageArea.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../helpers/setup'
2 | import { JSDOM } from 'jsdom'
3 | import { messageArea } from '../../src/messageArea'
4 | import { graph, sym } from 'rdflib'
5 |
6 | silenceDebugMessages()
7 | const window = new JSDOM('Hello world
').window
8 | const dom = window.document
9 |
10 | describe('messageArea', () => {
11 | it('exists', () => {
12 | expect(messageArea).toBeInstanceOf(Function)
13 | })
14 | it('runs', () => {
15 | expect(messageArea(
16 | dom,
17 | graph(),
18 | sym('https://test.test'),
19 | sym('https://test.test'),
20 | {}
21 | )).toBeTruthy()
22 | })
23 | })
24 |
--------------------------------------------------------------------------------
/test/unit/noun_Camera_1618446_000000.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../helpers/setup'
2 | import NounCamera1618446 from '../../src/noun_Camera_1618446_000000'
3 |
4 | silenceDebugMessages()
5 |
6 | describe('NounCamera1618446_000000', () => {
7 | it('exists', () => {
8 | expect(typeof NounCamera1618446).toEqual('string')
9 | })
10 | })
11 |
--------------------------------------------------------------------------------
/test/unit/ns.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../helpers/setup'
2 | import { rdf } from '../../src/ns'
3 |
4 | silenceDebugMessages()
5 |
6 | describe('RDF Namespace', () => {
7 | it('gives the right URI for rdf:type', () => {
8 | expect(rdf('type').uri).toEqual('http://www.w3.org/1999/02/22-rdf-syntax-ns#type')
9 | })
10 | })
11 |
--------------------------------------------------------------------------------
/test/unit/utils/keyHelpers/acl.test.ts:
--------------------------------------------------------------------------------
1 | import { store } from 'solid-logic'
2 | import { setAcl, keyAclBody } from '../../../../src/utils/keyHelpers/acl'
3 |
4 | store.fetcher.load = jest.fn().mockImplementation(() => {})
5 | store.any = jest.fn()
6 | store.fetcher.webOperation = jest.fn()
7 |
8 | const keyDoc = 'https://alice.solidcommunity.net/profile/keys/publicKey.ttl'
9 | const keyAclDoc = 'https://alice.solidcommunity.net/profile/keys/publicKey.ttl'
10 | const error404 = {
11 | response: {
12 | status: 404
13 | }
14 | }
15 |
16 | describe('ACL Helpers', () => {
17 | describe('setAcl', () => {
18 | it('throws an error if an ACL document is NOT found', async () => {
19 | /* @ts-ignore */
20 | store.any.mockReturnValueOnce('')
21 | await expect(setAcl(keyDoc, keyAclBody(keyDoc, ''))).rejects.toThrowError('Key ACL doc not found!')
22 | })
23 | it('throws error if acl can not be written', async () => {
24 | /* @ts-ignore */
25 | store.any.mockReturnValueOnce(keyAclDoc)
26 | /* @ts-ignore */
27 | store.fetcher.webOperation.mockRejectedValueOnce()
28 | await expect(setAcl(keyDoc, keyAclBody(keyDoc, ''))).rejects.toThrowError('')
29 | })
30 | it('continues if error is because acl doc can not be found.', async () => {
31 | /* @ts-ignore */
32 | store.any.mockReturnValueOnce(keyAclDoc)
33 | /* @ts-ignore */
34 | store.fetcher.webOperation.mockRejectedValueOnce(error404)
35 | await expect(setAcl(keyDoc, keyAclBody(keyDoc, ''))).resolves.toBeUndefined
36 | })
37 | })
38 | })
39 |
--------------------------------------------------------------------------------
/test/unit/utils/keyHelpers/otherHelpers.test.ts:
--------------------------------------------------------------------------------
1 | import { store } from 'solid-logic'
2 | import { getRootIfPreferencesExist } from '../../../../src/utils/keyHelpers/otherHelpers'
3 | import { NamedNode } from 'rdflib'
4 |
5 | store.any = jest.fn()
6 |
7 | describe('accessData', () => {
8 | const webId = new NamedNode('https://alice.solid.example.net/profile/card#me')
9 | describe('getRootFromPreferences', () => {
10 | /* @ts-ignore */
11 | store.any.mockReturnValueOnce(undefined)
12 | .mockReturnValueOnce({ value: 'https://alice.example.net/settings/prefs.ttl' })
13 | it('Throws an error if preferences do not exist', () => {
14 | expect(() => getRootIfPreferencesExist(webId)).toThrow('prefererencesFile is expected to exist in ')
15 | })
16 | it('Returns the root if preferences exist', () => {
17 | const result = getRootIfPreferencesExist(webId)
18 | expect(result).toEqual('https://alice.example.net')
19 | })
20 | })
21 | })
22 |
--------------------------------------------------------------------------------
/test/unit/widgets/buttons/iconLink.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../../../helpers/setup'
2 | import { JSDOM, DOMWindow } from 'jsdom'
3 | import { NamedNode } from 'rdflib'
4 | import {
5 | linkIcon,
6 | createLinkForURI
7 | } from '../../../../src/widgets/buttons/iconLinks'
8 |
9 | silenceDebugMessages()
10 | let window: DOMWindow
11 | let dom: HTMLDocument
12 | let element: HTMLDivElement
13 | let obj: NamedNode
14 |
15 | beforeEach(() => {
16 | window = new JSDOM('Hello world
').window
17 | dom = window.document
18 | element = dom.createElement('div')
19 | obj = new NamedNode('https://test.test#')
20 | })
21 | describe('linkIcon', () => {
22 | it('exists', () => {
23 | expect(linkIcon).toBeInstanceOf(Function)
24 | })
25 | it('runs', () => {
26 | const subject = new NamedNode('https://test.test#')
27 | const iconURI = ''
28 | expect(linkIcon(dom, subject, iconURI)).toBeTruthy()
29 | })
30 | })
31 |
32 | describe('createLinkForURI', () => {
33 | it('creates a Link for a URI element should return with two children a tag and br tag', () => {
34 | createLinkForURI(dom, element, obj)
35 | expect(element.children[0].nodeName).toEqual('A')
36 | expect(element.children[1].nodeName).toEqual('BR')
37 | })
38 | it('adds the classList to the anchor tag in the div', () => {
39 | createLinkForURI(dom, element, obj)
40 | expect(element.children[0].classList[0]).toEqual('HoverControlHide')
41 | })
42 | })
43 |
--------------------------------------------------------------------------------
/test/unit/widgets/error.test.ts:
--------------------------------------------------------------------------------
1 | import { silenceDebugMessages } from '../../helpers/setup'
2 | import { JSDOM } from 'jsdom'
3 | import { errorMessageBlock } from '../../../src/widgets/error'
4 |
5 | silenceDebugMessages()
6 | const dom = new JSDOM('Hello world
').window.document
7 |
8 | describe('errorMessageBlock', () => {
9 | it('exists', () => {
10 | expect(errorMessageBlock).toBeInstanceOf(Function)
11 | })
12 | it('creates an error message div', () => {
13 | expect(errorMessageBlock(dom, 'my error message')).toMatchSnapshot()
14 | })
15 | it('escapes the HTML', () => {
16 | const result = errorMessageBlock(dom, 'my message')
17 | expect(result).toMatchSnapshot()
18 | expect(result.innerHTML.indexOf('