@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,78 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const fieldSlotRecipe = defineSlotRecipe({
5
+ className: "field",
6
+ slots: [
7
+ "root",
8
+ "errorText",
9
+ "helperText",
10
+ "input",
11
+ "label",
12
+ "select",
13
+ "textarea",
14
+ "requiredIndicator",
15
+ "requiredIndicator"
16
+ ],
17
+ base: {
18
+ requiredIndicator: {
19
+ color: "fg.error",
20
+ lineHeight: "1"
21
+ },
22
+ root: {
23
+ display: "flex",
24
+ width: "100%",
25
+ position: "relative",
26
+ gap: "1.5"
27
+ },
28
+ label: {
29
+ display: "flex",
30
+ alignItems: "center",
31
+ textAlign: "start",
32
+ textStyle: "sm",
33
+ fontWeight: "medium",
34
+ gap: "1",
35
+ userSelect: "none",
36
+ _disabled: {
37
+ opacity: "0.5"
38
+ }
39
+ },
40
+ errorText: {
41
+ display: "inline-flex",
42
+ alignItems: "center",
43
+ fontWeight: "medium",
44
+ gap: "1",
45
+ color: "fg.error",
46
+ textStyle: "xs"
47
+ },
48
+ helperText: {
49
+ color: "fg.muted",
50
+ textStyle: "xs"
51
+ }
52
+ },
53
+ variants: {
54
+ orientation: {
55
+ vertical: {
56
+ root: {
57
+ flexDirection: "column",
58
+ alignItems: "flex-start"
59
+ }
60
+ },
61
+ horizontal: {
62
+ root: {
63
+ flexDirection: "row",
64
+ alignItems: "center",
65
+ justifyContent: "space-between"
66
+ },
67
+ label: {
68
+ flex: "0 0 var(--field-label-width, 80px)"
69
+ }
70
+ }
71
+ }
72
+ },
73
+ defaultVariants: {
74
+ orientation: "vertical"
75
+ }
76
+ });
77
+
78
+ export { fieldSlotRecipe };
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const fieldsetSlotRecipe = defineSlotRecipe({
5
+ className: "fieldset",
6
+ slots: ["root", "errorText", "helperText", "legend", "content"],
7
+ base: {
8
+ root: {
9
+ display: "flex",
10
+ flexDirection: "column",
11
+ width: "full"
12
+ },
13
+ content: {
14
+ display: "flex",
15
+ flexDirection: "column",
16
+ width: "full"
17
+ },
18
+ legend: {
19
+ color: "fg",
20
+ fontWeight: "medium",
21
+ _disabled: {
22
+ opacity: "0.5"
23
+ }
24
+ },
25
+ helperText: {
26
+ color: "fg.muted",
27
+ textStyle: "sm"
28
+ },
29
+ errorText: {
30
+ display: "inline-flex",
31
+ alignItems: "center",
32
+ color: "fg.error",
33
+ gap: "2",
34
+ fontWeight: "medium",
35
+ textStyle: "sm"
36
+ }
37
+ },
38
+ variants: {
39
+ size: {
40
+ sm: {
41
+ root: {
42
+ spaceY: "2"
43
+ },
44
+ content: {
45
+ gap: "1.5"
46
+ },
47
+ legend: {
48
+ textStyle: "sm"
49
+ }
50
+ },
51
+ md: {
52
+ root: {
53
+ spaceY: "4"
54
+ },
55
+ content: {
56
+ gap: "4"
57
+ },
58
+ legend: {
59
+ textStyle: "sm"
60
+ }
61
+ },
62
+ lg: {
63
+ root: {
64
+ spaceY: "6"
65
+ },
66
+ content: {
67
+ gap: "4"
68
+ },
69
+ legend: {
70
+ textStyle: "md"
71
+ }
72
+ }
73
+ }
74
+ },
75
+ defaultVariants: {
76
+ size: "md"
77
+ }
78
+ });
79
+
80
+ export { fieldsetSlotRecipe };
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const fileUploadSlotRecipe = defineSlotRecipe({
5
+ className: "file-upload",
6
+ slots: [
7
+ "root",
8
+ "dropzone",
9
+ "item",
10
+ "itemDeleteTrigger",
11
+ "itemGroup",
12
+ "itemName",
13
+ "itemPreview",
14
+ "itemPreviewImage",
15
+ "itemSizeText",
16
+ "label",
17
+ "trigger",
18
+ "clearTrigger",
19
+ "itemContent",
20
+ "dropzoneContent"
21
+ ],
22
+ base: {
23
+ root: {
24
+ display: "flex",
25
+ flexDirection: "column",
26
+ gap: "4",
27
+ width: "100%",
28
+ alignItems: "flex-start"
29
+ },
30
+ label: {
31
+ fontWeight: "medium",
32
+ textStyle: "sm"
33
+ },
34
+ dropzone: {
35
+ background: "bg",
36
+ borderRadius: "l3",
37
+ borderWidth: "2px",
38
+ borderStyle: "dashed",
39
+ display: "flex",
40
+ alignItems: "center",
41
+ flexDirection: "column",
42
+ gap: "4",
43
+ justifyContent: "center",
44
+ minHeight: "2xs",
45
+ px: "3",
46
+ py: "2",
47
+ transition: "backgrounds",
48
+ focusVisibleRing: "outside",
49
+ _hover: {
50
+ bg: "bg.subtle"
51
+ },
52
+ _dragging: {
53
+ bg: "colorPalette.subtle",
54
+ borderStyle: "solid",
55
+ borderColor: "colorPalette.solid"
56
+ }
57
+ },
58
+ dropzoneContent: {
59
+ display: "flex",
60
+ flexDirection: "column",
61
+ alignItems: "center",
62
+ textAlign: "center",
63
+ gap: "1",
64
+ textStyle: "sm"
65
+ },
66
+ item: {
67
+ textStyle: "sm",
68
+ animationName: "fade-in",
69
+ animationDuration: "moderate",
70
+ background: "bg",
71
+ borderRadius: "l2",
72
+ borderWidth: "1px",
73
+ width: "100%",
74
+ display: "flex",
75
+ alignItems: "center",
76
+ gap: "3",
77
+ p: "4"
78
+ },
79
+ itemGroup: {
80
+ width: "100%",
81
+ display: "flex",
82
+ flexDirection: "column",
83
+ gap: "3"
84
+ },
85
+ itemName: {
86
+ color: "fg",
87
+ fontWeight: "medium",
88
+ lineClamp: "1"
89
+ },
90
+ itemContent: {
91
+ display: "flex",
92
+ flexDirection: "column",
93
+ gap: "0.5",
94
+ flex: "1"
95
+ },
96
+ itemSizeText: {
97
+ color: "fg.muted",
98
+ textStyle: "xs"
99
+ },
100
+ itemDeleteTrigger: {
101
+ alignSelf: "flex-start"
102
+ },
103
+ itemPreviewImage: {
104
+ width: "10",
105
+ height: "10",
106
+ objectFit: "scale-down"
107
+ }
108
+ },
109
+ defaultVariants: {}
110
+ });
111
+
112
+ export { fileUploadSlotRecipe };
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const hoverCardSlotRecipe = defineSlotRecipe({
5
+ className: "hover-card",
6
+ slots: ["arrow", "arrowTip", "trigger", "positioner", "content"],
7
+ base: {
8
+ content: {
9
+ position: "relative",
10
+ display: "flex",
11
+ flexDirection: "column",
12
+ textStyle: "sm",
13
+ "--hovercard-bg": "colors.bg.panel",
14
+ bg: "var(--hovercard-bg)",
15
+ boxShadow: "lg",
16
+ maxWidth: "80",
17
+ borderRadius: "l3",
18
+ zIndex: "popover",
19
+ transformOrigin: "var(--transform-origin)",
20
+ outline: "0",
21
+ _open: {
22
+ animationStyle: "slide-fade-in",
23
+ animationDuration: "fast"
24
+ },
25
+ _closed: {
26
+ animationStyle: "slide-fade-out",
27
+ animationDuration: "faster"
28
+ }
29
+ },
30
+ arrow: {
31
+ "--arrow-size": "sizes.3",
32
+ "--arrow-background": "var(--hovercard-bg)"
33
+ },
34
+ arrowTip: {
35
+ borderTopWidth: "0.5px",
36
+ borderInlineStartWidth: "0.5px"
37
+ }
38
+ },
39
+ variants: {
40
+ size: {
41
+ xs: {
42
+ content: {
43
+ padding: "3"
44
+ }
45
+ },
46
+ sm: {
47
+ content: {
48
+ padding: "4"
49
+ }
50
+ },
51
+ md: {
52
+ content: {
53
+ padding: "5"
54
+ }
55
+ },
56
+ lg: {
57
+ content: {
58
+ padding: "6"
59
+ }
60
+ }
61
+ }
62
+ },
63
+ defaultVariants: {
64
+ size: "md"
65
+ }
66
+ });
67
+
68
+ export { hoverCardSlotRecipe };
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ import { accordionSlotRecipe } from './accordion.js';
3
+ import { actionBarSlotRecipe } from './action-bar.js';
4
+ import { alertSlotRecipe } from './alert.js';
5
+ import { avatarSlotRecipe } from './avatar.js';
6
+ import { blockquoteSlotRecipe } from './blockquote.js';
7
+ import { breadcrumbSlotRecipe } from './breadcrumb.js';
8
+ import { cardSlotRecipe } from './card.js';
9
+ import { checkboxSlotRecipe } from './checkbox.js';
10
+ import { checkboxCardSlotRecipe } from './checkbox-card.js';
11
+ import { collapsibleSlotRecipe } from './collapsible.js';
12
+ import { colorPickerSlotRecipe } from './color-picker.js';
13
+ import { dataListSlotRecipe } from './data-list.js';
14
+ import { dialogSlotRecipe } from './dialog.js';
15
+ import { drawerSlotRecipe } from './drawer.js';
16
+ import { editableSlotRecipe } from './editable.js';
17
+ import { emptyStateSlotRecipe } from './empty-state.js';
18
+ import { fieldSlotRecipe } from './field.js';
19
+ import { fieldsetSlotRecipe } from './fieldset.js';
20
+ import { fileUploadSlotRecipe } from './file-upload.js';
21
+ import { hoverCardSlotRecipe } from './hover-card.js';
22
+ import { listSlotRecipe } from './list.js';
23
+ import { menuSlotRecipe } from './menu.js';
24
+ import { nativeSelectSlotRecipe } from './native-select.js';
25
+ import { numberInputSlotRecipe } from './number-input.js';
26
+ import { pinInputSlotRecipe } from './pin-input.js';
27
+ import { popoverSlotRecipe } from './popover.js';
28
+ import { progressSlotRecipe } from './progress.js';
29
+ import { progressCircleSlotRecipe } from './progress-circle.js';
30
+ import { qrCodeSlotRecipe } from './qr-code.js';
31
+ import { radioCardSlotRecipe } from './radio-card.js';
32
+ import { radioGroupSlotRecipe } from './radio-group.js';
33
+ import { ratingGroupSlotRecipe } from './rating-group.js';
34
+ import { segmentGroupSlotRecipe } from './segment-group.js';
35
+ import { selectSlotRecipe } from './select.js';
36
+ import { sliderSlotRecipe } from './slider.js';
37
+ import { statSlotRecipe } from './stat.js';
38
+ import { statusSlotRecipe } from './status.js';
39
+ import { stepsSlotRecipe } from './steps.js';
40
+ import { switchSlotRecipe } from './switch.js';
41
+ import { tableSlotRecipe } from './table.js';
42
+ import { tabsSlotRecipe } from './tabs.js';
43
+ import { tagSlotRecipe } from './tag.js';
44
+ import { timelineSlotRecipe } from './timeline.js';
45
+ import { toastSlotRecipe } from './toast.js';
46
+ import { tooltipSlotRecipe } from './tooltip.js';
47
+
48
+ const slotRecipes = {
49
+ accordion: accordionSlotRecipe,
50
+ actionBar: actionBarSlotRecipe,
51
+ alert: alertSlotRecipe,
52
+ avatar: avatarSlotRecipe,
53
+ blockquote: blockquoteSlotRecipe,
54
+ breadcrumb: breadcrumbSlotRecipe,
55
+ card: cardSlotRecipe,
56
+ checkbox: checkboxSlotRecipe,
57
+ checkboxCard: checkboxCardSlotRecipe,
58
+ collapsible: collapsibleSlotRecipe,
59
+ dataList: dataListSlotRecipe,
60
+ dialog: dialogSlotRecipe,
61
+ drawer: drawerSlotRecipe,
62
+ editable: editableSlotRecipe,
63
+ emptyState: emptyStateSlotRecipe,
64
+ field: fieldSlotRecipe,
65
+ fieldset: fieldsetSlotRecipe,
66
+ fileUpload: fileUploadSlotRecipe,
67
+ hoverCard: hoverCardSlotRecipe,
68
+ list: listSlotRecipe,
69
+ menu: menuSlotRecipe,
70
+ nativeSelect: nativeSelectSlotRecipe,
71
+ numberInput: numberInputSlotRecipe,
72
+ pinInput: pinInputSlotRecipe,
73
+ popover: popoverSlotRecipe,
74
+ progress: progressSlotRecipe,
75
+ progressCircle: progressCircleSlotRecipe,
76
+ radioCard: radioCardSlotRecipe,
77
+ radioGroup: radioGroupSlotRecipe,
78
+ ratingGroup: ratingGroupSlotRecipe,
79
+ segmentGroup: segmentGroupSlotRecipe,
80
+ select: selectSlotRecipe,
81
+ slider: sliderSlotRecipe,
82
+ stat: statSlotRecipe,
83
+ steps: stepsSlotRecipe,
84
+ swittch: switchSlotRecipe,
85
+ table: tableSlotRecipe,
86
+ tabs: tabsSlotRecipe,
87
+ tag: tagSlotRecipe,
88
+ toast: toastSlotRecipe,
89
+ tooltip: tooltipSlotRecipe,
90
+ status: statusSlotRecipe,
91
+ timeline: timelineSlotRecipe,
92
+ colorPicker: colorPickerSlotRecipe,
93
+ qrCode: qrCodeSlotRecipe
94
+ };
95
+
96
+ export { slotRecipes };
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const listSlotRecipe = defineSlotRecipe({
5
+ className: "list",
6
+ slots: ["root", "item", "indicator"],
7
+ base: {
8
+ root: {
9
+ display: "flex",
10
+ flexDirection: "column",
11
+ gap: "var(--list-gap)",
12
+ "& :where(ul, ol)": {
13
+ marginTop: "var(--list-gap)"
14
+ }
15
+ },
16
+ item: {
17
+ whiteSpace: "normal",
18
+ display: "list-item"
19
+ },
20
+ indicator: {
21
+ marginEnd: "2",
22
+ minHeight: "1lh",
23
+ flexShrink: 0,
24
+ display: "inline-block",
25
+ verticalAlign: "middle"
26
+ }
27
+ },
28
+ variants: {
29
+ variant: {
30
+ marker: {
31
+ root: {
32
+ listStyle: "revert",
33
+ listStylePosition: "inside"
34
+ },
35
+ item: {
36
+ _marker: {
37
+ color: "fg.subtle"
38
+ }
39
+ }
40
+ },
41
+ plain: {
42
+ item: {
43
+ alignItems: "flex-start",
44
+ display: "inline-flex"
45
+ }
46
+ }
47
+ },
48
+ align: {
49
+ center: {
50
+ item: {
51
+ alignItems: "center"
52
+ }
53
+ },
54
+ start: {
55
+ item: {
56
+ alignItems: "flex-start"
57
+ }
58
+ },
59
+ end: {
60
+ item: {
61
+ alignItems: "flex-end"
62
+ }
63
+ }
64
+ }
65
+ },
66
+ defaultVariants: {
67
+ variant: "marker"
68
+ }
69
+ });
70
+
71
+ export { listSlotRecipe };
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const menuSlotRecipe = defineSlotRecipe({
5
+ className: "menu",
6
+ slots: [
7
+ "arrow",
8
+ "arrowTip",
9
+ "content",
10
+ "contextTrigger",
11
+ "indicator",
12
+ "item",
13
+ "itemGroup",
14
+ "itemGroupLabel",
15
+ "itemIndicator",
16
+ "itemText",
17
+ "positioner",
18
+ "separator",
19
+ "trigger",
20
+ "triggerItem",
21
+ "itemCommand"
22
+ ],
23
+ base: {
24
+ content: {
25
+ outline: 0,
26
+ bg: "bg.panel",
27
+ boxShadow: "lg",
28
+ color: "fg",
29
+ maxHeight: "var(--available-height)",
30
+ "--menu-z-index": "zIndex.dropdown",
31
+ zIndex: "calc(var(--menu-z-index) + var(--layer-index, 0))",
32
+ borderRadius: "l2",
33
+ overflow: "hidden",
34
+ overflowY: "auto",
35
+ _open: {
36
+ animationStyle: "slide-fade-in",
37
+ animationDuration: "fast"
38
+ },
39
+ _closed: {
40
+ animationStyle: "slide-fade-out",
41
+ animationDuration: "faster"
42
+ }
43
+ },
44
+ item: {
45
+ textDecoration: "none",
46
+ color: "fg",
47
+ userSelect: "none",
48
+ borderRadius: "l1",
49
+ width: "100%",
50
+ display: "flex",
51
+ cursor: "menuitem",
52
+ alignItems: "center",
53
+ textAlign: "start",
54
+ position: "relative",
55
+ flex: "0 0 auto",
56
+ outline: 0,
57
+ _disabled: {
58
+ layerStyle: "disabled"
59
+ }
60
+ },
61
+ itemText: {
62
+ flex: "1"
63
+ },
64
+ itemGroupLabel: {
65
+ px: "2",
66
+ py: "1.5",
67
+ fontWeight: "semibold",
68
+ textStyle: "sm"
69
+ },
70
+ indicator: {
71
+ display: "inline-flex",
72
+ alignItems: "center",
73
+ justifyContent: "center",
74
+ flexShrink: "0"
75
+ },
76
+ itemCommand: {
77
+ opacity: "0.6",
78
+ textStyle: "xs",
79
+ ms: "auto",
80
+ ps: "4",
81
+ letterSpacing: "widest"
82
+ },
83
+ separator: {
84
+ height: "1px",
85
+ bg: "bg.muted",
86
+ my: "1",
87
+ mx: "-1"
88
+ }
89
+ },
90
+ variants: {
91
+ variant: {
92
+ subtle: {
93
+ item: {
94
+ _highlighted: {
95
+ bg: {
96
+ _light: "bg.muted",
97
+ _dark: "bg.emphasized"
98
+ }
99
+ }
100
+ }
101
+ },
102
+ solid: {
103
+ item: {
104
+ _highlighted: {
105
+ bg: "colorPalette.solid",
106
+ color: "colorPalette.contrast"
107
+ }
108
+ }
109
+ }
110
+ },
111
+ size: {
112
+ sm: {
113
+ content: {
114
+ minW: "8rem",
115
+ padding: "1"
116
+ },
117
+ item: {
118
+ gap: "1",
119
+ textStyle: "xs",
120
+ py: "1",
121
+ px: "1.5"
122
+ }
123
+ },
124
+ md: {
125
+ content: {
126
+ minW: "8rem",
127
+ padding: "1.5"
128
+ },
129
+ item: {
130
+ gap: "2",
131
+ textStyle: "sm",
132
+ py: "1.5",
133
+ px: "2"
134
+ }
135
+ }
136
+ }
137
+ },
138
+ defaultVariants: {
139
+ size: "md",
140
+ variant: "subtle"
141
+ }
142
+ });
143
+
144
+ export { menuSlotRecipe };