@zentauri-ui/zentauri-components 1.7.4 → 1.7.6

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 (370) hide show
  1. package/README.md +9 -4
  2. package/cli/registry.json +3 -0
  3. package/dist/{chunk-CL55KGDF.js → chunk-3W224B3M.js} +22 -22
  4. package/dist/chunk-3W224B3M.js.map +1 -0
  5. package/dist/{chunk-NZDHSIIC.js → chunk-4OCTFG3W.js} +3 -3
  6. package/dist/chunk-4OCTFG3W.js.map +1 -0
  7. package/dist/{chunk-4ZKBLVQX.js → chunk-5565GZ4T.js} +19 -19
  8. package/dist/chunk-5565GZ4T.js.map +1 -0
  9. package/dist/{chunk-BTJYXKCW.js → chunk-6HPS3ZOP.js} +15 -15
  10. package/dist/chunk-6HPS3ZOP.js.map +1 -0
  11. package/dist/chunk-7XCUMSCJ.mjs +80 -0
  12. package/dist/chunk-7XCUMSCJ.mjs.map +1 -0
  13. package/dist/{chunk-QAJOE3HJ.js → chunk-BU2MPXPZ.js} +6 -6
  14. package/dist/chunk-BU2MPXPZ.js.map +1 -0
  15. package/dist/{chunk-BC6M42HQ.mjs → chunk-CL3VH223.mjs} +21 -21
  16. package/dist/chunk-CL3VH223.mjs.map +1 -0
  17. package/dist/{chunk-QXHS3HHZ.mjs → chunk-D3VZKUMH.mjs} +15 -15
  18. package/dist/chunk-D3VZKUMH.mjs.map +1 -0
  19. package/dist/chunk-DEZRB6DS.mjs +83 -0
  20. package/dist/chunk-DEZRB6DS.mjs.map +1 -0
  21. package/dist/{chunk-EDARAO7X.js → chunk-DFCDLVZA.js} +7 -7
  22. package/dist/chunk-DFCDLVZA.js.map +1 -0
  23. package/dist/{chunk-ACGVDY5J.mjs → chunk-EZCYSFML.mjs} +4 -4
  24. package/dist/chunk-EZCYSFML.mjs.map +1 -0
  25. package/dist/{chunk-ZYKJC5HH.js → chunk-G66SXATZ.js} +15 -15
  26. package/dist/chunk-G66SXATZ.js.map +1 -0
  27. package/dist/{chunk-QBPVJH4P.mjs → chunk-H7WDA6U6.mjs} +5 -5
  28. package/dist/chunk-H7WDA6U6.mjs.map +1 -0
  29. package/dist/{chunk-OZMSE44N.mjs → chunk-HLG2YJFZ.mjs} +19 -19
  30. package/dist/chunk-HLG2YJFZ.mjs.map +1 -0
  31. package/dist/{chunk-QYLTKBH7.js → chunk-INXWZ4DS.js} +3 -3
  32. package/dist/chunk-INXWZ4DS.js.map +1 -0
  33. package/dist/{chunk-QSPXPU72.js → chunk-KTLJEPLF.js} +21 -21
  34. package/dist/chunk-KTLJEPLF.js.map +1 -0
  35. package/dist/chunk-LMIL2R4R.js +197 -0
  36. package/dist/chunk-LMIL2R4R.js.map +1 -0
  37. package/dist/{chunk-PR4QXFJT.js → chunk-LNYCEPW5.js} +5 -5
  38. package/dist/chunk-LNYCEPW5.js.map +1 -0
  39. package/dist/chunk-MEAVYU2Y.mjs +192 -0
  40. package/dist/chunk-MEAVYU2Y.mjs.map +1 -0
  41. package/dist/{chunk-P5WLYJ2C.mjs → chunk-NNZXBL7R.mjs} +6 -6
  42. package/dist/chunk-NNZXBL7R.mjs.map +1 -0
  43. package/dist/{chunk-HMNIH3KJ.mjs → chunk-ORFI4BCJ.mjs} +3 -3
  44. package/dist/chunk-ORFI4BCJ.mjs.map +1 -0
  45. package/dist/{chunk-K7TCW5PJ.js → chunk-PMALYOPA.js} +3 -3
  46. package/dist/chunk-PMALYOPA.js.map +1 -0
  47. package/dist/{chunk-WPXQHWPV.js → chunk-PYUZOVLY.js} +4 -4
  48. package/dist/chunk-PYUZOVLY.js.map +1 -0
  49. package/dist/{chunk-ITVMSCOJ.mjs → chunk-R2JJTREQ.mjs} +22 -22
  50. package/dist/chunk-R2JJTREQ.mjs.map +1 -0
  51. package/dist/chunk-RIHJAEOL.js +107 -0
  52. package/dist/chunk-RIHJAEOL.js.map +1 -0
  53. package/dist/{chunk-FHLZH3PB.mjs → chunk-SFRS4EZ5.mjs} +3 -3
  54. package/dist/chunk-SFRS4EZ5.mjs.map +1 -0
  55. package/dist/{chunk-KTGV76M3.mjs → chunk-SSJXWD2M.mjs} +3 -3
  56. package/dist/chunk-SSJXWD2M.mjs.map +1 -0
  57. package/dist/{chunk-YAO62VH2.js → chunk-UGH23TAH.js} +15 -15
  58. package/dist/chunk-UGH23TAH.js.map +1 -0
  59. package/dist/chunk-UPZ5XGUD.mjs +100 -0
  60. package/dist/chunk-UPZ5XGUD.mjs.map +1 -0
  61. package/dist/{chunk-4XVNQ7IY.mjs → chunk-UR7TNW45.mjs} +15 -15
  62. package/dist/chunk-UR7TNW45.mjs.map +1 -0
  63. package/dist/{chunk-HCGSEPOD.mjs → chunk-UROKWFPX.mjs} +7 -7
  64. package/dist/chunk-UROKWFPX.mjs.map +1 -0
  65. package/dist/chunk-V5JTDRV5.mjs +278 -0
  66. package/dist/chunk-V5JTDRV5.mjs.map +1 -0
  67. package/dist/{chunk-XRDVD2EN.js → chunk-X3O45MPI.js} +3 -3
  68. package/dist/{chunk-XRDVD2EN.js.map → chunk-X3O45MPI.js.map} +1 -1
  69. package/dist/{chunk-KEKMMNL5.mjs → chunk-XXRDLZW7.mjs} +3 -3
  70. package/dist/chunk-XXRDLZW7.mjs.map +1 -0
  71. package/dist/chunk-Z4KHAD6Y.js +295 -0
  72. package/dist/chunk-Z4KHAD6Y.js.map +1 -0
  73. package/dist/{chunk-NHQ3S4Y6.mjs → chunk-ZIFMIS7D.mjs} +15 -15
  74. package/dist/chunk-ZIFMIS7D.mjs.map +1 -0
  75. package/dist/chunk-ZUT7ZUM7.js +84 -0
  76. package/dist/chunk-ZUT7ZUM7.js.map +1 -0
  77. package/dist/chunk-ZX2IBIZT.js +92 -0
  78. package/dist/chunk-ZX2IBIZT.js.map +1 -0
  79. package/dist/design-system/accordion.d.ts +1 -1
  80. package/dist/design-system/alert.d.ts +5 -5
  81. package/dist/design-system/badge.d.ts +3 -3
  82. package/dist/design-system/card.d.ts +2 -2
  83. package/dist/design-system/checkbox.d.ts +10 -10
  84. package/dist/design-system/checkbox.d.ts.map +1 -1
  85. package/dist/design-system/command.d.ts +1 -1
  86. package/dist/design-system/command.d.ts.map +1 -1
  87. package/dist/design-system/context-menu.d.ts +41 -0
  88. package/dist/design-system/context-menu.d.ts.map +1 -0
  89. package/dist/design-system/drawer.d.ts +1 -1
  90. package/dist/design-system/dropdown.d.ts +31 -31
  91. package/dist/design-system/dropdown.d.ts.map +1 -1
  92. package/dist/design-system/file-upload.d.ts +15 -15
  93. package/dist/design-system/file-upload.d.ts.map +1 -1
  94. package/dist/design-system/index.d.ts +3 -0
  95. package/dist/design-system/index.d.ts.map +1 -1
  96. package/dist/design-system/inputs.d.ts +13 -13
  97. package/dist/design-system/inputs.d.ts.map +1 -1
  98. package/dist/design-system/modal.d.ts +1 -1
  99. package/dist/design-system/modal.d.ts.map +1 -1
  100. package/dist/design-system/pagination.d.ts +25 -25
  101. package/dist/design-system/popover.d.ts +19 -19
  102. package/dist/design-system/popover.d.ts.map +1 -1
  103. package/dist/design-system/radio-group.d.ts +10 -10
  104. package/dist/design-system/radio-group.d.ts.map +1 -1
  105. package/dist/design-system/scroll-area.d.ts +33 -0
  106. package/dist/design-system/scroll-area.d.ts.map +1 -0
  107. package/dist/design-system/select.d.ts +35 -35
  108. package/dist/design-system/select.d.ts.map +1 -1
  109. package/dist/design-system/skeleton.d.ts +13 -13
  110. package/dist/design-system/skeleton.d.ts.map +1 -1
  111. package/dist/design-system/slider.d.ts +23 -23
  112. package/dist/design-system/slider.d.ts.map +1 -1
  113. package/dist/design-system/stepper.d.ts +22 -22
  114. package/dist/design-system/table.d.ts +13 -13
  115. package/dist/design-system/tabs.d.ts +4 -4
  116. package/dist/design-system/tabs.d.ts.map +1 -1
  117. package/dist/design-system/timeline.d.ts +56 -0
  118. package/dist/design-system/timeline.d.ts.map +1 -0
  119. package/dist/design-system/toast.d.ts +17 -17
  120. package/dist/design-system/toast.d.ts.map +1 -1
  121. package/dist/design-system/toggle.d.ts +54 -54
  122. package/dist/design-system/toggle.d.ts.map +1 -1
  123. package/dist/design-system/tooltip.d.ts +20 -20
  124. package/dist/design-system/typography.d.ts +15 -15
  125. package/dist/ui/accordion/animated.js +7 -7
  126. package/dist/ui/accordion/animated.mjs +2 -2
  127. package/dist/ui/accordion.js +9 -9
  128. package/dist/ui/accordion.mjs +2 -2
  129. package/dist/ui/alert/animated/alert-animated.d.ts.map +1 -1
  130. package/dist/ui/alert/animated.js +2 -2
  131. package/dist/ui/alert/animated.js.map +1 -1
  132. package/dist/ui/alert/animated.mjs +1 -1
  133. package/dist/ui/alert/animated.mjs.map +1 -1
  134. package/dist/ui/alert.js +10 -10
  135. package/dist/ui/alert.mjs +2 -2
  136. package/dist/ui/badge/animated.js +2 -2
  137. package/dist/ui/badge/animated.mjs +1 -1
  138. package/dist/ui/badge/variants.d.ts +1 -1
  139. package/dist/ui/badge.js +4 -4
  140. package/dist/ui/badge.mjs +2 -2
  141. package/dist/ui/card/animated.js +7 -7
  142. package/dist/ui/card/animated.mjs +2 -2
  143. package/dist/ui/card.js +12 -12
  144. package/dist/ui/card.mjs +2 -2
  145. package/dist/ui/checkbox/animated.js +4 -4
  146. package/dist/ui/checkbox/animated.mjs +1 -1
  147. package/dist/ui/checkbox.js +8 -8
  148. package/dist/ui/checkbox.mjs +2 -2
  149. package/dist/ui/command/animated.js +2 -2
  150. package/dist/ui/command/animated.mjs +1 -1
  151. package/dist/ui/command.js +15 -15
  152. package/dist/ui/command.mjs +2 -2
  153. package/dist/ui/context-menu/context-menu.d.ts +11 -0
  154. package/dist/ui/context-menu/context-menu.d.ts.map +1 -0
  155. package/dist/ui/context-menu/index.d.ts +4 -0
  156. package/dist/ui/context-menu/index.d.ts.map +1 -0
  157. package/dist/ui/context-menu/types.d.ts +81 -0
  158. package/dist/ui/context-menu/types.d.ts.map +1 -0
  159. package/dist/ui/context-menu/variants.d.ts +7 -0
  160. package/dist/ui/context-menu/variants.d.ts.map +1 -0
  161. package/dist/ui/context-menu.js +500 -0
  162. package/dist/ui/context-menu.js.map +1 -0
  163. package/dist/ui/context-menu.mjs +488 -0
  164. package/dist/ui/context-menu.mjs.map +1 -0
  165. package/dist/ui/drawer/animated.js +11 -11
  166. package/dist/ui/drawer/animated.mjs +2 -2
  167. package/dist/ui/drawer.js +11 -11
  168. package/dist/ui/drawer.mjs +1 -1
  169. package/dist/ui/dropdown.js +9 -89
  170. package/dist/ui/dropdown.js.map +1 -1
  171. package/dist/ui/dropdown.mjs +1 -81
  172. package/dist/ui/dropdown.mjs.map +1 -1
  173. package/dist/ui/dynamic-stepper.js +47 -47
  174. package/dist/ui/dynamic-stepper.js.map +1 -1
  175. package/dist/ui/dynamic-stepper.mjs +47 -47
  176. package/dist/ui/dynamic-stepper.mjs.map +1 -1
  177. package/dist/ui/file-upload.js +15 -15
  178. package/dist/ui/file-upload.js.map +1 -1
  179. package/dist/ui/file-upload.mjs +15 -15
  180. package/dist/ui/file-upload.mjs.map +1 -1
  181. package/dist/ui/inputs/animated.js +3 -3
  182. package/dist/ui/inputs/animated.mjs +1 -1
  183. package/dist/ui/inputs.js +4 -4
  184. package/dist/ui/inputs.mjs +2 -2
  185. package/dist/ui/modal/animated.js +4 -4
  186. package/dist/ui/modal/animated.mjs +1 -1
  187. package/dist/ui/modal.js +12 -12
  188. package/dist/ui/modal.mjs +2 -2
  189. package/dist/ui/pagination.js +25 -25
  190. package/dist/ui/pagination.js.map +1 -1
  191. package/dist/ui/pagination.mjs +25 -25
  192. package/dist/ui/pagination.mjs.map +1 -1
  193. package/dist/ui/popover/animated.js +4 -4
  194. package/dist/ui/popover/animated.mjs +1 -1
  195. package/dist/ui/popover.js +7 -7
  196. package/dist/ui/popover.mjs +1 -1
  197. package/dist/ui/radio-group/animated.js +7 -7
  198. package/dist/ui/radio-group/animated.mjs +1 -1
  199. package/dist/ui/radio-group.js +11 -11
  200. package/dist/ui/radio-group.mjs +2 -2
  201. package/dist/ui/scroll-area/index.d.ts +4 -0
  202. package/dist/ui/scroll-area/index.d.ts.map +1 -0
  203. package/dist/ui/scroll-area/scroll-area.d.ts +6 -0
  204. package/dist/ui/scroll-area/scroll-area.d.ts.map +1 -0
  205. package/dist/ui/scroll-area/types.d.ts +8 -0
  206. package/dist/ui/scroll-area/types.d.ts.map +1 -0
  207. package/dist/ui/scroll-area/variants.d.ts +8 -0
  208. package/dist/ui/scroll-area/variants.d.ts.map +1 -0
  209. package/dist/ui/scroll-area.js +123 -0
  210. package/dist/ui/scroll-area.js.map +1 -0
  211. package/dist/ui/scroll-area.mjs +120 -0
  212. package/dist/ui/scroll-area.mjs.map +1 -0
  213. package/dist/ui/search.js +2 -2
  214. package/dist/ui/search.mjs +1 -1
  215. package/dist/ui/select.js +35 -35
  216. package/dist/ui/select.js.map +1 -1
  217. package/dist/ui/select.mjs +35 -35
  218. package/dist/ui/select.mjs.map +1 -1
  219. package/dist/ui/skeleton/animated.js +8 -8
  220. package/dist/ui/skeleton/animated.mjs +1 -1
  221. package/dist/ui/skeleton.js +9 -9
  222. package/dist/ui/skeleton.mjs +1 -1
  223. package/dist/ui/slider.js +23 -23
  224. package/dist/ui/slider.js.map +1 -1
  225. package/dist/ui/slider.mjs +23 -23
  226. package/dist/ui/slider.mjs.map +1 -1
  227. package/dist/ui/stepper.js +22 -22
  228. package/dist/ui/stepper.js.map +1 -1
  229. package/dist/ui/stepper.mjs +22 -22
  230. package/dist/ui/stepper.mjs.map +1 -1
  231. package/dist/ui/table/animated.js +8 -8
  232. package/dist/ui/table/animated.mjs +2 -2
  233. package/dist/ui/table.js +14 -14
  234. package/dist/ui/table.mjs +1 -1
  235. package/dist/ui/tabs/animated.js +2 -2
  236. package/dist/ui/tabs/animated.mjs +1 -1
  237. package/dist/ui/tabs.js +9 -9
  238. package/dist/ui/tabs.mjs +1 -1
  239. package/dist/ui/timeline/animated/animations.d.ts +8 -0
  240. package/dist/ui/timeline/animated/animations.d.ts.map +1 -0
  241. package/dist/ui/timeline/animated/index.d.ts +6 -0
  242. package/dist/ui/timeline/animated/index.d.ts.map +1 -0
  243. package/dist/ui/timeline/animated/timeline-item-animated.d.ts +8 -0
  244. package/dist/ui/timeline/animated/timeline-item-animated.d.ts.map +1 -0
  245. package/dist/ui/timeline/animated/types.d.ts +12 -0
  246. package/dist/ui/timeline/animated/types.d.ts.map +1 -0
  247. package/dist/ui/timeline/animated.js +94 -0
  248. package/dist/ui/timeline/animated.js.map +1 -0
  249. package/dist/ui/timeline/animated.mjs +71 -0
  250. package/dist/ui/timeline/animated.mjs.map +1 -0
  251. package/dist/ui/timeline/index.d.ts +4 -0
  252. package/dist/ui/timeline/index.d.ts.map +1 -0
  253. package/dist/ui/timeline/timeline-base.d.ts +37 -0
  254. package/dist/ui/timeline/timeline-base.d.ts.map +1 -0
  255. package/dist/ui/timeline/timeline.d.ts +8 -0
  256. package/dist/ui/timeline/timeline.d.ts.map +1 -0
  257. package/dist/ui/timeline/types.d.ts +38 -0
  258. package/dist/ui/timeline/types.d.ts.map +1 -0
  259. package/dist/ui/timeline/variants.d.ts +19 -0
  260. package/dist/ui/timeline/variants.d.ts.map +1 -0
  261. package/dist/ui/timeline.js +63 -0
  262. package/dist/ui/timeline.js.map +1 -0
  263. package/dist/ui/timeline.mjs +14 -0
  264. package/dist/ui/timeline.mjs.map +1 -0
  265. package/dist/ui/toast/animated.js +7 -7
  266. package/dist/ui/toast/animated.mjs +1 -1
  267. package/dist/ui/toast.js +12 -12
  268. package/dist/ui/toast.mjs +1 -1
  269. package/dist/ui/toggle/animated.js +4 -4
  270. package/dist/ui/toggle/animated.mjs +1 -1
  271. package/dist/ui/toggle.js +4 -4
  272. package/dist/ui/toggle.mjs +2 -2
  273. package/dist/ui/tooltip/animated.js +3 -3
  274. package/dist/ui/tooltip/animated.mjs +1 -1
  275. package/dist/ui/tooltip.js +7 -7
  276. package/dist/ui/tooltip.mjs +1 -1
  277. package/dist/ui/typography.js +15 -15
  278. package/dist/ui/typography.js.map +1 -1
  279. package/dist/ui/typography.mjs +15 -15
  280. package/dist/ui/typography.mjs.map +1 -1
  281. package/package.json +1 -1
  282. package/src/design-system/accordion.ts +1 -1
  283. package/src/design-system/alert.ts +5 -5
  284. package/src/design-system/badge.ts +3 -3
  285. package/src/design-system/card.ts +2 -2
  286. package/src/design-system/checkbox.ts +10 -12
  287. package/src/design-system/command.ts +1 -1
  288. package/src/design-system/context-menu.ts +44 -0
  289. package/src/design-system/drawer.ts +1 -1
  290. package/src/design-system/dropdown.ts +31 -31
  291. package/src/design-system/dynamic-stepper.ts +47 -47
  292. package/src/design-system/file-upload.ts +15 -15
  293. package/src/design-system/index.ts +3 -0
  294. package/src/design-system/inputs.ts +13 -13
  295. package/src/design-system/modal.ts +1 -1
  296. package/src/design-system/pagination.ts +25 -25
  297. package/src/design-system/popover.ts +19 -23
  298. package/src/design-system/radio-group.ts +10 -12
  299. package/src/design-system/scroll-area.ts +47 -0
  300. package/src/design-system/select.ts +36 -35
  301. package/src/design-system/skeleton.ts +20 -13
  302. package/src/design-system/slider.ts +23 -23
  303. package/src/design-system/stepper.ts +22 -22
  304. package/src/design-system/table.ts +13 -13
  305. package/src/design-system/tabs.ts +5 -4
  306. package/src/design-system/timeline.ts +87 -0
  307. package/src/design-system/toast.ts +17 -17
  308. package/src/design-system/toggle.ts +55 -54
  309. package/src/design-system/tooltip.ts +20 -20
  310. package/src/design-system/typography.ts +15 -15
  311. package/src/ui/alert/animated/alert-animated.tsx +1 -0
  312. package/src/ui/context-menu/context-menu.test.tsx +176 -0
  313. package/src/ui/context-menu/context-menu.tsx +536 -0
  314. package/src/ui/context-menu/index.ts +29 -0
  315. package/src/ui/context-menu/types.ts +110 -0
  316. package/src/ui/context-menu/variants.ts +26 -0
  317. package/src/ui/scroll-area/index.ts +5 -0
  318. package/src/ui/scroll-area/scroll-area.test.tsx +116 -0
  319. package/src/ui/scroll-area/scroll-area.tsx +62 -0
  320. package/src/ui/scroll-area/types.ts +11 -0
  321. package/src/ui/scroll-area/variants.ts +44 -0
  322. package/src/ui/timeline/animated/animations.ts +16 -0
  323. package/src/ui/timeline/animated/index.ts +22 -0
  324. package/src/ui/timeline/animated/timeline-item-animated.tsx +76 -0
  325. package/src/ui/timeline/animated/types.ts +21 -0
  326. package/src/ui/timeline/index.ts +30 -0
  327. package/src/ui/timeline/timeline-base.tsx +232 -0
  328. package/src/ui/timeline/timeline.test.tsx +262 -0
  329. package/src/ui/timeline/timeline.tsx +24 -0
  330. package/src/ui/timeline/types.ts +61 -0
  331. package/src/ui/timeline/variants.ts +60 -0
  332. package/dist/chunk-4XVNQ7IY.mjs.map +0 -1
  333. package/dist/chunk-4ZKBLVQX.js.map +0 -1
  334. package/dist/chunk-6QQUQLPB.js +0 -107
  335. package/dist/chunk-6QQUQLPB.js.map +0 -1
  336. package/dist/chunk-ACGVDY5J.mjs.map +0 -1
  337. package/dist/chunk-BC6M42HQ.mjs.map +0 -1
  338. package/dist/chunk-BTJYXKCW.js.map +0 -1
  339. package/dist/chunk-CL55KGDF.js.map +0 -1
  340. package/dist/chunk-EDARAO7X.js.map +0 -1
  341. package/dist/chunk-EN4VLNBF.js +0 -197
  342. package/dist/chunk-EN4VLNBF.js.map +0 -1
  343. package/dist/chunk-FHLZH3PB.mjs.map +0 -1
  344. package/dist/chunk-HCGSEPOD.mjs.map +0 -1
  345. package/dist/chunk-HMNIH3KJ.mjs.map +0 -1
  346. package/dist/chunk-ITVMSCOJ.mjs.map +0 -1
  347. package/dist/chunk-K6IZANTI.mjs +0 -80
  348. package/dist/chunk-K6IZANTI.mjs.map +0 -1
  349. package/dist/chunk-K7TCW5PJ.js.map +0 -1
  350. package/dist/chunk-KEKMMNL5.mjs.map +0 -1
  351. package/dist/chunk-KTGV76M3.mjs.map +0 -1
  352. package/dist/chunk-MTTXLC2V.mjs +0 -100
  353. package/dist/chunk-MTTXLC2V.mjs.map +0 -1
  354. package/dist/chunk-NHQ3S4Y6.mjs.map +0 -1
  355. package/dist/chunk-NZDHSIIC.js.map +0 -1
  356. package/dist/chunk-OZMSE44N.mjs.map +0 -1
  357. package/dist/chunk-P5WLYJ2C.mjs.map +0 -1
  358. package/dist/chunk-PHEUJ4EF.js +0 -84
  359. package/dist/chunk-PHEUJ4EF.js.map +0 -1
  360. package/dist/chunk-PMWRJ2KS.mjs +0 -192
  361. package/dist/chunk-PMWRJ2KS.mjs.map +0 -1
  362. package/dist/chunk-PR4QXFJT.js.map +0 -1
  363. package/dist/chunk-QAJOE3HJ.js.map +0 -1
  364. package/dist/chunk-QBPVJH4P.mjs.map +0 -1
  365. package/dist/chunk-QSPXPU72.js.map +0 -1
  366. package/dist/chunk-QXHS3HHZ.mjs.map +0 -1
  367. package/dist/chunk-QYLTKBH7.js.map +0 -1
  368. package/dist/chunk-WPXQHWPV.js.map +0 -1
  369. package/dist/chunk-YAO62VH2.js.map +0 -1
  370. package/dist/chunk-ZYKJC5HH.js.map +0 -1
@@ -0,0 +1,262 @@
1
+ import { createRef } from "react";
2
+ import { render, screen } from "@testing-library/react";
3
+ import { describe, expect, it } from "vitest";
4
+
5
+ import {
6
+ Timeline,
7
+ TimelineContent,
8
+ TimelineDescription,
9
+ TimelineIndicator,
10
+ TimelineItem,
11
+ TimelineTitle,
12
+ } from "./timeline";
13
+
14
+ describe("Timeline", () => {
15
+ it("should expose displayName", () => {
16
+ expect(Timeline.displayName).toBe("Timeline");
17
+ expect(TimelineItem.displayName).toBe("TimelineItem");
18
+ expect(TimelineIndicator.displayName).toBe("TimelineIndicator");
19
+ expect(TimelineContent.displayName).toBe("TimelineContent");
20
+ expect(TimelineTitle.displayName).toBe("TimelineTitle");
21
+ expect(TimelineDescription.displayName).toBe("TimelineDescription");
22
+ });
23
+
24
+ it("should stamp data-slot on timeline root and use ordered list markup", () => {
25
+ render(
26
+ <Timeline>
27
+ <TimelineItem>
28
+ <TimelineIndicator />
29
+ <TimelineContent>
30
+ <TimelineTitle>One</TimelineTitle>
31
+ </TimelineContent>
32
+ </TimelineItem>
33
+ </Timeline>,
34
+ );
35
+ const root = document.querySelector('[data-slot="timeline"]');
36
+ expect(root).toBeTruthy();
37
+ expect(root?.tagName).toBe("OL");
38
+ expect(document.querySelector('[data-slot="timeline-item"]')?.tagName).toBe(
39
+ "LI",
40
+ );
41
+ });
42
+
43
+ it("should apply default indicator appearance from the root", () => {
44
+ render(
45
+ <Timeline>
46
+ <TimelineItem>
47
+ <TimelineIndicator />
48
+ <TimelineContent>
49
+ <TimelineTitle>Cart</TimelineTitle>
50
+ </TimelineContent>
51
+ </TimelineItem>
52
+ </Timeline>,
53
+ );
54
+ const indicator = document.querySelector(
55
+ '[data-slot="timeline-indicator"]',
56
+ );
57
+ expect(indicator?.className).toContain(
58
+ "--zui-timeline-indicator-default-border",
59
+ );
60
+ });
61
+
62
+ it("should inherit appearance from the Timeline root", () => {
63
+ render(
64
+ <Timeline appearance="sky">
65
+ <TimelineItem>
66
+ <TimelineIndicator />
67
+ <TimelineContent>
68
+ <TimelineTitle>Sky</TimelineTitle>
69
+ </TimelineContent>
70
+ </TimelineItem>
71
+ </Timeline>,
72
+ );
73
+ const indicator = document.querySelector(
74
+ '[data-slot="timeline-indicator"]',
75
+ );
76
+ expect(indicator?.className).toContain(
77
+ "--zui-timeline-indicator-sky-border",
78
+ );
79
+ });
80
+
81
+ it("should let an indicator override the root appearance", () => {
82
+ render(
83
+ <Timeline appearance="sky">
84
+ <TimelineItem>
85
+ <TimelineIndicator />
86
+ <TimelineContent>
87
+ <TimelineTitle>Default sky</TimelineTitle>
88
+ </TimelineContent>
89
+ </TimelineItem>
90
+ <TimelineItem>
91
+ <TimelineIndicator appearance="rose" />
92
+ <TimelineContent>
93
+ <TimelineTitle>Override rose</TimelineTitle>
94
+ </TimelineContent>
95
+ </TimelineItem>
96
+ </Timeline>,
97
+ );
98
+ const indicators = document.querySelectorAll(
99
+ '[data-slot="timeline-indicator"]',
100
+ );
101
+ expect(indicators[0]?.className).toContain(
102
+ "--zui-timeline-indicator-sky-border",
103
+ );
104
+ expect(indicators[1]?.className).toContain(
105
+ "--zui-timeline-indicator-rose-border",
106
+ );
107
+ });
108
+
109
+ it("should pass size from Timeline context to indicators", () => {
110
+ render(
111
+ <Timeline size="sm">
112
+ <TimelineItem>
113
+ <TimelineIndicator />
114
+ <TimelineContent>
115
+ <TimelineTitle>Small</TimelineTitle>
116
+ </TimelineContent>
117
+ </TimelineItem>
118
+ </Timeline>,
119
+ );
120
+ const indicator = document.querySelector(
121
+ '[data-slot="timeline-indicator"]',
122
+ );
123
+ expect(indicator?.className).toMatch(/size-5/);
124
+ });
125
+
126
+ it("should render a connector on every item except the last", () => {
127
+ render(
128
+ <Timeline>
129
+ <TimelineItem>
130
+ <TimelineIndicator />
131
+ <TimelineContent>
132
+ <TimelineTitle>First</TimelineTitle>
133
+ </TimelineContent>
134
+ </TimelineItem>
135
+ <TimelineItem>
136
+ <TimelineIndicator />
137
+ <TimelineContent>
138
+ <TimelineTitle>Second</TimelineTitle>
139
+ </TimelineContent>
140
+ </TimelineItem>
141
+ <TimelineItem>
142
+ <TimelineIndicator />
143
+ <TimelineContent>
144
+ <TimelineTitle>Third</TimelineTitle>
145
+ </TimelineContent>
146
+ </TimelineItem>
147
+ </Timeline>,
148
+ );
149
+ const connectors = document.querySelectorAll(
150
+ '[data-slot="timeline-connector"]',
151
+ );
152
+ expect(connectors).toHaveLength(2);
153
+ const items = document.querySelectorAll('[data-slot="timeline-item"]');
154
+ expect(items[2]?.hasAttribute("data-last")).toBe(true);
155
+ expect(items[0]?.hasAttribute("data-last")).toBe(false);
156
+ });
157
+
158
+ it("should drop bottom padding on the last item's content", () => {
159
+ render(
160
+ <Timeline>
161
+ <TimelineItem>
162
+ <TimelineIndicator />
163
+ <TimelineContent data-testid="first">
164
+ <TimelineTitle>First</TimelineTitle>
165
+ </TimelineContent>
166
+ </TimelineItem>
167
+ <TimelineItem>
168
+ <TimelineIndicator />
169
+ <TimelineContent data-testid="last">
170
+ <TimelineTitle>Last</TimelineTitle>
171
+ </TimelineContent>
172
+ </TimelineItem>
173
+ </Timeline>,
174
+ );
175
+ expect(screen.getByTestId("first").className).toMatch(/pb-6/);
176
+ expect(screen.getByTestId("last").className).toMatch(/pb-0/);
177
+ expect(screen.getByTestId("last").className).not.toMatch(/pb-6/);
178
+ });
179
+
180
+ it("should render custom indicator children", () => {
181
+ render(
182
+ <Timeline>
183
+ <TimelineItem>
184
+ <TimelineIndicator>✓</TimelineIndicator>
185
+ <TimelineContent>
186
+ <TimelineTitle>Check</TimelineTitle>
187
+ </TimelineContent>
188
+ </TimelineItem>
189
+ </Timeline>,
190
+ );
191
+ expect(screen.getByText("✓")).toBeInTheDocument();
192
+ });
193
+
194
+ it("should stamp data-slot on content, title and description", () => {
195
+ render(
196
+ <Timeline>
197
+ <TimelineItem>
198
+ <TimelineIndicator />
199
+ <TimelineContent data-testid="c">
200
+ <TimelineTitle data-testid="t">T</TimelineTitle>
201
+ <TimelineDescription data-testid="d">D</TimelineDescription>
202
+ </TimelineContent>
203
+ </TimelineItem>
204
+ </Timeline>,
205
+ );
206
+ expect(document.querySelector('[data-slot="timeline-content"]')).toBe(
207
+ screen.getByTestId("c"),
208
+ );
209
+ expect(document.querySelector('[data-slot="timeline-title"]')).toBe(
210
+ screen.getByTestId("t"),
211
+ );
212
+ expect(document.querySelector('[data-slot="timeline-description"]')).toBe(
213
+ screen.getByTestId("d"),
214
+ );
215
+ });
216
+
217
+ it("should forward ref on Timeline", () => {
218
+ const ref = createRef<HTMLOListElement>();
219
+ render(
220
+ <Timeline ref={ref}>
221
+ <TimelineItem>
222
+ <TimelineIndicator />
223
+ <TimelineContent>
224
+ <TimelineTitle>A</TimelineTitle>
225
+ </TimelineContent>
226
+ </TimelineItem>
227
+ </Timeline>,
228
+ );
229
+ expect(ref.current?.getAttribute("data-slot")).toBe("timeline");
230
+ });
231
+
232
+ it("should forward ref on TimelineItem", () => {
233
+ const ref = createRef<HTMLLIElement>();
234
+ render(
235
+ <Timeline>
236
+ <TimelineItem ref={ref}>
237
+ <TimelineIndicator />
238
+ <TimelineContent>
239
+ <TimelineTitle>A</TimelineTitle>
240
+ </TimelineContent>
241
+ </TimelineItem>
242
+ </Timeline>,
243
+ );
244
+ expect(ref.current?.getAttribute("data-slot")).toBe("timeline-item");
245
+ });
246
+
247
+ it("should throw when TimelineItem is used outside Timeline", () => {
248
+ expect(() =>
249
+ render(
250
+ <TimelineItem>
251
+ <TimelineIndicator />
252
+ </TimelineItem>,
253
+ ),
254
+ ).toThrow(/must be used within <Timeline>/);
255
+ });
256
+
257
+ it("should throw when TimelineIndicator is used outside Timeline", () => {
258
+ expect(() => render(<TimelineIndicator />)).toThrow(
259
+ /must be used within <Timeline>/,
260
+ );
261
+ });
262
+ });
@@ -0,0 +1,24 @@
1
+ // timeline.tsx — default static entry (no framer-motion)
2
+ import {
3
+ Timeline as TimelineBase,
4
+ TimelineContent,
5
+ TimelineDescription,
6
+ TimelineIndicator,
7
+ TimelineItem,
8
+ TimelineTitle,
9
+ } from "./timeline-base";
10
+ import type { TimelineProps } from "./types";
11
+
12
+ export function Timeline(props: TimelineProps) {
13
+ return <TimelineBase {...props} />;
14
+ }
15
+
16
+ Timeline.displayName = "Timeline";
17
+
18
+ export {
19
+ TimelineContent,
20
+ TimelineDescription,
21
+ TimelineIndicator,
22
+ TimelineItem,
23
+ TimelineTitle,
24
+ };
@@ -0,0 +1,61 @@
1
+ import type { VariantProps } from "class-variance-authority";
2
+ import type {
3
+ ComponentPropsWithRef,
4
+ ComponentPropsWithoutRef,
5
+ ReactNode,
6
+ } from "react";
7
+
8
+ import type { TimelineTransition } from "./animated/animations";
9
+ import type {
10
+ timelineIndicatorVariants,
11
+ timelineVariants,
12
+ } from "./variants";
13
+
14
+ export type { TimelineTransition };
15
+
16
+ type TimelineVariantProps = VariantProps<typeof timelineVariants>;
17
+
18
+ export type TimelineAppearance = NonNullable<
19
+ VariantProps<typeof timelineIndicatorVariants>["appearance"]
20
+ >;
21
+
22
+ export type TimelineSize = NonNullable<
23
+ VariantProps<typeof timelineIndicatorVariants>["size"]
24
+ >;
25
+
26
+ export type TimelineProps = TimelineVariantProps & {
27
+ /** Default indicator appearance applied to every item (overridable per indicator). */
28
+ appearance?: TimelineAppearance;
29
+ /** Controls indicator size, content spacing, and text scale. */
30
+ size?: TimelineSize;
31
+ children?: ReactNode;
32
+ } & Omit<ComponentPropsWithRef<"ol">, "children">;
33
+
34
+ export type TimelineItemProps = ComponentPropsWithRef<"li"> & {
35
+ children?: ReactNode;
36
+ };
37
+
38
+ export type TimelineIndicatorProps = ComponentPropsWithoutRef<"div"> & {
39
+ /** Override the appearance inherited from the Timeline root. */
40
+ appearance?: TimelineAppearance;
41
+ children?: ReactNode;
42
+ };
43
+
44
+ export type TimelineContentProps = ComponentPropsWithoutRef<"div"> & {
45
+ children?: ReactNode;
46
+ };
47
+
48
+ export type TimelineTitleProps = ComponentPropsWithoutRef<"div">;
49
+
50
+ export type TimelineDescriptionProps = ComponentPropsWithoutRef<"p">;
51
+
52
+ export type TimelineCtx = {
53
+ appearance: TimelineAppearance;
54
+ size: TimelineSize;
55
+ total: number;
56
+ };
57
+
58
+ export type TimelineItemCtx = {
59
+ index: number;
60
+ isLast: boolean;
61
+ };
@@ -0,0 +1,60 @@
1
+ import { cva } from "class-variance-authority";
2
+
3
+ import {
4
+ zuiTimelineBase,
5
+ zuiTimelineConnectorBase,
6
+ zuiTimelineConnectorSizes,
7
+ zuiTimelineContentBase,
8
+ zuiTimelineContentSizes,
9
+ zuiTimelineDescriptionBase,
10
+ zuiTimelineDescriptionSizes,
11
+ zuiTimelineIndicatorAppearances,
12
+ zuiTimelineIndicatorBase,
13
+ zuiTimelineIndicatorSizes,
14
+ zuiTimelineItemBase,
15
+ zuiTimelineTitleBase,
16
+ zuiTimelineTitleSizes,
17
+ } from "../../design-system/timeline";
18
+
19
+ export const timelineVariants = cva(zuiTimelineBase);
20
+
21
+ export const timelineItemVariants = cva(zuiTimelineItemBase);
22
+
23
+ export const timelineConnectorVariants = cva(zuiTimelineConnectorBase, {
24
+ variants: {
25
+ size: zuiTimelineConnectorSizes,
26
+ },
27
+ defaultVariants: { size: "md" },
28
+ });
29
+
30
+ export const timelineIndicatorVariants = cva(zuiTimelineIndicatorBase, {
31
+ variants: {
32
+ appearance: zuiTimelineIndicatorAppearances,
33
+ size: zuiTimelineIndicatorSizes,
34
+ },
35
+ defaultVariants: {
36
+ appearance: "default",
37
+ size: "md",
38
+ },
39
+ });
40
+
41
+ export const timelineContentVariants = cva(zuiTimelineContentBase, {
42
+ variants: {
43
+ size: zuiTimelineContentSizes,
44
+ },
45
+ defaultVariants: { size: "md" },
46
+ });
47
+
48
+ export const timelineTitleVariants = cva(zuiTimelineTitleBase, {
49
+ variants: {
50
+ size: zuiTimelineTitleSizes,
51
+ },
52
+ defaultVariants: { size: "md" },
53
+ });
54
+
55
+ export const timelineDescriptionVariants = cva(zuiTimelineDescriptionBase, {
56
+ variants: {
57
+ size: zuiTimelineDescriptionSizes,
58
+ },
59
+ defaultVariants: { size: "md" },
60
+ });
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/design-system/skeleton.ts","../src/ui/skeleton/variants.ts","../src/ui/skeleton/skeleton-base.tsx"],"names":[],"mappings":"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","file":"chunk-4XVNQ7IY.mjs","sourcesContent":["const shimmerLayer =\n \"[background-size:220%_100%] [background-repeat:no-repeat] [background-position:100%_0%]\";\n\nexport const zuiSkeletonShimmerGradientClasses = {\n default: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(255,255,255,0.04),rgba(255,255,255,0.22),rgba(255,255,255,0.04))]`,\n subtle: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(255,255,255,0.03),rgba(255,255,255,0.14),rgba(255,255,255,0.03))]`,\n muted: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(255,255,255,0.02),rgba(255,255,255,0.1),rgba(255,255,255,0.02))]`,\n sky: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(56,189,248,0.1),rgba(56,189,248,0.42),rgba(56,189,248,0.1))]`,\n rose: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,113,133,0.1),rgba(251,113,133,0.42),rgba(251,113,133,0.1))]`,\n purple: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(192,132,252,0.1),rgba(192,132,252,0.42),rgba(192,132,252,0.1))]`,\n pink: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(244,114,182,0.1),rgba(244,114,182,0.42),rgba(244,114,182,0.1))]`,\n orange: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,146,60,0.1),rgba(251,146,60,0.42),rgba(251,146,60,0.1))]`,\n yellow: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(250,204,21,0.12),rgba(250,204,21,0.4),rgba(250,204,21,0.12))]`,\n teal: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(45,212,191,0.1),rgba(45,212,191,0.42),rgba(45,212,191,0.1))]`,\n indigo: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(129,140,248,0.1),rgba(129,140,248,0.42),rgba(129,140,248,0.1))]`,\n emerald: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(52,211,153,0.1),rgba(52,211,153,0.42),rgba(52,211,153,0.1))]`,\n gray: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(161,161,170,0.1),rgba(161,161,170,0.38),rgba(161,161,170,0.1))]`,\n amber: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,191,36,0.12),rgba(251,191,36,0.42),rgba(251,191,36,0.12))]`,\n violet: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(167,139,250,0.1),rgba(167,139,250,0.42),rgba(167,139,250,0.1))]`,\n \"gradient-blue\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(100,149,237,0.1),rgba(100,149,237,0.42),rgba(100,149,237,0.1))]`,\n \"gradient-green\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(52,211,153,0.1),rgba(52,211,153,0.42),rgba(52,211,153,0.1))]`,\n \"gradient-red\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(239,68,68,0.1),rgba(239,68,68,0.42),rgba(239,68,68,0.1))]`,\n \"gradient-yellow\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(250,204,21,0.12),rgba(250,204,21,0.42),rgba(250,204,21,0.12))]`,\n \"gradient-purple\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(167,139,250,0.1),rgba(167,139,250,0.42),rgba(167,139,250,0.1))]`,\n \"gradient-teal\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(45,212,191,0.1),rgba(45,212,191,0.42),rgba(45,212,191,0.1))]`,\n \"gradient-indigo\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(129,140,248,0.1),rgba(129,140,248,0.42),rgba(129,140,248,0.1))]`,\n \"gradient-pink\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(244,114,182,0.1),rgba(244,114,182,0.42),rgba(244,114,182,0.1))]`,\n \"gradient-orange\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,146,60,0.1),rgba(251,146,60,0.42),rgba(251,146,60,0.1))]`,\n} as const;\n\nexport type ZuiSkeletonShimmerTone =\n keyof typeof zuiSkeletonShimmerGradientClasses;\n\nexport const zuiSkeletonBase =\n \"relative overflow-hidden bg-[var(--zui-skeleton-bg,#0000001a)] dark:bg-[var(--zui-skeleton-bg-dark,#ffffff1a)] text-[color:var(--zui-skeleton-fg,transparent)]\";\n\nexport const zuiSkeletonAppearances = {\n default:\n \"bg-[var(--zui-skeleton-default-bg,#0000001a)] dark:bg-[var(--zui-skeleton-default-bg-dark,#ffffff1a)]\",\n subtle:\n \"bg-[var(--zui-skeleton-subtle-bg,#00000012)] dark:bg-[var(--zui-skeleton-subtle-bg-dark,#ffffff12)]\",\n muted:\n \"bg-[var(--zui-skeleton-muted-bg,oklch(92.9%_0.013_255.508_/_0.8))] dark:bg-[var(--zui-skeleton-muted-bg-dark,oklch(27.9%_0.041_260.031_/_0.8))]\",\n sky: \"bg-[var(--zui-skeleton-sky-bg,oklch(68.5%_0.169_237.323_/_0.1))]\",\n rose: \"bg-[var(--zui-skeleton-rose-bg,oklch(64.5%_0.246_16.439_/_0.1))]\",\n purple: \"bg-[var(--zui-skeleton-purple-bg,oklch(62.7%_0.265_303.9_/_0.1))]\",\n pink: \"bg-[var(--zui-skeleton-pink-bg,oklch(65.6%_0.241_354.308_/_0.1))]\",\n orange: \"bg-[var(--zui-skeleton-orange-bg,oklch(70.5%_0.213_47.604_/_0.1))]\",\n yellow: \"bg-[var(--zui-skeleton-yellow-bg,oklch(79.5%_0.184_86.047_/_0.1))]\",\n teal: \"bg-[var(--zui-skeleton-teal-bg,oklch(70.4%_0.14_182.503_/_0.1))]\",\n indigo: \"bg-[var(--zui-skeleton-indigo-bg,oklch(58.5%_0.233_277.117_/_0.1))]\",\n emerald: \"bg-[var(--zui-skeleton-emerald-bg,oklch(69.6%_0.17_162.48_/_0.1))]\",\n gray: \"bg-[var(--zui-skeleton-gray-bg,oklch(55.1%_0.027_264.364_/_0.1))]\",\n amber: \"bg-[var(--zui-skeleton-amber-bg,oklch(76.9%_0.188_70.08_/_0.1))]\",\n violet: \"bg-[var(--zui-skeleton-violet-bg,oklch(60.6%_0.25_292.717_/_0.1))]\",\n \"gradient-blue\":\n \"bg-linear-to-r from-[var(--zui-skeleton-gradient-blue-from,oklch(42.4%_0.199_265.638))] dark:from-[var(--zui-skeleton-gradient-blue-from-dark,oklch(54.6%_0.245_262.881))] to-[var(--zui-skeleton-gradient-blue-to,oklch(43.8%_0.218_303.724))] dark:to-[var(--zui-skeleton-gradient-blue-to-dark,oklch(55.8%_0.288_302.321))]\",\n \"gradient-green\":\n \"bg-linear-to-r from-[var(--zui-skeleton-gradient-green-from,oklch(44.8%_0.119_151.328))] dark:from-[var(--zui-skeleton-gradient-green-from-dark,oklch(62.7%_0.194_149.214))] to-[var(--zui-skeleton-gradient-green-to,oklch(45.3%_0.124_130.933))] dark:to-[var(--zui-skeleton-gradient-green-to-dark,oklch(64.8%_0.2_131.684))]\",\n \"gradient-red\":\n \"bg-linear-to-r from-[var(--zui-skeleton-gradient-red-from,oklch(44.4%_0.177_26.899))] dark:from-[var(--zui-skeleton-gradient-red-from-dark,oklch(57.7%_0.245_27.325))] to-[var(--zui-skeleton-gradient-red-to,oklch(45.9%_0.187_3.815))] dark:to-[var(--zui-skeleton-gradient-red-to-dark,oklch(59.2%_0.249_0.584))]\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-[var(--zui-skeleton-gradient-yellow-from,oklch(47.6%_0.114_61.907))] dark:from-[var(--zui-skeleton-gradient-yellow-from-dark,oklch(68.1%_0.162_75.834))] to-[var(--zui-skeleton-gradient-yellow-to,oklch(47%_0.157_37.304))] dark:to-[var(--zui-skeleton-gradient-yellow-to-dark,oklch(64.6%_0.222_41.116))]\",\n \"gradient-purple\":\n \"bg-linear-to-r from-[var(--zui-skeleton-gradient-purple-from,oklch(43.8%_0.218_303.724))] dark:from-[var(--zui-skeleton-gradient-purple-from-dark,oklch(55.8%_0.288_302.321))] to-[var(--zui-skeleton-gradient-purple-to,oklch(45.9%_0.187_3.815))] dark:to-[var(--zui-skeleton-gradient-purple-to-dark,oklch(59.2%_0.249_0.584))]\",\n \"gradient-teal\":\n \"bg-linear-to-r from-[var(--zui-skeleton-gradient-teal-from,oklch(43.7%_0.078_188.216))] dark:from-[var(--zui-skeleton-gradient-teal-from-dark,oklch(60%_0.118_184.704))] to-[var(--zui-skeleton-gradient-teal-to,oklch(45%_0.085_224.283))] dark:to-[var(--zui-skeleton-gradient-teal-to-dark,oklch(60.9%_0.126_221.723))]\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-[var(--zui-skeleton-gradient-indigo-from,oklch(39.8%_0.195_277.366))] dark:from-[var(--zui-skeleton-gradient-indigo-from-dark,oklch(51.1%_0.262_276.966))] to-[var(--zui-skeleton-gradient-indigo-to,oklch(43.8%_0.218_303.724))] dark:to-[var(--zui-skeleton-gradient-indigo-to-dark,oklch(55.8%_0.288_302.321))]\",\n \"gradient-pink\":\n \"bg-linear-to-r from-[var(--zui-skeleton-gradient-pink-from,oklch(45.9%_0.187_3.815))] dark:from-[var(--zui-skeleton-gradient-pink-from-dark,oklch(59.2%_0.249_0.584))] to-[var(--zui-skeleton-gradient-pink-to,oklch(45.5%_0.188_13.697))] dark:to-[var(--zui-skeleton-gradient-pink-to-dark,oklch(58.6%_0.253_17.585))]\",\n \"gradient-orange\":\n \"bg-linear-to-r from-[var(--zui-skeleton-gradient-orange-from,oklch(47%_0.157_37.304))] dark:from-[var(--zui-skeleton-gradient-orange-from-dark,oklch(64.6%_0.222_41.116))] to-[var(--zui-skeleton-gradient-orange-to,oklch(44.4%_0.177_26.899))] dark:to-[var(--zui-skeleton-gradient-orange-to-dark,oklch(57.7%_0.245_27.325))]\",\n} as const;\n\nexport const zuiSkeletonSizes = {\n sm: \"min-h-3\",\n md: \"min-h-4\",\n lg: \"min-h-6\",\n} as const;\n\nexport const zuiSkeletonRounded = {\n none: \"rounded-none\",\n sm: \"rounded-md\",\n md: \"rounded-lg\",\n lg: \"rounded-xl\",\n full: \"rounded-full\",\n} as const;\n\nexport const zuiSkeletonAnimations = {\n none: \"\",\n shimmer: \"\",\n pulse: \"\",\n} as const;\n\nexport const zuiSkeletonShimmerTones = {\n default: \"\",\n subtle: \"\",\n muted: \"\",\n sky: \"\",\n rose: \"\",\n purple: \"\",\n pink: \"\",\n orange: \"\",\n yellow: \"\",\n teal: \"\",\n indigo: \"\",\n emerald: \"\",\n gray: \"\",\n amber: \"\",\n violet: \"\",\n \"gradient-blue\": \"\",\n \"gradient-green\": \"\",\n \"gradient-red\": \"\",\n \"gradient-yellow\": \"\",\n \"gradient-purple\": \"\",\n \"gradient-teal\": \"\",\n \"gradient-indigo\": \"\",\n \"gradient-pink\": \"\",\n \"gradient-orange\": \"\",\n} as const;\n\nexport const zuiSkeletonTextLineBase = \"block w-full\";\n\nexport const zuiSkeletonTextLineSizes = {\n sm: \"h-2.5\",\n md: \"h-3\",\n lg: \"h-4\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiSkeletonAnimations,\n zuiSkeletonAppearances,\n zuiSkeletonBase,\n zuiSkeletonRounded,\n zuiSkeletonShimmerGradientClasses,\n zuiSkeletonShimmerTones,\n zuiSkeletonSizes,\n zuiSkeletonTextLineBase,\n zuiSkeletonTextLineSizes,\n type ZuiSkeletonShimmerTone,\n} from \"../../design-system/skeleton\";\n\nexport const skeletonShimmerGradientClasses = zuiSkeletonShimmerGradientClasses;\nexport type SkeletonShimmerTone = ZuiSkeletonShimmerTone;\n\nexport const skeletonVariants = cva(zuiSkeletonBase, {\n variants: {\n appearance: zuiSkeletonAppearances,\n size: zuiSkeletonSizes,\n rounded: zuiSkeletonRounded,\n animation: zuiSkeletonAnimations,\n shimmerTone: zuiSkeletonShimmerTones,\n },\n compoundVariants: [\n {\n animation: \"shimmer\",\n shimmerTone: \"default\",\n class: skeletonShimmerGradientClasses.default,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"muted\",\n class: skeletonShimmerGradientClasses.subtle,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"subtle\",\n class: skeletonShimmerGradientClasses.subtle,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"sky\",\n class: skeletonShimmerGradientClasses.sky,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"rose\",\n class: skeletonShimmerGradientClasses.rose,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"purple\",\n class: skeletonShimmerGradientClasses.purple,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"pink\",\n class: skeletonShimmerGradientClasses.pink,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"orange\",\n class: skeletonShimmerGradientClasses.orange,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"yellow\",\n class: skeletonShimmerGradientClasses.yellow,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"teal\",\n class: skeletonShimmerGradientClasses.teal,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"indigo\",\n class: skeletonShimmerGradientClasses.indigo,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"emerald\",\n class: skeletonShimmerGradientClasses.emerald,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gray\",\n class: skeletonShimmerGradientClasses.gray,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"amber\",\n class: skeletonShimmerGradientClasses.amber,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"violet\",\n class: skeletonShimmerGradientClasses.violet,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-blue\",\n class: skeletonShimmerGradientClasses[\"gradient-blue\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-green\",\n class: skeletonShimmerGradientClasses[\"gradient-green\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-red\",\n class: skeletonShimmerGradientClasses[\"gradient-red\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-yellow\",\n class: skeletonShimmerGradientClasses[\"gradient-yellow\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-purple\",\n class: skeletonShimmerGradientClasses[\"gradient-purple\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-teal\",\n class: skeletonShimmerGradientClasses[\"gradient-teal\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-indigo\",\n class: skeletonShimmerGradientClasses[\"gradient-indigo\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-pink\",\n class: skeletonShimmerGradientClasses[\"gradient-pink\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-orange\",\n class: skeletonShimmerGradientClasses[\"gradient-orange\"],\n },\n {\n animation: \"pulse\",\n class: \"\",\n },\n ],\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n rounded: \"md\",\n animation: \"shimmer\",\n shimmerTone: \"default\",\n },\n});\n\nexport const skeletonTextLineVariants = cva(zuiSkeletonTextLineBase, {\n variants: {\n size: zuiSkeletonTextLineSizes,\n },\n defaultVariants: { size: \"md\" },\n});\n","\"use client\";\n\nimport { createContext, useContext, useMemo } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type {\n SkeletonAnimation,\n SkeletonAvatarProps,\n SkeletonButtonProps,\n SkeletonCardProps,\n SkeletonProps,\n SkeletonTextProps,\n} from \"./types\";\nimport { skeletonTextLineVariants, skeletonVariants } from \"./variants\";\n\nexport const SkeletonAnimationContext = createContext<\n SkeletonAnimation | undefined\n>(undefined);\n\nexport function useSkeletonAnimation(\n fallback: SkeletonAnimation,\n): SkeletonAnimation {\n const value = useContext(SkeletonAnimationContext);\n return value ?? fallback;\n}\n\nfunction skeletonMotionClass(animation: SkeletonAnimation): string {\n if (animation === \"none\") {\n return \"\";\n }\n return \"animate-pulse\";\n}\n\nexport function SkeletonBase(props: SkeletonProps) {\n const {\n className,\n appearance,\n size,\n rounded,\n animation = \"shimmer\",\n shimmerTone,\n busy,\n children,\n ref,\n as: Wrapper = \"div\",\n ...rest\n } = props;\n const ctx = useMemo(() => animation, [animation]);\n\n return (\n <SkeletonAnimationContext.Provider value={ctx}>\n <Wrapper\n ref={ref}\n data-slot=\"skeleton\"\n aria-hidden\n aria-busy={busy ? true : undefined}\n className={cn(\n skeletonVariants({\n appearance,\n size,\n rounded,\n animation,\n shimmerTone,\n }),\n skeletonMotionClass(animation),\n className,\n )}\n {...rest}\n >\n {children}\n </Wrapper>\n </SkeletonAnimationContext.Provider>\n );\n}\n\nSkeletonBase.displayName = \"Skeleton\";\n\nexport function SkeletonTextBase(props: SkeletonTextProps) {\n const {\n lines = 3,\n className,\n appearance,\n size,\n rounded,\n animation = \"shimmer\",\n shimmerTone,\n busy,\n ref,\n as: Wrapper = \"div\",\n } = props;\n const effectiveAnimation = useSkeletonAnimation(animation);\n const motionClass = skeletonMotionClass(effectiveAnimation);\n\n return (\n <div\n data-slot=\"skeleton-text\"\n className={cn(\"flex w-full flex-col gap-2\", className)}\n aria-hidden\n aria-busy={busy ? true : undefined}\n >\n {Array.from({ length: lines }).map((_, index) => (\n <Wrapper\n key={index}\n ref={index === 0 ? ref : undefined}\n className={cn(\n skeletonVariants({\n appearance,\n size,\n rounded,\n animation: effectiveAnimation,\n shimmerTone,\n }),\n skeletonTextLineVariants({ size }),\n index === lines - 1 ? \"w-3/5\" : \"w-full\",\n motionClass,\n )}\n />\n ))}\n </div>\n );\n}\n\nSkeletonTextBase.displayName = \"SkeletonText\";\n\nconst avatarSizeClass: Record<\n NonNullable<SkeletonAvatarProps[\"avatarSize\"]>,\n string\n> = {\n xs: \"size-6\",\n sm: \"size-8\",\n md: \"size-10\",\n lg: \"size-12\",\n xl: \"size-14\",\n \"2xl\": \"size-16\",\n};\n\nexport function SkeletonAvatarBase(props: SkeletonAvatarProps) {\n const {\n avatarSize = \"md\",\n className,\n appearance,\n size,\n rounded = \"full\",\n animation,\n shimmerTone,\n busy,\n ref,\n as: Wrapper = \"div\",\n ...rest\n } = props;\n const effectiveAnimation = useSkeletonAnimation(animation ?? \"shimmer\");\n const motionClass = skeletonMotionClass(effectiveAnimation);\n\n return (\n <Wrapper\n ref={ref}\n data-slot=\"skeleton-avatar\"\n aria-hidden\n aria-busy={busy ? true : undefined}\n className={cn(\n skeletonVariants({\n appearance,\n size,\n rounded,\n animation: effectiveAnimation,\n shimmerTone,\n }),\n avatarSizeClass[avatarSize],\n motionClass,\n className,\n )}\n {...rest}\n />\n );\n}\n\nSkeletonAvatarBase.displayName = \"SkeletonAvatar\";\n\nexport function SkeletonCardBase(props: SkeletonCardProps) {\n const {\n className,\n busy,\n animation = \"shimmer\",\n shimmerTone,\n appearance,\n size,\n rounded,\n ref,\n } = props;\n\n return (\n <div\n ref={ref as never}\n data-slot=\"skeleton-card\"\n className={cn(\"w-full max-w-sm\", className)}\n aria-busy={busy ? true : undefined}\n >\n <SkeletonBase\n rounded=\"lg\"\n animation={animation}\n shimmerTone={shimmerTone}\n appearance={appearance}\n size={size}\n busy={busy}\n className=\"flex flex-col gap-4 p-4\"\n >\n <div className=\"flex items-center gap-3\">\n <SkeletonAvatarBase\n appearance={appearance}\n size={size}\n animation={animation}\n shimmerTone={shimmerTone}\n rounded={rounded}\n />\n <div className=\"flex flex-1 flex-col gap-2\">\n <SkeletonTextBase\n lines={2}\n appearance={appearance}\n size={size}\n animation={animation}\n shimmerTone={shimmerTone}\n />\n </div>\n </div>\n <SkeletonTextBase\n lines={4}\n appearance={appearance}\n size={size}\n animation={animation}\n shimmerTone={shimmerTone}\n />\n </SkeletonBase>\n </div>\n );\n}\n\nSkeletonCardBase.displayName = \"SkeletonCard\";\n\nconst buttonHeight: Record<\n NonNullable<SkeletonButtonProps[\"buttonSize\"]>,\n string\n> = {\n sm: \"h-8 w-24\",\n md: \"h-10 w-32\",\n lg: \"h-12 w-40\",\n};\n\nexport function SkeletonButtonBase(props: SkeletonButtonProps) {\n const {\n buttonSize = \"md\",\n className,\n appearance,\n size,\n rounded = \"md\",\n animation,\n shimmerTone,\n busy,\n ref,\n ...rest\n } = props;\n const effectiveAnimation = useSkeletonAnimation(animation ?? \"shimmer\");\n const motionClass = skeletonMotionClass(effectiveAnimation);\n\n return (\n <div\n ref={ref}\n data-slot=\"skeleton-button\"\n aria-hidden\n aria-busy={busy ? true : undefined}\n className={cn(\n skeletonVariants({\n appearance,\n size,\n rounded,\n animation: effectiveAnimation,\n shimmerTone,\n }),\n buttonHeight[buttonSize],\n motionClass,\n className,\n )}\n {...rest}\n />\n );\n}\n\nSkeletonButtonBase.displayName = \"SkeletonButton\";\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/design-system/toast.ts","../src/ui/toast/variants.ts","../src/ui/toast/toast-base.tsx"],"names":["cva","createContext","useContext","useState","useRef","useCallback","useMemo","useEffect","createPortal","jsx","cn","jsxs"],"mappings":"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","file":"chunk-4ZKBLVQX.js","sourcesContent":["export const zuiToastViewportBase =\n \"fixed z-[60] flex max-h-screen flex-col gap-2 p-4\";\n\nexport const zuiToastViewportPositions = {\n \"top-left\": \"left-0 top-0 items-start\",\n \"top-center\": \"left-1/2 top-0 -translate-x-1/2 items-center\",\n \"top-right\": \"right-0 top-0 items-end\",\n \"bottom-left\": \"bottom-0 left-0 items-start\",\n \"bottom-center\": \"bottom-0 left-1/2 -translate-x-1/2 items-center\",\n \"bottom-right\": \"bottom-0 right-0 items-end\",\n} as const;\n\nexport const zuiToastRootBase =\n \"pointer-events-auto w-[min(100vw-2rem,380px)] rounded-xl border bg-[var(--zui-toast-root-bg,oklch(98.4%_0.003_247.858))] p-4 text-[color:var(--zui-toast-root-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-toast-root-fg-dark,oklch(98.4%_0.003_247.858))] shadow-[var(--zui-toast-root-shadow,0_8px_24px_rgba(15,23,42,0.12))] dark:shadow-[var(--zui-toast-root-shadow-dark,0_18px_48px_rgba(15,23,42,0.45))]\";\n\nexport const zuiToastRootAppearances = {\n default:\n \"bg-[var(--zui-toast-root-default-bg,oklch(12.9%_0.042_264.695))] text-[color:var(--zui-toast-root-default-fg,oklch(98.4%_0.003_247.858))]\",\n success:\n \"border-[color:var(--zui-toast-root-success-border,oklch(69.6%_0.17_162.48_/_0.4))] bg-[var(--zui-toast-root-success-bg,oklch(26.2%_0.051_172.552))] text-[color:var(--zui-toast-root-success-fg,oklch(97.9%_0.021_166.113))]\",\n warning:\n \"border-[color:var(--zui-toast-root-warning-border,oklch(76.9%_0.188_70.08_/_0.4))] bg-[var(--zui-toast-root-warning-bg,oklch(27.9%_0.077_45.635))] text-[color:var(--zui-toast-root-warning-fg,oklch(98.7%_0.022_95.277))]\",\n error:\n \"border-[color:var(--zui-toast-root-error-border,oklch(64.5%_0.246_16.439_/_0.5))] bg-[var(--zui-toast-root-error-bg,oklch(27.1%_0.105_12.094))] text-[color:var(--zui-toast-root-error-fg,oklch(96.9%_0.015_12.422))]\",\n info: \"border-[color:var(--zui-toast-root-info-border,oklch(68.5%_0.169_237.323_/_0.4))] bg-[var(--zui-toast-root-info-bg,oklch(29.3%_0.066_243.157))] text-[color:var(--zui-toast-root-info-fg,oklch(97.7%_0.013_236.62))]\",\n ghost:\n \"border-[color:var(--zui-toast-root-ghost-border,transparent)] bg-[var(--zui-toast-root-ghost-bg,transparent)] text-[color:var(--zui-toast-root-ghost-fg,oklch(20.8%_0.042_265.755))]\",\n purple:\n \"border-[color:var(--zui-toast-root-purple-border,oklch(43.8%_0.218_303.724))] dark:border-[color:var(--zui-toast-root-purple-border-dark,oklch(55.8%_0.288_302.321))] bg-[var(--zui-toast-root-purple-bg,oklch(29.1%_0.149_302.717))] backdrop-blur-xl text-[color:var(--zui-toast-root-purple-fg,oklch(97.7%_0.014_308.299))]\",\n pink: \"border-[color:var(--zui-toast-root-pink-border,oklch(45.9%_0.187_3.815))] dark:border-[color:var(--zui-toast-root-pink-border-dark,oklch(59.2%_0.249_0.584))] bg-[var(--zui-toast-root-pink-bg,oklch(28.4%_0.109_3.907))] backdrop-blur-xl text-[color:var(--zui-toast-root-pink-fg,oklch(97.1%_0.014_343.198))]\",\n orange:\n \"border-[color:var(--zui-toast-root-orange-border,oklch(47%_0.157_37.304))] dark:border-[color:var(--zui-toast-root-orange-border-dark,oklch(64.6%_0.222_41.116))] bg-[var(--zui-toast-root-orange-bg,oklch(26.6%_0.079_36.259))] backdrop-blur-xl text-[color:var(--zui-toast-root-orange-fg,oklch(98%_0.016_73.684))]\",\n yellow:\n \"border-[color:var(--zui-toast-root-yellow-border,oklch(47.6%_0.114_61.907))] dark:border-[color:var(--zui-toast-root-yellow-border-dark,oklch(68.1%_0.162_75.834))] bg-[var(--zui-toast-root-yellow-bg,oklch(28.6%_0.066_53.813))] backdrop-blur-xl text-[color:var(--zui-toast-root-yellow-fg,oklch(98.7%_0.026_102.212))]\",\n teal: \"border-[color:var(--zui-toast-root-teal-border,oklch(43.7%_0.078_188.216))] dark:border-[color:var(--zui-toast-root-teal-border-dark,oklch(60%_0.118_184.704))] bg-[var(--zui-toast-root-teal-bg,oklch(27.7%_0.046_192.524))] backdrop-blur-xl text-[color:var(--zui-toast-root-teal-fg,oklch(98.4%_0.014_180.72))]\",\n indigo:\n \"border-[color:var(--zui-toast-root-indigo-border,oklch(39.8%_0.195_277.366))] dark:border-[color:var(--zui-toast-root-indigo-border-dark,oklch(51.1%_0.262_276.966))] bg-[var(--zui-toast-root-indigo-bg,oklch(25.7%_0.09_281.288))] backdrop-blur-xl text-[color:var(--zui-toast-root-indigo-fg,oklch(96.2%_0.018_272.314))]\",\n emerald:\n \"border-[color:var(--zui-toast-root-emerald-border,oklch(43.2%_0.095_166.913))] dark:border-[color:var(--zui-toast-root-emerald-border-dark,oklch(59.6%_0.145_163.225))] bg-[var(--zui-toast-root-emerald-bg,oklch(26.2%_0.051_172.552))] backdrop-blur-xl text-[color:var(--zui-toast-root-emerald-fg,oklch(97.9%_0.021_166.113))]\",\n gray: \"border-[color:var(--zui-toast-root-gray-border,oklch(27.8%_0.033_256.848))] dark:border-[color:var(--zui-toast-root-gray-border-dark,oklch(44.6%_0.03_256.802))] bg-[var(--zui-toast-root-gray-bg,oklch(13%_0.028_261.692))] backdrop-blur-xl text-[color:var(--zui-toast-root-gray-fg,oklch(98.5%_0.002_247.839))]\",\n amber:\n \"border-[color:var(--zui-toast-root-amber-border,oklch(47.3%_0.137_46.201))] dark:border-[color:var(--zui-toast-root-amber-border-dark,oklch(66.6%_0.179_58.318))] bg-[var(--zui-toast-root-amber-bg,oklch(27.9%_0.077_45.635))] backdrop-blur-xl text-[color:var(--zui-toast-root-amber-fg,oklch(98.7%_0.022_95.277))]\",\n violet:\n \"border-[color:var(--zui-toast-root-violet-border,oklch(43.2%_0.232_292.759))] dark:border-[color:var(--zui-toast-root-violet-border-dark,oklch(54.1%_0.281_293.009))] bg-[var(--zui-toast-root-violet-bg,oklch(28.3%_0.141_291.089))] backdrop-blur-xl text-[color:var(--zui-toast-root-violet-fg,oklch(96.9%_0.016_293.756))]\",\n \"gradient-blue\":\n \"border-[color:var(--zui-toast-root-gradient-blue-border,oklch(42.4%_0.199_265.638))] dark:border-[color:var(--zui-toast-root-gradient-blue-border-dark,oklch(54.6%_0.245_262.881))] bg-linear-to-r from-[var(--zui-toast-root-gradient-blue-from,oklch(97%_0.014_254.604))] dark:from-[var(--zui-toast-root-gradient-blue-from-dark,oklch(28.2%_0.091_267.935_/_0.7))] to-[var(--zui-toast-root-gradient-blue-to,oklch(97.7%_0.014_308.299))] dark:to-[var(--zui-toast-root-gradient-blue-to-dark,oklch(29.1%_0.149_302.717_/_0.7))] backdrop-blur-xl\",\n \"gradient-green\":\n \"border-[color:var(--zui-toast-root-gradient-green-border,oklch(44.8%_0.119_151.328))] dark:border-[color:var(--zui-toast-root-gradient-green-border-dark,oklch(62.7%_0.194_149.214))] bg-linear-to-r from-[var(--zui-toast-root-gradient-green-from,oklch(98.2%_0.018_155.826))] dark:from-[var(--zui-toast-root-gradient-green-from-dark,oklch(26.6%_0.065_152.934_/_0.7))] to-[var(--zui-toast-root-gradient-green-to,oklch(98.6%_0.031_120.757))] dark:to-[var(--zui-toast-root-gradient-green-to-dark,oklch(27.4%_0.072_132.109_/_0.7))] backdrop-blur-xl\",\n \"gradient-red\":\n \"border-[color:var(--zui-toast-root-gradient-red-border,oklch(44.4%_0.177_26.899))] dark:border-[color:var(--zui-toast-root-gradient-red-border-dark,oklch(57.7%_0.245_27.325))] bg-linear-to-r from-[var(--zui-toast-root-gradient-red-from,oklch(97.1%_0.013_17.38))] dark:from-[var(--zui-toast-root-gradient-red-from-dark,oklch(25.8%_0.092_26.042_/_0.7))] to-[var(--zui-toast-root-gradient-red-to,oklch(97.1%_0.014_343.198))] dark:to-[var(--zui-toast-root-gradient-red-to-dark,oklch(28.4%_0.109_3.907_/_0.7))] backdrop-blur-xl\",\n \"gradient-yellow\":\n \"border-[color:var(--zui-toast-root-gradient-yellow-border,oklch(47.6%_0.114_61.907))] dark:border-[color:var(--zui-toast-root-gradient-yellow-border-dark,oklch(68.1%_0.162_75.834))] bg-linear-to-r from-[var(--zui-toast-root-gradient-yellow-from,oklch(98.7%_0.026_102.212))] dark:from-[var(--zui-toast-root-gradient-yellow-from-dark,oklch(28.6%_0.066_53.813_/_0.7))] to-[var(--zui-toast-root-gradient-yellow-to,oklch(98%_0.016_73.684))] dark:to-[var(--zui-toast-root-gradient-yellow-to-dark,oklch(26.6%_0.079_36.259_/_0.7))] backdrop-blur-xl\",\n \"gradient-purple\":\n \"border-[color:var(--zui-toast-root-gradient-purple-border,oklch(43.8%_0.218_303.724))] dark:border-[color:var(--zui-toast-root-gradient-purple-border-dark,oklch(55.8%_0.288_302.321))] bg-linear-to-r from-[var(--zui-toast-root-gradient-purple-from,oklch(97.7%_0.014_308.299))] dark:from-[var(--zui-toast-root-gradient-purple-from-dark,oklch(29.1%_0.149_302.717_/_0.7))] to-[var(--zui-toast-root-gradient-purple-to,oklch(97.1%_0.014_343.198))] dark:to-[var(--zui-toast-root-gradient-purple-to-dark,oklch(28.4%_0.109_3.907_/_0.7))] backdrop-blur-xl\",\n \"gradient-teal\":\n \"border-[color:var(--zui-toast-root-gradient-teal-border,oklch(43.7%_0.078_188.216))] dark:border-[color:var(--zui-toast-root-gradient-teal-border-dark,oklch(60%_0.118_184.704))] bg-linear-to-r from-[var(--zui-toast-root-gradient-teal-from,oklch(98.4%_0.014_180.72))] dark:from-[var(--zui-toast-root-gradient-teal-from-dark,oklch(27.7%_0.046_192.524_/_0.7))] to-[var(--zui-toast-root-gradient-teal-to,oklch(98.4%_0.019_200.873))] dark:to-[var(--zui-toast-root-gradient-teal-to-dark,oklch(30.2%_0.056_229.695_/_0.7))] backdrop-blur-xl\",\n \"gradient-indigo\":\n \"border-[color:var(--zui-toast-root-gradient-indigo-border,oklch(39.8%_0.195_277.366))] dark:border-[color:var(--zui-toast-root-gradient-indigo-border-dark,oklch(51.1%_0.262_276.966))] bg-linear-to-r from-[var(--zui-toast-root-gradient-indigo-from,oklch(96.2%_0.018_272.314))] dark:from-[var(--zui-toast-root-gradient-indigo-from-dark,oklch(25.7%_0.09_281.288_/_0.7))] to-[var(--zui-toast-root-gradient-indigo-to,oklch(97.7%_0.014_308.299))] dark:to-[var(--zui-toast-root-gradient-indigo-to-dark,oklch(29.1%_0.149_302.717_/_0.7))] backdrop-blur-xl\",\n \"gradient-pink\":\n \"border-[color:var(--zui-toast-root-gradient-pink-border,oklch(45.9%_0.187_3.815))] dark:border-[color:var(--zui-toast-root-gradient-pink-border-dark,oklch(59.2%_0.249_0.584))] bg-linear-to-r from-[var(--zui-toast-root-gradient-pink-from,oklch(97.1%_0.014_343.198))] dark:from-[var(--zui-toast-root-gradient-pink-from-dark,oklch(28.4%_0.109_3.907_/_0.7))] to-[var(--zui-toast-root-gradient-pink-to,oklch(96.9%_0.015_12.422))] dark:to-[var(--zui-toast-root-gradient-pink-to-dark,oklch(27.1%_0.105_12.094_/_0.7))] backdrop-blur-xl\",\n \"gradient-orange\":\n \"border-[color:var(--zui-toast-root-gradient-orange-border,oklch(47%_0.157_37.304))] dark:border-[color:var(--zui-toast-root-gradient-orange-border-dark,oklch(64.6%_0.222_41.116))] bg-linear-to-r from-[var(--zui-toast-root-gradient-orange-from,oklch(98%_0.016_73.684))] dark:from-[var(--zui-toast-root-gradient-orange-from-dark,oklch(26.6%_0.079_36.259_/_0.7))] to-[var(--zui-toast-root-gradient-orange-to,oklch(97.1%_0.013_17.38))] dark:to-[var(--zui-toast-root-gradient-orange-to-dark,oklch(25.8%_0.092_26.042_/_0.7))] backdrop-blur-xl\",\n} as const;\n\nexport const zuiToastRootSizes = {\n sm: \"p-3 text-xs\",\n md: \"p-4 text-sm\",\n lg: \"p-5 text-base\",\n} as const;\n","import { cva } from \"class-variance-authority\";\n\nimport {\n zuiToastRootAppearances,\n zuiToastRootBase,\n zuiToastRootSizes,\n zuiToastViewportBase,\n zuiToastViewportPositions,\n} from \"../../design-system/toast\";\n\nexport const toastViewportVariants = cva(zuiToastViewportBase, {\n variants: {\n position: zuiToastViewportPositions,\n },\n defaultVariants: {\n position: \"bottom-right\",\n },\n});\n\nexport const toastRootVariants = cva(zuiToastRootBase, {\n variants: {\n appearance: zuiToastRootAppearances,\n size: zuiToastRootSizes,\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n },\n});\n","\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type {\n ToastContextValue,\n ToastStoreContextValue,\n InternalToast,\n ToastInput,\n ToastProps,\n ToastProviderProps,\n ToastSectionProps,\n ToastViewportProps,\n} from \"./types\";\nimport { toastRootVariants, toastViewportVariants } from \"./variants\";\n\nexport const ToastStoreContext = createContext<ToastStoreContextValue | null>(\n null,\n);\n\nlet toastDispatcher: ToastStoreContextValue[\"push\"] | null = null;\n\nexport function toast(input: ToastInput) {\n if (!toastDispatcher) {\n return \"\";\n }\n return toastDispatcher(input);\n}\n\nexport function useToast(): ToastContextValue {\n const ctx = useContext(ToastStoreContext);\n if (!ctx) {\n throw new Error(\"useToast must be used within <ToastProvider>\");\n }\n return { toast: ctx.push, dismiss: ctx.dismiss };\n}\n\nexport function ToastProvider({ children }: ToastProviderProps) {\n const [toasts, setToasts] = useState<InternalToast[]>([]);\n const timers = useRef<Map<string, number>>(new Map());\n\n const dismiss = useCallback((id: string) => {\n const timerId = timers.current.get(id);\n if (timerId) {\n window.clearTimeout(timerId);\n timers.current.delete(id);\n }\n setToasts((prev) => prev.filter((toastItem) => toastItem.id !== id));\n }, []);\n\n const push = useCallback(\n (input: ToastInput) => {\n const id = input.id ?? `toast-${Math.random().toString(16).slice(2)}`;\n const durationMs = input.durationMs ?? 4500;\n const record: InternalToast = {\n ...input,\n id,\n durationMs,\n animation: input.animation ?? \"slide\",\n };\n setToasts((prev) => [...prev, record]);\n const timerId = window.setTimeout(() => dismiss(id), durationMs);\n timers.current.set(id, timerId);\n return id;\n },\n [dismiss],\n );\n\n const ctx = useMemo(\n () => ({\n toasts,\n push,\n dismiss,\n }),\n [dismiss, push, toasts],\n );\n\n useEffect(() => {\n toastDispatcher = push;\n return () => {\n toastDispatcher = null;\n };\n }, [push]);\n\n return (\n <ToastStoreContext.Provider value={ctx}>\n {children}\n </ToastStoreContext.Provider>\n );\n}\n\nToastProvider.displayName = \"ToastProvider\";\n\nexport function ToastViewport({\n position = \"bottom-right\",\n className,\n}: ToastViewportProps) {\n const ctx = useContext(ToastStoreContext);\n if (!ctx) {\n throw new Error(\"ToastViewport must be used within <ToastProvider>\");\n }\n\n const portalTarget = typeof document !== \"undefined\" ? document.body : null;\n if (!portalTarget) {\n return null;\n }\n\n return createPortal(\n <div\n className={cn(toastViewportVariants({ position }), className)}\n data-slot=\"toast-viewport\"\n >\n {ctx.toasts.map((item) => (\n <Toast\n key={item.id}\n toastId={item.id}\n appearance={item.appearance}\n size={item.size}\n animation={item.animation}\n >\n <ToastTitle>{item.title}</ToastTitle>\n {item.description ? (\n <ToastDescription>{item.description}</ToastDescription>\n ) : null}\n <ToastClose onClick={() => ctx.dismiss(item.id)} />\n </Toast>\n ))}\n </div>,\n portalTarget,\n );\n}\n\nToastViewport.displayName = \"ToastViewport\";\n\nexport function Toast({\n toastId: _toastId,\n appearance,\n size,\n animation: _animation = \"slide\",\n className,\n children,\n}: ToastProps) {\n const live = appearance === \"error\" ? \"assertive\" : \"polite\";\n\n return (\n <div\n data-slot=\"toast\"\n role={appearance === \"error\" ? \"alert\" : \"status\"}\n aria-live={live}\n aria-atomic=\"true\"\n className={cn(\n \"relative\",\n toastRootVariants({ appearance, size }),\n className,\n )}\n >\n {children}\n </div>\n );\n}\n\nToast.displayName = \"Toast\";\n\nexport function ToastTitle({ className, children }: ToastSectionProps) {\n return (\n <div data-slot=\"toast-title\" className={cn(\"font-semibold\", className)}>\n {children}\n </div>\n );\n}\n\nToastTitle.displayName = \"ToastTitle\";\n\nexport function ToastDescription({ className, children }: ToastSectionProps) {\n return (\n <div data-slot=\"toast-description\" className={cn(\"text-sm\", className)}>\n {children}\n </div>\n );\n}\n\nToastDescription.displayName = \"ToastDescription\";\n\nexport function ToastAction({ className, children }: ToastSectionProps) {\n return (\n <div data-slot=\"toast-action\" className={cn(\"mt-3\", className)}>\n {children}\n </div>\n );\n}\n\nToastAction.displayName = \"ToastAction\";\n\nexport function ToastClose({\n className,\n children,\n onClick,\n ...rest\n}: ToastSectionProps & { onClick?: () => void }) {\n return (\n <button\n type=\"button\"\n data-slot=\"toast-close\"\n aria-label=\"Dismiss notification\"\n className={cn(\n \"absolute right-3 top-3 inline-flex size-8 items-center justify-center rounded-md text-slate-200 transition hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/40 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950\",\n className,\n )}\n onClick={onClick}\n {...rest}\n >\n {children ?? \"×\"}\n </button>\n );\n}\n\nToastClose.displayName = \"ToastClose\";\n"]}
@@ -1,107 +0,0 @@
1
- 'use strict';
2
-
3
- var classVarianceAuthority = require('class-variance-authority');
4
- var react = require('react');
5
-
6
- // src/ui/radio-group/variants.ts
7
-
8
- // src/design-system/radio-group.ts
9
- var zuiRadioGroupRootBase = "grid gap-2";
10
- var zuiRadioGroupItemBase = "group inline-flex w-fit items-start gap-2.5 text-sm font-medium text-[color:var(--zui-radio-label-fg,oklch(20.8%_0.042_265.755))] dark:text-[color:var(--zui-radio-label-fg-dark,oklch(98.4%_0.003_247.858))] data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50";
11
- var zuiRadioGroupControlBase = "grid shrink-0 place-items-center rounded-full border-2 border-[color:var(--zui-radio-border,#0000004d)] bg-[var(--zui-radio-bg,transparent)] transition-[background-color,border-color,box-shadow] peer-focus-visible:outline-none peer-focus-visible:ring-2 peer-focus-visible:ring-[var(--zui-radio-ring-focus,oklch(44.6%_0.043_257.281_/_0.7))] peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-[var(--zui-radio-ring-offset-focus,oklch(98.4%_0.003_247.858))] dark:border-[color:var(--zui-radio-border-dark,#ffffff4d)] dark:peer-focus-visible:ring-[var(--zui-radio-ring-focus-dark,oklch(86.9%_0.022_252.894_/_0.7))] dark:peer-focus-visible:ring-offset-[var(--zui-radio-ring-offset-focus-dark,oklch(12.9%_0.042_264.695))] group-data-[disabled=true]:cursor-not-allowed";
12
- var zuiRadioGroupIndicatorBase = "pointer-events-none block rounded-full opacity-0 transition-opacity duration-150 group-data-[state=checked]:opacity-100";
13
- var zuiRadioGroupSizes = {
14
- sm: {
15
- item: "text-xs",
16
- control: "mt-0.5 size-4",
17
- indicator: "size-1.5"
18
- },
19
- md: {
20
- item: "text-sm",
21
- control: "mt-0.5 size-5",
22
- indicator: "size-2"
23
- },
24
- lg: {
25
- item: "text-base",
26
- control: "mt-0.5 size-6",
27
- indicator: "size-2.5"
28
- }
29
- };
30
- var zuiRadioGroupAppearances = {
31
- default: "group-data-[state=checked]:border-[color:var(--zui-radio-default-border-checked,oklch(44.6%_0.043_257.281))] [&_[data-slot=radio-group-indicator]]:bg-[var(--zui-radio-default-indicator-bg,oklch(44.6%_0.043_257.281))]",
32
- success: "group-data-[state=checked]:border-[color:var(--zui-radio-success-border-checked,oklch(59.6%_0.145_163.225))] [&_[data-slot=radio-group-indicator]]:bg-[var(--zui-radio-success-indicator-bg,oklch(59.6%_0.145_163.225))]",
33
- warning: "group-data-[state=checked]:border-[color:var(--zui-radio-warning-border-checked,oklch(68.1%_0.162_75.834))] [&_[data-slot=radio-group-indicator]]:bg-[var(--zui-radio-warning-indicator-bg,oklch(68.1%_0.162_75.834))]",
34
- error: "group-data-[state=checked]:border-[color:var(--zui-radio-error-border-checked,oklch(58.6%_0.253_17.585))] [&_[data-slot=radio-group-indicator]]:bg-[var(--zui-radio-error-indicator-bg,oklch(58.6%_0.253_17.585))]",
35
- info: "group-data-[state=checked]:border-[color:var(--zui-radio-info-border-checked,oklch(54.6%_0.245_262.881))] [&_[data-slot=radio-group-indicator]]:bg-[var(--zui-radio-info-indicator-bg,oklch(54.6%_0.245_262.881))]",
36
- violet: "group-data-[state=checked]:border-[color:var(--zui-radio-violet-border-checked,oklch(54.1%_0.281_293.009))] [&_[data-slot=radio-group-indicator]]:bg-[var(--zui-radio-violet-indicator-bg,oklch(54.1%_0.281_293.009))]",
37
- amber: "group-data-[state=checked]:border-[color:var(--zui-radio-amber-border-checked,oklch(66.6%_0.179_58.318))] [&_[data-slot=radio-group-indicator]]:bg-[var(--zui-radio-amber-indicator-bg,oklch(66.6%_0.179_58.318))]",
38
- pink: "group-data-[state=checked]:border-[color:var(--zui-radio-pink-border-checked,oklch(59.2%_0.249_0.584))] [&_[data-slot=radio-group-indicator]]:bg-[var(--zui-radio-pink-indicator-bg,oklch(59.2%_0.249_0.584))]",
39
- indigo: "group-data-[state=checked]:border-[color:var(--zui-radio-indigo-border-checked,oklch(51.1%_0.262_276.966))] [&_[data-slot=radio-group-indicator]]:bg-[var(--zui-radio-indigo-indicator-bg,oklch(51.1%_0.262_276.966))]"
40
- };
41
- var zuiRadioGroupOrientations = {
42
- vertical: "grid gap-2",
43
- horizontal: "flex flex-wrap gap-x-5 gap-y-2"
44
- };
45
-
46
- // src/ui/radio-group/variants.ts
47
- var radioGroupRootVariants = classVarianceAuthority.cva(zuiRadioGroupRootBase, {
48
- variants: {
49
- orientation: zuiRadioGroupOrientations
50
- },
51
- defaultVariants: {
52
- orientation: "vertical"
53
- }
54
- });
55
- var radioGroupItemVariants = classVarianceAuthority.cva(zuiRadioGroupItemBase, {
56
- variants: {
57
- size: {
58
- sm: zuiRadioGroupSizes.sm.item,
59
- md: zuiRadioGroupSizes.md.item,
60
- lg: zuiRadioGroupSizes.lg.item
61
- }
62
- },
63
- defaultVariants: {
64
- size: "md"
65
- }
66
- });
67
- var radioGroupControlVariants = classVarianceAuthority.cva(zuiRadioGroupControlBase, {
68
- variants: {
69
- appearance: zuiRadioGroupAppearances,
70
- size: {
71
- sm: zuiRadioGroupSizes.sm.control,
72
- md: zuiRadioGroupSizes.md.control,
73
- lg: zuiRadioGroupSizes.lg.control
74
- }
75
- },
76
- defaultVariants: {
77
- appearance: "default",
78
- size: "md"
79
- }
80
- });
81
- var radioGroupIndicatorVariants = classVarianceAuthority.cva(zuiRadioGroupIndicatorBase, {
82
- variants: {
83
- size: {
84
- sm: zuiRadioGroupSizes.sm.indicator,
85
- md: zuiRadioGroupSizes.md.indicator,
86
- lg: zuiRadioGroupSizes.lg.indicator
87
- }
88
- },
89
- defaultVariants: {
90
- size: "md"
91
- }
92
- });
93
- var RadioGroupContext = react.createContext(
94
- null
95
- );
96
- function useRadioGroupContext() {
97
- return react.useContext(RadioGroupContext);
98
- }
99
-
100
- exports.RadioGroupContext = RadioGroupContext;
101
- exports.radioGroupControlVariants = radioGroupControlVariants;
102
- exports.radioGroupIndicatorVariants = radioGroupIndicatorVariants;
103
- exports.radioGroupItemVariants = radioGroupItemVariants;
104
- exports.radioGroupRootVariants = radioGroupRootVariants;
105
- exports.useRadioGroupContext = useRadioGroupContext;
106
- //# sourceMappingURL=chunk-6QQUQLPB.js.map
107
- //# sourceMappingURL=chunk-6QQUQLPB.js.map