@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
package/themes/candy.css
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Candy: a pink primary with azure, lavender and a yellow accent, on neutrals tinted pink.
|
|
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/candy.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: #fff3f7;
|
|
20
|
+
--greese-color-surface: #ffe5ee;
|
|
21
|
+
--greese-color-surface-overlay: #ffffff;
|
|
22
|
+
--greese-color-fg: #2d0318;
|
|
23
|
+
--greese-color-fg-muted: #9c2661;
|
|
24
|
+
--greese-color-border: #ffcfe0;
|
|
25
|
+
--greese-color-border-strong: #ff81b6;
|
|
26
|
+
--greese-color-track: #ffcfe0;
|
|
27
|
+
--greese-color-primary: #c13b7b;
|
|
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: #00668f;
|
|
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: #9d79f6;
|
|
34
|
+
--greese-color-tertiary-strong: color-mix(in oklab, var(--greese-color-tertiary) 80%, #000);
|
|
35
|
+
--greese-color-tertiary-content: #11171c;
|
|
36
|
+
--greese-color-accent: #f4d90b;
|
|
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: #2d0318;
|
|
44
|
+
--greese-color-surface: #581235;
|
|
45
|
+
--greese-color-surface-overlay: #7a1a4a;
|
|
46
|
+
--greese-color-fg: #ffe5ee;
|
|
47
|
+
--greese-color-fg-muted: #ffaecd;
|
|
48
|
+
--greese-color-border: #7a1a4a;
|
|
49
|
+
--greese-color-border-strong: #9c2661;
|
|
50
|
+
--greese-color-track: #c13b7b;
|
|
51
|
+
--greese-color-primary: #ff81b6;
|
|
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: #5ac0f7;
|
|
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: #cdbfff;
|
|
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: #fbe136;
|
|
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: #2d0318;
|
|
67
|
+
--greese-color-surface: #581235;
|
|
68
|
+
--greese-color-surface-overlay: #7a1a4a;
|
|
69
|
+
--greese-color-fg: #ffe5ee;
|
|
70
|
+
--greese-color-fg-muted: #ffaecd;
|
|
71
|
+
--greese-color-border: #7a1a4a;
|
|
72
|
+
--greese-color-border-strong: #9c2661;
|
|
73
|
+
--greese-color-track: #c13b7b;
|
|
74
|
+
--greese-color-primary: #ff81b6;
|
|
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: #5ac0f7;
|
|
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: #cdbfff;
|
|
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: #fbe136;
|
|
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
|
+
* Candy: a pink primary with azure, lavender and a yellow accent, on neutrals tinted pink.
|
|
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 candy.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: "pink-600", dark: "pink-400"),
|
|
20
|
+
secondary: (light: "azure-700", dark: "azure-400"),
|
|
21
|
+
tertiary: (light: "lavender-500", dark: "lavender-300"),
|
|
22
|
+
accent: (light: "yellow-400", dark: "yellow-300"),
|
|
23
|
+
canvas: (light: "pink-50", dark: "pink-999"),
|
|
24
|
+
surface: (light: "pink-100", dark: "pink-900"),
|
|
25
|
+
surface-overlay: (light: "#ffffff", dark: "pink-800"),
|
|
26
|
+
fg: (light: "pink-999", dark: "pink-100"),
|
|
27
|
+
fg-muted: (light: "pink-700", dark: "pink-300"),
|
|
28
|
+
border: (light: "pink-200", dark: "pink-800"),
|
|
29
|
+
border-strong: (light: "pink-400", dark: "pink-700"),
|
|
30
|
+
track: (light: "pink-200", dark: "pink-600"),
|
|
31
|
+
),
|
|
32
|
+
));
|
package/themes/depth.css
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Depth: things turn into place in three dimensions. Reveals, panels, table rows and toasts flip up into place, menus swing down from their top edge like a sign and back up, tooltips flip up and back, and dialogs rise out of the page from behind it and sink back in. Pages are the two faces of a panel that turns half over, the whole page at once: one way going forward and the other going back.
|
|
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/depth.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.6s;
|
|
18
|
+
--greese-motion-distance: 1rem;
|
|
19
|
+
--greese-motion-stagger: 0.06s;
|
|
20
|
+
--greese-motion-theme: greese-flip-up;
|
|
21
|
+
--greese-motion-content: greese-flip-up;
|
|
22
|
+
--greese-motion-rows: greese-flip-up;
|
|
23
|
+
--greese-motion-toast: greese-flip-up;
|
|
24
|
+
--greese-motion-dialog: greese-depth-in;
|
|
25
|
+
--greese-motion-dialog-exit-translate: 0px 0px;
|
|
26
|
+
--greese-motion-dialog-exit-scale: 1;
|
|
27
|
+
--greese-motion-dialog-exit-opacity: 0;
|
|
28
|
+
--greese-motion-dialog-exit-mask-image: none;
|
|
29
|
+
--greese-motion-dialog-exit-transform: perspective(800px) translateZ(-240px);
|
|
30
|
+
--greese-motion-popover: greese-swing-in;
|
|
31
|
+
--greese-motion-popover-exit-translate: 0px 0px;
|
|
32
|
+
--greese-motion-popover-exit-scale: 1;
|
|
33
|
+
--greese-motion-popover-exit-opacity: 0;
|
|
34
|
+
--greese-motion-popover-exit-mask-image: none;
|
|
35
|
+
--greese-motion-popover-exit-transform: perspective(800px) rotateX(-80deg);
|
|
36
|
+
--greese-motion-popover-exit-transform-origin: 50% 0%;
|
|
37
|
+
--greese-motion-tooltip: greese-flip-up;
|
|
38
|
+
--greese-motion-tooltip-exit-translate: 0px 0px;
|
|
39
|
+
--greese-motion-tooltip-exit-scale: 1;
|
|
40
|
+
--greese-motion-tooltip-exit-opacity: 0;
|
|
41
|
+
--greese-motion-tooltip-exit-mask-image: none;
|
|
42
|
+
--greese-motion-tooltip-exit-transform: perspective(800px) rotateX(75deg);
|
|
43
|
+
--greese-motion-content-duration: var(--greese-duration-slow);
|
|
44
|
+
--greese-motion-rows-duration: var(--greese-duration-slow);
|
|
45
|
+
--greese-motion-overlay-duration: var(--greese-duration-normal);
|
|
46
|
+
--greese-motion-toast-duration: var(--greese-duration-slow);
|
|
47
|
+
--greese-motion-exit-duration: var(--greese-duration-normal);
|
|
48
|
+
--greese-motion-enter-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
|
|
49
|
+
--greese-motion-exit-ease: var(--greese-easing-exit);
|
|
50
|
+
--greese-motion-page: greese-flip-over-right;
|
|
51
|
+
--greese-motion-page-exit: greese-flip-over-out-left;
|
|
52
|
+
--greese-motion-page-back: greese-flip-over-left;
|
|
53
|
+
--greese-motion-page-back-exit: greese-flip-over-out-right;
|
|
54
|
+
--greese-motion-page-mode: snapshot;
|
|
55
|
+
--greese-motion-page-duration: 0.8s;
|
|
56
|
+
--greese-motion-page-ease: cubic-bezier(0.65, 0, 0.35, 1);
|
|
57
|
+
--greese-motion-page-stagger: 0.06s;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
@layer greese.utilities {
|
|
61
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
62
|
+
@keyframes greese-flip-up {
|
|
63
|
+
from {
|
|
64
|
+
opacity: 0;
|
|
65
|
+
transform: perspective(800px) rotateX(75deg);
|
|
66
|
+
}
|
|
67
|
+
50% {
|
|
68
|
+
opacity: 1;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
@keyframes greese-depth-in {
|
|
72
|
+
from {
|
|
73
|
+
opacity: 0;
|
|
74
|
+
transform: perspective(800px) translateZ(-240px);
|
|
75
|
+
}
|
|
76
|
+
60% {
|
|
77
|
+
opacity: 1;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
@keyframes greese-swing-in {
|
|
81
|
+
from {
|
|
82
|
+
opacity: 0;
|
|
83
|
+
transform: perspective(800px) rotateX(-80deg);
|
|
84
|
+
transform-origin: 50% 0%;
|
|
85
|
+
}
|
|
86
|
+
50% {
|
|
87
|
+
opacity: 1;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
@keyframes greese-flip-over-right {
|
|
91
|
+
from {
|
|
92
|
+
transform: perspective(2000px) rotateY(-180deg);
|
|
93
|
+
backface-visibility: hidden;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
@keyframes greese-flip-over-out-left {
|
|
97
|
+
from {
|
|
98
|
+
transform: perspective(2000px) rotateY(0deg);
|
|
99
|
+
backface-visibility: hidden;
|
|
100
|
+
}
|
|
101
|
+
to {
|
|
102
|
+
transform: perspective(2000px) rotateY(180deg);
|
|
103
|
+
backface-visibility: hidden;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
@keyframes greese-flip-over-left {
|
|
107
|
+
from {
|
|
108
|
+
transform: perspective(2000px) rotateY(180deg);
|
|
109
|
+
backface-visibility: hidden;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
@keyframes greese-flip-over-out-right {
|
|
113
|
+
from {
|
|
114
|
+
transform: perspective(2000px) rotateY(0deg);
|
|
115
|
+
backface-visibility: hidden;
|
|
116
|
+
}
|
|
117
|
+
to {
|
|
118
|
+
transform: perspective(2000px) rotateY(-180deg);
|
|
119
|
+
backface-visibility: hidden;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Depth: things turn into place in three dimensions. Reveals, panels, table rows and toasts flip up into place, menus swing down from their top edge like a sign and back up, tooltips flip up and back, and dialogs rise out of the page from behind it and sink back in. Pages are the two faces of a panel that turns half over, the whole page at once: one way going forward and the other going back.
|
|
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 depth.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.6s",
|
|
19
|
+
distance: "1rem",
|
|
20
|
+
stagger: "0.06s",
|
|
21
|
+
theme: "flip-up",
|
|
22
|
+
content: "flip-up",
|
|
23
|
+
rows: "flip-up",
|
|
24
|
+
toast: "flip-up",
|
|
25
|
+
dialog: "depth-in",
|
|
26
|
+
dialog-exit: "depth-out",
|
|
27
|
+
popover: "swing-in",
|
|
28
|
+
popover-exit: "swing-out",
|
|
29
|
+
tooltip: "flip-up",
|
|
30
|
+
tooltip-exit: "flip-out-up",
|
|
31
|
+
content-duration: "slow",
|
|
32
|
+
rows-duration: "slow",
|
|
33
|
+
overlay-duration: "normal",
|
|
34
|
+
toast-duration: "slow",
|
|
35
|
+
exit-duration: "normal",
|
|
36
|
+
enter-ease: "cubic-bezier(0.2, 0.8, 0.2, 1)",
|
|
37
|
+
exit-ease: "exit",
|
|
38
|
+
page: "flip-over-right",
|
|
39
|
+
page-exit: "flip-over-out-left",
|
|
40
|
+
page-back: "flip-over-left",
|
|
41
|
+
page-back-exit: "flip-over-out-right",
|
|
42
|
+
page-mode: "snapshot",
|
|
43
|
+
page-duration: "0.8s",
|
|
44
|
+
page-ease: "cubic-bezier(0.65, 0, 0.35, 1)",
|
|
45
|
+
page-stagger: "0.06s",
|
|
46
|
+
));
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extrude: solid, like keycaps. Buttons, chips, badges, keys, avatars, collapsible headers and the chosen segment stand out of the page on a thick lower edge and sink into it when pressed; tabs stand up on a thick top edge and the current one is pressed in; cards, tiles and alerts are blocks with a deep lower edge, an alert’s in its tone; fields, code boxes, tracks and the segmented control are pressed into the page, and a progress bar’s fill stands up out of its track. All of it drawn inside each box, so it survives every motion theme’s masks.
|
|
3
|
+
*
|
|
4
|
+
* A greese ui shape theme (ADR 0025): radii, and components outlined with one
|
|
5
|
+
* clip and one border ring each (ADR 0024), in @layer greese.overrides. It
|
|
6
|
+
* sets no colors and no motion, so it goes with any color or motion theme.
|
|
7
|
+
* Load it after greese ui's styles:
|
|
8
|
+
*
|
|
9
|
+
* import '@greese/ui/themes/extrude.css'
|
|
10
|
+
*
|
|
11
|
+
* Generated from apps/site/src/studio/shapes.ts (npm run themes -w site).
|
|
12
|
+
*/
|
|
13
|
+
@layer greese.reset, greese.tokens, greese.theme, greese.base, greese.components, greese.overrides, greese.utilities;
|
|
14
|
+
@layer greese.theme {
|
|
15
|
+
:root {
|
|
16
|
+
--greese-corner-control: var(--greese-radius-md);
|
|
17
|
+
--greese-corner-field: var(--greese-radius-sm);
|
|
18
|
+
--greese-corner-surface: var(--greese-radius-md);
|
|
19
|
+
--greese-corner-panel: var(--greese-radius-md);
|
|
20
|
+
--greese-corner-inset: var(--greese-radius-sm);
|
|
21
|
+
--greese-corner-pill: var(--greese-radius-pill);
|
|
22
|
+
--greese-corner-round: var(--greese-radius-round);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
@layer greese.overrides {
|
|
26
|
+
.greese-Accordion {
|
|
27
|
+
display: grid;
|
|
28
|
+
gap: var(--greese-space-2);
|
|
29
|
+
border-block-start: 0;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
@layer greese.overrides {
|
|
33
|
+
.greese-AccordionItem {
|
|
34
|
+
border-block-end: 0;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
@layer greese.overrides {
|
|
38
|
+
.greese-Alert {
|
|
39
|
+
box-shadow: inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 -0.25rem 0 0 color-mix(in oklab, var(--greese-alert-tone) 40%, transparent);
|
|
40
|
+
padding-block-end: calc(var(--greese-space-3) + 0.25rem);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
@layer greese.overrides {
|
|
44
|
+
.greese-Avatar {
|
|
45
|
+
border-radius: var(--greese-radius-md);
|
|
46
|
+
box-shadow: inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 -0.1875rem 0 0 color-mix(in oklab, black 24%, transparent);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
@layer greese.overrides {
|
|
50
|
+
.greese-Badge {
|
|
51
|
+
box-shadow: inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 -0.125rem 0 0 color-mix(in oklab, black 24%, transparent);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
@layer greese.overrides {
|
|
55
|
+
.greese-Button:not(.greese-Button--ghost) {
|
|
56
|
+
box-shadow: inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 -0.25rem 0 0 color-mix(in oklab, black 24%, transparent);
|
|
57
|
+
}
|
|
58
|
+
.greese-Button:not(.greese-Button--ghost):active:not(:disabled, [aria-disabled=true]) {
|
|
59
|
+
box-shadow: inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 -0.0625rem 0 0 color-mix(in oklab, black 24%, transparent);
|
|
60
|
+
}
|
|
61
|
+
@supports (color: color(from red srgb-linear calc(r * 1) g b/calc(alpha * 1))) {
|
|
62
|
+
.greese-Button:not(.greese-Button--ghost) {
|
|
63
|
+
--greese-button-edge: color(from var(--greese-button-bg) srgb-linear calc(clamp(0, (alpha - 0.98) * 100, 1) * (clamp(0, (((0.2126 * r + 0.7152 * g + 0.0722 * b) + 0.05) / 3.1 - 0.05) * 1000000, 1) * r * max(0, (((0.2126 * r + 0.7152 * g + 0.0722 * b) + 0.05) / 3.1 - 0.05)) / max(0.0001, (0.2126 * r + 0.7152 * g + 0.0722 * b)) + (1 - clamp(0, (((0.2126 * r + 0.7152 * g + 0.0722 * b) + 0.05) / 3.1 - 0.05) * 1000000, 1)) * (r + (1 - r) * (min(1, 3.1 * ((0.2126 * r + 0.7152 * g + 0.0722 * b) + 0.05) - 0.05) - (0.2126 * r + 0.7152 * g + 0.0722 * b)) / max(0.0001, 1 - (0.2126 * r + 0.7152 * g + 0.0722 * b))))) calc(clamp(0, (alpha - 0.98) * 100, 1) * (clamp(0, (((0.2126 * r + 0.7152 * g + 0.0722 * b) + 0.05) / 3.1 - 0.05) * 1000000, 1) * g * max(0, (((0.2126 * r + 0.7152 * g + 0.0722 * b) + 0.05) / 3.1 - 0.05)) / max(0.0001, (0.2126 * r + 0.7152 * g + 0.0722 * b)) + (1 - clamp(0, (((0.2126 * r + 0.7152 * g + 0.0722 * b) + 0.05) / 3.1 - 0.05) * 1000000, 1)) * (g + (1 - g) * (min(1, 3.1 * ((0.2126 * r + 0.7152 * g + 0.0722 * b) + 0.05) - 0.05) - (0.2126 * r + 0.7152 * g + 0.0722 * b)) / max(0.0001, 1 - (0.2126 * r + 0.7152 * g + 0.0722 * b))))) calc(clamp(0, (alpha - 0.98) * 100, 1) * (clamp(0, (((0.2126 * r + 0.7152 * g + 0.0722 * b) + 0.05) / 3.1 - 0.05) * 1000000, 1) * b * max(0, (((0.2126 * r + 0.7152 * g + 0.0722 * b) + 0.05) / 3.1 - 0.05)) / max(0.0001, (0.2126 * r + 0.7152 * g + 0.0722 * b)) + (1 - clamp(0, (((0.2126 * r + 0.7152 * g + 0.0722 * b) + 0.05) / 3.1 - 0.05) * 1000000, 1)) * (b + (1 - b) * (min(1, 3.1 * ((0.2126 * r + 0.7152 * g + 0.0722 * b) + 0.05) - 0.05) - (0.2126 * r + 0.7152 * g + 0.0722 * b)) / max(0.0001, 1 - (0.2126 * r + 0.7152 * g + 0.0722 * b))))) / calc(0.24 + clamp(0, (alpha - 0.98) * 100, 1) * 0.76));
|
|
64
|
+
box-shadow: inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 -0.25rem 0 0 var(--greese-button-edge);
|
|
65
|
+
}
|
|
66
|
+
.greese-Button:not(.greese-Button--ghost):active:not(:disabled, [aria-disabled=true]) {
|
|
67
|
+
box-shadow: inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 -0.0625rem 0 0 var(--greese-button-edge);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
71
|
+
.greese-Button {
|
|
72
|
+
transition: transform var(--greese-duration-fast) var(--greese-easing-standard), box-shadow var(--greese-duration-fast) var(--greese-easing-standard), background-color var(--greese-duration-fast) var(--greese-easing-standard), border-color var(--greese-duration-fast) var(--greese-easing-standard), color var(--greese-duration-fast) var(--greese-easing-standard);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
.greese-Button:active:not(:disabled, [aria-disabled=true]) {
|
|
76
|
+
transform: translateY(0.1875rem);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
@layer greese.overrides {
|
|
80
|
+
.greese-Card {
|
|
81
|
+
box-shadow: inset 0 0 0 1px var(--greese-color-border), inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 -0.375rem 0 0 color-mix(in oklab, black 24%, transparent);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
@layer greese.overrides {
|
|
85
|
+
.greese-Chip {
|
|
86
|
+
box-shadow: inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 -0.1875rem 0 0 color-mix(in oklab, black 24%, transparent);
|
|
87
|
+
}
|
|
88
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
89
|
+
.greese-Chip {
|
|
90
|
+
transition: transform var(--greese-duration-fast) var(--greese-easing-standard), box-shadow var(--greese-duration-fast) var(--greese-easing-standard), background-color var(--greese-duration-fast) var(--greese-easing-standard), border-color var(--greese-duration-fast) var(--greese-easing-standard), color var(--greese-duration-fast) var(--greese-easing-standard);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
.greese-Chip:active:not(:disabled, [aria-disabled=true]) {
|
|
94
|
+
transform: translateY(0.125rem);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
@layer greese.overrides {
|
|
98
|
+
.greese-Collapsible > .greese-Collapsible-trigger {
|
|
99
|
+
padding-inline: var(--greese-space-4);
|
|
100
|
+
background-color: var(--greese-color-surface);
|
|
101
|
+
border: 1px solid var(--greese-collapsible-border, var(--greese-color-border));
|
|
102
|
+
border-radius: var(--greese-corner-control);
|
|
103
|
+
}
|
|
104
|
+
@media (hover: hover) {
|
|
105
|
+
.greese-Collapsible > .greese-Collapsible-trigger:hover {
|
|
106
|
+
background-color: color-mix(in oklab, var(--greese-color-fg) 5%, var(--greese-color-surface));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
.greese-Collapsible[open] > .greese-Collapsible-trigger {
|
|
110
|
+
margin-block-end: var(--greese-space-2);
|
|
111
|
+
}
|
|
112
|
+
.greese-Collapsible > .greese-Collapsible-content {
|
|
113
|
+
padding-inline: var(--greese-space-4);
|
|
114
|
+
}
|
|
115
|
+
.greese-Collapsible > .greese-Collapsible-trigger {
|
|
116
|
+
border-color: transparent;
|
|
117
|
+
box-shadow: inset 0 0 0 1px var(--greese-color-border), inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 -0.25rem 0 0 color-mix(in oklab, black 24%, transparent);
|
|
118
|
+
}
|
|
119
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
120
|
+
.greese-Collapsible > .greese-Collapsible-trigger {
|
|
121
|
+
transition: transform var(--greese-duration-fast) var(--greese-easing-standard), box-shadow var(--greese-duration-fast) var(--greese-easing-standard), background-color var(--greese-duration-fast) var(--greese-easing-standard), border-color var(--greese-duration-fast) var(--greese-easing-standard), color var(--greese-duration-fast) var(--greese-easing-standard);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
.greese-Collapsible > .greese-Collapsible-trigger:active:not(:disabled, [aria-disabled=true]) {
|
|
125
|
+
transform: translateY(0.1875rem);
|
|
126
|
+
}
|
|
127
|
+
.greese-Collapsible[open] > .greese-Collapsible-trigger {
|
|
128
|
+
box-shadow: inset 0 0 0 1px var(--greese-color-border), inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 -0.0625rem 0 0 color-mix(in oklab, black 24%, transparent);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
@layer greese.overrides {
|
|
132
|
+
.greese-Input {
|
|
133
|
+
box-shadow: inset 0 0.1875rem 0 0 color-mix(in oklab, var(--greese-color-fg) 10%, transparent);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
@layer greese.overrides {
|
|
137
|
+
.greese-Key {
|
|
138
|
+
box-shadow: inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 -0.1875rem 0 0 color-mix(in oklab, black 24%, transparent);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
@layer greese.overrides {
|
|
142
|
+
.greese-OtpField .greese-OtpField-slot {
|
|
143
|
+
box-shadow: inset 0 0.1875rem 0 0 color-mix(in oklab, var(--greese-color-fg) 10%, transparent);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
@layer greese.overrides {
|
|
147
|
+
.greese-Progress {
|
|
148
|
+
box-shadow: inset 0 0.1875rem 0 0 color-mix(in oklab, var(--greese-color-fg) 10%, transparent);
|
|
149
|
+
}
|
|
150
|
+
.greese-Progress::-webkit-progress-value {
|
|
151
|
+
box-shadow: inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 calc(-1 * max(1px, var(--greese-progress-height) / 3)) 0 0 color-mix(in oklab, black 24%, transparent);
|
|
152
|
+
}
|
|
153
|
+
.greese-Progress::-moz-progress-bar {
|
|
154
|
+
box-shadow: inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 calc(-1 * max(1px, var(--greese-progress-height) / 3)) 0 0 color-mix(in oklab, black 24%, transparent);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
@layer greese.overrides {
|
|
158
|
+
.greese-Segment:has(:checked) {
|
|
159
|
+
box-shadow: inset 0 0 0 1.5px var(--greese-segment-current-ring, transparent), inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 -0.1875rem 0 0 color-mix(in oklab, black 24%, transparent);
|
|
160
|
+
}
|
|
161
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
162
|
+
.greese-Segment {
|
|
163
|
+
transition: transform var(--greese-duration-fast) var(--greese-easing-standard), box-shadow var(--greese-duration-fast) var(--greese-easing-standard), background-color var(--greese-duration-fast) var(--greese-easing-standard), border-color var(--greese-duration-fast) var(--greese-easing-standard), color var(--greese-duration-fast) var(--greese-easing-standard);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
.greese-Segment:active:not(:disabled, [aria-disabled=true]) {
|
|
167
|
+
transform: translateY(0.125rem);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
@layer greese.overrides {
|
|
171
|
+
.greese-SegmentedControl .greese-SegmentedControl-track {
|
|
172
|
+
padding: 0.25rem;
|
|
173
|
+
box-shadow: inset 0 0.1875rem 0 0 color-mix(in oklab, var(--greese-color-fg) 10%, transparent);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
@layer greese.overrides {
|
|
177
|
+
.greese-Select {
|
|
178
|
+
box-shadow: inset 0 0.1875rem 0 0 color-mix(in oklab, var(--greese-color-fg) 10%, transparent);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
@layer greese.overrides {
|
|
182
|
+
.greese-SpeedDial .greese-SpeedDial-trigger {
|
|
183
|
+
border-radius: var(--greese-radius-lg);
|
|
184
|
+
}
|
|
185
|
+
.greese-SpeedDial .greese-SpeedDialAction-icon {
|
|
186
|
+
border-radius: var(--greese-radius-md);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
@layer greese.overrides {
|
|
190
|
+
.greese-Tab {
|
|
191
|
+
background-color: var(--greese-color-surface);
|
|
192
|
+
border-radius: var(--greese-corner-control) var(--greese-corner-control) 0 0;
|
|
193
|
+
box-shadow: inset 0 -1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 0.25rem 0 0 color-mix(in oklab, black 22%, transparent);
|
|
194
|
+
padding-block-start: 0.25rem;
|
|
195
|
+
}
|
|
196
|
+
.greese-Tab[aria-selected=true] {
|
|
197
|
+
background-color: var(--greese-tab-current-bg, color-mix(in oklab, var(--greese-color-primary) 12%, var(--greese-color-canvas)));
|
|
198
|
+
box-shadow: inset 0 0 0 1.5px var(--greese-tab-current-ring, transparent), inset 0 -2px 0 var(--greese-color-primary), inset 0 0.1875rem 0 0 color-mix(in oklab, var(--greese-color-fg) 10%, transparent);
|
|
199
|
+
transform: translateY(0.125rem);
|
|
200
|
+
}
|
|
201
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
202
|
+
.greese-Tab {
|
|
203
|
+
transition: transform var(--greese-duration-fast) var(--greese-easing-standard), box-shadow var(--greese-duration-fast) var(--greese-easing-standard), background-color var(--greese-duration-fast) var(--greese-easing-standard), border-color var(--greese-duration-fast) var(--greese-easing-standard), color var(--greese-duration-fast) var(--greese-easing-standard);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
.greese-Tab:active:not(:disabled, [aria-disabled=true]) {
|
|
207
|
+
transform: translateY(0.125rem);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
@layer greese.overrides {
|
|
211
|
+
.greese-Textarea {
|
|
212
|
+
box-shadow: inset 0 0.1875rem 0 0 color-mix(in oklab, var(--greese-color-fg) 10%, transparent);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
@layer greese.overrides {
|
|
216
|
+
.greese-Tile {
|
|
217
|
+
box-shadow: inset 0 0 0 1px var(--greese-color-border), inset 0 1px 0 0 color-mix(in oklab, white 22%, transparent), inset 0 -0.375rem 0 0 color-mix(in oklab, black 24%, transparent);
|
|
218
|
+
}
|
|
219
|
+
}
|