@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,178 @@
1
+ "use strict";
2
+ import { defineRecipe } from '../def.js';
3
+
4
+ const buttonRecipe = defineRecipe({
5
+ className: "button",
6
+ base: {
7
+ display: "inline-flex",
8
+ appearance: "none",
9
+ alignItems: "center",
10
+ justifyContent: "center",
11
+ userSelect: "none",
12
+ position: "relative",
13
+ borderRadius: "l2",
14
+ whiteSpace: "nowrap",
15
+ verticalAlign: "middle",
16
+ borderWidth: "1px",
17
+ borderColor: "transparent",
18
+ cursor: "button",
19
+ flexShrink: "0",
20
+ outline: "0",
21
+ lineHeight: "1.2",
22
+ isolation: "isolate",
23
+ fontWeight: "medium",
24
+ transitionProperty: "common",
25
+ transitionDuration: "moderate",
26
+ focusVisibleRing: "outside",
27
+ _disabled: {
28
+ layerStyle: "disabled"
29
+ },
30
+ _icon: {
31
+ flexShrink: "0"
32
+ }
33
+ },
34
+ variants: {
35
+ size: {
36
+ "2xs": {
37
+ h: "6",
38
+ minW: "6",
39
+ textStyle: "xs",
40
+ px: "2",
41
+ gap: "1",
42
+ _icon: {
43
+ width: "3.5",
44
+ height: "3.5"
45
+ }
46
+ },
47
+ xs: {
48
+ h: "8",
49
+ minW: "8",
50
+ textStyle: "xs",
51
+ px: "2.5",
52
+ gap: "1",
53
+ _icon: {
54
+ width: "4",
55
+ height: "4"
56
+ }
57
+ },
58
+ sm: {
59
+ h: "9",
60
+ minW: "9",
61
+ px: "3.5",
62
+ textStyle: "sm",
63
+ gap: "2",
64
+ _icon: {
65
+ width: "4",
66
+ height: "4"
67
+ }
68
+ },
69
+ md: {
70
+ h: "10",
71
+ minW: "10",
72
+ textStyle: "sm",
73
+ px: "4",
74
+ gap: "2",
75
+ _icon: {
76
+ width: "5",
77
+ height: "5"
78
+ }
79
+ },
80
+ lg: {
81
+ h: "11",
82
+ minW: "11",
83
+ textStyle: "md",
84
+ px: "5",
85
+ gap: "3",
86
+ _icon: {
87
+ width: "5",
88
+ height: "5"
89
+ }
90
+ },
91
+ xl: {
92
+ h: "12",
93
+ minW: "12",
94
+ textStyle: "md",
95
+ px: "5",
96
+ gap: "2.5",
97
+ _icon: {
98
+ width: "5",
99
+ height: "5"
100
+ }
101
+ },
102
+ "2xl": {
103
+ h: "16",
104
+ minW: "16",
105
+ textStyle: "lg",
106
+ px: "7",
107
+ gap: "3",
108
+ _icon: {
109
+ width: "6",
110
+ height: "6"
111
+ }
112
+ }
113
+ },
114
+ variant: {
115
+ solid: {
116
+ bg: "colorPalette.solid",
117
+ color: "colorPalette.contrast",
118
+ _hover: {
119
+ bg: "colorPalette.solid/90"
120
+ },
121
+ _expanded: {
122
+ bg: "colorPalette.solid/90"
123
+ }
124
+ },
125
+ subtle: {
126
+ bg: "colorPalette.subtle",
127
+ color: "colorPalette.fg",
128
+ _hover: {
129
+ bg: "colorPalette.muted"
130
+ },
131
+ _expanded: {
132
+ bg: "colorPalette.muted"
133
+ }
134
+ },
135
+ surface: {
136
+ bg: "colorPalette.subtle",
137
+ color: "colorPalette.fg",
138
+ shadow: "0 0 0px 1px var(--shadow-color)",
139
+ shadowColor: "colorPalette.muted",
140
+ _hover: {
141
+ bg: "colorPalette.muted"
142
+ },
143
+ _expanded: {
144
+ bg: "colorPalette.muted"
145
+ }
146
+ },
147
+ outline: {
148
+ borderWidth: "1px",
149
+ borderColor: "colorPalette.muted",
150
+ color: "colorPalette.fg",
151
+ _hover: {
152
+ bg: "colorPalette.subtle"
153
+ },
154
+ _expanded: {
155
+ bg: "colorPalette.subtle"
156
+ }
157
+ },
158
+ ghost: {
159
+ color: "colorPalette.fg",
160
+ _hover: {
161
+ bg: "colorPalette.subtle"
162
+ },
163
+ _expanded: {
164
+ bg: "colorPalette.subtle"
165
+ }
166
+ },
167
+ plain: {
168
+ color: "colorPalette.fg"
169
+ }
170
+ }
171
+ },
172
+ defaultVariants: {
173
+ size: "md",
174
+ variant: "solid"
175
+ }
176
+ });
177
+
178
+ export { buttonRecipe };
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ import { defineRecipe } from '../def.js';
3
+
4
+ const checkmarkRecipe = defineRecipe({
5
+ className: "checkmark",
6
+ base: {
7
+ display: "inline-flex",
8
+ alignItems: "center",
9
+ justifyContent: "center",
10
+ flexShrink: "0",
11
+ color: "white",
12
+ borderWidth: "1px",
13
+ borderColor: "transparent",
14
+ borderRadius: "l1",
15
+ focusVisibleRing: "outside",
16
+ _icon: {
17
+ boxSize: "full"
18
+ },
19
+ _invalid: {
20
+ colorPalette: "red",
21
+ borderColor: "border.error"
22
+ },
23
+ _disabled: {
24
+ opacity: "0.5"
25
+ }
26
+ },
27
+ variants: {
28
+ size: {
29
+ xs: {
30
+ boxSize: "3"
31
+ },
32
+ sm: {
33
+ boxSize: "4"
34
+ },
35
+ md: {
36
+ boxSize: "5",
37
+ p: "0.5"
38
+ },
39
+ lg: {
40
+ boxSize: "6",
41
+ p: "0.5"
42
+ }
43
+ },
44
+ variant: {
45
+ solid: {
46
+ borderColor: "border",
47
+ "&:is([data-state=checked], [data-state=indeterminate])": {
48
+ bg: "colorPalette.solid",
49
+ color: "colorPalette.contrast",
50
+ borderColor: "colorPalette.solid"
51
+ }
52
+ },
53
+ outline: {
54
+ borderColor: "border",
55
+ "&:is([data-state=checked], [data-state=indeterminate])": {
56
+ color: "colorPalette.fg",
57
+ borderColor: "colorPalette.solid"
58
+ }
59
+ },
60
+ subtle: {
61
+ bg: "colorPalette.muted",
62
+ borderColor: "colorPalette.muted",
63
+ "&:is([data-state=checked], [data-state=indeterminate])": {
64
+ color: "colorPalette.fg"
65
+ }
66
+ },
67
+ plain: {
68
+ "&:is([data-state=checked], [data-state=indeterminate])": {
69
+ color: "colorPalette.fg"
70
+ }
71
+ },
72
+ inverted: {
73
+ borderColor: "border",
74
+ color: "colorPalette.fg",
75
+ "&:is([data-state=checked], [data-state=indeterminate])": {
76
+ borderColor: "colorPalette.solid"
77
+ }
78
+ }
79
+ }
80
+ },
81
+ defaultVariants: {
82
+ variant: "solid",
83
+ size: "md"
84
+ }
85
+ });
86
+
87
+ export { checkmarkRecipe };
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ import { defineRecipe } from '../def.js';
3
+
4
+ const codeRecipe = defineRecipe({
5
+ className: "code",
6
+ base: {
7
+ fontFamily: "mono",
8
+ alignItems: "center",
9
+ display: "inline-flex",
10
+ borderRadius: "l2"
11
+ },
12
+ variants: {
13
+ variant: {
14
+ solid: {
15
+ bg: "colorPalette.solid",
16
+ color: "colorPalette.contrast"
17
+ },
18
+ subtle: {
19
+ bg: "colorPalette.subtle",
20
+ color: "colorPalette.fg"
21
+ },
22
+ outline: {
23
+ color: "colorPalette.fg",
24
+ shadow: "inset 0 0 0px 1px var(--shadow-color)",
25
+ shadowColor: "colorPalette.muted"
26
+ },
27
+ surface: {
28
+ bg: "colorPalette.subtle",
29
+ color: "colorPalette.fg",
30
+ shadow: "inset 0 0 0px 1px var(--shadow-color)",
31
+ shadowColor: "colorPalette.muted"
32
+ },
33
+ plain: {
34
+ color: "colorPalette.fg"
35
+ }
36
+ },
37
+ size: {
38
+ xs: {
39
+ textStyle: "2xs",
40
+ px: "1",
41
+ minH: "4"
42
+ },
43
+ sm: {
44
+ textStyle: "xs",
45
+ px: "1.5",
46
+ minH: "5"
47
+ },
48
+ md: {
49
+ textStyle: "sm",
50
+ px: "2",
51
+ minH: "6"
52
+ },
53
+ lg: {
54
+ textStyle: "sm",
55
+ px: "2.5",
56
+ minH: "7"
57
+ }
58
+ }
59
+ },
60
+ defaultVariants: {
61
+ variant: "subtle",
62
+ size: "sm"
63
+ }
64
+ });
65
+
66
+ export { codeRecipe };
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ import { defineRecipe } from '../def.js';
3
+
4
+ const colorSwatchRecipe = defineRecipe({
5
+ className: "color-swatch",
6
+ base: {
7
+ boxSize: "var(--swatch-size)",
8
+ shadow: "inset 0 0 0 1px rgba(0, 0, 0, 0.1)",
9
+ "--checker-size": "8px",
10
+ "--checker-bg": "colors.bg",
11
+ "--checker-fg": "colors.bg.emphasized",
12
+ background: "linear-gradient(var(--color), var(--color)), repeating-conic-gradient(var(--checker-fg) 0%, var(--checker-fg) 25%, var(--checker-bg) 0%, var(--checker-bg) 50%) 0% 50% / var(--checker-size) var(--checker-size) !important",
13
+ display: "inline-flex",
14
+ alignItems: "center",
15
+ justifyContent: "center",
16
+ flexShrink: "0"
17
+ },
18
+ variants: {
19
+ size: {
20
+ "2xs": {
21
+ "--swatch-size": "sizes.3.5"
22
+ },
23
+ xs: {
24
+ "--swatch-size": "sizes.4"
25
+ },
26
+ sm: {
27
+ "--swatch-size": "sizes.4.5"
28
+ },
29
+ md: {
30
+ "--swatch-size": "sizes.5"
31
+ },
32
+ lg: {
33
+ "--swatch-size": "sizes.6"
34
+ },
35
+ xl: {
36
+ "--swatch-size": "sizes.7"
37
+ },
38
+ "2xl": {
39
+ "--swatch-size": "sizes.8"
40
+ },
41
+ inherit: {
42
+ "--swatch-size": "inherit"
43
+ },
44
+ full: {
45
+ "--swatch-size": "100%"
46
+ }
47
+ },
48
+ shape: {
49
+ square: {
50
+ borderRadius: "none"
51
+ },
52
+ circle: {
53
+ borderRadius: "full"
54
+ },
55
+ rounded: {
56
+ borderRadius: "l1"
57
+ }
58
+ }
59
+ },
60
+ defaultVariants: {
61
+ size: "md",
62
+ shape: "rounded"
63
+ }
64
+ });
65
+
66
+ export { colorSwatchRecipe };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ import { defineRecipe } from '../def.js';
3
+
4
+ const containerRecipe = defineRecipe({
5
+ className: "container",
6
+ base: {
7
+ position: "relative",
8
+ maxWidth: "8xl",
9
+ w: "100%",
10
+ mx: "auto",
11
+ px: {
12
+ base: "4",
13
+ md: "6",
14
+ lg: "8"
15
+ }
16
+ },
17
+ variants: {
18
+ centerContent: {
19
+ true: {
20
+ display: "flex",
21
+ flexDirection: "column",
22
+ alignItems: "center"
23
+ }
24
+ },
25
+ fluid: {
26
+ true: {
27
+ maxWidth: "full"
28
+ }
29
+ }
30
+ }
31
+ });
32
+
33
+ export { containerRecipe };
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ import { defineRecipe } from '../def.js';
3
+
4
+ const headingRecipe = defineRecipe({
5
+ className: "heading",
6
+ base: {
7
+ fontFamily: "heading",
8
+ fontWeight: "semibold"
9
+ },
10
+ variants: {
11
+ size: {
12
+ xs: {
13
+ textStyle: "xs"
14
+ },
15
+ sm: {
16
+ textStyle: "sm"
17
+ },
18
+ md: {
19
+ textStyle: "md"
20
+ },
21
+ lg: {
22
+ textStyle: "lg"
23
+ },
24
+ xl: {
25
+ textStyle: "xl"
26
+ },
27
+ "2xl": {
28
+ textStyle: "2xl"
29
+ },
30
+ "3xl": {
31
+ textStyle: "3xl"
32
+ },
33
+ "4xl": {
34
+ textStyle: "4xl"
35
+ },
36
+ "5xl": {
37
+ textStyle: "5xl"
38
+ },
39
+ "6xl": {
40
+ textStyle: "6xl"
41
+ },
42
+ "7xl": {
43
+ textStyle: "7xl"
44
+ }
45
+ }
46
+ },
47
+ defaultVariants: {
48
+ size: "xl"
49
+ }
50
+ });
51
+
52
+ export { headingRecipe };
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ import { defineRecipe } from '../def.js';
3
+
4
+ const iconRecipe = defineRecipe({
5
+ className: "icon",
6
+ base: {
7
+ display: "inline-block",
8
+ lineHeight: "1em",
9
+ flexShrink: "0",
10
+ color: "currentcolor",
11
+ verticalAlign: "middle",
12
+ width: "var(--icon-size)",
13
+ height: "var(--icon-size)"
14
+ },
15
+ variants: {
16
+ size: {
17
+ inherit: {
18
+ "--icon-size": "1em"
19
+ },
20
+ xs: {
21
+ "--icon-size": "sizes.3"
22
+ },
23
+ sm: {
24
+ "--icon-size": "sizes.4"
25
+ },
26
+ md: {
27
+ "--icon-size": "sizes.5"
28
+ },
29
+ lg: {
30
+ "--icon-size": "sizes.6"
31
+ },
32
+ xl: {
33
+ "--icon-size": "sizes.7"
34
+ },
35
+ "2xl": {
36
+ "--icon-size": "sizes.8"
37
+ }
38
+ }
39
+ },
40
+ defaultVariants: {
41
+ size: "inherit"
42
+ }
43
+ });
44
+
45
+ export { iconRecipe };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ import { badgeRecipe } from './badge.js';
3
+ import { buttonRecipe } from './button.js';
4
+ import { checkmarkRecipe } from './checkmark.js';
5
+ import { codeRecipe } from './code.js';
6
+ import { colorSwatchRecipe } from './color-swatch.js';
7
+ import { containerRecipe } from './container.js';
8
+ import { headingRecipe } from './heading.js';
9
+ import { iconRecipe } from './icon.js';
10
+ import { inputRecipe } from './input.js';
11
+ import { inputAddonRecipe } from './input-addon.js';
12
+ import { kbdRecipe } from './kbd.js';
13
+ import { linkRecipe } from './link.js';
14
+ import { markRecipe } from './mark.js';
15
+ import { radiomarkRecipe } from './radiomark.js';
16
+ import { separatorRecipe } from './separator.js';
17
+ import { skeletonRecipe } from './skeleton.js';
18
+ import { skipNavLinkRecipe } from './skip-nav-link.js';
19
+ import { spinnerRecipe } from './spinner.js';
20
+ import { textareaRecipe } from './textarea.js';
21
+
22
+ const recipes = {
23
+ badge: badgeRecipe,
24
+ button: buttonRecipe,
25
+ code: codeRecipe,
26
+ container: containerRecipe,
27
+ heading: headingRecipe,
28
+ input: inputRecipe,
29
+ inputAddon: inputAddonRecipe,
30
+ kbd: kbdRecipe,
31
+ link: linkRecipe,
32
+ mark: markRecipe,
33
+ separator: separatorRecipe,
34
+ skeleton: skeletonRecipe,
35
+ skipNavLink: skipNavLinkRecipe,
36
+ spinner: spinnerRecipe,
37
+ textarea: textareaRecipe,
38
+ icon: iconRecipe,
39
+ checkmark: checkmarkRecipe,
40
+ radiomark: radiomarkRecipe,
41
+ colorSwatch: colorSwatchRecipe
42
+ };
43
+
44
+ export { recipes };
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ import { defineRecipe } from '../def.js';
3
+
4
+ const inputAddonRecipe = defineRecipe({
5
+ className: "input-addon",
6
+ base: {
7
+ flex: "0 0 auto",
8
+ width: "auto",
9
+ display: "flex",
10
+ alignItems: "center",
11
+ whiteSpace: "nowrap",
12
+ alignSelf: "stretch",
13
+ borderRadius: "l2"
14
+ },
15
+ variants: {
16
+ size: {
17
+ "2xs": {
18
+ textStyle: "xs",
19
+ px: "2",
20
+ "--input-height": "sizes.7"
21
+ },
22
+ xs: {
23
+ textStyle: "xs",
24
+ px: "2",
25
+ "--input-height": "sizes.8"
26
+ },
27
+ sm: {
28
+ textStyle: "sm",
29
+ px: "2.5",
30
+ "--input-height": "sizes.9"
31
+ },
32
+ md: {
33
+ textStyle: "sm",
34
+ px: "3",
35
+ "--input-height": "sizes.10"
36
+ },
37
+ lg: {
38
+ textStyle: "md",
39
+ px: "4",
40
+ "--input-height": "sizes.11"
41
+ },
42
+ xl: {
43
+ textStyle: "md",
44
+ px: "4.5",
45
+ "--input-height": "sizes.12"
46
+ },
47
+ "2xl": {
48
+ textStyle: "lg",
49
+ px: "5",
50
+ "--input-height": "sizes.16"
51
+ }
52
+ },
53
+ variant: {
54
+ outline: {
55
+ borderWidth: "1px",
56
+ borderColor: "border",
57
+ bg: "bg.muted"
58
+ },
59
+ subtle: {
60
+ borderWidth: "1px",
61
+ borderColor: "transparent",
62
+ bg: "bg.emphasized"
63
+ },
64
+ flushed: {
65
+ borderBottom: "1px solid",
66
+ borderColor: "inherit",
67
+ borderRadius: "0",
68
+ px: "0",
69
+ bg: "transparent"
70
+ }
71
+ }
72
+ },
73
+ defaultVariants: {
74
+ size: "md",
75
+ variant: "outline"
76
+ }
77
+ });
78
+
79
+ export { inputAddonRecipe };