@greese/ui 0.0.0-stage → 1.0.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.
Files changed (274) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +55 -2
  3. package/bin/greese-utilities.mjs +56 -0
  4. package/dist/_layers.scss +2 -0
  5. package/dist/_maps.scss +1884 -0
  6. package/dist/_tokens-base.scss +174 -0
  7. package/dist/_tokens.scss +2140 -0
  8. package/dist/base.css +67 -0
  9. package/dist/colorScheme.d.ts +16 -0
  10. package/dist/colorScheme.js +13 -0
  11. package/dist/contrast.d.ts +15 -0
  12. package/dist/contrast.js +43 -0
  13. package/dist/css/Accordion.css +9 -0
  14. package/dist/css/ActionSelect.css +6 -0
  15. package/dist/css/Alert.css +84 -0
  16. package/dist/css/AppBar.css +35 -0
  17. package/dist/css/AspectRatio.css +40 -0
  18. package/dist/css/AutoLayout.css +508 -0
  19. package/dist/css/Avatar.css +88 -0
  20. package/dist/css/Badge.css +66 -0
  21. package/dist/css/Box.css +640 -0
  22. package/dist/css/Breadcrumbs.css +57 -0
  23. package/dist/css/Button.css +275 -0
  24. package/dist/css/ButtonGroup.css +40 -0
  25. package/dist/css/Card.css +101 -0
  26. package/dist/css/Carousel.css +170 -0
  27. package/dist/css/Center.css +11 -0
  28. package/dist/css/ChatBubble.css +128 -0
  29. package/dist/css/Checkbox.css +65 -0
  30. package/dist/css/Chip.css +124 -0
  31. package/dist/css/ChoiceGroup.css +57 -0
  32. package/dist/css/Code.css +29 -0
  33. package/dist/css/Collapsible.css +126 -0
  34. package/dist/css/ColorPicker.css +191 -0
  35. package/dist/css/Combobox.css +90 -0
  36. package/dist/css/Container.css +30 -0
  37. package/dist/css/Countdown.css +25 -0
  38. package/dist/css/DateField.css +15 -0
  39. package/dist/css/Dialog.css +640 -0
  40. package/dist/css/Diff.css +103 -0
  41. package/dist/css/Divider.css +19 -0
  42. package/dist/css/Dock.css +91 -0
  43. package/dist/css/Field.css +33 -0
  44. package/dist/css/Fieldset.css +54 -0
  45. package/dist/css/FileInput.css +65 -0
  46. package/dist/css/Footer.css +72 -0
  47. package/dist/css/Grid.css +998 -0
  48. package/dist/css/Header.css +89 -0
  49. package/dist/css/Heading.css +6 -0
  50. package/dist/css/Icon.css +12 -0
  51. package/dist/css/IconButton.css +7 -0
  52. package/dist/css/Image.css +69 -0
  53. package/dist/css/Indicator.css +41 -0
  54. package/dist/css/Input.css +115 -0
  55. package/dist/css/Key.css +42 -0
  56. package/dist/css/Link.css +72 -0
  57. package/dist/css/List.css +52 -0
  58. package/dist/css/Media.css +8 -0
  59. package/dist/css/Menu.css +161 -0
  60. package/dist/css/Motion.css +1356 -0
  61. package/dist/css/NumberField.css +49 -0
  62. package/dist/css/OtpField.css +90 -0
  63. package/dist/css/PageTransition.css +979 -0
  64. package/dist/css/Pagination.css +43 -0
  65. package/dist/css/Popover.css +93 -0
  66. package/dist/css/Progress.css +101 -0
  67. package/dist/css/RadialProgress.css +44 -0
  68. package/dist/css/Radio.css +41 -0
  69. package/dist/css/Rating.css +100 -0
  70. package/dist/css/ScrollSpy.css +6 -0
  71. package/dist/css/SegmentedControl.css +101 -0
  72. package/dist/css/Select.css +115 -0
  73. package/dist/css/Sidebar.css +207 -0
  74. package/dist/css/Skeleton.css +48 -0
  75. package/dist/css/Slider.css +75 -0
  76. package/dist/css/Spacer.css +34 -0
  77. package/dist/css/SpeedDial.css +165 -0
  78. package/dist/css/Spinner.css +44 -0
  79. package/dist/css/Stack.css +528 -0
  80. package/dist/css/Stat.css +107 -0
  81. package/dist/css/Status.css +86 -0
  82. package/dist/css/Steps.css +201 -0
  83. package/dist/css/Swap.css +49 -0
  84. package/dist/css/Switch.css +66 -0
  85. package/dist/css/Table.css +269 -0
  86. package/dist/css/Tabs.css +119 -0
  87. package/dist/css/Text.css +60 -0
  88. package/dist/css/TextRotate.css +147 -0
  89. package/dist/css/Textarea.css +107 -0
  90. package/dist/css/ThemeProvider.css +6 -0
  91. package/dist/css/Tile.css +18 -0
  92. package/dist/css/Toast.css +110 -0
  93. package/dist/css/ToggleButton.css +20 -0
  94. package/dist/css/Tooltip.css +94 -0
  95. package/dist/css/Type.css +211 -0
  96. package/dist/css/Visibility.css +78 -0
  97. package/dist/css/VisuallyHidden.css +15 -0
  98. package/dist/css/core.css +251 -0
  99. package/dist/css.d.ts +29 -0
  100. package/dist/css.js +28 -0
  101. package/dist/effect-classes.d.ts +8 -0
  102. package/dist/effect-classes.js +5 -0
  103. package/dist/effects/css.d.ts +71 -0
  104. package/dist/effects/css.js +184 -0
  105. package/dist/effects/definitions.d.ts +555 -0
  106. package/dist/effects/definitions.js +379 -0
  107. package/dist/effects/frames.d.ts +18 -0
  108. package/dist/effects/frames.js +68 -0
  109. package/dist/effects/sequence.d.ts +33 -0
  110. package/dist/effects/sequence.js +106 -0
  111. package/dist/effects.d.ts +30 -0
  112. package/dist/effects.js +30 -0
  113. package/dist/greese.css +11907 -0
  114. package/dist/index.d.ts +10 -0
  115. package/dist/index.js +10 -0
  116. package/dist/kebab.d.ts +2 -0
  117. package/dist/kebab.js +2 -0
  118. package/dist/palette.css +249 -0
  119. package/dist/palette.d.ts +599 -0
  120. package/dist/palette.js +334 -0
  121. package/dist/shapes.d.ts +193 -0
  122. package/dist/shapes.js +852 -0
  123. package/dist/storage.d.ts +47 -0
  124. package/dist/storage.js +118 -0
  125. package/dist/style-manifest.json +3010 -0
  126. package/dist/theme.d.ts +71 -0
  127. package/dist/theme.js +180 -0
  128. package/dist/tokens.css +253 -0
  129. package/dist/tokens.d.ts +343 -0
  130. package/dist/tokens.js +179 -0
  131. package/dist/typography.d.ts +55 -0
  132. package/dist/typography.js +144 -0
  133. package/dist/utilities.css +6975 -0
  134. package/dist/utilities.d.ts +82 -0
  135. package/dist/utilities.js +636 -0
  136. package/dist/utilitiesFiles.d.ts +18 -0
  137. package/dist/utilitiesFiles.js +26 -0
  138. package/dist/vite.d.ts +40 -0
  139. package/dist/vite.js +43 -0
  140. package/package.json +131 -4
  141. package/src/components/Accordion/Accordion.scss +9 -0
  142. package/src/components/ActionSelect/ActionSelect.scss +6 -0
  143. package/src/components/Alert/Alert.scss +71 -0
  144. package/src/components/AppBar/AppBar.scss +43 -0
  145. package/src/components/AspectRatio/AspectRatio.scss +22 -0
  146. package/src/components/AutoLayout/AutoLayout.scss +90 -0
  147. package/src/components/Avatar/Avatar.scss +91 -0
  148. package/src/components/Badge/Badge.scss +52 -0
  149. package/src/components/Box/Box.scss +63 -0
  150. package/src/components/Breadcrumbs/Breadcrumbs.scss +59 -0
  151. package/src/components/Button/Button.scss +231 -0
  152. package/src/components/ButtonGroup/ButtonGroup.scss +56 -0
  153. package/src/components/Card/Card.scss +99 -0
  154. package/src/components/Carousel/Carousel.scss +161 -0
  155. package/src/components/Center/Center.scss +11 -0
  156. package/src/components/ChatBubble/ChatBubble.scss +119 -0
  157. package/src/components/Checkbox/Checkbox.scss +66 -0
  158. package/src/components/Chip/Chip.scss +119 -0
  159. package/src/components/ChoiceGroup/ChoiceGroup.scss +69 -0
  160. package/src/components/Code/Code.scss +28 -0
  161. package/src/components/Collapsible/Collapsible.scss +136 -0
  162. package/src/components/ColorPicker/ColorPicker.scss +235 -0
  163. package/src/components/Combobox/Combobox.scss +83 -0
  164. package/src/components/Container/Container.scss +28 -0
  165. package/src/components/Countdown/Countdown.scss +28 -0
  166. package/src/components/DateField/DateField.scss +19 -0
  167. package/src/components/Dialog/Dialog.scss +268 -0
  168. package/src/components/Diff/Diff.scss +125 -0
  169. package/src/components/Divider/Divider.scss +22 -0
  170. package/src/components/Dock/Dock.scss +86 -0
  171. package/src/components/Field/Field.scss +38 -0
  172. package/src/components/Fieldset/Fieldset.scss +63 -0
  173. package/src/components/FileInput/FileInput.scss +66 -0
  174. package/src/components/Footer/Footer.scss +79 -0
  175. package/src/components/Grid/Grid.scss +86 -0
  176. package/src/components/Header/Header.scss +111 -0
  177. package/src/components/Heading/Heading.scss +7 -0
  178. package/src/components/Icon/Icon.scss +12 -0
  179. package/src/components/IconButton/IconButton.scss +6 -0
  180. package/src/components/Image/Image.scss +46 -0
  181. package/src/components/Indicator/Indicator.scss +48 -0
  182. package/src/components/Input/Input.scss +58 -0
  183. package/src/components/Key/Key.scss +48 -0
  184. package/src/components/Link/Link.scss +50 -0
  185. package/src/components/List/List.scss +62 -0
  186. package/src/components/Media/Media.scss +7 -0
  187. package/src/components/Menu/Menu.scss +91 -0
  188. package/src/components/Motion/Motion.scss +106 -0
  189. package/src/components/NumberField/NumberField.scss +44 -0
  190. package/src/components/OtpField/OtpField.scss +91 -0
  191. package/src/components/PageTransition/PageTransition.scss +168 -0
  192. package/src/components/Pagination/Pagination.scss +55 -0
  193. package/src/components/Popover/Popover.scss +13 -0
  194. package/src/components/Progress/Progress.scss +126 -0
  195. package/src/components/RadialProgress/RadialProgress.scss +65 -0
  196. package/src/components/Radio/Radio.scss +36 -0
  197. package/src/components/Rating/Rating.scss +121 -0
  198. package/src/components/ScrollSpy/ScrollSpy.scss +6 -0
  199. package/src/components/SegmentedControl/SegmentedControl.scss +107 -0
  200. package/src/components/Select/Select.scss +59 -0
  201. package/src/components/Sidebar/Sidebar.scss +88 -0
  202. package/src/components/Skeleton/Skeleton.scss +60 -0
  203. package/src/components/Slider/Slider.scss +96 -0
  204. package/src/components/Spacer/Spacer.scss +15 -0
  205. package/src/components/SpeedDial/SpeedDial.scss +109 -0
  206. package/src/components/Spinner/Spinner.scss +43 -0
  207. package/src/components/Stack/Stack.scss +57 -0
  208. package/src/components/Stat/Stat.scss +96 -0
  209. package/src/components/Status/Status.scss +60 -0
  210. package/src/components/Steps/Steps.scss +216 -0
  211. package/src/components/Swap/Swap.scss +62 -0
  212. package/src/components/Switch/Switch.scss +63 -0
  213. package/src/components/Table/Table.scss +183 -0
  214. package/src/components/Tabs/Tabs.scss +108 -0
  215. package/src/components/Text/Text.scss +34 -0
  216. package/src/components/TextRotate/TextRotate.scss +51 -0
  217. package/src/components/Textarea/Textarea.scss +56 -0
  218. package/src/components/ThemeProvider/ThemeProvider.scss +7 -0
  219. package/src/components/Tile/Tile.scss +23 -0
  220. package/src/components/Toast/Toast.scss +93 -0
  221. package/src/components/ToggleButton/ToggleButton.scss +23 -0
  222. package/src/components/Tooltip/Tooltip.scss +21 -0
  223. package/src/components/Type/Type.scss +35 -0
  224. package/src/components/Visibility/Visibility.scss +39 -0
  225. package/src/components/VisuallyHidden/VisuallyHidden.scss +17 -0
  226. package/src/styles/_breakpoint-vars.scss +16 -0
  227. package/src/styles/_config.scss +48 -0
  228. package/src/styles/_controls.scss +88 -0
  229. package/src/styles/_core.scss +4 -0
  230. package/src/styles/_effect.scss +51 -0
  231. package/src/styles/_floating.scss +141 -0
  232. package/src/styles/_kit.scss +1548 -0
  233. package/src/styles/_manifest.scss +670 -0
  234. package/src/styles/_mixins.scss +261 -0
  235. package/src/styles/_tones.scss +63 -0
  236. package/src/styles/_type-emit.scss +76 -0
  237. package/src/styles/_typography-vars.scss +8 -0
  238. package/src/styles/base.scss +80 -0
  239. package/src/styles/breakpoints.test.ts +73 -0
  240. package/src/styles/entryPoints.test.ts +68 -0
  241. package/src/styles/index.scss +93 -0
  242. package/src/styles/kit.test.ts +754 -0
  243. package/src/styles/public/_controls.scss +3 -0
  244. package/src/styles/public/_floating.scss +3 -0
  245. package/src/styles/public/_mixins.scss +5 -0
  246. package/src/styles/public/_tones.scss +4 -0
  247. package/themes/bevel.css +1077 -0
  248. package/themes/bevel.scss +1166 -0
  249. package/themes/depth.css +123 -0
  250. package/themes/depth.scss +46 -0
  251. package/themes/extrude.css +219 -0
  252. package/themes/extrude.scss +255 -0
  253. package/themes/folio.css +986 -0
  254. package/themes/folio.scss +1047 -0
  255. package/themes/gentle.css +66 -0
  256. package/themes/gentle.scss +39 -0
  257. package/themes/outline.css +127 -0
  258. package/themes/outline.scss +126 -0
  259. package/themes/pebble.css +65 -0
  260. package/themes/pebble.scss +69 -0
  261. package/themes/pocket.css +137 -0
  262. package/themes/pocket.scss +45 -0
  263. package/themes/ridge.css +927 -0
  264. package/themes/ridge.scss +998 -0
  265. package/themes/snappy.css +82 -0
  266. package/themes/snappy.scss +40 -0
  267. package/themes/soft.css +79 -0
  268. package/themes/soft.scss +84 -0
  269. package/themes/ticket.css +960 -0
  270. package/themes/ticket.scss +1031 -0
  271. package/themes/tilt.css +148 -0
  272. package/themes/tilt.scss +169 -0
  273. package/themes/wipe.css +186 -0
  274. package/themes/wipe.scss +46 -0
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Snappy: quick and decisive. Short durations, a sharp curve, a tight stagger; things pop in from a short distance, and overlays scale in and away. Pages pop: the old one pops away all at once and the new one pops in.
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/snappy.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.25s;
18
+ --greese-motion-distance: 0.5rem;
19
+ --greese-motion-stagger: 0.03s;
20
+ --greese-motion-theme: greese-pop-in;
21
+ --greese-motion-content: greese-fade-up;
22
+ --greese-motion-rows: greese-fade-up;
23
+ --greese-motion-toast: greese-pop-in;
24
+ --greese-motion-overlay: greese-scale-in;
25
+ --greese-motion-overlay-exit-translate: 0px 0px;
26
+ --greese-motion-overlay-exit-scale: 0;
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-fast);
31
+ --greese-motion-rows-duration: var(--greese-duration-fast);
32
+ --greese-motion-overlay-duration: var(--greese-duration-fast);
33
+ --greese-motion-toast-duration: var(--greese-duration-fast);
34
+ --greese-motion-exit-duration: var(--greese-duration-fast);
35
+ --greese-motion-enter-ease: cubic-bezier(0, 0, 0, 1);
36
+ --greese-motion-exit-ease: var(--greese-easing-exit);
37
+ --greese-motion-page: greese-pop-in;
38
+ --greese-motion-page-exit: greese-pop-out;
39
+ --greese-motion-page-duration: 0.25s;
40
+ --greese-motion-page-ease: cubic-bezier(0, 0, 0, 1);
41
+ --greese-motion-page-stagger: 0.03s;
42
+ --greese-motion-page-exit-order: together;
43
+ }
44
+ }
45
+ @layer greese.utilities {
46
+ @media (prefers-reduced-motion: no-preference) {
47
+ @keyframes greese-pop-in {
48
+ from {
49
+ scale: 0.8;
50
+ opacity: 0;
51
+ }
52
+ 60% {
53
+ scale: 1.04;
54
+ opacity: 1;
55
+ }
56
+ }
57
+ @keyframes greese-fade-up {
58
+ from {
59
+ translate: 0px var(--greese-motion-distance, 1rem);
60
+ opacity: 0;
61
+ }
62
+ }
63
+ @keyframes greese-scale-in {
64
+ from {
65
+ scale: 0;
66
+ }
67
+ }
68
+ @keyframes greese-pop-out {
69
+ from {
70
+ scale: 1;
71
+ }
72
+ 40% {
73
+ scale: 1.04;
74
+ opacity: 1;
75
+ }
76
+ to {
77
+ scale: 0.8;
78
+ opacity: 0;
79
+ }
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Snappy: quick and decisive. Short durations, a sharp curve, a tight stagger; things pop in from a short distance, and overlays scale in and away. Pages pop: the old one pops away all at once and the new one pops in.
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 snappy.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.25s",
19
+ distance: "0.5rem",
20
+ stagger: "0.03s",
21
+ theme: "pop-in",
22
+ content: "fade-up",
23
+ rows: "fade-up",
24
+ toast: "pop-in",
25
+ overlay: "scale-in",
26
+ overlay-exit: "scale-out",
27
+ content-duration: "fast",
28
+ rows-duration: "fast",
29
+ overlay-duration: "fast",
30
+ toast-duration: "fast",
31
+ exit-duration: "fast",
32
+ enter-ease: "cubic-bezier(0, 0, 0, 1)",
33
+ exit-ease: "exit",
34
+ page: "pop-in",
35
+ page-exit: "pop-out",
36
+ page-duration: "0.25s",
37
+ page-ease: "cubic-bezier(0, 0, 0, 1)",
38
+ page-stagger: "0.03s",
39
+ page-exit-order: "together",
40
+ ));
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Soft: every corner rounded, a step rounder than the library. Controls and fields take the large radius, containers the extra-large one, accordion items are rounded panels and the off-canvas sidebar rounds its inner edge.
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/soft.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-lg);
17
+ --greese-corner-field: var(--greese-radius-lg);
18
+ --greese-corner-surface: var(--greese-radius-xl);
19
+ --greese-corner-panel: var(--greese-radius-lg);
20
+ --greese-corner-inset: var(--greese-radius-md);
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
+ .greese-AccordionItem > .greese-Collapsible-content {
37
+ padding-block-start: var(--greese-space-3);
38
+ border: 1px solid var(--greese-color-border);
39
+ border-radius: var(--greese-corner-panel);
40
+ }
41
+ }
42
+ @layer greese.overrides {
43
+ .greese-Avatar {
44
+ border-radius: var(--greese-radius-lg);
45
+ }
46
+ }
47
+ @layer greese.overrides {
48
+ .greese-Collapsible > .greese-Collapsible-trigger {
49
+ padding-inline: var(--greese-space-4);
50
+ background-color: var(--greese-color-surface);
51
+ border: 1px solid var(--greese-collapsible-border, var(--greese-color-border));
52
+ border-radius: var(--greese-corner-control);
53
+ }
54
+ @media (hover: hover) {
55
+ .greese-Collapsible > .greese-Collapsible-trigger:hover {
56
+ background-color: color-mix(in oklab, var(--greese-color-fg) 5%, var(--greese-color-surface));
57
+ }
58
+ }
59
+ .greese-Collapsible[open] > .greese-Collapsible-trigger {
60
+ margin-block-end: var(--greese-space-2);
61
+ }
62
+ .greese-Collapsible > .greese-Collapsible-content {
63
+ padding-inline: var(--greese-space-4);
64
+ }
65
+ }
66
+ @layer greese.overrides {
67
+ .greese-Sidebar {
68
+ border-start-end-radius: var(--greese-corner-surface);
69
+ border-end-end-radius: var(--greese-corner-surface);
70
+ }
71
+ }
72
+ @layer greese.overrides {
73
+ .greese-SpeedDial .greese-SpeedDial-trigger {
74
+ border-radius: var(--greese-radius-xl);
75
+ }
76
+ .greese-SpeedDial .greese-SpeedDialAction-icon {
77
+ border-radius: var(--greese-radius-lg);
78
+ }
79
+ }
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Soft: every corner rounded, a step rounder than the library. Controls and fields take the large radius, containers the extra-large one, accordion items are rounded panels and the off-canvas sidebar rounds its inner edge.
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
+ * Compile it with Sass's package importer, after greese ui's
8
+ * styles, or use the compiled soft.css.
9
+ *
10
+ * Generated from apps/site/src/studio/shapes.ts (npm run themes -w site).
11
+ */
12
+ // Generated by greese ui Theme Studio from greese-theme.json. Edit it there, or in
13
+ // the studio (npm run studio); changes made here are overwritten.
14
+ @use 'pkg:@greese/ui/scss/kit' as greese;
15
+
16
+ @include greese.tokens((
17
+ corner: (
18
+ control: "var(--greese-radius-lg)",
19
+ field: "var(--greese-radius-lg)",
20
+ surface: "var(--greese-radius-xl)",
21
+ panel: "var(--greese-radius-lg)",
22
+ inset: "var(--greese-radius-md)",
23
+ pill: "var(--greese-radius-pill)",
24
+ round: "var(--greese-radius-round)",
25
+ ),
26
+ ));
27
+
28
+ @include greese.component(Accordion) {
29
+ display: grid;
30
+ gap: var(--greese-space-2);
31
+ border-block-start: 0;
32
+ }
33
+
34
+ @include greese.component(AccordionItem) {
35
+ border-block-end: 0;
36
+
37
+ > .greese-Collapsible-content {
38
+ padding-block-start: var(--greese-space-3);
39
+ border: 1px solid var(--greese-color-border);
40
+ border-radius: var(--greese-corner-panel);
41
+ }
42
+ }
43
+
44
+ @include greese.component(Avatar) {
45
+ border-radius: var(--greese-radius-lg);
46
+ }
47
+
48
+ @include greese.component(Collapsible) {
49
+ > .greese-Collapsible-trigger {
50
+ padding-inline: var(--greese-space-4);
51
+ background-color: var(--greese-color-surface);
52
+ border: 1px solid var(--greese-collapsible-border, var(--greese-color-border));
53
+ border-radius: var(--greese-corner-control);
54
+
55
+ @media (hover: hover) {
56
+ &:hover {
57
+ background-color: color-mix(in oklab, var(--greese-color-fg) 5%, var(--greese-color-surface));
58
+ }
59
+ }
60
+ }
61
+
62
+ &[open] > .greese-Collapsible-trigger {
63
+ margin-block-end: var(--greese-space-2);
64
+ }
65
+
66
+ > .greese-Collapsible-content {
67
+ padding-inline: var(--greese-space-4);
68
+ }
69
+ }
70
+
71
+ @include greese.component(Sidebar) {
72
+ border-start-end-radius: var(--greese-corner-surface);
73
+ border-end-end-radius: var(--greese-corner-surface);
74
+ }
75
+
76
+ @include greese.component(SpeedDial) {
77
+ .greese-SpeedDial-trigger {
78
+ border-radius: var(--greese-radius-xl);
79
+ }
80
+
81
+ .greese-SpeedDialAction-icon {
82
+ border-radius: var(--greese-radius-lg);
83
+ }
84
+ }