@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
package/README.md CHANGED
@@ -4,7 +4,7 @@ A React UI kit for building product interfaces with Tailwind CSS. Components are
4
4
 
5
5
  ## Overview
6
6
 
7
- The library targets **React 18+** apps that use **Tailwind CSS v4** (or an equivalent setup where Tailwind can scan this package via `@source`). Styling uses utility classes; **class-variance-authority** powers variant APIs (size, appearance, and similar props), with **clsx** and **tailwind-merge** for predictable `className` composition. **Framer Motion** backs motion where a feature ships animated variants, and **react-icons** is used for iconography where applicable.
7
+ The library targets **React 18+** apps that use **Tailwind CSS v4** (or an equivalent setup where Tailwind can scan this package via `@source`). Styling uses utility classes; **class-variance-authority** powers variant APIs (size, appearance, and similar props), with **clsx** and **tailwind-merge** for predictable `className` composition. Component variants are light-theme ready by default and include paired `dark:` Tailwind classes for dark-mode surfaces, text, borders, focus rings, gradients, and form controls. **Framer Motion** backs motion where a feature ships animated variants, and **react-icons** is used for iconography where applicable.
8
8
 
9
9
  Published artifacts live under `dist/`. Imports use **per-entry subpaths**: `@zentauri-ui/zentauri-components/ui/<area>` for static UI, `@zentauri-ui/zentauri-components/ui/<area>/animated` where a motion bundle exists, `@zentauri-ui/zentauri-components/charts/<type>` for Recharts-powered chart primitives, and `@zentauri-ui/zentauri-components/hooks/<entry>` for React hooks (and shared helpers under `hooks/utils`). Base UI entries do **not** re-export animated components; motion lives on its own entry so optional `framer-motion` usage stays tree-shakeable and chunk-friendly. Each entry resolves to its own ESM (`.mjs`), CJS (`.js`), and types (`.d.ts`) so bundlers pull only what you import. Most apps rely on Tailwind scanning the package sources (see installation); a separate CSS import is not required for that setup.
10
10
 
@@ -36,42 +36,44 @@ Published motion entries (same `<name>` as the base UI folder):
36
36
 
37
37
  - **React** and **React DOM** `>= 18` (peer dependencies)
38
38
  - A Tailwind pipeline that can **scan** this package (see Step 3 below)
39
+ - Tailwind dark-mode support through the standard `dark:` variant (`class` / selector or media strategy, depending on your app)
39
40
 
40
41
  ## Components
41
42
 
42
43
  Import static primitives from `@zentauri-ui/zentauri-components/ui/<subpath>` when the **Base** column lists a path. Charts use `@zentauri-ui/zentauri-components/charts/<type>`. When the **Animated** column lists a path, motion components and preset helpers come from `@zentauri-ui/zentauri-components/ui/<subpath>/animated` (they are not exported from the base entry). **Spinner** has no static bundle—use only the animated subpath.
43
44
 
44
- | Area | Base subpath | Animated subpath `…/ui/…/animated` |
45
- | ----------- | --------------- | ---------------------------------- |
46
- | Accordion | `accordion` | `accordion/animated` |
47
- | Alert | `alert` | `alert/animated` |
48
- | Avatar | `avatar` | `avatar/animated` |
49
- | Badge | `badge` | `badge/animated` |
50
- | Breadcrumb | `breadcrumb` | — |
51
- | Button | `buttons` | `buttons/animated` |
52
- | Card | `card` | `card/animated` |
53
- | Charts | `charts/<type>` | — |
54
- | Divider | `divider` | `divider/animated` |
55
- | Drawer | `drawer` | `drawer/animated` |
56
- | Dropdown | `dropdown` | — |
57
- | Empty state | `empty-state` | `empty-state/animated` |
58
- | File upload | `file-upload` | |
59
- | Input | `inputs` | `inputs/animated` |
60
- | Modal | `modal` | `modal/animated` |
61
- | Pagination | `pagination` | |
62
- | Progress | `progress` | `progress/animated` |
63
- | Search | `search` | - |
64
- | Select | `select` | |
65
- | Skeleton | `skeleton` | `skeleton/animated` |
66
- | Slider | `slider` | |
67
- | Spinner | — | `spinner/animated` |
68
- | Stepper | `stepper` | — |
69
- | Table | `table` | `table/animated` |
70
- | Tabs | `tabs` | `tabs/animated` |
71
- | Toast | `toast` | `toast/animated` |
72
- | Toggle | `toggle` | `toggle/animated` |
73
- | Tooltip | `tooltip` | `tooltip/animated` |
74
- | Typography | `typography` | |
45
+ | Area | Base subpath | Animated subpath `…/ui/…/animated` |
46
+ | --------------- | ----------------- | ---------------------------------- |
47
+ | Accordion | `accordion` | `accordion/animated` |
48
+ | Alert | `alert` | `alert/animated` |
49
+ | Avatar | `avatar` | `avatar/animated` |
50
+ | Badge | `badge` | `badge/animated` |
51
+ | Breadcrumb | `breadcrumb` | — |
52
+ | Button | `buttons` | `buttons/animated` |
53
+ | Card | `card` | `card/animated` |
54
+ | Charts | `charts/<type>` | — |
55
+ | Divider | `divider` | `divider/animated` |
56
+ | Drawer | `drawer` | `drawer/animated` |
57
+ | Dropdown | `dropdown` | — |
58
+ | Dynamic stepper | `dynamic-stepper` | |
59
+ | Empty state | `empty-state` | `empty-state/animated` |
60
+ | File upload | `file-upload` | |
61
+ | Input | `inputs` | `inputs/animated` |
62
+ | Modal | `modal` | `modal/animated` |
63
+ | Pagination | `pagination` | |
64
+ | Progress | `progress` | `progress/animated` |
65
+ | Search | `search` | - |
66
+ | Select | `select` | |
67
+ | Skeleton | `skeleton` | `skeleton/animated` |
68
+ | Slider | `slider` | — |
69
+ | Spinner | — | `spinner/animated` |
70
+ | Stepper | `stepper` | |
71
+ | Table | `table` | `table/animated` |
72
+ | Tabs | `tabs` | `tabs/animated` |
73
+ | Toast | `toast` | `toast/animated` |
74
+ | Toggle | `toggle` | `toggle/animated` |
75
+ | Tooltip | `tooltip` | `tooltip/animated` |
76
+ | Typography | `typography` | — |
75
77
 
76
78
  ## Typography
77
79
 
@@ -175,43 +177,99 @@ export function RevenueChart() {
175
177
  }
176
178
  ```
177
179
 
180
+ ## Dynamic Stepper
181
+
182
+ Import the UI from **`@zentauri-ui/zentauri-components/ui/dynamic-stepper`**. This entry is **static only** (no `/animated` subpath). It is separate from the compositional **Stepper** primitives under `ui/stepper` (for example `Stepper`, `StepperItem`, `StepperIndicator`).
183
+
184
+ **Component:** `DynamicStepper` — data-driven steps with Previous / Next controls backed by the **Button** component (`buttonAppearance`, `buttonSize`).
185
+
186
+ **Hook:** `useDynamicStepper` — `@zentauri-ui/zentauri-components/hooks/useDynamicStepper`. Holds a clamped 0-based active step, `goPrevious` / `goNext`, `canGoPrevious` / `canGoNext`, and controlled/uncontrolled wiring (`activeStep`, `defaultActiveStep`, `onActiveStepChange`, `onPrevious`, `onNext`). `DynamicStepper` uses this hook internally.
187
+
188
+ **Types (UI barrel):** `DynamicStepperProps`, `DynamicStepperStep`, `DynamicStepperOrientation`, `DynamicStepperButtonAppearance`, `DynamicStepperButtonSize`, `DynamicStepperIndicatorSize`, `DynamicStepperIndicatorToneAppearance`, `UseDynamicStepperParams`, `UseDynamicStepperResult`.
189
+
190
+ **Step items (`steps`):** optional `id`, `title`, `description`, `indicator` (defaults to a 1-based index).
191
+
192
+ **Indicator tones:** `indicatorCompleteAppearance`, `indicatorCurrentAppearance`, `indicatorUpcomingAppearance` — same keys as **Button** `appearance` except **`gradient-*`** values (defaults: `emerald`, `violet`, `outline`).
193
+
194
+ **Layout:** `orientation` (`horizontal` | `vertical`), `indicatorSize` (`sm` | `md` | `lg`).
195
+
196
+ **Stable targeting:** DOM **`id`** suffixes `-previous`, `-next`, `-mapper` (prefixed by React `useId`) and **`data-slot`** keys including `dynamic-stepper-previous`, `dynamic-stepper-next`, `dynamic-stepper-mapper`.
197
+
198
+ **CVA helpers:** `dynamicStepperRootVariants`, `dynamicStepperMapperVariants`, `dynamicStepperItemVariants`, `dynamicStepperIndicatorVariants`, `dynamicStepperIndicatorToneClass`.
199
+
200
+ ```tsx
201
+ import {
202
+ DynamicStepper,
203
+ type DynamicStepperStep,
204
+ } from "@zentauri-ui/zentauri-components/ui/dynamic-stepper";
205
+ import { useDynamicStepper } from "@zentauri-ui/zentauri-components/hooks/useDynamicStepper";
206
+
207
+ const steps: DynamicStepperStep[] = [
208
+ { id: "cart", title: "Cart", description: "Review items" },
209
+ { id: "pay", title: "Payment", description: "Enter details" },
210
+ ];
211
+
212
+ export function CheckoutFlow() {
213
+ return (
214
+ <DynamicStepper
215
+ steps={steps}
216
+ defaultActiveStep={0}
217
+ buttonAppearance="outline"
218
+ indicatorCompleteAppearance="sky"
219
+ indicatorCurrentAppearance="rose"
220
+ indicatorUpcomingAppearance="outline"
221
+ />
222
+ );
223
+ }
224
+
225
+ /** Headless-only example */
226
+ export function useWizardSteps(stepCount: number) {
227
+ return useDynamicStepper({
228
+ stepCount,
229
+ defaultActiveStep: 0,
230
+ });
231
+ }
232
+ ```
233
+
178
234
  ## React hooks
179
235
 
180
236
  Hooks live in `src/hooks/`. Each hook is a separate published entry under `@zentauri-ui/zentauri-components/hooks/<name>` (same pattern as UI areas). Types are exported where the implementation defines them (for example `UseDisclosureResult`, `PaginationPageItem`). For class-name merging and pagination helpers used alongside hooks, import from `@zentauri-ui/zentauri-components/hooks/utils`.
181
237
 
182
- | Hook / module | Subpath `…/hooks/…` | Notes (selected exports) |
183
- | --------------------------- | --------------------------- | -------------------------------------------------------------------------- |
184
- | `useBodyScrollLock` | `useBodyScrollLock` | Locks document scroll while open |
185
- | `useClickOutside` | `useClickOutside` | `ClickOutsideEventType`, `UseClickOutsideParams` |
186
- | `useClipboard` | `useClipboard` | `UseClipboardResult` |
187
- | `useControllableState` | `useControllableState` | `UseControllableStateParams` |
188
- | `useDebouncedValue` | `useDebouncedValue` | Debounced state from a value |
189
- | `useDisclosure` | `useDisclosure` | `UseDisclosureParams`, `UseDisclosureResult` |
190
- | `useDocumentTitle` | `useDocumentTitle` | `UseDocumentTitleParams` |
191
- | `useFocusManagement` | `useFocusManagement` | Focus trap / focus moves for overlays |
192
- | `useHover` | `useHover` | Pointer hover state |
193
- | `useInView` | `useInView` | `UseInViewParams` |
194
- | `useIntersectionObserver` | `useIntersectionObserver` | `UseIntersectionObserverParams` |
195
- | `useIsomorphicLayoutEffect` | `useIsomorphicLayoutEffect` | `useLayoutEffect` safe for SSR |
196
- | `useIsMounted` | `useIsMounted` | Ref / flag after mount |
197
- | `useLocalStorage` | `useLocalStorage` | `UseLocalStorageResult` |
198
- | `useMediaQuery` | `useMediaQuery` | Match CSS media queries |
199
- | `useNetworkStatus` | `useNetworkStatus` | Online / offline |
200
- | `usePageVisibility` | `usePageVisibility` | Document visibility API |
201
- | `usePagination` | `usePagination` | `buildPaginationItems`, `BuildPaginationItemsParams`, `PaginationPageItem` |
202
- | `usePrefersColorScheme` | `usePrefersColorScheme` | `ColorSchemePreference` |
203
- | `usePrefersReducedMotion` | `usePrefersReducedMotion` | `prefers-reduced-motion` |
204
- | `useResizeObserver` | `useResizeObserver` | `ElementSize` |
205
- | `useSessionStorage` | `useSessionStorage` | `UseSessionStorageResult` |
206
- | `useThrottledCallback` | `useThrottledCallback` | Throttled callback ref |
207
- | `useToggle` | `useToggle` | Boolean toggle state |
208
- | `useWindowSize` | `useWindowSize` | `WindowSize` |
209
- | `cn`, `clampPage`, `range` | `utils` | Shared helpers from `src/lib/utils.ts` |
238
+ | Hook / module | Subpath `…/hooks/…` | Notes (selected exports) |
239
+ | --------------------------- | --------------------------- | ----------------------------------------------------------------------------------------- |
240
+ | `useBodyScrollLock` | `useBodyScrollLock` | Locks document scroll while open |
241
+ | `useClickOutside` | `useClickOutside` | `ClickOutsideEventType`, `UseClickOutsideParams` |
242
+ | `useClipboard` | `useClipboard` | `UseClipboardResult` |
243
+ | `useControllableState` | `useControllableState` | `UseControllableStateParams` |
244
+ | `useDebouncedValue` | `useDebouncedValue` | Debounced state from a value |
245
+ | `useDisclosure` | `useDisclosure` | `UseDisclosureParams`, `UseDisclosureResult` |
246
+ | `useDocumentTitle` | `useDocumentTitle` | `UseDocumentTitleParams` |
247
+ | `useDynamicStepper` | `useDynamicStepper` | `UseDynamicStepperParams`, `UseDynamicStepperResult` (types also on `ui/dynamic-stepper`) |
248
+ | `useFocusManagement` | `useFocusManagement` | Focus trap / focus moves for overlays |
249
+ | `useHover` | `useHover` | Pointer hover state |
250
+ | `useInView` | `useInView` | `UseInViewParams` |
251
+ | `useIntersectionObserver` | `useIntersectionObserver` | `UseIntersectionObserverParams` |
252
+ | `useIsomorphicLayoutEffect` | `useIsomorphicLayoutEffect` | `useLayoutEffect` safe for SSR |
253
+ | `useIsMounted` | `useIsMounted` | Ref / flag after mount |
254
+ | `useLocalStorage` | `useLocalStorage` | `UseLocalStorageResult` |
255
+ | `useMediaQuery` | `useMediaQuery` | Match CSS media queries |
256
+ | `useNetworkStatus` | `useNetworkStatus` | Online / offline |
257
+ | `usePageVisibility` | `usePageVisibility` | Document visibility API |
258
+ | `usePagination` | `usePagination` | `buildPaginationItems`, `BuildPaginationItemsParams`, `PaginationPageItem` |
259
+ | `usePrefersColorScheme` | `usePrefersColorScheme` | `ColorSchemePreference` |
260
+ | `usePrefersReducedMotion` | `usePrefersReducedMotion` | `prefers-reduced-motion` |
261
+ | `useResizeObserver` | `useResizeObserver` | `ElementSize` |
262
+ | `useSessionStorage` | `useSessionStorage` | `UseSessionStorageResult` |
263
+ | `useThrottledCallback` | `useThrottledCallback` | Throttled callback ref |
264
+ | `useToggle` | `useToggle` | Boolean toggle state |
265
+ | `useWindowSize` | `useWindowSize` | `WindowSize` |
266
+ | `cn`, `clampPage`, `range` | `utils` | Shared helpers from `src/lib/utils.ts` |
210
267
 
211
268
  #### Hook import example
212
269
 
213
270
  ```tsx
214
271
  import { useDisclosure } from "@zentauri-ui/zentauri-components/hooks/useDisclosure";
272
+ import { useDynamicStepper } from "@zentauri-ui/zentauri-components/hooks/useDynamicStepper";
215
273
  import { useMediaQuery } from "@zentauri-ui/zentauri-components/hooks/useMediaQuery";
216
274
  import {
217
275
  buildPaginationItems,
@@ -220,7 +278,7 @@ import {
220
278
  import { cn } from "@zentauri-ui/zentauri-components/hooks/utils";
221
279
  ```
222
280
 
223
- Some UI packages re-export the hook that belongs to that component (for example `usePagination` from `@zentauri-ui/zentauri-components/ui/pagination`). Prefer `hooks/<name>` when you only need the hook without the UI primitives.
281
+ Some UI packages re-export the hook that belongs to that component (for example `usePagination` from `@zentauri-ui/zentauri-components/ui/pagination`). **`dynamic-stepper`** exports hook-related **types** only; import **`useDynamicStepper`** from `hooks/useDynamicStepper`. Prefer `hooks/<name>` when you only need the hook without the UI primitives.
224
282
 
225
283
  ## Installation
226
284
 
@@ -302,6 +360,14 @@ Add an `@source` entry so Tailwind scans class names inside `@zentauri-ui/zentau
302
360
  @source "../node_modules/@zentauri-ui/zentauri-components";
303
361
  ```
304
362
 
363
+ The package ships light-first styles with `dark:` overrides in the same class strings, so Tailwind must see both the base utilities and the dark variant utilities. With Tailwind v4, keep your app's existing dark-mode selector or media setup; the components respond wherever your app activates Tailwind's `dark:` variant.
364
+
365
+ ```tsx
366
+ <main className="min-h-screen bg-white text-slate-900 dark:bg-slate-950 dark:text-slate-50">
367
+ <Button appearance="outline">Theme-aware action</Button>
368
+ </main>
369
+ ```
370
+
305
371
  ### Step 4 — Import and use components and hooks
306
372
 
307
373
  Use **one subpath per UI area** (static and animated are separate entries: `ui/<name>` vs `ui/<name>/animated`) and **one subpath per hook module** so the bundler resolves only the entries you use.
@@ -352,7 +418,7 @@ import { Spinner } from "@zentauri-ui/zentauri-components/ui/spinner/animated";
352
418
  #### Usage
353
419
 
354
420
  ```tsx
355
- <div className="rounded-3xl border border-white/10 bg-white/5 p-5 shadow-2xl shadow-slate-950/40 backdrop-blur-xl">
421
+ <div className="rounded-3xl border border-slate-900/10 bg-white p-5 shadow-2xl shadow-slate-950/10 backdrop-blur-xl dark:border-white/10 dark:bg-white/5 dark:shadow-slate-950/40">
356
422
  <Accordion
357
423
  type="single"
358
424
  defaultValue="item-1"
@@ -362,7 +428,7 @@ import { Spinner } from "@zentauri-ui/zentauri-components/ui/spinner/animated";
362
428
  <AccordionItem value="item-1">
363
429
  <AccordionTrigger>Shipping</AccordionTrigger>
364
430
  <AccordionContent>
365
- <p className="text-sm text-slate-300">
431
+ <p className="text-sm text-slate-900 dark:text-slate-300">
366
432
  Standard delivery in 3-5 business days. Express options at checkout.
367
433
  </p>
368
434
  </AccordionContent>
@@ -370,7 +436,7 @@ import { Spinner } from "@zentauri-ui/zentauri-components/ui/spinner/animated";
370
436
  <AccordionItem value="item-2">
371
437
  <AccordionTrigger>Returns</AccordionTrigger>
372
438
  <AccordionContent>
373
- <p className="text-sm text-slate-300">
439
+ <p className="text-sm text-slate-900 dark:text-slate-300">
374
440
  Free returns within 30 days of delivery in original condition.
375
441
  </p>
376
442
  </AccordionContent>
@@ -418,11 +484,11 @@ node node_modules/@zentauri-ui/zentauri-components/cli/index.mjs add accordion
418
484
  node node_modules/@zentauri-ui/zentauri-components/cli/index.mjs add hook useWindowSize
419
485
  ```
420
486
 
421
- | Command | What it does |
422
- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
423
- | `init` | Writes **`components.json`** in the current working directory (or `--cwd`) with default `aliases` and `resolvedPaths`. Refuses to overwrite an existing file. |
424
- | `add <names...>` | Walks up from `--cwd` (default `.`) to find `components.json`, then copies each resolved **UI** folder under `src/ui` or chart entry under `src/charts/<type>`, pulls in hooks those files depend on (including transitive hook imports), and creates **`lib/utils`** at `resolvedPaths.utils` from the package template if it is missing. |
425
- | `add hook <names...>` | Same config lookup; copies only **hook** folders listed under `registry.hooks` (from `hooksEntryNames` in `tsup.config.ts`), including transitive sibling-hook imports. Does not copy UI unless a hook’s imports require you to add a component separately (for example `usePagination` imports types from `ui/pagination`). |
487
+ | Command | What it does |
488
+ | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
489
+ | `init` | Writes **`components.json`** in the current working directory (or `--cwd`) with default `aliases` and `resolvedPaths`. Refuses to overwrite an existing file. |
490
+ | `add <names...>` | Walks up from `--cwd` (default `.`) to find `components.json`, then copies each resolved **UI** folder under `src/ui` or chart entry under `src/charts/<type>`, pulls in hooks those files depend on (including transitive hook imports), and creates **`lib/utils`** at `resolvedPaths.utils` from the package template if it is missing. |
491
+ | `add hook <names...>` | Same config lookup; copies only **hook** folders listed under `registry.hooks` (from `hooksEntryNames` in `tsup.config.ts`), including transitive sibling-hook imports. Does not copy UI unless a hook’s imports require you to add a component separately (for example `usePagination` imports types from `ui/pagination`; `useDynamicStepper` imports types from `ui/dynamic-stepper`). |
426
492
 
427
493
  Global flags: `-h` / `--help`, `-v` / `--version`, `--cwd <dir>` (relative to `process.cwd()`).
428
494
 
@@ -467,7 +533,7 @@ After `add`, imports inside copied `.ts`/`.tsx` files are rewritten using your `
467
533
  | **`npm` + package `exports`** (earlier sections) | You want versioned dependencies, smallest app-owned surface, and tree-shaken `dist/` entries. |
468
534
  | **`init` / `add`** | You want vendored source under your repo (customize primitives, match shadcn-style workflows, or lock file-level behavior). |
469
535
 
470
- Tailwind still needs to see the classes your **copied** files use—point `@source` at those paths (for example your `src/components/ui`) rather than only at `node_modules/@zentauri-ui/zentauri-components` if you no longer rely on scanning the published package.
536
+ Tailwind still needs to see the classes your **copied** files use—point `@source` at those paths (for example your `src/components/ui`) rather than only at `node_modules/@zentauri-ui/zentauri-components` if you no longer rely on scanning the published package. This matters for the light/dark variant pairs too: copied components keep their base light utilities and `dark:` overrides, and both need to be included in Tailwind's generated CSS.
471
537
 
472
538
  ## Checkout the components:
473
539
 
package/cli/registry.json CHANGED
@@ -17,6 +17,7 @@
17
17
  "divider",
18
18
  "drawer",
19
19
  "dropdown",
20
+ "dynamic-stepper",
20
21
  "empty-state",
21
22
  "file-upload",
22
23
  "inputs",
@@ -44,6 +45,7 @@
44
45
  "useDebouncedValue",
45
46
  "useDisclosure",
46
47
  "useDocumentTitle",
48
+ "useDynamicStepper",
47
49
  "useFocusManagement",
48
50
  "useHover",
49
51
  "useInView",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/charts/area/Area.tsx"],"names":["defaultChartMargin","jsx","ChartFrame","jsxs","RechartsAreaChart","ChartDecorators","Fragment","XAxis","YAxis","resolveColor","getSeriesFill","Area"],"mappings":"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","file":"area.js","sourcesContent":["\"use client\";\n\nimport { Area, AreaChart as RechartsAreaChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { getSeriesFill, resolveColor } from \"../shared/colors\";\nimport type { AreaChartProps } from \"../shared/types\";\n\nexport function AreaChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stacked = false,\n style,\n syncId,\n xKey,\n ...props\n}: AreaChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsAreaChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n const fill = getSeriesFill(item, index)\n return (\n <Area\n key={item.dataKey}\n type=\"monotone\"\n dataKey={item.dataKey}\n name={item.name}\n stackId={stacked ? (item.stackId ?? \"stack\") : item.stackId}\n stroke={color.stroke}\n fill={fill ?? color.fill}\n fillOpacity={1}\n strokeWidth={2}\n />\n );\n })}\n </RechartsAreaChart>\n </ChartFrame>\n );\n}\n\nAreaChart.displayName = \"AreaChart\";\n"]}
1
+ {"version":3,"sources":["../../src/charts/area/Area.tsx"],"names":["defaultChartMargin","jsx","ChartFrame","jsxs","RechartsAreaChart","ChartDecorators","Fragment","XAxis","YAxis","resolveColor","getSeriesFill","Area"],"mappings":"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","file":"area.js","sourcesContent":["\"use client\";\n\nimport { Area, AreaChart as RechartsAreaChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { getSeriesFill, resolveColor } from \"../shared/colors\";\nimport type { AreaChartProps } from \"../shared/types\";\n\nexport function AreaChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stacked = false,\n style,\n syncId,\n xKey,\n ...props\n}: AreaChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsAreaChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n const fill = getSeriesFill(item, index);\n return (\n <Area\n key={item.dataKey}\n type=\"monotone\"\n dataKey={item.dataKey}\n name={item.name}\n stackId={stacked ? (item.stackId ?? \"stack\") : item.stackId}\n stroke={color.stroke}\n fill={fill ?? color.fill}\n fillOpacity={1}\n strokeWidth={2}\n />\n );\n })}\n </RechartsAreaChart>\n </ChartFrame>\n );\n}\n\nAreaChart.displayName = \"AreaChart\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/charts/area/Area.tsx"],"names":["RechartsAreaChart"],"mappings":"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","file":"area.mjs","sourcesContent":["\"use client\";\n\nimport { Area, AreaChart as RechartsAreaChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { getSeriesFill, resolveColor } from \"../shared/colors\";\nimport type { AreaChartProps } from \"../shared/types\";\n\nexport function AreaChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stacked = false,\n style,\n syncId,\n xKey,\n ...props\n}: AreaChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsAreaChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n const fill = getSeriesFill(item, index)\n return (\n <Area\n key={item.dataKey}\n type=\"monotone\"\n dataKey={item.dataKey}\n name={item.name}\n stackId={stacked ? (item.stackId ?? \"stack\") : item.stackId}\n stroke={color.stroke}\n fill={fill ?? color.fill}\n fillOpacity={1}\n strokeWidth={2}\n />\n );\n })}\n </RechartsAreaChart>\n </ChartFrame>\n );\n}\n\nAreaChart.displayName = \"AreaChart\";\n"]}
1
+ {"version":3,"sources":["../../src/charts/area/Area.tsx"],"names":["RechartsAreaChart"],"mappings":"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","file":"area.mjs","sourcesContent":["\"use client\";\n\nimport { Area, AreaChart as RechartsAreaChart, XAxis, YAxis } from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { getSeriesFill, resolveColor } from \"../shared/colors\";\nimport type { AreaChartProps } from \"../shared/types\";\n\nexport function AreaChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stacked = false,\n style,\n syncId,\n xKey,\n ...props\n}: AreaChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsAreaChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n <YAxis\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n fill=\"#ffffff\"\n color=\"#ffffff\"\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n const fill = getSeriesFill(item, index);\n return (\n <Area\n key={item.dataKey}\n type=\"monotone\"\n dataKey={item.dataKey}\n name={item.name}\n stackId={stacked ? (item.stackId ?? \"stack\") : item.stackId}\n stroke={color.stroke}\n fill={fill ?? color.fill}\n fillOpacity={1}\n strokeWidth={2}\n />\n );\n })}\n </RechartsAreaChart>\n </ChartFrame>\n );\n}\n\nAreaChart.displayName = \"AreaChart\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Bubble.d.ts","sourceRoot":"","sources":["../../../src/charts/bubble/Bubble.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,wBAAgB,WAAW,CACzB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,EACA,UAAU,EACV,SAAS,EACT,cAAc,EACd,IAAI,EACJ,OAAO,EACP,UAAiB,EACjB,MAAY,EACZ,MAA2B,EAC3B,MAAM,EACN,QAAe,EACf,UAAkB,EAClB,WAAkB,EAClB,YAAwB,EACxB,KAAK,EACL,MAAM,EACN,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,MAAM,CAAC,2CAgE1B;yBApFe,WAAW"}
1
+ {"version":3,"file":"Bubble.d.ts","sourceRoot":"","sources":["../../../src/charts/bubble/Bubble.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,wBAAgB,WAAW,CACzB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,EACA,UAAU,EACV,SAAS,EACT,cAAc,EACd,IAAI,EACJ,OAAO,EACP,UAAiB,EACjB,MAAY,EACZ,MAA2B,EAC3B,MAAM,EACN,QAAe,EACf,UAAkB,EAClB,WAAkB,EAClB,YAAwB,EACxB,KAAK,EACL,MAAM,EACN,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,gBAAgB,CAAC,MAAM,CAAC,2CAwE1B;yBA5Fe,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/charts/bubble/Bubble.tsx"],"names":["defaultChartMargin","jsx","ChartFrame","jsxs","RechartsScatterChart","ChartDecorators","Fragment","XAxis","YAxis","resolveColor","Scatter","ZAxis"],"mappings":"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","file":"bubble.js","sourcesContent":["\"use client\";\n\nimport {\n Scatter,\n ScatterChart as RechartsScatterChart,\n XAxis,\n YAxis,\n ZAxis,\n Bar,\n} from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { BubbleChartProps } from \"../shared/types\";\n\nexport function BubbleChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n style,\n syncId,\n xKey,\n ...props\n}: BubbleChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsScatterChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n type={typeof data[0]?.[xAxisKey] === \"number\" ? \"number\" : \"category\"}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n dataKey=\"__chartY\"\n type={typeof data[0]?.[xAxisKey] === \"number\" ? \"number\" : \"category\"}\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n return (\n <Scatter\n key={item.dataKey}\n data={data.map((entry) => ({\n ...entry,\n __chartY: entry[item.dataKey],\n __chartZ: item.zKey ? entry[item.zKey] : undefined,\n }))}\n name={item.name}\n fill={item.fill ?? color.stroke}\n />\n );\n })}\n <ZAxis dataKey=\"__chartZ\" range={[64, 720]} />\n </RechartsScatterChart>\n </ChartFrame>\n );\n}\n\nBubbleChart.displayName = \"BubbleChart\";\n"]}
1
+ {"version":3,"sources":["../../src/charts/bubble/Bubble.tsx"],"names":["defaultChartMargin","jsx","ChartFrame","jsxs","RechartsScatterChart","ChartDecorators","Fragment","XAxis","YAxis","resolveColor","Scatter","ZAxis"],"mappings":"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","file":"bubble.js","sourcesContent":["\"use client\";\n\nimport {\n Scatter,\n ScatterChart as RechartsScatterChart,\n XAxis,\n YAxis,\n ZAxis,\n Bar,\n} from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { BubbleChartProps } from \"../shared/types\";\n\nexport function BubbleChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n style,\n syncId,\n xKey,\n ...props\n}: BubbleChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsScatterChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n type={\n typeof data[0]?.[xAxisKey] === \"number\"\n ? \"number\"\n : \"category\"\n }\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n dataKey=\"__chartY\"\n type={\n typeof data[0]?.[xAxisKey] === \"number\"\n ? \"number\"\n : \"category\"\n }\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n return (\n <Scatter\n key={item.dataKey}\n data={data.map((entry) => ({\n ...entry,\n __chartY: entry[item.dataKey],\n __chartZ: item.zKey ? entry[item.zKey] : undefined,\n }))}\n name={item.name}\n fill={item.fill ?? color.stroke}\n />\n );\n })}\n <ZAxis dataKey=\"__chartZ\" range={[64, 720]} />\n </RechartsScatterChart>\n </ChartFrame>\n );\n}\n\nBubbleChart.displayName = \"BubbleChart\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/charts/bubble/Bubble.tsx"],"names":["RechartsScatterChart"],"mappings":"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","file":"bubble.mjs","sourcesContent":["\"use client\";\n\nimport {\n Scatter,\n ScatterChart as RechartsScatterChart,\n XAxis,\n YAxis,\n ZAxis,\n Bar,\n} from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { BubbleChartProps } from \"../shared/types\";\n\nexport function BubbleChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n style,\n syncId,\n xKey,\n ...props\n}: BubbleChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsScatterChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n type={typeof data[0]?.[xAxisKey] === \"number\" ? \"number\" : \"category\"}\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n dataKey=\"__chartY\"\n type={typeof data[0]?.[xAxisKey] === \"number\" ? \"number\" : \"category\"}\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n return (\n <Scatter\n key={item.dataKey}\n data={data.map((entry) => ({\n ...entry,\n __chartY: entry[item.dataKey],\n __chartZ: item.zKey ? entry[item.zKey] : undefined,\n }))}\n name={item.name}\n fill={item.fill ?? color.stroke}\n />\n );\n })}\n <ZAxis dataKey=\"__chartZ\" range={[64, 720]} />\n </RechartsScatterChart>\n </ChartFrame>\n );\n}\n\nBubbleChart.displayName = \"BubbleChart\";\n"]}
1
+ {"version":3,"sources":["../../src/charts/bubble/Bubble.tsx"],"names":["RechartsScatterChart"],"mappings":"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","file":"bubble.mjs","sourcesContent":["\"use client\";\n\nimport {\n Scatter,\n ScatterChart as RechartsScatterChart,\n XAxis,\n YAxis,\n ZAxis,\n Bar,\n} from \"recharts\";\n\nimport {\n ChartDecorators,\n ChartFrame,\n defaultChartMargin,\n} from \"../shared/chart-frame\";\nimport { resolveColor } from \"../shared/colors\";\nimport type { BubbleChartProps } from \"../shared/types\";\n\nexport function BubbleChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n data,\n density,\n emptyState = null,\n height = 320,\n margin = defaultChartMargin,\n series,\n showGrid = true,\n showLegend = false,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n style,\n syncId,\n xKey,\n ...props\n}: BubbleChartProps<TDatum>) {\n const hasData = data.length > 0 && series.length > 0;\n const xAxisKey = String(xKey);\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsScatterChart data={data} margin={margin} syncId={syncId}>\n <ChartDecorators\n axis={\n <>\n <XAxis\n dataKey={xAxisKey}\n type={\n typeof data[0]?.[xAxisKey] === \"number\"\n ? \"number\"\n : \"category\"\n }\n minTickGap={24}\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n fontSize={12}\n />\n <YAxis\n dataKey=\"__chartY\"\n type={\n typeof data[0]?.[xAxisKey] === \"number\"\n ? \"number\"\n : \"category\"\n }\n width={40}\n tickLine={false}\n tickMargin={8}\n axisLine={false}\n fontSize={12}\n />\n </>\n }\n showGrid={showGrid}\n showLegend={showLegend}\n showTooltip={showTooltip}\n tooltipColor={tooltipColor}\n />\n {series.map((item, index) => {\n const color = resolveColor(item.color, index);\n return (\n <Scatter\n key={item.dataKey}\n data={data.map((entry) => ({\n ...entry,\n __chartY: entry[item.dataKey],\n __chartZ: item.zKey ? entry[item.zKey] : undefined,\n }))}\n name={item.name}\n fill={item.fill ?? color.stroke}\n />\n );\n })}\n <ZAxis dataKey=\"__chartZ\" range={[64, 720]} />\n </RechartsScatterChart>\n </ChartFrame>\n );\n}\n\nBubbleChart.displayName = \"BubbleChart\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Pie.d.ts","sourceRoot":"","sources":["../../../src/charts/pie/Pie.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAqBrD,wBAAgB,QAAQ,CACtB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,EACA,UAAU,EACV,SAAS,EACT,cAAc,EACd,YAAiB,EACjB,IAAI,EACJ,OAAO,EACP,OAAO,EACP,UAAiB,EACjB,MAAY,EACZ,KAAa,EACb,SAAiB,EACjB,UAAoB,EACpB,OAAO,EACP,YAAgB,EAChB,UAAiB,EACjB,WAAkB,EAClB,YAAwB,EACxB,MAAkB,EAClB,IAAgB,EAChB,WAAW,EACX,WAAW,EACX,KAAK,EACL,KAAK,EACL,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,MAAM,CAAC,2CAyCvB;yBApEe,QAAQ"}
1
+ {"version":3,"file":"Pie.d.ts","sourceRoot":"","sources":["../../../src/charts/pie/Pie.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAmCrD,wBAAgB,QAAQ,CACtB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACjE,EACA,UAAU,EACV,SAAS,EACT,cAAc,EACd,YAAiB,EACjB,IAAI,EACJ,OAAO,EACP,OAAO,EACP,UAAiB,EACjB,MAAY,EACZ,KAAa,EACb,SAAiB,EACjB,UAAoB,EACpB,OAAO,EACP,YAAgB,EAChB,UAAiB,EACjB,WAAkB,EAClB,YAAwB,EACxB,MAAkB,EAClB,IAAgB,EAChB,WAAW,EACX,WAAW,EACX,KAAK,EACL,KAAK,EACL,GAAG,KAAK,EACT,EAAE,aAAa,CAAC,MAAM,CAAC,2CA8CvB;yBAzEe,QAAQ"}
@@ -7,7 +7,15 @@ var recharts = require('recharts');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
 
9
9
  var RADIAN = Math.PI / 180;
10
- var renderCustomizedLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, percent, fill }) => {
10
+ var renderCustomizedLabel = ({
11
+ cx,
12
+ cy,
13
+ midAngle,
14
+ innerRadius,
15
+ outerRadius,
16
+ percent,
17
+ fill
18
+ }) => {
11
19
  if (cx == null || cy == null || innerRadius == null || outerRadius == null) {
12
20
  return null;
13
21
  }
@@ -16,7 +24,17 @@ var renderCustomizedLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, perce
16
24
  const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);
17
25
  const ncy = Number(cy);
18
26
  const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);
19
- return /* @__PURE__ */ jsxRuntime.jsx("text", { x, y, fill, textAnchor: x > ncx ? "start" : "end", dominantBaseline: "central", children: `${((percent ?? 0) * 100).toFixed(0)}%` });
27
+ return /* @__PURE__ */ jsxRuntime.jsx(
28
+ "text",
29
+ {
30
+ x,
31
+ y,
32
+ fill,
33
+ textAnchor: x > ncx ? "start" : "end",
34
+ dominantBaseline: "central",
35
+ children: `${((percent ?? 0) * 100).toFixed(0)}%`
36
+ }
37
+ );
20
38
  };
21
39
  function PieChart({
22
40
  appearance,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/charts/pie/Pie.tsx"],"names":["jsx","ChartFrame","RechartsPieChart","Tooltip","Legend","Pie","props"],"mappings":"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","file":"pie.js","sourcesContent":["\"use client\";\n\nimport {\n Legend,\n Pie,\n PieLabelRenderProps,\n PieChart as RechartsPieChart,\n Tooltip,\n} from \"recharts\";\n\nimport { ChartFrame } from \"../shared/chart-frame\";\nimport type { PieChartProps } from \"../shared/types\";\n\nconst RADIAN = Math.PI / 180;\n\nconst renderCustomizedLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, percent, fill }: PieLabelRenderProps) => {\n if (cx == null || cy == null || innerRadius == null || outerRadius == null) {\n return null;\n }\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const ncx = Number(cx);\n const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);\n const ncy = Number(cy);\n const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);\n\n return (\n <text x={x} y={y} fill={fill} textAnchor={x > ncx ? 'start' : 'end'} dominantBaseline=\"central\">\n {`${((percent ?? 0) * 100).toFixed(0)}%`}\n </text>\n );\n};\n\nexport function PieChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n cornerRadius = 10,\n data,\n dataKey,\n density,\n emptyState = null,\n height = 320,\n label = false,\n labelLine = false,\n labelColor = \"white\",\n nameKey,\n paddingAngle = 2,\n showLegend = true,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stroke = \"#000000\",\n fill = \"#0d3b66\",\n innerRadius,\n outerRadius,\n shape,\n style,\n ...props\n}: PieChartProps<TDatum>) {\n const hasData = data.length > 0;\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsPieChart>\n {showTooltip ? (\n <Tooltip\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend color=\"currentColor\" /> : null}\n <Pie\n data={data}\n dataKey={String(dataKey)}\n nameKey={String(nameKey)}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={paddingAngle}\n cornerRadius={cornerRadius}\n labelLine={labelLine}\n label={label ? (props: PieLabelRenderProps) => renderCustomizedLabel({...props, fill: labelColor}) : undefined}\n stroke={stroke}\n fill={fill}\n shape={shape}\n />\n </RechartsPieChart>\n </ChartFrame>\n );\n}\n\nPieChart.displayName = \"PieChart\";\n"]}
1
+ {"version":3,"sources":["../../src/charts/pie/Pie.tsx"],"names":["jsx","ChartFrame","RechartsPieChart","Tooltip","Legend","Pie","props"],"mappings":"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","file":"pie.js","sourcesContent":["\"use client\";\n\nimport {\n Legend,\n Pie,\n PieLabelRenderProps,\n PieChart as RechartsPieChart,\n Tooltip,\n} from \"recharts\";\n\nimport { ChartFrame } from \"../shared/chart-frame\";\nimport type { PieChartProps } from \"../shared/types\";\n\nconst RADIAN = Math.PI / 180;\n\nconst renderCustomizedLabel = ({\n cx,\n cy,\n midAngle,\n innerRadius,\n outerRadius,\n percent,\n fill,\n}: PieLabelRenderProps) => {\n if (cx == null || cy == null || innerRadius == null || outerRadius == null) {\n return null;\n }\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const ncx = Number(cx);\n const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);\n const ncy = Number(cy);\n const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);\n\n return (\n <text\n x={x}\n y={y}\n fill={fill}\n textAnchor={x > ncx ? \"start\" : \"end\"}\n dominantBaseline=\"central\"\n >\n {`${((percent ?? 0) * 100).toFixed(0)}%`}\n </text>\n );\n};\n\nexport function PieChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n cornerRadius = 10,\n data,\n dataKey,\n density,\n emptyState = null,\n height = 320,\n label = false,\n labelLine = false,\n labelColor = \"white\",\n nameKey,\n paddingAngle = 2,\n showLegend = true,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stroke = \"#000000\",\n fill = \"#0d3b66\",\n innerRadius,\n outerRadius,\n shape,\n style,\n ...props\n}: PieChartProps<TDatum>) {\n const hasData = data.length > 0;\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsPieChart>\n {showTooltip ? (\n <Tooltip\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend color=\"currentColor\" /> : null}\n <Pie\n data={data}\n dataKey={String(dataKey)}\n nameKey={String(nameKey)}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={paddingAngle}\n cornerRadius={cornerRadius}\n labelLine={labelLine}\n label={\n label\n ? (props: PieLabelRenderProps) =>\n renderCustomizedLabel({ ...props, fill: labelColor })\n : undefined\n }\n stroke={stroke}\n fill={fill}\n shape={shape}\n />\n </RechartsPieChart>\n </ChartFrame>\n );\n}\n\nPieChart.displayName = \"PieChart\";\n"]}
@@ -6,7 +6,15 @@ import { PieChart as PieChart$1, Tooltip, Legend, Pie } from 'recharts';
6
6
  import { jsx, jsxs } from 'react/jsx-runtime';
7
7
 
8
8
  var RADIAN = Math.PI / 180;
9
- var renderCustomizedLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, percent, fill }) => {
9
+ var renderCustomizedLabel = ({
10
+ cx,
11
+ cy,
12
+ midAngle,
13
+ innerRadius,
14
+ outerRadius,
15
+ percent,
16
+ fill
17
+ }) => {
10
18
  if (cx == null || cy == null || innerRadius == null || outerRadius == null) {
11
19
  return null;
12
20
  }
@@ -15,7 +23,17 @@ var renderCustomizedLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, perce
15
23
  const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);
16
24
  const ncy = Number(cy);
17
25
  const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);
18
- return /* @__PURE__ */ jsx("text", { x, y, fill, textAnchor: x > ncx ? "start" : "end", dominantBaseline: "central", children: `${((percent ?? 0) * 100).toFixed(0)}%` });
26
+ return /* @__PURE__ */ jsx(
27
+ "text",
28
+ {
29
+ x,
30
+ y,
31
+ fill,
32
+ textAnchor: x > ncx ? "start" : "end",
33
+ dominantBaseline: "central",
34
+ children: `${((percent ?? 0) * 100).toFixed(0)}%`
35
+ }
36
+ );
19
37
  };
20
38
  function PieChart({
21
39
  appearance,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/charts/pie/Pie.tsx"],"names":["RechartsPieChart","props"],"mappings":"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","file":"pie.mjs","sourcesContent":["\"use client\";\n\nimport {\n Legend,\n Pie,\n PieLabelRenderProps,\n PieChart as RechartsPieChart,\n Tooltip,\n} from \"recharts\";\n\nimport { ChartFrame } from \"../shared/chart-frame\";\nimport type { PieChartProps } from \"../shared/types\";\n\nconst RADIAN = Math.PI / 180;\n\nconst renderCustomizedLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, percent, fill }: PieLabelRenderProps) => {\n if (cx == null || cy == null || innerRadius == null || outerRadius == null) {\n return null;\n }\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const ncx = Number(cx);\n const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);\n const ncy = Number(cy);\n const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);\n\n return (\n <text x={x} y={y} fill={fill} textAnchor={x > ncx ? 'start' : 'end'} dominantBaseline=\"central\">\n {`${((percent ?? 0) * 100).toFixed(0)}%`}\n </text>\n );\n};\n\nexport function PieChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n cornerRadius = 10,\n data,\n dataKey,\n density,\n emptyState = null,\n height = 320,\n label = false,\n labelLine = false,\n labelColor = \"white\",\n nameKey,\n paddingAngle = 2,\n showLegend = true,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stroke = \"#000000\",\n fill = \"#0d3b66\",\n innerRadius,\n outerRadius,\n shape,\n style,\n ...props\n}: PieChartProps<TDatum>) {\n const hasData = data.length > 0;\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsPieChart>\n {showTooltip ? (\n <Tooltip\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend color=\"currentColor\" /> : null}\n <Pie\n data={data}\n dataKey={String(dataKey)}\n nameKey={String(nameKey)}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={paddingAngle}\n cornerRadius={cornerRadius}\n labelLine={labelLine}\n label={label ? (props: PieLabelRenderProps) => renderCustomizedLabel({...props, fill: labelColor}) : undefined}\n stroke={stroke}\n fill={fill}\n shape={shape}\n />\n </RechartsPieChart>\n </ChartFrame>\n );\n}\n\nPieChart.displayName = \"PieChart\";\n"]}
1
+ {"version":3,"sources":["../../src/charts/pie/Pie.tsx"],"names":["RechartsPieChart","props"],"mappings":"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","file":"pie.mjs","sourcesContent":["\"use client\";\n\nimport {\n Legend,\n Pie,\n PieLabelRenderProps,\n PieChart as RechartsPieChart,\n Tooltip,\n} from \"recharts\";\n\nimport { ChartFrame } from \"../shared/chart-frame\";\nimport type { PieChartProps } from \"../shared/types\";\n\nconst RADIAN = Math.PI / 180;\n\nconst renderCustomizedLabel = ({\n cx,\n cy,\n midAngle,\n innerRadius,\n outerRadius,\n percent,\n fill,\n}: PieLabelRenderProps) => {\n if (cx == null || cy == null || innerRadius == null || outerRadius == null) {\n return null;\n }\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const ncx = Number(cx);\n const x = ncx + radius * Math.cos(-(midAngle ?? 0) * RADIAN);\n const ncy = Number(cy);\n const y = ncy + radius * Math.sin(-(midAngle ?? 0) * RADIAN);\n\n return (\n <text\n x={x}\n y={y}\n fill={fill}\n textAnchor={x > ncx ? \"start\" : \"end\"}\n dominantBaseline=\"central\"\n >\n {`${((percent ?? 0) * 100).toFixed(0)}%`}\n </text>\n );\n};\n\nexport function PieChart<\n TDatum extends Record<string, number | string | null | undefined>,\n>({\n appearance,\n className,\n containerStyle,\n cornerRadius = 10,\n data,\n dataKey,\n density,\n emptyState = null,\n height = 320,\n label = false,\n labelLine = false,\n labelColor = \"white\",\n nameKey,\n paddingAngle = 2,\n showLegend = true,\n showTooltip = true,\n tooltipColor = \"#0f172a\",\n stroke = \"#000000\",\n fill = \"#0d3b66\",\n innerRadius,\n outerRadius,\n shape,\n style,\n ...props\n}: PieChartProps<TDatum>) {\n const hasData = data.length > 0;\n\n return (\n <ChartFrame\n appearance={appearance}\n className={className}\n containerStyle={containerStyle}\n density={density}\n emptyState={emptyState}\n hasData={hasData}\n height={height}\n style={style}\n {...props}\n >\n <RechartsPieChart>\n {showTooltip ? (\n <Tooltip\n contentStyle={{ color: tooltipColor }}\n labelStyle={{ color: tooltipColor }}\n itemStyle={{ color: tooltipColor }}\n />\n ) : null}\n {showLegend ? <Legend color=\"currentColor\" /> : null}\n <Pie\n data={data}\n dataKey={String(dataKey)}\n nameKey={String(nameKey)}\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={paddingAngle}\n cornerRadius={cornerRadius}\n labelLine={labelLine}\n label={\n label\n ? (props: PieLabelRenderProps) =>\n renderCustomizedLabel({ ...props, fill: labelColor })\n : undefined\n }\n stroke={stroke}\n fill={fill}\n shape={shape}\n />\n </RechartsPieChart>\n </ChartFrame>\n );\n}\n\nPieChart.displayName = \"PieChart\";\n"]}