@zentauri-ui/zentauri-components 1.6.2 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (492) hide show
  1. package/README.md +105 -0
  2. package/cli/cli.integration.test.ts +8 -0
  3. package/cli/index.mjs +46 -1
  4. package/dist/charts/area.js +11 -10
  5. package/dist/charts/area.js.map +1 -1
  6. package/dist/charts/area.mjs +4 -3
  7. package/dist/charts/area.mjs.map +1 -1
  8. package/dist/charts/bar.js +10 -9
  9. package/dist/charts/bar.js.map +1 -1
  10. package/dist/charts/bar.mjs +4 -3
  11. package/dist/charts/bar.mjs.map +1 -1
  12. package/dist/charts/bubble.js +10 -9
  13. package/dist/charts/bubble.js.map +1 -1
  14. package/dist/charts/bubble.mjs +4 -3
  15. package/dist/charts/bubble.mjs.map +1 -1
  16. package/dist/charts/line.js +10 -9
  17. package/dist/charts/line.js.map +1 -1
  18. package/dist/charts/line.mjs +4 -3
  19. package/dist/charts/line.mjs.map +1 -1
  20. package/dist/charts/pie.js +6 -5
  21. package/dist/charts/pie.js.map +1 -1
  22. package/dist/charts/pie.mjs +3 -2
  23. package/dist/charts/pie.mjs.map +1 -1
  24. package/dist/charts/shared/chart-frame.d.ts.map +1 -1
  25. package/dist/{chunk-QSIJKHC5.mjs → chunk-4XVNQ7IY.mjs} +223 -214
  26. package/dist/chunk-4XVNQ7IY.mjs.map +1 -0
  27. package/dist/chunk-4ZKBLVQX.js +248 -0
  28. package/dist/chunk-4ZKBLVQX.js.map +1 -0
  29. package/dist/chunk-ABOZ5QIX.js +84 -0
  30. package/dist/chunk-ABOZ5QIX.js.map +1 -0
  31. package/dist/chunk-ACGVDY5J.mjs +220 -0
  32. package/dist/chunk-ACGVDY5J.mjs.map +1 -0
  33. package/dist/{chunk-PPVJ4INP.mjs → chunk-ASJQP53L.mjs} +3 -3
  34. package/dist/{chunk-PPVJ4INP.mjs.map → chunk-ASJQP53L.mjs.map} +1 -1
  35. package/dist/{chunk-D55YIHBN.js → chunk-BTJYXKCW.js} +223 -214
  36. package/dist/chunk-BTJYXKCW.js.map +1 -0
  37. package/dist/{chunk-MM3P52WS.js → chunk-CL55KGDF.js} +56 -52
  38. package/dist/chunk-CL55KGDF.js.map +1 -0
  39. package/dist/chunk-CSFLMMAT.mjs +198 -0
  40. package/dist/chunk-CSFLMMAT.mjs.map +1 -0
  41. package/dist/chunk-EDARAO7X.js +206 -0
  42. package/dist/chunk-EDARAO7X.js.map +1 -0
  43. package/dist/chunk-EIRCCTNA.js +175 -0
  44. package/dist/chunk-EIRCCTNA.js.map +1 -0
  45. package/dist/chunk-EN4VLNBF.js +197 -0
  46. package/dist/chunk-EN4VLNBF.js.map +1 -0
  47. package/dist/chunk-FHLZH3PB.mjs +326 -0
  48. package/dist/chunk-FHLZH3PB.mjs.map +1 -0
  49. package/dist/chunk-FXYPRPAT.mjs +35 -0
  50. package/dist/chunk-FXYPRPAT.mjs.map +1 -0
  51. package/dist/{chunk-SPX2QDIB.mjs → chunk-G2WARVAM.mjs} +8 -4
  52. package/dist/chunk-G2WARVAM.mjs.map +1 -0
  53. package/dist/chunk-HCGSEPOD.mjs +196 -0
  54. package/dist/chunk-HCGSEPOD.mjs.map +1 -0
  55. package/dist/chunk-HDO5ZM2S.mjs +82 -0
  56. package/dist/chunk-HDO5ZM2S.mjs.map +1 -0
  57. package/dist/chunk-HMNIH3KJ.mjs +277 -0
  58. package/dist/chunk-HMNIH3KJ.mjs.map +1 -0
  59. package/dist/chunk-HNLQXHSQ.mjs +263 -0
  60. package/dist/chunk-HNLQXHSQ.mjs.map +1 -0
  61. package/dist/{chunk-M6FS7X54.mjs → chunk-ITVMSCOJ.mjs} +56 -52
  62. package/dist/chunk-ITVMSCOJ.mjs.map +1 -0
  63. package/dist/chunk-K7TCW5PJ.js +338 -0
  64. package/dist/chunk-K7TCW5PJ.js.map +1 -0
  65. package/dist/chunk-KTGV76M3.mjs +325 -0
  66. package/dist/chunk-KTGV76M3.mjs.map +1 -0
  67. package/dist/{chunk-JOMSI4WH.js → chunk-NFEA5TN2.js} +52 -47
  68. package/dist/chunk-NFEA5TN2.js.map +1 -0
  69. package/dist/chunk-NHQ3S4Y6.mjs +282 -0
  70. package/dist/chunk-NHQ3S4Y6.mjs.map +1 -0
  71. package/dist/{chunk-OVTWPGMW.mjs → chunk-NMQAHUYA.mjs} +52 -47
  72. package/dist/chunk-NMQAHUYA.mjs.map +1 -0
  73. package/dist/{chunk-MWR5DIA5.mjs → chunk-OULU7OC4.mjs} +3 -3
  74. package/dist/{chunk-MWR5DIA5.mjs.map → chunk-OULU7OC4.mjs.map} +1 -1
  75. package/dist/chunk-OZHETX4J.mjs +169 -0
  76. package/dist/chunk-OZHETX4J.mjs.map +1 -0
  77. package/dist/chunk-OZMSE44N.mjs +235 -0
  78. package/dist/chunk-OZMSE44N.mjs.map +1 -0
  79. package/dist/chunk-P5WLYJ2C.mjs +272 -0
  80. package/dist/chunk-P5WLYJ2C.mjs.map +1 -0
  81. package/dist/chunk-PMWRJ2KS.mjs +192 -0
  82. package/dist/chunk-PMWRJ2KS.mjs.map +1 -0
  83. package/dist/chunk-PR4QXFJT.js +132 -0
  84. package/dist/chunk-PR4QXFJT.js.map +1 -0
  85. package/dist/chunk-QAJOE3HJ.js +281 -0
  86. package/dist/chunk-QAJOE3HJ.js.map +1 -0
  87. package/dist/chunk-QBPVJH4P.mjs +128 -0
  88. package/dist/chunk-QBPVJH4P.mjs.map +1 -0
  89. package/dist/{chunk-MTJRPLMG.js → chunk-QNUDODDX.js} +8 -4
  90. package/dist/chunk-QNUDODDX.js.map +1 -0
  91. package/dist/{chunk-DO2LEXUY.js → chunk-QQ6F4LZK.js} +5 -5
  92. package/dist/{chunk-DO2LEXUY.js.map → chunk-QQ6F4LZK.js.map} +1 -1
  93. package/dist/chunk-QXHS3HHZ.mjs +340 -0
  94. package/dist/chunk-QXHS3HHZ.mjs.map +1 -0
  95. package/dist/chunk-QYLTKBH7.js +338 -0
  96. package/dist/chunk-QYLTKBH7.js.map +1 -0
  97. package/dist/chunk-TTTYW3TR.js +207 -0
  98. package/dist/chunk-TTTYW3TR.js.map +1 -0
  99. package/dist/chunk-W3QRRWQX.js +37 -0
  100. package/dist/chunk-W3QRRWQX.js.map +1 -0
  101. package/dist/chunk-WPXQHWPV.js +232 -0
  102. package/dist/chunk-WPXQHWPV.js.map +1 -0
  103. package/dist/chunk-XRDVD2EN.js +288 -0
  104. package/dist/chunk-XRDVD2EN.js.map +1 -0
  105. package/dist/chunk-XYEMP4K7.js +273 -0
  106. package/dist/chunk-XYEMP4K7.js.map +1 -0
  107. package/dist/chunk-YAO62VH2.js +342 -0
  108. package/dist/chunk-YAO62VH2.js.map +1 -0
  109. package/dist/{chunk-PVTTWOYV.js → chunk-Z6S36PDD.js} +7 -7
  110. package/dist/{chunk-PVTTWOYV.js.map → chunk-Z6S36PDD.js.map} +1 -1
  111. package/dist/chunk-ZYKJC5HH.js +296 -0
  112. package/dist/chunk-ZYKJC5HH.js.map +1 -0
  113. package/dist/design-system/accordion.d.ts +70 -0
  114. package/dist/design-system/accordion.d.ts.map +1 -0
  115. package/dist/design-system/alert.d.ts +39 -0
  116. package/dist/design-system/alert.d.ts.map +1 -0
  117. package/dist/design-system/avatar.d.ts +36 -0
  118. package/dist/design-system/avatar.d.ts.map +1 -0
  119. package/dist/design-system/badge.d.ts +71 -0
  120. package/dist/design-system/badge.d.ts.map +1 -0
  121. package/dist/design-system/breadcrumb.d.ts +27 -0
  122. package/dist/design-system/breadcrumb.d.ts.map +1 -0
  123. package/dist/design-system/button.d.ts +48 -0
  124. package/dist/design-system/button.d.ts.map +1 -0
  125. package/dist/design-system/card.d.ts +65 -0
  126. package/dist/design-system/card.d.ts.map +1 -0
  127. package/dist/design-system/divider.d.ts +45 -0
  128. package/dist/design-system/divider.d.ts.map +1 -0
  129. package/dist/design-system/drawer.d.ts +67 -0
  130. package/dist/design-system/drawer.d.ts.map +1 -0
  131. package/dist/design-system/dropdown.d.ts +79 -0
  132. package/dist/design-system/dropdown.d.ts.map +1 -0
  133. package/dist/design-system/dynamic-stepper.d.ts +29 -0
  134. package/dist/design-system/dynamic-stepper.d.ts.map +1 -0
  135. package/dist/design-system/empty-state.d.ts +29 -0
  136. package/dist/design-system/empty-state.d.ts.map +1 -0
  137. package/dist/design-system/file-upload.d.ts +19 -0
  138. package/dist/design-system/file-upload.d.ts.map +1 -0
  139. package/dist/design-system/index.d.ts +30 -0
  140. package/dist/design-system/index.d.ts.map +1 -0
  141. package/dist/design-system/inputs.d.ts +31 -0
  142. package/dist/design-system/inputs.d.ts.map +1 -0
  143. package/dist/design-system/modal.d.ts +66 -0
  144. package/dist/design-system/modal.d.ts.map +1 -0
  145. package/dist/design-system/pagination.d.ts +65 -0
  146. package/dist/design-system/pagination.d.ts.map +1 -0
  147. package/dist/design-system/progress.d.ts +57 -0
  148. package/dist/design-system/progress.d.ts.map +1 -0
  149. package/dist/design-system/select.d.ts +92 -0
  150. package/dist/design-system/select.d.ts.map +1 -0
  151. package/dist/design-system/skeleton.d.ts +104 -0
  152. package/dist/design-system/skeleton.d.ts.map +1 -0
  153. package/dist/design-system/slider.d.ts +44 -0
  154. package/dist/design-system/slider.d.ts.map +1 -0
  155. package/dist/design-system/spinner.d.ts +39 -0
  156. package/dist/design-system/spinner.d.ts.map +1 -0
  157. package/dist/design-system/stepper.d.ts +42 -0
  158. package/dist/design-system/stepper.d.ts.map +1 -0
  159. package/dist/design-system/table.d.ts +77 -0
  160. package/dist/design-system/table.d.ts.map +1 -0
  161. package/dist/design-system/tabs.d.ts +49 -0
  162. package/dist/design-system/tabs.d.ts.map +1 -0
  163. package/dist/design-system/toast.d.ts +43 -0
  164. package/dist/design-system/toast.d.ts.map +1 -0
  165. package/dist/design-system/toggle.d.ts +73 -0
  166. package/dist/design-system/toggle.d.ts.map +1 -0
  167. package/dist/design-system/tokens.d.ts +15 -0
  168. package/dist/design-system/tokens.d.ts.map +1 -0
  169. package/dist/design-system/tooltip.d.ts +41 -0
  170. package/dist/design-system/tooltip.d.ts.map +1 -0
  171. package/dist/design-system/typography.d.ts +42 -0
  172. package/dist/design-system/typography.d.ts.map +1 -0
  173. package/dist/hooks/useResizeObserver.js +6 -31
  174. package/dist/hooks/useResizeObserver.js.map +1 -1
  175. package/dist/hooks/useResizeObserver.mjs +1 -33
  176. package/dist/hooks/useResizeObserver.mjs.map +1 -1
  177. package/dist/ui/accordion/animated.js +7 -7
  178. package/dist/ui/accordion/animated.mjs +2 -2
  179. package/dist/ui/accordion/variants.d.ts +5 -5
  180. package/dist/ui/accordion/variants.d.ts.map +1 -1
  181. package/dist/ui/accordion.js +9 -9
  182. package/dist/ui/accordion.mjs +2 -2
  183. package/dist/ui/alert/animated.js +2 -2
  184. package/dist/ui/alert/animated.mjs +1 -1
  185. package/dist/ui/alert/variants.d.ts +4 -4
  186. package/dist/ui/alert/variants.d.ts.map +1 -1
  187. package/dist/ui/alert.js +10 -10
  188. package/dist/ui/alert.mjs +2 -2
  189. package/dist/ui/avatar/animated.js +5 -5
  190. package/dist/ui/avatar/animated.mjs +2 -2
  191. package/dist/ui/avatar/variants.d.ts +1 -1
  192. package/dist/ui/avatar/variants.d.ts.map +1 -1
  193. package/dist/ui/avatar.js +9 -9
  194. package/dist/ui/avatar.mjs +2 -2
  195. package/dist/ui/badge/animated.js +2 -2
  196. package/dist/ui/badge/animated.mjs +1 -1
  197. package/dist/ui/badge/variants.d.ts +29 -32
  198. package/dist/ui/badge/variants.d.ts.map +1 -1
  199. package/dist/ui/badge.js +4 -4
  200. package/dist/ui/badge.mjs +2 -2
  201. package/dist/ui/breadcrumb/variants.d.ts +1 -1
  202. package/dist/ui/breadcrumb/variants.d.ts.map +1 -1
  203. package/dist/ui/breadcrumb.js +42 -40
  204. package/dist/ui/breadcrumb.js.map +1 -1
  205. package/dist/ui/breadcrumb.mjs +42 -40
  206. package/dist/ui/breadcrumb.mjs.map +1 -1
  207. package/dist/ui/buttons/animated.js +3 -3
  208. package/dist/ui/buttons/animated.mjs +1 -1
  209. package/dist/ui/buttons/variants.d.ts +2 -2
  210. package/dist/ui/buttons/variants.d.ts.map +1 -1
  211. package/dist/ui/buttons.js +4 -4
  212. package/dist/ui/buttons.mjs +2 -2
  213. package/dist/ui/card/animated.js +7 -7
  214. package/dist/ui/card/animated.mjs +2 -2
  215. package/dist/ui/card/variants.d.ts +7 -7
  216. package/dist/ui/card/variants.d.ts.map +1 -1
  217. package/dist/ui/card.js +12 -12
  218. package/dist/ui/card.mjs +2 -2
  219. package/dist/ui/divider/animated.js +2 -2
  220. package/dist/ui/divider/animated.mjs +1 -1
  221. package/dist/ui/divider/variants.d.ts +4 -4
  222. package/dist/ui/divider/variants.d.ts.map +1 -1
  223. package/dist/ui/divider.js +6 -6
  224. package/dist/ui/divider.mjs +2 -2
  225. package/dist/ui/drawer/animated.js +11 -11
  226. package/dist/ui/drawer/animated.mjs +2 -2
  227. package/dist/ui/drawer/variants.d.ts +1 -1
  228. package/dist/ui/drawer/variants.d.ts.map +1 -1
  229. package/dist/ui/drawer.js +11 -11
  230. package/dist/ui/drawer.mjs +1 -1
  231. package/dist/ui/dropdown/variants.d.ts +4 -4
  232. package/dist/ui/dropdown/variants.d.ts.map +1 -1
  233. package/dist/ui/dropdown.js +106 -104
  234. package/dist/ui/dropdown.js.map +1 -1
  235. package/dist/ui/dropdown.mjs +106 -104
  236. package/dist/ui/dropdown.mjs.map +1 -1
  237. package/dist/ui/dynamic-stepper/variants.d.ts +5 -9
  238. package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -1
  239. package/dist/ui/dynamic-stepper.js +100 -93
  240. package/dist/ui/dynamic-stepper.js.map +1 -1
  241. package/dist/ui/dynamic-stepper.mjs +98 -91
  242. package/dist/ui/dynamic-stepper.mjs.map +1 -1
  243. package/dist/ui/empty-state/animated.js +2 -2
  244. package/dist/ui/empty-state/animated.mjs +1 -1
  245. package/dist/ui/empty-state/variants.d.ts +3 -3
  246. package/dist/ui/empty-state/variants.d.ts.map +1 -1
  247. package/dist/ui/empty-state.js +10 -10
  248. package/dist/ui/empty-state.mjs +2 -2
  249. package/dist/ui/file-upload/variants.d.ts.map +1 -1
  250. package/dist/ui/file-upload.js +28 -26
  251. package/dist/ui/file-upload.js.map +1 -1
  252. package/dist/ui/file-upload.mjs +28 -26
  253. package/dist/ui/file-upload.mjs.map +1 -1
  254. package/dist/ui/inputs/animated.js +3 -3
  255. package/dist/ui/inputs/animated.mjs +1 -1
  256. package/dist/ui/inputs/variants.d.ts +1 -1
  257. package/dist/ui/inputs/variants.d.ts.map +1 -1
  258. package/dist/ui/inputs.js +4 -4
  259. package/dist/ui/inputs.mjs +2 -2
  260. package/dist/ui/modal/animated.js +4 -4
  261. package/dist/ui/modal/animated.mjs +1 -1
  262. package/dist/ui/modal/variants.d.ts +1 -1
  263. package/dist/ui/modal/variants.d.ts.map +1 -1
  264. package/dist/ui/modal.js +12 -12
  265. package/dist/ui/modal.mjs +2 -2
  266. package/dist/ui/pagination/variants.d.ts +3 -7
  267. package/dist/ui/pagination/variants.d.ts.map +1 -1
  268. package/dist/ui/pagination.js +84 -84
  269. package/dist/ui/pagination.js.map +1 -1
  270. package/dist/ui/pagination.mjs +81 -81
  271. package/dist/ui/pagination.mjs.map +1 -1
  272. package/dist/ui/progress/animated.js +8 -8
  273. package/dist/ui/progress/animated.mjs +2 -2
  274. package/dist/ui/progress/variants.d.ts +3 -3
  275. package/dist/ui/progress/variants.d.ts.map +1 -1
  276. package/dist/ui/progress.js +9 -9
  277. package/dist/ui/progress.mjs +2 -2
  278. package/dist/ui/search.js +2 -2
  279. package/dist/ui/search.mjs +1 -1
  280. package/dist/ui/select/variants.d.ts +6 -6
  281. package/dist/ui/select/variants.d.ts.map +1 -1
  282. package/dist/ui/select.js +122 -123
  283. package/dist/ui/select.js.map +1 -1
  284. package/dist/ui/select.mjs +122 -123
  285. package/dist/ui/select.mjs.map +1 -1
  286. package/dist/ui/skeleton/animated.js +8 -8
  287. package/dist/ui/skeleton/animated.mjs +1 -1
  288. package/dist/ui/skeleton/variants.d.ts +5 -4
  289. package/dist/ui/skeleton/variants.d.ts.map +1 -1
  290. package/dist/ui/skeleton.js +9 -9
  291. package/dist/ui/skeleton.mjs +1 -1
  292. package/dist/ui/slider/variants.d.ts +3 -3
  293. package/dist/ui/slider/variants.d.ts.map +1 -1
  294. package/dist/ui/slider.js +69 -67
  295. package/dist/ui/slider.js.map +1 -1
  296. package/dist/ui/slider.mjs +69 -67
  297. package/dist/ui/slider.mjs.map +1 -1
  298. package/dist/ui/spinner/animated/variants.d.ts +2 -2
  299. package/dist/ui/spinner/animated/variants.d.ts.map +1 -1
  300. package/dist/ui/spinner/animated.js +44 -38
  301. package/dist/ui/spinner/animated.js.map +1 -1
  302. package/dist/ui/spinner/animated.mjs +44 -38
  303. package/dist/ui/spinner/animated.mjs.map +1 -1
  304. package/dist/ui/stepper/variants.d.ts +1 -1
  305. package/dist/ui/stepper/variants.d.ts.map +1 -1
  306. package/dist/ui/stepper.js +57 -50
  307. package/dist/ui/stepper.js.map +1 -1
  308. package/dist/ui/stepper.mjs +57 -50
  309. package/dist/ui/stepper.mjs.map +1 -1
  310. package/dist/ui/table/animated.js +8 -8
  311. package/dist/ui/table/animated.mjs +2 -2
  312. package/dist/ui/table/variants.d.ts +2 -2
  313. package/dist/ui/table/variants.d.ts.map +1 -1
  314. package/dist/ui/table.js +14 -14
  315. package/dist/ui/table.mjs +1 -1
  316. package/dist/ui/tabs/animated.js +2 -2
  317. package/dist/ui/tabs/animated.mjs +1 -1
  318. package/dist/ui/tabs/variants.d.ts +2 -2
  319. package/dist/ui/tabs/variants.d.ts.map +1 -1
  320. package/dist/ui/tabs.js +9 -9
  321. package/dist/ui/tabs.mjs +1 -1
  322. package/dist/ui/toast/animated.js +7 -7
  323. package/dist/ui/toast/animated.mjs +1 -1
  324. package/dist/ui/toast/variants.d.ts +3 -3
  325. package/dist/ui/toast/variants.d.ts.map +1 -1
  326. package/dist/ui/toast.js +12 -12
  327. package/dist/ui/toast.mjs +1 -1
  328. package/dist/ui/toggle/animated/toggle-animated.d.ts.map +1 -1
  329. package/dist/ui/toggle/animated.js +13 -6
  330. package/dist/ui/toggle/animated.js.map +1 -1
  331. package/dist/ui/toggle/animated.mjs +12 -5
  332. package/dist/ui/toggle/animated.mjs.map +1 -1
  333. package/dist/ui/toggle/toggle-base.d.ts +2 -0
  334. package/dist/ui/toggle/toggle-base.d.ts.map +1 -1
  335. package/dist/ui/toggle/variants.d.ts +4 -4
  336. package/dist/ui/toggle/variants.d.ts.map +1 -1
  337. package/dist/ui/toggle.js +5 -94
  338. package/dist/ui/toggle.js.map +1 -1
  339. package/dist/ui/toggle.mjs +4 -93
  340. package/dist/ui/toggle.mjs.map +1 -1
  341. package/dist/ui/tooltip/animated.js +3 -3
  342. package/dist/ui/tooltip/animated.mjs +1 -1
  343. package/dist/ui/tooltip/variants.d.ts +3 -3
  344. package/dist/ui/tooltip/variants.d.ts.map +1 -1
  345. package/dist/ui/tooltip.js +7 -7
  346. package/dist/ui/tooltip.mjs +1 -1
  347. package/dist/ui/typography/variants.d.ts +1 -3
  348. package/dist/ui/typography/variants.d.ts.map +1 -1
  349. package/dist/ui/typography.js +51 -41
  350. package/dist/ui/typography.js.map +1 -1
  351. package/dist/ui/typography.mjs +51 -41
  352. package/dist/ui/typography.mjs.map +1 -1
  353. package/package.json +2 -1
  354. package/src/charts/shared/chart-frame.tsx +19 -8
  355. package/src/design-system/accordion.ts +111 -0
  356. package/src/design-system/alert.ts +64 -0
  357. package/src/design-system/avatar.ts +61 -0
  358. package/src/design-system/badge.ts +85 -0
  359. package/src/design-system/breadcrumb.ts +45 -0
  360. package/src/design-system/button.ts +81 -0
  361. package/src/design-system/card.ts +104 -0
  362. package/src/design-system/divider.ts +73 -0
  363. package/src/design-system/drawer.ts +111 -0
  364. package/src/design-system/dropdown.ts +130 -0
  365. package/src/design-system/dynamic-stepper.ts +218 -0
  366. package/src/design-system/empty-state.ts +39 -0
  367. package/src/design-system/file-upload.ts +30 -0
  368. package/src/design-system/index.ts +29 -0
  369. package/src/design-system/inputs.ts +74 -0
  370. package/src/design-system/modal.ts +110 -0
  371. package/src/design-system/pagination.ts +92 -0
  372. package/src/design-system/progress.ts +86 -0
  373. package/src/design-system/select.ts +155 -0
  374. package/src/design-system/skeleton.ts +129 -0
  375. package/src/design-system/slider.ts +70 -0
  376. package/src/design-system/spinner.ts +59 -0
  377. package/src/design-system/stepper.ts +66 -0
  378. package/src/design-system/table.ts +115 -0
  379. package/src/design-system/tabs.ts +73 -0
  380. package/src/design-system/toast.ts +69 -0
  381. package/src/design-system/toggle.ts +120 -0
  382. package/src/design-system/tokens.ts +22 -0
  383. package/src/design-system/tooltip.ts +63 -0
  384. package/src/design-system/typography.ts +64 -0
  385. package/src/ui/accordion/variants.ts +24 -106
  386. package/src/ui/alert/alert.test.tsx +1 -1
  387. package/src/ui/alert/variants.ts +25 -77
  388. package/src/ui/avatar/variants.ts +21 -66
  389. package/src/ui/badge/badge.test.tsx +1 -1
  390. package/src/ui/badge/variants.ts +28 -89
  391. package/src/ui/breadcrumb/variants.ts +24 -40
  392. package/src/ui/buttons/button.test.tsx +25 -5
  393. package/src/ui/buttons/variants.ts +15 -84
  394. package/src/ui/card/card.test.tsx +1 -1
  395. package/src/ui/card/variants.ts +46 -121
  396. package/src/ui/divider/divider-base.tsx +1 -1
  397. package/src/ui/divider/variants.ts +32 -70
  398. package/src/ui/drawer/drawer-base.tsx +1 -1
  399. package/src/ui/drawer/variants.ts +41 -132
  400. package/src/ui/dropdown/variants.ts +36 -142
  401. package/src/ui/dynamic-stepper/variants.ts +32 -216
  402. package/src/ui/empty-state/variants.ts +29 -44
  403. package/src/ui/file-upload/variants.ts +12 -36
  404. package/src/ui/inputs/input.test.tsx +11 -11
  405. package/src/ui/inputs/variants.ts +308 -371
  406. package/src/ui/modal/variants.ts +29 -120
  407. package/src/ui/pagination/pagination.test.tsx +1 -1
  408. package/src/ui/pagination/variants.ts +22 -95
  409. package/src/ui/progress/variants.ts +41 -112
  410. package/src/ui/select/variants.ts +40 -165
  411. package/src/ui/skeleton/variants.ts +154 -250
  412. package/src/ui/slider/variants.ts +34 -67
  413. package/src/ui/spinner/animated/variants.ts +10 -39
  414. package/src/ui/stepper/stepper.test.tsx +12 -4
  415. package/src/ui/stepper/variants.ts +23 -68
  416. package/src/ui/table/variants.ts +36 -106
  417. package/src/ui/tabs/variants.ts +26 -73
  418. package/src/ui/toast/variants.ts +24 -75
  419. package/src/ui/toggle/animated/toggle-animated.tsx +14 -4
  420. package/src/ui/toggle/toggle-base.tsx +3 -7
  421. package/src/ui/toggle/variants.ts +27 -111
  422. package/src/ui/tooltip/variants.ts +18 -57
  423. package/src/ui/typography/typography.test.tsx +1 -1
  424. package/src/ui/typography/variants.ts +17 -54
  425. package/dist/chunk-25EAVVGS.mjs +0 -267
  426. package/dist/chunk-25EAVVGS.mjs.map +0 -1
  427. package/dist/chunk-3OXIZ4ZO.js +0 -175
  428. package/dist/chunk-3OXIZ4ZO.js.map +0 -1
  429. package/dist/chunk-3Z73M5TW.js +0 -273
  430. package/dist/chunk-3Z73M5TW.js.map +0 -1
  431. package/dist/chunk-4F56BLZQ.js +0 -336
  432. package/dist/chunk-4F56BLZQ.js.map +0 -1
  433. package/dist/chunk-4PZIDDC6.js +0 -279
  434. package/dist/chunk-4PZIDDC6.js.map +0 -1
  435. package/dist/chunk-73RHHGIA.mjs +0 -197
  436. package/dist/chunk-73RHHGIA.mjs.map +0 -1
  437. package/dist/chunk-746CV3AN.js +0 -246
  438. package/dist/chunk-746CV3AN.js.map +0 -1
  439. package/dist/chunk-CFTDAGKD.js +0 -130
  440. package/dist/chunk-CFTDAGKD.js.map +0 -1
  441. package/dist/chunk-D55YIHBN.js.map +0 -1
  442. package/dist/chunk-EU63V22F.mjs +0 -126
  443. package/dist/chunk-EU63V22F.mjs.map +0 -1
  444. package/dist/chunk-EZS47EZW.mjs +0 -70
  445. package/dist/chunk-EZS47EZW.mjs.map +0 -1
  446. package/dist/chunk-GHJN3Z3V.js +0 -292
  447. package/dist/chunk-GHJN3Z3V.js.map +0 -1
  448. package/dist/chunk-GIC3J6HR.mjs +0 -196
  449. package/dist/chunk-GIC3J6HR.mjs.map +0 -1
  450. package/dist/chunk-GPAUYUM3.js +0 -232
  451. package/dist/chunk-GPAUYUM3.js.map +0 -1
  452. package/dist/chunk-HARD4NMB.mjs +0 -268
  453. package/dist/chunk-HARD4NMB.mjs.map +0 -1
  454. package/dist/chunk-HV7LVRK3.js +0 -277
  455. package/dist/chunk-HV7LVRK3.js.map +0 -1
  456. package/dist/chunk-J5QJEKY2.mjs +0 -169
  457. package/dist/chunk-J5QJEKY2.mjs.map +0 -1
  458. package/dist/chunk-JE6B3DHW.mjs +0 -220
  459. package/dist/chunk-JE6B3DHW.mjs.map +0 -1
  460. package/dist/chunk-JOMSI4WH.js.map +0 -1
  461. package/dist/chunk-KA5MORDC.js +0 -336
  462. package/dist/chunk-KA5MORDC.js.map +0 -1
  463. package/dist/chunk-LPL6NJ5Q.mjs +0 -264
  464. package/dist/chunk-LPL6NJ5Q.mjs.map +0 -1
  465. package/dist/chunk-M6FS7X54.mjs.map +0 -1
  466. package/dist/chunk-MM3P52WS.js.map +0 -1
  467. package/dist/chunk-MTJRPLMG.js.map +0 -1
  468. package/dist/chunk-OB6TYS5Q.js +0 -205
  469. package/dist/chunk-OB6TYS5Q.js.map +0 -1
  470. package/dist/chunk-OHST7AHC.mjs +0 -99
  471. package/dist/chunk-OHST7AHC.mjs.map +0 -1
  472. package/dist/chunk-OVTWPGMW.mjs.map +0 -1
  473. package/dist/chunk-PSIAOIXJ.mjs +0 -278
  474. package/dist/chunk-PSIAOIXJ.mjs.map +0 -1
  475. package/dist/chunk-QNF4JPFP.js +0 -339
  476. package/dist/chunk-QNF4JPFP.js.map +0 -1
  477. package/dist/chunk-QSIJKHC5.mjs.map +0 -1
  478. package/dist/chunk-RFFGQYDQ.mjs +0 -337
  479. package/dist/chunk-RFFGQYDQ.mjs.map +0 -1
  480. package/dist/chunk-S5H2OMTZ.mjs +0 -233
  481. package/dist/chunk-S5H2OMTZ.mjs.map +0 -1
  482. package/dist/chunk-SPX2QDIB.mjs.map +0 -1
  483. package/dist/chunk-TIPNRH26.js +0 -102
  484. package/dist/chunk-TIPNRH26.js.map +0 -1
  485. package/dist/chunk-V2PEOBAT.mjs +0 -324
  486. package/dist/chunk-V2PEOBAT.mjs.map +0 -1
  487. package/dist/chunk-VGWA26BN.js +0 -72
  488. package/dist/chunk-VGWA26BN.js.map +0 -1
  489. package/dist/chunk-WNLDXBS6.mjs +0 -323
  490. package/dist/chunk-WNLDXBS6.mjs.map +0 -1
  491. package/dist/chunk-YIO7DFUA.js +0 -207
  492. package/dist/chunk-YIO7DFUA.js.map +0 -1
@@ -1,273 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkZS5756ZC_js = require('./chunk-ZS5756ZC.js');
4
- var classVarianceAuthority = require('class-variance-authority');
5
- var react = require('react');
6
- var jsxRuntime = require('react/jsx-runtime');
7
-
8
- var tabsListVariants = classVarianceAuthority.cva("flex items-center gap-1", {
9
- variants: {
10
- variant: {
11
- default: "bg-transparent",
12
- underline: "border-b-2 border-transparent",
13
- pills: "rounded-md"
14
- },
15
- size: {
16
- sm: "text-sm p-1",
17
- md: "text-base p-1.5",
18
- lg: "text-lg p-2"
19
- },
20
- orientation: {
21
- horizontal: "flex-row",
22
- vertical: "flex-col"
23
- }
24
- },
25
- defaultVariants: {
26
- size: "md",
27
- orientation: "horizontal",
28
- variant: "pills"
29
- }
30
- });
31
- var tabsTriggerVariants = classVarianceAuthority.cva(
32
- "px-3 py-1.5 rounded-md transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
33
- {
34
- variants: {
35
- appearance: {
36
- default: "bg-transparent text-slate-900 dark:text-slate-50",
37
- sky: "bg-sky-300 text-sky-900 dark:bg-sky-900 dark:text-sky-200 data-[state=active]:bg-sky-900 dark:data-[state=active]:bg-sky-700 data-[state=active]:text-sky-50 dark:data-[state=active]:text-sky-100",
38
- rose: "bg-rose-300 text-rose-900 dark:bg-rose-900 dark:text-rose-200 data-[state=active]:bg-rose-900 dark:data-[state=active]:bg-rose-700 data-[state=active]:text-rose-50 dark:data-[state=active]:text-rose-100",
39
- purple: "bg-purple-300 text-purple-900 dark:bg-purple-900 dark:text-purple-200 data-[state=active]:bg-purple-900 dark:data-[state=active]:bg-purple-700 data-[state=active]:text-purple-50 dark:data-[state=active]:text-purple-100",
40
- pink: "bg-pink-300 text-pink-900 dark:bg-pink-900 dark:text-pink-200 data-[state=active]:bg-pink-900 dark:data-[state=active]:bg-pink-700 data-[state=active]:text-pink-50 dark:data-[state=active]:text-pink-100",
41
- orange: "bg-orange-300 text-orange-900 dark:bg-orange-900 dark:text-orange-200 data-[state=active]:bg-orange-900 dark:data-[state=active]:bg-orange-700 data-[state=active]:text-orange-50 dark:data-[state=active]:text-orange-100",
42
- yellow: "bg-yellow-300 text-yellow-900 dark:bg-yellow-900 dark:text-yellow-200 data-[state=active]:bg-yellow-900 dark:data-[state=active]:bg-yellow-700 data-[state=active]:text-yellow-50 dark:data-[state=active]:text-yellow-100",
43
- teal: "bg-teal-300 text-teal-900 dark:bg-teal-900 dark:text-teal-200 data-[state=active]:bg-teal-900 dark:data-[state=active]:bg-teal-700 data-[state=active]:text-teal-50 dark:data-[state=active]:text-teal-100",
44
- indigo: "bg-indigo-300 text-indigo-900 dark:bg-indigo-900 dark:text-indigo-200 data-[state=active]:bg-indigo-900 dark:data-[state=active]:bg-indigo-700 data-[state=active]:text-indigo-50 dark:data-[state=active]:text-indigo-100",
45
- emerald: "bg-emerald-300 text-emerald-900 dark:bg-emerald-900 dark:text-emerald-200 data-[state=active]:bg-emerald-900 dark:data-[state=active]:bg-emerald-700 data-[state=active]:text-emerald-50 dark:data-[state=active]:text-emerald-100",
46
- gray: "bg-gray-300 text-gray-900 dark:bg-gray-900 dark:text-gray-200 data-[state=active]:bg-gray-900 dark:data-[state=active]:bg-gray-700 data-[state=active]:text-gray-50 dark:data-[state=active]:text-gray-100",
47
- "gradient-blue": "bg-linear-to-r from-blue-800 dark:from-blue-800 to-purple-800 dark:to-purple-800 text-blue-100 dark:text-blue-50 data-[state=active]:from-blue-600 dark:data-[state=active]:from-blue-600 data-[state=active]:to-purple-600 dark:data-[state=active]:to-purple-600 data-[state=active]:text-blue-100 dark:data-[state=active]:text-blue-100",
48
- "gradient-green": "bg-linear-to-r from-green-800 dark:from-green-800 to-lime-800 dark:to-lime-800 text-green-100 dark:text-green-50 data-[state=active]:from-green-600 dark:data-[state=active]:from-green-600 data-[state=active]:to-lime-600 dark:data-[state=active]:to-lime-600 data-[state=active]:text-green-100 dark:data-[state=active]:text-green-100",
49
- "gradient-red": "bg-linear-to-r from-red-800 dark:from-red-800 to-pink-800 dark:to-pink-800 text-red-100 dark:text-red-50 data-[state=active]:from-red-600 dark:data-[state=active]:from-red-600 data-[state=active]:to-pink-600 dark:data-[state=active]:to-pink-600 data-[state=active]:text-red-100 dark:data-[state=active]:text-red-100",
50
- "gradient-yellow": "bg-linear-to-r from-yellow-800 dark:from-yellow-800 to-orange-800 dark:to-orange-800 text-yellow-100 dark:text-yellow-50 data-[state=active]:from-yellow-600 dark:data-[state=active]:from-yellow-600 data-[state=active]:to-orange-600 dark:data-[state=active]:to-orange-600 data-[state=active]:text-yellow-100 dark:data-[state=active]:text-yellow-100",
51
- "gradient-purple": "bg-linear-to-r from-purple-800 dark:from-purple-800 to-pink-800 dark:to-pink-800 text-purple-100 dark:text-purple-50 data-[state=active]:from-purple-600 dark:data-[state=active]:from-purple-600 data-[state=active]:to-pink-600 dark:data-[state=active]:to-pink-600 data-[state=active]:text-purple-100 dark:data-[state=active]:text-purple-100",
52
- "gradient-teal": "bg-linear-to-r from-teal-800 dark:from-teal-800 to-cyan-800 dark:to-cyan-800 text-teal-100 dark:text-teal-50 data-[state=active]:from-teal-600 dark:data-[state=active]:from-teal-600 data-[state=active]:to-cyan-600 dark:data-[state=active]:to-cyan-600 data-[state=active]:text-teal-100 dark:data-[state=active]:text-teal-100",
53
- "gradient-indigo": "bg-linear-to-r from-indigo-800 dark:from-indigo-800 to-purple-800 dark:to-purple-800 text-indigo-100 dark:text-indigo-50 data-[state=active]:from-indigo-600 dark:data-[state=active]:from-indigo-600 data-[state=active]:to-purple-600 dark:data-[state=active]:to-purple-600 data-[state=active]:text-indigo-100 dark:data-[state=active]:text-indigo-100",
54
- "gradient-pink": "bg-linear-to-r from-pink-800 dark:from-pink-800 to-rose-800 dark:to-rose-800 text-pink-100 dark:text-pink-50 data-[state=active]:from-pink-600 dark:data-[state=active]:from-pink-600 data-[state=active]:to-rose-600 dark:data-[state=active]:to-rose-600 data-[state=active]:text-pink-100 dark:data-[state=active]:text-pink-100",
55
- "gradient-orange": "bg-linear-to-r from-orange-800 dark:from-orange-800 to-red-800 dark:to-red-800 text-orange-100 dark:text-orange-50 data-[state=active]:from-orange-600 dark:data-[state=active]:from-orange-600 data-[state=active]:to-red-600 dark:data-[state=active]:to-red-600 data-[state=active]:text-orange-100 dark:data-[state=active]:text-orange-100"
56
- },
57
- variant: {
58
- default: "data-[state=active]:bg-background",
59
- underline: "border-b-2 border-transparent data-[state=active]:border-current rounded-none",
60
- pills: ""
61
- },
62
- size: {
63
- sm: "px-2 py-1",
64
- md: "px-3 py-1.5",
65
- lg: "px-4 py-2"
66
- }
67
- },
68
- defaultVariants: {
69
- appearance: "default",
70
- variant: "pills",
71
- size: "md"
72
- }
73
- }
74
- );
75
- var TabsContext = react.createContext(null);
76
- var useTabs = () => {
77
- const ctx = react.useContext(TabsContext);
78
- if (!ctx) throw new Error("Tabs components must be used within Tabs");
79
- return ctx;
80
- };
81
- function Tabs({
82
- value,
83
- defaultValue,
84
- onValueChange,
85
- orientation = "horizontal",
86
- variant,
87
- size,
88
- appearance,
89
- children,
90
- className
91
- }) {
92
- const [internalValue, setInternalValue] = react.useState(defaultValue);
93
- const idPrefix = react.useId();
94
- const listRef = react.useRef(null);
95
- const isControlled = value !== void 0;
96
- const currentValue = isControlled ? value : internalValue;
97
- const setValue = (val) => {
98
- if (!isControlled) setInternalValue(val);
99
- onValueChange?.(val);
100
- };
101
- const tabTriggerId = (tabValue) => `${idPrefix}zentauri-tab-${tabValue}`;
102
- const tabPanelId = (tabValue) => `${idPrefix}zentauri-panel-${tabValue}`;
103
- return /* @__PURE__ */ jsxRuntime.jsx(
104
- TabsContext.Provider,
105
- {
106
- value: {
107
- value: currentValue,
108
- setValue,
109
- listRef,
110
- orientation,
111
- size,
112
- variant,
113
- appearance,
114
- tabTriggerId,
115
- tabPanelId
116
- },
117
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "tabs", className: chunkZS5756ZC_js.cn("w-full", className), children })
118
- }
119
- );
120
- }
121
- function TabsList({ children, className, ...props }) {
122
- const { orientation, size, listRef } = useTabs();
123
- return /* @__PURE__ */ jsxRuntime.jsx(
124
- "div",
125
- {
126
- ref: listRef,
127
- role: "tablist",
128
- "aria-orientation": orientation,
129
- className: chunkZS5756ZC_js.cn(tabsListVariants({ orientation, size }), className),
130
- ...props,
131
- children
132
- }
133
- );
134
- }
135
- function TabsTrigger({
136
- value,
137
- children,
138
- disabled,
139
- className,
140
- ...props
141
- }) {
142
- const {
143
- value: activeValue,
144
- setValue,
145
- listRef,
146
- orientation,
147
- tabTriggerId,
148
- tabPanelId,
149
- size,
150
- appearance,
151
- variant
152
- } = useTabs();
153
- const isActive = activeValue === value;
154
- const handleKeyDown = (e) => {
155
- const list = listRef.current;
156
- const triggers = list === null ? [] : Array.from(list.querySelectorAll('[role="tab"]'));
157
- const nextKeys = orientation === "vertical" ? ["ArrowDown"] : ["ArrowRight"];
158
- const prevKeys = orientation === "vertical" ? ["ArrowUp"] : ["ArrowLeft"];
159
- const index = triggers.findIndex((el) => el === e.currentTarget);
160
- if (index === -1) {
161
- return;
162
- }
163
- const findEnabledIndex = (start, direction) => {
164
- const n = triggers.length;
165
- if (n === 0) {
166
- return void 0;
167
- }
168
- let i = start;
169
- for (let step = 0; step < n; step += 1) {
170
- i = (i + direction + n) % n;
171
- if (triggers[i]?.disabled !== true) {
172
- return i;
173
- }
174
- }
175
- return void 0;
176
- };
177
- const focusAt = (i) => {
178
- const target = triggers[i];
179
- if (target !== void 0 && target.disabled !== true) {
180
- target.focus();
181
- }
182
- };
183
- const isNext = nextKeys.includes(e.key);
184
- const isPrev = prevKeys.includes(e.key);
185
- if (isNext) {
186
- e.preventDefault();
187
- const nextIdx = findEnabledIndex(index, 1);
188
- if (nextIdx !== void 0) {
189
- focusAt(nextIdx);
190
- }
191
- return;
192
- }
193
- if (isPrev) {
194
- e.preventDefault();
195
- const prevIdx = findEnabledIndex(index, -1);
196
- if (prevIdx !== void 0) {
197
- focusAt(prevIdx);
198
- }
199
- return;
200
- }
201
- if (e.key === "Home") {
202
- e.preventDefault();
203
- const firstEnabledIndex = triggers.findIndex((btn) => !btn.disabled);
204
- if (firstEnabledIndex !== -1) {
205
- triggers[firstEnabledIndex]?.focus();
206
- }
207
- return;
208
- }
209
- if (e.key === "End") {
210
- e.preventDefault();
211
- for (let i = triggers.length - 1; i >= 0; i -= 1) {
212
- if (!triggers[i]?.disabled) {
213
- triggers[i]?.focus();
214
- break;
215
- }
216
- }
217
- }
218
- };
219
- return /* @__PURE__ */ jsxRuntime.jsx(
220
- "button",
221
- {
222
- id: tabTriggerId(value),
223
- type: "button",
224
- role: "tab",
225
- "data-state": isActive ? "active" : "inactive",
226
- "aria-selected": isActive,
227
- "aria-controls": tabPanelId(value),
228
- disabled,
229
- tabIndex: activeValue === void 0 ? void 0 : isActive ? 0 : -1,
230
- onClick: () => setValue(value),
231
- onKeyDown: handleKeyDown,
232
- className: chunkZS5756ZC_js.cn(
233
- tabsTriggerVariants({ size, appearance, variant }),
234
- className,
235
- "cursor-pointer"
236
- ),
237
- ...props,
238
- children
239
- }
240
- );
241
- }
242
- function TabsContent({
243
- value,
244
- children,
245
- className,
246
- as: Wrapper = "div",
247
- ...props
248
- }) {
249
- const { value: activeValue, tabTriggerId, tabPanelId } = useTabs();
250
- if (activeValue !== value) return null;
251
- return /* @__PURE__ */ jsxRuntime.jsx(
252
- Wrapper,
253
- {
254
- id: tabPanelId(value),
255
- role: "tabpanel",
256
- "aria-labelledby": tabTriggerId(value),
257
- className: chunkZS5756ZC_js.cn("mt-2", className),
258
- ...props,
259
- children
260
- }
261
- );
262
- }
263
-
264
- exports.Tabs = Tabs;
265
- exports.TabsContent = TabsContent;
266
- exports.TabsContext = TabsContext;
267
- exports.TabsList = TabsList;
268
- exports.TabsTrigger = TabsTrigger;
269
- exports.tabsListVariants = tabsListVariants;
270
- exports.tabsTriggerVariants = tabsTriggerVariants;
271
- exports.useTabs = useTabs;
272
- //# sourceMappingURL=chunk-3Z73M5TW.js.map
273
- //# sourceMappingURL=chunk-3Z73M5TW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/tabs/variants.ts","../src/ui/tabs/tabs-base.tsx"],"names":["cva","createContext","useContext","useState","useId","useRef","jsx","cn"],"mappings":"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","file":"chunk-3Z73M5TW.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const tabsListVariants = cva(\"flex items-center gap-1\", {\n variants: {\n variant: {\n default: \"bg-transparent\",\n underline: \"border-b-2 border-transparent\",\n pills: \"rounded-md\",\n },\n size: {\n sm: \"text-sm p-1\",\n md: \"text-base p-1.5\",\n lg: \"text-lg p-2\",\n },\n orientation: {\n horizontal: \"flex-row\",\n vertical: \"flex-col\",\n },\n },\n defaultVariants: {\n size: \"md\",\n orientation: \"horizontal\",\n variant: \"pills\",\n },\n});\n\nexport const tabsTriggerVariants = cva(\n \"px-3 py-1.5 rounded-md transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\",\n {\n variants: {\n appearance: {\n default: \"bg-transparent text-slate-900 dark:text-slate-50\",\n sky: \"bg-sky-300 text-sky-900 dark:bg-sky-900 dark:text-sky-200 data-[state=active]:bg-sky-900 dark:data-[state=active]:bg-sky-700 data-[state=active]:text-sky-50 dark:data-[state=active]:text-sky-100\",\n rose: \"bg-rose-300 text-rose-900 dark:bg-rose-900 dark:text-rose-200 data-[state=active]:bg-rose-900 dark:data-[state=active]:bg-rose-700 data-[state=active]:text-rose-50 dark:data-[state=active]:text-rose-100\",\n purple:\n \"bg-purple-300 text-purple-900 dark:bg-purple-900 dark:text-purple-200 data-[state=active]:bg-purple-900 dark:data-[state=active]:bg-purple-700 data-[state=active]:text-purple-50 dark:data-[state=active]:text-purple-100\",\n pink: \"bg-pink-300 text-pink-900 dark:bg-pink-900 dark:text-pink-200 data-[state=active]:bg-pink-900 dark:data-[state=active]:bg-pink-700 data-[state=active]:text-pink-50 dark:data-[state=active]:text-pink-100\",\n orange:\n \"bg-orange-300 text-orange-900 dark:bg-orange-900 dark:text-orange-200 data-[state=active]:bg-orange-900 dark:data-[state=active]:bg-orange-700 data-[state=active]:text-orange-50 dark:data-[state=active]:text-orange-100\",\n yellow:\n \"bg-yellow-300 text-yellow-900 dark:bg-yellow-900 dark:text-yellow-200 data-[state=active]:bg-yellow-900 dark:data-[state=active]:bg-yellow-700 data-[state=active]:text-yellow-50 dark:data-[state=active]:text-yellow-100\",\n teal: \"bg-teal-300 text-teal-900 dark:bg-teal-900 dark:text-teal-200 data-[state=active]:bg-teal-900 dark:data-[state=active]:bg-teal-700 data-[state=active]:text-teal-50 dark:data-[state=active]:text-teal-100\",\n indigo:\n \"bg-indigo-300 text-indigo-900 dark:bg-indigo-900 dark:text-indigo-200 data-[state=active]:bg-indigo-900 dark:data-[state=active]:bg-indigo-700 data-[state=active]:text-indigo-50 dark:data-[state=active]:text-indigo-100\",\n emerald:\n \"bg-emerald-300 text-emerald-900 dark:bg-emerald-900 dark:text-emerald-200 data-[state=active]:bg-emerald-900 dark:data-[state=active]:bg-emerald-700 data-[state=active]:text-emerald-50 dark:data-[state=active]:text-emerald-100\",\n gray: \"bg-gray-300 text-gray-900 dark:bg-gray-900 dark:text-gray-200 data-[state=active]:bg-gray-900 dark:data-[state=active]:bg-gray-700 data-[state=active]:text-gray-50 dark:data-[state=active]:text-gray-100\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-800 dark:from-blue-800 to-purple-800 dark:to-purple-800 text-blue-100 dark:text-blue-50 data-[state=active]:from-blue-600 dark:data-[state=active]:from-blue-600 data-[state=active]:to-purple-600 dark:data-[state=active]:to-purple-600 data-[state=active]:text-blue-100 dark:data-[state=active]:text-blue-100\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-800 dark:from-green-800 to-lime-800 dark:to-lime-800 text-green-100 dark:text-green-50 data-[state=active]:from-green-600 dark:data-[state=active]:from-green-600 data-[state=active]:to-lime-600 dark:data-[state=active]:to-lime-600 data-[state=active]:text-green-100 dark:data-[state=active]:text-green-100\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-800 dark:from-red-800 to-pink-800 dark:to-pink-800 text-red-100 dark:text-red-50 data-[state=active]:from-red-600 dark:data-[state=active]:from-red-600 data-[state=active]:to-pink-600 dark:data-[state=active]:to-pink-600 data-[state=active]:text-red-100 dark:data-[state=active]:text-red-100\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-800 dark:from-yellow-800 to-orange-800 dark:to-orange-800 text-yellow-100 dark:text-yellow-50 data-[state=active]:from-yellow-600 dark:data-[state=active]:from-yellow-600 data-[state=active]:to-orange-600 dark:data-[state=active]:to-orange-600 data-[state=active]:text-yellow-100 dark:data-[state=active]:text-yellow-100\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-800 dark:from-purple-800 to-pink-800 dark:to-pink-800 text-purple-100 dark:text-purple-50 data-[state=active]:from-purple-600 dark:data-[state=active]:from-purple-600 data-[state=active]:to-pink-600 dark:data-[state=active]:to-pink-600 data-[state=active]:text-purple-100 dark:data-[state=active]:text-purple-100\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-800 dark:from-teal-800 to-cyan-800 dark:to-cyan-800 text-teal-100 dark:text-teal-50 data-[state=active]:from-teal-600 dark:data-[state=active]:from-teal-600 data-[state=active]:to-cyan-600 dark:data-[state=active]:to-cyan-600 data-[state=active]:text-teal-100 dark:data-[state=active]:text-teal-100\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-800 dark:from-indigo-800 to-purple-800 dark:to-purple-800 text-indigo-100 dark:text-indigo-50 data-[state=active]:from-indigo-600 dark:data-[state=active]:from-indigo-600 data-[state=active]:to-purple-600 dark:data-[state=active]:to-purple-600 data-[state=active]:text-indigo-100 dark:data-[state=active]:text-indigo-100\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-800 dark:from-pink-800 to-rose-800 dark:to-rose-800 text-pink-100 dark:text-pink-50 data-[state=active]:from-pink-600 dark:data-[state=active]:from-pink-600 data-[state=active]:to-rose-600 dark:data-[state=active]:to-rose-600 data-[state=active]:text-pink-100 dark:data-[state=active]:text-pink-100\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-800 dark:from-orange-800 to-red-800 dark:to-red-800 text-orange-100 dark:text-orange-50 data-[state=active]:from-orange-600 dark:data-[state=active]:from-orange-600 data-[state=active]:to-red-600 dark:data-[state=active]:to-red-600 data-[state=active]:text-orange-100 dark:data-[state=active]:text-orange-100\",\n },\n variant: {\n default: \"data-[state=active]:bg-background\",\n underline:\n \"border-b-2 border-transparent data-[state=active]:border-current rounded-none\",\n pills: \"\",\n },\n size: {\n sm: \"px-2 py-1\",\n md: \"px-3 py-1.5\",\n lg: \"px-4 py-2\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n variant: \"pills\",\n size: \"md\",\n },\n },\n);\n","\"use client\";\n\nimport {\n createContext,\n KeyboardEvent,\n useContext,\n useId,\n useRef,\n useState,\n} from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport {\n TabsContentProps,\n TabsListProps,\n TabsProps,\n TabsTriggerProps,\n TabsValue,\n TabsContextType,\n} from \"./types\";\nimport { tabsListVariants, tabsTriggerVariants } from \"./variants\";\n\nexport const TabsContext = createContext<TabsContextType | null>(null);\n\nexport const useTabs = () => {\n const ctx = useContext(TabsContext);\n if (!ctx) throw new Error(\"Tabs components must be used within Tabs\");\n return ctx;\n};\n\nexport function Tabs({\n value,\n defaultValue,\n onValueChange,\n orientation = \"horizontal\",\n variant,\n size,\n appearance,\n children,\n className,\n}: TabsProps) {\n const [internalValue, setInternalValue] = useState(defaultValue);\n const idPrefix = useId();\n const listRef = useRef<HTMLDivElement | null>(null);\n\n const isControlled = value !== undefined;\n const currentValue = isControlled ? value : internalValue;\n\n const setValue = (val: string) => {\n if (!isControlled) setInternalValue(val);\n onValueChange?.(val);\n };\n\n const tabTriggerId = (tabValue: TabsValue) =>\n `${idPrefix}zentauri-tab-${tabValue}`;\n const tabPanelId = (tabValue: TabsValue) =>\n `${idPrefix}zentauri-panel-${tabValue}`;\n\n return (\n <TabsContext.Provider\n value={{\n value: currentValue,\n setValue,\n listRef,\n orientation,\n size,\n variant,\n appearance,\n tabTriggerId,\n tabPanelId,\n }}\n >\n <div data-slot=\"tabs\" className={cn(\"w-full\", className)}>\n {children}\n </div>\n </TabsContext.Provider>\n );\n}\n\nexport function TabsList({ children, className, ...props }: TabsListProps) {\n const { orientation, size, listRef } = useTabs();\n\n return (\n <div\n ref={listRef}\n role=\"tablist\"\n aria-orientation={orientation}\n className={cn(tabsListVariants({ orientation, size }), className)}\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport function TabsTrigger({\n value,\n children,\n disabled,\n className,\n ...props\n}: TabsTriggerProps) {\n const {\n value: activeValue,\n setValue,\n listRef,\n orientation,\n tabTriggerId,\n tabPanelId,\n size,\n appearance,\n variant,\n } = useTabs();\n\n const isActive = activeValue === value;\n\n const handleKeyDown = (e: KeyboardEvent<HTMLButtonElement>) => {\n const list = listRef.current;\n const triggers =\n list === null\n ? []\n : Array.from(list.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]'));\n\n const nextKeys =\n orientation === \"vertical\" ? [\"ArrowDown\"] : [\"ArrowRight\"];\n const prevKeys = orientation === \"vertical\" ? [\"ArrowUp\"] : [\"ArrowLeft\"];\n\n const index = triggers.findIndex((el) => el === e.currentTarget);\n if (index === -1) {\n return;\n }\n\n const findEnabledIndex = (\n start: number,\n direction: 1 | -1,\n ): number | undefined => {\n const n = triggers.length;\n if (n === 0) {\n return undefined;\n }\n let i = start;\n for (let step = 0; step < n; step += 1) {\n i = (i + direction + n) % n;\n if (triggers[i]?.disabled !== true) {\n return i;\n }\n }\n return undefined;\n };\n\n const focusAt = (i: number) => {\n const target = triggers[i];\n if (target !== undefined && target.disabled !== true) {\n target.focus();\n }\n };\n\n const isNext = nextKeys.includes(e.key);\n const isPrev = prevKeys.includes(e.key);\n\n if (isNext) {\n e.preventDefault();\n const nextIdx = findEnabledIndex(index, 1);\n if (nextIdx !== undefined) {\n focusAt(nextIdx);\n }\n return;\n }\n\n if (isPrev) {\n e.preventDefault();\n const prevIdx = findEnabledIndex(index, -1);\n if (prevIdx !== undefined) {\n focusAt(prevIdx);\n }\n return;\n }\n\n if (e.key === \"Home\") {\n e.preventDefault();\n const firstEnabledIndex = triggers.findIndex((btn) => !btn.disabled);\n if (firstEnabledIndex !== -1) {\n triggers[firstEnabledIndex]?.focus();\n }\n return;\n }\n\n if (e.key === \"End\") {\n e.preventDefault();\n for (let i = triggers.length - 1; i >= 0; i -= 1) {\n if (!triggers[i]?.disabled) {\n triggers[i]?.focus();\n break;\n }\n }\n }\n };\n\n return (\n <button\n id={tabTriggerId(value)}\n type=\"button\"\n role=\"tab\"\n data-state={isActive ? \"active\" : \"inactive\"}\n aria-selected={isActive}\n aria-controls={tabPanelId(value)}\n disabled={disabled}\n tabIndex={activeValue === undefined ? undefined : isActive ? 0 : -1}\n onClick={() => setValue(value)}\n onKeyDown={handleKeyDown}\n className={cn(\n tabsTriggerVariants({ size, appearance, variant }),\n className,\n \"cursor-pointer\",\n )}\n {...props}\n >\n {children}\n </button>\n );\n}\n\nexport function TabsContent({\n value,\n children,\n className,\n as: Wrapper = \"div\",\n ...props\n}: TabsContentProps) {\n const { value: activeValue, tabTriggerId, tabPanelId } = useTabs();\n\n if (activeValue !== value) return null;\n\n return (\n <Wrapper\n id={tabPanelId(value)}\n role=\"tabpanel\"\n aria-labelledby={tabTriggerId(value)}\n className={cn(\"mt-2\", className)}\n {...props}\n >\n {children}\n </Wrapper>\n );\n}\n"]}
@@ -1,336 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkGBWGVNDA_js = require('./chunk-GBWGVNDA.js');
4
- var chunkZS5756ZC_js = require('./chunk-ZS5756ZC.js');
5
- var classVarianceAuthority = require('class-variance-authority');
6
- var react = require('react');
7
- var reactDom = require('react-dom');
8
- var jsxRuntime = require('react/jsx-runtime');
9
-
10
- var modalOverlayVariants = classVarianceAuthority.cva(
11
- "fixed inset-0 z-50 bg-slate-950/70 backdrop-blur-sm data-[state=open]:animate-in"
12
- );
13
- var modalTriggerVariants = classVarianceAuthority.cva(
14
- "relative inline-flex shrink-0 cursor-pointer rounded-md border",
15
- {
16
- variants: {
17
- appearance: {
18
- default: "bg-slate-50 dark:bg-slate-950 text-slate-900 dark:text-slate-50",
19
- glass: "border-black/15 dark:border-white/15 bg-slate-50/70 dark:bg-slate-950/70 backdrop-blur-xl text-slate-900 dark:text-slate-50",
20
- sky: "border-sky-800 dark:border-sky-600 bg-sky-50 dark:bg-sky-950/70 backdrop-blur-xl text-sky-800 dark:text-sky-50",
21
- rose: "border-rose-800 dark:border-rose-600 bg-rose-50 dark:bg-rose-950/70 backdrop-blur-xl text-rose-800 dark:text-rose-50",
22
- purple: "border-purple-800 dark:border-purple-600 bg-purple-50 dark:bg-purple-950/70 backdrop-blur-xl text-purple-800 dark:text-purple-50",
23
- pink: "border-pink-800 dark:border-pink-600 bg-pink-50 dark:bg-pink-950/70 backdrop-blur-xl text-pink-800 dark:text-pink-50",
24
- orange: "border-orange-800 dark:border-orange-600 bg-orange-50 dark:bg-orange-950/70 backdrop-blur-xl text-orange-800 dark:text-orange-50",
25
- yellow: "border-yellow-800 dark:border-yellow-600 bg-yellow-50 dark:bg-yellow-950/70 backdrop-blur-xl text-yellow-800 dark:text-yellow-50",
26
- teal: "border-teal-800 dark:border-teal-600 bg-teal-50 dark:bg-teal-950/70 backdrop-blur-xl text-teal-800 dark:text-teal-50",
27
- indigo: "border-indigo-800 dark:border-indigo-600 bg-indigo-50 dark:bg-indigo-950/70 backdrop-blur-xl text-indigo-800 dark:text-indigo-50",
28
- emerald: "border-emerald-800 dark:border-emerald-600 bg-emerald-50 dark:bg-emerald-950/70 backdrop-blur-xl text-emerald-800 dark:text-emerald-50",
29
- gray: "border-gray-800 dark:border-gray-600 bg-gray-50 dark:bg-gray-950/70 backdrop-blur-xl text-gray-800 dark:text-gray-50",
30
- amber: "border-amber-800 dark:border-amber-600 bg-amber-50 dark:bg-amber-950/70 backdrop-blur-xl text-amber-800 dark:text-amber-50",
31
- violet: "border-violet-800 dark:border-violet-600 bg-violet-50 dark:bg-violet-950/70 backdrop-blur-xl text-violet-800 dark:text-violet-50",
32
- "gradient-blue": "border-blue-800 dark:border-blue-600 bg-linear-to-r from-blue-50 dark:from-blue-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl text-blue-800 dark:text-blue-50",
33
- "gradient-green": "border-green-800 dark:border-green-600 bg-linear-to-r from-green-50 dark:from-green-950/70 to-lime-50 dark:to-lime-950/70 backdrop-blur-xl text-green-800 dark:text-green-50",
34
- "gradient-red": "border-red-800 dark:border-red-600 bg-linear-to-r from-red-50 dark:from-red-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl text-red-800 dark:text-red-50",
35
- "gradient-yellow": "border-yellow-800 dark:border-yellow-600 bg-linear-to-r from-yellow-50 dark:from-yellow-950/70 to-orange-50 dark:to-orange-950/70 backdrop-blur-xl text-yellow-800 dark:text-yellow-50",
36
- "gradient-purple": "border-purple-800 dark:border-purple-600 bg-linear-to-r from-purple-50 dark:from-purple-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl text-purple-800 dark:text-purple-50",
37
- "gradient-teal": "border-teal-800 dark:border-teal-600 bg-linear-to-r from-teal-50 dark:from-teal-950/70 to-cyan-50 dark:to-cyan-950/70 backdrop-blur-xl text-teal-800 dark:text-teal-50",
38
- "gradient-indigo": "border-indigo-800 dark:border-indigo-600 bg-linear-to-r from-indigo-50 dark:from-indigo-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl text-indigo-800 dark:text-indigo-50",
39
- "gradient-pink": "border-pink-800 dark:border-pink-600 bg-linear-to-r from-pink-50 dark:from-pink-950/70 to-rose-50 dark:to-rose-950/70 backdrop-blur-xl text-pink-800 dark:text-pink-50",
40
- "gradient-orange": "border-orange-800 dark:border-orange-600 bg-linear-to-r from-orange-50 dark:from-orange-950/70 to-red-50 dark:to-red-950/70 backdrop-blur-xl text-orange-800 dark:text-orange-50"
41
- }
42
- },
43
- defaultVariants: {
44
- appearance: "default"
45
- }
46
- }
47
- );
48
- var modalContentVariants = classVarianceAuthority.cva(
49
- "fixed left-1/2 z-50 w-[calc(100%-2rem)] max-h-[min(90vh,720px)] translate-x-[-50%] overflow-y-auto border border-black/10 dark:border-white/10 bg-slate-50 dark:bg-slate-950 p-6 text-slate-900 dark:text-slate-50 shadow-[0_12px_40px_rgba(15,23,42,0.14)] dark:shadow-[0_24px_80px_rgba(15,23,42,0.55)] focus:outline-none",
50
- {
51
- variants: {
52
- size: {
53
- sm: "max-w-md",
54
- md: "max-w-lg",
55
- lg: "max-w-2xl",
56
- xl: "max-w-4xl",
57
- full: "max-w-[calc(100%-2rem)]"
58
- },
59
- position: {
60
- center: "top-1/2 translate-y-[-50%]",
61
- top: "top-10 translate-y-0",
62
- bottom: "bottom-10 translate-y-0"
63
- },
64
- appearance: {
65
- default: "bg-slate-50 dark:bg-slate-950",
66
- glass: "border-black/15 dark:border-white/15 bg-slate-50/70 dark:bg-slate-950/70 backdrop-blur-xl",
67
- sky: "border-sky-800 dark:border-sky-600 bg-sky-50 dark:bg-sky-950/70 backdrop-blur-xl",
68
- rose: "border-rose-800 dark:border-rose-600 bg-rose-50 dark:bg-rose-950/70 backdrop-blur-xl",
69
- purple: "border-purple-800 dark:border-purple-600 bg-purple-50 dark:bg-purple-950/70 backdrop-blur-xl",
70
- pink: "border-pink-800 dark:border-pink-600 bg-pink-50 dark:bg-pink-950/70 backdrop-blur-xl",
71
- orange: "border-orange-800 dark:border-orange-600 bg-orange-50 dark:bg-orange-950/70 backdrop-blur-xl",
72
- yellow: "border-yellow-800 dark:border-yellow-600 bg-yellow-50 dark:bg-yellow-950/70 backdrop-blur-xl",
73
- teal: "border-teal-800 dark:border-teal-600 bg-teal-50 dark:bg-teal-950/70 backdrop-blur-xl",
74
- indigo: "border-indigo-800 dark:border-indigo-600 bg-indigo-50 dark:bg-indigo-950/70 backdrop-blur-xl",
75
- emerald: "border-emerald-800 dark:border-emerald-600 bg-emerald-50 dark:bg-emerald-950/70 backdrop-blur-xl",
76
- gray: "border-gray-800 dark:border-gray-600 bg-gray-50 dark:bg-gray-950/70 backdrop-blur-xl",
77
- amber: "border-amber-800 dark:border-amber-600 bg-amber-50 dark:bg-amber-950/70 backdrop-blur-xl",
78
- violet: "border-violet-800 dark:border-violet-600 bg-violet-50 dark:bg-violet-950/70 backdrop-blur-xl",
79
- "gradient-blue": "border-blue-800 dark:border-blue-600 bg-linear-to-r from-blue-50 dark:from-blue-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl",
80
- "gradient-green": "border-green-800 dark:border-green-600 bg-linear-to-r from-green-50 dark:from-green-950/70 to-lime-50 dark:to-lime-950/70 backdrop-blur-xl",
81
- "gradient-red": "border-red-800 dark:border-red-600 bg-linear-to-r from-red-50 dark:from-red-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl",
82
- "gradient-yellow": "border-yellow-800 dark:border-yellow-600 bg-linear-to-r from-yellow-50 dark:from-yellow-950/70 to-orange-50 dark:to-orange-950/70 backdrop-blur-xl",
83
- "gradient-purple": "border-purple-800 dark:border-purple-600 bg-linear-to-r from-purple-50 dark:from-purple-950/70 to-pink-50 dark:to-pink-950/70 backdrop-blur-xl",
84
- "gradient-teal": "border-teal-800 dark:border-teal-600 bg-linear-to-r from-teal-50 dark:from-teal-950/70 to-cyan-50 dark:to-cyan-950/70 backdrop-blur-xl",
85
- "gradient-indigo": "border-indigo-800 dark:border-indigo-600 bg-linear-to-r from-indigo-50 dark:from-indigo-950/70 to-purple-50 dark:to-purple-950/70 backdrop-blur-xl",
86
- "gradient-pink": "border-pink-800 dark:border-pink-600 bg-linear-to-r from-pink-50 dark:from-pink-950/70 to-rose-50 dark:to-rose-950/70 backdrop-blur-xl",
87
- "gradient-orange": "border-orange-800 dark:border-orange-600 bg-linear-to-r from-orange-50 dark:from-orange-950/70 to-red-50 dark:to-red-950/70 backdrop-blur-xl"
88
- }
89
- },
90
- defaultVariants: {
91
- size: "md",
92
- position: "center",
93
- appearance: "default"
94
- }
95
- }
96
- );
97
- var ModalContext = react.createContext(null);
98
- function useModalContext(component) {
99
- const ctx = react.useContext(ModalContext);
100
- if (!ctx) {
101
- throw new Error(`${component} must be used within <Modal>`);
102
- }
103
- return ctx;
104
- }
105
- function Modal({
106
- open,
107
- defaultOpen = false,
108
- onOpenChange,
109
- children
110
- }) {
111
- const isControlled = open !== void 0;
112
- const [uncontrolledOpen, setUncontrolledOpen] = react.useState(defaultOpen);
113
- const resolvedOpen = isControlled ? Boolean(open) : uncontrolledOpen;
114
- const setOpen = react.useCallback(
115
- (next) => {
116
- if (!isControlled) {
117
- setUncontrolledOpen(next);
118
- }
119
- onOpenChange?.(next);
120
- },
121
- [isControlled, onOpenChange]
122
- );
123
- const baseId = react.useId();
124
- const titleId = `${baseId}-title`;
125
- const descriptionId = `${baseId}-description`;
126
- const contentRef = react.useRef(null);
127
- const triggerRef = react.useRef(null);
128
- const ctx = react.useMemo(
129
- () => ({
130
- open: resolvedOpen,
131
- setOpen,
132
- titleId,
133
- descriptionId,
134
- contentRef,
135
- triggerRef
136
- }),
137
- [descriptionId, resolvedOpen, setOpen, titleId]
138
- );
139
- return /* @__PURE__ */ jsxRuntime.jsx(ModalContext.Provider, { value: ctx, children });
140
- }
141
- Modal.displayName = "Modal";
142
- function ModalTrigger({
143
- className,
144
- children,
145
- appearance,
146
- onClick,
147
- ref: refProp,
148
- ...rest
149
- }) {
150
- const { setOpen, triggerRef } = useModalContext("ModalTrigger");
151
- return /* @__PURE__ */ jsxRuntime.jsx(
152
- "button",
153
- {
154
- ref: (node) => {
155
- triggerRef.current = node;
156
- if (typeof refProp === "function") {
157
- refProp(node);
158
- } else if (refProp) {
159
- refProp.current = node;
160
- }
161
- },
162
- type: "button",
163
- "data-slot": "modal-trigger",
164
- className: chunkZS5756ZC_js.cn(modalTriggerVariants({ appearance }), className),
165
- onClick: (event) => {
166
- onClick?.(event);
167
- if (!event.defaultPrevented) {
168
- setOpen(true);
169
- }
170
- },
171
- ...rest,
172
- children
173
- }
174
- );
175
- }
176
- ModalTrigger.displayName = "ModalTrigger";
177
- function ModalContent({
178
- className,
179
- size,
180
- position,
181
- appearance,
182
- children,
183
- ref,
184
- id,
185
- style
186
- }) {
187
- const { open, setOpen, titleId, descriptionId, contentRef, triggerRef } = useModalContext("ModalContent");
188
- chunkGBWGVNDA_js.useFocusManagement({
189
- open,
190
- setOpen,
191
- contentRef,
192
- triggerRef
193
- });
194
- const portalTarget = typeof document !== "undefined" ? document.body : null;
195
- if (!portalTarget) {
196
- return null;
197
- }
198
- return reactDom.createPortal(
199
- open ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "fixed inset-0 z-9999", "data-slot": "modal-portal", children: [
200
- /* @__PURE__ */ jsxRuntime.jsx(
201
- "div",
202
- {
203
- role: "presentation",
204
- "data-slot": "modal-overlay",
205
- className: modalOverlayVariants(),
206
- onClick: () => setOpen(false)
207
- }
208
- ),
209
- /* @__PURE__ */ jsxRuntime.jsx(
210
- "div",
211
- {
212
- ref: (node) => {
213
- contentRef.current = node;
214
- if (typeof ref === "function") {
215
- ref(node);
216
- } else if (ref) {
217
- ref.current = node;
218
- }
219
- },
220
- role: "dialog",
221
- "aria-modal": "true",
222
- "aria-labelledby": titleId,
223
- "aria-describedby": descriptionId,
224
- "data-slot": "modal-content",
225
- tabIndex: -1,
226
- className: chunkZS5756ZC_js.cn(
227
- modalContentVariants({ size, position, appearance }),
228
- className
229
- ),
230
- id,
231
- style,
232
- children
233
- }
234
- )
235
- ] }) : null,
236
- portalTarget
237
- );
238
- }
239
- ModalContent.displayName = "ModalContent";
240
- function ModalHeader({ className, children }) {
241
- return /* @__PURE__ */ jsxRuntime.jsx(
242
- "header",
243
- {
244
- "data-slot": "modal-header",
245
- className: chunkZS5756ZC_js.cn("mb-4 flex flex-col gap-2", className),
246
- children
247
- }
248
- );
249
- }
250
- ModalHeader.displayName = "ModalHeader";
251
- function ModalBody({ className, children }) {
252
- return /* @__PURE__ */ jsxRuntime.jsx(
253
- "div",
254
- {
255
- "data-slot": "modal-body",
256
- className: chunkZS5756ZC_js.cn("text-sm text-slate-300", className),
257
- children
258
- }
259
- );
260
- }
261
- ModalBody.displayName = "ModalBody";
262
- function ModalFooter({ className, children }) {
263
- return /* @__PURE__ */ jsxRuntime.jsx(
264
- "footer",
265
- {
266
- "data-slot": "modal-footer",
267
- className: chunkZS5756ZC_js.cn("mt-6 flex justify-end gap-2", className),
268
- children
269
- }
270
- );
271
- }
272
- ModalFooter.displayName = "ModalFooter";
273
- function ModalTitle({ className, children }) {
274
- const { titleId } = useModalContext("ModalTitle");
275
- return /* @__PURE__ */ jsxRuntime.jsx(
276
- "h2",
277
- {
278
- id: titleId,
279
- "data-slot": "modal-title",
280
- className: chunkZS5756ZC_js.cn("text-lg font-semibold", className),
281
- children
282
- }
283
- );
284
- }
285
- ModalTitle.displayName = "ModalTitle";
286
- function ModalDescription({ className, children }) {
287
- const { descriptionId } = useModalContext("ModalDescription");
288
- return /* @__PURE__ */ jsxRuntime.jsx(
289
- "p",
290
- {
291
- id: descriptionId,
292
- "data-slot": "modal-description",
293
- className: chunkZS5756ZC_js.cn("text-sm text-slate-400", className),
294
- children
295
- }
296
- );
297
- }
298
- ModalDescription.displayName = "ModalDescription";
299
- function ModalClose({
300
- className,
301
- children,
302
- ...rest
303
- }) {
304
- const { setOpen } = useModalContext("ModalClose");
305
- return /* @__PURE__ */ jsxRuntime.jsx(
306
- "button",
307
- {
308
- type: "button",
309
- "data-slot": "modal-close",
310
- className: chunkZS5756ZC_js.cn(
311
- "absolute right-4 top-4 inline-flex size-14 items-center cursor-pointer justify-center rounded-md text-slate-800 dark:text-slate-200 transition hover:bg-white/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/30",
312
- className
313
- ),
314
- "aria-label": "Close dialog",
315
- onClick: () => setOpen(false),
316
- ...rest,
317
- children: children ?? "\xD7"
318
- }
319
- );
320
- }
321
- ModalClose.displayName = "ModalClose";
322
-
323
- exports.Modal = Modal;
324
- exports.ModalBody = ModalBody;
325
- exports.ModalClose = ModalClose;
326
- exports.ModalContent = ModalContent;
327
- exports.ModalDescription = ModalDescription;
328
- exports.ModalFooter = ModalFooter;
329
- exports.ModalHeader = ModalHeader;
330
- exports.ModalTitle = ModalTitle;
331
- exports.ModalTrigger = ModalTrigger;
332
- exports.modalContentVariants = modalContentVariants;
333
- exports.modalOverlayVariants = modalOverlayVariants;
334
- exports.useModalContext = useModalContext;
335
- //# sourceMappingURL=chunk-4F56BLZQ.js.map
336
- //# sourceMappingURL=chunk-4F56BLZQ.js.map