@sylwellsoftware/fray 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/EXPERIMENTAL.md +75 -0
- package/LICENSE +55 -0
- package/NOTICE +2 -0
- package/README.md +521 -0
- package/dist/Components/Placeholder.d.ts +14 -0
- package/dist/Components/Placeholder.d.ts.map +1 -0
- package/dist/Components/component.d.ts +187 -0
- package/dist/Components/component.d.ts.map +1 -0
- package/dist/Components/controlUtils.d.ts +20 -0
- package/dist/Components/controlUtils.d.ts.map +1 -0
- package/dist/Components/data/descriptionList.d.ts +21 -0
- package/dist/Components/data/descriptionList.d.ts.map +1 -0
- package/dist/Components/data/listview/listview.d.ts +39 -0
- package/dist/Components/data/listview/listview.d.ts.map +1 -0
- package/dist/Components/data/selectionhandler.d.ts +68 -0
- package/dist/Components/data/selectionhandler.d.ts.map +1 -0
- package/dist/Components/data/table/DataTable.d.ts +72 -0
- package/dist/Components/data/table/DataTable.d.ts.map +1 -0
- package/dist/Components/data/table/FilterPanel.d.ts +35 -0
- package/dist/Components/data/table/FilterPanel.d.ts.map +1 -0
- package/dist/Components/data/table/TableHeader.d.ts +21 -0
- package/dist/Components/data/table/TableHeader.d.ts.map +1 -0
- package/dist/Components/data/table/TableHeaderCell.d.ts +39 -0
- package/dist/Components/data/table/TableHeaderCell.d.ts.map +1 -0
- package/dist/Components/data/table/tableQuery.d.ts +25 -0
- package/dist/Components/data/table/tableQuery.d.ts.map +1 -0
- package/dist/Components/data/treeview/treeitem.d.ts +20 -0
- package/dist/Components/data/treeview/treeitem.d.ts.map +1 -0
- package/dist/Components/data/treeview/treeview.d.ts +42 -0
- package/dist/Components/data/treeview/treeview.d.ts.map +1 -0
- package/dist/Components/dialog/dialog.d.ts +37 -0
- package/dist/Components/dialog/dialog.d.ts.map +1 -0
- package/dist/Components/layout/panel.d.ts +20 -0
- package/dist/Components/layout/panel.d.ts.map +1 -0
- package/dist/Components/layout/sidebar.d.ts +18 -0
- package/dist/Components/layout/sidebar.d.ts.map +1 -0
- package/dist/Components/layout/splitView.d.ts +18 -0
- package/dist/Components/layout/splitView.d.ts.map +1 -0
- package/dist/Components/layout/tabpanel/tab.d.ts +12 -0
- package/dist/Components/layout/tabpanel/tab.d.ts.map +1 -0
- package/dist/Components/layout/tabpanel/tabline.d.ts +32 -0
- package/dist/Components/layout/tabpanel/tabline.d.ts.map +1 -0
- package/dist/Components/layout/tabpanel/tabpanel.d.ts +34 -0
- package/dist/Components/layout/tabpanel/tabpanel.d.ts.map +1 -0
- package/dist/Components/lineinputs/checkbox/Checkbox.d.ts +35 -0
- package/dist/Components/lineinputs/checkbox/Checkbox.d.ts.map +1 -0
- package/dist/Components/lineinputs/checkbox/QuadCheckbox.d.ts +12 -0
- package/dist/Components/lineinputs/checkbox/QuadCheckbox.d.ts.map +1 -0
- package/dist/Components/lineinputs/checkbox/TriCheckbox.d.ts +12 -0
- package/dist/Components/lineinputs/checkbox/TriCheckbox.d.ts.map +1 -0
- package/dist/Components/lineinputs/dropdown.d.ts +37 -0
- package/dist/Components/lineinputs/dropdown.d.ts.map +1 -0
- package/dist/Components/lineinputs/textbox.d.ts +36 -0
- package/dist/Components/lineinputs/textbox.d.ts.map +1 -0
- package/dist/Components/lineinputs/toggle.d.ts +30 -0
- package/dist/Components/lineinputs/toggle.d.ts.map +1 -0
- package/dist/Components/menu/button.d.ts +24 -0
- package/dist/Components/menu/button.d.ts.map +1 -0
- package/dist/Components/menu/toolbar.d.ts +15 -0
- package/dist/Components/menu/toolbar.d.ts.map +1 -0
- package/dist/Components/status/progressBar.d.ts +21 -0
- package/dist/Components/status/progressBar.d.ts.map +1 -0
- package/dist/button-BRDkmR1C.js +203 -0
- package/dist/button-BRDkmR1C.js.map +1 -0
- package/dist/experimental.d.ts +16 -0
- package/dist/experimental.d.ts.map +1 -0
- package/dist/experimental.js +1361 -0
- package/dist/experimental.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1014 -0
- package/dist/index.js.map +1 -0
- package/dist/jsx-dev-runtime-CarwHDyL.js +1155 -0
- package/dist/jsx-dev-runtime-CarwHDyL.js.map +1 -0
- package/dist/jsx-dev-runtime.d.ts +2 -0
- package/dist/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/jsx-dev-runtime.js +6 -0
- package/dist/jsx-dev-runtime.js.map +1 -0
- package/dist/jsx-runtime.d.ts +26 -0
- package/dist/jsx-runtime.d.ts.map +1 -0
- package/dist/jsx-runtime.js +9 -0
- package/dist/jsx-runtime.js.map +1 -0
- package/dist/runtime.d.ts +29 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/styling/baseStyleDefinitions.d.ts +154 -0
- package/dist/styling/baseStyleDefinitions.d.ts.map +1 -0
- package/dist/styling/styleRegistry.d.ts +19 -0
- package/dist/styling/styleRegistry.d.ts.map +1 -0
- package/dist/util/filterMode.d.ts +13 -0
- package/dist/util/filterMode.d.ts.map +1 -0
- package/package.json +83 -0
- package/themes/README.md +30 -0
- package/themes/dark.css +39 -0
- package/themes/light.css +39 -0
package/package.json
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "module",
|
|
3
|
+
"name": "@sylwellsoftware/fray",
|
|
4
|
+
"private": false,
|
|
5
|
+
"version": "0.1.0-alpha.1",
|
|
6
|
+
"description": "Experimental browser-only TypeScript component runtime, JSX controls, and semantic themes.",
|
|
7
|
+
"license": "Apache-2.0",
|
|
8
|
+
"author": {
|
|
9
|
+
"name": "Sylwell Software",
|
|
10
|
+
"email": "npm@sylwellsoftware.com",
|
|
11
|
+
"url": "https://sylwellsoftware.com"
|
|
12
|
+
},
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "git+https://github.com/sylwellsoftware/gluefrayjs.git",
|
|
16
|
+
"directory": "packages/fray"
|
|
17
|
+
},
|
|
18
|
+
"homepage": "https://github.com/sylwellsoftware/gluefrayjs#readme",
|
|
19
|
+
"bugs": {
|
|
20
|
+
"url": "https://github.com/sylwellsoftware/gluefrayjs/issues"
|
|
21
|
+
},
|
|
22
|
+
"keywords": [
|
|
23
|
+
"components",
|
|
24
|
+
"jsx",
|
|
25
|
+
"reactive",
|
|
26
|
+
"typescript"
|
|
27
|
+
],
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"access": "public"
|
|
30
|
+
},
|
|
31
|
+
"main": "dist/index.js",
|
|
32
|
+
"module": "dist/index.js",
|
|
33
|
+
"types": "dist/index.d.ts",
|
|
34
|
+
"exports": {
|
|
35
|
+
".": {
|
|
36
|
+
"types": "./dist/index.d.ts",
|
|
37
|
+
"import": "./dist/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./experimental": {
|
|
40
|
+
"types": "./dist/experimental.d.ts",
|
|
41
|
+
"import": "./dist/experimental.js"
|
|
42
|
+
},
|
|
43
|
+
"./jsx-runtime": {
|
|
44
|
+
"types": "./dist/jsx-runtime.d.ts",
|
|
45
|
+
"import": "./dist/jsx-runtime.js"
|
|
46
|
+
},
|
|
47
|
+
"./jsx-dev-runtime": {
|
|
48
|
+
"types": "./dist/jsx-dev-runtime.d.ts",
|
|
49
|
+
"import": "./dist/jsx-dev-runtime.js"
|
|
50
|
+
},
|
|
51
|
+
"./themes/light.css": "./themes/light.css",
|
|
52
|
+
"./themes/dark.css": "./themes/dark.css"
|
|
53
|
+
},
|
|
54
|
+
"files": [
|
|
55
|
+
"dist",
|
|
56
|
+
"themes",
|
|
57
|
+
"EXPERIMENTAL.md",
|
|
58
|
+
"LICENSE",
|
|
59
|
+
"NOTICE"
|
|
60
|
+
],
|
|
61
|
+
"sideEffects": [
|
|
62
|
+
"./themes/*.css"
|
|
63
|
+
],
|
|
64
|
+
"peerDependencies": {
|
|
65
|
+
"@sylwellsoftware/glue": "^0.1.0-alpha.1"
|
|
66
|
+
},
|
|
67
|
+
"devDependencies": {
|
|
68
|
+
"vite": "^6.3.5",
|
|
69
|
+
"@sylwellsoftware/glue": "^0.1.0-alpha.1"
|
|
70
|
+
},
|
|
71
|
+
"engines": {
|
|
72
|
+
"node": ">=22",
|
|
73
|
+
"pnpm": ">=10"
|
|
74
|
+
},
|
|
75
|
+
"scripts": {
|
|
76
|
+
"build": "vite build && tsc -p tsconfig.build.json",
|
|
77
|
+
"test": "node --import tsx --test test/*.test.ts",
|
|
78
|
+
"test:types:consumer": "tsc -p test-types/consumer/tsconfig.json --noEmit",
|
|
79
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
80
|
+
"watch": "vite build --watch",
|
|
81
|
+
"dev": "vite"
|
|
82
|
+
}
|
|
83
|
+
}
|
package/themes/README.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Fray theme custom properties
|
|
2
|
+
|
|
3
|
+
The alpha supports `@sylwellsoftware/fray/themes/light.css` and
|
|
4
|
+
`@sylwellsoftware/fray/themes/dark.css`. Import one after registering Fray structural
|
|
5
|
+
styles, or scope either bundle with `data-fray-theme`.
|
|
6
|
+
|
|
7
|
+
Consumers may override the variables after the theme import. The supported
|
|
8
|
+
control contract is:
|
|
9
|
+
|
|
10
|
+
- typography/spacing: `--base-font-size`, `--ui-font-size`, `--ui-padding`,
|
|
11
|
+
`--ui-padding-h`, `--ui-padding-v`, `--spacing-small`, `--spacing-medium`;
|
|
12
|
+
- shape/focus: `--ui-border-radius`, `--ui-accent-color`,
|
|
13
|
+
`--ui-accent-color-highlight`;
|
|
14
|
+
- text/input: `--ui-text-color`, `--ui-input-bg`, `--ui-input-border`,
|
|
15
|
+
`--ui-input-bg-disabled`, `--ui-input-border-disabled`,
|
|
16
|
+
`--ui-input-text-color-disabled`, `--input-width`, `--input-shadow`;
|
|
17
|
+
- actions: `--button-background`, `--button-background-hover`,
|
|
18
|
+
`--button-background-disabled`, `--button-border`,
|
|
19
|
+
`--button-border-disabled`, `--button-shadow`, `--button-color`,
|
|
20
|
+
`--toggle-selected-bg`, `--toggle-selected-text`;
|
|
21
|
+
- panels/tabs/toolbars: `--panel-*`, `--panel-padding`, `--toolbar-*`,
|
|
22
|
+
`--sectionheader-*`, `--tabline-bg`, `--tab-bg-active`;
|
|
23
|
+
- checkbox/error: `--cbx-o-border`, `--cbx-border-radius`, `--error-color`.
|
|
24
|
+
|
|
25
|
+
The root-default selector uses a zero-specificity `:where(...)` wrapper. The
|
|
26
|
+
explicit `data-fray-theme` selector retains attribute specificity so it also
|
|
27
|
+
wins when an application bundles more than one theme and the other bundle's
|
|
28
|
+
root fallback loads later. A consumer inline custom property or a more-specific
|
|
29
|
+
rule can still override a theme value. Import one bundle for one root default,
|
|
30
|
+
or import multiple bundles and select an explicit theme on each scoped subtree.
|
package/themes/dark.css
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
:where(:root), [data-fray-theme="dark"] {
|
|
2
|
+
color-scheme: dark;
|
|
3
|
+
--ui-text-color: #edf3f8;
|
|
4
|
+
--ui-input-bg: #202b36;
|
|
5
|
+
--ui-input-border: 1px solid #718294;
|
|
6
|
+
--ui-input-bg-disabled: #303a44;
|
|
7
|
+
--ui-input-border-disabled: #566370;
|
|
8
|
+
--ui-input-text-color-disabled: #a1acb7;
|
|
9
|
+
--ui-accent-color: #79bfff;
|
|
10
|
+
--ui-accent-color-highlight: #245f91;
|
|
11
|
+
--input-shadow: none;
|
|
12
|
+
--button-background: #344454;
|
|
13
|
+
--button-background-hover: #455b70;
|
|
14
|
+
--button-background-disabled: #303a44;
|
|
15
|
+
--button-border: 1px solid #718294;
|
|
16
|
+
--button-border-disabled: 1px solid #566370;
|
|
17
|
+
--button-shadow: 0 1px 2px rgb(0 0 0 / 35%);
|
|
18
|
+
--button-color: #edf3f8;
|
|
19
|
+
--toggle-selected-bg: #79bfff;
|
|
20
|
+
--toggle-selected-text: #102030;
|
|
21
|
+
--panel-bg: #18222c;
|
|
22
|
+
--panel-border: 1px solid #465565;
|
|
23
|
+
--panel-radius: 0.375rem;
|
|
24
|
+
--panel-shadow: 0 2px 10px rgb(0 0 0 / 35%);
|
|
25
|
+
--panel-color: #edf3f8;
|
|
26
|
+
--toolbar-bg: #202b36;
|
|
27
|
+
--toolbar-border: 0;
|
|
28
|
+
--toolbar-radius: 0;
|
|
29
|
+
--toolbar-shadow: none;
|
|
30
|
+
--toolbar-color: #edf3f8;
|
|
31
|
+
--sectionheader-bg: #2b3947;
|
|
32
|
+
--sectionheader-shadow: none;
|
|
33
|
+
--sectionheader-color: #edf3f8;
|
|
34
|
+
--tabline-bg: #202b36;
|
|
35
|
+
--tab-bg-active: #18222c;
|
|
36
|
+
--error-color: #ff8b9d;
|
|
37
|
+
--cbx-o-border: 1px solid #a9b6c3;
|
|
38
|
+
--cbx-border-radius: 0.2rem;
|
|
39
|
+
}
|
package/themes/light.css
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
:where(:root), [data-fray-theme="light"] {
|
|
2
|
+
color-scheme: light;
|
|
3
|
+
--ui-text-color: #18212b;
|
|
4
|
+
--ui-input-bg: #ffffff;
|
|
5
|
+
--ui-input-border: 1px solid #8a98a8;
|
|
6
|
+
--ui-input-bg-disabled: #e8edf2;
|
|
7
|
+
--ui-input-border-disabled: #b7c0ca;
|
|
8
|
+
--ui-input-text-color-disabled: #647180;
|
|
9
|
+
--ui-accent-color: #1769aa;
|
|
10
|
+
--ui-accent-color-highlight: #9acfff;
|
|
11
|
+
--input-shadow: none;
|
|
12
|
+
--button-background: #eef3f7;
|
|
13
|
+
--button-background-hover: #dbe9f5;
|
|
14
|
+
--button-background-disabled: #e8edf2;
|
|
15
|
+
--button-border: 1px solid #8a98a8;
|
|
16
|
+
--button-border-disabled: 1px solid #b7c0ca;
|
|
17
|
+
--button-shadow: 0 1px 2px rgb(24 33 43 / 16%);
|
|
18
|
+
--button-color: #18212b;
|
|
19
|
+
--toggle-selected-bg: #1769aa;
|
|
20
|
+
--toggle-selected-text: #ffffff;
|
|
21
|
+
--panel-bg: #ffffff;
|
|
22
|
+
--panel-border: 1px solid #ccd5df;
|
|
23
|
+
--panel-radius: 0.375rem;
|
|
24
|
+
--panel-shadow: 0 2px 8px rgb(24 33 43 / 12%);
|
|
25
|
+
--panel-color: #18212b;
|
|
26
|
+
--toolbar-bg: #f5f8fa;
|
|
27
|
+
--toolbar-border: 0;
|
|
28
|
+
--toolbar-radius: 0;
|
|
29
|
+
--toolbar-shadow: none;
|
|
30
|
+
--toolbar-color: #18212b;
|
|
31
|
+
--sectionheader-bg: #eef3f7;
|
|
32
|
+
--sectionheader-shadow: none;
|
|
33
|
+
--sectionheader-color: #18212b;
|
|
34
|
+
--tabline-bg: #eef3f7;
|
|
35
|
+
--tab-bg-active: #ffffff;
|
|
36
|
+
--error-color: #b00020;
|
|
37
|
+
--cbx-o-border: 1px solid #647180;
|
|
38
|
+
--cbx-border-radius: 0.2rem;
|
|
39
|
+
}
|