@zentauri-ui/zentauri-components 1.8.42 → 1.9.1

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 (649) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +9 -8
  3. package/cli/registry.json +0 -1
  4. package/dist/animations/blur-in.js +2 -2
  5. package/dist/animations/blur-in.mjs +1 -1
  6. package/dist/animations/blur-out.js +2 -2
  7. package/dist/animations/blur-out.mjs +1 -1
  8. package/dist/animations/bounce.js +2 -2
  9. package/dist/animations/bounce.mjs +1 -1
  10. package/dist/animations/fade-down.js +2 -2
  11. package/dist/animations/fade-down.mjs +1 -1
  12. package/dist/animations/fade-in.js +2 -2
  13. package/dist/animations/fade-in.mjs +1 -1
  14. package/dist/animations/fade-left.js +2 -2
  15. package/dist/animations/fade-left.mjs +1 -1
  16. package/dist/animations/fade-out.js +2 -2
  17. package/dist/animations/fade-out.mjs +1 -1
  18. package/dist/animations/fade-right.js +2 -2
  19. package/dist/animations/fade-right.mjs +1 -1
  20. package/dist/animations/fade-up.js +2 -2
  21. package/dist/animations/fade-up.mjs +1 -1
  22. package/dist/animations/flip-in.js +2 -2
  23. package/dist/animations/flip-in.mjs +1 -1
  24. package/dist/animations/flip.js +2 -2
  25. package/dist/animations/flip.mjs +1 -1
  26. package/dist/animations/float.js +2 -2
  27. package/dist/animations/float.mjs +1 -1
  28. package/dist/animations/hover-lift.js +2 -2
  29. package/dist/animations/hover-lift.mjs +1 -1
  30. package/dist/animations/hover-scale.js +2 -2
  31. package/dist/animations/hover-scale.mjs +1 -1
  32. package/dist/animations/magnetic.js +2 -2
  33. package/dist/animations/magnetic.mjs +1 -1
  34. package/dist/animations/parallax.js +2 -2
  35. package/dist/animations/parallax.mjs +1 -1
  36. package/dist/animations/ping.js +2 -2
  37. package/dist/animations/ping.mjs +1 -1
  38. package/dist/animations/pop-in.js +2 -2
  39. package/dist/animations/pop-in.mjs +1 -1
  40. package/dist/animations/press.js +2 -2
  41. package/dist/animations/press.mjs +1 -1
  42. package/dist/animations/progress.js +2 -2
  43. package/dist/animations/progress.mjs +1 -1
  44. package/dist/animations/pulse.js +2 -2
  45. package/dist/animations/pulse.mjs +1 -1
  46. package/dist/animations/reorder.js +2 -2
  47. package/dist/animations/reorder.mjs +1 -1
  48. package/dist/animations/reveal-blur.js +2 -2
  49. package/dist/animations/reveal-blur.mjs +1 -1
  50. package/dist/animations/reveal-down.js +2 -2
  51. package/dist/animations/reveal-down.mjs +1 -1
  52. package/dist/animations/reveal-left.js +2 -2
  53. package/dist/animations/reveal-left.mjs +1 -1
  54. package/dist/animations/reveal-right.js +2 -2
  55. package/dist/animations/reveal-right.mjs +1 -1
  56. package/dist/animations/reveal-up.js +2 -2
  57. package/dist/animations/reveal-up.mjs +1 -1
  58. package/dist/animations/rotate-in.js +2 -2
  59. package/dist/animations/rotate-in.mjs +1 -1
  60. package/dist/animations/scale-in.js +2 -2
  61. package/dist/animations/scale-in.mjs +1 -1
  62. package/dist/animations/scale-out.js +2 -2
  63. package/dist/animations/scale-out.mjs +1 -1
  64. package/dist/animations/shake.js +2 -2
  65. package/dist/animations/shake.mjs +1 -1
  66. package/dist/animations/shared/create-motion-animation.d.ts.map +1 -1
  67. package/dist/animations/skeleton-shimmer.js +2 -2
  68. package/dist/animations/skeleton-shimmer.mjs +1 -1
  69. package/dist/animations/slide-down.js +2 -2
  70. package/dist/animations/slide-down.mjs +1 -1
  71. package/dist/animations/slide-left.js +2 -2
  72. package/dist/animations/slide-left.mjs +1 -1
  73. package/dist/animations/slide-right.js +2 -2
  74. package/dist/animations/slide-right.mjs +1 -1
  75. package/dist/animations/slide-up.js +2 -2
  76. package/dist/animations/slide-up.mjs +1 -1
  77. package/dist/animations/spin.js +2 -2
  78. package/dist/animations/spin.mjs +1 -1
  79. package/dist/animations/text-reveal.js +2 -2
  80. package/dist/animations/text-reveal.mjs +1 -1
  81. package/dist/animations/text-shimmer.js +2 -2
  82. package/dist/animations/text-shimmer.mjs +1 -1
  83. package/dist/animations/tilt.js +2 -2
  84. package/dist/animations/tilt.mjs +1 -1
  85. package/dist/animations/wiggle.js +2 -2
  86. package/dist/animations/wiggle.mjs +1 -1
  87. package/dist/chunk-2RBUROXJ.js +316 -0
  88. package/dist/chunk-2RBUROXJ.js.map +1 -0
  89. package/dist/{chunk-3W224B3M.js → chunk-3IBWZM52.js} +23 -3
  90. package/dist/chunk-3IBWZM52.js.map +1 -0
  91. package/dist/{chunk-466QDL44.js → chunk-3RHJJZIT.js} +24 -3
  92. package/dist/chunk-3RHJJZIT.js.map +1 -0
  93. package/dist/{chunk-LNYCEPW5.js → chunk-4GVMPQZS.js} +23 -2
  94. package/dist/chunk-4GVMPQZS.js.map +1 -0
  95. package/dist/chunk-4WRCXG5E.mjs +942 -0
  96. package/dist/chunk-4WRCXG5E.mjs.map +1 -0
  97. package/dist/chunk-6GPUHFXI.mjs +299 -0
  98. package/dist/chunk-6GPUHFXI.mjs.map +1 -0
  99. package/dist/{chunk-HLG2YJFZ.mjs → chunk-6ONKAOI7.mjs} +24 -3
  100. package/dist/chunk-6ONKAOI7.mjs.map +1 -0
  101. package/dist/chunk-6VZGM4DI.mjs +170 -0
  102. package/dist/chunk-6VZGM4DI.mjs.map +1 -0
  103. package/dist/{chunk-2ZKW2E7B.mjs → chunk-7PIOCFV3.mjs} +34 -4
  104. package/dist/chunk-7PIOCFV3.mjs.map +1 -0
  105. package/dist/{chunk-IM6KN77X.mjs → chunk-7XHWUEQR.mjs} +46 -4
  106. package/dist/chunk-7XHWUEQR.mjs.map +1 -0
  107. package/dist/{chunk-QHEHBC6M.js → chunk-AFBKMQMK.js} +46 -4
  108. package/dist/chunk-AFBKMQMK.js.map +1 -0
  109. package/dist/{chunk-NNZXBL7R.mjs → chunk-AS34PVUG.mjs} +24 -3
  110. package/dist/chunk-AS34PVUG.mjs.map +1 -0
  111. package/dist/{chunk-TTTYW3TR.js → chunk-B3LCKPBX.js} +23 -2
  112. package/dist/chunk-B3LCKPBX.js.map +1 -0
  113. package/dist/chunk-CARQELOX.mjs +101 -0
  114. package/dist/chunk-CARQELOX.mjs.map +1 -0
  115. package/dist/{chunk-CIEZFHCO.mjs → chunk-CCVQ5KX6.mjs} +24 -3
  116. package/dist/chunk-CCVQ5KX6.mjs.map +1 -0
  117. package/dist/{chunk-UR7TNW45.mjs → chunk-DBW25HOR.mjs} +68 -5
  118. package/dist/chunk-DBW25HOR.mjs.map +1 -0
  119. package/dist/chunk-DMDCXYNN.js +105 -0
  120. package/dist/chunk-DMDCXYNN.js.map +1 -0
  121. package/dist/{chunk-H7WDA6U6.mjs → chunk-EKLWWV3G.mjs} +23 -2
  122. package/dist/chunk-EKLWWV3G.mjs.map +1 -0
  123. package/dist/{chunk-OZHETX4J.mjs → chunk-ENV73575.mjs} +24 -3
  124. package/dist/chunk-ENV73575.mjs.map +1 -0
  125. package/dist/{chunk-7OVJXYSS.mjs → chunk-F4BM6LX2.mjs} +2 -2
  126. package/dist/{chunk-7OVJXYSS.mjs.map → chunk-F4BM6LX2.mjs.map} +1 -1
  127. package/dist/{chunk-ZX2IBIZT.js → chunk-FWY22BZZ.js} +46 -4
  128. package/dist/chunk-FWY22BZZ.js.map +1 -0
  129. package/dist/chunk-HI54NLVM.js +179 -0
  130. package/dist/chunk-HI54NLVM.js.map +1 -0
  131. package/dist/{chunk-BU2MPXPZ.js → chunk-IW2E4MLG.js} +24 -3
  132. package/dist/chunk-IW2E4MLG.js.map +1 -0
  133. package/dist/{chunk-DEZRB6DS.mjs → chunk-IZAQBJKT.mjs} +46 -4
  134. package/dist/chunk-IZAQBJKT.mjs.map +1 -0
  135. package/dist/{chunk-VHVQELWF.js → chunk-JGSQZZHF.js} +23 -3
  136. package/dist/chunk-JGSQZZHF.js.map +1 -0
  137. package/dist/{chunk-DFCDLVZA.js → chunk-JRB22VVK.js} +23 -2
  138. package/dist/chunk-JRB22VVK.js.map +1 -0
  139. package/dist/{chunk-XYEMP4K7.js → chunk-KC77BXBC.js} +24 -3
  140. package/dist/chunk-KC77BXBC.js.map +1 -0
  141. package/dist/{chunk-EIRCCTNA.js → chunk-KIAYTBS5.js} +24 -3
  142. package/dist/chunk-KIAYTBS5.js.map +1 -0
  143. package/dist/{chunk-UY65KX3M.js → chunk-KLGB3FYE.js} +46 -4
  144. package/dist/chunk-KLGB3FYE.js.map +1 -0
  145. package/dist/{chunk-C6NA452Q.mjs → chunk-NUYNJV5U.mjs} +3 -3
  146. package/dist/{chunk-C6NA452Q.mjs.map → chunk-NUYNJV5U.mjs.map} +1 -1
  147. package/dist/{chunk-EZCYSFML.mjs → chunk-O233I5N7.mjs} +23 -2
  148. package/dist/chunk-O233I5N7.mjs.map +1 -0
  149. package/dist/chunk-OEDD43IT.mjs +141 -0
  150. package/dist/chunk-OEDD43IT.mjs.map +1 -0
  151. package/dist/{chunk-3F4FF2H4.mjs → chunk-OY3YJGOX.mjs} +23 -3
  152. package/dist/chunk-OY3YJGOX.mjs.map +1 -0
  153. package/dist/{chunk-INXWZ4DS.js → chunk-PZBTZGJE.js} +46 -4
  154. package/dist/chunk-PZBTZGJE.js.map +1 -0
  155. package/dist/{chunk-2F7P4EJQ.js → chunk-QCHHXFJQ.js} +25 -4
  156. package/dist/chunk-QCHHXFJQ.js.map +1 -0
  157. package/dist/{chunk-CSFLMMAT.mjs → chunk-REDZL4DY.mjs} +23 -2
  158. package/dist/chunk-REDZL4DY.mjs.map +1 -0
  159. package/dist/{chunk-BJSWQQSC.mjs → chunk-RFBTMJ2Z.mjs} +24 -3
  160. package/dist/chunk-RFBTMJ2Z.mjs.map +1 -0
  161. package/dist/chunk-S4NQTWMW.mjs +121 -0
  162. package/dist/chunk-S4NQTWMW.mjs.map +1 -0
  163. package/dist/{chunk-X3O45MPI.js → chunk-SRLYXLUU.js} +44 -2
  164. package/dist/chunk-SRLYXLUU.js.map +1 -0
  165. package/dist/{chunk-6HPS3ZOP.js → chunk-U7FZ5RMV.js} +68 -5
  166. package/dist/chunk-U7FZ5RMV.js.map +1 -0
  167. package/dist/{chunk-OL3BJSRC.mjs → chunk-UMXCV5IT.mjs} +68 -5
  168. package/dist/chunk-UMXCV5IT.mjs.map +1 -0
  169. package/dist/{chunk-IL4LH2XX.js → chunk-UNPKDNLA.js} +68 -5
  170. package/dist/chunk-UNPKDNLA.js.map +1 -0
  171. package/dist/{chunk-OKCC7E36.js → chunk-UOZZUWIX.js} +6 -6
  172. package/dist/{chunk-OKCC7E36.js.map → chunk-UOZZUWIX.js.map} +1 -1
  173. package/dist/{chunk-ORFI4BCJ.mjs → chunk-URXYF25P.mjs} +44 -2
  174. package/dist/chunk-URXYF25P.mjs.map +1 -0
  175. package/dist/{chunk-5565GZ4T.js → chunk-VGVB5XZX.js} +24 -3
  176. package/dist/chunk-VGVB5XZX.js.map +1 -0
  177. package/dist/{chunk-PYUZOVLY.js → chunk-VJSME7ML.js} +23 -2
  178. package/dist/{chunk-EZCYSFML.mjs.map → chunk-VJSME7ML.js.map} +1 -1
  179. package/dist/{chunk-SSJXWD2M.mjs → chunk-VO7LNOC5.mjs} +46 -4
  180. package/dist/chunk-VO7LNOC5.mjs.map +1 -0
  181. package/dist/{chunk-ECLHBSC6.mjs → chunk-VX56EVPF.mjs} +25 -4
  182. package/dist/chunk-VX56EVPF.mjs.map +1 -0
  183. package/dist/{chunk-R2JJTREQ.mjs → chunk-W73CZFMA.mjs} +23 -3
  184. package/dist/chunk-W73CZFMA.mjs.map +1 -0
  185. package/dist/{chunk-3J3FYIG3.js → chunk-WRHUWKZS.js} +34 -4
  186. package/dist/chunk-WRHUWKZS.js.map +1 -0
  187. package/dist/{chunk-NSJ6KGW2.js → chunk-WVBFSJEB.js} +24 -3
  188. package/dist/chunk-WVBFSJEB.js.map +1 -0
  189. package/dist/chunk-XIG2QDVN.js +145 -0
  190. package/dist/chunk-XIG2QDVN.js.map +1 -0
  191. package/dist/{chunk-HNLQXHSQ.mjs → chunk-XJFDGKZO.mjs} +24 -3
  192. package/dist/chunk-XJFDGKZO.mjs.map +1 -0
  193. package/dist/{chunk-GRJFGIZC.mjs → chunk-XOYCFLEZ.mjs} +46 -4
  194. package/dist/chunk-XOYCFLEZ.mjs.map +1 -0
  195. package/dist/chunk-XYKDSHRG.js +944 -0
  196. package/dist/chunk-XYKDSHRG.js.map +1 -0
  197. package/dist/{chunk-UROKWFPX.mjs → chunk-YFXGRV7X.mjs} +23 -2
  198. package/dist/chunk-YFXGRV7X.mjs.map +1 -0
  199. package/dist/{chunk-R5LL56ZO.js → chunk-ZHXYGUMA.js} +2 -2
  200. package/dist/{chunk-R5LL56ZO.js.map → chunk-ZHXYGUMA.js.map} +1 -1
  201. package/dist/chunk-ZZ53RJNH.js +128 -0
  202. package/dist/chunk-ZZ53RJNH.js.map +1 -0
  203. package/dist/design-system/accordion.d.ts +42 -0
  204. package/dist/design-system/accordion.d.ts.map +1 -1
  205. package/dist/design-system/alert.d.ts +21 -0
  206. package/dist/design-system/alert.d.ts.map +1 -1
  207. package/dist/design-system/animated-number.d.ts +21 -0
  208. package/dist/design-system/animated-number.d.ts.map +1 -1
  209. package/dist/design-system/avatar.d.ts +21 -0
  210. package/dist/design-system/avatar.d.ts.map +1 -1
  211. package/dist/design-system/badge.d.ts +42 -0
  212. package/dist/design-system/badge.d.ts.map +1 -1
  213. package/dist/design-system/breadcrumb.d.ts +21 -0
  214. package/dist/design-system/breadcrumb.d.ts.map +1 -1
  215. package/dist/design-system/button.d.ts +22 -1
  216. package/dist/design-system/button.d.ts.map +1 -1
  217. package/dist/design-system/card.d.ts +21 -0
  218. package/dist/design-system/card.d.ts.map +1 -1
  219. package/dist/design-system/checkbox.d.ts +22 -1
  220. package/dist/design-system/checkbox.d.ts.map +1 -1
  221. package/dist/design-system/command.d.ts +21 -0
  222. package/dist/design-system/command.d.ts.map +1 -1
  223. package/dist/design-system/context-menu.d.ts +21 -0
  224. package/dist/design-system/context-menu.d.ts.map +1 -1
  225. package/dist/design-system/copy-button.d.ts +22 -1
  226. package/dist/design-system/copy-button.d.ts.map +1 -1
  227. package/dist/design-system/divider.d.ts +21 -0
  228. package/dist/design-system/divider.d.ts.map +1 -1
  229. package/dist/design-system/drawer.d.ts +42 -0
  230. package/dist/design-system/drawer.d.ts.map +1 -1
  231. package/dist/design-system/dropdown.d.ts +42 -0
  232. package/dist/design-system/dropdown.d.ts.map +1 -1
  233. package/dist/design-system/dynamic-stepper.d.ts +98 -6
  234. package/dist/design-system/dynamic-stepper.d.ts.map +1 -1
  235. package/dist/design-system/empty-state.d.ts +21 -0
  236. package/dist/design-system/empty-state.d.ts.map +1 -1
  237. package/dist/design-system/file-upload.d.ts +21 -0
  238. package/dist/design-system/file-upload.d.ts.map +1 -1
  239. package/dist/design-system/index.d.ts +0 -1
  240. package/dist/design-system/index.d.ts.map +1 -1
  241. package/dist/design-system/inputs.d.ts +173 -0
  242. package/dist/design-system/inputs.d.ts.map +1 -1
  243. package/dist/design-system/kbd.d.ts +23 -1
  244. package/dist/design-system/kbd.d.ts.map +1 -1
  245. package/dist/design-system/marquee.d.ts +30 -9
  246. package/dist/design-system/marquee.d.ts.map +1 -1
  247. package/dist/design-system/modal.d.ts +42 -0
  248. package/dist/design-system/modal.d.ts.map +1 -1
  249. package/dist/design-system/otp-input.d.ts +21 -0
  250. package/dist/design-system/otp-input.d.ts.map +1 -1
  251. package/dist/design-system/pagination.d.ts +21 -0
  252. package/dist/design-system/pagination.d.ts.map +1 -1
  253. package/dist/design-system/popover.d.ts +20 -0
  254. package/dist/design-system/popover.d.ts.map +1 -1
  255. package/dist/design-system/progress.d.ts +21 -0
  256. package/dist/design-system/progress.d.ts.map +1 -1
  257. package/dist/design-system/radio-group.d.ts +21 -0
  258. package/dist/design-system/radio-group.d.ts.map +1 -1
  259. package/dist/design-system/rating.d.ts +21 -0
  260. package/dist/design-system/rating.d.ts.map +1 -1
  261. package/dist/design-system/scroll-area.d.ts +21 -0
  262. package/dist/design-system/scroll-area.d.ts.map +1 -1
  263. package/dist/design-system/select.d.ts +63 -0
  264. package/dist/design-system/select.d.ts.map +1 -1
  265. package/dist/design-system/skeleton.d.ts +63 -0
  266. package/dist/design-system/skeleton.d.ts.map +1 -1
  267. package/dist/design-system/slider.d.ts +22 -1
  268. package/dist/design-system/slider.d.ts.map +1 -1
  269. package/dist/design-system/spinner.d.ts +21 -0
  270. package/dist/design-system/spinner.d.ts.map +1 -1
  271. package/dist/design-system/table.d.ts +63 -0
  272. package/dist/design-system/table.d.ts.map +1 -1
  273. package/dist/design-system/tabs.d.ts +21 -0
  274. package/dist/design-system/tabs.d.ts.map +1 -1
  275. package/dist/design-system/timeline.d.ts +30 -9
  276. package/dist/design-system/timeline.d.ts.map +1 -1
  277. package/dist/design-system/toast.d.ts +21 -0
  278. package/dist/design-system/toast.d.ts.map +1 -1
  279. package/dist/design-system/toggle.d.ts +30 -0
  280. package/dist/design-system/toggle.d.ts.map +1 -1
  281. package/dist/design-system/tooltip.d.ts +20 -0
  282. package/dist/design-system/tooltip.d.ts.map +1 -1
  283. package/dist/design-system/tree-view.d.ts +42 -0
  284. package/dist/design-system/tree-view.d.ts.map +1 -1
  285. package/dist/design-system/typography.d.ts +1 -1
  286. package/dist/test-utils/axe.d.ts +30 -0
  287. package/dist/test-utils/axe.d.ts.map +1 -0
  288. package/dist/ui/accordion/animated.js +7 -7
  289. package/dist/ui/accordion/animated.mjs +2 -2
  290. package/dist/ui/accordion/variants.d.ts +2 -2
  291. package/dist/ui/accordion.js +9 -9
  292. package/dist/ui/accordion.mjs +2 -2
  293. package/dist/ui/alert/animated.js +2 -2
  294. package/dist/ui/alert/animated.mjs +1 -1
  295. package/dist/ui/alert/variants.d.ts +1 -1
  296. package/dist/ui/alert.js +10 -10
  297. package/dist/ui/alert.mjs +2 -2
  298. package/dist/ui/animated-number/variants.d.ts +1 -1
  299. package/dist/ui/animated-number.js +21 -0
  300. package/dist/ui/animated-number.js.map +1 -1
  301. package/dist/ui/animated-number.mjs +21 -0
  302. package/dist/ui/animated-number.mjs.map +1 -1
  303. package/dist/ui/avatar/animated.js +5 -5
  304. package/dist/ui/avatar/animated.mjs +2 -2
  305. package/dist/ui/avatar/variants.d.ts +1 -1
  306. package/dist/ui/avatar.js +9 -9
  307. package/dist/ui/avatar.mjs +2 -2
  308. package/dist/ui/badge/animated.js +2 -2
  309. package/dist/ui/badge/animated.mjs +1 -1
  310. package/dist/ui/badge/variants.d.ts +22 -1
  311. package/dist/ui/badge/variants.d.ts.map +1 -1
  312. package/dist/ui/badge.js +4 -4
  313. package/dist/ui/badge.mjs +2 -2
  314. package/dist/ui/breadcrumb/variants.d.ts +1 -1
  315. package/dist/ui/breadcrumb.js +21 -0
  316. package/dist/ui/breadcrumb.js.map +1 -1
  317. package/dist/ui/breadcrumb.mjs +21 -0
  318. package/dist/ui/breadcrumb.mjs.map +1 -1
  319. package/dist/ui/buttons/animated.js +3 -3
  320. package/dist/ui/buttons/animated.mjs +1 -1
  321. package/dist/ui/buttons/variants.d.ts +1 -1
  322. package/dist/ui/buttons.js +4 -4
  323. package/dist/ui/buttons.mjs +2 -2
  324. package/dist/ui/card/animated.js +7 -7
  325. package/dist/ui/card/animated.mjs +2 -2
  326. package/dist/ui/card/variants.d.ts +1 -1
  327. package/dist/ui/card.js +12 -12
  328. package/dist/ui/card.mjs +2 -2
  329. package/dist/ui/checkbox/animated.js +4 -4
  330. package/dist/ui/checkbox/animated.mjs +1 -1
  331. package/dist/ui/checkbox/variants.d.ts +1 -1
  332. package/dist/ui/checkbox.js +8 -8
  333. package/dist/ui/checkbox.mjs +2 -2
  334. package/dist/ui/command/animated.js +2 -2
  335. package/dist/ui/command/animated.mjs +1 -1
  336. package/dist/ui/command/variants.d.ts +1 -1
  337. package/dist/ui/command.js +15 -15
  338. package/dist/ui/command.mjs +2 -2
  339. package/dist/ui/context-menu/variants.d.ts +1 -1
  340. package/dist/ui/context-menu.js +47 -26
  341. package/dist/ui/context-menu.js.map +1 -1
  342. package/dist/ui/context-menu.mjs +23 -2
  343. package/dist/ui/context-menu.mjs.map +1 -1
  344. package/dist/ui/copy-button/animated.js +2 -2
  345. package/dist/ui/copy-button/animated.mjs +1 -1
  346. package/dist/ui/copy-button/variants.d.ts +1 -1
  347. package/dist/ui/copy-button.js +3 -3
  348. package/dist/ui/copy-button.mjs +2 -2
  349. package/dist/ui/divider/animated.js +2 -2
  350. package/dist/ui/divider/animated.mjs +1 -1
  351. package/dist/ui/divider/variants.d.ts +2 -2
  352. package/dist/ui/divider.js +6 -6
  353. package/dist/ui/divider.mjs +2 -2
  354. package/dist/ui/drawer/animated.js +11 -11
  355. package/dist/ui/drawer/animated.mjs +2 -2
  356. package/dist/ui/drawer/variants.d.ts +2 -2
  357. package/dist/ui/drawer.js +11 -11
  358. package/dist/ui/drawer.mjs +1 -1
  359. package/dist/ui/dropdown/types.d.ts +2 -1
  360. package/dist/ui/dropdown/types.d.ts.map +1 -1
  361. package/dist/ui/dropdown/variants.d.ts +2 -2
  362. package/dist/ui/dropdown.js +9 -9
  363. package/dist/ui/dropdown.mjs +1 -1
  364. package/dist/ui/dynamic-stepper/variants.d.ts +2 -2
  365. package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -1
  366. package/dist/ui/dynamic-stepper.js +7 -8
  367. package/dist/ui/dynamic-stepper.js.map +1 -1
  368. package/dist/ui/dynamic-stepper.mjs +5 -6
  369. package/dist/ui/dynamic-stepper.mjs.map +1 -1
  370. package/dist/ui/empty-state/animated.js +2 -2
  371. package/dist/ui/empty-state/animated.mjs +1 -1
  372. package/dist/ui/empty-state/variants.d.ts +1 -1
  373. package/dist/ui/empty-state.js +10 -10
  374. package/dist/ui/empty-state.mjs +2 -2
  375. package/dist/ui/file-upload/variants.d.ts +1 -1
  376. package/dist/ui/file-upload.js +22 -1
  377. package/dist/ui/file-upload.js.map +1 -1
  378. package/dist/ui/file-upload.mjs +22 -1
  379. package/dist/ui/file-upload.mjs.map +1 -1
  380. package/dist/ui/inputs/animated.js +3 -3
  381. package/dist/ui/inputs/animated.mjs +1 -1
  382. package/dist/ui/inputs/variants.d.ts +1 -1
  383. package/dist/ui/inputs/variants.d.ts.map +1 -1
  384. package/dist/ui/inputs.js +4 -4
  385. package/dist/ui/inputs.mjs +2 -2
  386. package/dist/ui/kbd/animated.js +2 -2
  387. package/dist/ui/kbd/animated.mjs +1 -1
  388. package/dist/ui/kbd/variants.d.ts +1 -1
  389. package/dist/ui/kbd/variants.d.ts.map +1 -1
  390. package/dist/ui/kbd.js +4 -4
  391. package/dist/ui/kbd.mjs +2 -2
  392. package/dist/ui/marquee/variants.d.ts +1 -1
  393. package/dist/ui/marquee.js +30 -9
  394. package/dist/ui/marquee.js.map +1 -1
  395. package/dist/ui/marquee.mjs +30 -9
  396. package/dist/ui/marquee.mjs.map +1 -1
  397. package/dist/ui/modal/animated.js +4 -4
  398. package/dist/ui/modal/animated.mjs +1 -1
  399. package/dist/ui/modal/variants.d.ts +2 -2
  400. package/dist/ui/modal.js +12 -12
  401. package/dist/ui/modal.mjs +2 -2
  402. package/dist/ui/otp-input/variants.d.ts +1 -1
  403. package/dist/ui/otp-input.js +22 -1
  404. package/dist/ui/otp-input.js.map +1 -1
  405. package/dist/ui/otp-input.mjs +22 -1
  406. package/dist/ui/otp-input.mjs.map +1 -1
  407. package/dist/ui/pagination/types.d.ts +4 -2
  408. package/dist/ui/pagination/types.d.ts.map +1 -1
  409. package/dist/ui/pagination/variants.d.ts +1 -1
  410. package/dist/ui/pagination.js +26 -5
  411. package/dist/ui/pagination.js.map +1 -1
  412. package/dist/ui/pagination.mjs +23 -2
  413. package/dist/ui/pagination.mjs.map +1 -1
  414. package/dist/ui/popover/animated.js +4 -4
  415. package/dist/ui/popover/animated.mjs +1 -1
  416. package/dist/ui/popover/variants.d.ts +1 -1
  417. package/dist/ui/popover.js +7 -7
  418. package/dist/ui/popover.mjs +1 -1
  419. package/dist/ui/progress/animated.js +8 -8
  420. package/dist/ui/progress/animated.mjs +2 -2
  421. package/dist/ui/progress/variants.d.ts +1 -1
  422. package/dist/ui/progress.js +9 -9
  423. package/dist/ui/progress.mjs +2 -2
  424. package/dist/ui/radio-group/animated.js +7 -7
  425. package/dist/ui/radio-group/animated.mjs +1 -1
  426. package/dist/ui/radio-group/variants.d.ts +1 -1
  427. package/dist/ui/radio-group.js +11 -11
  428. package/dist/ui/radio-group.mjs +2 -2
  429. package/dist/ui/rating/variants.d.ts +1 -1
  430. package/dist/ui/rating.js +22 -1
  431. package/dist/ui/rating.js.map +1 -1
  432. package/dist/ui/rating.mjs +22 -1
  433. package/dist/ui/rating.mjs.map +1 -1
  434. package/dist/ui/scroll-area/variants.d.ts +1 -1
  435. package/dist/ui/scroll-area.js +22 -1
  436. package/dist/ui/scroll-area.js.map +1 -1
  437. package/dist/ui/scroll-area.mjs +22 -1
  438. package/dist/ui/scroll-area.mjs.map +1 -1
  439. package/dist/ui/search.js +2 -2
  440. package/dist/ui/search.mjs +1 -1
  441. package/dist/ui/select/select.d.ts +2 -2
  442. package/dist/ui/select/select.d.ts.map +1 -1
  443. package/dist/ui/select/types.d.ts +4 -1
  444. package/dist/ui/select/types.d.ts.map +1 -1
  445. package/dist/ui/select/variants.d.ts +3 -3
  446. package/dist/ui/select.js +92 -7
  447. package/dist/ui/select.js.map +1 -1
  448. package/dist/ui/select.mjs +93 -8
  449. package/dist/ui/select.mjs.map +1 -1
  450. package/dist/ui/skeleton/animated.js +8 -8
  451. package/dist/ui/skeleton/animated.mjs +1 -1
  452. package/dist/ui/skeleton/variants.d.ts +23 -2
  453. package/dist/ui/skeleton/variants.d.ts.map +1 -1
  454. package/dist/ui/skeleton.js +9 -9
  455. package/dist/ui/skeleton.mjs +1 -1
  456. package/dist/ui/slider/variants.d.ts +1 -1
  457. package/dist/ui/slider.js +23 -2
  458. package/dist/ui/slider.js.map +1 -1
  459. package/dist/ui/slider.mjs +23 -2
  460. package/dist/ui/slider.mjs.map +1 -1
  461. package/dist/ui/spinner/animated/variants.d.ts +1 -1
  462. package/dist/ui/spinner/animated.js +22 -1
  463. package/dist/ui/spinner/animated.js.map +1 -1
  464. package/dist/ui/spinner/animated.mjs +22 -1
  465. package/dist/ui/spinner/animated.mjs.map +1 -1
  466. package/dist/ui/table/animated.js +8 -8
  467. package/dist/ui/table/animated.mjs +2 -2
  468. package/dist/ui/table/variants.d.ts +3 -3
  469. package/dist/ui/table.js +14 -14
  470. package/dist/ui/table.mjs +1 -1
  471. package/dist/ui/tabs/animated.js +2 -2
  472. package/dist/ui/tabs/animated.mjs +1 -1
  473. package/dist/ui/tabs/types.d.ts +4 -2
  474. package/dist/ui/tabs/types.d.ts.map +1 -1
  475. package/dist/ui/tabs/variants.d.ts +1 -1
  476. package/dist/ui/tabs.js +9 -9
  477. package/dist/ui/tabs.mjs +1 -1
  478. package/dist/ui/timeline/animated.js +11 -11
  479. package/dist/ui/timeline/animated.mjs +2 -2
  480. package/dist/ui/timeline/variants.d.ts +1 -1
  481. package/dist/ui/timeline.js +14 -14
  482. package/dist/ui/timeline.mjs +2 -2
  483. package/dist/ui/toast/animated.js +7 -7
  484. package/dist/ui/toast/animated.mjs +1 -1
  485. package/dist/ui/toast/variants.d.ts +1 -1
  486. package/dist/ui/toast.js +12 -12
  487. package/dist/ui/toast.mjs +1 -1
  488. package/dist/ui/toggle/animated.js +4 -4
  489. package/dist/ui/toggle/animated.mjs +1 -1
  490. package/dist/ui/toggle/variants.d.ts +2 -2
  491. package/dist/ui/toggle.js +4 -4
  492. package/dist/ui/toggle.mjs +2 -2
  493. package/dist/ui/tooltip/animated.js +3 -3
  494. package/dist/ui/tooltip/animated.mjs +1 -1
  495. package/dist/ui/tooltip/types.d.ts +3 -1
  496. package/dist/ui/tooltip/types.d.ts.map +1 -1
  497. package/dist/ui/tooltip/variants.d.ts +1 -1
  498. package/dist/ui/tooltip.js +7 -7
  499. package/dist/ui/tooltip.mjs +1 -1
  500. package/dist/ui/tree-view/animated.js +2 -2
  501. package/dist/ui/tree-view/animated.mjs +1 -1
  502. package/dist/ui/tree-view/variants.d.ts +2 -2
  503. package/dist/ui/tree-view.js +5 -5
  504. package/dist/ui/tree-view.mjs +2 -2
  505. package/dist/ui/typography.js +1 -1
  506. package/dist/ui/typography.js.map +1 -1
  507. package/dist/ui/typography.mjs +1 -1
  508. package/dist/ui/typography.mjs.map +1 -1
  509. package/package.json +6 -3
  510. package/src/animations/animations.test.tsx +1 -2
  511. package/src/animations/shared/create-motion-animation.tsx +3 -1
  512. package/src/design-system/accordion.ts +66 -0
  513. package/src/design-system/alert.ts +33 -0
  514. package/src/design-system/animated-number.ts +33 -0
  515. package/src/design-system/avatar.ts +33 -0
  516. package/src/design-system/badge.ts +33 -0
  517. package/src/design-system/breadcrumb.ts +33 -0
  518. package/src/design-system/button.ts +34 -1
  519. package/src/design-system/card.ts +33 -0
  520. package/src/design-system/checkbox.ts +34 -1
  521. package/src/design-system/command.ts +33 -0
  522. package/src/design-system/context-menu.ts +21 -0
  523. package/src/design-system/copy-button.ts +34 -1
  524. package/src/design-system/divider.ts +33 -0
  525. package/src/design-system/drawer.ts +66 -0
  526. package/src/design-system/dropdown.ts +66 -0
  527. package/src/design-system/dynamic-stepper.ts +7 -29
  528. package/src/design-system/empty-state.ts +33 -0
  529. package/src/design-system/file-upload.ts +33 -0
  530. package/src/design-system/index.ts +0 -1
  531. package/src/design-system/inputs.ts +273 -0
  532. package/src/design-system/kbd.ts +37 -1
  533. package/src/design-system/marquee.ts +42 -9
  534. package/src/design-system/modal.ts +66 -0
  535. package/src/design-system/otp-input.ts +33 -0
  536. package/src/design-system/pagination.ts +33 -0
  537. package/src/design-system/popover.ts +31 -0
  538. package/src/design-system/progress.ts +33 -0
  539. package/src/design-system/radio-group.ts +33 -0
  540. package/src/design-system/rating.ts +33 -0
  541. package/src/design-system/scroll-area.ts +33 -0
  542. package/src/design-system/select.ts +99 -0
  543. package/src/design-system/skeleton.ts +75 -0
  544. package/src/design-system/slider.ts +34 -2
  545. package/src/design-system/spinner.ts +33 -0
  546. package/src/design-system/table.ts +99 -0
  547. package/src/design-system/tabs.ts +33 -0
  548. package/src/design-system/timeline.ts +42 -9
  549. package/src/design-system/toast.ts +33 -0
  550. package/src/design-system/toggle.ts +48 -0
  551. package/src/design-system/tooltip.ts +31 -0
  552. package/src/design-system/tree-view.ts +66 -0
  553. package/src/design-system/typography.ts +1 -1
  554. package/src/ui/accessibility/axe-core.test.tsx +139 -0
  555. package/src/ui/dropdown/types.ts +3 -27
  556. package/src/ui/dynamic-stepper/variants.ts +7 -3
  557. package/src/ui/inputs/variants.ts +492 -90
  558. package/src/ui/kbd/variants.ts +8 -10
  559. package/src/ui/pagination/types.ts +4 -2
  560. package/src/ui/select/select.test.tsx +24 -0
  561. package/src/ui/select/select.tsx +37 -4
  562. package/src/ui/select/types.ts +4 -23
  563. package/src/ui/tabs/types.ts +5 -42
  564. package/src/ui/tooltip/types.ts +4 -24
  565. package/dist/chunk-2F7P4EJQ.js.map +0 -1
  566. package/dist/chunk-2ZKW2E7B.mjs.map +0 -1
  567. package/dist/chunk-3F4FF2H4.mjs.map +0 -1
  568. package/dist/chunk-3J3FYIG3.js.map +0 -1
  569. package/dist/chunk-3W224B3M.js.map +0 -1
  570. package/dist/chunk-466QDL44.js.map +0 -1
  571. package/dist/chunk-5565GZ4T.js.map +0 -1
  572. package/dist/chunk-6HPS3ZOP.js.map +0 -1
  573. package/dist/chunk-7XCUMSCJ.mjs +0 -80
  574. package/dist/chunk-7XCUMSCJ.mjs.map +0 -1
  575. package/dist/chunk-BJSWQQSC.mjs.map +0 -1
  576. package/dist/chunk-BU2MPXPZ.js.map +0 -1
  577. package/dist/chunk-CIEZFHCO.mjs.map +0 -1
  578. package/dist/chunk-CJXGDY7A.mjs +0 -122
  579. package/dist/chunk-CJXGDY7A.mjs.map +0 -1
  580. package/dist/chunk-CSFLMMAT.mjs.map +0 -1
  581. package/dist/chunk-D3VZKUMH.mjs +0 -340
  582. package/dist/chunk-D3VZKUMH.mjs.map +0 -1
  583. package/dist/chunk-DEZRB6DS.mjs.map +0 -1
  584. package/dist/chunk-DFCDLVZA.js.map +0 -1
  585. package/dist/chunk-ECLHBSC6.mjs.map +0 -1
  586. package/dist/chunk-EIRCCTNA.js.map +0 -1
  587. package/dist/chunk-GRJFGIZC.mjs.map +0 -1
  588. package/dist/chunk-H7WDA6U6.mjs.map +0 -1
  589. package/dist/chunk-HLG2YJFZ.mjs.map +0 -1
  590. package/dist/chunk-HNLQXHSQ.mjs.map +0 -1
  591. package/dist/chunk-IL4LH2XX.js.map +0 -1
  592. package/dist/chunk-IM6KN77X.mjs.map +0 -1
  593. package/dist/chunk-INXWZ4DS.js.map +0 -1
  594. package/dist/chunk-LNYCEPW5.js.map +0 -1
  595. package/dist/chunk-NFEA5TN2.js +0 -158
  596. package/dist/chunk-NFEA5TN2.js.map +0 -1
  597. package/dist/chunk-NMQAHUYA.mjs +0 -149
  598. package/dist/chunk-NMQAHUYA.mjs.map +0 -1
  599. package/dist/chunk-NNZXBL7R.mjs.map +0 -1
  600. package/dist/chunk-NSJ6KGW2.js.map +0 -1
  601. package/dist/chunk-OL3BJSRC.mjs.map +0 -1
  602. package/dist/chunk-ORFI4BCJ.mjs.map +0 -1
  603. package/dist/chunk-OZHETX4J.mjs.map +0 -1
  604. package/dist/chunk-PYUZOVLY.js.map +0 -1
  605. package/dist/chunk-QHEHBC6M.js.map +0 -1
  606. package/dist/chunk-R2JJTREQ.mjs.map +0 -1
  607. package/dist/chunk-RFT2FLQT.js +0 -126
  608. package/dist/chunk-RFT2FLQT.js.map +0 -1
  609. package/dist/chunk-RIHJAEOL.js +0 -107
  610. package/dist/chunk-RIHJAEOL.js.map +0 -1
  611. package/dist/chunk-SSJXWD2M.mjs.map +0 -1
  612. package/dist/chunk-TTTYW3TR.js.map +0 -1
  613. package/dist/chunk-UGH23TAH.js +0 -342
  614. package/dist/chunk-UGH23TAH.js.map +0 -1
  615. package/dist/chunk-UPZ5XGUD.mjs +0 -100
  616. package/dist/chunk-UPZ5XGUD.mjs.map +0 -1
  617. package/dist/chunk-UR7TNW45.mjs.map +0 -1
  618. package/dist/chunk-UROKWFPX.mjs.map +0 -1
  619. package/dist/chunk-UY65KX3M.js.map +0 -1
  620. package/dist/chunk-V5JTDRV5.mjs +0 -278
  621. package/dist/chunk-V5JTDRV5.mjs.map +0 -1
  622. package/dist/chunk-VHVQELWF.js.map +0 -1
  623. package/dist/chunk-X3O45MPI.js.map +0 -1
  624. package/dist/chunk-XYEMP4K7.js.map +0 -1
  625. package/dist/chunk-Z4KHAD6Y.js +0 -295
  626. package/dist/chunk-Z4KHAD6Y.js.map +0 -1
  627. package/dist/chunk-ZUT7ZUM7.js +0 -84
  628. package/dist/chunk-ZUT7ZUM7.js.map +0 -1
  629. package/dist/chunk-ZX2IBIZT.js.map +0 -1
  630. package/dist/design-system/stepper.d.ts +0 -42
  631. package/dist/design-system/stepper.d.ts.map +0 -1
  632. package/dist/ui/stepper/index.d.ts +0 -4
  633. package/dist/ui/stepper/index.d.ts.map +0 -1
  634. package/dist/ui/stepper/stepper.d.ts +0 -28
  635. package/dist/ui/stepper/stepper.d.ts.map +0 -1
  636. package/dist/ui/stepper/types.d.ts +0 -25
  637. package/dist/ui/stepper/types.d.ts.map +0 -1
  638. package/dist/ui/stepper/variants.d.ts +0 -11
  639. package/dist/ui/stepper/variants.d.ts.map +0 -1
  640. package/dist/ui/stepper.js +0 -216
  641. package/dist/ui/stepper.js.map +0 -1
  642. package/dist/ui/stepper.mjs +0 -207
  643. package/dist/ui/stepper.mjs.map +0 -1
  644. package/src/design-system/stepper.ts +0 -66
  645. package/src/ui/stepper/index.ts +0 -22
  646. package/src/ui/stepper/stepper.test.tsx +0 -190
  647. package/src/ui/stepper/stepper.tsx +0 -171
  648. package/src/ui/stepper/types.ts +0 -38
  649. package/src/ui/stepper/variants.ts +0 -40
@@ -1,66 +0,0 @@
1
- export const zuiStepperBase = "flex w-full";
2
-
3
- export const zuiStepperOrientations = {
4
- horizontal: "flex-row flex-wrap items-start gap-4",
5
- vertical: "flex-col gap-6",
6
- } as const;
7
-
8
- export const zuiStepperItemBase = "relative flex gap-3";
9
-
10
- export const zuiStepperItemOrientations = {
11
- horizontal: "min-w-0 flex-col items-center text-center",
12
- vertical: "flex-row items-center text-left",
13
- } as const;
14
-
15
- export const zuiStepperIndicatorBase =
16
- "grid size-9 shrink-0 place-items-center rounded-full border text-sm font-semibold transition-colors";
17
-
18
- export const zuiStepperIndicatorAppearances = {
19
- complete:
20
- "border-[color:var(--zui-stepper-indicator-complete-border,oklch(69.6%_0.17_162.48_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-complete-border-dark,oklch(69.6%_0.17_162.48_/_0.6))] bg-[var(--zui-stepper-indicator-complete-bg,oklch(69.6%_0.17_162.48_/_0.2))] dark:bg-[var(--zui-stepper-indicator-complete-bg-dark,oklch(69.6%_0.17_162.48_/_0.2))] text-[color:var(--zui-stepper-indicator-complete-fg,oklch(37.8%_0.077_168.94))] dark:text-[color:var(--zui-stepper-indicator-complete-fg-dark,oklch(95%_0.052_163.051))] ring-2 ring-[var(--zui-stepper-indicator-complete-ring,oklch(76.5%_0.177_163.223_/_0.3))] dark:ring-[var(--zui-stepper-indicator-complete-ring-dark,oklch(76.5%_0.177_163.223_/_0.3))]",
21
- current:
22
- "border-[color:var(--zui-stepper-indicator-current-border,oklch(54.1%_0.281_293.009))] dark:border-[color:var(--zui-stepper-indicator-current-border-dark,oklch(70.2%_0.183_293.541))] bg-[var(--zui-stepper-indicator-current-bg,oklch(60.6%_0.25_292.717_/_0.2))] dark:bg-[var(--zui-stepper-indicator-current-bg-dark,oklch(60.6%_0.25_292.717_/_0.2))] text-[color:var(--zui-stepper-indicator-current-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-stepper-indicator-current-fg-dark,#ffffff)] ring-2 ring-[var(--zui-stepper-indicator-current-ring,oklch(70.2%_0.183_293.541_/_0.5))] dark:ring-[var(--zui-stepper-indicator-current-ring-dark,oklch(70.2%_0.183_293.541_/_0.5))]",
23
- upcoming:
24
- "border-[color:var(--zui-stepper-indicator-upcoming-border,#00000026)] dark:border-[color:var(--zui-stepper-indicator-upcoming-border-dark,#ffffff26)] bg-[var(--zui-stepper-indicator-upcoming-bg,#0000000d)] dark:bg-[var(--zui-stepper-indicator-upcoming-bg-dark,#ffffff0d)] text-[color:var(--zui-stepper-indicator-upcoming-fg,oklch(55.4%_0.046_257.417))] dark:text-[color:var(--zui-stepper-indicator-upcoming-fg-dark,oklch(70.4%_0.04_256.788))]",
25
- sky: "border-[color:var(--zui-stepper-indicator-sky-border,oklch(68.5%_0.169_237.323_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-sky-border-dark,oklch(68.5%_0.169_237.323_/_0.6))] bg-[var(--zui-stepper-indicator-sky-bg,oklch(68.5%_0.169_237.323_/_0.2))] dark:bg-[var(--zui-stepper-indicator-sky-bg-dark,oklch(68.5%_0.169_237.323_/_0.2))] text-[color:var(--zui-stepper-indicator-sky-fg,oklch(39.1%_0.09_240.876))] dark:text-[color:var(--zui-stepper-indicator-sky-fg-dark,oklch(95.1%_0.026_236.824))] ring-2 ring-[var(--zui-stepper-indicator-sky-ring,oklch(74.6%_0.16_232.661_/_0.3))] dark:ring-[var(--zui-stepper-indicator-sky-ring-dark,oklch(74.6%_0.16_232.661_/_0.3))]",
26
- rose: "border-[color:var(--zui-stepper-indicator-rose-border,oklch(64.5%_0.246_16.439_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-rose-border-dark,oklch(64.5%_0.246_16.439_/_0.6))] bg-[var(--zui-stepper-indicator-rose-bg,oklch(64.5%_0.246_16.439_/_0.2))] dark:bg-[var(--zui-stepper-indicator-rose-bg-dark,oklch(64.5%_0.246_16.439_/_0.2))] text-[color:var(--zui-stepper-indicator-rose-fg,oklch(41%_0.159_10.272))] dark:text-[color:var(--zui-stepper-indicator-rose-fg-dark,oklch(94.1%_0.03_12.58))] ring-2 ring-[var(--zui-stepper-indicator-rose-ring,oklch(71.2%_0.194_13.428_/_0.3))] dark:ring-[var(--zui-stepper-indicator-rose-ring-dark,oklch(71.2%_0.194_13.428_/_0.3))]",
27
- purple:
28
- "border-[color:var(--zui-stepper-indicator-purple-border,oklch(62.7%_0.265_303.9_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-purple-border-dark,oklch(62.7%_0.265_303.9_/_0.6))] bg-[var(--zui-stepper-indicator-purple-bg,oklch(62.7%_0.265_303.9_/_0.2))] dark:bg-[var(--zui-stepper-indicator-purple-bg-dark,oklch(62.7%_0.265_303.9_/_0.2))] text-[color:var(--zui-stepper-indicator-purple-fg,oklch(38.1%_0.176_304.987))] dark:text-[color:var(--zui-stepper-indicator-purple-fg-dark,oklch(94.6%_0.033_307.174))] ring-2 ring-[var(--zui-stepper-indicator-purple-ring,oklch(71.4%_0.203_305.504_/_0.3))] dark:ring-[var(--zui-stepper-indicator-purple-ring-dark,oklch(71.4%_0.203_305.504_/_0.3))]",
29
- pink: "border-[color:var(--zui-stepper-indicator-pink-border,oklch(65.6%_0.241_354.308_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-pink-border-dark,oklch(65.6%_0.241_354.308_/_0.6))] bg-[var(--zui-stepper-indicator-pink-bg,oklch(65.6%_0.241_354.308_/_0.2))] dark:bg-[var(--zui-stepper-indicator-pink-bg-dark,oklch(65.6%_0.241_354.308_/_0.2))] text-[color:var(--zui-stepper-indicator-pink-fg,oklch(40.8%_0.153_2.432))] dark:text-[color:var(--zui-stepper-indicator-pink-fg-dark,oklch(94.8%_0.028_342.258))] ring-2 ring-[var(--zui-stepper-indicator-pink-ring,oklch(71.8%_0.202_349.761_/_0.3))] dark:ring-[var(--zui-stepper-indicator-pink-ring-dark,oklch(71.8%_0.202_349.761_/_0.3))]",
30
- orange:
31
- "border-[color:var(--zui-stepper-indicator-orange-border,oklch(70.5%_0.213_47.604_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-orange-border-dark,oklch(70.5%_0.213_47.604_/_0.6))] bg-[var(--zui-stepper-indicator-orange-bg,oklch(70.5%_0.213_47.604_/_0.2))] dark:bg-[var(--zui-stepper-indicator-orange-bg-dark,oklch(70.5%_0.213_47.604_/_0.2))] text-[color:var(--zui-stepper-indicator-orange-fg,oklch(40.8%_0.123_38.172))] dark:text-[color:var(--zui-stepper-indicator-orange-fg-dark,oklch(95.4%_0.038_75.164))] ring-2 ring-[var(--zui-stepper-indicator-orange-ring,oklch(75%_0.183_55.934_/_0.3))] dark:ring-[var(--zui-stepper-indicator-orange-ring-dark,oklch(75%_0.183_55.934_/_0.3))]",
32
- yellow:
33
- "border-[color:var(--zui-stepper-indicator-yellow-border,oklch(79.5%_0.184_86.047_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-yellow-border-dark,oklch(79.5%_0.184_86.047_/_0.6))] bg-[var(--zui-stepper-indicator-yellow-bg,oklch(79.5%_0.184_86.047_/_0.2))] dark:bg-[var(--zui-stepper-indicator-yellow-bg-dark,oklch(79.5%_0.184_86.047_/_0.2))] text-[color:var(--zui-stepper-indicator-yellow-fg,oklch(42.1%_0.095_57.708))] dark:text-[color:var(--zui-stepper-indicator-yellow-fg-dark,oklch(97.3%_0.071_103.193))] ring-2 ring-[var(--zui-stepper-indicator-yellow-ring,oklch(85.2%_0.199_91.936_/_0.3))] dark:ring-[var(--zui-stepper-indicator-yellow-ring-dark,oklch(85.2%_0.199_91.936_/_0.3))]",
34
- teal: "border-[color:var(--zui-stepper-indicator-teal-border,oklch(70.4%_0.14_182.503_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-teal-border-dark,oklch(70.4%_0.14_182.503_/_0.6))] bg-[var(--zui-stepper-indicator-teal-bg,oklch(70.4%_0.14_182.503_/_0.2))] dark:bg-[var(--zui-stepper-indicator-teal-bg-dark,oklch(70.4%_0.14_182.503_/_0.2))] text-[color:var(--zui-stepper-indicator-teal-fg,oklch(38.6%_0.063_188.416))] dark:text-[color:var(--zui-stepper-indicator-teal-fg-dark,oklch(95.3%_0.051_180.801))] ring-2 ring-[var(--zui-stepper-indicator-teal-ring,oklch(77.7%_0.152_181.912_/_0.3))] dark:ring-[var(--zui-stepper-indicator-teal-ring-dark,oklch(77.7%_0.152_181.912_/_0.3))]",
35
- indigo:
36
- "border-[color:var(--zui-stepper-indicator-indigo-border,oklch(58.5%_0.233_277.117_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-indigo-border-dark,oklch(58.5%_0.233_277.117_/_0.6))] bg-[var(--zui-stepper-indicator-indigo-bg,oklch(58.5%_0.233_277.117_/_0.2))] dark:bg-[var(--zui-stepper-indicator-indigo-bg-dark,oklch(58.5%_0.233_277.117_/_0.2))] text-[color:var(--zui-stepper-indicator-indigo-fg,oklch(35.9%_0.144_278.697))] dark:text-[color:var(--zui-stepper-indicator-indigo-fg-dark,oklch(93%_0.034_272.788))] ring-2 ring-[var(--zui-stepper-indicator-indigo-ring,oklch(67.3%_0.182_276.935_/_0.3))] dark:ring-[var(--zui-stepper-indicator-indigo-ring-dark,oklch(67.3%_0.182_276.935_/_0.3))]",
37
- emerald:
38
- "border-[color:var(--zui-stepper-indicator-emerald-border,oklch(69.6%_0.17_162.48_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-emerald-border-dark,oklch(69.6%_0.17_162.48_/_0.6))] bg-[var(--zui-stepper-indicator-emerald-bg,oklch(69.6%_0.17_162.48_/_0.2))] dark:bg-[var(--zui-stepper-indicator-emerald-bg-dark,oklch(69.6%_0.17_162.48_/_0.2))] text-[color:var(--zui-stepper-indicator-emerald-fg,oklch(37.8%_0.077_168.94))] dark:text-[color:var(--zui-stepper-indicator-emerald-fg-dark,oklch(95%_0.052_163.051))] ring-2 ring-[var(--zui-stepper-indicator-emerald-ring,oklch(76.5%_0.177_163.223_/_0.3))] dark:ring-[var(--zui-stepper-indicator-emerald-ring-dark,oklch(76.5%_0.177_163.223_/_0.3))]",
39
- gray: "border-[color:var(--zui-stepper-indicator-gray-border,oklch(55.1%_0.027_264.364_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-gray-border-dark,oklch(55.1%_0.027_264.364_/_0.6))] bg-[var(--zui-stepper-indicator-gray-bg,oklch(55.1%_0.027_264.364_/_0.2))] dark:bg-[var(--zui-stepper-indicator-gray-bg-dark,oklch(55.1%_0.027_264.364_/_0.2))] text-[color:var(--zui-stepper-indicator-gray-fg,oklch(21%_0.034_264.665))] dark:text-[color:var(--zui-stepper-indicator-gray-fg-dark,oklch(96.7%_0.003_264.542))] ring-2 ring-[var(--zui-stepper-indicator-gray-ring,oklch(70.7%_0.022_261.325_/_0.3))] dark:ring-[var(--zui-stepper-indicator-gray-ring-dark,oklch(70.7%_0.022_261.325_/_0.3))]",
40
- violet:
41
- "border-[color:var(--zui-stepper-indicator-violet-border,oklch(60.6%_0.25_292.717_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-violet-border-dark,oklch(60.6%_0.25_292.717_/_0.6))] bg-[var(--zui-stepper-indicator-violet-bg,oklch(60.6%_0.25_292.717_/_0.2))] dark:bg-[var(--zui-stepper-indicator-violet-bg-dark,oklch(60.6%_0.25_292.717_/_0.2))] text-[color:var(--zui-stepper-indicator-violet-fg,oklch(38%_0.189_293.745))] dark:text-[color:var(--zui-stepper-indicator-violet-fg-dark,oklch(94.3%_0.029_294.588))] ring-2 ring-[var(--zui-stepper-indicator-violet-ring,oklch(70.2%_0.183_293.541_/_0.3))] dark:ring-[var(--zui-stepper-indicator-violet-ring-dark,oklch(70.2%_0.183_293.541_/_0.3))]",
42
- "gradient-blue":
43
- "border-[color:var(--zui-stepper-indicator-gradient-blue-border,oklch(62.3%_0.214_259.815_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-gradient-blue-border-dark,oklch(62.3%_0.214_259.815_/_0.6))] bg-[var(--zui-stepper-indicator-gradient-blue-bg,oklch(62.3%_0.214_259.815_/_0.2))] dark:bg-[var(--zui-stepper-indicator-gradient-blue-bg-dark,oklch(62.3%_0.214_259.815_/_0.2))] text-[color:var(--zui-stepper-indicator-gradient-blue-fg,oklch(37.9%_0.146_265.522))] dark:text-[color:var(--zui-stepper-indicator-gradient-blue-fg-dark,oklch(93.2%_0.032_255.585))] ring-2 ring-[var(--zui-stepper-indicator-gradient-blue-ring,oklch(70.7%_0.165_254.624_/_0.3))] dark:ring-[var(--zui-stepper-indicator-gradient-blue-ring-dark,oklch(70.7%_0.165_254.624_/_0.3))]",
44
- "gradient-green":
45
- "border-[color:var(--zui-stepper-indicator-gradient-green-border,oklch(72.3%_0.219_149.579_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-gradient-green-border-dark,oklch(72.3%_0.219_149.579_/_0.6))] bg-[var(--zui-stepper-indicator-gradient-green-bg,oklch(72.3%_0.219_149.579_/_0.2))] dark:bg-[var(--zui-stepper-indicator-gradient-green-bg-dark,oklch(72.3%_0.219_149.579_/_0.2))] text-[color:var(--zui-stepper-indicator-gradient-green-fg,oklch(39.3%_0.095_152.535))] dark:text-[color:var(--zui-stepper-indicator-gradient-green-fg-dark,oklch(96.2%_0.044_156.743))] ring-2 ring-[var(--zui-stepper-indicator-gradient-green-ring,oklch(79.2%_0.209_151.711_/_0.3))] dark:ring-[var(--zui-stepper-indicator-gradient-green-ring-dark,oklch(79.2%_0.209_151.711_/_0.3))]",
46
- "gradient-red":
47
- "border-[color:var(--zui-stepper-indicator-gradient-red-border,oklch(63.7%_0.237_25.331_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-gradient-red-border-dark,oklch(63.7%_0.237_25.331_/_0.6))] bg-[var(--zui-stepper-indicator-gradient-red-bg,oklch(63.7%_0.237_25.331_/_0.2))] dark:bg-[var(--zui-stepper-indicator-gradient-red-bg-dark,oklch(63.7%_0.237_25.331_/_0.2))] text-[color:var(--zui-stepper-indicator-gradient-red-fg,oklch(39.6%_0.141_25.723))] dark:text-[color:var(--zui-stepper-indicator-gradient-red-fg-dark,oklch(93.6%_0.032_17.717))] ring-2 ring-[var(--zui-stepper-indicator-gradient-red-ring,oklch(70.4%_0.191_22.216_/_0.3))] dark:ring-[var(--zui-stepper-indicator-gradient-red-ring-dark,oklch(70.4%_0.191_22.216_/_0.3))]",
48
- "gradient-yellow":
49
- "border-[color:var(--zui-stepper-indicator-gradient-yellow-border,oklch(79.5%_0.184_86.047_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-gradient-yellow-border-dark,oklch(79.5%_0.184_86.047_/_0.6))] bg-[var(--zui-stepper-indicator-gradient-yellow-bg,oklch(79.5%_0.184_86.047_/_0.2))] dark:bg-[var(--zui-stepper-indicator-gradient-yellow-bg-dark,oklch(79.5%_0.184_86.047_/_0.2))] text-[color:var(--zui-stepper-indicator-gradient-yellow-fg,oklch(42.1%_0.095_57.708))] dark:text-[color:var(--zui-stepper-indicator-gradient-yellow-fg-dark,oklch(97.3%_0.071_103.193))] ring-2 ring-[var(--zui-stepper-indicator-gradient-yellow-ring,oklch(85.2%_0.199_91.936_/_0.3))] dark:ring-[var(--zui-stepper-indicator-gradient-yellow-ring-dark,oklch(85.2%_0.199_91.936_/_0.3))]",
50
- "gradient-purple":
51
- "border-[color:var(--zui-stepper-indicator-gradient-purple-border,oklch(62.7%_0.265_303.9_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-gradient-purple-border-dark,oklch(62.7%_0.265_303.9_/_0.6))] bg-[var(--zui-stepper-indicator-gradient-purple-bg,oklch(62.7%_0.265_303.9_/_0.2))] dark:bg-[var(--zui-stepper-indicator-gradient-purple-bg-dark,oklch(62.7%_0.265_303.9_/_0.2))] text-[color:var(--zui-stepper-indicator-gradient-purple-fg,oklch(38.1%_0.176_304.987))] dark:text-[color:var(--zui-stepper-indicator-gradient-purple-fg-dark,oklch(94.6%_0.033_307.174))] ring-2 ring-[var(--zui-stepper-indicator-gradient-purple-ring,oklch(71.4%_0.203_305.504_/_0.3))] dark:ring-[var(--zui-stepper-indicator-gradient-purple-ring-dark,oklch(71.4%_0.203_305.504_/_0.3))]",
52
- "gradient-teal":
53
- "border-[color:var(--zui-stepper-indicator-gradient-teal-border,oklch(70.4%_0.14_182.503_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-gradient-teal-border-dark,oklch(70.4%_0.14_182.503_/_0.6))] bg-[var(--zui-stepper-indicator-gradient-teal-bg,oklch(70.4%_0.14_182.503_/_0.2))] dark:bg-[var(--zui-stepper-indicator-gradient-teal-bg-dark,oklch(70.4%_0.14_182.503_/_0.2))] text-[color:var(--zui-stepper-indicator-gradient-teal-fg,oklch(38.6%_0.063_188.416))] dark:text-[color:var(--zui-stepper-indicator-gradient-teal-fg-dark,oklch(95.3%_0.051_180.801))] ring-2 ring-[var(--zui-stepper-indicator-gradient-teal-ring,oklch(77.7%_0.152_181.912_/_0.3))] dark:ring-[var(--zui-stepper-indicator-gradient-teal-ring-dark,oklch(77.7%_0.152_181.912_/_0.3))]",
54
- "gradient-indigo":
55
- "border-[color:var(--zui-stepper-indicator-gradient-indigo-border,oklch(58.5%_0.233_277.117_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-gradient-indigo-border-dark,oklch(58.5%_0.233_277.117_/_0.6))] bg-[var(--zui-stepper-indicator-gradient-indigo-bg,oklch(58.5%_0.233_277.117_/_0.2))] dark:bg-[var(--zui-stepper-indicator-gradient-indigo-bg-dark,oklch(58.5%_0.233_277.117_/_0.2))] text-[color:var(--zui-stepper-indicator-gradient-indigo-fg,oklch(35.9%_0.144_278.697))] dark:text-[color:var(--zui-stepper-indicator-gradient-indigo-fg-dark,oklch(93%_0.034_272.788))] ring-2 ring-[var(--zui-stepper-indicator-gradient-indigo-ring,oklch(67.3%_0.182_276.935_/_0.3))] dark:ring-[var(--zui-stepper-indicator-gradient-indigo-ring-dark,oklch(67.3%_0.182_276.935_/_0.3))]",
56
- "gradient-pink":
57
- "border-[color:var(--zui-stepper-indicator-gradient-pink-border,oklch(65.6%_0.241_354.308_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-gradient-pink-border-dark,oklch(65.6%_0.241_354.308_/_0.6))] bg-[var(--zui-stepper-indicator-gradient-pink-bg,oklch(65.6%_0.241_354.308_/_0.2))] dark:bg-[var(--zui-stepper-indicator-gradient-pink-bg-dark,oklch(65.6%_0.241_354.308_/_0.2))] text-[color:var(--zui-stepper-indicator-gradient-pink-fg,oklch(40.8%_0.153_2.432))] dark:text-[color:var(--zui-stepper-indicator-gradient-pink-fg-dark,oklch(94.8%_0.028_342.258))] ring-2 ring-[var(--zui-stepper-indicator-gradient-pink-ring,oklch(71.8%_0.202_349.761_/_0.3))] dark:ring-[var(--zui-stepper-indicator-gradient-pink-ring-dark,oklch(71.8%_0.202_349.761_/_0.3))]",
58
- "gradient-orange":
59
- "border-[color:var(--zui-stepper-indicator-gradient-orange-border,oklch(70.5%_0.213_47.604_/_0.6))] dark:border-[color:var(--zui-stepper-indicator-gradient-orange-border-dark,oklch(70.5%_0.213_47.604_/_0.6))] bg-[var(--zui-stepper-indicator-gradient-orange-bg,oklch(70.5%_0.213_47.604_/_0.2))] dark:bg-[var(--zui-stepper-indicator-gradient-orange-bg-dark,oklch(70.5%_0.213_47.604_/_0.2))] text-[color:var(--zui-stepper-indicator-gradient-orange-fg,oklch(40.8%_0.123_38.172))] dark:text-[color:var(--zui-stepper-indicator-gradient-orange-fg-dark,oklch(95.4%_0.038_75.164))] ring-2 ring-[var(--zui-stepper-indicator-gradient-orange-ring,oklch(75%_0.183_55.934_/_0.3))] dark:ring-[var(--zui-stepper-indicator-gradient-orange-ring-dark,oklch(75%_0.183_55.934_/_0.3))]",
60
- } as const;
61
-
62
- export const zuiStepperIndicatorSizes = {
63
- sm: "size-8 text-xs",
64
- md: "size-9 text-sm",
65
- lg: "size-10 text-base",
66
- } as const;
@@ -1,22 +0,0 @@
1
- "use client";
2
-
3
- export {
4
- Stepper,
5
- StepperDescription,
6
- StepperIndicator,
7
- StepperItem,
8
- StepperTitle,
9
- } from "./stepper";
10
- export type {
11
- StepperDescriptionProps,
12
- StepperIndicatorProps,
13
- StepperItemProps,
14
- StepperProps,
15
- StepperTitleProps,
16
- StepperAppearance,
17
- } from "./types";
18
- export {
19
- stepperIndicatorVariants,
20
- stepperItemVariants,
21
- stepperVariants,
22
- } from "./variants";
@@ -1,190 +0,0 @@
1
- import { createRef } from "react";
2
- import { render, screen } from "@testing-library/react";
3
- import { describe, expect, it } from "vitest";
4
-
5
- import {
6
- Stepper,
7
- StepperDescription,
8
- StepperIndicator,
9
- StepperItem,
10
- StepperTitle,
11
- } from "./stepper";
12
-
13
- describe("Stepper", () => {
14
- it("should expose displayName", () => {
15
- expect(Stepper.displayName).toBe("Stepper");
16
- expect(StepperItem.displayName).toBe("StepperItem");
17
- expect(StepperIndicator.displayName).toBe("StepperIndicator");
18
- expect(StepperTitle.displayName).toBe("StepperTitle");
19
- expect(StepperDescription.displayName).toBe("StepperDescription");
20
- });
21
-
22
- it("should stamp data-slot on stepper root and use ordered list markup", () => {
23
- render(
24
- <Stepper>
25
- <StepperItem>
26
- <StepperIndicator />
27
- <StepperTitle>One</StepperTitle>
28
- </StepperItem>
29
- </Stepper>,
30
- );
31
- const root = document.querySelector('[data-slot="stepper"]');
32
- expect(root).toBeTruthy();
33
- expect(root?.tagName).toBe("OL");
34
- expect(document.querySelector('[data-slot="stepper-item"]')?.tagName).toBe(
35
- "LI",
36
- );
37
- });
38
-
39
- it("should apply default upcoming appearance to indicators", () => {
40
- render(
41
- <Stepper>
42
- <StepperItem>
43
- <StepperIndicator />
44
- <StepperTitle>Cart</StepperTitle>
45
- </StepperItem>
46
- <StepperItem>
47
- <StepperIndicator />
48
- <StepperTitle>Pay</StepperTitle>
49
- </StepperItem>
50
- </Stepper>,
51
- );
52
- const indicators = document.querySelectorAll(
53
- '[data-slot="stepper-indicator"]',
54
- );
55
- expect(indicators).toHaveLength(2);
56
- expect(indicators[0]?.className).toContain(
57
- "--zui-stepper-indicator-upcoming-border",
58
- );
59
- expect(indicators[1]?.className).toContain(
60
- "--zui-stepper-indicator-upcoming-border",
61
- );
62
- });
63
-
64
- it("should honor appearance prop on each indicator", () => {
65
- render(
66
- <Stepper>
67
- <StepperItem>
68
- <StepperIndicator appearance="complete" />
69
- <StepperTitle>Done</StepperTitle>
70
- </StepperItem>
71
- <StepperItem>
72
- <StepperIndicator appearance="current" />
73
- <StepperTitle>Active</StepperTitle>
74
- </StepperItem>
75
- </Stepper>,
76
- );
77
- const indicators = document.querySelectorAll(
78
- '[data-slot="stepper-indicator"]',
79
- );
80
- expect(indicators[0]?.className).toMatch(
81
- /--zui-stepper-indicator-complete-border/,
82
- );
83
- expect(indicators[1]?.className).toMatch(
84
- /--zui-stepper-indicator-current-border/,
85
- );
86
- });
87
-
88
- it("should render step index as indicator content when children are omitted", () => {
89
- render(
90
- <Stepper>
91
- <StepperItem>
92
- <StepperIndicator />
93
- <StepperTitle>First</StepperTitle>
94
- </StepperItem>
95
- <StepperItem>
96
- <StepperIndicator />
97
- <StepperTitle>Second</StepperTitle>
98
- </StepperItem>
99
- </Stepper>,
100
- );
101
- const indicators = screen.getAllByText(/^[12]$/);
102
- expect(indicators[0]).toHaveTextContent("1");
103
- expect(indicators[1]).toHaveTextContent("2");
104
- });
105
-
106
- it("should render custom indicator children instead of the default index", () => {
107
- render(
108
- <Stepper>
109
- <StepperItem>
110
- <StepperIndicator>✓</StepperIndicator>
111
- <StepperTitle>Check</StepperTitle>
112
- </StepperItem>
113
- </Stepper>,
114
- );
115
- expect(screen.getByText("✓")).toBeInTheDocument();
116
- });
117
-
118
- it("should apply vertical orientation classes on the root", () => {
119
- const { container } = render(
120
- <Stepper orientation="vertical">
121
- <StepperItem>
122
- <StepperIndicator />
123
- <StepperTitle>V</StepperTitle>
124
- </StepperItem>
125
- </Stepper>,
126
- );
127
- const root = container.querySelector('[data-slot="stepper"]');
128
- expect(root?.className).toMatch(/flex-col/);
129
- });
130
-
131
- it("should pass size from Stepper context to indicators", () => {
132
- render(
133
- <Stepper size="sm">
134
- <StepperItem>
135
- <StepperIndicator />
136
- <StepperTitle>Small</StepperTitle>
137
- </StepperItem>
138
- </Stepper>,
139
- );
140
- const indicator = document.querySelector('[data-slot="stepper-indicator"]');
141
- expect(indicator?.className).toMatch(/size-8/);
142
- });
143
-
144
- it("should stamp data-slot on title and description", () => {
145
- render(
146
- <Stepper>
147
- <StepperItem>
148
- <StepperIndicator />
149
- <StepperTitle data-testid="t">T</StepperTitle>
150
- <StepperDescription data-testid="d">D</StepperDescription>
151
- </StepperItem>
152
- </Stepper>,
153
- );
154
- expect(document.querySelector('[data-slot="stepper-title"]')).toBe(
155
- screen.getByTestId("t"),
156
- );
157
- expect(document.querySelector('[data-slot="stepper-description"]')).toBe(
158
- screen.getByTestId("d"),
159
- );
160
- });
161
-
162
- it("should forward ref on Stepper", () => {
163
- const ref = createRef<HTMLOListElement>();
164
- render(
165
- <Stepper ref={ref}>
166
- <StepperItem>
167
- <StepperIndicator />
168
- <StepperTitle>A</StepperTitle>
169
- </StepperItem>
170
- </Stepper>,
171
- );
172
- expect(ref.current?.getAttribute("data-slot")).toBe("stepper");
173
- });
174
-
175
- it("should throw when StepperItem is used outside Stepper", () => {
176
- expect(() =>
177
- render(
178
- <StepperItem>
179
- <StepperIndicator />
180
- </StepperItem>,
181
- ),
182
- ).toThrow(/must be used within <Stepper>/);
183
- });
184
-
185
- it("should throw when StepperIndicator is used outside Stepper", () => {
186
- expect(() => render(<StepperIndicator />)).toThrow(
187
- /must be used within <Stepper>/,
188
- );
189
- });
190
- });
@@ -1,171 +0,0 @@
1
- "use client";
2
-
3
- import {
4
- Children,
5
- createContext,
6
- isValidElement,
7
- useContext,
8
- useMemo,
9
- } from "react";
10
-
11
- import { cn } from "../../lib/utils";
12
-
13
- import type {
14
- StepperCtx,
15
- StepperDescriptionProps,
16
- StepperIndicatorProps,
17
- StepperItemProps,
18
- StepperProps,
19
- StepperTitleProps,
20
- } from "./types";
21
- import {
22
- stepperIndicatorVariants,
23
- stepperItemVariants,
24
- stepperVariants,
25
- } from "./variants";
26
-
27
- const StepperContext = createContext<StepperCtx | null>(null);
28
-
29
- function useStepper(component: string): StepperCtx {
30
- const ctx = useContext(StepperContext);
31
- if (!ctx) {
32
- throw new Error(`${component} must be used within <Stepper>`);
33
- }
34
- return ctx;
35
- }
36
-
37
- const StepperIndexContext = createContext<number | null>(null);
38
-
39
- function useStepperIndex(component: string): number {
40
- const index = useContext(StepperIndexContext);
41
- if (index === null) {
42
- throw new Error(`${component} must be used within <StepperItem>`);
43
- }
44
- return index;
45
- }
46
-
47
- export function Stepper({
48
- className,
49
- orientation = "horizontal",
50
- size = "md",
51
- children,
52
- ref,
53
- ...rest
54
- }: StepperProps) {
55
- const items = useMemo(
56
- () => Children.toArray(children).filter(isValidElement),
57
- [children],
58
- );
59
- const ctx = useMemo(
60
- () => ({
61
- orientation: orientation ?? "horizontal",
62
- size: size ?? "md",
63
- total: items.length,
64
- }),
65
- [items.length, orientation, size],
66
- );
67
-
68
- return (
69
- <StepperContext.Provider value={ctx}>
70
- <ol
71
- ref={ref}
72
- data-slot="stepper"
73
- className={cn(
74
- stepperVariants({ orientation }),
75
- "m-0 list-none p-0",
76
- className,
77
- )}
78
- {...rest}
79
- >
80
- {items.map((child, index) => (
81
- <StepperIndexContext.Provider key={index} value={index}>
82
- {child}
83
- </StepperIndexContext.Provider>
84
- ))}
85
- </ol>
86
- </StepperContext.Provider>
87
- );
88
- }
89
-
90
- Stepper.displayName = "Stepper";
91
-
92
- export function StepperItem({
93
- className,
94
- ref,
95
- children,
96
- ...rest
97
- }: StepperItemProps) {
98
- const { orientation } = useStepper("StepperItem");
99
- return (
100
- <li
101
- ref={ref}
102
- data-slot="stepper-item"
103
- className={cn(stepperItemVariants({ orientation }), className)}
104
- {...rest}
105
- >
106
- {children}
107
- </li>
108
- );
109
- }
110
-
111
- StepperItem.displayName = "StepperItem";
112
-
113
- export function StepperIndicator({
114
- className,
115
- ref,
116
- children,
117
- appearance,
118
- ...rest
119
- }: StepperIndicatorProps & { ref?: React.Ref<HTMLDivElement> }) {
120
- const { size } = useStepper("StepperIndicator");
121
- const index = useStepperIndex("StepperIndicator");
122
- return (
123
- <div
124
- ref={ref}
125
- data-slot="stepper-indicator"
126
- className={cn(stepperIndicatorVariants({ appearance, size }), className)}
127
- {...rest}
128
- >
129
- {children ?? index + 1}
130
- </div>
131
- );
132
- }
133
-
134
- StepperIndicator.displayName = "StepperIndicator";
135
-
136
- export function StepperTitle({
137
- className,
138
- ref,
139
- ...rest
140
- }: StepperTitleProps & { ref?: React.Ref<HTMLDivElement> }) {
141
- return (
142
- <div
143
- ref={ref}
144
- data-slot="stepper-title"
145
- className={cn(
146
- "text-sm font-semibold text-slate-900 dark:text-white",
147
- className,
148
- )}
149
- {...rest}
150
- />
151
- );
152
- }
153
-
154
- StepperTitle.displayName = "StepperTitle";
155
-
156
- export function StepperDescription({
157
- className,
158
- ref,
159
- ...rest
160
- }: StepperDescriptionProps & { ref?: React.Ref<HTMLParagraphElement> }) {
161
- return (
162
- <p
163
- ref={ref}
164
- data-slot="stepper-description"
165
- className={cn("text-xs text-slate-900 dark:text-slate-400", className)}
166
- {...rest}
167
- />
168
- );
169
- }
170
-
171
- StepperDescription.displayName = "StepperDescription";
@@ -1,38 +0,0 @@
1
- import type { VariantProps } from "class-variance-authority";
2
- import type {
3
- ComponentPropsWithoutRef,
4
- ComponentPropsWithRef,
5
- ReactNode,
6
- } from "react";
7
-
8
- import type { stepperIndicatorVariants, stepperVariants } from "./variants";
9
-
10
- type StepperVariantProps = VariantProps<typeof stepperVariants>;
11
-
12
- export type StepperProps = StepperVariantProps & {
13
- size?: VariantProps<typeof stepperIndicatorVariants>["size"];
14
- children?: ReactNode;
15
- } & Omit<ComponentPropsWithRef<"ol">, "children">;
16
-
17
- export type StepperItemProps = ComponentPropsWithRef<"li"> & {
18
- children?: ReactNode;
19
- };
20
-
21
- export type StepperIndicatorProps = ComponentPropsWithoutRef<"div"> & {
22
- children?: ReactNode;
23
- appearance?: StepperAppearance;
24
- };
25
-
26
- export type StepperTitleProps = ComponentPropsWithoutRef<"div">;
27
-
28
- export type StepperDescriptionProps = ComponentPropsWithoutRef<"p">;
29
-
30
- export type StepperAppearance = VariantProps<
31
- typeof stepperIndicatorVariants
32
- >["appearance"];
33
-
34
- export type StepperCtx = {
35
- orientation: NonNullable<StepperProps["orientation"]>;
36
- size: NonNullable<StepperProps["size"]>;
37
- total: number;
38
- };
@@ -1,40 +0,0 @@
1
- import { cva } from "class-variance-authority";
2
-
3
- import {
4
- zuiStepperBase,
5
- zuiStepperIndicatorAppearances,
6
- zuiStepperIndicatorBase,
7
- zuiStepperIndicatorSizes,
8
- zuiStepperItemBase,
9
- zuiStepperItemOrientations,
10
- zuiStepperOrientations,
11
- } from "../../design-system/stepper";
12
-
13
- export const stepperVariants = cva(zuiStepperBase, {
14
- variants: {
15
- orientation: zuiStepperOrientations,
16
- },
17
- defaultVariants: {
18
- orientation: "horizontal",
19
- },
20
- });
21
-
22
- export const stepperItemVariants = cva(zuiStepperItemBase, {
23
- variants: {
24
- orientation: zuiStepperItemOrientations,
25
- },
26
- defaultVariants: {
27
- orientation: "horizontal",
28
- },
29
- });
30
-
31
- export const stepperIndicatorVariants = cva(zuiStepperIndicatorBase, {
32
- variants: {
33
- appearance: zuiStepperIndicatorAppearances,
34
- size: zuiStepperIndicatorSizes,
35
- },
36
- defaultVariants: {
37
- appearance: "upcoming",
38
- size: "md",
39
- },
40
- });