@zentauri-ui/zentauri-components 1.5.22 → 1.6.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 (394) hide show
  1. package/README.md +136 -70
  2. package/cli/registry.json +2 -0
  3. package/dist/charts/area.js.map +1 -1
  4. package/dist/charts/area.mjs.map +1 -1
  5. package/dist/charts/bubble/Bubble.d.ts.map +1 -1
  6. package/dist/charts/bubble.js.map +1 -1
  7. package/dist/charts/bubble.mjs.map +1 -1
  8. package/dist/charts/pie/Pie.d.ts.map +1 -1
  9. package/dist/charts/pie.js +20 -2
  10. package/dist/charts/pie.js.map +1 -1
  11. package/dist/charts/pie.mjs +20 -2
  12. package/dist/charts/pie.mjs.map +1 -1
  13. package/dist/charts/shared/types.d.ts.map +1 -1
  14. package/dist/{chunk-G3LEYBRV.mjs → chunk-25EAVVGS.mjs} +61 -58
  15. package/dist/chunk-25EAVVGS.mjs.map +1 -0
  16. package/dist/{chunk-BCZIYH53.js → chunk-3OXIZ4ZO.js} +28 -28
  17. package/dist/chunk-3OXIZ4ZO.js.map +1 -0
  18. package/dist/chunk-3PC7XLJX.js +102 -0
  19. package/dist/chunk-3PC7XLJX.js.map +1 -0
  20. package/dist/chunk-4ECCMHAX.mjs +323 -0
  21. package/dist/chunk-4ECCMHAX.mjs.map +1 -0
  22. package/dist/chunk-4MPNRGUA.mjs +65 -0
  23. package/dist/chunk-4MPNRGUA.mjs.map +1 -0
  24. package/dist/{chunk-Y745GQR2.js → chunk-4PZIDDC6.js} +45 -45
  25. package/dist/chunk-4PZIDDC6.js.map +1 -0
  26. package/dist/{chunk-PWL5WD34.js → chunk-662PJBZD.js} +27 -26
  27. package/dist/chunk-662PJBZD.js.map +1 -0
  28. package/dist/{chunk-TINHLHCN.mjs → chunk-73RHHGIA.mjs} +39 -36
  29. package/dist/chunk-73RHHGIA.mjs.map +1 -0
  30. package/dist/{chunk-OLEMP2HL.js → chunk-746CV3AN.js} +29 -36
  31. package/dist/chunk-746CV3AN.js.map +1 -0
  32. package/dist/{chunk-AUGLZ3AN.js → chunk-BMFPUQZC.js} +50 -50
  33. package/dist/chunk-BMFPUQZC.js.map +1 -0
  34. package/dist/chunk-CFTDAGKD.js +130 -0
  35. package/dist/chunk-CFTDAGKD.js.map +1 -0
  36. package/dist/{chunk-N2OAI2HN.js → chunk-D55YIHBN.js} +15 -15
  37. package/dist/chunk-D55YIHBN.js.map +1 -0
  38. package/dist/chunk-DO2LEXUY.js +62 -0
  39. package/dist/chunk-DO2LEXUY.js.map +1 -0
  40. package/dist/chunk-EU63V22F.mjs +126 -0
  41. package/dist/chunk-EU63V22F.mjs.map +1 -0
  42. package/dist/chunk-EZS47EZW.mjs +70 -0
  43. package/dist/chunk-EZS47EZW.mjs.map +1 -0
  44. package/dist/{chunk-E4FZY7O2.js → chunk-GHJN3Z3V.js} +48 -48
  45. package/dist/chunk-GHJN3Z3V.js.map +1 -0
  46. package/dist/{chunk-MTLLJFUI.mjs → chunk-GIC3J6HR.mjs} +28 -28
  47. package/dist/chunk-GIC3J6HR.mjs.map +1 -0
  48. package/dist/{chunk-C5L465FW.mjs → chunk-HARD4NMB.mjs} +45 -45
  49. package/dist/chunk-HARD4NMB.mjs.map +1 -0
  50. package/dist/{chunk-2VQJ6OIL.js → chunk-HPN7H5ZM.js} +2 -2
  51. package/dist/{chunk-2VQJ6OIL.js.map → chunk-HPN7H5ZM.js.map} +1 -1
  52. package/dist/{chunk-YTRGRHEB.js → chunk-HV7LVRK3.js} +61 -58
  53. package/dist/chunk-HV7LVRK3.js.map +1 -0
  54. package/dist/{chunk-Q5B44QW7.js → chunk-J4LG43O2.js} +51 -51
  55. package/dist/chunk-J4LG43O2.js.map +1 -0
  56. package/dist/{chunk-ZYZJ74XB.mjs → chunk-J5QJEKY2.mjs} +28 -28
  57. package/dist/chunk-J5QJEKY2.mjs.map +1 -0
  58. package/dist/{chunk-7TLKLMBM.js → chunk-JOMSI4WH.js} +18 -15
  59. package/dist/chunk-JOMSI4WH.js.map +1 -0
  60. package/dist/{chunk-ZBBFOMSJ.mjs → chunk-M6FS7X54.mjs} +22 -22
  61. package/dist/chunk-M6FS7X54.mjs.map +1 -0
  62. package/dist/{chunk-JUDMPOCI.js → chunk-MM3P52WS.js} +22 -22
  63. package/dist/chunk-MM3P52WS.js.map +1 -0
  64. package/dist/chunk-N6B35KWW.mjs +3 -0
  65. package/dist/chunk-N6B35KWW.mjs.map +1 -0
  66. package/dist/{chunk-73VCO5TE.mjs → chunk-NWOE2TZN.mjs} +2 -2
  67. package/dist/{chunk-73VCO5TE.mjs.map → chunk-NWOE2TZN.mjs.map} +1 -1
  68. package/dist/{chunk-UWA23DUC.js → chunk-OB6TYS5Q.js} +28 -28
  69. package/dist/chunk-OB6TYS5Q.js.map +1 -0
  70. package/dist/{chunk-QZTEFGZF.mjs → chunk-OVTWPGMW.mjs} +18 -15
  71. package/dist/chunk-OVTWPGMW.mjs.map +1 -0
  72. package/dist/chunk-PPVJ4INP.mjs +60 -0
  73. package/dist/chunk-PPVJ4INP.mjs.map +1 -0
  74. package/dist/{chunk-LN77JJTY.mjs → chunk-PSIAOIXJ.mjs} +48 -48
  75. package/dist/chunk-PSIAOIXJ.mjs.map +1 -0
  76. package/dist/chunk-QNF4JPFP.js +339 -0
  77. package/dist/chunk-QNF4JPFP.js.map +1 -0
  78. package/dist/{chunk-A6KMZ5ZS.mjs → chunk-QSIJKHC5.mjs} +15 -15
  79. package/dist/chunk-QSIJKHC5.mjs.map +1 -0
  80. package/dist/chunk-RFFGQYDQ.mjs +337 -0
  81. package/dist/chunk-RFFGQYDQ.mjs.map +1 -0
  82. package/dist/chunk-RGOMHX4G.js +4 -0
  83. package/dist/chunk-RGOMHX4G.js.map +1 -0
  84. package/dist/{chunk-INMNX3HQ.mjs → chunk-S5H2OMTZ.mjs} +29 -36
  85. package/dist/chunk-S5H2OMTZ.mjs.map +1 -0
  86. package/dist/{chunk-JBAUEGYD.mjs → chunk-TFWKF3DR.mjs} +51 -51
  87. package/dist/chunk-TFWKF3DR.mjs.map +1 -0
  88. package/dist/chunk-VGWA26BN.js +72 -0
  89. package/dist/chunk-VGWA26BN.js.map +1 -0
  90. package/dist/chunk-VMCOX3Z2.js +67 -0
  91. package/dist/chunk-VMCOX3Z2.js.map +1 -0
  92. package/dist/chunk-Y3AHRRNM.mjs +99 -0
  93. package/dist/chunk-Y3AHRRNM.mjs.map +1 -0
  94. package/dist/{chunk-TJUNN2PT.mjs → chunk-YD3LVW7V.mjs} +27 -26
  95. package/dist/chunk-YD3LVW7V.mjs.map +1 -0
  96. package/dist/{chunk-AD2LA3XN.js → chunk-YIO7DFUA.js} +39 -36
  97. package/dist/chunk-YIO7DFUA.js.map +1 -0
  98. package/dist/chunk-YRTGORVB.js +232 -0
  99. package/dist/chunk-YRTGORVB.js.map +1 -0
  100. package/dist/chunk-Z7QK472J.mjs +220 -0
  101. package/dist/chunk-Z7QK472J.mjs.map +1 -0
  102. package/dist/hooks/useControllableState.js +3 -2
  103. package/dist/hooks/useControllableState.mjs +2 -1
  104. package/dist/hooks/useDisclosure.js +3 -2
  105. package/dist/hooks/useDisclosure.js.map +1 -1
  106. package/dist/hooks/useDisclosure.mjs +2 -1
  107. package/dist/hooks/useDisclosure.mjs.map +1 -1
  108. package/dist/hooks/useDynamicStepper/index.d.ts +2 -0
  109. package/dist/hooks/useDynamicStepper/index.d.ts.map +1 -0
  110. package/dist/hooks/useDynamicStepper/useDynamicStepper.d.ts +9 -0
  111. package/dist/hooks/useDynamicStepper/useDynamicStepper.d.ts.map +1 -0
  112. package/dist/hooks/useDynamicStepper.js +14 -0
  113. package/dist/hooks/useDynamicStepper.js.map +1 -0
  114. package/dist/hooks/useDynamicStepper.mjs +5 -0
  115. package/dist/hooks/useDynamicStepper.mjs.map +1 -0
  116. package/dist/ui/accordion/animated.js +7 -7
  117. package/dist/ui/accordion/animated.mjs +2 -2
  118. package/dist/ui/accordion/variants.d.ts.map +1 -1
  119. package/dist/ui/accordion.js +9 -9
  120. package/dist/ui/accordion.mjs +2 -2
  121. package/dist/ui/alert/animated.js +2 -2
  122. package/dist/ui/alert/animated.mjs +1 -1
  123. package/dist/ui/alert/variants.d.ts.map +1 -1
  124. package/dist/ui/alert.js +10 -10
  125. package/dist/ui/alert.mjs +2 -2
  126. package/dist/ui/avatar/animated.js +5 -5
  127. package/dist/ui/avatar/animated.mjs +2 -2
  128. package/dist/ui/avatar/variants.d.ts.map +1 -1
  129. package/dist/ui/avatar.js +9 -9
  130. package/dist/ui/avatar.mjs +2 -2
  131. package/dist/ui/badge/animated.js +2 -2
  132. package/dist/ui/badge/animated.mjs +1 -1
  133. package/dist/ui/badge/variants.d.ts +24 -24
  134. package/dist/ui/badge/variants.d.ts.map +1 -1
  135. package/dist/ui/badge.js +4 -4
  136. package/dist/ui/badge.mjs +2 -2
  137. package/dist/ui/breadcrumb/variants.d.ts.map +1 -1
  138. package/dist/ui/breadcrumb.js +30 -25
  139. package/dist/ui/breadcrumb.js.map +1 -1
  140. package/dist/ui/breadcrumb.mjs +30 -25
  141. package/dist/ui/breadcrumb.mjs.map +1 -1
  142. package/dist/ui/buttons/animated.js +3 -3
  143. package/dist/ui/buttons/animated.mjs +1 -1
  144. package/dist/ui/buttons/variants.d.ts.map +1 -1
  145. package/dist/ui/buttons.js +9 -57
  146. package/dist/ui/buttons.js.map +1 -1
  147. package/dist/ui/buttons.mjs +3 -59
  148. package/dist/ui/buttons.mjs.map +1 -1
  149. package/dist/ui/card/animated.js +7 -7
  150. package/dist/ui/card/animated.mjs +2 -2
  151. package/dist/ui/card/variants.d.ts.map +1 -1
  152. package/dist/ui/card.js +12 -12
  153. package/dist/ui/card.mjs +2 -2
  154. package/dist/ui/divider/animated.js +2 -2
  155. package/dist/ui/divider/animated.mjs +1 -1
  156. package/dist/ui/divider.js +6 -6
  157. package/dist/ui/divider.mjs +2 -2
  158. package/dist/ui/drawer/animated.js +11 -11
  159. package/dist/ui/drawer/animated.mjs +2 -2
  160. package/dist/ui/drawer/variants.d.ts.map +1 -1
  161. package/dist/ui/drawer.js +11 -11
  162. package/dist/ui/drawer.mjs +1 -1
  163. package/dist/ui/dropdown/variants.d.ts.map +1 -1
  164. package/dist/ui/dropdown.js +52 -52
  165. package/dist/ui/dropdown.js.map +1 -1
  166. package/dist/ui/dropdown.mjs +52 -52
  167. package/dist/ui/dropdown.mjs.map +1 -1
  168. package/dist/ui/dynamic-stepper/dynamic-stepper.d.ts +6 -0
  169. package/dist/ui/dynamic-stepper/dynamic-stepper.d.ts.map +1 -0
  170. package/dist/ui/dynamic-stepper/index.d.ts +5 -0
  171. package/dist/ui/dynamic-stepper/index.d.ts.map +1 -0
  172. package/dist/ui/dynamic-stepper/types.d.ts +61 -0
  173. package/dist/ui/dynamic-stepper/types.d.ts.map +1 -0
  174. package/dist/ui/dynamic-stepper/variants.d.ts +21 -0
  175. package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -0
  176. package/dist/ui/dynamic-stepper.js +315 -0
  177. package/dist/ui/dynamic-stepper.js.map +1 -0
  178. package/dist/ui/dynamic-stepper.mjs +308 -0
  179. package/dist/ui/dynamic-stepper.mjs.map +1 -0
  180. package/dist/ui/empty-state/animated.js +2 -2
  181. package/dist/ui/empty-state/animated.mjs +1 -1
  182. package/dist/ui/empty-state/variants.d.ts.map +1 -1
  183. package/dist/ui/empty-state.js +10 -10
  184. package/dist/ui/empty-state.mjs +2 -2
  185. package/dist/ui/file-upload/file-upload.d.ts.map +1 -1
  186. package/dist/ui/file-upload/variants.d.ts.map +1 -1
  187. package/dist/ui/file-upload.js +18 -18
  188. package/dist/ui/file-upload.js.map +1 -1
  189. package/dist/ui/file-upload.mjs +18 -18
  190. package/dist/ui/file-upload.mjs.map +1 -1
  191. package/dist/ui/inputs/animated.js +3 -3
  192. package/dist/ui/inputs/animated.mjs +1 -1
  193. package/dist/ui/inputs/types.d.ts +1 -1
  194. package/dist/ui/inputs/types.d.ts.map +1 -1
  195. package/dist/ui/inputs/variants.d.ts +1 -1
  196. package/dist/ui/inputs/variants.d.ts.map +1 -1
  197. package/dist/ui/inputs.js +4 -4
  198. package/dist/ui/inputs.mjs +2 -2
  199. package/dist/ui/modal/animated.js +4 -4
  200. package/dist/ui/modal/animated.mjs +1 -1
  201. package/dist/ui/modal/variants.d.ts.map +1 -1
  202. package/dist/ui/modal.js +12 -12
  203. package/dist/ui/modal.mjs +2 -2
  204. package/dist/ui/pagination/pagination.d.ts +5 -16
  205. package/dist/ui/pagination/pagination.d.ts.map +1 -1
  206. package/dist/ui/pagination/types.d.ts +2 -2
  207. package/dist/ui/pagination/types.d.ts.map +1 -1
  208. package/dist/ui/pagination/variants.d.ts.map +1 -1
  209. package/dist/ui/pagination.js +200 -209
  210. package/dist/ui/pagination.js.map +1 -1
  211. package/dist/ui/pagination.mjs +201 -210
  212. package/dist/ui/pagination.mjs.map +1 -1
  213. package/dist/ui/progress/animated.js +8 -8
  214. package/dist/ui/progress/animated.mjs +2 -2
  215. package/dist/ui/progress/variants.d.ts.map +1 -1
  216. package/dist/ui/progress.js +9 -9
  217. package/dist/ui/progress.mjs +2 -2
  218. package/dist/ui/search/search-bar.d.ts.map +1 -1
  219. package/dist/ui/search/search-suggestion-list.d.ts.map +1 -1
  220. package/dist/ui/search.js +10 -9
  221. package/dist/ui/search.js.map +1 -1
  222. package/dist/ui/search.mjs +9 -8
  223. package/dist/ui/search.mjs.map +1 -1
  224. package/dist/ui/select/variants.d.ts.map +1 -1
  225. package/dist/ui/select.js +66 -66
  226. package/dist/ui/select.js.map +1 -1
  227. package/dist/ui/select.mjs +66 -66
  228. package/dist/ui/select.mjs.map +1 -1
  229. package/dist/ui/skeleton/animated.js +8 -8
  230. package/dist/ui/skeleton/animated.mjs +1 -1
  231. package/dist/ui/skeleton/variants.d.ts.map +1 -1
  232. package/dist/ui/skeleton.js +9 -9
  233. package/dist/ui/skeleton.mjs +1 -1
  234. package/dist/ui/slider.js +25 -25
  235. package/dist/ui/slider.js.map +1 -1
  236. package/dist/ui/slider.mjs +25 -25
  237. package/dist/ui/slider.mjs.map +1 -1
  238. package/dist/ui/spinner/animated.js +22 -22
  239. package/dist/ui/spinner/animated.js.map +1 -1
  240. package/dist/ui/spinner/animated.mjs +22 -22
  241. package/dist/ui/spinner/animated.mjs.map +1 -1
  242. package/dist/ui/stepper/stepper.d.ts.map +1 -1
  243. package/dist/ui/stepper/variants.d.ts.map +1 -1
  244. package/dist/ui/stepper.js +29 -26
  245. package/dist/ui/stepper.js.map +1 -1
  246. package/dist/ui/stepper.mjs +29 -26
  247. package/dist/ui/stepper.mjs.map +1 -1
  248. package/dist/ui/table/animated.js +8 -8
  249. package/dist/ui/table/animated.mjs +2 -2
  250. package/dist/ui/table/variants.d.ts.map +1 -1
  251. package/dist/ui/table.js +14 -14
  252. package/dist/ui/table.mjs +1 -1
  253. package/dist/ui/tabs/animated.js +2 -2
  254. package/dist/ui/tabs/animated.mjs +1 -1
  255. package/dist/ui/tabs/variants.d.ts.map +1 -1
  256. package/dist/ui/tabs.js +9 -9
  257. package/dist/ui/tabs.mjs +1 -1
  258. package/dist/ui/toast/animated.js +7 -7
  259. package/dist/ui/toast/animated.mjs +1 -1
  260. package/dist/ui/toast/toast-base.d.ts.map +1 -1
  261. package/dist/ui/toast/variants.d.ts.map +1 -1
  262. package/dist/ui/toast.js +12 -12
  263. package/dist/ui/toast.mjs +1 -1
  264. package/dist/ui/toggle/animated/toggle-animated.d.ts.map +1 -1
  265. package/dist/ui/toggle/animated.js +5 -4
  266. package/dist/ui/toggle/animated.js.map +1 -1
  267. package/dist/ui/toggle/animated.mjs +4 -3
  268. package/dist/ui/toggle/animated.mjs.map +1 -1
  269. package/dist/ui/toggle/toggle-base.d.ts.map +1 -1
  270. package/dist/ui/toggle/variants.d.ts +1 -0
  271. package/dist/ui/toggle/variants.d.ts.map +1 -1
  272. package/dist/ui/toggle.js +8 -7
  273. package/dist/ui/toggle.js.map +1 -1
  274. package/dist/ui/toggle.mjs +6 -5
  275. package/dist/ui/toggle.mjs.map +1 -1
  276. package/dist/ui/tooltip/animated.js +3 -3
  277. package/dist/ui/tooltip/animated.mjs +1 -1
  278. package/dist/ui/tooltip/variants.d.ts.map +1 -1
  279. package/dist/ui/tooltip.js +7 -7
  280. package/dist/ui/tooltip.mjs +1 -1
  281. package/dist/ui/typography/blockquote-base.d.ts.map +1 -1
  282. package/dist/ui/typography/code-block-base.d.ts.map +1 -1
  283. package/dist/ui/typography/heading-base.d.ts.map +1 -1
  284. package/dist/ui/typography/inline-code-base.d.ts.map +1 -1
  285. package/dist/ui/typography/variants.d.ts.map +1 -1
  286. package/dist/ui/typography.js +19 -19
  287. package/dist/ui/typography.js.map +1 -1
  288. package/dist/ui/typography.mjs +19 -19
  289. package/dist/ui/typography.mjs.map +1 -1
  290. package/package.json +4 -3
  291. package/src/charts/area/Area.tsx +1 -1
  292. package/src/charts/bubble/Bubble.tsx +10 -2
  293. package/src/charts/pie/Pie.tsx +22 -3
  294. package/src/charts/shared/types.ts +1 -1
  295. package/src/hooks/useDynamicStepper/index.ts +1 -0
  296. package/src/hooks/useDynamicStepper/useDynamicStepper.test.ts +107 -0
  297. package/src/hooks/useDynamicStepper/useDynamicStepper.ts +85 -0
  298. package/src/ui/accordion/variants.ts +55 -43
  299. package/src/ui/alert/variants.ts +45 -32
  300. package/src/ui/avatar/variants.ts +34 -26
  301. package/src/ui/badge/variants.ts +42 -29
  302. package/src/ui/breadcrumb/variants.ts +30 -25
  303. package/src/ui/buttons/variants.ts +40 -30
  304. package/src/ui/card/variants.ts +49 -39
  305. package/src/ui/divider/variants.ts +26 -26
  306. package/src/ui/drawer/drawer-base.tsx +1 -1
  307. package/src/ui/drawer/variants.ts +64 -48
  308. package/src/ui/dropdown/dropdown.tsx +1 -1
  309. package/src/ui/dropdown/variants.ts +63 -52
  310. package/src/ui/dynamic-stepper/dynamic-stepper.test.tsx +113 -0
  311. package/src/ui/dynamic-stepper/dynamic-stepper.tsx +173 -0
  312. package/src/ui/dynamic-stepper/index.ts +22 -0
  313. package/src/ui/dynamic-stepper/types.ts +85 -0
  314. package/src/ui/dynamic-stepper/variants.ts +247 -0
  315. package/src/ui/empty-state/variants.ts +14 -11
  316. package/src/ui/file-upload/file-upload.tsx +5 -3
  317. package/src/ui/file-upload/variants.ts +16 -15
  318. package/src/ui/inputs/types.ts +1 -1
  319. package/src/ui/inputs/variants.ts +106 -47
  320. package/src/ui/modal/modal-base.tsx +1 -1
  321. package/src/ui/modal/variants.ts +64 -47
  322. package/src/ui/pagination/pagination.tsx +186 -197
  323. package/src/ui/pagination/types.ts +2 -5
  324. package/src/ui/pagination/variants.ts +31 -28
  325. package/src/ui/progress/variants.ts +79 -65
  326. package/src/ui/search/search-bar.tsx +2 -1
  327. package/src/ui/search/search-suggestion-list.tsx +7 -5
  328. package/src/ui/select/variants.ts +72 -66
  329. package/src/ui/skeleton/variants.ts +22 -13
  330. package/src/ui/slider/variants.ts +25 -25
  331. package/src/ui/spinner/animated/variants.ts +22 -22
  332. package/src/ui/stepper/stepper.tsx +5 -2
  333. package/src/ui/stepper/variants.ts +25 -24
  334. package/src/ui/table/table-base.tsx +1 -1
  335. package/src/ui/table/variants.ts +53 -45
  336. package/src/ui/tabs/variants.ts +38 -23
  337. package/src/ui/toast/toast-base.tsx +1 -4
  338. package/src/ui/toast/variants.ts +33 -26
  339. package/src/ui/toggle/animated/toggle-animated.tsx +3 -2
  340. package/src/ui/toggle/toggle-base.tsx +4 -3
  341. package/src/ui/toggle/variants.ts +60 -28
  342. package/src/ui/tooltip/variants.ts +21 -20
  343. package/src/ui/typography/blockquote-base.tsx +0 -2
  344. package/src/ui/typography/code-block-base.tsx +1 -3
  345. package/src/ui/typography/heading-base.tsx +0 -2
  346. package/src/ui/typography/inline-code-base.tsx +0 -2
  347. package/src/ui/typography/variants.ts +21 -18
  348. package/dist/chunk-2BAMNRAL.mjs +0 -323
  349. package/dist/chunk-2BAMNRAL.mjs.map +0 -1
  350. package/dist/chunk-5TV7EL3H.mjs +0 -70
  351. package/dist/chunk-5TV7EL3H.mjs.map +0 -1
  352. package/dist/chunk-7TLKLMBM.js.map +0 -1
  353. package/dist/chunk-A6KMZ5ZS.mjs.map +0 -1
  354. package/dist/chunk-AD2LA3XN.js.map +0 -1
  355. package/dist/chunk-AOEI4V3W.mjs +0 -286
  356. package/dist/chunk-AOEI4V3W.mjs.map +0 -1
  357. package/dist/chunk-AUGLZ3AN.js.map +0 -1
  358. package/dist/chunk-BCZIYH53.js.map +0 -1
  359. package/dist/chunk-C5L465FW.mjs.map +0 -1
  360. package/dist/chunk-E4FZY7O2.js.map +0 -1
  361. package/dist/chunk-FQBMIZH2.mjs +0 -217
  362. package/dist/chunk-FQBMIZH2.mjs.map +0 -1
  363. package/dist/chunk-G3LEYBRV.mjs.map +0 -1
  364. package/dist/chunk-I6GR234Z.mjs +0 -126
  365. package/dist/chunk-I6GR234Z.mjs.map +0 -1
  366. package/dist/chunk-INMNX3HQ.mjs.map +0 -1
  367. package/dist/chunk-JBAUEGYD.mjs.map +0 -1
  368. package/dist/chunk-JQ5TIJ4F.mjs +0 -68
  369. package/dist/chunk-JQ5TIJ4F.mjs.map +0 -1
  370. package/dist/chunk-JUDMPOCI.js.map +0 -1
  371. package/dist/chunk-LN77JJTY.mjs.map +0 -1
  372. package/dist/chunk-MCOQHXRW.js +0 -130
  373. package/dist/chunk-MCOQHXRW.js.map +0 -1
  374. package/dist/chunk-MTLLJFUI.mjs.map +0 -1
  375. package/dist/chunk-N2OAI2HN.js.map +0 -1
  376. package/dist/chunk-OB4KJZK2.js +0 -72
  377. package/dist/chunk-OB4KJZK2.js.map +0 -1
  378. package/dist/chunk-OLEMP2HL.js.map +0 -1
  379. package/dist/chunk-PWL5WD34.js.map +0 -1
  380. package/dist/chunk-Q5B44QW7.js.map +0 -1
  381. package/dist/chunk-QZKMFSH5.js +0 -288
  382. package/dist/chunk-QZKMFSH5.js.map +0 -1
  383. package/dist/chunk-QZTEFGZF.mjs.map +0 -1
  384. package/dist/chunk-S7WKFNPT.js +0 -229
  385. package/dist/chunk-S7WKFNPT.js.map +0 -1
  386. package/dist/chunk-TINHLHCN.mjs.map +0 -1
  387. package/dist/chunk-TJUNN2PT.mjs.map +0 -1
  388. package/dist/chunk-UWA23DUC.js.map +0 -1
  389. package/dist/chunk-X22LLJL6.js +0 -71
  390. package/dist/chunk-X22LLJL6.js.map +0 -1
  391. package/dist/chunk-Y745GQR2.js.map +0 -1
  392. package/dist/chunk-YTRGRHEB.js.map +0 -1
  393. package/dist/chunk-ZBBFOMSJ.mjs.map +0 -1
  394. package/dist/chunk-ZYZJ74XB.mjs.map +0 -1
@@ -0,0 +1,315 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var chunkVMCOX3Z2_js = require('../chunk-VMCOX3Z2.js');
5
+ require('../chunk-HPN7H5ZM.js');
6
+ var chunkDO2LEXUY_js = require('../chunk-DO2LEXUY.js');
7
+ require('../chunk-VGWA26BN.js');
8
+ var chunkZS5756ZC_js = require('../chunk-ZS5756ZC.js');
9
+ var react = require('react');
10
+ var classVarianceAuthority = require('class-variance-authority');
11
+ var jsxRuntime = require('react/jsx-runtime');
12
+
13
+ var INDICATOR_TONE_CLASSES = {
14
+ default: {
15
+ complete: "border-slate-500/55 dark:border-slate-700/55 bg-slate-500/25 dark:bg-slate-500/25 text-slate-900 dark:text-slate-50 ring-2 ring-slate-500/25 dark:ring-slate-400/25",
16
+ current: "border-slate-600 dark:border-slate-300 bg-slate-500/35 dark:bg-slate-500/35 text-slate-900 dark:text-white ring-2 ring-slate-600/45 dark:ring-slate-300/45",
17
+ upcoming: "border-black/15 dark:border-white/15 bg-black/5 dark:bg-white/5 text-slate-500 dark:text-slate-400"
18
+ },
19
+ secondary: {
20
+ complete: "border-slate-400 dark:border-slate-600 bg-slate-200/70 dark:bg-slate-800/70 text-slate-700 dark:text-slate-200 ring-2 ring-slate-400/35 dark:ring-slate-600/35",
21
+ current: "border-slate-500 dark:border-slate-500 bg-slate-300/55 dark:bg-slate-700/55 text-slate-900 dark:text-white ring-2 ring-slate-500/45 dark:ring-slate-500/45",
22
+ upcoming: "border-black/10 dark:border-white/10 bg-slate-100/50 dark:bg-slate-900/50 text-slate-500 dark:text-slate-500"
23
+ },
24
+ destructive: {
25
+ complete: "border-rose-500/60 bg-rose-500/20 text-rose-900 dark:text-rose-100 ring-2 ring-rose-400/30",
26
+ current: "border-rose-600 dark:border-rose-400 bg-rose-100/50 dark:bg-rose-600/35 text-slate-900 dark:text-white ring-2 ring-rose-400/50",
27
+ upcoming: "border-black/15 dark:border-white/15 bg-rose-50 dark:bg-rose-950/25 text-slate-500 dark:text-slate-400"
28
+ },
29
+ outline: {
30
+ complete: "border-emerald-500/55 bg-transparent text-emerald-200 ring-2 ring-emerald-500/25",
31
+ current: "border-black/30 dark:border-white/30 bg-black/10 dark:bg-white/10 text-slate-900 dark:text-white ring-2 ring-black/25 dark:ring-white/25",
32
+ upcoming: "border-black/15 dark:border-white/15 bg-black/5 dark:bg-white/5 text-slate-500 dark:text-slate-400"
33
+ },
34
+ ghost: {
35
+ complete: "border-transparent bg-emerald-500/15 text-emerald-200 ring-2 ring-emerald-400/20",
36
+ current: "border-transparent bg-black/10 dark:bg-white/10 text-slate-900 dark:text-white ring-2 ring-black/15 dark:ring-white/15",
37
+ upcoming: "border-transparent bg-transparent text-slate-500 dark:text-slate-500"
38
+ },
39
+ link: {
40
+ complete: "border-cyan-500/45 bg-cyan-50 dark:bg-cyan-950/35 text-cyan-200 ring-2 ring-cyan-400/25",
41
+ current: "border-cyan-600 dark:border-cyan-400 bg-cyan-900/45 text-cyan-950 dark:text-cyan-50 ring-2 ring-cyan-400/45",
42
+ upcoming: "border-black/10 dark:border-white/10 bg-transparent text-slate-500 dark:text-slate-500"
43
+ },
44
+ glass: {
45
+ complete: "border-black/25 dark:border-white/25 bg-black/10 dark:bg-white/10 text-emerald-900 dark:text-emerald-100 shadow-[inset_0_1px_0_rgba(255,255,255,0.06)] backdrop-blur-md ring-2 ring-emerald-400/25",
46
+ current: "border-black/35 dark:border-white/35 bg-black/15 dark:bg-white/15 text-slate-900 dark:text-white shadow-[inset_0_1px_0_rgba(255,255,255,0.08)] backdrop-blur-md ring-2 ring-black/30 dark:ring-white/30",
47
+ upcoming: "border-black/15 dark:border-white/15 bg-black/5 dark:bg-white/5 text-slate-500 dark:text-slate-400 backdrop-blur-sm"
48
+ },
49
+ emerald: {
50
+ complete: "border-emerald-500/60 bg-emerald-500/20 text-emerald-900 dark:text-emerald-100 ring-2 ring-emerald-400/30",
51
+ current: "border-emerald-600 dark:border-emerald-400 bg-emerald-500/30 text-slate-900 dark:text-white ring-2 ring-emerald-400/50",
52
+ upcoming: "border-black/15 dark:border-white/15 bg-emerald-50 dark:bg-emerald-950/30 text-emerald-700/55"
53
+ },
54
+ indigo: {
55
+ complete: "border-indigo-500/60 bg-indigo-500/20 text-indigo-900 dark:text-indigo-100 ring-2 ring-indigo-400/30",
56
+ current: "border-indigo-600 dark:border-indigo-400 bg-indigo-500/30 text-slate-900 dark:text-white ring-2 ring-indigo-400/50",
57
+ upcoming: "border-black/15 dark:border-white/15 bg-indigo-50 dark:bg-indigo-950/30 text-indigo-700/55"
58
+ },
59
+ purple: {
60
+ complete: "border-purple-500/60 bg-purple-500/20 text-purple-900 dark:text-purple-100 ring-2 ring-purple-400/30",
61
+ current: "border-purple-600 dark:border-purple-400 bg-purple-500/30 text-slate-900 dark:text-white ring-2 ring-purple-400/50",
62
+ upcoming: "border-black/15 dark:border-white/15 bg-purple-50 dark:bg-purple-950/30 text-purple-700/55"
63
+ },
64
+ pink: {
65
+ complete: "border-pink-500/60 bg-pink-500/20 text-pink-900 dark:text-pink-100 ring-2 ring-pink-400/30",
66
+ current: "border-pink-600 dark:border-pink-400 bg-pink-500/30 text-slate-900 dark:text-white ring-2 ring-pink-400/50",
67
+ upcoming: "border-black/15 dark:border-white/15 bg-pink-50 dark:bg-pink-950/30 text-pink-700/55"
68
+ },
69
+ rose: {
70
+ complete: "border-rose-500/60 bg-rose-500/20 text-rose-900 dark:text-rose-100 ring-2 ring-rose-400/30",
71
+ current: "border-rose-600 dark:border-rose-400 bg-rose-500/30 text-slate-900 dark:text-white ring-2 ring-rose-400/50",
72
+ upcoming: "border-black/15 dark:border-white/15 bg-rose-50 dark:bg-rose-950/30 text-rose-700/55"
73
+ },
74
+ sky: {
75
+ complete: "border-sky-500/60 bg-sky-500/20 text-sky-900 dark:text-sky-100 ring-2 ring-sky-400/30",
76
+ current: "border-sky-600 dark:border-sky-400 bg-sky-500/30 text-slate-900 dark:text-white ring-2 ring-sky-400/50",
77
+ upcoming: "border-black/15 dark:border-white/15 bg-sky-50 dark:bg-sky-950/30 text-sky-700/55"
78
+ },
79
+ teal: {
80
+ complete: "border-teal-500/60 bg-teal-500/20 text-teal-900 dark:text-teal-100 ring-2 ring-teal-400/30",
81
+ current: "border-teal-600 dark:border-teal-400 bg-teal-500/30 text-slate-900 dark:text-white ring-2 ring-teal-400/50",
82
+ upcoming: "border-black/15 dark:border-white/15 bg-teal-50 dark:bg-teal-950/30 text-teal-700/55"
83
+ },
84
+ yellow: {
85
+ complete: "border-yellow-500/60 bg-yellow-500/20 text-yellow-900 dark:text-yellow-100 ring-2 ring-yellow-400/30",
86
+ current: "border-yellow-600 dark:border-yellow-400 bg-yellow-100/50 dark:bg-yellow-600/35 text-slate-900 dark:text-white ring-2 ring-yellow-400/50",
87
+ upcoming: "border-black/15 dark:border-white/15 bg-yellow-50 dark:bg-yellow-950/35 text-yellow-700/55"
88
+ },
89
+ orange: {
90
+ complete: "border-orange-500/60 bg-orange-500/20 text-orange-900 dark:text-orange-100 ring-2 ring-orange-400/30",
91
+ current: "border-orange-600 dark:border-orange-400 bg-orange-100/50 dark:bg-orange-600/35 text-slate-900 dark:text-white ring-2 ring-orange-400/50",
92
+ upcoming: "border-black/15 dark:border-white/15 bg-orange-50 dark:bg-orange-950/30 text-orange-700/55"
93
+ },
94
+ gray: {
95
+ complete: "border-gray-500/60 bg-gray-500/20 text-gray-900 dark:text-gray-100 ring-2 ring-gray-400/30",
96
+ current: "border-gray-600 dark:border-gray-400 bg-gray-100/50 dark:bg-gray-600/35 text-slate-900 dark:text-white ring-2 ring-gray-400/50",
97
+ upcoming: "border-black/15 dark:border-white/15 bg-gray-50 dark:bg-gray-950/30 text-gray-300/70"
98
+ },
99
+ amber: {
100
+ complete: "border-amber-500/60 bg-amber-500/20 text-amber-900 dark:text-amber-100 ring-2 ring-amber-400/30",
101
+ current: "border-amber-600 dark:border-amber-400 bg-amber-100/50 dark:bg-amber-600/35 text-slate-900 dark:text-white ring-2 ring-amber-400/50",
102
+ upcoming: "border-black/15 dark:border-white/15 bg-amber-50 dark:bg-amber-950/35 text-amber-700/55"
103
+ },
104
+ violet: {
105
+ complete: "border-violet-500/60 bg-violet-500/20 text-violet-900 dark:text-violet-100 ring-2 ring-violet-400/30",
106
+ current: "border-violet-600 dark:border-violet-400 bg-violet-500/30 text-slate-900 dark:text-white ring-2 ring-violet-400/50",
107
+ upcoming: "border-black/15 dark:border-white/15 bg-violet-50 dark:bg-violet-950/30 text-violet-700/55"
108
+ }
109
+ };
110
+ function dynamicStepperIndicatorToneClass(state, tone) {
111
+ return INDICATOR_TONE_CLASSES[tone][state];
112
+ }
113
+ var dynamicStepperRootVariants = classVarianceAuthority.cva("flex w-full", {
114
+ variants: {
115
+ orientation: {
116
+ horizontal: "flex-row flex-wrap items-start justify-between gap-4 md:flex-nowrap md:items-center",
117
+ vertical: "flex-col gap-6"
118
+ }
119
+ },
120
+ defaultVariants: {
121
+ orientation: "horizontal"
122
+ }
123
+ });
124
+ var dynamicStepperMapperVariants = classVarianceAuthority.cva(
125
+ "m-0 min-w-0 flex-1 list-none p-0",
126
+ {
127
+ variants: {
128
+ orientation: {
129
+ horizontal: "flex flex-row flex-wrap items-start justify-center gap-4",
130
+ vertical: "flex flex-col gap-6"
131
+ }
132
+ },
133
+ defaultVariants: {
134
+ orientation: "horizontal"
135
+ }
136
+ }
137
+ );
138
+ var dynamicStepperItemVariants = classVarianceAuthority.cva("relative flex gap-3", {
139
+ variants: {
140
+ orientation: {
141
+ horizontal: "min-w-0 flex-col items-center text-center",
142
+ vertical: "flex-row items-start text-left"
143
+ }
144
+ },
145
+ defaultVariants: {
146
+ orientation: "horizontal"
147
+ }
148
+ });
149
+ var dynamicStepperIndicatorVariants = classVarianceAuthority.cva(
150
+ "grid size-9 shrink-0 place-items-center rounded-full border text-sm font-semibold transition-colors",
151
+ {
152
+ variants: {
153
+ size: {
154
+ sm: "size-8 text-xs",
155
+ md: "size-9 text-sm",
156
+ lg: "size-10 text-base"
157
+ }
158
+ },
159
+ defaultVariants: {
160
+ size: "md"
161
+ }
162
+ }
163
+ );
164
+ var DynamicStepper = ({
165
+ steps,
166
+ orientation = "horizontal",
167
+ buttonAppearance = "outline",
168
+ buttonSize = "md",
169
+ indicatorSize = "md",
170
+ indicatorCompleteAppearance = "emerald",
171
+ indicatorCurrentAppearance = "violet",
172
+ indicatorUpcomingAppearance = "outline",
173
+ activeStep: activeStepProp,
174
+ defaultActiveStep,
175
+ onActiveStepChange,
176
+ onPrevious,
177
+ onNext,
178
+ prevLabel = "Previous",
179
+ nextLabel = "Next",
180
+ className,
181
+ ref,
182
+ ...rest
183
+ }) => {
184
+ const baseId = react.useId();
185
+ const previousId = `${baseId}-previous`;
186
+ const nextId = `${baseId}-next`;
187
+ const mapperId = `${baseId}-mapper`;
188
+ const { activeStep, goPrevious, goNext, canGoPrevious, canGoNext } = chunkVMCOX3Z2_js.useDynamicStepper({
189
+ stepCount: steps.length,
190
+ activeStep: activeStepProp,
191
+ defaultActiveStep,
192
+ onActiveStepChange,
193
+ onPrevious,
194
+ onNext
195
+ });
196
+ if (steps.length === 0) {
197
+ return null;
198
+ }
199
+ const itemOrientation = orientation === "vertical" ? "vertical" : "horizontal";
200
+ return /* @__PURE__ */ jsxRuntime.jsxs(
201
+ "div",
202
+ {
203
+ ref,
204
+ role: "navigation",
205
+ "data-slot": "dynamic-stepper",
206
+ className: chunkZS5756ZC_js.cn(dynamicStepperRootVariants({ orientation }), className),
207
+ ...rest,
208
+ children: [
209
+ /* @__PURE__ */ jsxRuntime.jsx(
210
+ chunkDO2LEXUY_js.Button,
211
+ {
212
+ id: previousId,
213
+ "data-slot": "dynamic-stepper-previous",
214
+ type: "button",
215
+ appearance: buttonAppearance,
216
+ size: buttonSize,
217
+ disabled: !canGoPrevious,
218
+ onClick: goPrevious,
219
+ className: orientation === "vertical" ? "shrink-0 self-start" : "shrink-0",
220
+ children: prevLabel
221
+ }
222
+ ),
223
+ /* @__PURE__ */ jsxRuntime.jsx(
224
+ "ol",
225
+ {
226
+ id: mapperId,
227
+ "aria-label": "Steps",
228
+ "data-slot": "dynamic-stepper-mapper",
229
+ className: dynamicStepperMapperVariants({ orientation }),
230
+ children: steps.map((step, index) => {
231
+ const key = step.id ?? `dynamic-stepper-step-${index}`;
232
+ const isCurrent = index === activeStep;
233
+ const semanticState = index < activeStep ? "complete" : isCurrent ? "current" : "upcoming";
234
+ const indicatorTone = semanticState === "complete" ? indicatorCompleteAppearance : semanticState === "current" ? indicatorCurrentAppearance : indicatorUpcomingAppearance;
235
+ const isVertical = orientation === "vertical";
236
+ return /* @__PURE__ */ jsxRuntime.jsxs(
237
+ "li",
238
+ {
239
+ "data-slot": "dynamic-stepper-item",
240
+ "aria-current": isCurrent ? "step" : void 0,
241
+ className: dynamicStepperItemVariants({
242
+ orientation: itemOrientation
243
+ }),
244
+ children: [
245
+ /* @__PURE__ */ jsxRuntime.jsx(
246
+ "div",
247
+ {
248
+ "data-slot": "dynamic-stepper-indicator",
249
+ className: chunkZS5756ZC_js.cn(
250
+ dynamicStepperIndicatorVariants({ size: indicatorSize }),
251
+ dynamicStepperIndicatorToneClass(
252
+ semanticState,
253
+ indicatorTone
254
+ )
255
+ ),
256
+ children: step.indicator ?? index + 1
257
+ }
258
+ ),
259
+ /* @__PURE__ */ jsxRuntime.jsxs(
260
+ "div",
261
+ {
262
+ className: chunkZS5756ZC_js.cn(
263
+ "min-w-0",
264
+ !isVertical && "flex flex-col items-center"
265
+ ),
266
+ children: [
267
+ step.title != null && /* @__PURE__ */ jsxRuntime.jsx(
268
+ "div",
269
+ {
270
+ className: chunkZS5756ZC_js.cn(
271
+ "text-sm font-semibold dark:text-white text-slate-900",
272
+ !isVertical && "mt-3"
273
+ ),
274
+ children: step.title
275
+ }
276
+ ),
277
+ step.description != null && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs text-slate-900 dark:text-slate-400", children: step.description })
278
+ ]
279
+ }
280
+ )
281
+ ]
282
+ },
283
+ key
284
+ );
285
+ })
286
+ }
287
+ ),
288
+ /* @__PURE__ */ jsxRuntime.jsx(
289
+ chunkDO2LEXUY_js.Button,
290
+ {
291
+ id: nextId,
292
+ "data-slot": "dynamic-stepper-next",
293
+ type: "button",
294
+ appearance: buttonAppearance,
295
+ size: buttonSize,
296
+ disabled: !canGoNext,
297
+ onClick: goNext,
298
+ className: orientation === "vertical" ? "shrink-0 self-start" : "shrink-0",
299
+ children: nextLabel
300
+ }
301
+ )
302
+ ]
303
+ }
304
+ );
305
+ };
306
+ DynamicStepper.displayName = "DynamicStepper";
307
+
308
+ exports.DynamicStepper = DynamicStepper;
309
+ exports.dynamicStepperIndicatorToneClass = dynamicStepperIndicatorToneClass;
310
+ exports.dynamicStepperIndicatorVariants = dynamicStepperIndicatorVariants;
311
+ exports.dynamicStepperItemVariants = dynamicStepperItemVariants;
312
+ exports.dynamicStepperMapperVariants = dynamicStepperMapperVariants;
313
+ exports.dynamicStepperRootVariants = dynamicStepperRootVariants;
314
+ //# sourceMappingURL=dynamic-stepper.js.map
315
+ //# sourceMappingURL=dynamic-stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/ui/dynamic-stepper/variants.ts","../../src/ui/dynamic-stepper/dynamic-stepper.tsx"],"names":["cva","useId","useDynamicStepper","jsxs","cn","jsx","Button"],"mappings":"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","file":"dynamic-stepper.js","sourcesContent":["import type { VariantProps } from \"class-variance-authority\";\nimport { cva } from \"class-variance-authority\";\n\nimport type { buttonVariants } from \"../buttons/variants\";\n\ntype GradientButtonAppearance =\n | \"gradient-blue\"\n | \"gradient-green\"\n | \"gradient-red\"\n | \"gradient-yellow\"\n | \"gradient-purple\"\n | \"gradient-teal\"\n | \"gradient-indigo\"\n | \"gradient-pink\"\n | \"gradient-orange\";\n\n/** Button `appearance` keys usable for indicator tones (gradients excluded). */\nexport type DynamicStepperIndicatorToneAppearance = Exclude<\n NonNullable<VariantProps<typeof buttonVariants>[\"appearance\"]>,\n GradientButtonAppearance\n>;\n\nexport type DynamicStepperIndicatorSemanticState =\n | \"complete\"\n | \"current\"\n | \"upcoming\";\n\nconst INDICATOR_TONE_CLASSES: Record<\n DynamicStepperIndicatorToneAppearance,\n Record<DynamicStepperIndicatorSemanticState, string>\n> = {\n default: {\n complete:\n \"border-slate-500/55 dark:border-slate-700/55 bg-slate-500/25 dark:bg-slate-500/25 text-slate-900 dark:text-slate-50 ring-2 ring-slate-500/25 dark:ring-slate-400/25\",\n current:\n \"border-slate-600 dark:border-slate-300 bg-slate-500/35 dark:bg-slate-500/35 text-slate-900 dark:text-white ring-2 ring-slate-600/45 dark:ring-slate-300/45\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-black/5 dark:bg-white/5 text-slate-500 dark:text-slate-400\",\n },\n secondary: {\n complete:\n \"border-slate-400 dark:border-slate-600 bg-slate-200/70 dark:bg-slate-800/70 text-slate-700 dark:text-slate-200 ring-2 ring-slate-400/35 dark:ring-slate-600/35\",\n current:\n \"border-slate-500 dark:border-slate-500 bg-slate-300/55 dark:bg-slate-700/55 text-slate-900 dark:text-white ring-2 ring-slate-500/45 dark:ring-slate-500/45\",\n upcoming:\n \"border-black/10 dark:border-white/10 bg-slate-100/50 dark:bg-slate-900/50 text-slate-500 dark:text-slate-500\",\n },\n destructive: {\n complete:\n \"border-rose-500/60 bg-rose-500/20 text-rose-900 dark:text-rose-100 ring-2 ring-rose-400/30\",\n current:\n \"border-rose-600 dark:border-rose-400 bg-rose-100/50 dark:bg-rose-600/35 text-slate-900 dark:text-white ring-2 ring-rose-400/50\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-rose-50 dark:bg-rose-950/25 text-slate-500 dark:text-slate-400\",\n },\n outline: {\n complete:\n \"border-emerald-500/55 bg-transparent text-emerald-200 ring-2 ring-emerald-500/25\",\n current:\n \"border-black/30 dark:border-white/30 bg-black/10 dark:bg-white/10 text-slate-900 dark:text-white ring-2 ring-black/25 dark:ring-white/25\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-black/5 dark:bg-white/5 text-slate-500 dark:text-slate-400\",\n },\n ghost: {\n complete:\n \"border-transparent bg-emerald-500/15 text-emerald-200 ring-2 ring-emerald-400/20\",\n current:\n \"border-transparent bg-black/10 dark:bg-white/10 text-slate-900 dark:text-white ring-2 ring-black/15 dark:ring-white/15\",\n upcoming:\n \"border-transparent bg-transparent text-slate-500 dark:text-slate-500\",\n },\n link: {\n complete:\n \"border-cyan-500/45 bg-cyan-50 dark:bg-cyan-950/35 text-cyan-200 ring-2 ring-cyan-400/25\",\n current:\n \"border-cyan-600 dark:border-cyan-400 bg-cyan-900/45 text-cyan-950 dark:text-cyan-50 ring-2 ring-cyan-400/45\",\n upcoming:\n \"border-black/10 dark:border-white/10 bg-transparent text-slate-500 dark:text-slate-500\",\n },\n glass: {\n complete:\n \"border-black/25 dark:border-white/25 bg-black/10 dark:bg-white/10 text-emerald-900 dark:text-emerald-100 shadow-[inset_0_1px_0_rgba(255,255,255,0.06)] backdrop-blur-md ring-2 ring-emerald-400/25\",\n current:\n \"border-black/35 dark:border-white/35 bg-black/15 dark:bg-white/15 text-slate-900 dark:text-white shadow-[inset_0_1px_0_rgba(255,255,255,0.08)] backdrop-blur-md ring-2 ring-black/30 dark:ring-white/30\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-black/5 dark:bg-white/5 text-slate-500 dark:text-slate-400 backdrop-blur-sm\",\n },\n emerald: {\n complete:\n \"border-emerald-500/60 bg-emerald-500/20 text-emerald-900 dark:text-emerald-100 ring-2 ring-emerald-400/30\",\n current:\n \"border-emerald-600 dark:border-emerald-400 bg-emerald-500/30 text-slate-900 dark:text-white ring-2 ring-emerald-400/50\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-emerald-50 dark:bg-emerald-950/30 text-emerald-700/55\",\n },\n indigo: {\n complete:\n \"border-indigo-500/60 bg-indigo-500/20 text-indigo-900 dark:text-indigo-100 ring-2 ring-indigo-400/30\",\n current:\n \"border-indigo-600 dark:border-indigo-400 bg-indigo-500/30 text-slate-900 dark:text-white ring-2 ring-indigo-400/50\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-indigo-50 dark:bg-indigo-950/30 text-indigo-700/55\",\n },\n purple: {\n complete:\n \"border-purple-500/60 bg-purple-500/20 text-purple-900 dark:text-purple-100 ring-2 ring-purple-400/30\",\n current:\n \"border-purple-600 dark:border-purple-400 bg-purple-500/30 text-slate-900 dark:text-white ring-2 ring-purple-400/50\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-purple-50 dark:bg-purple-950/30 text-purple-700/55\",\n },\n pink: {\n complete:\n \"border-pink-500/60 bg-pink-500/20 text-pink-900 dark:text-pink-100 ring-2 ring-pink-400/30\",\n current:\n \"border-pink-600 dark:border-pink-400 bg-pink-500/30 text-slate-900 dark:text-white ring-2 ring-pink-400/50\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-pink-50 dark:bg-pink-950/30 text-pink-700/55\",\n },\n rose: {\n complete:\n \"border-rose-500/60 bg-rose-500/20 text-rose-900 dark:text-rose-100 ring-2 ring-rose-400/30\",\n current:\n \"border-rose-600 dark:border-rose-400 bg-rose-500/30 text-slate-900 dark:text-white ring-2 ring-rose-400/50\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-rose-50 dark:bg-rose-950/30 text-rose-700/55\",\n },\n sky: {\n complete:\n \"border-sky-500/60 bg-sky-500/20 text-sky-900 dark:text-sky-100 ring-2 ring-sky-400/30\",\n current:\n \"border-sky-600 dark:border-sky-400 bg-sky-500/30 text-slate-900 dark:text-white ring-2 ring-sky-400/50\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-sky-50 dark:bg-sky-950/30 text-sky-700/55\",\n },\n teal: {\n complete:\n \"border-teal-500/60 bg-teal-500/20 text-teal-900 dark:text-teal-100 ring-2 ring-teal-400/30\",\n current:\n \"border-teal-600 dark:border-teal-400 bg-teal-500/30 text-slate-900 dark:text-white ring-2 ring-teal-400/50\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-teal-50 dark:bg-teal-950/30 text-teal-700/55\",\n },\n yellow: {\n complete:\n \"border-yellow-500/60 bg-yellow-500/20 text-yellow-900 dark:text-yellow-100 ring-2 ring-yellow-400/30\",\n current:\n \"border-yellow-600 dark:border-yellow-400 bg-yellow-100/50 dark:bg-yellow-600/35 text-slate-900 dark:text-white ring-2 ring-yellow-400/50\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-yellow-50 dark:bg-yellow-950/35 text-yellow-700/55\",\n },\n orange: {\n complete:\n \"border-orange-500/60 bg-orange-500/20 text-orange-900 dark:text-orange-100 ring-2 ring-orange-400/30\",\n current:\n \"border-orange-600 dark:border-orange-400 bg-orange-100/50 dark:bg-orange-600/35 text-slate-900 dark:text-white ring-2 ring-orange-400/50\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-orange-50 dark:bg-orange-950/30 text-orange-700/55\",\n },\n gray: {\n complete:\n \"border-gray-500/60 bg-gray-500/20 text-gray-900 dark:text-gray-100 ring-2 ring-gray-400/30\",\n current:\n \"border-gray-600 dark:border-gray-400 bg-gray-100/50 dark:bg-gray-600/35 text-slate-900 dark:text-white ring-2 ring-gray-400/50\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-gray-50 dark:bg-gray-950/30 text-gray-300/70\",\n },\n amber: {\n complete:\n \"border-amber-500/60 bg-amber-500/20 text-amber-900 dark:text-amber-100 ring-2 ring-amber-400/30\",\n current:\n \"border-amber-600 dark:border-amber-400 bg-amber-100/50 dark:bg-amber-600/35 text-slate-900 dark:text-white ring-2 ring-amber-400/50\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-amber-50 dark:bg-amber-950/35 text-amber-700/55\",\n },\n violet: {\n complete:\n \"border-violet-500/60 bg-violet-500/20 text-violet-900 dark:text-violet-100 ring-2 ring-violet-400/30\",\n current:\n \"border-violet-600 dark:border-violet-400 bg-violet-500/30 text-slate-900 dark:text-white ring-2 ring-violet-400/50\",\n upcoming:\n \"border-black/15 dark:border-white/15 bg-violet-50 dark:bg-violet-950/30 text-violet-700/55\",\n },\n};\n\nexport function dynamicStepperIndicatorToneClass(\n state: DynamicStepperIndicatorSemanticState,\n tone: DynamicStepperIndicatorToneAppearance,\n): string {\n return INDICATOR_TONE_CLASSES[tone][state];\n}\n\nexport const dynamicStepperRootVariants = cva(\"flex w-full\", {\n variants: {\n orientation: {\n horizontal:\n \"flex-row flex-wrap items-start justify-between gap-4 md:flex-nowrap md:items-center\",\n vertical: \"flex-col gap-6\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n});\n\nexport const dynamicStepperMapperVariants = cva(\n \"m-0 min-w-0 flex-1 list-none p-0\",\n {\n variants: {\n orientation: {\n horizontal: \"flex flex-row flex-wrap items-start justify-center gap-4\",\n vertical: \"flex flex-col gap-6\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n },\n);\n\nexport const dynamicStepperItemVariants = cva(\"relative flex gap-3\", {\n variants: {\n orientation: {\n horizontal: \"min-w-0 flex-col items-center text-center\",\n vertical: \"flex-row items-start text-left\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n});\n\nexport const dynamicStepperIndicatorVariants = cva(\n \"grid size-9 shrink-0 place-items-center rounded-full border text-sm font-semibold transition-colors\",\n {\n variants: {\n size: {\n sm: \"size-8 text-xs\",\n md: \"size-9 text-sm\",\n lg: \"size-10 text-base\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n","\"use client\";\n\nimport { useId } from \"react\";\n\nimport { useDynamicStepper } from \"../../hooks/useDynamicStepper/useDynamicStepper\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../buttons/button\";\n\nimport type { DynamicStepperProps } from \"./types\";\nimport {\n dynamicStepperIndicatorToneClass,\n dynamicStepperIndicatorVariants,\n dynamicStepperItemVariants,\n dynamicStepperMapperVariants,\n dynamicStepperRootVariants,\n} from \"./variants\";\n\nexport const DynamicStepper = ({\n steps,\n orientation = \"horizontal\",\n buttonAppearance = \"outline\",\n buttonSize = \"md\",\n indicatorSize = \"md\",\n indicatorCompleteAppearance = \"emerald\",\n indicatorCurrentAppearance = \"violet\",\n indicatorUpcomingAppearance = \"outline\",\n activeStep: activeStepProp,\n defaultActiveStep,\n onActiveStepChange,\n onPrevious,\n onNext,\n prevLabel = \"Previous\",\n nextLabel = \"Next\",\n className,\n ref,\n ...rest\n}: DynamicStepperProps) => {\n const baseId = useId();\n const previousId = `${baseId}-previous`;\n const nextId = `${baseId}-next`;\n const mapperId = `${baseId}-mapper`;\n\n const { activeStep, goPrevious, goNext, canGoPrevious, canGoNext } =\n useDynamicStepper({\n stepCount: steps.length,\n activeStep: activeStepProp,\n defaultActiveStep,\n onActiveStepChange,\n onPrevious,\n onNext,\n });\n\n if (steps.length === 0) {\n return null;\n }\n\n const itemOrientation =\n orientation === \"vertical\" ? \"vertical\" : \"horizontal\";\n\n return (\n <div\n ref={ref}\n role=\"navigation\"\n data-slot=\"dynamic-stepper\"\n className={cn(dynamicStepperRootVariants({ orientation }), className)}\n {...rest}\n >\n <Button\n id={previousId}\n data-slot=\"dynamic-stepper-previous\"\n type=\"button\"\n appearance={buttonAppearance}\n size={buttonSize}\n disabled={!canGoPrevious}\n onClick={goPrevious}\n className={\n orientation === \"vertical\" ? \"shrink-0 self-start\" : \"shrink-0\"\n }\n >\n {prevLabel}\n </Button>\n\n <ol\n id={mapperId}\n aria-label=\"Steps\"\n data-slot=\"dynamic-stepper-mapper\"\n className={dynamicStepperMapperVariants({ orientation })}\n >\n {steps.map((step, index) => {\n const key = step.id ?? `dynamic-stepper-step-${index}`;\n const isCurrent = index === activeStep;\n const semanticState =\n index < activeStep\n ? \"complete\"\n : isCurrent\n ? \"current\"\n : \"upcoming\";\n const indicatorTone =\n semanticState === \"complete\"\n ? indicatorCompleteAppearance\n : semanticState === \"current\"\n ? indicatorCurrentAppearance\n : indicatorUpcomingAppearance;\n\n const isVertical = orientation === \"vertical\";\n\n return (\n <li\n key={key}\n data-slot=\"dynamic-stepper-item\"\n aria-current={isCurrent ? \"step\" : undefined}\n className={dynamicStepperItemVariants({\n orientation: itemOrientation,\n })}\n >\n <div\n data-slot=\"dynamic-stepper-indicator\"\n className={cn(\n dynamicStepperIndicatorVariants({ size: indicatorSize }),\n dynamicStepperIndicatorToneClass(\n semanticState,\n indicatorTone,\n ),\n )}\n >\n {step.indicator ?? index + 1}\n </div>\n <div\n className={cn(\n \"min-w-0\",\n !isVertical && \"flex flex-col items-center\",\n )}\n >\n {step.title != null && (\n <div\n className={cn(\n \"text-sm font-semibold dark:text-white text-slate-900\",\n !isVertical && \"mt-3\",\n )}\n >\n {step.title}\n </div>\n )}\n {step.description != null && (\n <p className=\"mt-1 text-xs text-slate-900 dark:text-slate-400\">\n {step.description}\n </p>\n )}\n </div>\n </li>\n );\n })}\n </ol>\n\n <Button\n id={nextId}\n data-slot=\"dynamic-stepper-next\"\n type=\"button\"\n appearance={buttonAppearance}\n size={buttonSize}\n disabled={!canGoNext}\n onClick={goNext}\n className={\n orientation === \"vertical\" ? \"shrink-0 self-start\" : \"shrink-0\"\n }\n >\n {nextLabel}\n </Button>\n </div>\n );\n};\n\nDynamicStepper.displayName = \"DynamicStepper\";\n"]}