@sylwellsoftware/fray 0.1.0-alpha.1 → 0.3.0
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/README.md +324 -21
- package/colors/README.md +15 -0
- package/colors/gray/colors.css +29 -0
- package/colors/green/colors.css +29 -0
- package/colors/iceblue/colors.css +29 -0
- package/colors/ocean/colors.css +29 -0
- package/colors/orange/colors.css +29 -0
- package/colors/purple/colors.css +29 -0
- package/colors/red/colors.css +29 -0
- package/colors/yellow/colors.css +29 -0
- package/dist/Components/Placeholder.d.ts +1 -1
- package/dist/Components/Placeholder.d.ts.map +1 -1
- package/dist/Components/controlUtils.d.ts.map +1 -1
- package/dist/Components/data/filterState.d.ts +38 -0
- package/dist/Components/data/filterState.d.ts.map +1 -0
- package/dist/Components/data/listview/listview.d.ts +16 -5
- package/dist/Components/data/listview/listview.d.ts.map +1 -1
- package/dist/Components/data/selectionhandler.d.ts +24 -5
- package/dist/Components/data/selectionhandler.d.ts.map +1 -1
- package/dist/Components/data/table/DataTable.d.ts +36 -30
- package/dist/Components/data/table/DataTable.d.ts.map +1 -1
- package/dist/Components/data/table/FilterPanel.d.ts +8 -1
- package/dist/Components/data/table/FilterPanel.d.ts.map +1 -1
- package/dist/Components/data/table/TableHeaderCell.d.ts.map +1 -1
- package/dist/Components/data/table/tableDataSource.d.ts +49 -0
- package/dist/Components/data/table/tableDataSource.d.ts.map +1 -0
- package/dist/Components/data/table/tableQuery.d.ts +6 -2
- package/dist/Components/data/table/tableQuery.d.ts.map +1 -1
- package/dist/Components/data/treeview/treeModel.d.ts +23 -0
- package/dist/Components/data/treeview/treeModel.d.ts.map +1 -0
- package/dist/Components/data/treeview/treeview.d.ts +1 -1
- package/dist/Components/data/treeview/treeview.d.ts.map +1 -1
- package/dist/Components/dialog/dialog.d.ts +1 -1
- package/dist/Components/dialog/dialog.d.ts.map +1 -1
- package/dist/Components/layout/panel.d.ts.map +1 -1
- package/dist/Components/layout/tabpanel/tabline.d.ts.map +1 -1
- package/dist/Components/lineinputs/checkbox/Checkbox.d.ts +1 -1
- package/dist/Components/lineinputs/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/Components/lineinputs/checkbox/QuadCheckbox.d.ts +2 -2
- package/dist/Components/lineinputs/checkbox/QuadCheckbox.d.ts.map +1 -1
- package/dist/Components/lineinputs/checkbox/TriCheckbox.d.ts +2 -2
- package/dist/Components/lineinputs/checkbox/TriCheckbox.d.ts.map +1 -1
- package/dist/Components/lineinputs/toggle.d.ts.map +1 -1
- package/dist/Components/status/progressBar.d.ts.map +1 -1
- package/dist/Components/theme/stylesheetPicker.d.ts +40 -0
- package/dist/Components/theme/stylesheetPicker.d.ts.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2807 -559
- package/dist/index.js.map +1 -1
- package/dist/{jsx-dev-runtime-CarwHDyL.js → jsx-dev-runtime-DukiDpV9.js} +202 -214
- package/dist/jsx-dev-runtime-DukiDpV9.js.map +1 -0
- package/dist/jsx-dev-runtime.js +1 -1
- package/dist/jsx-runtime.js +1 -1
- package/dist/styling/baseStyleDefinitions.d.ts +3 -0
- package/dist/styling/baseStyleDefinitions.d.ts.map +1 -1
- package/dist/styling/styleRegistry.d.ts.map +1 -1
- package/dist/styling/theme.d.ts +27 -0
- package/dist/styling/theme.d.ts.map +1 -0
- package/dist/util/filterMode.d.ts +6 -4
- package/dist/util/filterMode.d.ts.map +1 -1
- package/package.json +14 -11
- package/styles/structural.css +922 -0
- package/themes/README.md +84 -30
- package/themes/java/theme.css +140 -0
- package/themes/minimal/theme.css +128 -0
- package/themes/shiny/theme.css +314 -0
- package/EXPERIMENTAL.md +0 -75
- package/dist/button-BRDkmR1C.js +0 -203
- package/dist/button-BRDkmR1C.js.map +0 -1
- package/dist/experimental.d.ts +0 -16
- package/dist/experimental.d.ts.map +0 -1
- package/dist/experimental.js +0 -1361
- package/dist/experimental.js.map +0 -1
- package/dist/jsx-dev-runtime-CarwHDyL.js.map +0 -1
package/themes/README.md
CHANGED
|
@@ -1,30 +1,84 @@
|
|
|
1
|
-
# Fray theme
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
styles
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
1
|
+
# Fray structural, theme, and color CSS
|
|
2
|
+
|
|
3
|
+
Fray deliberately separates three stylesheet responsibilities:
|
|
4
|
+
|
|
5
|
+
1. `@sylwellsoftware/fray/styles/structural.css` contains the generated layout,
|
|
6
|
+
flow, accessibility mechanics, stable selectors, and custom-property uses
|
|
7
|
+
for the default `fray-` component hosts.
|
|
8
|
+
2. `@sylwellsoftware/fray/themes/<name>/theme.css` supplies geometry, surface
|
|
9
|
+
treatment, and semantic theme variables. Supported treatments are `shiny`,
|
|
10
|
+
`java`, and `minimal`.
|
|
11
|
+
3. `@sylwellsoftware/fray/colors/<name>/colors.css` supplies palette and
|
|
12
|
+
semantic color variables. Supported palettes are `iceblue`, `ocean`,
|
|
13
|
+
`green`, `gray`, `orange`, `purple`, `red`, and `yellow`.
|
|
14
|
+
|
|
15
|
+
Load the three artifacts independently:
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import '@sylwellsoftware/fray/styles/structural.css'
|
|
19
|
+
import '@sylwellsoftware/fray/colors/ocean/colors.css'
|
|
20
|
+
import '@sylwellsoftware/fray/themes/shiny/theme.css'
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
`ThemePicker` and `ColorPicker` use the exported `frayThemeOptions` and
|
|
24
|
+
`frayColorOptions` catalogs by default. Each picker updates a separate
|
|
25
|
+
`<link data-fray-stylesheet>` element and the corresponding
|
|
26
|
+
`data-fray-theme`/`data-fray-color` root attribute. Applications may supply
|
|
27
|
+
their own option catalogs and URLs. The defaults resolve against Fray's
|
|
28
|
+
published package layout and therefore work for direct ESM/CDN loading. A
|
|
29
|
+
bundler cannot expose a universal runtime URL for package CSS; bundled
|
|
30
|
+
applications should import or emit each CSS asset as a URL and pass remapped
|
|
31
|
+
options to the pickers.
|
|
32
|
+
|
|
33
|
+
## Variable hierarchy
|
|
34
|
+
|
|
35
|
+
The public contract is exported as the machine-readable
|
|
36
|
+
`frayThemeVariableCatalog`. Every entry records its layer, family, value kind,
|
|
37
|
+
description, and optional fallback.
|
|
38
|
+
|
|
39
|
+
| Level | Representative variables | Purpose |
|
|
40
|
+
| --- | --- | --- |
|
|
41
|
+
| Palette | `--fray-color-primary`, `--fray-color-surface`, `--fray-color-text`, `--fray-color-border`, `--fray-color-focus` | Replaceable color-scheme primitives and semantic colors |
|
|
42
|
+
| Global theme | `--fray-font-*`, `--fray-space-*`, `--fray-radius-*`, `--fray-ui-*` | Shared typography, rhythm, shape, and surface treatment |
|
|
43
|
+
| Generic families | `--fray-header-*`, `--fray-button-*`, `--fray-input-*`, `--fray-panel-*`, `--fray-selection-*` | Defaults inherited by related controls |
|
|
44
|
+
| Family variants | `--fray-table-header-*`, `--fray-panel-header-*`, `--fray-toggle-button-*`, `--fray-tab-button-*`, `--fray-dropdown-trigger-*` | Optional narrow overrides for a theme that differentiates one family member |
|
|
45
|
+
| Component escape hatches | `--fray-checkbox-*`, `--fray-progress-*`, `--fray-dialog-*` | Behavior that is not meaningfully shared with a broader family |
|
|
46
|
+
|
|
47
|
+
Structural rules use the most-specific variable and fall back through the
|
|
48
|
+
family. A custom table-like component can follow the same pattern:
|
|
49
|
+
|
|
50
|
+
```css
|
|
51
|
+
my-grid > header {
|
|
52
|
+
color: var(
|
|
53
|
+
--my-grid-header-color,
|
|
54
|
+
var(--fray-table-header-color, var(--fray-header-color))
|
|
55
|
+
);
|
|
56
|
+
background: var(
|
|
57
|
+
--my-grid-header-background,
|
|
58
|
+
var(--fray-table-header-background, var(--fray-header-background))
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
The component now adopts every compatible Fray theme without the theme knowing
|
|
64
|
+
its selector. A theme can still specialize it by assigning
|
|
65
|
+
`--my-grid-header-*` on the component host.
|
|
66
|
+
|
|
67
|
+
## Selector exceptions
|
|
68
|
+
|
|
69
|
+
Variables are preferred but not exclusive. A treatment may target stable
|
|
70
|
+
`data-fray-component`, `data-part`, role, and ARIA-state hooks for effects that
|
|
71
|
+
custom properties cannot create alone. Shiny uses scoped pseudo-elements and
|
|
72
|
+
native progress/select pseudo-parts for layered highlights, dropdown arrows,
|
|
73
|
+
checkbox surfaces, headers, and button-like controls. Those decorations use
|
|
74
|
+
`pointer-events: none`, preserve native/ARIA state, and are disabled or reduced
|
|
75
|
+
under forced-colors where the browser's representation is safer.
|
|
76
|
+
|
|
77
|
+
Theme authors should not target application classes, generated IDs, or
|
|
78
|
+
incidental DOM depth. Color values should remain in `colors.css` whenever
|
|
79
|
+
practical; translucent white/black lighting used to construct a treatment is
|
|
80
|
+
permitted in `theme.css`.
|
|
81
|
+
|
|
82
|
+
The top-level `themes/light.css` and `themes/dark.css` exports are retained as
|
|
83
|
+
alpha compatibility bundles. New integrations should use the separated paths
|
|
84
|
+
above.
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
@charset "utf-8";
|
|
2
|
+
|
|
3
|
+
:where(:root), [data-fray-theme="java"] {
|
|
4
|
+
color-scheme: light;
|
|
5
|
+
--fray-font-family: Arial, Helvetica, sans-serif;
|
|
6
|
+
--fray-font-size: 0.875rem;
|
|
7
|
+
--fray-line-height: 1.15;
|
|
8
|
+
--fray-control-min-height: 1.75rem;
|
|
9
|
+
--fray-space-xs: 2px;
|
|
10
|
+
--fray-space-sm: 4px;
|
|
11
|
+
--fray-space-md: 8px;
|
|
12
|
+
--fray-space-lg: 12px;
|
|
13
|
+
--fray-radius-sm: 0;
|
|
14
|
+
--fray-radius-md: 0;
|
|
15
|
+
--fray-radius-lg: 3px;
|
|
16
|
+
--fray-motion-fast: 0ms;
|
|
17
|
+
|
|
18
|
+
--fray-ui-background: var(--fray-color-surface-muted);
|
|
19
|
+
--fray-ui-color: var(--fray-color-text);
|
|
20
|
+
--fray-ui-border: 1px solid var(--fray-color-border-strong);
|
|
21
|
+
--fray-ui-shadow: none;
|
|
22
|
+
--fray-focus-ring: 0 0 0 1px var(--fray-color-focus);
|
|
23
|
+
|
|
24
|
+
--fray-panel-background: var(--fray-color-surface-muted);
|
|
25
|
+
--fray-panel-color: var(--fray-color-text);
|
|
26
|
+
--fray-panel-border: 2px groove var(--fray-color-highlight);
|
|
27
|
+
--fray-panel-shadow: none;
|
|
28
|
+
--fray-panel-radius: 0;
|
|
29
|
+
--fray-dialog-shadow: 3px 3px 0 color-mix(in srgb, var(--fray-color-shadow) 45%, transparent);
|
|
30
|
+
--fray-dialog-backdrop-background: color-mix(in srgb, var(--fray-color-shadow) 45%, transparent);
|
|
31
|
+
|
|
32
|
+
--fray-header-background: transparent;
|
|
33
|
+
--fray-header-color: var(--fray-color-text);
|
|
34
|
+
--fray-header-border: 0 solid transparent;
|
|
35
|
+
--fray-header-shadow: none;
|
|
36
|
+
--fray-table-header-background: var(--fray-color-surface-raised);
|
|
37
|
+
--fray-dialog-header-background: linear-gradient(to bottom, var(--fray-color-primary-active), var(--fray-color-primary));
|
|
38
|
+
|
|
39
|
+
--fray-button-background: var(--fray-color-surface-muted);
|
|
40
|
+
--fray-button-background-hover: var(--fray-color-primary-soft);
|
|
41
|
+
--fray-button-background-active: var(--fray-color-surface-inset);
|
|
42
|
+
--fray-button-background-disabled: var(--fray-color-disabled);
|
|
43
|
+
--fray-button-color: var(--fray-color-text);
|
|
44
|
+
--fray-button-border: 2px outset var(--fray-color-highlight);
|
|
45
|
+
--fray-button-shadow: none;
|
|
46
|
+
--fray-button-shadow-active: none;
|
|
47
|
+
|
|
48
|
+
--fray-input-background: var(--fray-color-surface-raised);
|
|
49
|
+
--fray-input-color: var(--fray-color-text);
|
|
50
|
+
--fray-input-border: 1px solid var(--fray-color-border-strong);
|
|
51
|
+
--fray-input-shadow: inset 1px 1px 1px color-mix(in srgb, var(--fray-color-shadow) 30%, transparent);
|
|
52
|
+
--fray-input-background-disabled: var(--fray-color-disabled);
|
|
53
|
+
--fray-input-color-disabled: var(--fray-color-on-disabled);
|
|
54
|
+
|
|
55
|
+
--fray-selection-background: var(--fray-color-selection);
|
|
56
|
+
--fray-selection-color: var(--fray-color-on-selection);
|
|
57
|
+
--fray-row-hover-background: var(--fray-color-primary-soft);
|
|
58
|
+
--fray-table-row-background: var(--fray-color-surface-raised);
|
|
59
|
+
--fray-table-row-alt-background: var(--fray-color-surface-raised);
|
|
60
|
+
--fray-checkbox-box-background: var(--fray-color-surface-raised);
|
|
61
|
+
--fray-checkbox-box-background-checked: var(--fray-color-selection);
|
|
62
|
+
--fray-checkbox-box-border: 2px inset var(--fray-color-highlight);
|
|
63
|
+
--fray-checkbox-symbol-color: var(--fray-color-on-selection);
|
|
64
|
+
--fray-radio-background: var(--fray-button-background);
|
|
65
|
+
--fray-radio-background-checked: var(--fray-selection-background);
|
|
66
|
+
--fray-toolbar-background: var(--fray-color-surface-muted);
|
|
67
|
+
--fray-toolbar-color: var(--fray-color-text);
|
|
68
|
+
--fray-toolbar-border: 2px outset var(--fray-color-highlight);
|
|
69
|
+
--fray-toolbar-shadow: none;
|
|
70
|
+
--fray-tabline-background: var(--fray-color-surface-muted);
|
|
71
|
+
--fray-tab-active-background: var(--fray-panel-background);
|
|
72
|
+
--fray-tab-button-background: var(--fray-color-surface-muted);
|
|
73
|
+
--fray-progress-track-background: var(--fray-color-surface-inset);
|
|
74
|
+
--fray-progress-value-background: var(--fray-color-primary);
|
|
75
|
+
--fray-working-background-image: repeating-linear-gradient(135deg, transparent 0 4px, color-mix(in srgb, var(--fray-color-text) 12%, transparent) 4px 8px);
|
|
76
|
+
|
|
77
|
+
--base-font-size: var(--fray-font-size);
|
|
78
|
+
--ui-font-size: var(--fray-font-size);
|
|
79
|
+
--ui-padding: var(--fray-space-sm);
|
|
80
|
+
--ui-padding-h: var(--fray-space-sm);
|
|
81
|
+
--ui-padding-v: var(--fray-space-xs);
|
|
82
|
+
--ui-border-radius: var(--fray-radius-md);
|
|
83
|
+
--ui-text-color: var(--fray-ui-color);
|
|
84
|
+
--ui-muted-text-color: var(--fray-color-text-muted);
|
|
85
|
+
--ui-border-color: var(--fray-color-border);
|
|
86
|
+
--ui-input-bg: var(--fray-input-background);
|
|
87
|
+
--ui-input-border: var(--fray-input-border);
|
|
88
|
+
--ui-input-bg-disabled: var(--fray-input-background-disabled);
|
|
89
|
+
--ui-input-border-disabled: 1px solid var(--fray-color-border);
|
|
90
|
+
--ui-input-text-color-disabled: var(--fray-input-color-disabled);
|
|
91
|
+
--ui-accent-color: var(--fray-color-primary);
|
|
92
|
+
--ui-accent-color-highlight: var(--fray-color-primary-soft);
|
|
93
|
+
--input-width: 15rem;
|
|
94
|
+
--input-shadow: var(--fray-input-shadow);
|
|
95
|
+
--button-background: var(--fray-button-background);
|
|
96
|
+
--button-background-hover: var(--fray-button-background-hover);
|
|
97
|
+
--button-background-disabled: var(--fray-button-background-disabled);
|
|
98
|
+
--button-border: var(--fray-button-border);
|
|
99
|
+
--button-border-disabled: 1px solid var(--fray-color-border);
|
|
100
|
+
--button-shadow: var(--fray-button-shadow);
|
|
101
|
+
--button-color: var(--fray-button-color);
|
|
102
|
+
--toggle-selected-bg: var(--fray-selection-background);
|
|
103
|
+
--toggle-selected-text: var(--fray-selection-color);
|
|
104
|
+
--panel-bg: var(--fray-panel-background);
|
|
105
|
+
--panel-border: var(--fray-panel-border);
|
|
106
|
+
--panel-radius: var(--fray-panel-radius);
|
|
107
|
+
--panel-shadow: var(--fray-panel-shadow);
|
|
108
|
+
--panel-color: var(--fray-panel-color);
|
|
109
|
+
--panel-padding: var(--fray-space-md);
|
|
110
|
+
--toolbar-bg: var(--fray-toolbar-background);
|
|
111
|
+
--toolbar-border: var(--fray-toolbar-border);
|
|
112
|
+
--toolbar-radius: var(--fray-radius-lg);
|
|
113
|
+
--toolbar-shadow: var(--fray-toolbar-shadow);
|
|
114
|
+
--toolbar-color: var(--fray-toolbar-color);
|
|
115
|
+
--sectionheader-bg: var(--fray-section-header-background, var(--fray-header-background));
|
|
116
|
+
--sectionheader-shadow: var(--fray-header-shadow);
|
|
117
|
+
--sectionheader-color: var(--fray-header-color);
|
|
118
|
+
--tabline-bg: var(--fray-tabline-background);
|
|
119
|
+
--tab-bg-active: var(--fray-tab-active-background);
|
|
120
|
+
--error-color: var(--fray-color-error);
|
|
121
|
+
--cbx-o-border: var(--fray-checkbox-box-border);
|
|
122
|
+
--cbx-border-radius: 0;
|
|
123
|
+
--spacing-small: var(--fray-space-sm);
|
|
124
|
+
--spacing-medium: var(--fray-space-md);
|
|
125
|
+
--noselect-user-select: none;
|
|
126
|
+
--noselect-cursor: default;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
:where(:root:not([data-fray-theme]), [data-fray-theme="java"]) :where(
|
|
130
|
+
button[data-fray-component="button"],
|
|
131
|
+
[role="tab"],
|
|
132
|
+
[role="radio"],
|
|
133
|
+
[role="checkbox"]
|
|
134
|
+
):active {
|
|
135
|
+
border-style: inset;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
:where(:root:not([data-fray-theme]), [data-fray-theme="java"]) [data-fray-component="tab-line"] > [role="tab"][aria-selected="true"] {
|
|
139
|
+
border-bottom-color: var(--fray-tab-active-background);
|
|
140
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
@charset "utf-8";
|
|
2
|
+
|
|
3
|
+
:where(:root), [data-fray-theme="minimal"] {
|
|
4
|
+
color-scheme: light;
|
|
5
|
+
--fray-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
6
|
+
--fray-font-size: 0.875rem;
|
|
7
|
+
--fray-line-height: 1.25;
|
|
8
|
+
--fray-control-min-height: 2rem;
|
|
9
|
+
--fray-space-xs: 0.25rem;
|
|
10
|
+
--fray-space-sm: 0.5rem;
|
|
11
|
+
--fray-space-md: 1rem;
|
|
12
|
+
--fray-space-lg: 1.5rem;
|
|
13
|
+
--fray-radius-sm: 0.2rem;
|
|
14
|
+
--fray-radius-md: 0.375rem;
|
|
15
|
+
--fray-radius-lg: 0.5rem;
|
|
16
|
+
--fray-motion-fast: 120ms;
|
|
17
|
+
|
|
18
|
+
--fray-ui-background: var(--fray-color-surface);
|
|
19
|
+
--fray-ui-color: var(--fray-color-text);
|
|
20
|
+
--fray-ui-border: 1px solid var(--fray-color-border);
|
|
21
|
+
--fray-ui-shadow: none;
|
|
22
|
+
--fray-focus-ring: 0 0 0 2px var(--fray-color-focus);
|
|
23
|
+
|
|
24
|
+
--fray-panel-background: var(--fray-color-surface);
|
|
25
|
+
--fray-panel-color: var(--fray-color-text);
|
|
26
|
+
--fray-panel-border: 1px solid var(--fray-color-border);
|
|
27
|
+
--fray-panel-shadow: none;
|
|
28
|
+
--fray-panel-radius: var(--fray-radius-md);
|
|
29
|
+
--fray-dialog-shadow: 0 1.25rem 4rem color-mix(in srgb, var(--fray-color-shadow) 35%, transparent);
|
|
30
|
+
--fray-dialog-backdrop-background: color-mix(in srgb, var(--fray-color-shadow) 55%, transparent);
|
|
31
|
+
|
|
32
|
+
--fray-header-background: var(--fray-color-surface-muted);
|
|
33
|
+
--fray-header-color: var(--fray-color-text);
|
|
34
|
+
--fray-header-border: 0 solid transparent;
|
|
35
|
+
--fray-header-shadow: none;
|
|
36
|
+
--fray-table-header-background: var(--fray-color-surface-muted);
|
|
37
|
+
|
|
38
|
+
--fray-button-background: var(--fray-color-surface-muted);
|
|
39
|
+
--fray-button-background-hover: var(--fray-color-primary-soft);
|
|
40
|
+
--fray-button-background-active: var(--fray-color-primary);
|
|
41
|
+
--fray-button-background-disabled: var(--fray-color-disabled);
|
|
42
|
+
--fray-button-color: var(--fray-color-text);
|
|
43
|
+
--fray-button-border: 1px solid var(--fray-color-border-strong);
|
|
44
|
+
--fray-button-shadow: none;
|
|
45
|
+
--fray-button-shadow-active: none;
|
|
46
|
+
|
|
47
|
+
--fray-input-background: var(--fray-color-surface-raised);
|
|
48
|
+
--fray-input-color: var(--fray-color-text);
|
|
49
|
+
--fray-input-border: 1px solid var(--fray-color-border-strong);
|
|
50
|
+
--fray-input-shadow: none;
|
|
51
|
+
--fray-input-background-disabled: var(--fray-color-disabled);
|
|
52
|
+
--fray-input-color-disabled: var(--fray-color-on-disabled);
|
|
53
|
+
|
|
54
|
+
--fray-selection-background: var(--fray-color-selection);
|
|
55
|
+
--fray-selection-color: var(--fray-color-on-selection);
|
|
56
|
+
--fray-row-hover-background: var(--fray-color-primary-soft);
|
|
57
|
+
--fray-table-row-background: var(--fray-color-surface);
|
|
58
|
+
--fray-table-row-alt-background: var(--fray-color-surface-muted);
|
|
59
|
+
|
|
60
|
+
--fray-checkbox-box-background: var(--fray-color-surface-raised);
|
|
61
|
+
--fray-checkbox-box-background-checked: var(--fray-color-selection);
|
|
62
|
+
--fray-checkbox-box-border: 1px solid var(--fray-color-border-strong);
|
|
63
|
+
--fray-checkbox-symbol-color: var(--fray-color-on-selection);
|
|
64
|
+
--fray-radio-background: var(--fray-button-background);
|
|
65
|
+
--fray-radio-background-checked: var(--fray-selection-background);
|
|
66
|
+
|
|
67
|
+
--fray-toolbar-background: var(--fray-color-surface-muted);
|
|
68
|
+
--fray-toolbar-color: var(--fray-color-text);
|
|
69
|
+
--fray-toolbar-border: 0 solid transparent;
|
|
70
|
+
--fray-toolbar-shadow: none;
|
|
71
|
+
--fray-tabline-background: var(--fray-color-surface-muted);
|
|
72
|
+
--fray-tab-active-background: var(--fray-color-surface);
|
|
73
|
+
--fray-progress-track-background: var(--fray-color-surface-inset);
|
|
74
|
+
--fray-progress-value-background: var(--fray-color-primary);
|
|
75
|
+
--fray-working-background-image: linear-gradient(-45deg, transparent 25%, color-mix(in srgb, var(--fray-color-highlight) 35%, transparent) 25% 50%, transparent 50% 75%, color-mix(in srgb, var(--fray-color-highlight) 35%, transparent) 75%);
|
|
76
|
+
|
|
77
|
+
/* Alpha compatibility aliases; new components should use --fray-* names. */
|
|
78
|
+
--base-font-size: var(--fray-font-size);
|
|
79
|
+
--ui-font-size: var(--fray-font-size);
|
|
80
|
+
--ui-padding: var(--fray-space-sm);
|
|
81
|
+
--ui-padding-h: var(--fray-space-sm);
|
|
82
|
+
--ui-padding-v: var(--fray-space-xs);
|
|
83
|
+
--ui-border-radius: var(--fray-radius-md);
|
|
84
|
+
--ui-text-color: var(--fray-ui-color);
|
|
85
|
+
--ui-muted-text-color: var(--fray-color-text-muted);
|
|
86
|
+
--ui-border-color: var(--fray-color-border);
|
|
87
|
+
--ui-input-bg: var(--fray-input-background);
|
|
88
|
+
--ui-input-border: var(--fray-input-border);
|
|
89
|
+
--ui-input-bg-disabled: var(--fray-input-background-disabled);
|
|
90
|
+
--ui-input-border-disabled: 1px solid var(--fray-color-border);
|
|
91
|
+
--ui-input-text-color-disabled: var(--fray-input-color-disabled);
|
|
92
|
+
--ui-accent-color: var(--fray-color-primary);
|
|
93
|
+
--ui-accent-color-highlight: var(--fray-color-primary-soft);
|
|
94
|
+
--input-width: 15rem;
|
|
95
|
+
--input-shadow: var(--fray-input-shadow);
|
|
96
|
+
--button-background: var(--fray-button-background);
|
|
97
|
+
--button-background-hover: var(--fray-button-background-hover);
|
|
98
|
+
--button-background-disabled: var(--fray-button-background-disabled);
|
|
99
|
+
--button-border: var(--fray-button-border);
|
|
100
|
+
--button-border-disabled: 1px solid var(--fray-color-border);
|
|
101
|
+
--button-shadow: var(--fray-button-shadow);
|
|
102
|
+
--button-color: var(--fray-button-color);
|
|
103
|
+
--toggle-selected-bg: var(--fray-selection-background);
|
|
104
|
+
--toggle-selected-text: var(--fray-selection-color);
|
|
105
|
+
--panel-bg: var(--fray-panel-background);
|
|
106
|
+
--panel-border: var(--fray-panel-border);
|
|
107
|
+
--panel-radius: var(--fray-panel-radius);
|
|
108
|
+
--panel-shadow: var(--fray-panel-shadow);
|
|
109
|
+
--panel-color: var(--fray-panel-color);
|
|
110
|
+
--panel-padding: var(--fray-space-md);
|
|
111
|
+
--toolbar-bg: var(--fray-toolbar-background);
|
|
112
|
+
--toolbar-border: var(--fray-toolbar-border);
|
|
113
|
+
--toolbar-radius: var(--fray-radius-md);
|
|
114
|
+
--toolbar-shadow: var(--fray-toolbar-shadow);
|
|
115
|
+
--toolbar-color: var(--fray-toolbar-color);
|
|
116
|
+
--sectionheader-bg: var(--fray-section-header-background, var(--fray-header-background));
|
|
117
|
+
--sectionheader-shadow: var(--fray-header-shadow);
|
|
118
|
+
--sectionheader-color: var(--fray-header-color);
|
|
119
|
+
--tabline-bg: var(--fray-tabline-background);
|
|
120
|
+
--tab-bg-active: var(--fray-tab-active-background);
|
|
121
|
+
--error-color: var(--fray-color-error);
|
|
122
|
+
--cbx-o-border: var(--fray-checkbox-box-border);
|
|
123
|
+
--cbx-border-radius: var(--fray-radius-sm);
|
|
124
|
+
--spacing-small: var(--fray-space-sm);
|
|
125
|
+
--spacing-medium: var(--fray-space-md);
|
|
126
|
+
--noselect-user-select: none;
|
|
127
|
+
--noselect-cursor: default;
|
|
128
|
+
}
|