@greese/ui 0.0.0-stage → 1.1.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/LICENSE +21 -0
- package/README.md +55 -2
- package/bin/greese-utilities.mjs +56 -0
- package/dist/_layers.scss +2 -0
- package/dist/_maps.scss +1884 -0
- package/dist/_tokens-base.scss +174 -0
- package/dist/_tokens.scss +2140 -0
- package/dist/base.css +67 -0
- package/dist/colorScheme.d.ts +16 -0
- package/dist/colorScheme.js +13 -0
- package/dist/contrast.d.ts +15 -0
- package/dist/contrast.js +43 -0
- package/dist/css/Accordion.css +9 -0
- package/dist/css/ActionSelect.css +6 -0
- package/dist/css/Alert.css +84 -0
- package/dist/css/AppBar.css +35 -0
- package/dist/css/AspectRatio.css +40 -0
- package/dist/css/AutoLayout.css +508 -0
- package/dist/css/Avatar.css +88 -0
- package/dist/css/Badge.css +66 -0
- package/dist/css/Box.css +640 -0
- package/dist/css/Breadcrumbs.css +57 -0
- package/dist/css/Button.css +275 -0
- package/dist/css/ButtonGroup.css +40 -0
- package/dist/css/Card.css +101 -0
- package/dist/css/Carousel.css +170 -0
- package/dist/css/Center.css +11 -0
- package/dist/css/ChatBubble.css +128 -0
- package/dist/css/Checkbox.css +65 -0
- package/dist/css/Chip.css +124 -0
- package/dist/css/ChoiceGroup.css +57 -0
- package/dist/css/Code.css +29 -0
- package/dist/css/Collapsible.css +126 -0
- package/dist/css/ColorPicker.css +191 -0
- package/dist/css/Combobox.css +90 -0
- package/dist/css/Container.css +30 -0
- package/dist/css/Countdown.css +25 -0
- package/dist/css/DateField.css +15 -0
- package/dist/css/Dialog.css +640 -0
- package/dist/css/Diff.css +103 -0
- package/dist/css/Divider.css +19 -0
- package/dist/css/Dock.css +91 -0
- package/dist/css/Field.css +33 -0
- package/dist/css/Fieldset.css +54 -0
- package/dist/css/FileInput.css +65 -0
- package/dist/css/Footer.css +72 -0
- package/dist/css/Grid.css +998 -0
- package/dist/css/Header.css +89 -0
- package/dist/css/Heading.css +6 -0
- package/dist/css/Icon.css +12 -0
- package/dist/css/IconButton.css +7 -0
- package/dist/css/Image.css +69 -0
- package/dist/css/Indicator.css +41 -0
- package/dist/css/Input.css +115 -0
- package/dist/css/Key.css +42 -0
- package/dist/css/Link.css +72 -0
- package/dist/css/List.css +52 -0
- package/dist/css/Media.css +8 -0
- package/dist/css/Menu.css +161 -0
- package/dist/css/Motion.css +1356 -0
- package/dist/css/NumberField.css +49 -0
- package/dist/css/OtpField.css +90 -0
- package/dist/css/PageTransition.css +991 -0
- package/dist/css/Pagination.css +43 -0
- package/dist/css/Popover.css +93 -0
- package/dist/css/Progress.css +101 -0
- package/dist/css/RadialProgress.css +44 -0
- package/dist/css/Radio.css +41 -0
- package/dist/css/Rating.css +100 -0
- package/dist/css/ScrollSpy.css +6 -0
- package/dist/css/SegmentedControl.css +101 -0
- package/dist/css/Select.css +115 -0
- package/dist/css/Sidebar.css +207 -0
- package/dist/css/Skeleton.css +48 -0
- package/dist/css/Slider.css +75 -0
- package/dist/css/Spacer.css +34 -0
- package/dist/css/SpeedDial.css +165 -0
- package/dist/css/Spinner.css +44 -0
- package/dist/css/Stack.css +528 -0
- package/dist/css/Stat.css +107 -0
- package/dist/css/Status.css +86 -0
- package/dist/css/Steps.css +201 -0
- package/dist/css/Swap.css +49 -0
- package/dist/css/Switch.css +66 -0
- package/dist/css/Table.css +269 -0
- package/dist/css/Tabs.css +119 -0
- package/dist/css/Text.css +60 -0
- package/dist/css/TextRotate.css +147 -0
- package/dist/css/Textarea.css +107 -0
- package/dist/css/ThemeProvider.css +6 -0
- package/dist/css/Tile.css +18 -0
- package/dist/css/Toast.css +110 -0
- package/dist/css/ToggleButton.css +20 -0
- package/dist/css/Tooltip.css +94 -0
- package/dist/css/Type.css +211 -0
- package/dist/css/Visibility.css +78 -0
- package/dist/css/VisuallyHidden.css +15 -0
- package/dist/css/core.css +251 -0
- package/dist/css.d.ts +29 -0
- package/dist/css.js +28 -0
- package/dist/effect-classes.d.ts +8 -0
- package/dist/effect-classes.js +5 -0
- package/dist/effects/css.d.ts +71 -0
- package/dist/effects/css.js +184 -0
- package/dist/effects/definitions.d.ts +555 -0
- package/dist/effects/definitions.js +379 -0
- package/dist/effects/frames.d.ts +18 -0
- package/dist/effects/frames.js +68 -0
- package/dist/effects/sequence.d.ts +33 -0
- package/dist/effects/sequence.js +106 -0
- package/dist/effects.d.ts +30 -0
- package/dist/effects.js +30 -0
- package/dist/greese.css +11919 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +10 -0
- package/dist/kebab.d.ts +2 -0
- package/dist/kebab.js +2 -0
- package/dist/palette.css +249 -0
- package/dist/palette.d.ts +599 -0
- package/dist/palette.js +334 -0
- package/dist/shapes.d.ts +193 -0
- package/dist/shapes.js +852 -0
- package/dist/storage.d.ts +47 -0
- package/dist/storage.js +118 -0
- package/dist/style-manifest.json +3017 -0
- package/dist/theme.d.ts +71 -0
- package/dist/theme.js +180 -0
- package/dist/tokens.css +253 -0
- package/dist/tokens.d.ts +343 -0
- package/dist/tokens.js +179 -0
- package/dist/typography.d.ts +55 -0
- package/dist/typography.js +144 -0
- package/dist/utilities.css +6975 -0
- package/dist/utilities.d.ts +82 -0
- package/dist/utilities.js +636 -0
- package/dist/utilitiesFiles.d.ts +18 -0
- package/dist/utilitiesFiles.js +26 -0
- package/dist/vite.d.ts +40 -0
- package/dist/vite.js +43 -0
- package/package.json +131 -4
- package/src/components/Accordion/Accordion.scss +9 -0
- package/src/components/ActionSelect/ActionSelect.scss +6 -0
- package/src/components/Alert/Alert.scss +71 -0
- package/src/components/AppBar/AppBar.scss +43 -0
- package/src/components/AspectRatio/AspectRatio.scss +22 -0
- package/src/components/AutoLayout/AutoLayout.scss +90 -0
- package/src/components/Avatar/Avatar.scss +91 -0
- package/src/components/Badge/Badge.scss +52 -0
- package/src/components/Box/Box.scss +63 -0
- package/src/components/Breadcrumbs/Breadcrumbs.scss +59 -0
- package/src/components/Button/Button.scss +231 -0
- package/src/components/ButtonGroup/ButtonGroup.scss +56 -0
- package/src/components/Card/Card.scss +99 -0
- package/src/components/Carousel/Carousel.scss +161 -0
- package/src/components/Center/Center.scss +11 -0
- package/src/components/ChatBubble/ChatBubble.scss +119 -0
- package/src/components/Checkbox/Checkbox.scss +66 -0
- package/src/components/Chip/Chip.scss +119 -0
- package/src/components/ChoiceGroup/ChoiceGroup.scss +69 -0
- package/src/components/Code/Code.scss +28 -0
- package/src/components/Collapsible/Collapsible.scss +136 -0
- package/src/components/ColorPicker/ColorPicker.scss +235 -0
- package/src/components/Combobox/Combobox.scss +83 -0
- package/src/components/Container/Container.scss +28 -0
- package/src/components/Countdown/Countdown.scss +28 -0
- package/src/components/DateField/DateField.scss +19 -0
- package/src/components/Dialog/Dialog.scss +268 -0
- package/src/components/Diff/Diff.scss +125 -0
- package/src/components/Divider/Divider.scss +22 -0
- package/src/components/Dock/Dock.scss +86 -0
- package/src/components/Field/Field.scss +38 -0
- package/src/components/Fieldset/Fieldset.scss +63 -0
- package/src/components/FileInput/FileInput.scss +66 -0
- package/src/components/Footer/Footer.scss +79 -0
- package/src/components/Grid/Grid.scss +86 -0
- package/src/components/Header/Header.scss +111 -0
- package/src/components/Heading/Heading.scss +7 -0
- package/src/components/Icon/Icon.scss +12 -0
- package/src/components/IconButton/IconButton.scss +6 -0
- package/src/components/Image/Image.scss +46 -0
- package/src/components/Indicator/Indicator.scss +48 -0
- package/src/components/Input/Input.scss +58 -0
- package/src/components/Key/Key.scss +48 -0
- package/src/components/Link/Link.scss +50 -0
- package/src/components/List/List.scss +62 -0
- package/src/components/Media/Media.scss +7 -0
- package/src/components/Menu/Menu.scss +91 -0
- package/src/components/Motion/Motion.scss +106 -0
- package/src/components/NumberField/NumberField.scss +44 -0
- package/src/components/OtpField/OtpField.scss +91 -0
- package/src/components/PageTransition/PageTransition.scss +197 -0
- package/src/components/Pagination/Pagination.scss +55 -0
- package/src/components/Popover/Popover.scss +13 -0
- package/src/components/Progress/Progress.scss +126 -0
- package/src/components/RadialProgress/RadialProgress.scss +65 -0
- package/src/components/Radio/Radio.scss +36 -0
- package/src/components/Rating/Rating.scss +121 -0
- package/src/components/ScrollSpy/ScrollSpy.scss +6 -0
- package/src/components/SegmentedControl/SegmentedControl.scss +107 -0
- package/src/components/Select/Select.scss +59 -0
- package/src/components/Sidebar/Sidebar.scss +88 -0
- package/src/components/Skeleton/Skeleton.scss +60 -0
- package/src/components/Slider/Slider.scss +96 -0
- package/src/components/Spacer/Spacer.scss +15 -0
- package/src/components/SpeedDial/SpeedDial.scss +109 -0
- package/src/components/Spinner/Spinner.scss +43 -0
- package/src/components/Stack/Stack.scss +57 -0
- package/src/components/Stat/Stat.scss +96 -0
- package/src/components/Status/Status.scss +60 -0
- package/src/components/Steps/Steps.scss +216 -0
- package/src/components/Swap/Swap.scss +62 -0
- package/src/components/Switch/Switch.scss +63 -0
- package/src/components/Table/Table.scss +183 -0
- package/src/components/Tabs/Tabs.scss +108 -0
- package/src/components/Text/Text.scss +34 -0
- package/src/components/TextRotate/TextRotate.scss +51 -0
- package/src/components/Textarea/Textarea.scss +56 -0
- package/src/components/ThemeProvider/ThemeProvider.scss +7 -0
- package/src/components/Tile/Tile.scss +23 -0
- package/src/components/Toast/Toast.scss +93 -0
- package/src/components/ToggleButton/ToggleButton.scss +23 -0
- package/src/components/Tooltip/Tooltip.scss +21 -0
- package/src/components/Type/Type.scss +35 -0
- package/src/components/Visibility/Visibility.scss +39 -0
- package/src/components/VisuallyHidden/VisuallyHidden.scss +17 -0
- package/src/styles/_breakpoint-vars.scss +16 -0
- package/src/styles/_config.scss +48 -0
- package/src/styles/_controls.scss +88 -0
- package/src/styles/_core.scss +4 -0
- package/src/styles/_effect.scss +51 -0
- package/src/styles/_floating.scss +141 -0
- package/src/styles/_kit.scss +1548 -0
- package/src/styles/_manifest.scss +670 -0
- package/src/styles/_mixins.scss +261 -0
- package/src/styles/_tones.scss +63 -0
- package/src/styles/_type-emit.scss +76 -0
- package/src/styles/_typography-vars.scss +8 -0
- package/src/styles/base.scss +80 -0
- package/src/styles/breakpoints.test.ts +73 -0
- package/src/styles/entryPoints.test.ts +68 -0
- package/src/styles/index.scss +93 -0
- package/src/styles/kit.test.ts +754 -0
- package/src/styles/public/_controls.scss +3 -0
- package/src/styles/public/_floating.scss +3 -0
- package/src/styles/public/_mixins.scss +5 -0
- package/src/styles/public/_tones.scss +4 -0
- package/themes/bevel.css +1077 -0
- package/themes/bevel.scss +1166 -0
- package/themes/candy.css +87 -0
- package/themes/candy.scss +32 -0
- package/themes/depth.css +123 -0
- package/themes/depth.scss +46 -0
- package/themes/extrude.css +219 -0
- package/themes/extrude.scss +255 -0
- package/themes/folio.css +986 -0
- package/themes/folio.scss +1047 -0
- package/themes/forest.css +87 -0
- package/themes/forest.scss +32 -0
- package/themes/gentle.css +66 -0
- package/themes/gentle.scss +39 -0
- package/themes/grape.css +87 -0
- package/themes/grape.scss +32 -0
- package/themes/greese.css +36 -0
- package/themes/greese.scss +21 -0
- package/themes/mono.css +87 -0
- package/themes/mono.scss +32 -0
- package/themes/ocean.css +87 -0
- package/themes/ocean.scss +32 -0
- package/themes/outline.css +127 -0
- package/themes/outline.scss +126 -0
- package/themes/pebble.css +65 -0
- package/themes/pebble.scss +69 -0
- package/themes/pocket.css +137 -0
- package/themes/pocket.scss +45 -0
- package/themes/ridge.css +927 -0
- package/themes/ridge.scss +998 -0
- package/themes/snappy.css +82 -0
- package/themes/snappy.scss +40 -0
- package/themes/soft.css +79 -0
- package/themes/soft.scss +84 -0
- package/themes/sunset.css +87 -0
- package/themes/sunset.scss +32 -0
- package/themes/ticket.css +960 -0
- package/themes/ticket.scss +1031 -0
- package/themes/tilt.css +148 -0
- package/themes/tilt.scss +169 -0
- package/themes/wipe.css +186 -0
- package/themes/wipe.scss +46 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Forest: a jade primary with lime, aqua and an orange accent, on neutrals tinted jade.
|
|
3
|
+
*
|
|
4
|
+
* A greese ui color theme (ADR 0025): the brand colors and the neutrals
|
|
5
|
+
* (canvas, surfaces, text, borders) in both schemes, in @layer greese.theme;
|
|
6
|
+
* content and strong shades are derived for contrast (WCAG AA). It sets no
|
|
7
|
+
* shapes and no motion, so it goes with any shape or motion theme.
|
|
8
|
+
* Load it after greese ui's styles:
|
|
9
|
+
*
|
|
10
|
+
* import '@greese/ui/themes/forest.css'
|
|
11
|
+
*
|
|
12
|
+
* Generated from apps/site/src/studio/presets.ts (npm run themes -w site).
|
|
13
|
+
*/
|
|
14
|
+
@layer greese.reset, greese.tokens, greese.theme, greese.base, greese.components, greese.overrides, greese.utilities;
|
|
15
|
+
@layer greese.theme {
|
|
16
|
+
:root,
|
|
17
|
+
[data-greese-scheme=light],
|
|
18
|
+
[data-greese-scheme=system] {
|
|
19
|
+
--greese-color-canvas: #eefaf4;
|
|
20
|
+
--greese-color-surface: #daf4e8;
|
|
21
|
+
--greese-color-surface-overlay: #ffffff;
|
|
22
|
+
--greese-color-fg: #001c11;
|
|
23
|
+
--greese-color-fg-muted: #006f51;
|
|
24
|
+
--greese-color-border: #baedd6;
|
|
25
|
+
--greese-color-border-strong: #54cea1;
|
|
26
|
+
--greese-color-track: #baedd6;
|
|
27
|
+
--greese-color-primary: #006f51;
|
|
28
|
+
--greese-color-primary-strong: color-mix(in oklab, var(--greese-color-primary) 80%, #000);
|
|
29
|
+
--greese-color-primary-content: #ffffff;
|
|
30
|
+
--greese-color-secondary: #517600;
|
|
31
|
+
--greese-color-secondary-strong: color-mix(in oklab, var(--greese-color-secondary) 80%, #000);
|
|
32
|
+
--greese-color-secondary-content: #ffffff;
|
|
33
|
+
--greese-color-tertiary: #00707b;
|
|
34
|
+
--greese-color-tertiary-strong: color-mix(in oklab, var(--greese-color-tertiary) 80%, #000);
|
|
35
|
+
--greese-color-tertiary-content: #ffffff;
|
|
36
|
+
--greese-color-accent: #c05d00;
|
|
37
|
+
--greese-color-accent-strong: color-mix(in oklab, var(--greese-color-accent) 80%, #000);
|
|
38
|
+
--greese-color-accent-content: #000000;
|
|
39
|
+
}
|
|
40
|
+
@media (prefers-color-scheme: dark) {
|
|
41
|
+
:root:not([data-greese-scheme=light]),
|
|
42
|
+
[data-greese-scheme=system] {
|
|
43
|
+
--greese-color-canvas: #001c11;
|
|
44
|
+
--greese-color-surface: #003c2a;
|
|
45
|
+
--greese-color-surface-overlay: #00553d;
|
|
46
|
+
--greese-color-fg: #daf4e8;
|
|
47
|
+
--greese-color-fg-muted: #8ee1be;
|
|
48
|
+
--greese-color-border: #00553d;
|
|
49
|
+
--greese-color-border-strong: #006f51;
|
|
50
|
+
--greese-color-track: #008e68;
|
|
51
|
+
--greese-color-primary: #54cea1;
|
|
52
|
+
--greese-color-primary-strong: color-mix(in oklab, var(--greese-color-primary) 70%, #fff);
|
|
53
|
+
--greese-color-primary-content: #11171c;
|
|
54
|
+
--greese-color-secondary: #a6dc51;
|
|
55
|
+
--greese-color-secondary-strong: color-mix(in oklab, var(--greese-color-secondary) 70%, #fff);
|
|
56
|
+
--greese-color-secondary-content: #11171c;
|
|
57
|
+
--greese-color-tertiary: #64d0de;
|
|
58
|
+
--greese-color-tertiary-strong: color-mix(in oklab, var(--greese-color-tertiary) 70%, #fff);
|
|
59
|
+
--greese-color-tertiary-content: #11171c;
|
|
60
|
+
--greese-color-accent: #ff9d5e;
|
|
61
|
+
--greese-color-accent-strong: color-mix(in oklab, var(--greese-color-accent) 70%, #fff);
|
|
62
|
+
--greese-color-accent-content: #11171c;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
[data-greese-scheme=dark] {
|
|
66
|
+
--greese-color-canvas: #001c11;
|
|
67
|
+
--greese-color-surface: #003c2a;
|
|
68
|
+
--greese-color-surface-overlay: #00553d;
|
|
69
|
+
--greese-color-fg: #daf4e8;
|
|
70
|
+
--greese-color-fg-muted: #8ee1be;
|
|
71
|
+
--greese-color-border: #00553d;
|
|
72
|
+
--greese-color-border-strong: #006f51;
|
|
73
|
+
--greese-color-track: #008e68;
|
|
74
|
+
--greese-color-primary: #54cea1;
|
|
75
|
+
--greese-color-primary-strong: color-mix(in oklab, var(--greese-color-primary) 70%, #fff);
|
|
76
|
+
--greese-color-primary-content: #11171c;
|
|
77
|
+
--greese-color-secondary: #a6dc51;
|
|
78
|
+
--greese-color-secondary-strong: color-mix(in oklab, var(--greese-color-secondary) 70%, #fff);
|
|
79
|
+
--greese-color-secondary-content: #11171c;
|
|
80
|
+
--greese-color-tertiary: #64d0de;
|
|
81
|
+
--greese-color-tertiary-strong: color-mix(in oklab, var(--greese-color-tertiary) 70%, #fff);
|
|
82
|
+
--greese-color-tertiary-content: #11171c;
|
|
83
|
+
--greese-color-accent: #ff9d5e;
|
|
84
|
+
--greese-color-accent-strong: color-mix(in oklab, var(--greese-color-accent) 70%, #fff);
|
|
85
|
+
--greese-color-accent-content: #11171c;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Forest: a jade primary with lime, aqua and an orange accent, on neutrals tinted jade.
|
|
3
|
+
*
|
|
4
|
+
* A greese ui color theme (ADR 0025): the brand colors and the neutrals
|
|
5
|
+
* (canvas, surfaces, text, borders) in both schemes, in @layer greese.theme;
|
|
6
|
+
* content and strong shades are derived for contrast (WCAG AA). It sets no
|
|
7
|
+
* shapes and no motion, so it goes with any shape or motion theme.
|
|
8
|
+
* Compile it with Sass's package importer, after greese ui's
|
|
9
|
+
* styles, or use the compiled forest.css.
|
|
10
|
+
*
|
|
11
|
+
* Generated from apps/site/src/studio/presets.ts (npm run themes -w site).
|
|
12
|
+
*/
|
|
13
|
+
// Generated by greese ui Theme Studio from greese-theme.json. Edit it there, or in
|
|
14
|
+
// the studio (npm run studio); changes made here are overwritten.
|
|
15
|
+
@use 'pkg:@greese/ui/scss/kit' as greese;
|
|
16
|
+
|
|
17
|
+
@include greese.tokens((
|
|
18
|
+
color: (
|
|
19
|
+
primary: (light: "jade-700", dark: "jade-400"),
|
|
20
|
+
secondary: (light: "lime-700", dark: "lime-400"),
|
|
21
|
+
tertiary: (light: "aqua-700", dark: "aqua-400"),
|
|
22
|
+
accent: (light: "orange-600", dark: "orange-400"),
|
|
23
|
+
canvas: (light: "jade-50", dark: "jade-999"),
|
|
24
|
+
surface: (light: "jade-100", dark: "jade-900"),
|
|
25
|
+
surface-overlay: (light: "#ffffff", dark: "jade-800"),
|
|
26
|
+
fg: (light: "jade-999", dark: "jade-100"),
|
|
27
|
+
fg-muted: (light: "jade-700", dark: "jade-300"),
|
|
28
|
+
border: (light: "jade-200", dark: "jade-800"),
|
|
29
|
+
border-strong: (light: "jade-400", dark: "jade-700"),
|
|
30
|
+
track: (light: "jade-200", dark: "jade-600"),
|
|
31
|
+
),
|
|
32
|
+
));
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gentle: unhurried and soft. Long durations that ease out and a wide stagger; things come into focus out of a blur, and overlays sink away. Pages change softly: the old one fades away while the new one comes into focus.
|
|
3
|
+
*
|
|
4
|
+
* A greese ui motion theme (ADR 0025): it assigns the motion roles (which
|
|
5
|
+
* built-in effect plays where, and which duration and easing it takes) and
|
|
6
|
+
* paces every entrance. It redefines no effect and no token, and sets no
|
|
7
|
+
* colors and no shapes, so it goes with any of those.
|
|
8
|
+
* Load it after greese ui's styles:
|
|
9
|
+
*
|
|
10
|
+
* import '@greese/ui/themes/gentle.css'
|
|
11
|
+
*
|
|
12
|
+
* Generated from apps/site/src/studio/motions.ts (npm run themes -w site).
|
|
13
|
+
*/
|
|
14
|
+
@layer greese.reset, greese.tokens, greese.theme, greese.base, greese.components, greese.overrides, greese.utilities;
|
|
15
|
+
@layer greese.overrides {
|
|
16
|
+
:root {
|
|
17
|
+
--greese-motion-duration: 0.8s;
|
|
18
|
+
--greese-motion-distance: 1.5rem;
|
|
19
|
+
--greese-motion-stagger: 0.09s;
|
|
20
|
+
--greese-motion-theme: greese-blur-in;
|
|
21
|
+
--greese-motion-content: greese-blur-in;
|
|
22
|
+
--greese-motion-rows: greese-fade-up;
|
|
23
|
+
--greese-motion-toast: greese-fade-up;
|
|
24
|
+
--greese-motion-overlay: greese-blur-in;
|
|
25
|
+
--greese-motion-overlay-exit-translate: 0px var(--greese-motion-distance, 1rem);
|
|
26
|
+
--greese-motion-overlay-exit-scale: 1;
|
|
27
|
+
--greese-motion-overlay-exit-opacity: 0;
|
|
28
|
+
--greese-motion-overlay-exit-mask-image: none;
|
|
29
|
+
--greese-motion-overlay-exit-transform: none;
|
|
30
|
+
--greese-motion-content-duration: var(--greese-duration-slow);
|
|
31
|
+
--greese-motion-rows-duration: var(--greese-duration-slow);
|
|
32
|
+
--greese-motion-overlay-duration: var(--greese-duration-slow);
|
|
33
|
+
--greese-motion-toast-duration: var(--greese-duration-slow);
|
|
34
|
+
--greese-motion-exit-duration: var(--greese-duration-normal);
|
|
35
|
+
--greese-motion-enter-ease: cubic-bezier(0.16, 1, 0.3, 1);
|
|
36
|
+
--greese-motion-exit-ease: cubic-bezier(0.7, 0, 0.84, 0);
|
|
37
|
+
--greese-motion-page: greese-blur-in;
|
|
38
|
+
--greese-motion-page-exit: greese-fade-out;
|
|
39
|
+
--greese-motion-page-duration: 0.7s;
|
|
40
|
+
--greese-motion-page-ease: cubic-bezier(0.16, 1, 0.3, 1);
|
|
41
|
+
--greese-motion-page-stagger: 0.09s;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
@layer greese.utilities {
|
|
45
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
46
|
+
@keyframes greese-blur-in {
|
|
47
|
+
from {
|
|
48
|
+
filter: blur(8px);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
@keyframes greese-fade-up {
|
|
52
|
+
from {
|
|
53
|
+
translate: 0px var(--greese-motion-distance, 1rem);
|
|
54
|
+
opacity: 0;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
@keyframes greese-fade-out {
|
|
58
|
+
from {
|
|
59
|
+
opacity: 1;
|
|
60
|
+
}
|
|
61
|
+
to {
|
|
62
|
+
opacity: 0;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gentle: unhurried and soft. Long durations that ease out and a wide stagger; things come into focus out of a blur, and overlays sink away. Pages change softly: the old one fades away while the new one comes into focus.
|
|
3
|
+
*
|
|
4
|
+
* A greese ui motion theme (ADR 0025): it assigns the motion roles (which
|
|
5
|
+
* built-in effect plays where, and which duration and easing it takes) and
|
|
6
|
+
* paces every entrance. It redefines no effect and no token, and sets no
|
|
7
|
+
* colors and no shapes, so it goes with any of those.
|
|
8
|
+
* Compile it with Sass's package importer, after greese ui's
|
|
9
|
+
* styles, or use the compiled gentle.css.
|
|
10
|
+
*
|
|
11
|
+
* Generated from apps/site/src/studio/motions.ts (npm run themes -w site).
|
|
12
|
+
*/
|
|
13
|
+
// Generated by greese ui Theme Studio from greese-theme.json. Edit it there, or in
|
|
14
|
+
// the studio (npm run studio); changes made here are overwritten.
|
|
15
|
+
@use 'pkg:@greese/ui/scss/kit' as greese;
|
|
16
|
+
|
|
17
|
+
@include greese.motion-defaults((
|
|
18
|
+
duration: "0.8s",
|
|
19
|
+
distance: "1.5rem",
|
|
20
|
+
stagger: "0.09s",
|
|
21
|
+
theme: "blur-in",
|
|
22
|
+
content: "blur-in",
|
|
23
|
+
rows: "fade-up",
|
|
24
|
+
toast: "fade-up",
|
|
25
|
+
overlay: "blur-in",
|
|
26
|
+
overlay-exit: "fade-out-down",
|
|
27
|
+
content-duration: "slow",
|
|
28
|
+
rows-duration: "slow",
|
|
29
|
+
overlay-duration: "slow",
|
|
30
|
+
toast-duration: "slow",
|
|
31
|
+
exit-duration: "normal",
|
|
32
|
+
enter-ease: "cubic-bezier(0.16, 1, 0.3, 1)",
|
|
33
|
+
exit-ease: "cubic-bezier(0.7, 0, 0.84, 0)",
|
|
34
|
+
page: "blur-in",
|
|
35
|
+
page-exit: "fade-out",
|
|
36
|
+
page-duration: "0.7s",
|
|
37
|
+
page-ease: "cubic-bezier(0.16, 1, 0.3, 1)",
|
|
38
|
+
page-stagger: "0.09s",
|
|
39
|
+
));
|
package/themes/grape.css
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Grape: a lavender primary with magenta, royal blue and a jade accent, on neutrals tinted lavender.
|
|
3
|
+
*
|
|
4
|
+
* A greese ui color theme (ADR 0025): the brand colors and the neutrals
|
|
5
|
+
* (canvas, surfaces, text, borders) in both schemes, in @layer greese.theme;
|
|
6
|
+
* content and strong shades are derived for contrast (WCAG AA). It sets no
|
|
7
|
+
* shapes and no motion, so it goes with any shape or motion theme.
|
|
8
|
+
* Load it after greese ui's styles:
|
|
9
|
+
*
|
|
10
|
+
* import '@greese/ui/themes/grape.css'
|
|
11
|
+
*
|
|
12
|
+
* Generated from apps/site/src/studio/presets.ts (npm run themes -w site).
|
|
13
|
+
*/
|
|
14
|
+
@layer greese.reset, greese.tokens, greese.theme, greese.base, greese.components, greese.overrides, greese.utilities;
|
|
15
|
+
@layer greese.theme {
|
|
16
|
+
:root,
|
|
17
|
+
[data-greese-scheme=light],
|
|
18
|
+
[data-greese-scheme=system] {
|
|
19
|
+
--greese-color-canvas: #f7f5ff;
|
|
20
|
+
--greese-color-surface: #edeaff;
|
|
21
|
+
--greese-color-surface-overlay: #ffffff;
|
|
22
|
+
--greese-color-fg: #190c33;
|
|
23
|
+
--greese-color-fg-muted: #6443ab;
|
|
24
|
+
--greese-color-border: #dfd8ff;
|
|
25
|
+
--greese-color-border-strong: #b69fff;
|
|
26
|
+
--greese-color-track: #dfd8ff;
|
|
27
|
+
--greese-color-primary: #7e5bd0;
|
|
28
|
+
--greese-color-primary-strong: color-mix(in oklab, var(--greese-color-primary) 80%, #000);
|
|
29
|
+
--greese-color-primary-content: #ffffff;
|
|
30
|
+
--greese-color-secondary: #bb32a3;
|
|
31
|
+
--greese-color-secondary-strong: color-mix(in oklab, var(--greese-color-secondary) 80%, #000);
|
|
32
|
+
--greese-color-secondary-content: #ffffff;
|
|
33
|
+
--greese-color-tertiary: #5963e5;
|
|
34
|
+
--greese-color-tertiary-strong: color-mix(in oklab, var(--greese-color-tertiary) 80%, #000);
|
|
35
|
+
--greese-color-tertiary-content: #ffffff;
|
|
36
|
+
--greese-color-accent: #008e68;
|
|
37
|
+
--greese-color-accent-strong: color-mix(in oklab, var(--greese-color-accent) 80%, #000);
|
|
38
|
+
--greese-color-accent-content: #000000;
|
|
39
|
+
}
|
|
40
|
+
@media (prefers-color-scheme: dark) {
|
|
41
|
+
:root:not([data-greese-scheme=light]),
|
|
42
|
+
[data-greese-scheme=system] {
|
|
43
|
+
--greese-color-canvas: #190c33;
|
|
44
|
+
--greese-color-surface: #362361;
|
|
45
|
+
--greese-color-surface-overlay: #4c3285;
|
|
46
|
+
--greese-color-fg: #edeaff;
|
|
47
|
+
--greese-color-fg-muted: #cdbfff;
|
|
48
|
+
--greese-color-border: #4c3285;
|
|
49
|
+
--greese-color-border-strong: #6443ab;
|
|
50
|
+
--greese-color-track: #7e5bd0;
|
|
51
|
+
--greese-color-primary: #b69fff;
|
|
52
|
+
--greese-color-primary-strong: color-mix(in oklab, var(--greese-color-primary) 70%, #fff);
|
|
53
|
+
--greese-color-primary-content: #11171c;
|
|
54
|
+
--greese-color-secondary: #f97cde;
|
|
55
|
+
--greese-color-secondary-strong: color-mix(in oklab, var(--greese-color-secondary) 70%, #fff);
|
|
56
|
+
--greese-color-secondary-content: #11171c;
|
|
57
|
+
--greese-color-tertiary: #9aaaff;
|
|
58
|
+
--greese-color-tertiary-strong: color-mix(in oklab, var(--greese-color-tertiary) 70%, #fff);
|
|
59
|
+
--greese-color-tertiary-content: #11171c;
|
|
60
|
+
--greese-color-accent: #54cea1;
|
|
61
|
+
--greese-color-accent-strong: color-mix(in oklab, var(--greese-color-accent) 70%, #fff);
|
|
62
|
+
--greese-color-accent-content: #11171c;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
[data-greese-scheme=dark] {
|
|
66
|
+
--greese-color-canvas: #190c33;
|
|
67
|
+
--greese-color-surface: #362361;
|
|
68
|
+
--greese-color-surface-overlay: #4c3285;
|
|
69
|
+
--greese-color-fg: #edeaff;
|
|
70
|
+
--greese-color-fg-muted: #cdbfff;
|
|
71
|
+
--greese-color-border: #4c3285;
|
|
72
|
+
--greese-color-border-strong: #6443ab;
|
|
73
|
+
--greese-color-track: #7e5bd0;
|
|
74
|
+
--greese-color-primary: #b69fff;
|
|
75
|
+
--greese-color-primary-strong: color-mix(in oklab, var(--greese-color-primary) 70%, #fff);
|
|
76
|
+
--greese-color-primary-content: #11171c;
|
|
77
|
+
--greese-color-secondary: #f97cde;
|
|
78
|
+
--greese-color-secondary-strong: color-mix(in oklab, var(--greese-color-secondary) 70%, #fff);
|
|
79
|
+
--greese-color-secondary-content: #11171c;
|
|
80
|
+
--greese-color-tertiary: #9aaaff;
|
|
81
|
+
--greese-color-tertiary-strong: color-mix(in oklab, var(--greese-color-tertiary) 70%, #fff);
|
|
82
|
+
--greese-color-tertiary-content: #11171c;
|
|
83
|
+
--greese-color-accent: #54cea1;
|
|
84
|
+
--greese-color-accent-strong: color-mix(in oklab, var(--greese-color-accent) 70%, #fff);
|
|
85
|
+
--greese-color-accent-content: #11171c;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Grape: a lavender primary with magenta, royal blue and a jade accent, on neutrals tinted lavender.
|
|
3
|
+
*
|
|
4
|
+
* A greese ui color theme (ADR 0025): the brand colors and the neutrals
|
|
5
|
+
* (canvas, surfaces, text, borders) in both schemes, in @layer greese.theme;
|
|
6
|
+
* content and strong shades are derived for contrast (WCAG AA). It sets no
|
|
7
|
+
* shapes and no motion, so it goes with any shape or motion theme.
|
|
8
|
+
* Compile it with Sass's package importer, after greese ui's
|
|
9
|
+
* styles, or use the compiled grape.css.
|
|
10
|
+
*
|
|
11
|
+
* Generated from apps/site/src/studio/presets.ts (npm run themes -w site).
|
|
12
|
+
*/
|
|
13
|
+
// Generated by greese ui Theme Studio from greese-theme.json. Edit it there, or in
|
|
14
|
+
// the studio (npm run studio); changes made here are overwritten.
|
|
15
|
+
@use 'pkg:@greese/ui/scss/kit' as greese;
|
|
16
|
+
|
|
17
|
+
@include greese.tokens((
|
|
18
|
+
color: (
|
|
19
|
+
primary: (light: "lavender-600", dark: "lavender-400"),
|
|
20
|
+
secondary: (light: "magenta-600", dark: "magenta-400"),
|
|
21
|
+
tertiary: (light: "royal-600", dark: "royal-400"),
|
|
22
|
+
accent: (light: "jade-600", dark: "jade-400"),
|
|
23
|
+
canvas: (light: "lavender-50", dark: "lavender-999"),
|
|
24
|
+
surface: (light: "lavender-100", dark: "lavender-900"),
|
|
25
|
+
surface-overlay: (light: "#ffffff", dark: "lavender-800"),
|
|
26
|
+
fg: (light: "lavender-999", dark: "lavender-100"),
|
|
27
|
+
fg-muted: (light: "lavender-700", dark: "lavender-300"),
|
|
28
|
+
border: (light: "lavender-200", dark: "lavender-800"),
|
|
29
|
+
border-strong: (light: "lavender-400", dark: "lavender-700"),
|
|
30
|
+
track: (light: "lavender-200", dark: "lavender-600"),
|
|
31
|
+
),
|
|
32
|
+
));
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Greese: the official theme. A warm orange primary on greese ui's own neutrals.
|
|
3
|
+
*
|
|
4
|
+
* A greese ui color theme (ADR 0025): the brand colors and the neutrals
|
|
5
|
+
* (canvas, surfaces, text, borders) in both schemes, in @layer greese.theme;
|
|
6
|
+
* content and strong shades are derived for contrast (WCAG AA). It sets no
|
|
7
|
+
* shapes and no motion, so it goes with any shape or motion theme.
|
|
8
|
+
* Load it after greese ui's styles:
|
|
9
|
+
*
|
|
10
|
+
* import '@greese/ui/themes/greese.css'
|
|
11
|
+
*
|
|
12
|
+
* Generated from apps/site/src/studio/presets.ts (npm run themes -w site).
|
|
13
|
+
*/
|
|
14
|
+
@layer greese.reset, greese.tokens, greese.theme, greese.base, greese.components, greese.overrides, greese.utilities;
|
|
15
|
+
@layer greese.theme {
|
|
16
|
+
:root,
|
|
17
|
+
[data-greese-scheme=light],
|
|
18
|
+
[data-greese-scheme=system] {
|
|
19
|
+
--greese-color-primary: #964700;
|
|
20
|
+
--greese-color-primary-strong: color-mix(in oklab, var(--greese-color-primary) 80%, #000);
|
|
21
|
+
--greese-color-primary-content: #ffffff;
|
|
22
|
+
}
|
|
23
|
+
@media (prefers-color-scheme: dark) {
|
|
24
|
+
:root:not([data-greese-scheme=light]),
|
|
25
|
+
[data-greese-scheme=system] {
|
|
26
|
+
--greese-color-primary: #ff9d5e;
|
|
27
|
+
--greese-color-primary-strong: color-mix(in oklab, var(--greese-color-primary) 70%, #fff);
|
|
28
|
+
--greese-color-primary-content: #11171c;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
[data-greese-scheme=dark] {
|
|
32
|
+
--greese-color-primary: #ff9d5e;
|
|
33
|
+
--greese-color-primary-strong: color-mix(in oklab, var(--greese-color-primary) 70%, #fff);
|
|
34
|
+
--greese-color-primary-content: #11171c;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Greese: the official theme. A warm orange primary on greese ui's own neutrals.
|
|
3
|
+
*
|
|
4
|
+
* A greese ui color theme (ADR 0025): the brand colors and the neutrals
|
|
5
|
+
* (canvas, surfaces, text, borders) in both schemes, in @layer greese.theme;
|
|
6
|
+
* content and strong shades are derived for contrast (WCAG AA). It sets no
|
|
7
|
+
* shapes and no motion, so it goes with any shape or motion theme.
|
|
8
|
+
* Compile it with Sass's package importer, after greese ui's
|
|
9
|
+
* styles, or use the compiled greese.css.
|
|
10
|
+
*
|
|
11
|
+
* Generated from apps/site/src/studio/presets.ts (npm run themes -w site).
|
|
12
|
+
*/
|
|
13
|
+
// Generated by greese ui Theme Studio from greese-theme.json. Edit it there, or in
|
|
14
|
+
// the studio (npm run studio); changes made here are overwritten.
|
|
15
|
+
@use 'pkg:@greese/ui/scss/kit' as greese;
|
|
16
|
+
|
|
17
|
+
@include greese.tokens((
|
|
18
|
+
color: (
|
|
19
|
+
primary: (light: "orange-700", dark: "orange-400"),
|
|
20
|
+
),
|
|
21
|
+
));
|
package/themes/mono.css
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mono: near-black (near-white in dark mode) and grays, with taupe and a single red accent, on gray neutrals.
|
|
3
|
+
*
|
|
4
|
+
* A greese ui color theme (ADR 0025): the brand colors and the neutrals
|
|
5
|
+
* (canvas, surfaces, text, borders) in both schemes, in @layer greese.theme;
|
|
6
|
+
* content and strong shades are derived for contrast (WCAG AA). It sets no
|
|
7
|
+
* shapes and no motion, so it goes with any shape or motion theme.
|
|
8
|
+
* Load it after greese ui's styles:
|
|
9
|
+
*
|
|
10
|
+
* import '@greese/ui/themes/mono.css'
|
|
11
|
+
*
|
|
12
|
+
* Generated from apps/site/src/studio/presets.ts (npm run themes -w site).
|
|
13
|
+
*/
|
|
14
|
+
@layer greese.reset, greese.tokens, greese.theme, greese.base, greese.components, greese.overrides, greese.utilities;
|
|
15
|
+
@layer greese.theme {
|
|
16
|
+
:root,
|
|
17
|
+
[data-greese-scheme=light],
|
|
18
|
+
[data-greese-scheme=system] {
|
|
19
|
+
--greese-color-canvas: #f7f7f7;
|
|
20
|
+
--greese-color-surface: #ededed;
|
|
21
|
+
--greese-color-surface-overlay: #ffffff;
|
|
22
|
+
--greese-color-fg: #161616;
|
|
23
|
+
--greese-color-fg-muted: #5c5c5c;
|
|
24
|
+
--greese-color-border: #dedede;
|
|
25
|
+
--greese-color-border-strong: #b1b1b1;
|
|
26
|
+
--greese-color-track: #dedede;
|
|
27
|
+
--greese-color-primary: #2e3335;
|
|
28
|
+
--greese-color-primary-strong: color-mix(in oklab, var(--greese-color-primary) 80%, #000);
|
|
29
|
+
--greese-color-primary-content: #ffffff;
|
|
30
|
+
--greese-color-secondary: #6f777c;
|
|
31
|
+
--greese-color-secondary-strong: color-mix(in oklab, var(--greese-color-secondary) 80%, #000);
|
|
32
|
+
--greese-color-secondary-content: #ffffff;
|
|
33
|
+
--greese-color-tertiary: #67594f;
|
|
34
|
+
--greese-color-tertiary-strong: color-mix(in oklab, var(--greese-color-tertiary) 80%, #000);
|
|
35
|
+
--greese-color-tertiary-content: #ffffff;
|
|
36
|
+
--greese-color-accent: #d52727;
|
|
37
|
+
--greese-color-accent-strong: color-mix(in oklab, var(--greese-color-accent) 80%, #000);
|
|
38
|
+
--greese-color-accent-content: #ffffff;
|
|
39
|
+
}
|
|
40
|
+
@media (prefers-color-scheme: dark) {
|
|
41
|
+
:root:not([data-greese-scheme=light]),
|
|
42
|
+
[data-greese-scheme=system] {
|
|
43
|
+
--greese-color-canvas: #161616;
|
|
44
|
+
--greese-color-surface: #323232;
|
|
45
|
+
--greese-color-surface-overlay: #464646;
|
|
46
|
+
--greese-color-fg: #ededed;
|
|
47
|
+
--greese-color-fg-muted: #cacaca;
|
|
48
|
+
--greese-color-border: #464646;
|
|
49
|
+
--greese-color-border-strong: #5c5c5c;
|
|
50
|
+
--greese-color-track: #767676;
|
|
51
|
+
--greese-color-primary: #ebedee;
|
|
52
|
+
--greese-color-primary-strong: color-mix(in oklab, var(--greese-color-primary) 70%, #fff);
|
|
53
|
+
--greese-color-primary-content: #11171c;
|
|
54
|
+
--greese-color-secondary: #aab3b7;
|
|
55
|
+
--greese-color-secondary-strong: color-mix(in oklab, var(--greese-color-secondary) 70%, #fff);
|
|
56
|
+
--greese-color-secondary-content: #11171c;
|
|
57
|
+
--greese-color-tertiary: #d3c7be;
|
|
58
|
+
--greese-color-tertiary-strong: color-mix(in oklab, var(--greese-color-tertiary) 70%, #fff);
|
|
59
|
+
--greese-color-tertiary-content: #11171c;
|
|
60
|
+
--greese-color-accent: #ff8b7f;
|
|
61
|
+
--greese-color-accent-strong: color-mix(in oklab, var(--greese-color-accent) 70%, #fff);
|
|
62
|
+
--greese-color-accent-content: #11171c;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
[data-greese-scheme=dark] {
|
|
66
|
+
--greese-color-canvas: #161616;
|
|
67
|
+
--greese-color-surface: #323232;
|
|
68
|
+
--greese-color-surface-overlay: #464646;
|
|
69
|
+
--greese-color-fg: #ededed;
|
|
70
|
+
--greese-color-fg-muted: #cacaca;
|
|
71
|
+
--greese-color-border: #464646;
|
|
72
|
+
--greese-color-border-strong: #5c5c5c;
|
|
73
|
+
--greese-color-track: #767676;
|
|
74
|
+
--greese-color-primary: #ebedee;
|
|
75
|
+
--greese-color-primary-strong: color-mix(in oklab, var(--greese-color-primary) 70%, #fff);
|
|
76
|
+
--greese-color-primary-content: #11171c;
|
|
77
|
+
--greese-color-secondary: #aab3b7;
|
|
78
|
+
--greese-color-secondary-strong: color-mix(in oklab, var(--greese-color-secondary) 70%, #fff);
|
|
79
|
+
--greese-color-secondary-content: #11171c;
|
|
80
|
+
--greese-color-tertiary: #d3c7be;
|
|
81
|
+
--greese-color-tertiary-strong: color-mix(in oklab, var(--greese-color-tertiary) 70%, #fff);
|
|
82
|
+
--greese-color-tertiary-content: #11171c;
|
|
83
|
+
--greese-color-accent: #ff8b7f;
|
|
84
|
+
--greese-color-accent-strong: color-mix(in oklab, var(--greese-color-accent) 70%, #fff);
|
|
85
|
+
--greese-color-accent-content: #11171c;
|
|
86
|
+
}
|
|
87
|
+
}
|
package/themes/mono.scss
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mono: near-black (near-white in dark mode) and grays, with taupe and a single red accent, on gray neutrals.
|
|
3
|
+
*
|
|
4
|
+
* A greese ui color theme (ADR 0025): the brand colors and the neutrals
|
|
5
|
+
* (canvas, surfaces, text, borders) in both schemes, in @layer greese.theme;
|
|
6
|
+
* content and strong shades are derived for contrast (WCAG AA). It sets no
|
|
7
|
+
* shapes and no motion, so it goes with any shape or motion theme.
|
|
8
|
+
* Compile it with Sass's package importer, after greese ui's
|
|
9
|
+
* styles, or use the compiled mono.css.
|
|
10
|
+
*
|
|
11
|
+
* Generated from apps/site/src/studio/presets.ts (npm run themes -w site).
|
|
12
|
+
*/
|
|
13
|
+
// Generated by greese ui Theme Studio from greese-theme.json. Edit it there, or in
|
|
14
|
+
// the studio (npm run studio); changes made here are overwritten.
|
|
15
|
+
@use 'pkg:@greese/ui/scss/kit' as greese;
|
|
16
|
+
|
|
17
|
+
@include greese.tokens((
|
|
18
|
+
color: (
|
|
19
|
+
primary: (light: "silver-900", dark: "silver-100"),
|
|
20
|
+
secondary: (light: "silver-600", dark: "silver-400"),
|
|
21
|
+
tertiary: (light: "taupe-700", dark: "taupe-300"),
|
|
22
|
+
accent: (light: "red-600", dark: "red-400"),
|
|
23
|
+
canvas: (light: "gray-50", dark: "gray-999"),
|
|
24
|
+
surface: (light: "gray-100", dark: "gray-900"),
|
|
25
|
+
surface-overlay: (light: "#ffffff", dark: "gray-800"),
|
|
26
|
+
fg: (light: "gray-999", dark: "gray-100"),
|
|
27
|
+
fg-muted: (light: "gray-700", dark: "gray-300"),
|
|
28
|
+
border: (light: "gray-200", dark: "gray-800"),
|
|
29
|
+
border-strong: (light: "gray-400", dark: "gray-700"),
|
|
30
|
+
track: (light: "gray-200", dark: "gray-600"),
|
|
31
|
+
),
|
|
32
|
+
));
|
package/themes/ocean.css
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ocean: a deep azure primary with royal blue, turquoise and a gold accent, on neutrals tinted azure.
|
|
3
|
+
*
|
|
4
|
+
* A greese ui color theme (ADR 0025): the brand colors and the neutrals
|
|
5
|
+
* (canvas, surfaces, text, borders) in both schemes, in @layer greese.theme;
|
|
6
|
+
* content and strong shades are derived for contrast (WCAG AA). It sets no
|
|
7
|
+
* shapes and no motion, so it goes with any shape or motion theme.
|
|
8
|
+
* Load it after greese ui's styles:
|
|
9
|
+
*
|
|
10
|
+
* import '@greese/ui/themes/ocean.css'
|
|
11
|
+
*
|
|
12
|
+
* Generated from apps/site/src/studio/presets.ts (npm run themes -w site).
|
|
13
|
+
*/
|
|
14
|
+
@layer greese.reset, greese.tokens, greese.theme, greese.base, greese.components, greese.overrides, greese.utilities;
|
|
15
|
+
@layer greese.theme {
|
|
16
|
+
:root,
|
|
17
|
+
[data-greese-scheme=light],
|
|
18
|
+
[data-greese-scheme=system] {
|
|
19
|
+
--greese-color-canvas: #eef9ff;
|
|
20
|
+
--greese-color-surface: #daf1ff;
|
|
21
|
+
--greese-color-surface-overlay: #ffffff;
|
|
22
|
+
--greese-color-fg: #001927;
|
|
23
|
+
--greese-color-fg-muted: #00668f;
|
|
24
|
+
--greese-color-border: #bde6ff;
|
|
25
|
+
--greese-color-border-strong: #5ac0f7;
|
|
26
|
+
--greese-color-track: #bde6ff;
|
|
27
|
+
--greese-color-primary: #00668f;
|
|
28
|
+
--greese-color-primary-strong: color-mix(in oklab, var(--greese-color-primary) 80%, #000);
|
|
29
|
+
--greese-color-primary-content: #ffffff;
|
|
30
|
+
--greese-color-secondary: #5963e5;
|
|
31
|
+
--greese-color-secondary-strong: color-mix(in oklab, var(--greese-color-secondary) 80%, #000);
|
|
32
|
+
--greese-color-secondary-content: #ffffff;
|
|
33
|
+
--greese-color-tertiary: #007069;
|
|
34
|
+
--greese-color-tertiary-strong: color-mix(in oklab, var(--greese-color-tertiary) 80%, #000);
|
|
35
|
+
--greese-color-tertiary-content: #ffffff;
|
|
36
|
+
--greese-color-accent: #df9c00;
|
|
37
|
+
--greese-color-accent-strong: color-mix(in oklab, var(--greese-color-accent) 80%, #000);
|
|
38
|
+
--greese-color-accent-content: #11171c;
|
|
39
|
+
}
|
|
40
|
+
@media (prefers-color-scheme: dark) {
|
|
41
|
+
:root:not([data-greese-scheme=light]),
|
|
42
|
+
[data-greese-scheme=system] {
|
|
43
|
+
--greese-color-canvas: #001927;
|
|
44
|
+
--greese-color-surface: #003750;
|
|
45
|
+
--greese-color-surface-overlay: #004d6e;
|
|
46
|
+
--greese-color-fg: #daf1ff;
|
|
47
|
+
--greese-color-fg-muted: #91d6ff;
|
|
48
|
+
--greese-color-border: #004d6e;
|
|
49
|
+
--greese-color-border-strong: #00668f;
|
|
50
|
+
--greese-color-track: #0082b6;
|
|
51
|
+
--greese-color-primary: #5ac0f7;
|
|
52
|
+
--greese-color-primary-strong: color-mix(in oklab, var(--greese-color-primary) 70%, #fff);
|
|
53
|
+
--greese-color-primary-content: #11171c;
|
|
54
|
+
--greese-color-secondary: #9aaaff;
|
|
55
|
+
--greese-color-secondary-strong: color-mix(in oklab, var(--greese-color-secondary) 70%, #fff);
|
|
56
|
+
--greese-color-secondary-content: #11171c;
|
|
57
|
+
--greese-color-tertiary: #5dcec5;
|
|
58
|
+
--greese-color-tertiary-strong: color-mix(in oklab, var(--greese-color-tertiary) 70%, #fff);
|
|
59
|
+
--greese-color-tertiary-content: #11171c;
|
|
60
|
+
--greese-color-accent: #ffd593;
|
|
61
|
+
--greese-color-accent-strong: color-mix(in oklab, var(--greese-color-accent) 70%, #fff);
|
|
62
|
+
--greese-color-accent-content: #11171c;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
[data-greese-scheme=dark] {
|
|
66
|
+
--greese-color-canvas: #001927;
|
|
67
|
+
--greese-color-surface: #003750;
|
|
68
|
+
--greese-color-surface-overlay: #004d6e;
|
|
69
|
+
--greese-color-fg: #daf1ff;
|
|
70
|
+
--greese-color-fg-muted: #91d6ff;
|
|
71
|
+
--greese-color-border: #004d6e;
|
|
72
|
+
--greese-color-border-strong: #00668f;
|
|
73
|
+
--greese-color-track: #0082b6;
|
|
74
|
+
--greese-color-primary: #5ac0f7;
|
|
75
|
+
--greese-color-primary-strong: color-mix(in oklab, var(--greese-color-primary) 70%, #fff);
|
|
76
|
+
--greese-color-primary-content: #11171c;
|
|
77
|
+
--greese-color-secondary: #9aaaff;
|
|
78
|
+
--greese-color-secondary-strong: color-mix(in oklab, var(--greese-color-secondary) 70%, #fff);
|
|
79
|
+
--greese-color-secondary-content: #11171c;
|
|
80
|
+
--greese-color-tertiary: #5dcec5;
|
|
81
|
+
--greese-color-tertiary-strong: color-mix(in oklab, var(--greese-color-tertiary) 70%, #fff);
|
|
82
|
+
--greese-color-tertiary-content: #11171c;
|
|
83
|
+
--greese-color-accent: #ffd593;
|
|
84
|
+
--greese-color-accent-strong: color-mix(in oklab, var(--greese-color-accent) 70%, #fff);
|
|
85
|
+
--greese-color-accent-content: #11171c;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ocean: a deep azure primary with royal blue, turquoise and a gold accent, on neutrals tinted azure.
|
|
3
|
+
*
|
|
4
|
+
* A greese ui color theme (ADR 0025): the brand colors and the neutrals
|
|
5
|
+
* (canvas, surfaces, text, borders) in both schemes, in @layer greese.theme;
|
|
6
|
+
* content and strong shades are derived for contrast (WCAG AA). It sets no
|
|
7
|
+
* shapes and no motion, so it goes with any shape or motion theme.
|
|
8
|
+
* Compile it with Sass's package importer, after greese ui's
|
|
9
|
+
* styles, or use the compiled ocean.css.
|
|
10
|
+
*
|
|
11
|
+
* Generated from apps/site/src/studio/presets.ts (npm run themes -w site).
|
|
12
|
+
*/
|
|
13
|
+
// Generated by greese ui Theme Studio from greese-theme.json. Edit it there, or in
|
|
14
|
+
// the studio (npm run studio); changes made here are overwritten.
|
|
15
|
+
@use 'pkg:@greese/ui/scss/kit' as greese;
|
|
16
|
+
|
|
17
|
+
@include greese.tokens((
|
|
18
|
+
color: (
|
|
19
|
+
primary: (light: "azure-700", dark: "azure-400"),
|
|
20
|
+
secondary: (light: "royal-600", dark: "royal-400"),
|
|
21
|
+
tertiary: (light: "turquoise-700", dark: "turquoise-400"),
|
|
22
|
+
accent: (light: "gold-500", dark: "gold-300"),
|
|
23
|
+
canvas: (light: "azure-50", dark: "azure-999"),
|
|
24
|
+
surface: (light: "azure-100", dark: "azure-900"),
|
|
25
|
+
surface-overlay: (light: "#ffffff", dark: "azure-800"),
|
|
26
|
+
fg: (light: "azure-999", dark: "azure-100"),
|
|
27
|
+
fg-muted: (light: "azure-700", dark: "azure-300"),
|
|
28
|
+
border: (light: "azure-200", dark: "azure-800"),
|
|
29
|
+
border-strong: (light: "azure-400", dark: "azure-700"),
|
|
30
|
+
track: (light: "azure-200", dark: "azure-600"),
|
|
31
|
+
),
|
|
32
|
+
));
|