@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,279 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const tabsSlotRecipe = defineSlotRecipe({
5
+ slots: ["root", "trigger", "list", "content", "contentGroup", "indicator"],
6
+ className: "tabs",
7
+ base: {
8
+ root: {
9
+ "--tabs-trigger-radius": "radii.l2",
10
+ position: "relative",
11
+ _horizontal: {
12
+ display: "block"
13
+ },
14
+ _vertical: {
15
+ display: "flex"
16
+ }
17
+ },
18
+ list: {
19
+ display: "inline-flex",
20
+ position: "relative",
21
+ isolation: "isolate",
22
+ "--tabs-indicator-shadow": "shadows.xs",
23
+ "--tabs-indicator-bg": "colors.bg",
24
+ minH: "var(--tabs-height)",
25
+ _horizontal: {
26
+ flexDirection: "row"
27
+ },
28
+ _vertical: {
29
+ flexDirection: "column"
30
+ }
31
+ },
32
+ trigger: {
33
+ outline: "0",
34
+ minW: "var(--tabs-height)",
35
+ height: "var(--tabs-height)",
36
+ display: "flex",
37
+ alignItems: "center",
38
+ fontWeight: "medium",
39
+ position: "relative",
40
+ cursor: "button",
41
+ gap: "2",
42
+ _focusVisible: {
43
+ zIndex: 1,
44
+ outline: "2px solid",
45
+ outlineColor: "colorPalette.focusRing"
46
+ },
47
+ _disabled: {
48
+ cursor: "not-allowed",
49
+ opacity: 0.5
50
+ }
51
+ },
52
+ content: {
53
+ focusVisibleRing: "inside",
54
+ _horizontal: {
55
+ width: "100%",
56
+ pt: "var(--tabs-content-padding)"
57
+ },
58
+ _vertical: {
59
+ height: "100%",
60
+ ps: "var(--tabs-content-padding)"
61
+ }
62
+ },
63
+ indicator: {
64
+ width: "var(--width)",
65
+ height: "var(--height)",
66
+ borderRadius: "var(--tabs-indicator-radius)",
67
+ bg: "var(--tabs-indicator-bg)",
68
+ shadow: "var(--tabs-indicator-shadow)",
69
+ zIndex: -1
70
+ }
71
+ },
72
+ variants: {
73
+ fitted: {
74
+ true: {
75
+ list: {
76
+ display: "flex"
77
+ },
78
+ trigger: {
79
+ flex: 1,
80
+ textAlign: "center",
81
+ justifyContent: "center"
82
+ }
83
+ }
84
+ },
85
+ justify: {
86
+ start: {
87
+ list: {
88
+ justifyContent: "flex-start"
89
+ }
90
+ },
91
+ center: {
92
+ list: {
93
+ justifyContent: "center"
94
+ }
95
+ },
96
+ end: {
97
+ list: {
98
+ justifyContent: "flex-end"
99
+ }
100
+ }
101
+ },
102
+ size: {
103
+ sm: {
104
+ root: {
105
+ "--tabs-height": "sizes.9",
106
+ "--tabs-content-padding": "spacing.3"
107
+ },
108
+ trigger: {
109
+ py: "1",
110
+ px: "3",
111
+ textStyle: "sm"
112
+ }
113
+ },
114
+ md: {
115
+ root: {
116
+ "--tabs-height": "sizes.10",
117
+ "--tabs-content-padding": "spacing.4"
118
+ },
119
+ trigger: {
120
+ py: "2",
121
+ px: "4",
122
+ textStyle: "sm"
123
+ }
124
+ },
125
+ lg: {
126
+ root: {
127
+ "--tabs-height": "sizes.11",
128
+ "--tabs-content-padding": "spacing.4.5"
129
+ },
130
+ trigger: {
131
+ py: "2",
132
+ px: "4.5",
133
+ textStyle: "md"
134
+ }
135
+ }
136
+ },
137
+ variant: {
138
+ line: {
139
+ list: {
140
+ display: "flex",
141
+ borderColor: "border",
142
+ _horizontal: {
143
+ borderBottomWidth: "1px"
144
+ },
145
+ _vertical: {
146
+ borderEndWidth: "1px"
147
+ }
148
+ },
149
+ trigger: {
150
+ color: "fg.muted",
151
+ _disabled: {
152
+ _active: {
153
+ bg: "initial"
154
+ }
155
+ },
156
+ _selected: {
157
+ color: "fg",
158
+ _horizontal: {
159
+ layerStyle: "indicator.bottom",
160
+ "--indicator-offset-y": "-1px",
161
+ "--indicator-color": "colors.colorPalette.solid"
162
+ },
163
+ _vertical: {
164
+ layerStyle: "indicator.end",
165
+ "--indicator-offset-x": "-1px"
166
+ }
167
+ }
168
+ }
169
+ },
170
+ subtle: {
171
+ trigger: {
172
+ borderRadius: "var(--tabs-trigger-radius)",
173
+ color: "fg.muted",
174
+ _selected: {
175
+ bg: "colorPalette.subtle",
176
+ color: "colorPalette.fg"
177
+ }
178
+ }
179
+ },
180
+ enclosed: {
181
+ list: {
182
+ bg: "bg.muted",
183
+ padding: "1",
184
+ borderRadius: "l3",
185
+ minH: "calc(var(--tabs-height) - 4px)"
186
+ },
187
+ trigger: {
188
+ justifyContent: "center",
189
+ color: "fg.muted",
190
+ borderRadius: "var(--tabs-trigger-radius)",
191
+ _selected: {
192
+ bg: "bg",
193
+ color: "colorPalette.fg",
194
+ shadow: "xs"
195
+ }
196
+ }
197
+ },
198
+ outline: {
199
+ list: {
200
+ "--line-thickness": "1px",
201
+ "--line-offset": "calc(var(--line-thickness) * -1)",
202
+ borderColor: "border",
203
+ display: "flex",
204
+ _horizontal: {
205
+ _before: {
206
+ content: '""',
207
+ position: "absolute",
208
+ bottom: "0px",
209
+ width: "100%",
210
+ borderBottomWidth: "var(--line-thickness)",
211
+ borderBottomColor: "border"
212
+ }
213
+ },
214
+ _vertical: {
215
+ _before: {
216
+ content: '""',
217
+ position: "absolute",
218
+ insetInline: "var(--line-offset)",
219
+ height: "calc(100% - calc(var(--line-thickness) * 2))",
220
+ borderEndWidth: "var(--line-thickness)",
221
+ borderEndColor: "border"
222
+ }
223
+ }
224
+ },
225
+ trigger: {
226
+ color: "fg.muted",
227
+ borderWidth: "1px",
228
+ borderColor: "transparent",
229
+ _selected: {
230
+ bg: "currentBg",
231
+ color: "colorPalette.fg"
232
+ },
233
+ _horizontal: {
234
+ borderTopRadius: "var(--tabs-trigger-radius)",
235
+ marginBottom: "var(--line-offset)",
236
+ marginEnd: {
237
+ _notLast: "var(--line-offset)"
238
+ },
239
+ _selected: {
240
+ borderColor: "border",
241
+ borderBottomColor: "transparent"
242
+ }
243
+ },
244
+ _vertical: {
245
+ borderStartRadius: "var(--tabs-trigger-radius)",
246
+ marginEnd: "var(--line-offset)",
247
+ marginBottom: {
248
+ _notLast: "var(--line-offset)"
249
+ },
250
+ _selected: {
251
+ borderColor: "border",
252
+ borderEndColor: "transparent"
253
+ }
254
+ }
255
+ }
256
+ },
257
+ plain: {
258
+ trigger: {
259
+ color: "fg.muted",
260
+ _selected: {
261
+ color: "colorPalette.fg"
262
+ },
263
+ borderRadius: "var(--tabs-trigger-radius)",
264
+ "&[data-selected][data-ssr]": {
265
+ bg: "var(--tabs-indicator-bg)",
266
+ shadow: "var(--tabs-indicator-shadow)",
267
+ borderRadius: "var(--tabs-indicator-radius)"
268
+ }
269
+ }
270
+ }
271
+ }
272
+ },
273
+ defaultVariants: {
274
+ size: "md",
275
+ variant: "line"
276
+ }
277
+ });
278
+
279
+ export { tabsSlotRecipe };
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const tagSlotRecipe = defineSlotRecipe({
5
+ slots: ["root", "label", "closeTrigger", "startElement", "endElement"],
6
+ className: "tag",
7
+ base: {
8
+ root: {
9
+ display: "inline-flex",
10
+ alignItems: "center",
11
+ verticalAlign: "top",
12
+ maxWidth: "100%",
13
+ userSelect: "none",
14
+ borderRadius: "l2",
15
+ focusVisibleRing: "outside"
16
+ },
17
+ label: {
18
+ lineClamp: "1"
19
+ },
20
+ closeTrigger: {
21
+ display: "flex",
22
+ alignItems: "center",
23
+ justifyContent: "center",
24
+ outline: "0",
25
+ borderRadius: "l1",
26
+ color: "currentColor",
27
+ focusVisibleRing: "inside",
28
+ focusRingWidth: "2px"
29
+ },
30
+ startElement: {
31
+ flexShrink: 0,
32
+ boxSize: "var(--tag-element-size)",
33
+ ms: "var(--tag-element-offset)",
34
+ "&:has([data-scope=avatar])": {
35
+ boxSize: "var(--tag-avatar-size)",
36
+ ms: "calc(var(--tag-element-offset) * 1.5)"
37
+ },
38
+ _icon: {
39
+ boxSize: "100%"
40
+ }
41
+ },
42
+ endElement: {
43
+ flexShrink: 0,
44
+ boxSize: "var(--tag-element-size)",
45
+ me: "var(--tag-element-offset)",
46
+ _icon: {
47
+ boxSize: "100%"
48
+ },
49
+ "&:has(button)": {
50
+ ms: "calc(var(--tag-element-offset) * -1)"
51
+ }
52
+ }
53
+ },
54
+ variants: {
55
+ size: {
56
+ sm: {
57
+ root: {
58
+ px: "1.5",
59
+ minH: "4.5",
60
+ gap: "1",
61
+ "--tag-avatar-size": "spacing.3",
62
+ "--tag-element-size": "spacing.3",
63
+ "--tag-element-offset": "-2px"
64
+ },
65
+ label: {
66
+ textStyle: "xs"
67
+ }
68
+ },
69
+ md: {
70
+ root: {
71
+ px: "1.5",
72
+ minH: "5",
73
+ gap: "1",
74
+ "--tag-avatar-size": "spacing.3.5",
75
+ "--tag-element-size": "spacing.3.5",
76
+ "--tag-element-offset": "-2px"
77
+ },
78
+ label: {
79
+ textStyle: "xs"
80
+ }
81
+ },
82
+ lg: {
83
+ root: {
84
+ px: "2",
85
+ minH: "6",
86
+ gap: "1.5",
87
+ "--tag-avatar-size": "spacing.4.5",
88
+ "--tag-element-size": "spacing.4",
89
+ "--tag-element-offset": "-3px"
90
+ },
91
+ label: {
92
+ textStyle: "sm"
93
+ }
94
+ },
95
+ xl: {
96
+ root: {
97
+ px: "2.5",
98
+ minH: "8",
99
+ gap: "1.5",
100
+ "--tag-avatar-size": "spacing.6",
101
+ "--tag-element-size": "spacing.4.5",
102
+ "--tag-element-offset": "-4px"
103
+ },
104
+ label: {
105
+ textStyle: "sm"
106
+ }
107
+ }
108
+ },
109
+ variant: {
110
+ subtle: {
111
+ root: {
112
+ bg: "colorPalette.subtle",
113
+ color: "colorPalette.fg"
114
+ }
115
+ },
116
+ solid: {
117
+ root: {
118
+ bg: "colorPalette.solid",
119
+ color: "colorPalette.contrast"
120
+ }
121
+ },
122
+ outline: {
123
+ root: {
124
+ color: "colorPalette.fg",
125
+ shadow: "inset 0 0 0px 1px var(--shadow-color)",
126
+ shadowColor: "colorPalette.muted"
127
+ }
128
+ },
129
+ surface: {
130
+ root: {
131
+ bg: "colorPalette.subtle",
132
+ color: "colorPalette.fg",
133
+ shadow: "inset 0 0 0px 1px var(--shadow-color)",
134
+ shadowColor: "colorPalette.muted"
135
+ }
136
+ }
137
+ }
138
+ },
139
+ defaultVariants: {
140
+ size: "md",
141
+ variant: "surface"
142
+ }
143
+ });
144
+
145
+ export { tagSlotRecipe };
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const timelineSlotRecipe = defineSlotRecipe({
5
+ slots: [
6
+ "root",
7
+ "item",
8
+ "content",
9
+ "separator",
10
+ "indicator",
11
+ "connector",
12
+ "title",
13
+ "description"
14
+ ],
15
+ className: "timeline",
16
+ base: {
17
+ root: {
18
+ display: "flex",
19
+ flexDirection: "column",
20
+ width: "full",
21
+ "--timeline-thickness": "1px",
22
+ "--timeline-gutter": "4px"
23
+ },
24
+ item: {
25
+ display: "flex",
26
+ position: "relative",
27
+ alignItems: "flex-start",
28
+ flexShrink: 0,
29
+ gap: "4",
30
+ _last: {
31
+ "& :where(.timeline__separator)": {
32
+ display: "none"
33
+ }
34
+ }
35
+ },
36
+ separator: {
37
+ position: "absolute",
38
+ borderStartWidth: "var(--timeline-thickness)",
39
+ ms: "calc(-1 * var(--timeline-thickness) / 2)",
40
+ insetInlineStart: "calc(var(--timeline-indicator-size) / 2)",
41
+ insetBlock: "0",
42
+ borderColor: "border"
43
+ },
44
+ indicator: {
45
+ outline: "2px solid {colors.bg}",
46
+ position: "relative",
47
+ flexShrink: "0",
48
+ boxSize: "var(--timeline-indicator-size)",
49
+ fontSize: "var(--timeline-font-size)",
50
+ display: "flex",
51
+ alignItems: "center",
52
+ justifyContent: "center",
53
+ borderRadius: "full",
54
+ fontWeight: "medium"
55
+ },
56
+ connector: {
57
+ alignSelf: "stretch",
58
+ position: "relative"
59
+ },
60
+ content: {
61
+ pb: "6",
62
+ display: "flex",
63
+ flexDirection: "column",
64
+ width: "full",
65
+ gap: "2"
66
+ },
67
+ title: {
68
+ display: "flex",
69
+ fontWeight: "medium",
70
+ flexWrap: "wrap",
71
+ gap: "1.5",
72
+ alignItems: "center",
73
+ mt: "var(--timeline-margin)"
74
+ },
75
+ description: {
76
+ color: "fg.muted",
77
+ textStyle: "xs"
78
+ }
79
+ },
80
+ variants: {
81
+ variant: {
82
+ subtle: {
83
+ indicator: {
84
+ bg: "colorPalette.muted"
85
+ }
86
+ },
87
+ solid: {
88
+ indicator: {
89
+ bg: "colorPalette.solid",
90
+ color: "colorPalette.contrast"
91
+ }
92
+ },
93
+ outline: {
94
+ indicator: {
95
+ bg: "currentBg",
96
+ borderWidth: "1px",
97
+ borderColor: "colorPalette.muted"
98
+ }
99
+ },
100
+ plain: {}
101
+ },
102
+ size: {
103
+ sm: {
104
+ root: {
105
+ "--timeline-indicator-size": "sizes.4",
106
+ "--timeline-font-size": "fontSizes.2xs"
107
+ },
108
+ title: {
109
+ textStyle: "xs"
110
+ }
111
+ },
112
+ md: {
113
+ root: {
114
+ "--timeline-indicator-size": "sizes.5",
115
+ "--timeline-font-size": "fontSizes.xs"
116
+ },
117
+ title: {
118
+ textStyle: "sm"
119
+ }
120
+ },
121
+ lg: {
122
+ root: {
123
+ "--timeline-indicator-size": "sizes.6",
124
+ "--timeline-font-size": "fontSizes.xs"
125
+ },
126
+ title: {
127
+ mt: "0.5",
128
+ textStyle: "sm"
129
+ }
130
+ },
131
+ xl: {
132
+ root: {
133
+ "--timeline-indicator-size": "sizes.8",
134
+ "--timeline-font-size": "fontSizes.sm"
135
+ },
136
+ title: {
137
+ mt: "1.5",
138
+ textStyle: "sm"
139
+ }
140
+ }
141
+ }
142
+ },
143
+ defaultVariants: {
144
+ size: "md",
145
+ variant: "solid"
146
+ }
147
+ });
148
+
149
+ export { timelineSlotRecipe };
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const toastSlotRecipe = defineSlotRecipe({
5
+ slots: [
6
+ "root",
7
+ "title",
8
+ "description",
9
+ "indicator",
10
+ "closeTrigger",
11
+ "actionTrigger"
12
+ ],
13
+ className: "toast",
14
+ base: {
15
+ root: {
16
+ width: "full",
17
+ display: "flex",
18
+ alignItems: "flex-start",
19
+ position: "relative",
20
+ gap: "3",
21
+ py: "4",
22
+ ps: "4",
23
+ pe: "6",
24
+ borderRadius: "l2",
25
+ translate: "var(--x) var(--y)",
26
+ scale: "var(--scale)",
27
+ zIndex: "var(--z-index)",
28
+ height: "var(--height)",
29
+ opacity: "var(--opacity)",
30
+ willChange: "translate, opacity, scale",
31
+ transition: "translate 400ms, scale 400ms, opacity 400ms, height 400ms, box-shadow 200ms",
32
+ transitionTimingFunction: "cubic-bezier(0.21, 1.02, 0.73, 1)",
33
+ _closed: {
34
+ transition: "translate 400ms, scale 400ms, opacity 200ms",
35
+ transitionTimingFunction: "cubic-bezier(0.06, 0.71, 0.55, 1)"
36
+ },
37
+ bg: "bg.panel",
38
+ color: "fg",
39
+ boxShadow: "xl",
40
+ "--toast-trigger-bg": "colors.bg.muted",
41
+ "&[data-type=warning]": {
42
+ bg: "orange.solid",
43
+ color: "orange.contrast",
44
+ "--toast-trigger-bg": "{white/10}",
45
+ "--toast-border-color": "{white/40}"
46
+ },
47
+ "&[data-type=success]": {
48
+ bg: "green.solid",
49
+ color: "green.contrast",
50
+ "--toast-trigger-bg": "{white/10}",
51
+ "--toast-border-color": "{white/40}"
52
+ },
53
+ "&[data-type=error]": {
54
+ bg: "red.solid",
55
+ color: "red.contrast",
56
+ "--toast-trigger-bg": "{white/10}",
57
+ "--toast-border-color": "{white/40}"
58
+ }
59
+ },
60
+ title: {
61
+ fontWeight: "medium",
62
+ textStyle: "sm",
63
+ marginEnd: "2"
64
+ },
65
+ description: {
66
+ display: "inline",
67
+ textStyle: "sm",
68
+ opacity: "0.8"
69
+ },
70
+ indicator: {
71
+ flexShrink: "0",
72
+ boxSize: "5"
73
+ },
74
+ actionTrigger: {
75
+ textStyle: "sm",
76
+ fontWeight: "medium",
77
+ height: "8",
78
+ px: "3",
79
+ borderRadius: "l2",
80
+ alignSelf: "center",
81
+ borderWidth: "1px",
82
+ borderColor: "var(--toast-border-color, inherit)",
83
+ transition: "background 200ms",
84
+ _hover: {
85
+ bg: "var(--toast-trigger-bg)"
86
+ }
87
+ },
88
+ closeTrigger: {
89
+ position: "absolute",
90
+ top: "1",
91
+ insetEnd: "1",
92
+ padding: "1",
93
+ display: "inline-flex",
94
+ alignItems: "center",
95
+ justifyContent: "center",
96
+ color: "{currentColor/60}",
97
+ borderRadius: "l2",
98
+ textStyle: "md",
99
+ transition: "background 200ms"
100
+ }
101
+ }
102
+ });
103
+
104
+ export { toastSlotRecipe };
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ import { defineSlotRecipe } from '../def.js';
3
+
4
+ const tooltipSlotRecipe = defineSlotRecipe({
5
+ slots: ["trigger", "arrow", "arrowTip", "positioner", "content"],
6
+ className: "tooltip",
7
+ base: {
8
+ content: {
9
+ "--tooltip-bg": "colors.bg.inverted",
10
+ bg: "var(--tooltip-bg)",
11
+ color: "fg.inverted",
12
+ px: "2.5",
13
+ py: "1",
14
+ borderRadius: "l2",
15
+ fontWeight: "medium",
16
+ textStyle: "xs",
17
+ boxShadow: "md",
18
+ maxW: "xs",
19
+ zIndex: "tooltip",
20
+ transformOrigin: "var(--transform-origin)",
21
+ _open: {
22
+ animationStyle: "scale-fade-in",
23
+ animationDuration: "fast"
24
+ },
25
+ _closed: {
26
+ animationStyle: "scale-fade-out",
27
+ animationDuration: "fast"
28
+ }
29
+ },
30
+ arrow: {
31
+ "--arrow-size": "sizes.2",
32
+ "--arrow-background": "var(--tooltip-bg)"
33
+ },
34
+ arrowTip: {
35
+ borderTopWidth: "1px",
36
+ borderInlineStartWidth: "1px",
37
+ borderColor: "var(--tooltip-bg)"
38
+ }
39
+ }
40
+ });
41
+
42
+ export { tooltipSlotRecipe };