@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,85 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var def = require('./def.cjs');
5
+
6
+ const createFocusRing = (selector) => {
7
+ return {
8
+ values: ["outside", "inside", "mixed", "none"],
9
+ transform(value, { token }) {
10
+ const focusRingColor = token("colors.colorPalette.focusRing");
11
+ const styles = {
12
+ inside: {
13
+ "--focus-ring-color": focusRingColor,
14
+ [selector]: {
15
+ outlineOffset: "0px",
16
+ outlineWidth: "var(--focus-ring-width, 1px)",
17
+ outlineColor: "var(--focus-ring-color)",
18
+ outlineStyle: "var(--focus-ring-style, solid)",
19
+ borderColor: "var(--focus-ring-color)"
20
+ }
21
+ },
22
+ outside: {
23
+ "--focus-ring-color": focusRingColor,
24
+ [selector]: {
25
+ outlineWidth: "var(--focus-ring-width, 2px)",
26
+ outlineOffset: "var(--focus-ring-offset, 2px)",
27
+ outlineStyle: "var(--focus-ring-style, solid)",
28
+ outlineColor: "var(--focus-ring-color)"
29
+ }
30
+ },
31
+ mixed: {
32
+ "--focus-ring-color": focusRingColor,
33
+ [selector]: {
34
+ outlineWidth: "var(--focus-ring-width, 3px)",
35
+ outlineStyle: "var(--focus-ring-style, solid)",
36
+ outlineColor: "color-mix(in srgb, var(--focus-ring-color), transparent 60%)",
37
+ borderColor: "var(--focus-ring-color)"
38
+ }
39
+ },
40
+ none: {
41
+ "--focus-ring-color": focusRingColor,
42
+ [selector]: {
43
+ outline: "none"
44
+ }
45
+ }
46
+ };
47
+ return styles[value] ?? {};
48
+ }
49
+ };
50
+ };
51
+ const utilities = def.defineUtilities({
52
+ focusRing: createFocusRing("&:is(:focus, [data-focus])"),
53
+ focusVisibleRing: createFocusRing(
54
+ "&:is(:focus-visible, [data-focus-visible])"
55
+ ),
56
+ focusRingColor: {
57
+ values: "colors",
58
+ transform(value, { utils }) {
59
+ const prop = "--focus-ring-color";
60
+ const mix = utils.colorMix(value);
61
+ if (mix.invalid) return { [prop]: value };
62
+ const cssVar = "--mix-" + prop;
63
+ return {
64
+ [cssVar]: mix.value,
65
+ [prop]: `var(${cssVar}, ${mix.color})`
66
+ };
67
+ }
68
+ },
69
+ focusRingOffset: {
70
+ values: "spacing",
71
+ transform: (v) => ({ "--focus-ring-offset": v })
72
+ },
73
+ focusRingWidth: {
74
+ values: "borderWidths",
75
+ property: "outlineWidth",
76
+ transform: (v) => ({ "--focus-ring-width": v })
77
+ },
78
+ focusRingStyle: {
79
+ values: "borderStyles",
80
+ property: "outlineStyle",
81
+ transform: (v) => ({ "--focus-ring-style": v })
82
+ }
83
+ });
84
+
85
+ exports.utilities = utilities;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ import { defineAnimationStyles } from './def.js';
3
+
4
+ const animationStyles = defineAnimationStyles({
5
+ "slide-fade-in": {
6
+ value: {
7
+ transformOrigin: "var(--transform-origin)",
8
+ "&[data-placement^=top]": {
9
+ animationName: "slide-from-bottom, fade-in"
10
+ },
11
+ "&[data-placement^=bottom]": {
12
+ animationName: "slide-from-top, fade-in"
13
+ },
14
+ "&[data-placement^=left]": {
15
+ animationName: "slide-from-right, fade-in"
16
+ },
17
+ "&[data-placement^=right]": {
18
+ animationName: "slide-from-left, fade-in"
19
+ }
20
+ }
21
+ },
22
+ "slide-fade-out": {
23
+ value: {
24
+ transformOrigin: "var(--transform-origin)",
25
+ "&[data-placement^=top]": {
26
+ animationName: "slide-to-bottom, fade-out"
27
+ },
28
+ "&[data-placement^=bottom]": {
29
+ animationName: "slide-to-top, fade-out"
30
+ },
31
+ "&[data-placement^=left]": {
32
+ animationName: "slide-to-right, fade-out"
33
+ },
34
+ "&[data-placement^=right]": {
35
+ animationName: "slide-to-left, fade-out"
36
+ }
37
+ }
38
+ },
39
+ "scale-fade-in": {
40
+ value: {
41
+ transformOrigin: "var(--transform-origin)",
42
+ animationName: "scale-in, fade-in"
43
+ }
44
+ },
45
+ "scale-fade-out": {
46
+ value: {
47
+ transformOrigin: "var(--transform-origin)",
48
+ animationName: "scale-out, fade-out"
49
+ }
50
+ }
51
+ });
52
+
53
+ export { animationStyles };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ const breakpoints = {
3
+ sm: "480px",
4
+ md: "768px",
5
+ lg: "1024px",
6
+ xl: "1280px",
7
+ "2xl": "1536px"
8
+ };
9
+
10
+ export { breakpoints };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ const defineConfig = (config) => config;
3
+ const defineRecipe = (recipes) => recipes;
4
+ const defineSlotRecipe = (slotRecipes) => slotRecipes;
5
+ const defineTextStyles = (textStyles) => textStyles;
6
+ const defineLayerStyles = (layerStyles) => layerStyles;
7
+ const defineAnimationStyles = (animationStyles) => animationStyles;
8
+ const defineGlobalStyles = (globalStyles) => globalStyles;
9
+ function createProxy() {
10
+ const identity = (v) => v;
11
+ return new Proxy(identity, {
12
+ get() {
13
+ return identity;
14
+ }
15
+ });
16
+ }
17
+ const defineTokens = /* @__PURE__ */ createProxy();
18
+ const defineSemanticTokens = /* @__PURE__ */ createProxy();
19
+ const definePreset = (preset) => preset;
20
+ const defineUtilities = (utilities) => utilities;
21
+
22
+ export { defineAnimationStyles, defineConfig, defineGlobalStyles, defineLayerStyles, definePreset, defineRecipe, defineSemanticTokens, defineSlotRecipe, defineTextStyles, defineTokens, defineUtilities };
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ import { defineGlobalStyles } from './def.js';
3
+
4
+ const globalCss = defineGlobalStyles({
5
+ "*": {
6
+ fontFeatureSettings: '"cv11"',
7
+ "--ring-inset": "var(--empty,/*!*/ /*!*/)",
8
+ "--ring-offset-width": "0px",
9
+ "--ring-offset-color": "#fff",
10
+ "--ring-color": "rgba(66, 153, 225, 0.6)",
11
+ "--ring-offset-shadow": "0 0 #0000",
12
+ "--ring-shadow": "0 0 #0000",
13
+ "--brightness": "var(--empty,/*!*/ /*!*/)",
14
+ "--contrast": "var(--empty,/*!*/ /*!*/)",
15
+ "--grayscale": "var(--empty,/*!*/ /*!*/)",
16
+ "--hue-rotate": "var(--empty,/*!*/ /*!*/)",
17
+ "--invert": "var(--empty,/*!*/ /*!*/)",
18
+ "--saturate": "var(--empty,/*!*/ /*!*/)",
19
+ "--sepia": "var(--empty,/*!*/ /*!*/)",
20
+ "--drop-shadow": "var(--empty,/*!*/ /*!*/)",
21
+ "--backdrop-blur": "var(--empty,/*!*/ /*!*/)",
22
+ "--backdrop-brightness": "var(--empty,/*!*/ /*!*/)",
23
+ "--backdrop-contrast": "var(--empty,/*!*/ /*!*/)",
24
+ "--backdrop-grayscale": "var(--empty,/*!*/ /*!*/)",
25
+ "--backdrop-hue-rotate": "var(--empty,/*!*/ /*!*/)",
26
+ "--backdrop-invert": "var(--empty,/*!*/ /*!*/)",
27
+ "--backdrop-opacity": "var(--empty,/*!*/ /*!*/)",
28
+ "--backdrop-saturate": "var(--empty,/*!*/ /*!*/)",
29
+ "--backdrop-sepia": "var(--empty,/*!*/ /*!*/)",
30
+ "--global-font-mono": "fonts.mono",
31
+ "--global-font-body": "fonts.body",
32
+ "--global-color-border": "colors.border"
33
+ },
34
+ html: {
35
+ color: "fg",
36
+ bg: "bg",
37
+ lineHeight: "1.5",
38
+ colorPalette: "gray"
39
+ },
40
+ "*::placeholder": {
41
+ color: "fg.muted/80"
42
+ },
43
+ "*::selection": {
44
+ bg: "colorPalette.muted/80"
45
+ }
46
+ });
47
+
48
+ export { globalCss };
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ import { animationStyles } from './animation-styles.js';
3
+ import { breakpoints } from './breakpoints.js';
4
+ import { definePreset } from './def.js';
5
+ import { globalCss } from './global-css.js';
6
+ import { keyframes } from './keyframes.js';
7
+ import { layerStyles } from './layer-styles.js';
8
+ import { recipes } from './recipes/index.js';
9
+ import { semanticTokens } from './semantic-tokens/index.js';
10
+ import { slotRecipes } from './slot-recipes/index.js';
11
+ import { textStyles } from './text-styles.js';
12
+ import { tokens } from './tokens/index.js';
13
+ import { utilities } from './utilities.js';
14
+
15
+ var index = definePreset({
16
+ name: "@chakra-ui/panda-preset",
17
+ globalCss,
18
+ theme: {
19
+ breakpoints,
20
+ keyframes,
21
+ tokens,
22
+ semanticTokens,
23
+ recipes,
24
+ slotRecipes,
25
+ textStyles,
26
+ layerStyles,
27
+ animationStyles
28
+ },
29
+ utilities: {
30
+ extend: utilities
31
+ },
32
+ conditions: {
33
+ extend: {
34
+ icon: "& :where(svg)"
35
+ }
36
+ }
37
+ });
38
+
39
+ export { index as default };
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+ const keyframes = {
3
+ spin: {
4
+ "0%": {
5
+ transform: "rotate(0deg)"
6
+ },
7
+ "100%": {
8
+ transform: "rotate(360deg)"
9
+ }
10
+ },
11
+ pulse: {
12
+ "50%": {
13
+ opacity: "0.5"
14
+ }
15
+ },
16
+ ping: {
17
+ "75%, 100%": {
18
+ transform: "scale(2)",
19
+ opacity: "0"
20
+ }
21
+ },
22
+ bounce: {
23
+ "0%, 100%": {
24
+ transform: "translateY(-25%)",
25
+ animationTimingFunction: "cubic-bezier(0.8,0,1,1)"
26
+ },
27
+ "50%": {
28
+ transform: "none",
29
+ animationTimingFunction: "cubic-bezier(0,0,0.2,1)"
30
+ }
31
+ },
32
+ "bg-position": {
33
+ from: {
34
+ backgroundPosition: "var(--animate-from, 1rem) 0"
35
+ },
36
+ to: {
37
+ backgroundPosition: "var(--animate-to, 0) 0"
38
+ }
39
+ },
40
+ position: {
41
+ from: {
42
+ insetInlineStart: "var(--animate-from-x)",
43
+ insetBlockStart: "var(--animate-from-y)"
44
+ },
45
+ to: {
46
+ insetInlineStart: "var(--animate-to-x)",
47
+ insetBlockStart: "var(--animate-to-y)"
48
+ }
49
+ },
50
+ "circular-progress": {
51
+ "0%": {
52
+ strokeDasharray: "1, 400",
53
+ strokeDashoffset: "0"
54
+ },
55
+ "50%": {
56
+ strokeDasharray: "400, 400",
57
+ strokeDashoffset: "-100%"
58
+ },
59
+ "100%": {
60
+ strokeDasharray: "400, 400",
61
+ strokeDashoffset: "-260%"
62
+ }
63
+ },
64
+ "expand-height": {
65
+ from: {
66
+ height: "0"
67
+ },
68
+ to: {
69
+ height: "var(--height)"
70
+ }
71
+ },
72
+ "collapse-height": {
73
+ from: {
74
+ height: "var(--height)"
75
+ },
76
+ to: {
77
+ height: "0"
78
+ }
79
+ },
80
+ "expand-width": {
81
+ from: {
82
+ width: "0"
83
+ },
84
+ to: {
85
+ width: "var(--width)"
86
+ }
87
+ },
88
+ "collapse-width": {
89
+ from: {
90
+ height: "var(--width)"
91
+ },
92
+ to: {
93
+ height: "0"
94
+ }
95
+ },
96
+ "fade-in": {
97
+ from: {
98
+ opacity: 0
99
+ },
100
+ to: {
101
+ opacity: 1
102
+ }
103
+ },
104
+ "fade-out": {
105
+ from: {
106
+ opacity: 1
107
+ },
108
+ to: {
109
+ opacity: 0
110
+ }
111
+ },
112
+ "slide-from-left-full": {
113
+ from: {
114
+ translate: "-100% 0"
115
+ },
116
+ to: {
117
+ translate: "0 0"
118
+ }
119
+ },
120
+ "slide-from-right-full": {
121
+ from: {
122
+ translate: "100% 0"
123
+ },
124
+ to: {
125
+ translate: "0 0"
126
+ }
127
+ },
128
+ "slide-from-top-full": {
129
+ from: {
130
+ translate: "0 -100%"
131
+ },
132
+ to: {
133
+ translate: "0 0"
134
+ }
135
+ },
136
+ "slide-from-bottom-full": {
137
+ from: {
138
+ translate: "0 100%"
139
+ },
140
+ to: {
141
+ translate: "0 0"
142
+ }
143
+ },
144
+ "slide-to-left-full": {
145
+ from: {
146
+ translate: "0 0"
147
+ },
148
+ to: {
149
+ translate: "-100% 0"
150
+ }
151
+ },
152
+ "slide-to-right-full": {
153
+ from: {
154
+ translate: "0 0"
155
+ },
156
+ to: {
157
+ translate: "100% 0"
158
+ }
159
+ },
160
+ "slide-to-top-full": {
161
+ from: {
162
+ translate: "0 0"
163
+ },
164
+ to: {
165
+ translate: "0 -100%"
166
+ }
167
+ },
168
+ "slide-to-bottom-full": {
169
+ from: {
170
+ translate: "0 0"
171
+ },
172
+ to: {
173
+ translate: "0 100%"
174
+ }
175
+ },
176
+ "slide-from-top": {
177
+ "0%": {
178
+ translate: "0 -0.5rem"
179
+ },
180
+ to: {
181
+ translate: "0"
182
+ }
183
+ },
184
+ "slide-from-bottom": {
185
+ "0%": {
186
+ translate: "0 0.5rem"
187
+ },
188
+ to: {
189
+ translate: "0"
190
+ }
191
+ },
192
+ "slide-from-left": {
193
+ "0%": {
194
+ translate: "-0.5rem 0"
195
+ },
196
+ to: {
197
+ translate: "0"
198
+ }
199
+ },
200
+ "slide-from-right": {
201
+ "0%": {
202
+ translate: "0.5rem 0"
203
+ },
204
+ to: {
205
+ translate: "0"
206
+ }
207
+ },
208
+ "slide-to-top": {
209
+ "0%": {
210
+ translate: "0"
211
+ },
212
+ to: {
213
+ translate: "0 -0.5rem"
214
+ }
215
+ },
216
+ "slide-to-bottom": {
217
+ "0%": {
218
+ translate: "0"
219
+ },
220
+ to: {
221
+ translate: "0 0.5rem"
222
+ }
223
+ },
224
+ "slide-to-left": {
225
+ "0%": {
226
+ translate: "0"
227
+ },
228
+ to: {
229
+ translate: "-0.5rem 0"
230
+ }
231
+ },
232
+ "slide-to-right": {
233
+ "0%": {
234
+ translate: "0"
235
+ },
236
+ to: {
237
+ translate: "0.5rem 0"
238
+ }
239
+ },
240
+ "scale-in": {
241
+ from: {
242
+ scale: "0.95"
243
+ },
244
+ to: {
245
+ scale: "1"
246
+ }
247
+ },
248
+ "scale-out": {
249
+ from: {
250
+ scale: "1"
251
+ },
252
+ to: {
253
+ scale: "0.95"
254
+ }
255
+ }
256
+ };
257
+
258
+ export { keyframes };
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ import { defineLayerStyles } from './def.js';
3
+
4
+ const layerStyles = defineLayerStyles({
5
+ "fill.muted": {
6
+ value: {
7
+ background: "colorPalette.muted",
8
+ color: "colorPalette.fg"
9
+ }
10
+ },
11
+ "fill.subtle": {
12
+ value: {
13
+ background: "colorPalette.subtle",
14
+ color: "colorPalette.fg"
15
+ }
16
+ },
17
+ "fill.surface": {
18
+ value: {
19
+ background: "colorPalette.subtle",
20
+ color: "colorPalette.fg",
21
+ boxShadow: "0 0 0px 1px var(--shadow-color)",
22
+ boxShadowColor: "colorPalette.muted"
23
+ }
24
+ },
25
+ "fill.solid": {
26
+ value: {
27
+ background: "colorPalette.solid",
28
+ color: "colorPalette.contrast"
29
+ }
30
+ },
31
+ "outline.subtle": {
32
+ value: {
33
+ color: "colorPalette.fg",
34
+ boxShadow: "inset 0 0 0px 1px var(--shadow-color)",
35
+ boxShadowColor: "colorPalette.subtle"
36
+ }
37
+ },
38
+ "outline.solid": {
39
+ value: {
40
+ borderWidth: "1px",
41
+ borderColor: "colorPalette.solid",
42
+ color: "colorPalette.fg"
43
+ }
44
+ },
45
+ "indicator.bottom": {
46
+ value: {
47
+ position: "relative",
48
+ "--indicator-color-fallback": "colors.colorPalette.solid",
49
+ _before: {
50
+ content: '""',
51
+ position: "absolute",
52
+ bottom: "var(--indicator-offset-y, 0)",
53
+ insetInline: "var(--indicator-offset-x, 0)",
54
+ height: "var(--indicator-thickness, 2px)",
55
+ background: "var(--indicator-color, var(--indicator-color-fallback))"
56
+ }
57
+ }
58
+ },
59
+ "indicator.top": {
60
+ value: {
61
+ position: "relative",
62
+ "--indicator-color-fallback": "colors.colorPalette.solid",
63
+ _before: {
64
+ content: '""',
65
+ position: "absolute",
66
+ top: "var(--indicator-offset-y, 0)",
67
+ insetInline: "var(--indicator-offset-x, 0)",
68
+ height: "var(--indicator-thickness, 2px)",
69
+ background: "var(--indicator-color, var(--indicator-color-fallback))"
70
+ }
71
+ }
72
+ },
73
+ "indicator.start": {
74
+ value: {
75
+ position: "relative",
76
+ "--indicator-color-fallback": "colors.colorPalette.solid",
77
+ _before: {
78
+ content: '""',
79
+ position: "absolute",
80
+ insetInlineStart: "var(--indicator-offset-x, 0)",
81
+ insetBlock: "var(--indicator-offset-y, 0)",
82
+ width: "var(--indicator-thickness, 2px)",
83
+ background: "var(--indicator-color, var(--indicator-color-fallback))"
84
+ }
85
+ }
86
+ },
87
+ "indicator.end": {
88
+ value: {
89
+ position: "relative",
90
+ "--indicator-color-fallback": "colors.colorPalette.solid",
91
+ _before: {
92
+ content: '""',
93
+ position: "absolute",
94
+ insetInlineEnd: "var(--indicator-offset-x, 0)",
95
+ insetBlock: "var(--indicator-offset-y, 0)",
96
+ width: "var(--indicator-thickness, 2px)",
97
+ background: "var(--indicator-color, var(--indicator-color-fallback))"
98
+ }
99
+ }
100
+ },
101
+ disabled: {
102
+ value: {
103
+ opacity: "0.5",
104
+ cursor: "not-allowed"
105
+ }
106
+ },
107
+ none: {
108
+ value: {}
109
+ }
110
+ });
111
+
112
+ export { layerStyles };
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ import { defineRecipe } from '../def.js';
3
+
4
+ const badgeRecipe = defineRecipe({
5
+ className: "badge",
6
+ base: {
7
+ display: "inline-flex",
8
+ alignItems: "center",
9
+ borderRadius: "l2",
10
+ gap: "1",
11
+ fontWeight: "medium",
12
+ fontVariantNumeric: "tabular-nums",
13
+ whiteSpace: "nowrap",
14
+ userSelect: "none"
15
+ },
16
+ variants: {
17
+ variant: {
18
+ solid: {
19
+ bg: "colorPalette.solid",
20
+ color: "colorPalette.contrast"
21
+ },
22
+ subtle: {
23
+ bg: "colorPalette.subtle",
24
+ color: "colorPalette.fg"
25
+ },
26
+ outline: {
27
+ color: "colorPalette.fg",
28
+ shadow: "inset 0 0 0px 1px var(--shadow-color)",
29
+ shadowColor: "colorPalette.muted"
30
+ },
31
+ surface: {
32
+ bg: "colorPalette.subtle",
33
+ color: "colorPalette.fg",
34
+ shadow: "inset 0 0 0px 1px var(--shadow-color)",
35
+ shadowColor: "colorPalette.muted"
36
+ },
37
+ plain: {
38
+ color: "colorPalette.fg"
39
+ }
40
+ },
41
+ size: {
42
+ xs: {
43
+ textStyle: "2xs",
44
+ px: "1",
45
+ minH: "4"
46
+ },
47
+ sm: {
48
+ textStyle: "xs",
49
+ px: "1.5",
50
+ minH: "5"
51
+ },
52
+ md: {
53
+ textStyle: "sm",
54
+ px: "2",
55
+ minH: "6"
56
+ },
57
+ lg: {
58
+ textStyle: "sm",
59
+ px: "2.5",
60
+ minH: "7"
61
+ }
62
+ }
63
+ },
64
+ defaultVariants: {
65
+ variant: "subtle",
66
+ size: "sm"
67
+ }
68
+ });
69
+
70
+ export { badgeRecipe };