@sylwellsoftware/fray 0.4.0 → 0.6.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 +51 -27
- package/colors/README.md +28 -13
- package/colors/gray/colors.css +54 -26
- package/colors/green/colors.css +54 -26
- package/colors/iceblue/colors.css +54 -26
- package/colors/ocean/colors.css +54 -26
- package/colors/orange/colors.css +54 -26
- package/colors/purple/colors.css +54 -26
- package/colors/red/colors.css +54 -26
- package/colors/yellow/colors.css +54 -26
- package/dist/Components/data/descriptionList.d.ts.map +1 -1
- package/dist/Components/data/listview/listview.d.ts.map +1 -1
- package/dist/Components/data/table/DataTable.d.ts.map +1 -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/treeview/treeview.d.ts.map +1 -1
- package/dist/Components/dialog/dialog.d.ts.map +1 -1
- package/dist/Components/layout/panel.d.ts +0 -1
- package/dist/Components/layout/panel.d.ts.map +1 -1
- package/dist/Components/layout/sidebar.d.ts +0 -1
- package/dist/Components/layout/sidebar.d.ts.map +1 -1
- package/dist/Components/layout/tabpanel/tabline.d.ts.map +1 -1
- package/dist/Components/layout/tabpanel/tabpanel.d.ts.map +1 -1
- package/dist/Components/lineinputs/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/Components/lineinputs/dropdown.d.ts.map +1 -1
- package/dist/Components/lineinputs/textbox.d.ts.map +1 -1
- package/dist/Components/lineinputs/toggle.d.ts.map +1 -1
- package/dist/Components/menu/toolbar.d.ts +0 -1
- package/dist/Components/menu/toolbar.d.ts.map +1 -1
- package/dist/Components/status/progressBar.d.ts.map +1 -1
- package/dist/Components/theme/stylesheetPicker.d.ts.map +1 -1
- package/dist/index.js +1226 -1421
- package/dist/index.js.map +1 -1
- package/dist/{jsx-dev-runtime-pzseD2Sz.js → jsx-dev-runtime-CqunwZ8j.js} +404 -486
- package/dist/jsx-dev-runtime-CqunwZ8j.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 +0 -82
- package/dist/styling/baseStyleDefinitions.d.ts.map +1 -1
- package/dist/styling/theme.d.ts +3 -3
- package/dist/styling/theme.d.ts.map +1 -1
- package/package.json +3 -3
- package/styles/structural.css +72 -413
- package/themes/README.md +68 -66
- package/themes/dark.css +48 -1
- package/themes/java/theme.css +410 -135
- package/themes/light.css +48 -1
- package/themes/minimal/theme.css +408 -125
- package/themes/shiny/theme.css +484 -294
- package/dist/jsx-dev-runtime-pzseD2Sz.js.map +0 -1
package/README.md
CHANGED
|
@@ -15,6 +15,23 @@ Chromium, Firefox, and Safari at candidate time. Its reproducible test matrix
|
|
|
15
15
|
uses Playwright's pinned Chromium, Firefox, and WebKit builds. Repository
|
|
16
16
|
tooling requires Node 22+ and pnpm 10; Fray's runtime itself is browser-only.
|
|
17
17
|
|
|
18
|
+
## Why Fray
|
|
19
|
+
|
|
20
|
+
Fray presents application values without requiring developers to translate
|
|
21
|
+
them into a second UI-specific state system. A control writes the same Glue
|
|
22
|
+
emitter that a derivation or query can observe, and a component renders the
|
|
23
|
+
downstream value it actually needs. State remains owned and explicit, while
|
|
24
|
+
reactive propagation and rendering mechanics stay library concerns.
|
|
25
|
+
|
|
26
|
+
Presentation should be equally direct. Native HTML already defines buttons,
|
|
27
|
+
inputs, tables, lists, progress, dialogs, and landmarks, so Fray uses those
|
|
28
|
+
elements when their semantics match. Components that need another boundary use
|
|
29
|
+
readable light-DOM host names rather than framework identity classes.
|
|
30
|
+
Application classes remain available for meaningful reusable traits and
|
|
31
|
+
consumer styling, while Fray's current structural implementation uses explicit
|
|
32
|
+
host and part metadata for its own layout and documented exceptional theme
|
|
33
|
+
rules.
|
|
34
|
+
|
|
18
35
|
## Design model
|
|
19
36
|
|
|
20
37
|
Fray is the presentation half of a deliberately two-layer architecture:
|
|
@@ -204,7 +221,7 @@ not a framework identity class. The default application runtime therefore
|
|
|
204
221
|
produces DOM such as:
|
|
205
222
|
|
|
206
223
|
```html
|
|
207
|
-
<fray-panel data-fray-component="panel">
|
|
224
|
+
<fray-panel class="panellike" data-fray-component="panel">
|
|
208
225
|
<fray-textbox data-fray-component="textbox">
|
|
209
226
|
<input type="text">
|
|
210
227
|
</fray-textbox>
|
|
@@ -216,8 +233,10 @@ Native semantics remain native: `Button` renders `button`, `Toggle` renders
|
|
|
216
233
|
`fieldset`, `Sidebar` renders `aside`, and table header components render
|
|
217
234
|
`thead`/`th`. `Tab` is a declarative child consumed by `TabPanel` and has no
|
|
218
235
|
independent root. The
|
|
219
|
-
`data-fray-component`
|
|
220
|
-
|
|
236
|
+
`data-fray-component` keeps diagnostics unambiguous. It is not a structural or
|
|
237
|
+
theme selector. Fray may merge public presentation traits such as `panellike`
|
|
238
|
+
with an application-supplied `class`/`className`; those traits describe a
|
|
239
|
+
reusable capability, not component identity.
|
|
221
240
|
|
|
222
241
|
Element naming is an immutable application-runtime setting:
|
|
223
242
|
|
|
@@ -663,7 +682,7 @@ Fray's styling system has three physically and conceptually separate layers:
|
|
|
663
682
|
| --- | --- | --- | --- |
|
|
664
683
|
| Structure | `styles/structural.css` | Generated component layout, flow, sizing, positioning, accessibility mechanics, stable hooks, and variable consumption | Loaded once; remains stable during presentation changes |
|
|
665
684
|
| Theme | `themes/<name>/theme.css` | Typography, spacing, geometry, depth, surface treatment, semantic family mappings, and exceptional pseudo/native rendering | Loaded separately and independently replaceable |
|
|
666
|
-
| Colors | `colors/<name>/colors.css` |
|
|
685
|
+
| Colors | `colors/<name>/colors.css` | Primary, secondary, and neutral ramps plus contrast/color primitives; no UI-semantic roles | Loaded separately and independently replaceable |
|
|
667
686
|
|
|
668
687
|
Component authors place only structure and mechanics in `static css`: display,
|
|
669
688
|
flow, sizing, positioning, overflow, stable state hooks, and consumption of
|
|
@@ -691,7 +710,7 @@ CSS custom properties are Fray's primary theme integration protocol:
|
|
|
691
710
|
|
|
692
711
|
```text
|
|
693
712
|
colors.css
|
|
694
|
-
--
|
|
713
|
+
--palette-primary-* / --palette-secondary-* / --palette-neutral-*
|
|
695
714
|
│
|
|
696
715
|
▼
|
|
697
716
|
theme.css
|
|
@@ -715,39 +734,44 @@ that should look different. `frayThemeVariableCatalog` exports this contract in
|
|
|
715
734
|
machine-readable form, including every variable's layer, family, value kind,
|
|
716
735
|
purpose, and optional fallback.
|
|
717
736
|
|
|
718
|
-
A custom component
|
|
719
|
-
|
|
737
|
+
A custom component can apply the public trait matching the treatment it needs
|
|
738
|
+
and optionally consume the same variable hierarchy:
|
|
720
739
|
|
|
721
740
|
```css
|
|
722
|
-
acme-grid > header {
|
|
723
|
-
color: var(
|
|
724
|
-
|
|
725
|
-
var(--fray-table-header-color, var(--fray-header-color))
|
|
726
|
-
);
|
|
727
|
-
background: var(
|
|
728
|
-
--acme-grid-header-background,
|
|
729
|
-
var(--fray-table-header-background, var(--fray-header-background))
|
|
730
|
-
);
|
|
741
|
+
acme-grid.datacomponentlike > header {
|
|
742
|
+
color: var(--table-header-color, var(--header-color));
|
|
743
|
+
background: var(--table-header-background, var(--header-background));
|
|
731
744
|
}
|
|
732
745
|
```
|
|
733
746
|
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
`
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
747
|
+
Complete traits use the `like` suffix. A component whose outer and content
|
|
748
|
+
regions are distinct uses `shell` and `inner`, for example `buttonshell` with
|
|
749
|
+
`buttoninner`, or `datacomponentshell` with `datacomponentinner`. Other public
|
|
750
|
+
families include `inputlike`, `headerlike`, `coloredlike`, `panellike`, and
|
|
751
|
+
`toolbarlike`; the panel and toolbar families also expose
|
|
752
|
+
`panelshell`/`panelinner` and `toolbarshell`/`toolbarinner`. Wrappers are not
|
|
753
|
+
introduced solely to carry a split trait.
|
|
754
|
+
|
|
755
|
+
Themes directly target native elements, public traits, native pseudo-parts,
|
|
756
|
+
and native/ARIA state. They never target `data-fray-component` or `data-part`.
|
|
757
|
+
Every theme seeds inherited variables with a zero-specificity
|
|
758
|
+
`:root`/`[data-theme]` boundary rule. Presentation selectors use `@scope` with
|
|
759
|
+
nested theme roots and `[data-theme-exclude]` limits, a named cascade layer,
|
|
760
|
+
and low-specificity `:where()` selectors. Shiny's highlights and
|
|
761
|
+
select/progress decoration follow that contract and yield to native
|
|
762
|
+
representation under forced colors.
|
|
763
|
+
|
|
764
|
+
`coloredlike` defaults to the primary palette. Components can provide
|
|
765
|
+
`--colored-base`, `--colored-light`, `--colored-dark`, and
|
|
766
|
+
`--colored-contrast`; the active theme decides whether those inputs become a
|
|
767
|
+
flat color, gradient, other polish, or no special treatment.
|
|
744
768
|
|
|
745
769
|
### Runtime selection
|
|
746
770
|
|
|
747
771
|
`replaceFrayStylesheet` maintains one
|
|
748
772
|
`link[data-fray-stylesheet="theme"]` and one
|
|
749
773
|
`link[data-fray-stylesheet="colors"]`. Replacing either link also sets the
|
|
750
|
-
corresponding `data-
|
|
774
|
+
corresponding `data-theme` or `data-color` root attribute. The
|
|
751
775
|
`ThemePicker` and `ColorPicker` controls expose the same operation through the
|
|
752
776
|
normal Fray value-control contract.
|
|
753
777
|
|
package/colors/README.md
CHANGED
|
@@ -1,15 +1,30 @@
|
|
|
1
1
|
# Fray color palettes
|
|
2
2
|
|
|
3
|
-
Each `<name>/colors.css` file defines
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
3
|
+
Each `<name>/colors.css` file defines a replaceable, prefix-free color
|
|
4
|
+
language. It contains palette values only; it does not decide what a panel,
|
|
5
|
+
button, input, selection, or application surface looks like.
|
|
6
|
+
|
|
7
|
+
Every palette supplies three complete ramps:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
--palette-primary-{50,100,200,300,400,500,600,700,800,900,950}
|
|
11
|
+
--palette-secondary-{50,100,200,300,400,500,600,700,800,900,950}
|
|
12
|
+
--palette-neutral-{50,100,200,300,400,500,600,700,800,900,950}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
It also supplies `--palette-<family>`, `--palette-<family>-light`, and
|
|
16
|
+
`--palette-<family>-dark` aliases; `--palette-light`, `--palette-dark`,
|
|
17
|
+
`--palette-contrast-light`, and `--palette-contrast-dark`; and named hue
|
|
18
|
+
primitives such as `--palette-red` and `--palette-green`. Additional numeric
|
|
19
|
+
stops may be added without changing the existing contract.
|
|
20
|
+
|
|
21
|
+
Themes map these values to semantic variables. For example, a theme may map a
|
|
22
|
+
light-mode button to `--palette-neutral-100`, a selected item to
|
|
23
|
+
`--palette-primary-600`, and an error to `--palette-red`. A different theme can
|
|
24
|
+
use the same palette in entirely different places.
|
|
25
|
+
|
|
26
|
+
Palette declarations use a zero-specificity boundary selector for `:root` or
|
|
27
|
+
the matching `[data-color]` root. They select no descendants; the custom
|
|
28
|
+
properties propagate through normal inheritance and a nested color root seeds
|
|
29
|
+
its own palette. `frayThemeVariableCatalog` entries whose `layer` is `palette`
|
|
30
|
+
expose the machine-readable required vocabulary.
|
package/colors/gray/colors.css
CHANGED
|
@@ -1,29 +1,57 @@
|
|
|
1
1
|
@charset "utf-8";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
3
|
+
@layer palette {
|
|
4
|
+
:where(:root:not([data-color]), [data-color="gray"]) {
|
|
5
|
+
--palette-light: #ffffff;
|
|
6
|
+
--palette-dark: #111827;
|
|
7
|
+
--palette-contrast-light: var(--palette-light);
|
|
8
|
+
--palette-contrast-dark: var(--palette-dark);
|
|
9
|
+
--palette-red: #b3261e;
|
|
10
|
+
--palette-green: #287a3c;
|
|
11
|
+
|
|
12
|
+
--palette-primary-500: #5d6873;
|
|
13
|
+
--palette-primary-50: color-mix(in oklch, var(--palette-primary-500) 8%, var(--palette-light));
|
|
14
|
+
--palette-primary-100: color-mix(in oklch, var(--palette-primary-500) 16%, var(--palette-light));
|
|
15
|
+
--palette-primary-200: color-mix(in oklch, var(--palette-primary-500) 32%, var(--palette-light));
|
|
16
|
+
--palette-primary-300: color-mix(in oklch, var(--palette-primary-500) 50%, var(--palette-light));
|
|
17
|
+
--palette-primary-400: color-mix(in oklch, var(--palette-primary-500) 72%, var(--palette-light));
|
|
18
|
+
--palette-primary-600: color-mix(in oklch, var(--palette-primary-500) 85%, var(--palette-dark));
|
|
19
|
+
--palette-primary-700: color-mix(in oklch, var(--palette-primary-500) 72%, var(--palette-dark));
|
|
20
|
+
--palette-primary-800: color-mix(in oklch, var(--palette-primary-500) 58%, var(--palette-dark));
|
|
21
|
+
--palette-primary-900: color-mix(in oklch, var(--palette-primary-500) 42%, var(--palette-dark));
|
|
22
|
+
--palette-primary-950: color-mix(in oklch, var(--palette-primary-500) 28%, var(--palette-dark));
|
|
23
|
+
--palette-primary: var(--palette-primary-500);
|
|
24
|
+
--palette-primary-light: var(--palette-primary-200);
|
|
25
|
+
--palette-primary-dark: var(--palette-primary-800);
|
|
26
|
+
|
|
27
|
+
--palette-secondary-500: #1769aa;
|
|
28
|
+
--palette-secondary-50: color-mix(in oklch, var(--palette-secondary-500) 8%, var(--palette-light));
|
|
29
|
+
--palette-secondary-100: color-mix(in oklch, var(--palette-secondary-500) 16%, var(--palette-light));
|
|
30
|
+
--palette-secondary-200: color-mix(in oklch, var(--palette-secondary-500) 32%, var(--palette-light));
|
|
31
|
+
--palette-secondary-300: color-mix(in oklch, var(--palette-secondary-500) 50%, var(--palette-light));
|
|
32
|
+
--palette-secondary-400: color-mix(in oklch, var(--palette-secondary-500) 72%, var(--palette-light));
|
|
33
|
+
--palette-secondary-600: color-mix(in oklch, var(--palette-secondary-500) 85%, var(--palette-dark));
|
|
34
|
+
--palette-secondary-700: color-mix(in oklch, var(--palette-secondary-500) 72%, var(--palette-dark));
|
|
35
|
+
--palette-secondary-800: color-mix(in oklch, var(--palette-secondary-500) 58%, var(--palette-dark));
|
|
36
|
+
--palette-secondary-900: color-mix(in oklch, var(--palette-secondary-500) 42%, var(--palette-dark));
|
|
37
|
+
--palette-secondary-950: color-mix(in oklch, var(--palette-secondary-500) 28%, var(--palette-dark));
|
|
38
|
+
--palette-secondary: var(--palette-secondary-500);
|
|
39
|
+
--palette-secondary-light: var(--palette-secondary-200);
|
|
40
|
+
--palette-secondary-dark: var(--palette-secondary-800);
|
|
41
|
+
|
|
42
|
+
--palette-neutral-500: #858d95;
|
|
43
|
+
--palette-neutral-50: color-mix(in oklch, var(--palette-neutral-500) 6%, var(--palette-light));
|
|
44
|
+
--palette-neutral-100: color-mix(in oklch, var(--palette-neutral-500) 13%, var(--palette-light));
|
|
45
|
+
--palette-neutral-200: color-mix(in oklch, var(--palette-neutral-500) 26%, var(--palette-light));
|
|
46
|
+
--palette-neutral-300: color-mix(in oklch, var(--palette-neutral-500) 43%, var(--palette-light));
|
|
47
|
+
--palette-neutral-400: color-mix(in oklch, var(--palette-neutral-500) 68%, var(--palette-light));
|
|
48
|
+
--palette-neutral-600: color-mix(in oklch, var(--palette-neutral-500) 84%, var(--palette-dark));
|
|
49
|
+
--palette-neutral-700: color-mix(in oklch, var(--palette-neutral-500) 67%, var(--palette-dark));
|
|
50
|
+
--palette-neutral-800: color-mix(in oklch, var(--palette-neutral-500) 50%, var(--palette-dark));
|
|
51
|
+
--palette-neutral-900: color-mix(in oklch, var(--palette-neutral-500) 32%, var(--palette-dark));
|
|
52
|
+
--palette-neutral-950: color-mix(in oklch, var(--palette-neutral-500) 18%, var(--palette-dark));
|
|
53
|
+
--palette-neutral: var(--palette-neutral-500);
|
|
54
|
+
--palette-neutral-light: var(--palette-neutral-200);
|
|
55
|
+
--palette-neutral-dark: var(--palette-neutral-800);
|
|
56
|
+
}
|
|
29
57
|
}
|
package/colors/green/colors.css
CHANGED
|
@@ -1,29 +1,57 @@
|
|
|
1
1
|
@charset "utf-8";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
3
|
+
@layer palette {
|
|
4
|
+
:where(:root:not([data-color]), [data-color="green"]) {
|
|
5
|
+
--palette-light: #ffffff;
|
|
6
|
+
--palette-dark: #111827;
|
|
7
|
+
--palette-contrast-light: var(--palette-light);
|
|
8
|
+
--palette-contrast-dark: var(--palette-dark);
|
|
9
|
+
--palette-red: #b3261e;
|
|
10
|
+
--palette-green: #287a3c;
|
|
11
|
+
|
|
12
|
+
--palette-primary-500: #287a3c;
|
|
13
|
+
--palette-primary-50: color-mix(in oklch, var(--palette-primary-500) 8%, var(--palette-light));
|
|
14
|
+
--palette-primary-100: color-mix(in oklch, var(--palette-primary-500) 16%, var(--palette-light));
|
|
15
|
+
--palette-primary-200: color-mix(in oklch, var(--palette-primary-500) 32%, var(--palette-light));
|
|
16
|
+
--palette-primary-300: color-mix(in oklch, var(--palette-primary-500) 50%, var(--palette-light));
|
|
17
|
+
--palette-primary-400: color-mix(in oklch, var(--palette-primary-500) 72%, var(--palette-light));
|
|
18
|
+
--palette-primary-600: color-mix(in oklch, var(--palette-primary-500) 85%, var(--palette-dark));
|
|
19
|
+
--palette-primary-700: color-mix(in oklch, var(--palette-primary-500) 72%, var(--palette-dark));
|
|
20
|
+
--palette-primary-800: color-mix(in oklch, var(--palette-primary-500) 58%, var(--palette-dark));
|
|
21
|
+
--palette-primary-900: color-mix(in oklch, var(--palette-primary-500) 42%, var(--palette-dark));
|
|
22
|
+
--palette-primary-950: color-mix(in oklch, var(--palette-primary-500) 28%, var(--palette-dark));
|
|
23
|
+
--palette-primary: var(--palette-primary-500);
|
|
24
|
+
--palette-primary-light: var(--palette-primary-200);
|
|
25
|
+
--palette-primary-dark: var(--palette-primary-800);
|
|
26
|
+
|
|
27
|
+
--palette-secondary-500: #087f78;
|
|
28
|
+
--palette-secondary-50: color-mix(in oklch, var(--palette-secondary-500) 8%, var(--palette-light));
|
|
29
|
+
--palette-secondary-100: color-mix(in oklch, var(--palette-secondary-500) 16%, var(--palette-light));
|
|
30
|
+
--palette-secondary-200: color-mix(in oklch, var(--palette-secondary-500) 32%, var(--palette-light));
|
|
31
|
+
--palette-secondary-300: color-mix(in oklch, var(--palette-secondary-500) 50%, var(--palette-light));
|
|
32
|
+
--palette-secondary-400: color-mix(in oklch, var(--palette-secondary-500) 72%, var(--palette-light));
|
|
33
|
+
--palette-secondary-600: color-mix(in oklch, var(--palette-secondary-500) 85%, var(--palette-dark));
|
|
34
|
+
--palette-secondary-700: color-mix(in oklch, var(--palette-secondary-500) 72%, var(--palette-dark));
|
|
35
|
+
--palette-secondary-800: color-mix(in oklch, var(--palette-secondary-500) 58%, var(--palette-dark));
|
|
36
|
+
--palette-secondary-900: color-mix(in oklch, var(--palette-secondary-500) 42%, var(--palette-dark));
|
|
37
|
+
--palette-secondary-950: color-mix(in oklch, var(--palette-secondary-500) 28%, var(--palette-dark));
|
|
38
|
+
--palette-secondary: var(--palette-secondary-500);
|
|
39
|
+
--palette-secondary-light: var(--palette-secondary-200);
|
|
40
|
+
--palette-secondary-dark: var(--palette-secondary-800);
|
|
41
|
+
|
|
42
|
+
--palette-neutral-500: #75947a;
|
|
43
|
+
--palette-neutral-50: color-mix(in oklch, var(--palette-neutral-500) 6%, var(--palette-light));
|
|
44
|
+
--palette-neutral-100: color-mix(in oklch, var(--palette-neutral-500) 13%, var(--palette-light));
|
|
45
|
+
--palette-neutral-200: color-mix(in oklch, var(--palette-neutral-500) 26%, var(--palette-light));
|
|
46
|
+
--palette-neutral-300: color-mix(in oklch, var(--palette-neutral-500) 43%, var(--palette-light));
|
|
47
|
+
--palette-neutral-400: color-mix(in oklch, var(--palette-neutral-500) 68%, var(--palette-light));
|
|
48
|
+
--palette-neutral-600: color-mix(in oklch, var(--palette-neutral-500) 84%, var(--palette-dark));
|
|
49
|
+
--palette-neutral-700: color-mix(in oklch, var(--palette-neutral-500) 67%, var(--palette-dark));
|
|
50
|
+
--palette-neutral-800: color-mix(in oklch, var(--palette-neutral-500) 50%, var(--palette-dark));
|
|
51
|
+
--palette-neutral-900: color-mix(in oklch, var(--palette-neutral-500) 32%, var(--palette-dark));
|
|
52
|
+
--palette-neutral-950: color-mix(in oklch, var(--palette-neutral-500) 18%, var(--palette-dark));
|
|
53
|
+
--palette-neutral: var(--palette-neutral-500);
|
|
54
|
+
--palette-neutral-light: var(--palette-neutral-200);
|
|
55
|
+
--palette-neutral-dark: var(--palette-neutral-800);
|
|
56
|
+
}
|
|
29
57
|
}
|
|
@@ -1,29 +1,57 @@
|
|
|
1
1
|
@charset "utf-8";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
3
|
+
@layer palette {
|
|
4
|
+
:where(:root:not([data-color]), [data-color="iceblue"]) {
|
|
5
|
+
--palette-light: #ffffff;
|
|
6
|
+
--palette-dark: #111827;
|
|
7
|
+
--palette-contrast-light: var(--palette-light);
|
|
8
|
+
--palette-contrast-dark: var(--palette-dark);
|
|
9
|
+
--palette-red: #b3261e;
|
|
10
|
+
--palette-green: #287a3c;
|
|
11
|
+
|
|
12
|
+
--palette-primary-500: #1769aa;
|
|
13
|
+
--palette-primary-50: color-mix(in oklch, var(--palette-primary-500) 8%, var(--palette-light));
|
|
14
|
+
--palette-primary-100: color-mix(in oklch, var(--palette-primary-500) 16%, var(--palette-light));
|
|
15
|
+
--palette-primary-200: color-mix(in oklch, var(--palette-primary-500) 32%, var(--palette-light));
|
|
16
|
+
--palette-primary-300: color-mix(in oklch, var(--palette-primary-500) 50%, var(--palette-light));
|
|
17
|
+
--palette-primary-400: color-mix(in oklch, var(--palette-primary-500) 72%, var(--palette-light));
|
|
18
|
+
--palette-primary-600: color-mix(in oklch, var(--palette-primary-500) 85%, var(--palette-dark));
|
|
19
|
+
--palette-primary-700: color-mix(in oklch, var(--palette-primary-500) 72%, var(--palette-dark));
|
|
20
|
+
--palette-primary-800: color-mix(in oklch, var(--palette-primary-500) 58%, var(--palette-dark));
|
|
21
|
+
--palette-primary-900: color-mix(in oklch, var(--palette-primary-500) 42%, var(--palette-dark));
|
|
22
|
+
--palette-primary-950: color-mix(in oklch, var(--palette-primary-500) 28%, var(--palette-dark));
|
|
23
|
+
--palette-primary: var(--palette-primary-500);
|
|
24
|
+
--palette-primary-light: var(--palette-primary-200);
|
|
25
|
+
--palette-primary-dark: var(--palette-primary-800);
|
|
26
|
+
|
|
27
|
+
--palette-secondary-500: #7137a8;
|
|
28
|
+
--palette-secondary-50: color-mix(in oklch, var(--palette-secondary-500) 8%, var(--palette-light));
|
|
29
|
+
--palette-secondary-100: color-mix(in oklch, var(--palette-secondary-500) 16%, var(--palette-light));
|
|
30
|
+
--palette-secondary-200: color-mix(in oklch, var(--palette-secondary-500) 32%, var(--palette-light));
|
|
31
|
+
--palette-secondary-300: color-mix(in oklch, var(--palette-secondary-500) 50%, var(--palette-light));
|
|
32
|
+
--palette-secondary-400: color-mix(in oklch, var(--palette-secondary-500) 72%, var(--palette-light));
|
|
33
|
+
--palette-secondary-600: color-mix(in oklch, var(--palette-secondary-500) 85%, var(--palette-dark));
|
|
34
|
+
--palette-secondary-700: color-mix(in oklch, var(--palette-secondary-500) 72%, var(--palette-dark));
|
|
35
|
+
--palette-secondary-800: color-mix(in oklch, var(--palette-secondary-500) 58%, var(--palette-dark));
|
|
36
|
+
--palette-secondary-900: color-mix(in oklch, var(--palette-secondary-500) 42%, var(--palette-dark));
|
|
37
|
+
--palette-secondary-950: color-mix(in oklch, var(--palette-secondary-500) 28%, var(--palette-dark));
|
|
38
|
+
--palette-secondary: var(--palette-secondary-500);
|
|
39
|
+
--palette-secondary-light: var(--palette-secondary-200);
|
|
40
|
+
--palette-secondary-dark: var(--palette-secondary-800);
|
|
41
|
+
|
|
42
|
+
--palette-neutral-500: #7892aa;
|
|
43
|
+
--palette-neutral-50: color-mix(in oklch, var(--palette-neutral-500) 6%, var(--palette-light));
|
|
44
|
+
--palette-neutral-100: color-mix(in oklch, var(--palette-neutral-500) 13%, var(--palette-light));
|
|
45
|
+
--palette-neutral-200: color-mix(in oklch, var(--palette-neutral-500) 26%, var(--palette-light));
|
|
46
|
+
--palette-neutral-300: color-mix(in oklch, var(--palette-neutral-500) 43%, var(--palette-light));
|
|
47
|
+
--palette-neutral-400: color-mix(in oklch, var(--palette-neutral-500) 68%, var(--palette-light));
|
|
48
|
+
--palette-neutral-600: color-mix(in oklch, var(--palette-neutral-500) 84%, var(--palette-dark));
|
|
49
|
+
--palette-neutral-700: color-mix(in oklch, var(--palette-neutral-500) 67%, var(--palette-dark));
|
|
50
|
+
--palette-neutral-800: color-mix(in oklch, var(--palette-neutral-500) 50%, var(--palette-dark));
|
|
51
|
+
--palette-neutral-900: color-mix(in oklch, var(--palette-neutral-500) 32%, var(--palette-dark));
|
|
52
|
+
--palette-neutral-950: color-mix(in oklch, var(--palette-neutral-500) 18%, var(--palette-dark));
|
|
53
|
+
--palette-neutral: var(--palette-neutral-500);
|
|
54
|
+
--palette-neutral-light: var(--palette-neutral-200);
|
|
55
|
+
--palette-neutral-dark: var(--palette-neutral-800);
|
|
56
|
+
}
|
|
29
57
|
}
|
package/colors/ocean/colors.css
CHANGED
|
@@ -1,29 +1,57 @@
|
|
|
1
1
|
@charset "utf-8";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
3
|
+
@layer palette {
|
|
4
|
+
:where(:root:not([data-color]), [data-color="ocean"]) {
|
|
5
|
+
--palette-light: #ffffff;
|
|
6
|
+
--palette-dark: #111827;
|
|
7
|
+
--palette-contrast-light: var(--palette-light);
|
|
8
|
+
--palette-contrast-dark: var(--palette-dark);
|
|
9
|
+
--palette-red: #b3261e;
|
|
10
|
+
--palette-green: #287a3c;
|
|
11
|
+
|
|
12
|
+
--palette-primary-500: #087f78;
|
|
13
|
+
--palette-primary-50: color-mix(in oklch, var(--palette-primary-500) 8%, var(--palette-light));
|
|
14
|
+
--palette-primary-100: color-mix(in oklch, var(--palette-primary-500) 16%, var(--palette-light));
|
|
15
|
+
--palette-primary-200: color-mix(in oklch, var(--palette-primary-500) 32%, var(--palette-light));
|
|
16
|
+
--palette-primary-300: color-mix(in oklch, var(--palette-primary-500) 50%, var(--palette-light));
|
|
17
|
+
--palette-primary-400: color-mix(in oklch, var(--palette-primary-500) 72%, var(--palette-light));
|
|
18
|
+
--palette-primary-600: color-mix(in oklch, var(--palette-primary-500) 85%, var(--palette-dark));
|
|
19
|
+
--palette-primary-700: color-mix(in oklch, var(--palette-primary-500) 72%, var(--palette-dark));
|
|
20
|
+
--palette-primary-800: color-mix(in oklch, var(--palette-primary-500) 58%, var(--palette-dark));
|
|
21
|
+
--palette-primary-900: color-mix(in oklch, var(--palette-primary-500) 42%, var(--palette-dark));
|
|
22
|
+
--palette-primary-950: color-mix(in oklch, var(--palette-primary-500) 28%, var(--palette-dark));
|
|
23
|
+
--palette-primary: var(--palette-primary-500);
|
|
24
|
+
--palette-primary-light: var(--palette-primary-200);
|
|
25
|
+
--palette-primary-dark: var(--palette-primary-800);
|
|
26
|
+
|
|
27
|
+
--palette-secondary-500: #1769aa;
|
|
28
|
+
--palette-secondary-50: color-mix(in oklch, var(--palette-secondary-500) 8%, var(--palette-light));
|
|
29
|
+
--palette-secondary-100: color-mix(in oklch, var(--palette-secondary-500) 16%, var(--palette-light));
|
|
30
|
+
--palette-secondary-200: color-mix(in oklch, var(--palette-secondary-500) 32%, var(--palette-light));
|
|
31
|
+
--palette-secondary-300: color-mix(in oklch, var(--palette-secondary-500) 50%, var(--palette-light));
|
|
32
|
+
--palette-secondary-400: color-mix(in oklch, var(--palette-secondary-500) 72%, var(--palette-light));
|
|
33
|
+
--palette-secondary-600: color-mix(in oklch, var(--palette-secondary-500) 85%, var(--palette-dark));
|
|
34
|
+
--palette-secondary-700: color-mix(in oklch, var(--palette-secondary-500) 72%, var(--palette-dark));
|
|
35
|
+
--palette-secondary-800: color-mix(in oklch, var(--palette-secondary-500) 58%, var(--palette-dark));
|
|
36
|
+
--palette-secondary-900: color-mix(in oklch, var(--palette-secondary-500) 42%, var(--palette-dark));
|
|
37
|
+
--palette-secondary-950: color-mix(in oklch, var(--palette-secondary-500) 28%, var(--palette-dark));
|
|
38
|
+
--palette-secondary: var(--palette-secondary-500);
|
|
39
|
+
--palette-secondary-light: var(--palette-secondary-200);
|
|
40
|
+
--palette-secondary-dark: var(--palette-secondary-800);
|
|
41
|
+
|
|
42
|
+
--palette-neutral-500: #668f8a;
|
|
43
|
+
--palette-neutral-50: color-mix(in oklch, var(--palette-neutral-500) 6%, var(--palette-light));
|
|
44
|
+
--palette-neutral-100: color-mix(in oklch, var(--palette-neutral-500) 13%, var(--palette-light));
|
|
45
|
+
--palette-neutral-200: color-mix(in oklch, var(--palette-neutral-500) 26%, var(--palette-light));
|
|
46
|
+
--palette-neutral-300: color-mix(in oklch, var(--palette-neutral-500) 43%, var(--palette-light));
|
|
47
|
+
--palette-neutral-400: color-mix(in oklch, var(--palette-neutral-500) 68%, var(--palette-light));
|
|
48
|
+
--palette-neutral-600: color-mix(in oklch, var(--palette-neutral-500) 84%, var(--palette-dark));
|
|
49
|
+
--palette-neutral-700: color-mix(in oklch, var(--palette-neutral-500) 67%, var(--palette-dark));
|
|
50
|
+
--palette-neutral-800: color-mix(in oklch, var(--palette-neutral-500) 50%, var(--palette-dark));
|
|
51
|
+
--palette-neutral-900: color-mix(in oklch, var(--palette-neutral-500) 32%, var(--palette-dark));
|
|
52
|
+
--palette-neutral-950: color-mix(in oklch, var(--palette-neutral-500) 18%, var(--palette-dark));
|
|
53
|
+
--palette-neutral: var(--palette-neutral-500);
|
|
54
|
+
--palette-neutral-light: var(--palette-neutral-200);
|
|
55
|
+
--palette-neutral-dark: var(--palette-neutral-800);
|
|
56
|
+
}
|
|
29
57
|
}
|
package/colors/orange/colors.css
CHANGED
|
@@ -1,29 +1,57 @@
|
|
|
1
1
|
@charset "utf-8";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
3
|
+
@layer palette {
|
|
4
|
+
:where(:root:not([data-color]), [data-color="orange"]) {
|
|
5
|
+
--palette-light: #ffffff;
|
|
6
|
+
--palette-dark: #111827;
|
|
7
|
+
--palette-contrast-light: var(--palette-light);
|
|
8
|
+
--palette-contrast-dark: var(--palette-dark);
|
|
9
|
+
--palette-red: #b3261e;
|
|
10
|
+
--palette-green: #287a3c;
|
|
11
|
+
|
|
12
|
+
--palette-primary-500: #a94b00;
|
|
13
|
+
--palette-primary-50: color-mix(in oklch, var(--palette-primary-500) 8%, var(--palette-light));
|
|
14
|
+
--palette-primary-100: color-mix(in oklch, var(--palette-primary-500) 16%, var(--palette-light));
|
|
15
|
+
--palette-primary-200: color-mix(in oklch, var(--palette-primary-500) 32%, var(--palette-light));
|
|
16
|
+
--palette-primary-300: color-mix(in oklch, var(--palette-primary-500) 50%, var(--palette-light));
|
|
17
|
+
--palette-primary-400: color-mix(in oklch, var(--palette-primary-500) 72%, var(--palette-light));
|
|
18
|
+
--palette-primary-600: color-mix(in oklch, var(--palette-primary-500) 85%, var(--palette-dark));
|
|
19
|
+
--palette-primary-700: color-mix(in oklch, var(--palette-primary-500) 72%, var(--palette-dark));
|
|
20
|
+
--palette-primary-800: color-mix(in oklch, var(--palette-primary-500) 58%, var(--palette-dark));
|
|
21
|
+
--palette-primary-900: color-mix(in oklch, var(--palette-primary-500) 42%, var(--palette-dark));
|
|
22
|
+
--palette-primary-950: color-mix(in oklch, var(--palette-primary-500) 28%, var(--palette-dark));
|
|
23
|
+
--palette-primary: var(--palette-primary-500);
|
|
24
|
+
--palette-primary-light: var(--palette-primary-200);
|
|
25
|
+
--palette-primary-dark: var(--palette-primary-800);
|
|
26
|
+
|
|
27
|
+
--palette-secondary-500: #7137a8;
|
|
28
|
+
--palette-secondary-50: color-mix(in oklch, var(--palette-secondary-500) 8%, var(--palette-light));
|
|
29
|
+
--palette-secondary-100: color-mix(in oklch, var(--palette-secondary-500) 16%, var(--palette-light));
|
|
30
|
+
--palette-secondary-200: color-mix(in oklch, var(--palette-secondary-500) 32%, var(--palette-light));
|
|
31
|
+
--palette-secondary-300: color-mix(in oklch, var(--palette-secondary-500) 50%, var(--palette-light));
|
|
32
|
+
--palette-secondary-400: color-mix(in oklch, var(--palette-secondary-500) 72%, var(--palette-light));
|
|
33
|
+
--palette-secondary-600: color-mix(in oklch, var(--palette-secondary-500) 85%, var(--palette-dark));
|
|
34
|
+
--palette-secondary-700: color-mix(in oklch, var(--palette-secondary-500) 72%, var(--palette-dark));
|
|
35
|
+
--palette-secondary-800: color-mix(in oklch, var(--palette-secondary-500) 58%, var(--palette-dark));
|
|
36
|
+
--palette-secondary-900: color-mix(in oklch, var(--palette-secondary-500) 42%, var(--palette-dark));
|
|
37
|
+
--palette-secondary-950: color-mix(in oklch, var(--palette-secondary-500) 28%, var(--palette-dark));
|
|
38
|
+
--palette-secondary: var(--palette-secondary-500);
|
|
39
|
+
--palette-secondary-light: var(--palette-secondary-200);
|
|
40
|
+
--palette-secondary-dark: var(--palette-secondary-800);
|
|
41
|
+
|
|
42
|
+
--palette-neutral-500: #a87a56;
|
|
43
|
+
--palette-neutral-50: color-mix(in oklch, var(--palette-neutral-500) 6%, var(--palette-light));
|
|
44
|
+
--palette-neutral-100: color-mix(in oklch, var(--palette-neutral-500) 13%, var(--palette-light));
|
|
45
|
+
--palette-neutral-200: color-mix(in oklch, var(--palette-neutral-500) 26%, var(--palette-light));
|
|
46
|
+
--palette-neutral-300: color-mix(in oklch, var(--palette-neutral-500) 43%, var(--palette-light));
|
|
47
|
+
--palette-neutral-400: color-mix(in oklch, var(--palette-neutral-500) 68%, var(--palette-light));
|
|
48
|
+
--palette-neutral-600: color-mix(in oklch, var(--palette-neutral-500) 84%, var(--palette-dark));
|
|
49
|
+
--palette-neutral-700: color-mix(in oklch, var(--palette-neutral-500) 67%, var(--palette-dark));
|
|
50
|
+
--palette-neutral-800: color-mix(in oklch, var(--palette-neutral-500) 50%, var(--palette-dark));
|
|
51
|
+
--palette-neutral-900: color-mix(in oklch, var(--palette-neutral-500) 32%, var(--palette-dark));
|
|
52
|
+
--palette-neutral-950: color-mix(in oklch, var(--palette-neutral-500) 18%, var(--palette-dark));
|
|
53
|
+
--palette-neutral: var(--palette-neutral-500);
|
|
54
|
+
--palette-neutral-light: var(--palette-neutral-200);
|
|
55
|
+
--palette-neutral-dark: var(--palette-neutral-800);
|
|
56
|
+
}
|
|
29
57
|
}
|