@chakra-ui/panda-preset 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +20 -0
  3. package/dist/cjs/animation-styles.cjs +55 -0
  4. package/dist/cjs/breakpoints.cjs +12 -0
  5. package/dist/cjs/def.cjs +34 -0
  6. package/dist/cjs/global-css.cjs +50 -0
  7. package/dist/cjs/index.cjs +43 -0
  8. package/dist/cjs/keyframes.cjs +260 -0
  9. package/dist/cjs/layer-styles.cjs +114 -0
  10. package/dist/cjs/recipes/badge.cjs +72 -0
  11. package/dist/cjs/recipes/button.cjs +180 -0
  12. package/dist/cjs/recipes/checkmark.cjs +89 -0
  13. package/dist/cjs/recipes/code.cjs +68 -0
  14. package/dist/cjs/recipes/color-swatch.cjs +68 -0
  15. package/dist/cjs/recipes/container.cjs +35 -0
  16. package/dist/cjs/recipes/heading.cjs +54 -0
  17. package/dist/cjs/recipes/icon.cjs +47 -0
  18. package/dist/cjs/recipes/index.cjs +46 -0
  19. package/dist/cjs/recipes/input-addon.cjs +81 -0
  20. package/dist/cjs/recipes/input.cjs +98 -0
  21. package/dist/cjs/recipes/kbd.cjs +62 -0
  22. package/dist/cjs/recipes/link.cjs +40 -0
  23. package/dist/cjs/recipes/mark.cjs +31 -0
  24. package/dist/cjs/recipes/radiomark.cjs +102 -0
  25. package/dist/cjs/recipes/separator.cjs +56 -0
  26. package/dist/cjs/recipes/skeleton.cjs +55 -0
  27. package/dist/cjs/recipes/skip-nav-link.cjs +36 -0
  28. package/dist/cjs/recipes/spinner.cjs +49 -0
  29. package/dist/cjs/recipes/textarea.cjs +91 -0
  30. package/dist/cjs/semantic-tokens/colors.cjs +617 -0
  31. package/dist/cjs/semantic-tokens/index.cjs +14 -0
  32. package/dist/cjs/semantic-tokens/radii.cjs +18 -0
  33. package/dist/cjs/semantic-tokens/shadows.cjs +57 -0
  34. package/dist/cjs/slot-recipes/accordion.cjs +150 -0
  35. package/dist/cjs/slot-recipes/action-bar.cjs +65 -0
  36. package/dist/cjs/slot-recipes/alert.cjs +165 -0
  37. package/dist/cjs/slot-recipes/avatar.cjs +144 -0
  38. package/dist/cjs/slot-recipes/blockquote.cjs +82 -0
  39. package/dist/cjs/slot-recipes/breadcrumb.cjs +105 -0
  40. package/dist/cjs/slot-recipes/card.cjs +102 -0
  41. package/dist/cjs/slot-recipes/checkbox-card.cjs +287 -0
  42. package/dist/cjs/slot-recipes/checkbox.cjs +132 -0
  43. package/dist/cjs/slot-recipes/collapsible.cjs +24 -0
  44. package/dist/cjs/slot-recipes/color-picker.cjs +384 -0
  45. package/dist/cjs/slot-recipes/data-list.cjs +98 -0
  46. package/dist/cjs/slot-recipes/dialog.cjs +256 -0
  47. package/dist/cjs/slot-recipes/drawer.cjs +218 -0
  48. package/dist/cjs/slot-recipes/editable.cjs +114 -0
  49. package/dist/cjs/slot-recipes/empty-state.cjs +90 -0
  50. package/dist/cjs/slot-recipes/field.cjs +80 -0
  51. package/dist/cjs/slot-recipes/fieldset.cjs +82 -0
  52. package/dist/cjs/slot-recipes/file-upload.cjs +114 -0
  53. package/dist/cjs/slot-recipes/hover-card.cjs +70 -0
  54. package/dist/cjs/slot-recipes/index.cjs +98 -0
  55. package/dist/cjs/slot-recipes/list.cjs +73 -0
  56. package/dist/cjs/slot-recipes/menu.cjs +146 -0
  57. package/dist/cjs/slot-recipes/native-select.cjs +152 -0
  58. package/dist/cjs/slot-recipes/number-input.cjs +200 -0
  59. package/dist/cjs/slot-recipes/pin-input.cjs +121 -0
  60. package/dist/cjs/slot-recipes/popover.cjs +104 -0
  61. package/dist/cjs/slot-recipes/progress-circle.cjs +106 -0
  62. package/dist/cjs/slot-recipes/progress.cjs +147 -0
  63. package/dist/cjs/slot-recipes/qr-code.cjs +80 -0
  64. package/dist/cjs/slot-recipes/radio-card.cjs +317 -0
  65. package/dist/cjs/slot-recipes/radio-group.cjs +151 -0
  66. package/dist/cjs/slot-recipes/rating-group.cjs +88 -0
  67. package/dist/cjs/slot-recipes/segment-group.cjs +119 -0
  68. package/dist/cjs/slot-recipes/select.cjs +305 -0
  69. package/dist/cjs/slot-recipes/slider.cjs +218 -0
  70. package/dist/cjs/slot-recipes/stat.cjs +84 -0
  71. package/dist/cjs/slot-recipes/status.cjs +48 -0
  72. package/dist/cjs/slot-recipes/steps.cjs +231 -0
  73. package/dist/cjs/slot-recipes/switch.cjs +163 -0
  74. package/dist/cjs/slot-recipes/table.cjs +175 -0
  75. package/dist/cjs/slot-recipes/tabs.cjs +281 -0
  76. package/dist/cjs/slot-recipes/tag.cjs +147 -0
  77. package/dist/cjs/slot-recipes/timeline.cjs +151 -0
  78. package/dist/cjs/slot-recipes/toast.cjs +106 -0
  79. package/dist/cjs/slot-recipes/tooltip.cjs +44 -0
  80. package/dist/cjs/text-styles.cjs +88 -0
  81. package/dist/cjs/tokens/animations.cjs +21 -0
  82. package/dist/cjs/tokens/aspect-ratios.cjs +27 -0
  83. package/dist/cjs/tokens/blurs.cjs +33 -0
  84. package/dist/cjs/tokens/borders.cjs +24 -0
  85. package/dist/cjs/tokens/colors.cjs +441 -0
  86. package/dist/cjs/tokens/cursor.cjs +33 -0
  87. package/dist/cjs/tokens/durations.cjs +30 -0
  88. package/dist/cjs/tokens/easings.cjs +21 -0
  89. package/dist/cjs/tokens/font-sizes.cjs +51 -0
  90. package/dist/cjs/tokens/font-weights.cjs +36 -0
  91. package/dist/cjs/tokens/fonts.cjs +18 -0
  92. package/dist/cjs/tokens/index.cjs +42 -0
  93. package/dist/cjs/tokens/letter-spacings.cjs +24 -0
  94. package/dist/cjs/tokens/line-heights.cjs +24 -0
  95. package/dist/cjs/tokens/radii.cjs +42 -0
  96. package/dist/cjs/tokens/sizes.cjs +267 -0
  97. package/dist/cjs/tokens/spacing.cjs +111 -0
  98. package/dist/cjs/tokens/z-index.cjs +48 -0
  99. package/dist/cjs/utilities.cjs +85 -0
  100. package/dist/esm/animation-styles.js +53 -0
  101. package/dist/esm/breakpoints.js +10 -0
  102. package/dist/esm/def.js +22 -0
  103. package/dist/esm/global-css.js +48 -0
  104. package/dist/esm/index.js +39 -0
  105. package/dist/esm/keyframes.js +258 -0
  106. package/dist/esm/layer-styles.js +112 -0
  107. package/dist/esm/recipes/badge.js +70 -0
  108. package/dist/esm/recipes/button.js +178 -0
  109. package/dist/esm/recipes/checkmark.js +87 -0
  110. package/dist/esm/recipes/code.js +66 -0
  111. package/dist/esm/recipes/color-swatch.js +66 -0
  112. package/dist/esm/recipes/container.js +33 -0
  113. package/dist/esm/recipes/heading.js +52 -0
  114. package/dist/esm/recipes/icon.js +45 -0
  115. package/dist/esm/recipes/index.js +44 -0
  116. package/dist/esm/recipes/input-addon.js +79 -0
  117. package/dist/esm/recipes/input.js +96 -0
  118. package/dist/esm/recipes/kbd.js +60 -0
  119. package/dist/esm/recipes/link.js +38 -0
  120. package/dist/esm/recipes/mark.js +29 -0
  121. package/dist/esm/recipes/radiomark.js +100 -0
  122. package/dist/esm/recipes/separator.js +54 -0
  123. package/dist/esm/recipes/skeleton.js +53 -0
  124. package/dist/esm/recipes/skip-nav-link.js +34 -0
  125. package/dist/esm/recipes/spinner.js +47 -0
  126. package/dist/esm/recipes/textarea.js +89 -0
  127. package/dist/esm/semantic-tokens/colors.js +615 -0
  128. package/dist/esm/semantic-tokens/index.js +12 -0
  129. package/dist/esm/semantic-tokens/radii.js +16 -0
  130. package/dist/esm/semantic-tokens/shadows.js +55 -0
  131. package/dist/esm/slot-recipes/accordion.js +148 -0
  132. package/dist/esm/slot-recipes/action-bar.js +63 -0
  133. package/dist/esm/slot-recipes/alert.js +163 -0
  134. package/dist/esm/slot-recipes/avatar.js +142 -0
  135. package/dist/esm/slot-recipes/blockquote.js +80 -0
  136. package/dist/esm/slot-recipes/breadcrumb.js +103 -0
  137. package/dist/esm/slot-recipes/card.js +100 -0
  138. package/dist/esm/slot-recipes/checkbox-card.js +285 -0
  139. package/dist/esm/slot-recipes/checkbox.js +130 -0
  140. package/dist/esm/slot-recipes/collapsible.js +22 -0
  141. package/dist/esm/slot-recipes/color-picker.js +382 -0
  142. package/dist/esm/slot-recipes/data-list.js +96 -0
  143. package/dist/esm/slot-recipes/dialog.js +254 -0
  144. package/dist/esm/slot-recipes/drawer.js +216 -0
  145. package/dist/esm/slot-recipes/editable.js +112 -0
  146. package/dist/esm/slot-recipes/empty-state.js +88 -0
  147. package/dist/esm/slot-recipes/field.js +78 -0
  148. package/dist/esm/slot-recipes/fieldset.js +80 -0
  149. package/dist/esm/slot-recipes/file-upload.js +112 -0
  150. package/dist/esm/slot-recipes/hover-card.js +68 -0
  151. package/dist/esm/slot-recipes/index.js +96 -0
  152. package/dist/esm/slot-recipes/list.js +71 -0
  153. package/dist/esm/slot-recipes/menu.js +144 -0
  154. package/dist/esm/slot-recipes/native-select.js +150 -0
  155. package/dist/esm/slot-recipes/number-input.js +198 -0
  156. package/dist/esm/slot-recipes/pin-input.js +119 -0
  157. package/dist/esm/slot-recipes/popover.js +102 -0
  158. package/dist/esm/slot-recipes/progress-circle.js +104 -0
  159. package/dist/esm/slot-recipes/progress.js +145 -0
  160. package/dist/esm/slot-recipes/qr-code.js +78 -0
  161. package/dist/esm/slot-recipes/radio-card.js +315 -0
  162. package/dist/esm/slot-recipes/radio-group.js +149 -0
  163. package/dist/esm/slot-recipes/rating-group.js +86 -0
  164. package/dist/esm/slot-recipes/segment-group.js +117 -0
  165. package/dist/esm/slot-recipes/select.js +303 -0
  166. package/dist/esm/slot-recipes/slider.js +216 -0
  167. package/dist/esm/slot-recipes/stat.js +82 -0
  168. package/dist/esm/slot-recipes/status.js +46 -0
  169. package/dist/esm/slot-recipes/steps.js +229 -0
  170. package/dist/esm/slot-recipes/switch.js +161 -0
  171. package/dist/esm/slot-recipes/table.js +173 -0
  172. package/dist/esm/slot-recipes/tabs.js +279 -0
  173. package/dist/esm/slot-recipes/tag.js +145 -0
  174. package/dist/esm/slot-recipes/timeline.js +149 -0
  175. package/dist/esm/slot-recipes/toast.js +104 -0
  176. package/dist/esm/slot-recipes/tooltip.js +42 -0
  177. package/dist/esm/text-styles.js +86 -0
  178. package/dist/esm/tokens/animations.js +19 -0
  179. package/dist/esm/tokens/aspect-ratios.js +25 -0
  180. package/dist/esm/tokens/blurs.js +31 -0
  181. package/dist/esm/tokens/borders.js +22 -0
  182. package/dist/esm/tokens/colors.js +439 -0
  183. package/dist/esm/tokens/cursor.js +31 -0
  184. package/dist/esm/tokens/durations.js +28 -0
  185. package/dist/esm/tokens/easings.js +19 -0
  186. package/dist/esm/tokens/font-sizes.js +49 -0
  187. package/dist/esm/tokens/font-weights.js +34 -0
  188. package/dist/esm/tokens/fonts.js +16 -0
  189. package/dist/esm/tokens/index.js +40 -0
  190. package/dist/esm/tokens/letter-spacings.js +22 -0
  191. package/dist/esm/tokens/line-heights.js +22 -0
  192. package/dist/esm/tokens/radii.js +40 -0
  193. package/dist/esm/tokens/sizes.js +265 -0
  194. package/dist/esm/tokens/spacing.js +109 -0
  195. package/dist/esm/tokens/z-index.js +46 -0
  196. package/dist/esm/utilities.js +83 -0
  197. package/dist/types/animation-styles.d.ts +1 -0
  198. package/dist/types/breakpoints.d.ts +7 -0
  199. package/dist/types/def.d.ts +18 -0
  200. package/dist/types/global-css.d.ts +1 -0
  201. package/dist/types/index.d.mts +2 -0
  202. package/dist/types/index.d.ts +2 -0
  203. package/dist/types/keyframes.d.ts +255 -0
  204. package/dist/types/layer-styles.d.ts +1 -0
  205. package/dist/types/recipes/badge.d.ts +1 -0
  206. package/dist/types/recipes/button.d.ts +1 -0
  207. package/dist/types/recipes/checkmark.d.ts +1 -0
  208. package/dist/types/recipes/code.d.ts +1 -0
  209. package/dist/types/recipes/color-swatch.d.ts +1 -0
  210. package/dist/types/recipes/container.d.ts +1 -0
  211. package/dist/types/recipes/heading.d.ts +1 -0
  212. package/dist/types/recipes/icon.d.ts +1 -0
  213. package/dist/types/recipes/index.d.ts +21 -0
  214. package/dist/types/recipes/input-addon.d.ts +1 -0
  215. package/dist/types/recipes/input.d.ts +1 -0
  216. package/dist/types/recipes/kbd.d.ts +1 -0
  217. package/dist/types/recipes/link.d.ts +1 -0
  218. package/dist/types/recipes/mark.d.ts +1 -0
  219. package/dist/types/recipes/radiomark.d.ts +1 -0
  220. package/dist/types/recipes/separator.d.ts +1 -0
  221. package/dist/types/recipes/skeleton.d.ts +1 -0
  222. package/dist/types/recipes/skip-nav-link.d.ts +1 -0
  223. package/dist/types/recipes/spinner.d.ts +1 -0
  224. package/dist/types/recipes/textarea.d.ts +1 -0
  225. package/dist/types/semantic-tokens/colors.d.ts +610 -0
  226. package/dist/types/semantic-tokens/index.d.ts +673 -0
  227. package/dist/types/semantic-tokens/radii.d.ts +11 -0
  228. package/dist/types/semantic-tokens/shadows.d.ts +50 -0
  229. package/dist/types/slot-recipes/accordion.d.ts +1 -0
  230. package/dist/types/slot-recipes/action-bar.d.ts +1 -0
  231. package/dist/types/slot-recipes/alert.d.ts +1 -0
  232. package/dist/types/slot-recipes/avatar.d.ts +1 -0
  233. package/dist/types/slot-recipes/blockquote.d.ts +1 -0
  234. package/dist/types/slot-recipes/breadcrumb.d.ts +1 -0
  235. package/dist/types/slot-recipes/card.d.ts +1 -0
  236. package/dist/types/slot-recipes/checkbox-card.d.ts +1 -0
  237. package/dist/types/slot-recipes/checkbox.d.ts +1 -0
  238. package/dist/types/slot-recipes/collapsible.d.ts +1 -0
  239. package/dist/types/slot-recipes/color-picker.d.ts +1 -0
  240. package/dist/types/slot-recipes/data-list.d.ts +1 -0
  241. package/dist/types/slot-recipes/dialog.d.ts +1 -0
  242. package/dist/types/slot-recipes/drawer.d.ts +1 -0
  243. package/dist/types/slot-recipes/editable.d.ts +1 -0
  244. package/dist/types/slot-recipes/empty-state.d.ts +1 -0
  245. package/dist/types/slot-recipes/field.d.ts +1 -0
  246. package/dist/types/slot-recipes/fieldset.d.ts +1 -0
  247. package/dist/types/slot-recipes/file-upload.d.ts +1 -0
  248. package/dist/types/slot-recipes/hover-card.d.ts +1 -0
  249. package/dist/types/slot-recipes/index.d.ts +47 -0
  250. package/dist/types/slot-recipes/list.d.ts +1 -0
  251. package/dist/types/slot-recipes/menu.d.ts +1 -0
  252. package/dist/types/slot-recipes/native-select.d.ts +1 -0
  253. package/dist/types/slot-recipes/number-input.d.ts +1 -0
  254. package/dist/types/slot-recipes/pin-input.d.ts +1 -0
  255. package/dist/types/slot-recipes/popover.d.ts +1 -0
  256. package/dist/types/slot-recipes/progress-circle.d.ts +1 -0
  257. package/dist/types/slot-recipes/progress.d.ts +1 -0
  258. package/dist/types/slot-recipes/qr-code.d.ts +1 -0
  259. package/dist/types/slot-recipes/radio-card.d.ts +1 -0
  260. package/dist/types/slot-recipes/radio-group.d.ts +1 -0
  261. package/dist/types/slot-recipes/rating-group.d.ts +1 -0
  262. package/dist/types/slot-recipes/segment-group.d.ts +1 -0
  263. package/dist/types/slot-recipes/select.d.ts +1 -0
  264. package/dist/types/slot-recipes/slider.d.ts +1 -0
  265. package/dist/types/slot-recipes/stat.d.ts +1 -0
  266. package/dist/types/slot-recipes/status.d.ts +1 -0
  267. package/dist/types/slot-recipes/steps.d.ts +1 -0
  268. package/dist/types/slot-recipes/switch.d.ts +1 -0
  269. package/dist/types/slot-recipes/table.d.ts +1 -0
  270. package/dist/types/slot-recipes/tabs.d.ts +1 -0
  271. package/dist/types/slot-recipes/tag.d.ts +1 -0
  272. package/dist/types/slot-recipes/timeline.d.ts +1 -0
  273. package/dist/types/slot-recipes/toast.d.ts +1 -0
  274. package/dist/types/slot-recipes/tooltip.d.ts +1 -0
  275. package/dist/types/text-styles.d.ts +1 -0
  276. package/dist/types/tokens/animations.d.ts +14 -0
  277. package/dist/types/tokens/aspect-ratios.d.ts +20 -0
  278. package/dist/types/tokens/blurs.d.ts +26 -0
  279. package/dist/types/tokens/borders.d.ts +17 -0
  280. package/dist/types/tokens/colors.d.ts +434 -0
  281. package/dist/types/tokens/cursor.d.ts +26 -0
  282. package/dist/types/tokens/durations.d.ts +23 -0
  283. package/dist/types/tokens/easings.d.ts +14 -0
  284. package/dist/types/tokens/font-sizes.d.ts +44 -0
  285. package/dist/types/tokens/font-weights.d.ts +29 -0
  286. package/dist/types/tokens/fonts.d.ts +11 -0
  287. package/dist/types/tokens/index.d.ts +1134 -0
  288. package/dist/types/tokens/letter-spacings.d.ts +17 -0
  289. package/dist/types/tokens/line-heights.d.ts +17 -0
  290. package/dist/types/tokens/radii.d.ts +35 -0
  291. package/dist/types/tokens/sizes.d.ts +260 -0
  292. package/dist/types/tokens/spacing.d.ts +104 -0
  293. package/dist/types/tokens/z-index.d.ts +41 -0
  294. package/dist/types/utilities.d.ts +1 -0
  295. package/package.json +65 -0
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const statSlotRecipe = defineSlotRecipe({
5
+ className: "stat",
6
+ slots: ["root", "label", "helpText", "valueText", "valueUnit", "indicator"],
7
+ base: {
8
+ root: {
9
+ display: "flex",
10
+ flexDirection: "column",
11
+ gap: "1",
12
+ position: "relative",
13
+ flex: "1"
14
+ },
15
+ label: {
16
+ display: "inline-flex",
17
+ gap: "1.5",
18
+ alignItems: "center",
19
+ color: "fg.muted",
20
+ textStyle: "sm"
21
+ },
22
+ helpText: {
23
+ color: "fg.muted",
24
+ textStyle: "xs"
25
+ },
26
+ valueUnit: {
27
+ color: "fg.muted",
28
+ textStyle: "xs",
29
+ fontWeight: "initial",
30
+ letterSpacing: "initial"
31
+ },
32
+ valueText: {
33
+ verticalAlign: "baseline",
34
+ fontWeight: "semibold",
35
+ letterSpacing: "tight",
36
+ fontFeatureSettings: "pnum",
37
+ fontVariantNumeric: "proportional-nums",
38
+ display: "inline-flex",
39
+ gap: "1"
40
+ },
41
+ indicator: {
42
+ display: "inline-flex",
43
+ alignItems: "center",
44
+ justifyContent: "center",
45
+ marginEnd: 1,
46
+ "& :where(svg)": {
47
+ w: "1em",
48
+ h: "1em"
49
+ },
50
+ "&[data-type=up]": {
51
+ color: "fg.success"
52
+ },
53
+ "&[data-type=down]": {
54
+ color: "fg.error"
55
+ }
56
+ }
57
+ },
58
+ variants: {
59
+ size: {
60
+ sm: {
61
+ valueText: {
62
+ textStyle: "xl"
63
+ }
64
+ },
65
+ md: {
66
+ valueText: {
67
+ textStyle: "2xl"
68
+ }
69
+ },
70
+ lg: {
71
+ valueText: {
72
+ textStyle: "3xl"
73
+ }
74
+ }
75
+ }
76
+ },
77
+ defaultVariants: {
78
+ size: "md"
79
+ }
80
+ });
81
+
82
+ export { statSlotRecipe };
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const statusSlotRecipe = defineSlotRecipe({
5
+ className: "status",
6
+ slots: ["root", "indicator"],
7
+ base: {
8
+ root: {
9
+ display: "inline-flex",
10
+ alignItems: "center",
11
+ gap: "2"
12
+ },
13
+ indicator: {
14
+ width: "0.64em",
15
+ height: "0.64em",
16
+ flexShrink: 0,
17
+ borderRadius: "full",
18
+ forcedColorAdjust: "none",
19
+ bg: "colorPalette.solid"
20
+ }
21
+ },
22
+ variants: {
23
+ size: {
24
+ sm: {
25
+ root: {
26
+ textStyle: "xs"
27
+ }
28
+ },
29
+ md: {
30
+ root: {
31
+ textStyle: "sm"
32
+ }
33
+ },
34
+ lg: {
35
+ root: {
36
+ textStyle: "md"
37
+ }
38
+ }
39
+ }
40
+ },
41
+ defaultVariants: {
42
+ size: "md"
43
+ }
44
+ });
45
+
46
+ export { statusSlotRecipe };
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const stepsSlotRecipe = defineSlotRecipe({
5
+ className: "steps",
6
+ slots: [
7
+ "root",
8
+ "list",
9
+ "item",
10
+ "trigger",
11
+ "indicator",
12
+ "separator",
13
+ "content",
14
+ "title",
15
+ "description",
16
+ "nextTrigger",
17
+ "prevTrigger",
18
+ "progress"
19
+ ],
20
+ base: {
21
+ root: {
22
+ display: "flex",
23
+ width: "full"
24
+ },
25
+ list: {
26
+ display: "flex",
27
+ justifyContent: "space-between",
28
+ "--steps-gutter": "spacing.3",
29
+ "--steps-thickness": "2px"
30
+ },
31
+ title: {
32
+ fontWeight: "medium",
33
+ color: "fg"
34
+ },
35
+ description: {
36
+ color: "fg.muted"
37
+ },
38
+ separator: {
39
+ bg: "border",
40
+ flex: "1"
41
+ },
42
+ indicator: {
43
+ display: "flex",
44
+ justifyContent: "center",
45
+ alignItems: "center",
46
+ flexShrink: "0",
47
+ borderRadius: "full",
48
+ fontWeight: "medium",
49
+ width: "var(--steps-size)",
50
+ height: "var(--steps-size)",
51
+ _icon: {
52
+ flexShrink: "0",
53
+ width: "var(--steps-icon-size)",
54
+ height: "var(--steps-icon-size)"
55
+ }
56
+ },
57
+ item: {
58
+ position: "relative",
59
+ display: "flex",
60
+ flex: "1 0 0",
61
+ "&:last-of-type": {
62
+ flex: "initial",
63
+ "& [data-part=separator]": {
64
+ display: "none"
65
+ }
66
+ }
67
+ },
68
+ trigger: {
69
+ display: "flex",
70
+ alignItems: "center",
71
+ gap: "3",
72
+ textAlign: "start",
73
+ focusVisibleRing: "outside",
74
+ borderRadius: "l2"
75
+ },
76
+ content: {
77
+ focusVisibleRing: "outside"
78
+ }
79
+ },
80
+ variants: {
81
+ orientation: {
82
+ vertical: {
83
+ root: {
84
+ flexDirection: "row",
85
+ height: "100%"
86
+ },
87
+ list: {
88
+ flexDirection: "column",
89
+ alignItems: "flex-start"
90
+ },
91
+ separator: {
92
+ position: "absolute",
93
+ width: "var(--steps-thickness)",
94
+ height: "100%",
95
+ maxHeight: "calc(100% - var(--steps-size) - var(--steps-gutter) * 2)",
96
+ top: "calc(var(--steps-size) + var(--steps-gutter))",
97
+ insetStart: "calc(var(--steps-size) / 2 - 1px)"
98
+ },
99
+ item: {
100
+ alignItems: "flex-start"
101
+ }
102
+ },
103
+ horizontal: {
104
+ root: {
105
+ flexDirection: "column",
106
+ width: "100%"
107
+ },
108
+ list: {
109
+ flexDirection: "row",
110
+ alignItems: "center"
111
+ },
112
+ separator: {
113
+ width: "100%",
114
+ height: "var(--steps-thickness)",
115
+ marginX: "var(--steps-gutter)"
116
+ },
117
+ item: {
118
+ alignItems: "center"
119
+ }
120
+ }
121
+ },
122
+ variant: {
123
+ solid: {
124
+ indicator: {
125
+ _incomplete: {
126
+ borderWidth: "var(--steps-thickness)"
127
+ },
128
+ _current: {
129
+ bg: "colorPalette.muted",
130
+ borderWidth: "var(--steps-thickness)",
131
+ borderColor: "colorPalette.solid",
132
+ color: "colorPalette.fg"
133
+ },
134
+ _complete: {
135
+ bg: "colorPalette.solid",
136
+ borderColor: "colorPalette.solid",
137
+ color: "colorPalette.contrast"
138
+ }
139
+ },
140
+ separator: {
141
+ _complete: {
142
+ bg: "colorPalette.solid"
143
+ }
144
+ }
145
+ },
146
+ subtle: {
147
+ indicator: {
148
+ _incomplete: {
149
+ bg: "bg.muted"
150
+ },
151
+ _current: {
152
+ bg: "colorPalette.muted",
153
+ color: "colorPalette.fg"
154
+ },
155
+ _complete: {
156
+ bg: "colorPalette.emphasized",
157
+ color: "colorPalette.fg"
158
+ }
159
+ },
160
+ separator: {
161
+ _complete: {
162
+ bg: "colorPalette.emphasized"
163
+ }
164
+ }
165
+ }
166
+ },
167
+ size: {
168
+ xs: {
169
+ root: {
170
+ gap: "2.5"
171
+ },
172
+ list: {
173
+ "--steps-size": "sizes.6",
174
+ "--steps-icon-size": "sizes.3.5",
175
+ textStyle: "xs"
176
+ },
177
+ title: {
178
+ textStyle: "sm"
179
+ }
180
+ },
181
+ sm: {
182
+ root: {
183
+ gap: "3"
184
+ },
185
+ list: {
186
+ "--steps-size": "sizes.8",
187
+ "--steps-icon-size": "sizes.4",
188
+ textStyle: "xs"
189
+ },
190
+ title: {
191
+ textStyle: "sm"
192
+ }
193
+ },
194
+ md: {
195
+ root: {
196
+ gap: "4"
197
+ },
198
+ list: {
199
+ "--steps-size": "sizes.10",
200
+ "--steps-icon-size": "sizes.4",
201
+ textStyle: "sm"
202
+ },
203
+ title: {
204
+ textStyle: "sm"
205
+ }
206
+ },
207
+ lg: {
208
+ root: {
209
+ gap: "6"
210
+ },
211
+ list: {
212
+ "--steps-size": "sizes.11",
213
+ "--steps-icon-size": "sizes.5",
214
+ textStyle: "md"
215
+ },
216
+ title: {
217
+ textStyle: "md"
218
+ }
219
+ }
220
+ }
221
+ },
222
+ defaultVariants: {
223
+ size: "md",
224
+ variant: "solid",
225
+ orientation: "horizontal"
226
+ }
227
+ });
228
+
229
+ export { stepsSlotRecipe };
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const switchSlotRecipe = defineSlotRecipe({
5
+ slots: ["root", "label", "control", "thumb", "indicator"],
6
+ className: "switch",
7
+ base: {
8
+ root: {
9
+ display: "inline-flex",
10
+ gap: "2.5",
11
+ alignItems: "center",
12
+ position: "relative",
13
+ verticalAlign: "middle",
14
+ "--switch-diff": "calc(var(--switch-width) - var(--switch-height))",
15
+ "--switch-x": {
16
+ base: "var(--switch-diff)",
17
+ _rtl: "calc(var(--switch-diff) * -1)"
18
+ }
19
+ },
20
+ label: {
21
+ lineHeight: "1",
22
+ userSelect: "none",
23
+ fontSize: "sm",
24
+ fontWeight: "medium",
25
+ _disabled: {
26
+ opacity: "0.5"
27
+ }
28
+ },
29
+ indicator: {
30
+ position: "absolute",
31
+ height: "var(--switch-height)",
32
+ width: "var(--switch-height)",
33
+ fontSize: "var(--switch-indicator-font-size)",
34
+ fontWeight: "medium",
35
+ flexShrink: 0,
36
+ userSelect: "none",
37
+ display: "grid",
38
+ placeContent: "center",
39
+ transition: "inset-inline-start 0.12s ease",
40
+ insetInlineStart: "calc(var(--switch-x) - 2px)",
41
+ _checked: {
42
+ insetInlineStart: "2px"
43
+ }
44
+ },
45
+ control: {
46
+ display: "inline-flex",
47
+ gap: "0.5rem",
48
+ flexShrink: 0,
49
+ justifyContent: "flex-start",
50
+ cursor: "switch",
51
+ borderRadius: "full",
52
+ position: "relative",
53
+ width: "var(--switch-width)",
54
+ height: "var(--switch-height)",
55
+ _disabled: {
56
+ opacity: "0.5",
57
+ cursor: "not-allowed"
58
+ },
59
+ _invalid: {
60
+ outline: "2px solid",
61
+ outlineColor: "border.error",
62
+ outlineOffset: "2px"
63
+ }
64
+ },
65
+ thumb: {
66
+ display: "flex",
67
+ alignItems: "center",
68
+ justifyContent: "center",
69
+ flexShrink: 0,
70
+ transitionProperty: "translate",
71
+ transitionDuration: "fast",
72
+ borderRadius: "inherit",
73
+ _checked: {
74
+ translate: "var(--switch-x) 0"
75
+ }
76
+ }
77
+ },
78
+ variants: {
79
+ variant: {
80
+ solid: {
81
+ control: {
82
+ borderRadius: "full",
83
+ bg: "bg.emphasized",
84
+ focusVisibleRing: "outside",
85
+ _checked: {
86
+ bg: "colorPalette.solid"
87
+ }
88
+ },
89
+ thumb: {
90
+ bg: "white",
91
+ width: "var(--switch-height)",
92
+ height: "var(--switch-height)",
93
+ scale: "0.8",
94
+ boxShadow: "sm",
95
+ _checked: {
96
+ bg: "colorPalette.contrast"
97
+ }
98
+ }
99
+ },
100
+ raised: {
101
+ control: {
102
+ borderRadius: "full",
103
+ height: "calc(var(--switch-height) / 2)",
104
+ bg: "bg.muted",
105
+ boxShadow: "inset",
106
+ _checked: {
107
+ bg: "colorPalette.solid/60"
108
+ }
109
+ },
110
+ thumb: {
111
+ width: "var(--switch-height)",
112
+ height: "var(--switch-height)",
113
+ position: "relative",
114
+ top: "calc(var(--switch-height) * -0.25)",
115
+ bg: "white",
116
+ boxShadow: "xs",
117
+ focusVisibleRing: "outside",
118
+ _checked: {
119
+ bg: "colorPalette.solid"
120
+ }
121
+ }
122
+ }
123
+ },
124
+ size: {
125
+ xs: {
126
+ root: {
127
+ "--switch-width": "sizes.6",
128
+ "--switch-height": "sizes.3",
129
+ "--switch-indicator-font-size": "fontSizes.xs"
130
+ }
131
+ },
132
+ sm: {
133
+ root: {
134
+ "--switch-width": "sizes.8",
135
+ "--switch-height": "sizes.4",
136
+ "--switch-indicator-font-size": "fontSizes.xs"
137
+ }
138
+ },
139
+ md: {
140
+ root: {
141
+ "--switch-width": "sizes.10",
142
+ "--switch-height": "sizes.5",
143
+ "--switch-indicator-font-size": "fontSizes.sm"
144
+ }
145
+ },
146
+ lg: {
147
+ root: {
148
+ "--switch-width": "sizes.12",
149
+ "--switch-height": "sizes.6",
150
+ "--switch-indicator-font-size": "fontSizes.md"
151
+ }
152
+ }
153
+ }
154
+ },
155
+ defaultVariants: {
156
+ variant: "solid",
157
+ size: "md"
158
+ }
159
+ });
160
+
161
+ export { switchSlotRecipe };
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const tableSlotRecipe = defineSlotRecipe({
5
+ className: "table",
6
+ slots: [
7
+ "root",
8
+ "header",
9
+ "body",
10
+ "row",
11
+ "columnHeader",
12
+ "cell",
13
+ "footer",
14
+ "caption"
15
+ ],
16
+ base: {
17
+ root: {
18
+ fontVariantNumeric: "lining-nums tabular-nums",
19
+ borderCollapse: "collapse",
20
+ width: "full",
21
+ textAlign: "start",
22
+ verticalAlign: "top"
23
+ },
24
+ row: {
25
+ _selected: {
26
+ bg: "colorPalette.subtle"
27
+ }
28
+ },
29
+ cell: {
30
+ textAlign: "start",
31
+ alignItems: "center"
32
+ },
33
+ columnHeader: {
34
+ fontWeight: "medium",
35
+ textAlign: "start",
36
+ color: "fg"
37
+ },
38
+ caption: {
39
+ fontWeight: "medium",
40
+ textStyle: "xs"
41
+ },
42
+ footer: {
43
+ fontWeight: "medium"
44
+ }
45
+ },
46
+ variants: {
47
+ interactive: {
48
+ true: {
49
+ body: {
50
+ "& tr": {
51
+ _hover: {
52
+ bg: "colorPalette.subtle"
53
+ }
54
+ }
55
+ }
56
+ }
57
+ },
58
+ stickyHeader: {
59
+ true: {
60
+ header: {
61
+ "& :where(tr)": {
62
+ top: "var(--table-sticky-offset, 0)",
63
+ position: "sticky",
64
+ zIndex: 1
65
+ }
66
+ }
67
+ }
68
+ },
69
+ striped: {
70
+ true: {
71
+ row: {
72
+ "&:nth-of-type(odd) td": {
73
+ bg: "bg.muted"
74
+ }
75
+ }
76
+ }
77
+ },
78
+ showColumnBorder: {
79
+ true: {
80
+ columnHeader: {
81
+ "&:not(:last-of-type)": {
82
+ borderInlineEndWidth: "1px"
83
+ }
84
+ },
85
+ cell: {
86
+ "&:not(:last-of-type)": {
87
+ borderInlineEndWidth: "1px"
88
+ }
89
+ }
90
+ }
91
+ },
92
+ variant: {
93
+ line: {
94
+ columnHeader: {
95
+ borderBottomWidth: "1px"
96
+ },
97
+ cell: {
98
+ borderBottomWidth: "1px"
99
+ },
100
+ row: {
101
+ bg: "bg"
102
+ }
103
+ },
104
+ outline: {
105
+ root: {
106
+ boxShadow: "0 0 0 1px {colors.border}",
107
+ overflow: "hidden"
108
+ },
109
+ columnHeader: {
110
+ borderBottomWidth: "1px"
111
+ },
112
+ header: {
113
+ bg: "bg.muted"
114
+ },
115
+ row: {
116
+ "&:not(:last-of-type)": {
117
+ borderBottomWidth: "1px"
118
+ }
119
+ },
120
+ footer: {
121
+ borderTopWidth: "1px"
122
+ }
123
+ }
124
+ },
125
+ size: {
126
+ sm: {
127
+ root: {
128
+ textStyle: "sm"
129
+ },
130
+ columnHeader: {
131
+ px: "2",
132
+ py: "2"
133
+ },
134
+ cell: {
135
+ px: "2",
136
+ py: "2"
137
+ }
138
+ },
139
+ md: {
140
+ root: {
141
+ textStyle: "sm"
142
+ },
143
+ columnHeader: {
144
+ px: "3",
145
+ py: "3"
146
+ },
147
+ cell: {
148
+ px: "3",
149
+ py: "3"
150
+ }
151
+ },
152
+ lg: {
153
+ root: {
154
+ textStyle: "md"
155
+ },
156
+ columnHeader: {
157
+ px: "4",
158
+ py: "3"
159
+ },
160
+ cell: {
161
+ px: "4",
162
+ py: "3"
163
+ }
164
+ }
165
+ }
166
+ },
167
+ defaultVariants: {
168
+ variant: "line",
169
+ size: "md"
170
+ }
171
+ });
172
+
173
+ export { tableSlotRecipe };