@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,145 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const progressSlotRecipe = defineSlotRecipe({
5
+ slots: [
6
+ "root",
7
+ "label",
8
+ "track",
9
+ "range",
10
+ "valueText",
11
+ "view",
12
+ "circle",
13
+ "circleTrack",
14
+ "circleRange"
15
+ ],
16
+ className: "progress",
17
+ base: {
18
+ root: {
19
+ textStyle: "sm",
20
+ position: "relative"
21
+ },
22
+ track: {
23
+ overflow: "hidden",
24
+ position: "relative"
25
+ },
26
+ range: {
27
+ display: "flex",
28
+ alignItems: "center",
29
+ justifyContent: "center",
30
+ transitionProperty: "width, height",
31
+ transitionDuration: "slow",
32
+ height: "100%",
33
+ bgColor: "var(--track-color)",
34
+ _indeterminate: {
35
+ "--animate-from-x": "-40%",
36
+ "--animate-to-x": "100%",
37
+ position: "absolute",
38
+ willChange: "left",
39
+ minWidth: "50%",
40
+ animation: "position 1s ease infinite normal none running",
41
+ backgroundImage: "linear-gradient(to right, transparent 0%, var(--track-color) 50%, transparent 100%)"
42
+ }
43
+ },
44
+ label: {
45
+ display: "inline-flex",
46
+ fontWeight: "medium",
47
+ alignItems: "center",
48
+ gap: "1"
49
+ },
50
+ valueText: {
51
+ textStyle: "xs",
52
+ lineHeight: "1",
53
+ fontWeight: "medium"
54
+ }
55
+ },
56
+ variants: {
57
+ variant: {
58
+ outline: {
59
+ track: {
60
+ shadow: "inset",
61
+ bgColor: "bg.muted"
62
+ },
63
+ range: {
64
+ bgColor: "colorPalette.solid"
65
+ }
66
+ },
67
+ subtle: {
68
+ track: {
69
+ bgColor: "colorPalette.muted"
70
+ },
71
+ range: {
72
+ bgColor: "colorPalette.solid/72"
73
+ }
74
+ }
75
+ },
76
+ shape: {
77
+ square: {},
78
+ rounded: {
79
+ track: {
80
+ borderRadius: "l1"
81
+ }
82
+ },
83
+ full: {
84
+ track: {
85
+ borderRadius: "full"
86
+ }
87
+ }
88
+ },
89
+ striped: {
90
+ true: {
91
+ range: {
92
+ backgroundImage: "linear-gradient(45deg, var(--stripe-color) 25%, transparent 25%, transparent 50%, var(--stripe-color) 50%, var(--stripe-color) 75%, transparent 75%, transparent)",
93
+ backgroundSize: "var(--stripe-size) var(--stripe-size)",
94
+ "--stripe-size": "1rem",
95
+ "--stripe-color": {
96
+ _light: "rgba(255, 255, 255, 0.3)",
97
+ _dark: "rgba(0, 0, 0, 0.3)"
98
+ }
99
+ }
100
+ }
101
+ },
102
+ animated: {
103
+ true: {
104
+ range: {
105
+ "--animate-from": "var(--stripe-size)",
106
+ animation: "bg-position 1s linear infinite"
107
+ }
108
+ }
109
+ },
110
+ size: {
111
+ xs: {
112
+ track: {
113
+ h: "1.5"
114
+ }
115
+ },
116
+ sm: {
117
+ track: {
118
+ h: "2"
119
+ }
120
+ },
121
+ md: {
122
+ track: {
123
+ h: "2.5"
124
+ }
125
+ },
126
+ lg: {
127
+ track: {
128
+ h: "3"
129
+ }
130
+ },
131
+ xl: {
132
+ track: {
133
+ h: "4"
134
+ }
135
+ }
136
+ }
137
+ },
138
+ defaultVariants: {
139
+ variant: "outline",
140
+ size: "md",
141
+ shape: "rounded"
142
+ }
143
+ });
144
+
145
+ export { progressSlotRecipe };
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const qrCodeSlotRecipe = defineSlotRecipe({
5
+ slots: ["root", "frame", "pattern", "overlay", "downloadTrigger"],
6
+ className: "qr-code",
7
+ base: {
8
+ root: {
9
+ position: "relative",
10
+ width: "fit-content",
11
+ "--qr-code-overlay-size": "calc(var(--qr-code-size) / 3)"
12
+ },
13
+ frame: {
14
+ width: "var(--qr-code-size)",
15
+ height: "var(--qr-code-size)",
16
+ fill: "currentColor"
17
+ },
18
+ overlay: {
19
+ display: "flex",
20
+ alignItems: "center",
21
+ justifyContent: "center",
22
+ width: "var(--qr-code-overlay-size)",
23
+ height: "var(--qr-code-overlay-size)",
24
+ padding: "1",
25
+ bg: "bg",
26
+ rounded: "l1"
27
+ }
28
+ },
29
+ variants: {
30
+ size: {
31
+ "2xs": {
32
+ root: {
33
+ "--qr-code-size": "40px"
34
+ }
35
+ },
36
+ xs: {
37
+ root: {
38
+ "--qr-code-size": "64px"
39
+ }
40
+ },
41
+ sm: {
42
+ root: {
43
+ "--qr-code-size": "80px"
44
+ }
45
+ },
46
+ md: {
47
+ root: {
48
+ "--qr-code-size": "120px"
49
+ }
50
+ },
51
+ lg: {
52
+ root: {
53
+ "--qr-code-size": "160px"
54
+ }
55
+ },
56
+ xl: {
57
+ root: {
58
+ "--qr-code-size": "200px"
59
+ }
60
+ },
61
+ "2xl": {
62
+ root: {
63
+ "--qr-code-size": "240px"
64
+ }
65
+ },
66
+ full: {
67
+ root: {
68
+ "--qr-code-size": "100%"
69
+ }
70
+ }
71
+ }
72
+ },
73
+ defaultVariants: {
74
+ size: "md"
75
+ }
76
+ });
77
+
78
+ export { qrCodeSlotRecipe };
@@ -0,0 +1,315 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const radioCardSlotRecipe = defineSlotRecipe({
5
+ className: "radio-card",
6
+ slots: [
7
+ "root",
8
+ "label",
9
+ "item",
10
+ "itemText",
11
+ "itemControl",
12
+ "indicator",
13
+ "itemAddon",
14
+ "itemIndicator",
15
+ "itemContent",
16
+ "itemDescription"
17
+ ],
18
+ base: {
19
+ root: {
20
+ display: "flex",
21
+ flexDirection: "column",
22
+ gap: "1.5",
23
+ isolation: "isolate"
24
+ },
25
+ item: {
26
+ flex: "1",
27
+ display: "flex",
28
+ flexDirection: "column",
29
+ userSelect: "none",
30
+ position: "relative",
31
+ borderRadius: "l2",
32
+ _focus: {
33
+ bg: "colorPalette.muted/20"
34
+ },
35
+ _disabled: {
36
+ opacity: "0.8",
37
+ borderColor: "border.disabled"
38
+ },
39
+ _checked: {
40
+ zIndex: "1"
41
+ }
42
+ },
43
+ label: {
44
+ display: "inline-flex",
45
+ fontWeight: "medium",
46
+ textStyle: "sm",
47
+ _disabled: {
48
+ opacity: "0.5"
49
+ }
50
+ },
51
+ itemText: {
52
+ fontWeight: "medium"
53
+ },
54
+ itemDescription: {
55
+ opacity: "0.64",
56
+ textStyle: "sm"
57
+ },
58
+ itemControl: {
59
+ display: "inline-flex",
60
+ flex: "1",
61
+ pos: "relative",
62
+ rounded: "inherit",
63
+ justifyContent: "var(--radio-card-justify)",
64
+ alignItems: "var(--radio-card-align)",
65
+ _disabled: {
66
+ bg: "bg.muted"
67
+ }
68
+ },
69
+ itemIndicator: {
70
+ display: "inline-flex",
71
+ alignItems: "center",
72
+ justifyContent: "center",
73
+ flexShrink: 0,
74
+ verticalAlign: "top",
75
+ color: "white",
76
+ borderWidth: "1px",
77
+ borderColor: "transparent",
78
+ borderRadius: "full",
79
+ cursor: "radio",
80
+ _focusVisible: {
81
+ outline: "2px solid",
82
+ outlineColor: "colorPalette.focusRing",
83
+ outlineOffset: "2px"
84
+ },
85
+ _invalid: {
86
+ colorPalette: "red",
87
+ borderColor: "red.500"
88
+ },
89
+ _disabled: {
90
+ opacity: "0.5",
91
+ cursor: "disabled"
92
+ },
93
+ "& .dot": {
94
+ height: "100%",
95
+ width: "100%",
96
+ borderRadius: "full",
97
+ bg: "currentColor",
98
+ scale: "0.4"
99
+ }
100
+ },
101
+ itemAddon: {
102
+ roundedBottom: "inherit",
103
+ _disabled: {
104
+ color: "fg.muted"
105
+ }
106
+ },
107
+ itemContent: {
108
+ display: "flex",
109
+ flexDirection: "column",
110
+ flex: "1",
111
+ gap: "1",
112
+ justifyContent: "var(--radio-card-justify)",
113
+ alignItems: "var(--radio-card-align)"
114
+ }
115
+ },
116
+ variants: {
117
+ size: {
118
+ sm: {
119
+ item: {
120
+ textStyle: "sm"
121
+ },
122
+ itemControl: {
123
+ padding: "3",
124
+ gap: "1.5"
125
+ },
126
+ itemAddon: {
127
+ px: "3",
128
+ py: "1.5",
129
+ borderTopWidth: "1px"
130
+ },
131
+ itemIndicator: {
132
+ boxSize: "4"
133
+ }
134
+ },
135
+ md: {
136
+ item: {
137
+ textStyle: "sm"
138
+ },
139
+ itemControl: {
140
+ padding: "4",
141
+ gap: "2.5"
142
+ },
143
+ itemAddon: {
144
+ px: "4",
145
+ py: "2",
146
+ borderTopWidth: "1px"
147
+ },
148
+ itemIndicator: {
149
+ boxSize: "5"
150
+ }
151
+ },
152
+ lg: {
153
+ item: {
154
+ textStyle: "md"
155
+ },
156
+ itemControl: {
157
+ padding: "4",
158
+ gap: "3.5"
159
+ },
160
+ itemAddon: {
161
+ px: "4",
162
+ py: "2",
163
+ borderTopWidth: "1px"
164
+ },
165
+ itemIndicator: {
166
+ boxSize: "6"
167
+ }
168
+ }
169
+ },
170
+ variant: {
171
+ surface: {
172
+ item: {
173
+ borderWidth: "1px",
174
+ _checked: {
175
+ bg: "colorPalette.subtle",
176
+ color: "colorPalette.fg",
177
+ borderColor: "colorPalette.muted"
178
+ }
179
+ },
180
+ itemIndicator: {
181
+ borderWidth: "1px",
182
+ borderColor: "border",
183
+ _checked: {
184
+ bg: "colorPalette.solid",
185
+ color: "colorPalette.contrast",
186
+ borderColor: "colorPalette.solid"
187
+ }
188
+ }
189
+ },
190
+ subtle: {
191
+ item: {
192
+ bg: "bg.muted"
193
+ },
194
+ itemControl: {
195
+ _checked: {
196
+ bg: "colorPalette.muted",
197
+ color: "colorPalette.fg"
198
+ }
199
+ },
200
+ itemIndicator: {
201
+ borderWidth: "1px",
202
+ borderColor: "inherit",
203
+ _checked: {
204
+ color: "colorPalette.fg",
205
+ borderColor: "colorPalette.solid"
206
+ },
207
+ "& .dot": {
208
+ scale: "0.6"
209
+ }
210
+ }
211
+ },
212
+ outline: {
213
+ item: {
214
+ borderWidth: "1px",
215
+ _checked: {
216
+ boxShadow: "0 0 0 1px var(--shadow-color)",
217
+ boxShadowColor: "colorPalette.solid",
218
+ borderColor: "colorPalette.solid"
219
+ }
220
+ },
221
+ itemIndicator: {
222
+ borderWidth: "1px",
223
+ borderColor: "border",
224
+ _checked: {
225
+ bg: "colorPalette.solid",
226
+ color: "colorPalette.contrast",
227
+ borderColor: "colorPalette.solid"
228
+ }
229
+ }
230
+ },
231
+ solid: {
232
+ item: {
233
+ borderWidth: "1px",
234
+ _checked: {
235
+ bg: "colorPalette.solid",
236
+ color: "colorPalette.contrast",
237
+ borderColor: "colorPalette.solid"
238
+ }
239
+ },
240
+ itemIndicator: {
241
+ bg: "bg",
242
+ borderWidth: "1px",
243
+ borderColor: "inherit",
244
+ _checked: {
245
+ color: "colorPalette.solid",
246
+ borderColor: "currentcolor"
247
+ }
248
+ }
249
+ }
250
+ },
251
+ justify: {
252
+ start: {
253
+ item: {
254
+ "--radio-card-justify": "flex-start"
255
+ }
256
+ },
257
+ end: {
258
+ item: {
259
+ "--radio-card-justify": "flex-end"
260
+ }
261
+ },
262
+ center: {
263
+ item: {
264
+ "--radio-card-justify": "center"
265
+ }
266
+ }
267
+ },
268
+ align: {
269
+ start: {
270
+ item: {
271
+ "--radio-card-align": "flex-start"
272
+ },
273
+ itemControl: {
274
+ textAlign: "start"
275
+ }
276
+ },
277
+ end: {
278
+ item: {
279
+ "--radio-card-align": "flex-end"
280
+ },
281
+ itemControl: {
282
+ textAlign: "end"
283
+ }
284
+ },
285
+ center: {
286
+ item: {
287
+ "--radio-card-align": "center"
288
+ },
289
+ itemControl: {
290
+ textAlign: "center"
291
+ }
292
+ }
293
+ },
294
+ orientation: {
295
+ vertical: {
296
+ itemControl: {
297
+ flexDirection: "column"
298
+ }
299
+ },
300
+ horizontal: {
301
+ itemControl: {
302
+ flexDirection: "row"
303
+ }
304
+ }
305
+ }
306
+ },
307
+ defaultVariants: {
308
+ size: "md",
309
+ variant: "outline",
310
+ align: "start",
311
+ orientation: "horizontal"
312
+ }
313
+ });
314
+
315
+ export { radioCardSlotRecipe };
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const radioGroupSlotRecipe = defineSlotRecipe({
5
+ className: "radio-group",
6
+ slots: [
7
+ "root",
8
+ "label",
9
+ "item",
10
+ "itemText",
11
+ "itemControl",
12
+ "indicator",
13
+ "itemAddon",
14
+ "itemIndicator"
15
+ ],
16
+ base: {
17
+ item: {
18
+ display: "inline-flex",
19
+ alignItems: "center",
20
+ position: "relative",
21
+ fontWeight: "medium",
22
+ _disabled: {
23
+ cursor: "disabled"
24
+ }
25
+ },
26
+ itemControl: {
27
+ display: "inline-flex",
28
+ alignItems: "center",
29
+ justifyContent: "center",
30
+ flexShrink: 0,
31
+ verticalAlign: "top",
32
+ color: "white",
33
+ borderWidth: "1px",
34
+ borderColor: "transparent",
35
+ borderRadius: "full",
36
+ cursor: "radio",
37
+ _focusVisible: {
38
+ outline: "2px solid",
39
+ outlineColor: "colorPalette.focusRing",
40
+ outlineOffset: "2px"
41
+ },
42
+ _invalid: {
43
+ colorPalette: "red",
44
+ borderColor: "red.500"
45
+ },
46
+ _disabled: {
47
+ opacity: "0.5",
48
+ cursor: "disabled"
49
+ },
50
+ "& .dot": {
51
+ height: "100%",
52
+ width: "100%",
53
+ borderRadius: "full",
54
+ bg: "currentColor",
55
+ scale: "0.4"
56
+ }
57
+ },
58
+ label: {
59
+ userSelect: "none",
60
+ textStyle: "sm",
61
+ _disabled: {
62
+ opacity: "0.5"
63
+ }
64
+ }
65
+ },
66
+ variants: {
67
+ variant: {
68
+ outline: {
69
+ itemControl: {
70
+ borderWidth: "1px",
71
+ borderColor: "inherit",
72
+ _checked: {
73
+ color: "colorPalette.fg",
74
+ borderColor: "colorPalette.solid"
75
+ },
76
+ "& .dot": {
77
+ scale: "0.6"
78
+ }
79
+ }
80
+ },
81
+ subtle: {
82
+ itemControl: {
83
+ borderWidth: "1px",
84
+ bg: "colorPalette.muted",
85
+ borderColor: "colorPalette.muted",
86
+ color: "transparent",
87
+ _checked: {
88
+ color: "colorPalette.fg"
89
+ }
90
+ }
91
+ },
92
+ solid: {
93
+ itemControl: {
94
+ borderWidth: "1px",
95
+ borderColor: "border",
96
+ _checked: {
97
+ bg: "colorPalette.solid",
98
+ color: "colorPalette.contrast",
99
+ borderColor: "colorPalette.solid"
100
+ }
101
+ }
102
+ }
103
+ },
104
+ size: {
105
+ xs: {
106
+ item: {
107
+ textStyle: "xs",
108
+ gap: "1.5"
109
+ },
110
+ itemControl: {
111
+ boxSize: "3"
112
+ }
113
+ },
114
+ sm: {
115
+ item: {
116
+ textStyle: "sm",
117
+ gap: "2"
118
+ },
119
+ itemControl: {
120
+ boxSize: "4"
121
+ }
122
+ },
123
+ md: {
124
+ item: {
125
+ textStyle: "sm",
126
+ gap: "2.5"
127
+ },
128
+ itemControl: {
129
+ boxSize: "5"
130
+ }
131
+ },
132
+ lg: {
133
+ item: {
134
+ textStyle: "md",
135
+ gap: "3"
136
+ },
137
+ itemControl: {
138
+ boxSize: "6"
139
+ }
140
+ }
141
+ }
142
+ },
143
+ defaultVariants: {
144
+ size: "md",
145
+ variant: "solid"
146
+ }
147
+ });
148
+
149
+ export { radioGroupSlotRecipe };