@zentauri-ui/zentauri-components 1.5.31 → 1.6.2

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 (360) hide show
  1. package/README.md +78 -69
  2. package/dist/charts/area.js.map +1 -1
  3. package/dist/charts/area.mjs.map +1 -1
  4. package/dist/charts/bubble/Bubble.d.ts.map +1 -1
  5. package/dist/charts/bubble.js.map +1 -1
  6. package/dist/charts/bubble.mjs.map +1 -1
  7. package/dist/charts/pie/Pie.d.ts.map +1 -1
  8. package/dist/charts/pie.js +20 -2
  9. package/dist/charts/pie.js.map +1 -1
  10. package/dist/charts/pie.mjs +20 -2
  11. package/dist/charts/pie.mjs.map +1 -1
  12. package/dist/charts/shared/types.d.ts.map +1 -1
  13. package/dist/{chunk-G3LEYBRV.mjs → chunk-25EAVVGS.mjs} +61 -58
  14. package/dist/chunk-25EAVVGS.mjs.map +1 -0
  15. package/dist/{chunk-BCZIYH53.js → chunk-3OXIZ4ZO.js} +28 -28
  16. package/dist/chunk-3OXIZ4ZO.js.map +1 -0
  17. package/dist/{chunk-PWL5WD34.js → chunk-3Z73M5TW.js} +27 -26
  18. package/dist/chunk-3Z73M5TW.js.map +1 -0
  19. package/dist/{chunk-AUGLZ3AN.js → chunk-4F56BLZQ.js} +51 -51
  20. package/dist/chunk-4F56BLZQ.js.map +1 -0
  21. package/dist/{chunk-JJDANNNL.mjs → chunk-4MPNRGUA.mjs} +3 -9
  22. package/dist/chunk-4MPNRGUA.mjs.map +1 -0
  23. package/dist/{chunk-Y745GQR2.js → chunk-4PZIDDC6.js} +45 -45
  24. package/dist/chunk-4PZIDDC6.js.map +1 -0
  25. package/dist/{chunk-TINHLHCN.mjs → chunk-73RHHGIA.mjs} +39 -36
  26. package/dist/chunk-73RHHGIA.mjs.map +1 -0
  27. package/dist/{chunk-OLEMP2HL.js → chunk-746CV3AN.js} +29 -36
  28. package/dist/chunk-746CV3AN.js.map +1 -0
  29. package/dist/chunk-CFTDAGKD.js +130 -0
  30. package/dist/chunk-CFTDAGKD.js.map +1 -0
  31. package/dist/{chunk-N2OAI2HN.js → chunk-D55YIHBN.js} +15 -15
  32. package/dist/chunk-D55YIHBN.js.map +1 -0
  33. package/dist/{chunk-KXUG4WVW.js → chunk-DO2LEXUY.js} +5 -5
  34. package/dist/{chunk-KXUG4WVW.js.map → chunk-DO2LEXUY.js.map} +1 -1
  35. package/dist/chunk-EU63V22F.mjs +126 -0
  36. package/dist/chunk-EU63V22F.mjs.map +1 -0
  37. package/dist/chunk-EZS47EZW.mjs +70 -0
  38. package/dist/chunk-EZS47EZW.mjs.map +1 -0
  39. package/dist/{chunk-E4FZY7O2.js → chunk-GHJN3Z3V.js} +48 -48
  40. package/dist/chunk-GHJN3Z3V.js.map +1 -0
  41. package/dist/{chunk-MTLLJFUI.mjs → chunk-GIC3J6HR.mjs} +28 -28
  42. package/dist/chunk-GIC3J6HR.mjs.map +1 -0
  43. package/dist/chunk-GPAUYUM3.js +232 -0
  44. package/dist/chunk-GPAUYUM3.js.map +1 -0
  45. package/dist/{chunk-C5L465FW.mjs → chunk-HARD4NMB.mjs} +45 -45
  46. package/dist/chunk-HARD4NMB.mjs.map +1 -0
  47. package/dist/{chunk-YTRGRHEB.js → chunk-HV7LVRK3.js} +61 -58
  48. package/dist/chunk-HV7LVRK3.js.map +1 -0
  49. package/dist/{chunk-ZYZJ74XB.mjs → chunk-J5QJEKY2.mjs} +28 -28
  50. package/dist/chunk-J5QJEKY2.mjs.map +1 -0
  51. package/dist/chunk-JE6B3DHW.mjs +220 -0
  52. package/dist/chunk-JE6B3DHW.mjs.map +1 -0
  53. package/dist/{chunk-7TLKLMBM.js → chunk-JOMSI4WH.js} +18 -15
  54. package/dist/chunk-JOMSI4WH.js.map +1 -0
  55. package/dist/{chunk-Q5B44QW7.js → chunk-KA5MORDC.js} +52 -52
  56. package/dist/chunk-KA5MORDC.js.map +1 -0
  57. package/dist/{chunk-TJUNN2PT.mjs → chunk-LPL6NJ5Q.mjs} +27 -26
  58. package/dist/chunk-LPL6NJ5Q.mjs.map +1 -0
  59. package/dist/{chunk-ZBBFOMSJ.mjs → chunk-M6FS7X54.mjs} +22 -22
  60. package/dist/chunk-M6FS7X54.mjs.map +1 -0
  61. package/dist/{chunk-JUDMPOCI.js → chunk-MM3P52WS.js} +22 -22
  62. package/dist/chunk-MM3P52WS.js.map +1 -0
  63. package/dist/{chunk-UWA23DUC.js → chunk-OB6TYS5Q.js} +28 -28
  64. package/dist/chunk-OB6TYS5Q.js.map +1 -0
  65. package/dist/chunk-OHST7AHC.mjs +99 -0
  66. package/dist/chunk-OHST7AHC.mjs.map +1 -0
  67. package/dist/{chunk-QZTEFGZF.mjs → chunk-OVTWPGMW.mjs} +18 -15
  68. package/dist/chunk-OVTWPGMW.mjs.map +1 -0
  69. package/dist/{chunk-7OHC4ERB.mjs → chunk-PPVJ4INP.mjs} +3 -3
  70. package/dist/{chunk-7OHC4ERB.mjs.map → chunk-PPVJ4INP.mjs.map} +1 -1
  71. package/dist/{chunk-LN77JJTY.mjs → chunk-PSIAOIXJ.mjs} +48 -48
  72. package/dist/chunk-PSIAOIXJ.mjs.map +1 -0
  73. package/dist/chunk-QNF4JPFP.js +339 -0
  74. package/dist/chunk-QNF4JPFP.js.map +1 -0
  75. package/dist/{chunk-A6KMZ5ZS.mjs → chunk-QSIJKHC5.mjs} +15 -15
  76. package/dist/chunk-QSIJKHC5.mjs.map +1 -0
  77. package/dist/chunk-RFFGQYDQ.mjs +337 -0
  78. package/dist/chunk-RFFGQYDQ.mjs.map +1 -0
  79. package/dist/{chunk-INMNX3HQ.mjs → chunk-S5H2OMTZ.mjs} +29 -36
  80. package/dist/chunk-S5H2OMTZ.mjs.map +1 -0
  81. package/dist/chunk-TIPNRH26.js +102 -0
  82. package/dist/chunk-TIPNRH26.js.map +1 -0
  83. package/dist/chunk-V2PEOBAT.mjs +324 -0
  84. package/dist/chunk-V2PEOBAT.mjs.map +1 -0
  85. package/dist/chunk-VGWA26BN.js +72 -0
  86. package/dist/chunk-VGWA26BN.js.map +1 -0
  87. package/dist/{chunk-MEJMX4QI.js → chunk-VMCOX3Z2.js} +3 -9
  88. package/dist/chunk-VMCOX3Z2.js.map +1 -0
  89. package/dist/chunk-WNLDXBS6.mjs +323 -0
  90. package/dist/chunk-WNLDXBS6.mjs.map +1 -0
  91. package/dist/{chunk-AD2LA3XN.js → chunk-YIO7DFUA.js} +39 -36
  92. package/dist/chunk-YIO7DFUA.js.map +1 -0
  93. package/dist/hooks/useDynamicStepper/index.d.ts +1 -1
  94. package/dist/hooks/useDynamicStepper/index.d.ts.map +1 -1
  95. package/dist/hooks/useDynamicStepper/useDynamicStepper.d.ts.map +1 -1
  96. package/dist/hooks/useDynamicStepper.js +2 -2
  97. package/dist/hooks/useDynamicStepper.mjs +1 -1
  98. package/dist/ui/accordion/animated.js +7 -7
  99. package/dist/ui/accordion/animated.mjs +2 -2
  100. package/dist/ui/accordion/variants.d.ts.map +1 -1
  101. package/dist/ui/accordion.js +9 -9
  102. package/dist/ui/accordion.mjs +2 -2
  103. package/dist/ui/alert/animated.js +2 -2
  104. package/dist/ui/alert/animated.mjs +1 -1
  105. package/dist/ui/alert/variants.d.ts.map +1 -1
  106. package/dist/ui/alert.js +10 -10
  107. package/dist/ui/alert.mjs +2 -2
  108. package/dist/ui/avatar/animated.js +5 -5
  109. package/dist/ui/avatar/animated.mjs +2 -2
  110. package/dist/ui/avatar/variants.d.ts.map +1 -1
  111. package/dist/ui/avatar.js +9 -9
  112. package/dist/ui/avatar.mjs +2 -2
  113. package/dist/ui/badge/animated.js +2 -2
  114. package/dist/ui/badge/animated.mjs +1 -1
  115. package/dist/ui/badge/variants.d.ts +24 -24
  116. package/dist/ui/badge/variants.d.ts.map +1 -1
  117. package/dist/ui/badge.js +4 -4
  118. package/dist/ui/badge.mjs +2 -2
  119. package/dist/ui/breadcrumb/variants.d.ts.map +1 -1
  120. package/dist/ui/breadcrumb.js +30 -25
  121. package/dist/ui/breadcrumb.js.map +1 -1
  122. package/dist/ui/breadcrumb.mjs +30 -25
  123. package/dist/ui/breadcrumb.mjs.map +1 -1
  124. package/dist/ui/buttons/animated.js +3 -3
  125. package/dist/ui/buttons/animated.mjs +1 -1
  126. package/dist/ui/buttons/variants.d.ts.map +1 -1
  127. package/dist/ui/buttons.js +4 -4
  128. package/dist/ui/buttons.mjs +2 -2
  129. package/dist/ui/card/animated.js +7 -7
  130. package/dist/ui/card/animated.mjs +2 -2
  131. package/dist/ui/card/variants.d.ts.map +1 -1
  132. package/dist/ui/card.js +12 -12
  133. package/dist/ui/card.mjs +2 -2
  134. package/dist/ui/divider/animated.js +2 -2
  135. package/dist/ui/divider/animated.mjs +1 -1
  136. package/dist/ui/divider.js +6 -6
  137. package/dist/ui/divider.mjs +2 -2
  138. package/dist/ui/drawer/animated.js +11 -11
  139. package/dist/ui/drawer/animated.mjs +2 -2
  140. package/dist/ui/drawer/variants.d.ts.map +1 -1
  141. package/dist/ui/drawer.js +11 -11
  142. package/dist/ui/drawer.mjs +1 -1
  143. package/dist/ui/dropdown/variants.d.ts.map +1 -1
  144. package/dist/ui/dropdown.js +52 -52
  145. package/dist/ui/dropdown.js.map +1 -1
  146. package/dist/ui/dropdown.mjs +52 -52
  147. package/dist/ui/dropdown.mjs.map +1 -1
  148. package/dist/ui/dynamic-stepper/index.d.ts +1 -1
  149. package/dist/ui/dynamic-stepper/index.d.ts.map +1 -1
  150. package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -1
  151. package/dist/ui/dynamic-stepper.js +75 -72
  152. package/dist/ui/dynamic-stepper.js.map +1 -1
  153. package/dist/ui/dynamic-stepper.mjs +72 -69
  154. package/dist/ui/dynamic-stepper.mjs.map +1 -1
  155. package/dist/ui/empty-state/animated.js +2 -2
  156. package/dist/ui/empty-state/animated.mjs +1 -1
  157. package/dist/ui/empty-state/variants.d.ts.map +1 -1
  158. package/dist/ui/empty-state.js +10 -10
  159. package/dist/ui/empty-state.mjs +2 -2
  160. package/dist/ui/file-upload/file-upload.d.ts.map +1 -1
  161. package/dist/ui/file-upload/variants.d.ts.map +1 -1
  162. package/dist/ui/file-upload.js +18 -18
  163. package/dist/ui/file-upload.js.map +1 -1
  164. package/dist/ui/file-upload.mjs +18 -18
  165. package/dist/ui/file-upload.mjs.map +1 -1
  166. package/dist/ui/inputs/animated.js +3 -3
  167. package/dist/ui/inputs/animated.mjs +1 -1
  168. package/dist/ui/inputs/types.d.ts +1 -1
  169. package/dist/ui/inputs/types.d.ts.map +1 -1
  170. package/dist/ui/inputs/variants.d.ts +1 -1
  171. package/dist/ui/inputs/variants.d.ts.map +1 -1
  172. package/dist/ui/inputs.js +4 -4
  173. package/dist/ui/inputs.mjs +2 -2
  174. package/dist/ui/modal/animated.js +4 -4
  175. package/dist/ui/modal/animated.mjs +1 -1
  176. package/dist/ui/modal/variants.d.ts.map +1 -1
  177. package/dist/ui/modal.js +12 -12
  178. package/dist/ui/modal.mjs +2 -2
  179. package/dist/ui/pagination/types.d.ts.map +1 -1
  180. package/dist/ui/pagination/variants.d.ts.map +1 -1
  181. package/dist/ui/pagination.js +33 -33
  182. package/dist/ui/pagination.js.map +1 -1
  183. package/dist/ui/pagination.mjs +30 -30
  184. package/dist/ui/pagination.mjs.map +1 -1
  185. package/dist/ui/progress/animated.js +8 -8
  186. package/dist/ui/progress/animated.mjs +2 -2
  187. package/dist/ui/progress/variants.d.ts.map +1 -1
  188. package/dist/ui/progress.js +9 -9
  189. package/dist/ui/progress.mjs +2 -2
  190. package/dist/ui/search/search-bar.d.ts.map +1 -1
  191. package/dist/ui/search/search-suggestion-list.d.ts.map +1 -1
  192. package/dist/ui/search.js +10 -9
  193. package/dist/ui/search.js.map +1 -1
  194. package/dist/ui/search.mjs +9 -8
  195. package/dist/ui/search.mjs.map +1 -1
  196. package/dist/ui/select/variants.d.ts.map +1 -1
  197. package/dist/ui/select.js +67 -67
  198. package/dist/ui/select.js.map +1 -1
  199. package/dist/ui/select.mjs +67 -67
  200. package/dist/ui/select.mjs.map +1 -1
  201. package/dist/ui/skeleton/animated.js +8 -8
  202. package/dist/ui/skeleton/animated.mjs +1 -1
  203. package/dist/ui/skeleton/variants.d.ts.map +1 -1
  204. package/dist/ui/skeleton.js +9 -9
  205. package/dist/ui/skeleton.mjs +1 -1
  206. package/dist/ui/slider.js +25 -25
  207. package/dist/ui/slider.js.map +1 -1
  208. package/dist/ui/slider.mjs +25 -25
  209. package/dist/ui/slider.mjs.map +1 -1
  210. package/dist/ui/spinner/animated.js +22 -22
  211. package/dist/ui/spinner/animated.js.map +1 -1
  212. package/dist/ui/spinner/animated.mjs +22 -22
  213. package/dist/ui/spinner/animated.mjs.map +1 -1
  214. package/dist/ui/stepper/stepper.d.ts.map +1 -1
  215. package/dist/ui/stepper/variants.d.ts.map +1 -1
  216. package/dist/ui/stepper.js +29 -26
  217. package/dist/ui/stepper.js.map +1 -1
  218. package/dist/ui/stepper.mjs +29 -26
  219. package/dist/ui/stepper.mjs.map +1 -1
  220. package/dist/ui/table/animated.js +8 -8
  221. package/dist/ui/table/animated.mjs +2 -2
  222. package/dist/ui/table/variants.d.ts.map +1 -1
  223. package/dist/ui/table.js +14 -14
  224. package/dist/ui/table.mjs +1 -1
  225. package/dist/ui/tabs/animated.js +2 -2
  226. package/dist/ui/tabs/animated.mjs +1 -1
  227. package/dist/ui/tabs/variants.d.ts.map +1 -1
  228. package/dist/ui/tabs.js +9 -9
  229. package/dist/ui/tabs.mjs +1 -1
  230. package/dist/ui/toast/animated.js +7 -7
  231. package/dist/ui/toast/animated.mjs +1 -1
  232. package/dist/ui/toast/toast-base.d.ts.map +1 -1
  233. package/dist/ui/toast/variants.d.ts.map +1 -1
  234. package/dist/ui/toast.js +12 -12
  235. package/dist/ui/toast.mjs +1 -1
  236. package/dist/ui/toggle/animated/toggle-animated.d.ts.map +1 -1
  237. package/dist/ui/toggle/animated.js +5 -4
  238. package/dist/ui/toggle/animated.js.map +1 -1
  239. package/dist/ui/toggle/animated.mjs +4 -3
  240. package/dist/ui/toggle/animated.mjs.map +1 -1
  241. package/dist/ui/toggle/toggle-base.d.ts.map +1 -1
  242. package/dist/ui/toggle/variants.d.ts +1 -0
  243. package/dist/ui/toggle/variants.d.ts.map +1 -1
  244. package/dist/ui/toggle.js +8 -7
  245. package/dist/ui/toggle.js.map +1 -1
  246. package/dist/ui/toggle.mjs +6 -5
  247. package/dist/ui/toggle.mjs.map +1 -1
  248. package/dist/ui/tooltip/animated.js +3 -3
  249. package/dist/ui/tooltip/animated.mjs +1 -1
  250. package/dist/ui/tooltip/variants.d.ts.map +1 -1
  251. package/dist/ui/tooltip.js +7 -7
  252. package/dist/ui/tooltip.mjs +1 -1
  253. package/dist/ui/typography/variants.d.ts.map +1 -1
  254. package/dist/ui/typography.js +19 -19
  255. package/dist/ui/typography.js.map +1 -1
  256. package/dist/ui/typography.mjs +19 -19
  257. package/dist/ui/typography.mjs.map +1 -1
  258. package/package.json +4 -3
  259. package/src/charts/area/Area.tsx +1 -1
  260. package/src/charts/bubble/Bubble.tsx +10 -2
  261. package/src/charts/pie/Pie.tsx +22 -3
  262. package/src/charts/shared/types.ts +1 -1
  263. package/src/hooks/useDynamicStepper/index.ts +1 -3
  264. package/src/hooks/useDynamicStepper/useDynamicStepper.ts +1 -7
  265. package/src/ui/accordion/variants.ts +55 -43
  266. package/src/ui/alert/variants.ts +45 -32
  267. package/src/ui/avatar/variants.ts +34 -26
  268. package/src/ui/badge/variants.ts +42 -29
  269. package/src/ui/breadcrumb/variants.ts +30 -25
  270. package/src/ui/buttons/variants.ts +40 -30
  271. package/src/ui/card/variants.ts +49 -39
  272. package/src/ui/divider/variants.ts +26 -26
  273. package/src/ui/drawer/drawer-base.tsx +2 -2
  274. package/src/ui/drawer/variants.ts +64 -48
  275. package/src/ui/dropdown/dropdown.tsx +1 -1
  276. package/src/ui/dropdown/variants.ts +63 -52
  277. package/src/ui/dynamic-stepper/dynamic-stepper.test.tsx +6 -2
  278. package/src/ui/dynamic-stepper/dynamic-stepper.tsx +2 -2
  279. package/src/ui/dynamic-stepper/index.ts +1 -3
  280. package/src/ui/dynamic-stepper/variants.ts +73 -64
  281. package/src/ui/empty-state/variants.ts +14 -11
  282. package/src/ui/file-upload/file-upload.tsx +5 -3
  283. package/src/ui/file-upload/variants.ts +16 -15
  284. package/src/ui/inputs/types.ts +1 -1
  285. package/src/ui/inputs/variants.ts +106 -47
  286. package/src/ui/modal/modal-base.tsx +2 -2
  287. package/src/ui/modal/variants.ts +64 -47
  288. package/src/ui/pagination/pagination.tsx +1 -1
  289. package/src/ui/pagination/types.ts +1 -4
  290. package/src/ui/pagination/variants.ts +31 -28
  291. package/src/ui/progress/variants.ts +79 -65
  292. package/src/ui/search/search-bar.tsx +2 -1
  293. package/src/ui/search/search-suggestion-list.tsx +7 -5
  294. package/src/ui/select/variants.ts +73 -67
  295. package/src/ui/skeleton/variants.ts +22 -13
  296. package/src/ui/slider/variants.ts +25 -25
  297. package/src/ui/spinner/animated/variants.ts +22 -22
  298. package/src/ui/stepper/stepper.tsx +5 -2
  299. package/src/ui/stepper/variants.ts +25 -24
  300. package/src/ui/table/table-base.tsx +1 -1
  301. package/src/ui/table/variants.ts +53 -45
  302. package/src/ui/tabs/variants.ts +38 -23
  303. package/src/ui/toast/toast-base.tsx +1 -4
  304. package/src/ui/toast/variants.ts +33 -26
  305. package/src/ui/toggle/animated/toggle-animated.tsx +3 -2
  306. package/src/ui/toggle/toggle-base.tsx +4 -3
  307. package/src/ui/toggle/variants.ts +61 -29
  308. package/src/ui/tooltip/variants.ts +21 -20
  309. package/src/ui/typography/code-block-base.tsx +1 -1
  310. package/src/ui/typography/variants.ts +21 -18
  311. package/dist/chunk-2BAMNRAL.mjs +0 -323
  312. package/dist/chunk-2BAMNRAL.mjs.map +0 -1
  313. package/dist/chunk-5TV7EL3H.mjs +0 -70
  314. package/dist/chunk-5TV7EL3H.mjs.map +0 -1
  315. package/dist/chunk-7TLKLMBM.js.map +0 -1
  316. package/dist/chunk-A6KMZ5ZS.mjs.map +0 -1
  317. package/dist/chunk-AD2LA3XN.js.map +0 -1
  318. package/dist/chunk-AOEI4V3W.mjs +0 -286
  319. package/dist/chunk-AOEI4V3W.mjs.map +0 -1
  320. package/dist/chunk-AUGLZ3AN.js.map +0 -1
  321. package/dist/chunk-BCZIYH53.js.map +0 -1
  322. package/dist/chunk-C5L465FW.mjs.map +0 -1
  323. package/dist/chunk-E4FZY7O2.js.map +0 -1
  324. package/dist/chunk-FQBMIZH2.mjs +0 -217
  325. package/dist/chunk-FQBMIZH2.mjs.map +0 -1
  326. package/dist/chunk-G3LEYBRV.mjs.map +0 -1
  327. package/dist/chunk-I6GR234Z.mjs +0 -126
  328. package/dist/chunk-I6GR234Z.mjs.map +0 -1
  329. package/dist/chunk-INMNX3HQ.mjs.map +0 -1
  330. package/dist/chunk-JBAUEGYD.mjs +0 -324
  331. package/dist/chunk-JBAUEGYD.mjs.map +0 -1
  332. package/dist/chunk-JJDANNNL.mjs.map +0 -1
  333. package/dist/chunk-JQ5TIJ4F.mjs +0 -68
  334. package/dist/chunk-JQ5TIJ4F.mjs.map +0 -1
  335. package/dist/chunk-JUDMPOCI.js.map +0 -1
  336. package/dist/chunk-LN77JJTY.mjs.map +0 -1
  337. package/dist/chunk-MCOQHXRW.js +0 -130
  338. package/dist/chunk-MCOQHXRW.js.map +0 -1
  339. package/dist/chunk-MEJMX4QI.js.map +0 -1
  340. package/dist/chunk-MTLLJFUI.mjs.map +0 -1
  341. package/dist/chunk-N2OAI2HN.js.map +0 -1
  342. package/dist/chunk-OB4KJZK2.js +0 -72
  343. package/dist/chunk-OB4KJZK2.js.map +0 -1
  344. package/dist/chunk-OLEMP2HL.js.map +0 -1
  345. package/dist/chunk-PWL5WD34.js.map +0 -1
  346. package/dist/chunk-Q5B44QW7.js.map +0 -1
  347. package/dist/chunk-QZKMFSH5.js +0 -288
  348. package/dist/chunk-QZKMFSH5.js.map +0 -1
  349. package/dist/chunk-QZTEFGZF.mjs.map +0 -1
  350. package/dist/chunk-S7WKFNPT.js +0 -229
  351. package/dist/chunk-S7WKFNPT.js.map +0 -1
  352. package/dist/chunk-TINHLHCN.mjs.map +0 -1
  353. package/dist/chunk-TJUNN2PT.mjs.map +0 -1
  354. package/dist/chunk-UWA23DUC.js.map +0 -1
  355. package/dist/chunk-X22LLJL6.js +0 -71
  356. package/dist/chunk-X22LLJL6.js.map +0 -1
  357. package/dist/chunk-Y745GQR2.js.map +0 -1
  358. package/dist/chunk-YTRGRHEB.js.map +0 -1
  359. package/dist/chunk-ZBBFOMSJ.mjs.map +0 -1
  360. package/dist/chunk-ZYZJ74XB.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/dropdown/variants.ts","../../src/ui/dropdown/dropdown.tsx"],"names":[],"mappings":"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","file":"dropdown.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const triggerVariants = cva(\n \"inline-flex items-center justify-between rounded-md font-medium transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60 cursor-pointer\",\n {\n variants: {\n variant: {\n default: \"bg-gray-900 text-white\",\n outline: \"border border-gray-300\",\n ghost: \"bg-transparent\",\n white: \"bg-white text-gray-900\",\n black: \"bg-black text-white\",\n sky: \"border border-sky-600 text-sky-600\",\n rose: \"border border-rose-600 text-rose-600\",\n purple: \"border border-purple-600 text-purple-600\",\n pink: \"border border-pink-600 text-pink-600\",\n orange: \"border border-orange-600 text-orange-600\",\n yellow: \"border border-yellow-600 text-yellow-600\",\n teal: \"border border-teal-600 text-teal-600\",\n indigo: \"border border-indigo-600 text-indigo-600\",\n emerald: \"border border-emerald-600 text-emerald-600\",\n gray: \"border border-gray-600 text-gray-600\",\n amber: \"border border-amber-600 text-amber-600\",\n violet: \"border border-violet-600 text-violet-600\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-600 to-purple-600 text-blue-200\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-600 to-lime-600 text-green-200\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-600 to-pink-600 text-red-200\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-600 to-orange-600 text-yellow-200\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-600 to-pink-600 text-purple-200\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-600 to-cyan-600 text-teal-200\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-600 to-purple-600 text-indigo-200\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-600 to-rose-600 text-pink-200\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-600 to-red-600 text-orange-200\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2 text-base\",\n lg: \"px-4 py-3 text-lg\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const contentVariants = cva(\n \"absolute min-w-[200px] rounded-md p-2 shadow-md z-50 border\",\n {\n variants: {\n placement: {\n top: \"bottom-full mb-2\",\n bottom: \"top-full mt-2\",\n left: \"right-full mr-2\",\n right: \"left-full ml-2\",\n },\n spacing: {\n none: \"space-y-0\",\n default: \"space-y-1\",\n sm: \"space-y-2\",\n md: \"space-y-3\",\n lg: \"space-y-4\",\n xl: \"space-y-5\",\n },\n },\n defaultVariants: {\n placement: \"bottom\",\n spacing: \"default\",\n },\n },\n);\n\nexport const itemVariants = cva(\n \"flex items-center justify-between px-3 py-2 text-sm cursor-pointer rounded-md transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60\",\n {\n variants: {\n variant: {\n default: \"hover:bg-gray-100 hover:text-gray-900 text-gray-100\",\n outline:\n \"hover:bg-gray-100 hover:text-gray-900 border border-white text-gray-100\",\n ghost:\n \"hover:bg-gray-100 hover:text-gray-900 bg-transparent text-gray-100\",\n white: \"hover:bg-gray-100 hover:text-gray-900 bg-white text-gray-900\",\n black: \"hover:bg-gray-100 hover:text-gray-900 bg-black text-white\",\n sky: \"hover:bg-sky-100 hover:text-sky-600 bg-sky-200 text-sky-800\",\n rose: \"hover:bg-rose-100 hover:text-rose-600 bg-rose-200 text-rose-800\",\n purple:\n \"hover:bg-purple-100 hover:text-purple-600 bg-purple-200 text-purple-800\",\n pink: \"hover:bg-pink-100 hover:text-pink-600 bg-pink-200 text-pink-800\",\n orange:\n \"hover:bg-orange-100 hover:text-orange-600 bg-orange-200 text-orange-800\",\n yellow:\n \"hover:bg-yellow-100 hover:text-yellow-600 bg-yellow-200 text-yellow-800\",\n teal: \"hover:bg-teal-100 hover:text-teal-600 bg-teal-200 text-teal-800\",\n indigo:\n \"hover:bg-indigo-100 hover:text-indigo-600 bg-indigo-200 text-indigo-800\",\n emerald:\n \"hover:bg-emerald-100 hover:text-emerald-600 bg-emerald-200 text-emerald-800\",\n gray: \"hover:bg-gray-100 hover:text-gray-900 bg-gray-200 text-gray-800\",\n amber:\n \"hover:bg-amber-100 hover:text-amber-600 bg-amber-200 text-amber-800\",\n violet:\n \"hover:bg-violet-100 hover:text-violet-600 bg-violet-200 text-violet-800\",\n \"gradient-blue\":\n \"hover:bg-linear-to-r from-blue-600 to-purple-600 hover:text-blue-900 bg-linear-to-r from-blue-200 to-purple-200 text-blue-800\",\n \"gradient-green\":\n \"hover:bg-linear-to-r from-green-600 to-lime-600 hover:text-green-900 bg-linear-to-r from-green-200 to-lime-200 text-green-800\",\n \"gradient-red\":\n \"hover:bg-linear-to-r from-red-600 to-pink-600 hover:text-red-900 bg-linear-to-r from-red-200 to-pink-200 text-red-800\",\n \"gradient-yellow\":\n \"hover:bg-linear-to-r from-yellow-600 to-orange-600 hover:text-yellow-900 bg-linear-to-r from-yellow-200 to-orange-200 text-yellow-800\",\n \"gradient-purple\":\n \"hover:bg-linear-to-r from-purple-600 to-pink-600 hover:text-purple-900 bg-linear-to-r from-purple-200 to-pink-200 text-purple-800\",\n \"gradient-teal\":\n \"hover:bg-linear-to-r from-teal-600 to-cyan-600 hover:text-teal-900 bg-linear-to-r from-teal-200 to-cyan-200 text-teal-800\",\n \"gradient-indigo\":\n \"hover:bg-linear-to-r from-indigo-600 to-purple-600 hover:text-indigo-900 bg-linear-to-r from-indigo-200 to-purple-200 text-indigo-800\",\n \"gradient-pink\":\n \"hover:bg-linear-to-r from-pink-600 to-rose-600 hover:text-pink-900 bg-linear-to-r from-pink-200 to-rose-200 text-pink-800\",\n \"gradient-orange\":\n \"hover:bg-linear-to-r from-orange-600 to-red-600 hover:text-orange-900 bg-linear-to-r from-orange-200 to-red-200 text-orange-800\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n","\"use client\";\n\nimport {\n createContext,\n useContext,\n useState,\n useRef,\n useEffect,\n useId,\n} from \"react\";\nimport { FiCheck } from \"react-icons/fi\";\nimport { cn } from \"../../lib/utils\";\nimport type {\n DropdownContextType,\n DropdownProps,\n DropdownTriggerProps,\n DropdownContentProps,\n DropdownItemProps,\n} from \"./types\";\nimport { triggerVariants, contentVariants, itemVariants } from \"./variants\";\nimport { useClickOutside } from \"../../hooks/useClickOutside\";\n\n/* =========================\n Context\n========================= */\nconst DropdownContext = createContext<DropdownContextType | null>(null);\n\nconst useDropdown = () => {\n const ctx = useContext(DropdownContext);\n if (!ctx) throw new Error(\"Use inside Dropdown\");\n return ctx;\n};\n\n/* =========================\n Root\n========================= */\nexport const Dropdown = ({\n children,\n defaultOpen = false,\n open: controlledOpen,\n onOpenChange,\n multiSelect = false,\n}: DropdownProps) => {\n const menuId = `${useId()}-menu`;\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const [selectedValues, setSelectedValues] = useState<string[]>([]);\n\n const open = controlledOpen ?? uncontrolledOpen;\n\n const setOpen = (val: boolean) => {\n if (controlledOpen !== undefined) {\n onOpenChange?.(val);\n } else {\n setUncontrolledOpen(val);\n }\n };\n\n const toggle = () => setOpen(!open);\n\n const toggleSelect = (value: string) => {\n if (!multiSelect) {\n setSelectedValues([value]);\n setOpen(false);\n return;\n }\n\n setSelectedValues((prev) =>\n prev.includes(value) ? prev.filter((v) => v !== value) : [...prev, value],\n );\n };\n\n return (\n <DropdownContext.Provider\n value={{\n open,\n setOpen,\n toggle,\n selectedValues,\n toggleSelect,\n multiSelect,\n menuId,\n }}\n >\n <div className=\"relative inline-block\">{children}</div>\n </DropdownContext.Provider>\n );\n};\n\n/* =========================\n Trigger\n========================= */\nexport const DropdownTrigger = ({\n children,\n className,\n variant,\n size,\n onClick,\n ...props\n}: DropdownTriggerProps) => {\n const { toggle, open, menuId } = useDropdown();\n\n return (\n <button\n type=\"button\"\n aria-expanded={open}\n aria-haspopup=\"menu\"\n aria-controls={menuId}\n className={cn(triggerVariants({ variant, size }), className)}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n toggle();\n }\n }}\n >\n {children}\n </button>\n );\n};\n\n/* =========================\n Content\n========================= */\nexport const DropdownContent = ({\n children,\n className,\n placement = \"bottom\",\n spacing = \"default\",\n divider,\n ...props\n}: DropdownContentProps) => {\n const { open, setOpen, menuId } = useDropdown();\n const ref = useRef<HTMLDivElement>(null);\n\n // click outside\n useClickOutside({ ref, setOpen });\n\n if (!open) return null;\n\n return (\n <div\n ref={ref}\n id={menuId}\n role=\"menu\"\n className={cn(\n contentVariants({ placement, spacing }),\n className,\n divider && \"divide-y divide-current\",\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n\n/* =========================\n Item\n========================= */\nexport const DropdownItem = ({\n children,\n value,\n className,\n variant,\n onSelect,\n leftIcon,\n rightIcon,\n ...props\n}: DropdownItemProps) => {\n const { toggleSelect, selectedValues } = useDropdown();\n const isSelected = selectedValues.includes(value);\n\n const handleClick = () => {\n toggleSelect(value);\n onSelect?.();\n };\n\n return (\n <div\n role=\"menuitem\"\n tabIndex={0}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleClick();\n }\n }}\n className={cn(itemVariants({ variant }), className)}\n {...props}\n >\n <div className=\"flex items-center gap-2\">\n {leftIcon}\n {children}\n </div>\n\n <div className=\"flex items-center gap-2\">\n {isSelected && <FiCheck />}\n {rightIcon}\n </div>\n </div>\n );\n};\n"]}
1
+ {"version":3,"sources":["../../src/ui/dropdown/variants.ts","../../src/ui/dropdown/dropdown.tsx"],"names":[],"mappings":"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","file":"dropdown.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const triggerVariants = cva(\n \"inline-flex items-center justify-between rounded-md font-medium transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60 cursor-pointer\",\n {\n variants: {\n variant: {\n default: \"bg-gray-200 dark:bg-gray-900 text-slate-900 dark:text-white\",\n outline:\n \"border border-gray-700 dark:border-gray-300 text-gray-900 dark:text-gray-100\",\n ghost: \"bg-transparent text-gray-900 dark:text-gray-100\",\n white: \"bg-white text-gray-900\",\n black: \"bg-black text-white\",\n sky: \"border border-sky-800 dark:border-sky-600 text-sky-800 dark:text-sky-600\",\n rose: \"border border-rose-800 dark:border-rose-600 text-rose-800 dark:text-rose-600\",\n purple:\n \"border border-purple-800 dark:border-purple-600 text-purple-800 dark:text-purple-600\",\n pink: \"border border-pink-800 dark:border-pink-600 text-pink-800 dark:text-pink-600\",\n orange:\n \"border border-orange-800 dark:border-orange-600 text-orange-800 dark:text-orange-600\",\n yellow:\n \"border border-yellow-800 dark:border-yellow-600 text-yellow-800 dark:text-yellow-600\",\n teal: \"border border-teal-800 dark:border-teal-600 text-teal-800 dark:text-teal-600\",\n indigo:\n \"border border-indigo-800 dark:border-indigo-600 text-indigo-800 dark:text-indigo-600\",\n emerald:\n \"border border-emerald-800 dark:border-emerald-600 text-emerald-800 dark:text-emerald-600\",\n gray: \"border border-gray-800 dark:border-gray-600 text-gray-800 dark:text-gray-600\",\n amber:\n \"border border-amber-800 dark:border-amber-600 text-amber-800 dark:text-amber-600\",\n violet:\n \"border border-violet-800 dark:border-violet-600 text-violet-800 dark:text-violet-600\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-800 dark:from-blue-600 to-purple-800 dark:to-purple-600 text-blue-200\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-800 dark:from-green-600 to-lime-800 dark:to-lime-600 text-green-200\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-800 dark:from-red-600 to-pink-800 dark:to-pink-600 text-red-200\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-800 dark:from-yellow-600 to-orange-800 dark:to-orange-600 text-yellow-200\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-800 dark:from-purple-600 to-pink-800 dark:to-pink-600 text-purple-200\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-800 dark:from-teal-600 to-cyan-800 dark:to-cyan-600 text-teal-200\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-800 dark:from-indigo-600 to-purple-800 dark:to-purple-600 text-indigo-200\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-800 dark:from-pink-600 to-rose-800 dark:to-rose-600 text-pink-200\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-800 dark:from-orange-600 to-red-800 dark:to-red-600 text-orange-200\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2 text-base\",\n lg: \"px-4 py-3 text-lg\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const contentVariants = cva(\n \"absolute min-w-[200px] rounded-md p-2 shadow-md z-50 border border-slate-900/10 dark:border-white/10 bg-slate-100 dark:bg-slate-900 text-slate-900 dark:text-slate-100 shadow-lg rounded-lg\",\n {\n variants: {\n placement: {\n top: \"bottom-full mb-2\",\n bottom: \"top-full mt-2\",\n left: \"right-full mr-2\",\n right: \"left-full ml-2\",\n },\n spacing: {\n none: \"space-y-0\",\n default: \"space-y-1\",\n sm: \"space-y-2\",\n md: \"space-y-3\",\n lg: \"space-y-4\",\n xl: \"space-y-5\",\n },\n },\n defaultVariants: {\n placement: \"bottom\",\n spacing: \"default\",\n },\n },\n);\n\nexport const itemVariants = cva(\n \"flex items-center justify-between px-3 py-2 text-sm cursor-pointer rounded-md transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-500/60 font-semibold\",\n {\n variants: {\n variant: {\n default:\n \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 text-gray-900 dark:text-gray-100\",\n outline:\n \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 border border-black dark:border-white text-gray-900 dark:text-gray-100\",\n ghost:\n \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-transparent text-gray-900 dark:text-gray-100\",\n white:\n \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-white dark:bg-black text-gray-900 dark:text-white\",\n black:\n \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-black dark:bg-white text-white dark:text-gray-900\",\n sky: \"hover:bg-sky-100 hover:text-sky-800 dark:hover:text-sky-600 bg-sky-200 text-sky-900 dark:text-sky-800\",\n rose: \"hover:bg-rose-100 hover:text-rose-800 dark:hover:text-rose-600 bg-rose-200 text-rose-900 dark:text-rose-800\",\n purple:\n \"hover:bg-purple-100 hover:text-purple-800 dark:hover:text-purple-600 bg-purple-200 text-purple-900 dark:text-purple-800\",\n pink: \"hover:bg-pink-100 hover:text-pink-800 dark:hover:text-pink-600 bg-pink-200 text-pink-900 dark:text-pink-800\",\n orange:\n \"hover:bg-orange-100 hover:text-orange-800 dark:hover:text-orange-600 bg-orange-200 text-orange-900 dark:text-orange-800\",\n yellow:\n \"hover:bg-yellow-100 hover:text-yellow-800 dark:hover:text-yellow-600 bg-yellow-200 text-yellow-900 dark:text-yellow-800\",\n teal: \"hover:bg-teal-100 hover:text-teal-800 dark:hover:text-teal-600 bg-teal-200 text-teal-900 dark:text-teal-800\",\n indigo:\n \"hover:bg-indigo-100 hover:text-indigo-800 dark:hover:text-indigo-600 bg-indigo-200 text-indigo-900 dark:text-indigo-800\",\n emerald:\n \"hover:bg-emerald-100 hover:text-emerald-800 dark:hover:text-emerald-600 bg-emerald-200 text-emerald-900 dark:text-emerald-800\",\n gray: \"hover:bg-gray-100 hover:text-gray-500 dark:hover:text-gray-900 bg-gray-200 text-gray-500 dark:text-gray-800\",\n amber:\n \"hover:bg-amber-100 hover:text-amber-800 dark:hover:text-amber-600 bg-amber-200 text-amber-900 dark:text-amber-800\",\n violet:\n \"hover:bg-violet-100 hover:text-violet-800 dark:hover:text-violet-600 bg-violet-200 text-violet-900 dark:text-violet-800\",\n \"gradient-blue\":\n \"hover:bg-linear-to-r from-blue-800 dark:from-blue-600 to-purple-800 dark:to-purple-600 hover:text-blue-500 dark:hover:text-blue-900 bg-linear-to-r from-blue-200 to-purple-200 text-blue-900 dark:text-blue-200\",\n \"gradient-green\":\n \"hover:bg-linear-to-r from-green-800 dark:from-green-600 to-lime-800 dark:to-lime-600 hover:text-green-500 dark:hover:text-green-900 bg-linear-to-r from-green-200 to-lime-200 text-green-900 dark:text-green-200\",\n \"gradient-red\":\n \"hover:bg-linear-to-r from-red-800 dark:from-red-600 to-pink-800 dark:to-pink-600 hover:text-red-500 dark:hover:text-red-900 bg-linear-to-r from-red-200 to-pink-200 text-red-900 dark:text-red-200\",\n \"gradient-yellow\":\n \"hover:bg-linear-to-r from-yellow-800 dark:from-yellow-600 to-orange-800 dark:to-orange-600 hover:text-yellow-500 dark:hover:text-yellow-900 bg-linear-to-r from-yellow-200 to-orange-200 text-yellow-900 dark:text-yellow-200\",\n \"gradient-purple\":\n \"hover:bg-linear-to-r from-purple-800 dark:from-purple-600 to-pink-800 dark:to-pink-600 hover:text-purple-500 dark:hover:text-purple-900 bg-linear-to-r from-purple-200 to-pink-200 text-purple-900 dark:text-purple-200\",\n \"gradient-teal\":\n \"hover:bg-linear-to-r from-teal-800 dark:from-teal-600 to-cyan-800 dark:to-cyan-600 hover:text-teal-500 dark:hover:text-teal-900 bg-linear-to-r from-teal-200 to-cyan-200 text-teal-900 dark:text-teal-200\",\n \"gradient-indigo\":\n \"hover:bg-linear-to-r from-indigo-800 dark:from-indigo-600 to-purple-800 dark:to-purple-600 hover:text-indigo-500 dark:hover:text-indigo-900 bg-linear-to-r from-indigo-200 to-purple-200 text-indigo-900 dark:text-indigo-200\",\n \"gradient-pink\":\n \"hover:bg-linear-to-r from-pink-800 dark:from-pink-600 to-rose-800 dark:to-rose-600 hover:text-pink-500 dark:hover:text-pink-900 bg-linear-to-r from-pink-200 to-rose-200 text-pink-900 dark:text-pink-200\",\n \"gradient-orange\":\n \"hover:bg-linear-to-r from-orange-800 dark:from-orange-600 to-red-800 dark:to-red-600 hover:text-orange-500 dark:hover:text-orange-900 bg-linear-to-r from-orange-200 to-red-200 text-orange-900 dark:text-orange-200\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n","\"use client\";\n\nimport {\n createContext,\n useContext,\n useState,\n useRef,\n useEffect,\n useId,\n} from \"react\";\nimport { FiCheck } from \"react-icons/fi\";\nimport { cn } from \"../../lib/utils\";\nimport type {\n DropdownContextType,\n DropdownProps,\n DropdownTriggerProps,\n DropdownContentProps,\n DropdownItemProps,\n} from \"./types\";\nimport { triggerVariants, contentVariants, itemVariants } from \"./variants\";\nimport { useClickOutside } from \"../../hooks/useClickOutside\";\n\n/* =========================\n Context\n========================= */\nconst DropdownContext = createContext<DropdownContextType | null>(null);\n\nconst useDropdown = () => {\n const ctx = useContext(DropdownContext);\n if (!ctx) throw new Error(\"Use inside Dropdown\");\n return ctx;\n};\n\n/* =========================\n Root\n========================= */\nexport const Dropdown = ({\n children,\n defaultOpen = false,\n open: controlledOpen,\n onOpenChange,\n multiSelect = false,\n}: DropdownProps) => {\n const menuId = `${useId()}-menu`;\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const [selectedValues, setSelectedValues] = useState<string[]>([]);\n\n const open = controlledOpen ?? uncontrolledOpen;\n\n const setOpen = (val: boolean) => {\n if (controlledOpen !== undefined) {\n onOpenChange?.(val);\n } else {\n setUncontrolledOpen(val);\n }\n };\n\n const toggle = () => setOpen(!open);\n\n const toggleSelect = (value: string) => {\n if (!multiSelect) {\n setSelectedValues([value]);\n setOpen(false);\n return;\n }\n\n setSelectedValues((prev) =>\n prev.includes(value) ? prev.filter((v) => v !== value) : [...prev, value],\n );\n };\n\n return (\n <DropdownContext.Provider\n value={{\n open,\n setOpen,\n toggle,\n selectedValues,\n toggleSelect,\n multiSelect,\n menuId,\n }}\n >\n <div className=\"relative inline-block\">{children}</div>\n </DropdownContext.Provider>\n );\n};\n\n/* =========================\n Trigger\n========================= */\nexport const DropdownTrigger = ({\n children,\n className,\n variant,\n size,\n onClick,\n ...props\n}: DropdownTriggerProps) => {\n const { toggle, open, menuId } = useDropdown();\n\n return (\n <button\n type=\"button\"\n aria-expanded={open}\n aria-haspopup=\"menu\"\n aria-controls={menuId}\n className={cn(triggerVariants({ variant, size }), className)}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n toggle();\n }\n }}\n >\n {children}\n </button>\n );\n};\n\n/* =========================\n Content\n========================= */\nexport const DropdownContent = ({\n children,\n className,\n placement = \"bottom\",\n spacing = \"default\",\n divider,\n ...props\n}: DropdownContentProps) => {\n const { open, setOpen, menuId } = useDropdown();\n const ref = useRef<HTMLDivElement>(null);\n\n // click outside\n useClickOutside({ ref, setOpen });\n\n if (!open) return null;\n\n return (\n <div\n ref={ref}\n id={menuId}\n role=\"menu\"\n className={cn(\n contentVariants({ placement, spacing }),\n className,\n divider && \"divide-y divide-current\"\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n\n/* =========================\n Item\n========================= */\nexport const DropdownItem = ({\n children,\n value,\n className,\n variant,\n onSelect,\n leftIcon,\n rightIcon,\n ...props\n}: DropdownItemProps) => {\n const { toggleSelect, selectedValues } = useDropdown();\n const isSelected = selectedValues.includes(value);\n\n const handleClick = () => {\n toggleSelect(value);\n onSelect?.();\n };\n\n return (\n <div\n role=\"menuitem\"\n tabIndex={0}\n onClick={handleClick}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleClick();\n }\n }}\n className={cn(itemVariants({ variant }), className)}\n {...props}\n >\n <div className=\"flex items-center gap-2\">\n {leftIcon}\n {children}\n </div>\n\n <div className=\"flex items-center gap-2\">\n {isSelected && <FiCheck />}\n {rightIcon}\n </div>\n </div>\n );\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  export { DynamicStepper } from "./dynamic-stepper";
2
2
  export type { DynamicStepperButtonAppearance, DynamicStepperButtonSize, DynamicStepperIndicatorSize, DynamicStepperIndicatorToneAppearance, DynamicStepperOrientation, DynamicStepperProps, DynamicStepperStep, UseDynamicStepperParams, UseDynamicStepperResult, } from "./types";
3
3
  export { dynamicStepperIndicatorToneClass, dynamicStepperIndicatorVariants, dynamicStepperItemVariants, dynamicStepperMapperVariants, dynamicStepperRootVariants, } from "./variants";
4
- export type { DynamicStepperIndicatorSemanticState, } from "./variants";
4
+ export type { DynamicStepperIndicatorSemanticState } from "./variants";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/dynamic-stepper/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EACV,8BAA8B,EAC9B,wBAAwB,EACxB,2BAA2B,EAC3B,qCAAqC,EACrC,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,oCAAoC,GACrC,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/dynamic-stepper/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EACV,8BAA8B,EAC9B,wBAAwB,EACxB,2BAA2B,EAC3B,qCAAqC,EACrC,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,gCAAgC,EAChC,+BAA+B,EAC/B,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,oCAAoC,EAAE,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../src/ui/dynamic-stepper/variants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,KAAK,wBAAwB,GACzB,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,iBAAiB,CAAC;AAEtB,gFAAgF;AAChF,MAAM,MAAM,qCAAqC,GAAG,OAAO,CACzD,WAAW,CAAC,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC,EAC9D,wBAAwB,CACzB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAC5C,UAAU,GACV,SAAS,GACT,UAAU,CAAC;AA0Jf,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,oCAAoC,EAC3C,IAAI,EAAE,qCAAqC,GAC1C,MAAM,CAER;AAED,eAAO,MAAM,0BAA0B;;8EAWrC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;8EAUvC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;8EAUrC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;8EAc3C,CAAC"}
1
+ {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../src/ui/dynamic-stepper/variants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,KAAK,wBAAwB,GACzB,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,iBAAiB,CAAC;AAEtB,gFAAgF;AAChF,MAAM,MAAM,qCAAqC,GAAG,OAAO,CACzD,WAAW,CAAC,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC,YAAY,CAAC,CAAC,EAC9D,wBAAwB,CACzB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAC5C,UAAU,GACV,SAAS,GACT,UAAU,CAAC;AAgKf,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,oCAAoC,EAC3C,IAAI,EAAE,qCAAqC,GAC1C,MAAM,CAER;AAED,eAAO,MAAM,0BAA0B;;8EAWrC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;8EAaxC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;8EAUrC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;8EAc3C,CAAC"}
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkMEJMX4QI_js = require('../chunk-MEJMX4QI.js');
4
+ var chunkVMCOX3Z2_js = require('../chunk-VMCOX3Z2.js');
5
5
  require('../chunk-HPN7H5ZM.js');
6
- var chunkKXUG4WVW_js = require('../chunk-KXUG4WVW.js');
7
- require('../chunk-OB4KJZK2.js');
6
+ var chunkDO2LEXUY_js = require('../chunk-DO2LEXUY.js');
7
+ require('../chunk-VGWA26BN.js');
8
8
  var chunkZS5756ZC_js = require('../chunk-ZS5756ZC.js');
9
9
  var react = require('react');
10
10
  var classVarianceAuthority = require('class-variance-authority');
@@ -12,99 +12,99 @@ var jsxRuntime = require('react/jsx-runtime');
12
12
 
13
13
  var INDICATOR_TONE_CLASSES = {
14
14
  default: {
15
- complete: "border-slate-400/55 bg-slate-500/25 text-slate-50 ring-2 ring-slate-400/25",
16
- current: "border-slate-300 bg-slate-500/35 text-white ring-2 ring-slate-300/45",
17
- upcoming: "border-white/15 bg-white/5 text-slate-400"
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
18
  },
19
19
  secondary: {
20
- complete: "border-slate-600 bg-slate-800/70 text-slate-200 ring-2 ring-slate-600/35",
21
- current: "border-slate-500 bg-slate-700/55 text-white ring-2 ring-slate-500/45",
22
- upcoming: "border-white/10 bg-slate-900/50 text-slate-500"
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
23
  },
24
24
  destructive: {
25
- complete: "border-rose-500/60 bg-rose-500/20 text-rose-100 ring-2 ring-rose-400/30",
26
- current: "border-rose-400 bg-rose-600/35 text-white ring-2 ring-rose-400/50",
27
- upcoming: "border-white/15 bg-rose-950/25 text-slate-400"
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
28
  },
29
29
  outline: {
30
30
  complete: "border-emerald-500/55 bg-transparent text-emerald-200 ring-2 ring-emerald-500/25",
31
- current: "border-white/30 bg-white/10 text-white ring-2 ring-white/25",
32
- upcoming: "border-white/15 bg-white/5 text-slate-400"
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
33
  },
34
34
  ghost: {
35
35
  complete: "border-transparent bg-emerald-500/15 text-emerald-200 ring-2 ring-emerald-400/20",
36
- current: "border-transparent bg-white/10 text-white ring-2 ring-white/15",
37
- upcoming: "border-transparent bg-transparent text-slate-500"
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
38
  },
39
39
  link: {
40
- complete: "border-cyan-500/45 bg-cyan-950/35 text-cyan-200 ring-2 ring-cyan-400/25",
41
- current: "border-cyan-400 bg-cyan-900/45 text-cyan-50 ring-2 ring-cyan-400/45",
42
- upcoming: "border-white/10 bg-transparent text-slate-500"
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
43
  },
44
44
  glass: {
45
- complete: "border-white/25 bg-white/10 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-white/35 bg-white/15 text-white shadow-[inset_0_1px_0_rgba(255,255,255,0.08)] backdrop-blur-md ring-2 ring-white/30",
47
- upcoming: "border-white/15 bg-white/5 text-slate-400 backdrop-blur-sm"
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
48
  },
49
49
  emerald: {
50
- complete: "border-emerald-500/60 bg-emerald-500/20 text-emerald-100 ring-2 ring-emerald-400/30",
51
- current: "border-emerald-400 bg-emerald-500/30 text-white ring-2 ring-emerald-400/50",
52
- upcoming: "border-white/15 bg-emerald-950/30 text-emerald-200/55"
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
53
  },
54
54
  indigo: {
55
- complete: "border-indigo-500/60 bg-indigo-500/20 text-indigo-100 ring-2 ring-indigo-400/30",
56
- current: "border-indigo-400 bg-indigo-500/30 text-white ring-2 ring-indigo-400/50",
57
- upcoming: "border-white/15 bg-indigo-950/30 text-indigo-200/55"
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
58
  },
59
59
  purple: {
60
- complete: "border-purple-500/60 bg-purple-500/20 text-purple-100 ring-2 ring-purple-400/30",
61
- current: "border-purple-400 bg-purple-500/30 text-white ring-2 ring-purple-400/50",
62
- upcoming: "border-white/15 bg-purple-950/30 text-purple-200/55"
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
63
  },
64
64
  pink: {
65
- complete: "border-pink-500/60 bg-pink-500/20 text-pink-100 ring-2 ring-pink-400/30",
66
- current: "border-pink-400 bg-pink-500/30 text-white ring-2 ring-pink-400/50",
67
- upcoming: "border-white/15 bg-pink-950/30 text-pink-200/55"
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
68
  },
69
69
  rose: {
70
- complete: "border-rose-500/60 bg-rose-500/20 text-rose-100 ring-2 ring-rose-400/30",
71
- current: "border-rose-400 bg-rose-500/30 text-white ring-2 ring-rose-400/50",
72
- upcoming: "border-white/15 bg-rose-950/30 text-rose-200/55"
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
73
  },
74
74
  sky: {
75
- complete: "border-sky-500/60 bg-sky-500/20 text-sky-100 ring-2 ring-sky-400/30",
76
- current: "border-sky-400 bg-sky-500/30 text-white ring-2 ring-sky-400/50",
77
- upcoming: "border-white/15 bg-sky-950/30 text-sky-200/55"
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
78
  },
79
79
  teal: {
80
- complete: "border-teal-500/60 bg-teal-500/20 text-teal-100 ring-2 ring-teal-400/30",
81
- current: "border-teal-400 bg-teal-500/30 text-white ring-2 ring-teal-400/50",
82
- upcoming: "border-white/15 bg-teal-950/30 text-teal-200/55"
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
83
  },
84
84
  yellow: {
85
- complete: "border-yellow-500/60 bg-yellow-500/20 text-yellow-100 ring-2 ring-yellow-400/30",
86
- current: "border-yellow-400 bg-yellow-600/35 text-white ring-2 ring-yellow-400/50",
87
- upcoming: "border-white/15 bg-yellow-950/35 text-yellow-200/55"
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
88
  },
89
89
  orange: {
90
- complete: "border-orange-500/60 bg-orange-500/20 text-orange-100 ring-2 ring-orange-400/30",
91
- current: "border-orange-400 bg-orange-600/35 text-white ring-2 ring-orange-400/50",
92
- upcoming: "border-white/15 bg-orange-950/30 text-orange-200/55"
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
93
  },
94
94
  gray: {
95
- complete: "border-gray-500/60 bg-gray-500/20 text-gray-100 ring-2 ring-gray-400/30",
96
- current: "border-gray-400 bg-gray-600/35 text-white ring-2 ring-gray-400/50",
97
- upcoming: "border-white/15 bg-gray-950/30 text-gray-300/70"
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
98
  },
99
99
  amber: {
100
- complete: "border-amber-500/60 bg-amber-500/20 text-amber-100 ring-2 ring-amber-400/30",
101
- current: "border-amber-400 bg-amber-600/35 text-white ring-2 ring-amber-400/50",
102
- upcoming: "border-white/15 bg-amber-950/35 text-amber-200/55"
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
103
  },
104
104
  violet: {
105
- complete: "border-violet-500/60 bg-violet-500/20 text-violet-100 ring-2 ring-violet-400/30",
106
- current: "border-violet-400 bg-violet-500/30 text-white ring-2 ring-violet-400/50",
107
- upcoming: "border-white/15 bg-violet-950/30 text-violet-200/55"
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
108
  }
109
109
  };
110
110
  function dynamicStepperIndicatorToneClass(state, tone) {
@@ -121,17 +121,20 @@ var dynamicStepperRootVariants = classVarianceAuthority.cva("flex w-full", {
121
121
  orientation: "horizontal"
122
122
  }
123
123
  });
124
- var dynamicStepperMapperVariants = classVarianceAuthority.cva("m-0 min-w-0 flex-1 list-none p-0", {
125
- variants: {
126
- orientation: {
127
- horizontal: "flex flex-row flex-wrap items-start justify-center gap-4",
128
- vertical: "flex flex-col gap-6"
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"
129
135
  }
130
- },
131
- defaultVariants: {
132
- orientation: "horizontal"
133
136
  }
134
- });
137
+ );
135
138
  var dynamicStepperItemVariants = classVarianceAuthority.cva("relative flex gap-3", {
136
139
  variants: {
137
140
  orientation: {
@@ -182,7 +185,7 @@ var DynamicStepper = ({
182
185
  const previousId = `${baseId}-previous`;
183
186
  const nextId = `${baseId}-next`;
184
187
  const mapperId = `${baseId}-mapper`;
185
- const { activeStep, goPrevious, goNext, canGoPrevious, canGoNext } = chunkMEJMX4QI_js.useDynamicStepper({
188
+ const { activeStep, goPrevious, goNext, canGoPrevious, canGoNext } = chunkVMCOX3Z2_js.useDynamicStepper({
186
189
  stepCount: steps.length,
187
190
  activeStep: activeStepProp,
188
191
  defaultActiveStep,
@@ -204,7 +207,7 @@ var DynamicStepper = ({
204
207
  ...rest,
205
208
  children: [
206
209
  /* @__PURE__ */ jsxRuntime.jsx(
207
- chunkKXUG4WVW_js.Button,
210
+ chunkDO2LEXUY_js.Button,
208
211
  {
209
212
  id: previousId,
210
213
  "data-slot": "dynamic-stepper-previous",
@@ -265,13 +268,13 @@ var DynamicStepper = ({
265
268
  "div",
266
269
  {
267
270
  className: chunkZS5756ZC_js.cn(
268
- "text-sm font-semibold text-white",
271
+ "text-sm font-semibold dark:text-white text-slate-900",
269
272
  !isVertical && "mt-3"
270
273
  ),
271
274
  children: step.title
272
275
  }
273
276
  ),
274
- step.description != null && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs text-slate-400", children: step.description })
277
+ step.description != null && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs text-slate-900 dark:text-slate-400", children: step.description })
275
278
  ]
276
279
  }
277
280
  )
@@ -283,7 +286,7 @@ var DynamicStepper = ({
283
286
  }
284
287
  ),
285
288
  /* @__PURE__ */ jsxRuntime.jsx(
286
- chunkKXUG4WVW_js.Button,
289
+ chunkDO2LEXUY_js.Button,
287
290
  {
288
291
  id: nextId,
289
292
  "data-slot": "dynamic-stepper-next",
@@ -1 +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-400/55 bg-slate-500/25 text-slate-50 ring-2 ring-slate-400/25\",\n current:\n \"border-slate-300 bg-slate-500/35 text-white ring-2 ring-slate-300/45\",\n upcoming: \"border-white/15 bg-white/5 text-slate-400\",\n },\n secondary: {\n complete:\n \"border-slate-600 bg-slate-800/70 text-slate-200 ring-2 ring-slate-600/35\",\n current:\n \"border-slate-500 bg-slate-700/55 text-white ring-2 ring-slate-500/45\",\n upcoming: \"border-white/10 bg-slate-900/50 text-slate-500\",\n },\n destructive: {\n complete:\n \"border-rose-500/60 bg-rose-500/20 text-rose-100 ring-2 ring-rose-400/30\",\n current:\n \"border-rose-400 bg-rose-600/35 text-white ring-2 ring-rose-400/50\",\n upcoming: \"border-white/15 bg-rose-950/25 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-white/30 bg-white/10 text-white ring-2 ring-white/25\",\n upcoming: \"border-white/15 bg-white/5 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-white/10 text-white ring-2 ring-white/15\",\n upcoming: \"border-transparent bg-transparent text-slate-500\",\n },\n link: {\n complete:\n \"border-cyan-500/45 bg-cyan-950/35 text-cyan-200 ring-2 ring-cyan-400/25\",\n current:\n \"border-cyan-400 bg-cyan-900/45 text-cyan-50 ring-2 ring-cyan-400/45\",\n upcoming: \"border-white/10 bg-transparent text-slate-500\",\n },\n glass: {\n complete:\n \"border-white/25 bg-white/10 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-white/35 bg-white/15 text-white shadow-[inset_0_1px_0_rgba(255,255,255,0.08)] backdrop-blur-md ring-2 ring-white/30\",\n upcoming:\n \"border-white/15 bg-white/5 text-slate-400 backdrop-blur-sm\",\n },\n emerald: {\n complete:\n \"border-emerald-500/60 bg-emerald-500/20 text-emerald-100 ring-2 ring-emerald-400/30\",\n current:\n \"border-emerald-400 bg-emerald-500/30 text-white ring-2 ring-emerald-400/50\",\n upcoming:\n \"border-white/15 bg-emerald-950/30 text-emerald-200/55\",\n },\n indigo: {\n complete:\n \"border-indigo-500/60 bg-indigo-500/20 text-indigo-100 ring-2 ring-indigo-400/30\",\n current:\n \"border-indigo-400 bg-indigo-500/30 text-white ring-2 ring-indigo-400/50\",\n upcoming:\n \"border-white/15 bg-indigo-950/30 text-indigo-200/55\",\n },\n purple: {\n complete:\n \"border-purple-500/60 bg-purple-500/20 text-purple-100 ring-2 ring-purple-400/30\",\n current:\n \"border-purple-400 bg-purple-500/30 text-white ring-2 ring-purple-400/50\",\n upcoming:\n \"border-white/15 bg-purple-950/30 text-purple-200/55\",\n },\n pink: {\n complete:\n \"border-pink-500/60 bg-pink-500/20 text-pink-100 ring-2 ring-pink-400/30\",\n current:\n \"border-pink-400 bg-pink-500/30 text-white ring-2 ring-pink-400/50\",\n upcoming:\n \"border-white/15 bg-pink-950/30 text-pink-200/55\",\n },\n rose: {\n complete:\n \"border-rose-500/60 bg-rose-500/20 text-rose-100 ring-2 ring-rose-400/30\",\n current:\n \"border-rose-400 bg-rose-500/30 text-white ring-2 ring-rose-400/50\",\n upcoming:\n \"border-white/15 bg-rose-950/30 text-rose-200/55\",\n },\n sky: {\n complete:\n \"border-sky-500/60 bg-sky-500/20 text-sky-100 ring-2 ring-sky-400/30\",\n current:\n \"border-sky-400 bg-sky-500/30 text-white ring-2 ring-sky-400/50\",\n upcoming:\n \"border-white/15 bg-sky-950/30 text-sky-200/55\",\n },\n teal: {\n complete:\n \"border-teal-500/60 bg-teal-500/20 text-teal-100 ring-2 ring-teal-400/30\",\n current:\n \"border-teal-400 bg-teal-500/30 text-white ring-2 ring-teal-400/50\",\n upcoming:\n \"border-white/15 bg-teal-950/30 text-teal-200/55\",\n },\n yellow: {\n complete:\n \"border-yellow-500/60 bg-yellow-500/20 text-yellow-100 ring-2 ring-yellow-400/30\",\n current:\n \"border-yellow-400 bg-yellow-600/35 text-white ring-2 ring-yellow-400/50\",\n upcoming:\n \"border-white/15 bg-yellow-950/35 text-yellow-200/55\",\n },\n orange: {\n complete:\n \"border-orange-500/60 bg-orange-500/20 text-orange-100 ring-2 ring-orange-400/30\",\n current:\n \"border-orange-400 bg-orange-600/35 text-white ring-2 ring-orange-400/50\",\n upcoming:\n \"border-white/15 bg-orange-950/30 text-orange-200/55\",\n },\n gray: {\n complete:\n \"border-gray-500/60 bg-gray-500/20 text-gray-100 ring-2 ring-gray-400/30\",\n current:\n \"border-gray-400 bg-gray-600/35 text-white ring-2 ring-gray-400/50\",\n upcoming:\n \"border-white/15 bg-gray-950/30 text-gray-300/70\",\n },\n amber: {\n complete:\n \"border-amber-500/60 bg-amber-500/20 text-amber-100 ring-2 ring-amber-400/30\",\n current:\n \"border-amber-400 bg-amber-600/35 text-white ring-2 ring-amber-400/50\",\n upcoming:\n \"border-white/15 bg-amber-950/35 text-amber-200/55\",\n },\n violet: {\n complete:\n \"border-violet-500/60 bg-violet-500/20 text-violet-100 ring-2 ring-violet-400/30\",\n current:\n \"border-violet-400 bg-violet-500/30 text-white ring-2 ring-violet-400/50\",\n upcoming:\n \"border-white/15 bg-violet-950/30 text-violet-200/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(\"m-0 min-w-0 flex-1 list-none p-0\", {\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\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 text-white\",\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-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"]}
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"]}