@mdigital_ui/ui 0.4.3 → 0.4.4

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 (389) hide show
  1. package/README.md +45 -5
  2. package/dist/accordion/index.js +2 -2
  3. package/dist/alert/index.d.ts +6 -0
  4. package/dist/alert/index.d.ts.map +1 -0
  5. package/dist/alert/index.js +5 -0
  6. package/dist/alert/types.d.ts +24 -0
  7. package/dist/alert/types.d.ts.map +1 -0
  8. package/dist/anchor/index.d.ts +6 -0
  9. package/dist/anchor/index.d.ts.map +1 -0
  10. package/dist/anchor/types.d.ts +26 -0
  11. package/dist/anchor/types.d.ts.map +1 -0
  12. package/dist/autocomplete/index.d.ts +6 -0
  13. package/dist/autocomplete/index.d.ts.map +1 -0
  14. package/dist/autocomplete/types.d.ts +39 -0
  15. package/dist/autocomplete/types.d.ts.map +1 -0
  16. package/dist/avatar/index.d.ts.map +1 -1
  17. package/dist/avatar/index.js +2 -1
  18. package/dist/badge/index.js +2 -2
  19. package/dist/breadcrumbs/index.d.ts.map +1 -1
  20. package/dist/breadcrumbs/index.js +4 -4
  21. package/dist/button/index.js +3 -3
  22. package/dist/calendar/index.d.ts +6 -0
  23. package/dist/calendar/index.d.ts.map +1 -0
  24. package/dist/calendar/types.d.ts +29 -0
  25. package/dist/calendar/types.d.ts.map +1 -0
  26. package/dist/card/index.d.ts +1 -1
  27. package/dist/card/index.d.ts.map +1 -1
  28. package/dist/card/index.js +2 -2
  29. package/dist/carousel/carousel-navigation.d.ts.map +1 -1
  30. package/dist/carousel/index.d.ts +1 -2
  31. package/dist/carousel/index.d.ts.map +1 -1
  32. package/dist/carousel/index.js +1 -1
  33. package/dist/carousel/styles.d.ts +12 -0
  34. package/dist/carousel/styles.d.ts.map +1 -0
  35. package/dist/cascader/CascaderMenu.d.ts +41 -0
  36. package/dist/cascader/CascaderMenu.d.ts.map +1 -0
  37. package/dist/cascader/index.d.ts.map +1 -1
  38. package/dist/cascader/index.js +2 -2
  39. package/dist/checkbox/index.d.ts.map +1 -1
  40. package/dist/checkbox/index.js +2 -2
  41. package/dist/{chunk-XWCWTPEM.js → chunk-253JZOYG.js} +4 -4
  42. package/dist/chunk-253JZOYG.js.map +1 -0
  43. package/dist/{chunk-VV3VO5TS.js → chunk-3D77IPKB.js} +7 -15
  44. package/dist/chunk-3D77IPKB.js.map +1 -0
  45. package/dist/{chunk-FCU2ENQQ.js → chunk-3XOHSE3X.js} +12 -7
  46. package/dist/chunk-3XOHSE3X.js.map +1 -0
  47. package/dist/{chunk-4WZDQI22.js → chunk-4HKPDSA6.js} +4 -4
  48. package/dist/chunk-4HKPDSA6.js.map +1 -0
  49. package/dist/{chunk-54Z7XTJA.js → chunk-4ZXHLPRS.js} +32 -34
  50. package/dist/chunk-4ZXHLPRS.js.map +1 -0
  51. package/dist/{chunk-H6PCGSIT.js → chunk-5MBKTMDW.js} +3 -3
  52. package/dist/{chunk-H6PCGSIT.js.map → chunk-5MBKTMDW.js.map} +1 -1
  53. package/dist/{chunk-ZZZGD5EF.js → chunk-5SEVPU6C.js} +3 -3
  54. package/dist/{chunk-ZZZGD5EF.js.map → chunk-5SEVPU6C.js.map} +1 -1
  55. package/dist/{chunk-ZNNIXMJZ.js → chunk-7RT65ZGV.js} +5 -7
  56. package/dist/chunk-7RT65ZGV.js.map +1 -0
  57. package/dist/{chunk-F4GLUQOF.js → chunk-A4MYCEGM.js} +9 -11
  58. package/dist/chunk-A4MYCEGM.js.map +1 -0
  59. package/dist/{chunk-EHNWVQBL.js → chunk-ADZWWBAX.js} +28 -79
  60. package/dist/chunk-ADZWWBAX.js.map +1 -0
  61. package/dist/{chunk-3KISIZGP.js → chunk-AFW2ORFT.js} +12 -4
  62. package/dist/chunk-AFW2ORFT.js.map +1 -0
  63. package/dist/{chunk-442OQLPK.js → chunk-BGMYX7L5.js} +4 -4
  64. package/dist/chunk-BGMYX7L5.js.map +1 -0
  65. package/dist/chunk-BKLJDEUX.js +857 -0
  66. package/dist/chunk-BKLJDEUX.js.map +1 -0
  67. package/dist/{chunk-62LTLXVG.js → chunk-BS4PZPY6.js} +14 -9
  68. package/dist/chunk-BS4PZPY6.js.map +1 -0
  69. package/dist/{chunk-QNLTSHMB.js → chunk-C32HL4XU.js} +3 -3
  70. package/dist/{chunk-QNLTSHMB.js.map → chunk-C32HL4XU.js.map} +1 -1
  71. package/dist/chunk-C65SCJD6.js +138 -0
  72. package/dist/chunk-C65SCJD6.js.map +1 -0
  73. package/dist/{chunk-C46VTIW7.js → chunk-CUXQZRDI.js} +6 -13
  74. package/dist/chunk-CUXQZRDI.js.map +1 -0
  75. package/dist/{chunk-MZDAQSI4.js → chunk-DDZCRCTQ.js} +4 -4
  76. package/dist/chunk-DDZCRCTQ.js.map +1 -0
  77. package/dist/{chunk-5CIJ7UCP.js → chunk-FU5Q4WVX.js} +5 -5
  78. package/dist/chunk-FU5Q4WVX.js.map +1 -0
  79. package/dist/{chunk-GLJDHW73.js → chunk-G6QIIWKU.js} +2 -2
  80. package/dist/chunk-G6QIIWKU.js.map +1 -0
  81. package/dist/{chunk-AOXTD7QZ.js → chunk-GOBUFGGJ.js} +9 -26
  82. package/dist/chunk-GOBUFGGJ.js.map +1 -0
  83. package/dist/{chunk-BLFXVSZU.js → chunk-HR5TGNOF.js} +3 -3
  84. package/dist/{chunk-BLFXVSZU.js.map → chunk-HR5TGNOF.js.map} +1 -1
  85. package/dist/{chunk-GPSZJWU3.js → chunk-HSMO2BR4.js} +5 -13
  86. package/dist/chunk-HSMO2BR4.js.map +1 -0
  87. package/dist/{chunk-UIVOI7HE.js → chunk-HVHQA34X.js} +15 -21
  88. package/dist/chunk-HVHQA34X.js.map +1 -0
  89. package/dist/{chunk-3QD7AQX7.js → chunk-I5AD247M.js} +9 -5
  90. package/dist/chunk-I5AD247M.js.map +1 -0
  91. package/dist/{chunk-DF2ICSNI.js → chunk-I7HJBHQU.js} +3 -3
  92. package/dist/{chunk-DF2ICSNI.js.map → chunk-I7HJBHQU.js.map} +1 -1
  93. package/dist/{chunk-NHM6DZOF.js → chunk-J2WIZULN.js} +23 -8
  94. package/dist/chunk-J2WIZULN.js.map +1 -0
  95. package/dist/{chunk-BMA4E3T6.js → chunk-JFTSWOGE.js} +9 -21
  96. package/dist/chunk-JFTSWOGE.js.map +1 -0
  97. package/dist/{chunk-G27HGKWO.js → chunk-JIXINKUJ.js} +7 -26
  98. package/dist/chunk-JIXINKUJ.js.map +1 -0
  99. package/dist/{chunk-DOI7OTYV.js → chunk-LJOQ2C5W.js} +4 -4
  100. package/dist/chunk-LJOQ2C5W.js.map +1 -0
  101. package/dist/chunk-LWYZCSX4.js +531 -0
  102. package/dist/chunk-LWYZCSX4.js.map +1 -0
  103. package/dist/{chunk-3FXOQC6P.js → chunk-LXHFGQOI.js} +3 -3
  104. package/dist/chunk-LXHFGQOI.js.map +1 -0
  105. package/dist/{chunk-W5L7C7WS.js → chunk-NMP4HY6M.js} +4 -4
  106. package/dist/chunk-NMP4HY6M.js.map +1 -0
  107. package/dist/{chunk-DPIXBBXK.js → chunk-NTCAZ2LF.js} +30 -10
  108. package/dist/chunk-NTCAZ2LF.js.map +1 -0
  109. package/dist/{chunk-VIK6UTVN.js → chunk-OGB5QPNZ.js} +10 -92
  110. package/dist/chunk-OGB5QPNZ.js.map +1 -0
  111. package/dist/{chunk-YSV5GQS7.js → chunk-OJAHIPPP.js} +21 -114
  112. package/dist/chunk-OJAHIPPP.js.map +1 -0
  113. package/dist/{chunk-VKY3JXAQ.js → chunk-PB5VGXS5.js} +4 -4
  114. package/dist/chunk-PB5VGXS5.js.map +1 -0
  115. package/dist/chunk-PQOIW5CM.js +27 -0
  116. package/dist/chunk-PQOIW5CM.js.map +1 -0
  117. package/dist/{chunk-CHGABWIV.js → chunk-PRDJLQLB.js} +22 -102
  118. package/dist/chunk-PRDJLQLB.js.map +1 -0
  119. package/dist/{chunk-7OYMEXY3.js → chunk-QEAALOJC.js} +9 -13
  120. package/dist/chunk-QEAALOJC.js.map +1 -0
  121. package/dist/{chunk-LM6CJZX5.js → chunk-ROQGBDET.js} +4 -4
  122. package/dist/{chunk-LM6CJZX5.js.map → chunk-ROQGBDET.js.map} +1 -1
  123. package/dist/{chunk-GGQF5PQN.js → chunk-RRPMZYVN.js} +3 -3
  124. package/dist/{chunk-GGQF5PQN.js.map → chunk-RRPMZYVN.js.map} +1 -1
  125. package/dist/{chunk-USHR3MWQ.js → chunk-S6HO7HUY.js} +8 -6
  126. package/dist/chunk-S6HO7HUY.js.map +1 -0
  127. package/dist/{chunk-K5RV3GF4.js → chunk-SFP77VS3.js} +3 -3
  128. package/dist/{chunk-K5RV3GF4.js.map → chunk-SFP77VS3.js.map} +1 -1
  129. package/dist/{chunk-LXHOS74B.js → chunk-SJLH5ZDW.js} +4 -4
  130. package/dist/{chunk-LXHOS74B.js.map → chunk-SJLH5ZDW.js.map} +1 -1
  131. package/dist/{chunk-5XLCUGLQ.js → chunk-TBKPQOXF.js} +48 -29
  132. package/dist/chunk-TBKPQOXF.js.map +1 -0
  133. package/dist/{chunk-X3CNTOKQ.js → chunk-TDNPACQD.js} +4 -4
  134. package/dist/chunk-TDNPACQD.js.map +1 -0
  135. package/dist/{chunk-QZ67UOPR.js → chunk-TQEMGWZ2.js} +16 -17
  136. package/dist/chunk-TQEMGWZ2.js.map +1 -0
  137. package/dist/{chunk-U3RHF7QF.js → chunk-U4JPTWK6.js} +4 -4
  138. package/dist/chunk-U4JPTWK6.js.map +1 -0
  139. package/dist/{chunk-S7R4NTOI.js → chunk-UFC3RGIN.js} +3 -3
  140. package/dist/{chunk-S7R4NTOI.js.map → chunk-UFC3RGIN.js.map} +1 -1
  141. package/dist/{chunk-2OBMSB5S.js → chunk-W5VLFE4U.js} +5 -5
  142. package/dist/chunk-W5VLFE4U.js.map +1 -0
  143. package/dist/{chunk-6ZPCKFRS.js → chunk-WG5AYAC6.js} +7 -16
  144. package/dist/chunk-WG5AYAC6.js.map +1 -0
  145. package/dist/{chunk-TS2PG6Z4.js → chunk-WQT24BGG.js} +4 -17
  146. package/dist/chunk-WQT24BGG.js.map +1 -0
  147. package/dist/{chunk-FZXMRXWE.js → chunk-X7MF3TIF.js} +8 -13
  148. package/dist/chunk-X7MF3TIF.js.map +1 -0
  149. package/dist/{chunk-SUNCSPDF.js → chunk-XAM5EKOS.js} +6 -19
  150. package/dist/chunk-XAM5EKOS.js.map +1 -0
  151. package/dist/{chunk-XKDN5PWJ.js → chunk-XBXPY7U3.js} +4 -4
  152. package/dist/{chunk-XKDN5PWJ.js.map → chunk-XBXPY7U3.js.map} +1 -1
  153. package/dist/{chunk-5PUATOLR.js → chunk-XCK62GVU.js} +4 -4
  154. package/dist/chunk-XCK62GVU.js.map +1 -0
  155. package/dist/{chunk-AEPBQO7U.js → chunk-XMBZBXXS.js} +5 -13
  156. package/dist/chunk-XMBZBXXS.js.map +1 -0
  157. package/dist/{chunk-2FYXBW4S.js → chunk-XOEEAMMY.js} +23 -36
  158. package/dist/chunk-XOEEAMMY.js.map +1 -0
  159. package/dist/{chunk-HSW64H23.js → chunk-Z3DIBMBQ.js} +20 -34
  160. package/dist/chunk-Z3DIBMBQ.js.map +1 -0
  161. package/dist/clipboard/index.d.ts.map +1 -1
  162. package/dist/clipboard/index.js +2 -2
  163. package/dist/collapse/index.d.ts.map +1 -1
  164. package/dist/collapse/index.js +3 -2
  165. package/dist/color-picker/index.d.ts +8 -0
  166. package/dist/color-picker/index.d.ts.map +1 -0
  167. package/dist/color-picker/types.d.ts +42 -0
  168. package/dist/color-picker/types.d.ts.map +1 -0
  169. package/dist/command/index.d.ts.map +1 -1
  170. package/dist/command/index.js +3 -2
  171. package/dist/context-menu/index.d.ts +2 -2
  172. package/dist/context-menu/index.d.ts.map +1 -1
  173. package/dist/context-menu/index.js +2 -1
  174. package/dist/context-menu/types.d.ts +12 -0
  175. package/dist/context-menu/types.d.ts.map +1 -1
  176. package/dist/date-picker/CalendarHeader.d.ts +18 -0
  177. package/dist/date-picker/CalendarHeader.d.ts.map +1 -0
  178. package/dist/date-picker/MonthSelector.d.ts +11 -0
  179. package/dist/date-picker/MonthSelector.d.ts.map +1 -0
  180. package/dist/date-picker/PickerWrapper.d.ts +18 -0
  181. package/dist/date-picker/PickerWrapper.d.ts.map +1 -0
  182. package/dist/date-picker/RangePicker.d.ts +4 -0
  183. package/dist/date-picker/RangePicker.d.ts.map +1 -0
  184. package/dist/date-picker/TimePicker.d.ts +4 -0
  185. package/dist/date-picker/TimePicker.d.ts.map +1 -0
  186. package/dist/date-picker/YearSelector.d.ts +10 -0
  187. package/dist/date-picker/YearSelector.d.ts.map +1 -0
  188. package/dist/date-picker/index.d.ts +6 -6
  189. package/dist/date-picker/index.d.ts.map +1 -1
  190. package/dist/date-picker/index.js +3 -3
  191. package/dist/date-picker/shared.d.ts +3 -0
  192. package/dist/date-picker/shared.d.ts.map +1 -0
  193. package/dist/date-picker/utils.d.ts +1 -1
  194. package/dist/date-picker/utils.d.ts.map +1 -1
  195. package/dist/descriptions/index.d.ts.map +1 -1
  196. package/dist/descriptions/index.js +2 -1
  197. package/dist/divider/index.d.ts.map +1 -1
  198. package/dist/divider/index.js +2 -2
  199. package/dist/drawer/index.js +1 -1
  200. package/dist/dropdown/index.d.ts.map +1 -1
  201. package/dist/dropdown/index.js +3 -3
  202. package/dist/fetching-overlay/index.js +3 -3
  203. package/dist/float-button/index.d.ts +9 -0
  204. package/dist/float-button/index.d.ts.map +1 -0
  205. package/dist/float-button/types.d.ts +45 -0
  206. package/dist/float-button/types.d.ts.map +1 -0
  207. package/dist/float-input/index.d.ts.map +1 -1
  208. package/dist/float-input/index.js +3 -3
  209. package/dist/index.d.ts +28 -2
  210. package/dist/index.d.ts.map +1 -1
  211. package/dist/index.js +3020 -81
  212. package/dist/index.js.map +1 -1
  213. package/dist/input/index.d.ts.map +1 -1
  214. package/dist/input/index.js +3 -3
  215. package/dist/input-otp/index.d.ts.map +1 -1
  216. package/dist/input-otp/index.js +1 -1
  217. package/dist/input-password/index.d.ts.map +1 -1
  218. package/dist/input-password/index.js +4 -4
  219. package/dist/kbd/index.js +2 -2
  220. package/dist/link/index.d.ts.map +1 -1
  221. package/dist/link/index.js +2 -1
  222. package/dist/mentions/index.d.ts +6 -0
  223. package/dist/mentions/index.d.ts.map +1 -0
  224. package/dist/mentions/types.d.ts +36 -0
  225. package/dist/mentions/types.d.ts.map +1 -0
  226. package/dist/menubar/index.d.ts.map +1 -1
  227. package/dist/menubar/index.js +3 -3
  228. package/dist/modal/index.d.ts +1 -1
  229. package/dist/modal/index.d.ts.map +1 -1
  230. package/dist/modal/index.js +1 -1
  231. package/dist/modal/types.d.ts +8 -0
  232. package/dist/modal/types.d.ts.map +1 -1
  233. package/dist/multi-select/index.d.ts.map +1 -1
  234. package/dist/multi-select/index.js +5 -4
  235. package/dist/navigation-menu/index.d.ts.map +1 -1
  236. package/dist/navigation-menu/index.js +1 -1
  237. package/dist/navigation-menu/types.d.ts +2 -0
  238. package/dist/navigation-menu/types.d.ts.map +1 -1
  239. package/dist/notification/index.d.ts.map +1 -1
  240. package/dist/notification/index.js +2 -2
  241. package/dist/number-input/index.d.ts.map +1 -1
  242. package/dist/number-input/index.js +4 -3
  243. package/dist/pagination/index.d.ts.map +1 -1
  244. package/dist/pagination/index.js +2 -2
  245. package/dist/popover/index.js +2 -2
  246. package/dist/progress/index.d.ts.map +1 -1
  247. package/dist/progress/index.js +2 -2
  248. package/dist/qr-code/index.d.ts +6 -0
  249. package/dist/qr-code/index.d.ts.map +1 -0
  250. package/dist/qr-code/types.d.ts +49 -0
  251. package/dist/qr-code/types.d.ts.map +1 -0
  252. package/dist/radio/index.js +2 -2
  253. package/dist/rating/index.d.ts.map +1 -1
  254. package/dist/rating/index.js +2 -1
  255. package/dist/resizable/index.d.ts +7 -0
  256. package/dist/resizable/index.d.ts.map +1 -0
  257. package/dist/resizable/types.d.ts +8 -0
  258. package/dist/resizable/types.d.ts.map +1 -0
  259. package/dist/result/index.d.ts +6 -0
  260. package/dist/result/index.d.ts.map +1 -0
  261. package/dist/result/types.d.ts +22 -0
  262. package/dist/result/types.d.ts.map +1 -0
  263. package/dist/scroll-area/index.d.ts.map +1 -1
  264. package/dist/scroll-area/index.js +1 -1
  265. package/dist/select/index.d.ts.map +1 -1
  266. package/dist/select/index.js +5 -4
  267. package/dist/skeleton/index.js +2 -2
  268. package/dist/slider/index.js +2 -2
  269. package/dist/spinner/index.js +2 -2
  270. package/dist/stepper/index.d.ts +3 -3
  271. package/dist/stepper/index.d.ts.map +1 -1
  272. package/dist/stepper/index.js +2 -2
  273. package/dist/switch/index.js +2 -2
  274. package/dist/table/TableHeaderCell.d.ts.map +1 -1
  275. package/dist/table/index.d.ts +1 -1
  276. package/dist/table/index.d.ts.map +1 -1
  277. package/dist/table/index.js +9 -9
  278. package/dist/table/types.d.ts +6 -0
  279. package/dist/table/types.d.ts.map +1 -1
  280. package/dist/tabs/index.d.ts.map +1 -1
  281. package/dist/tabs/index.js +2 -2
  282. package/dist/tag/index.d.ts.map +1 -1
  283. package/dist/tag/index.js +2 -2
  284. package/dist/tags-input/index.d.ts +6 -0
  285. package/dist/tags-input/index.d.ts.map +1 -0
  286. package/dist/tags-input/types.d.ts +36 -0
  287. package/dist/tags-input/types.d.ts.map +1 -0
  288. package/dist/textarea/index.d.ts.map +1 -1
  289. package/dist/textarea/index.js +1 -1
  290. package/dist/theme/ThemeProvider.d.ts +11 -3
  291. package/dist/theme/ThemeProvider.d.ts.map +1 -1
  292. package/dist/theme/index.js +1 -1
  293. package/dist/timeline/index.d.ts.map +1 -1
  294. package/dist/timeline/index.js +2 -1
  295. package/dist/toast/index.js +2 -2
  296. package/dist/toggle/index.js +2 -2
  297. package/dist/toggle-group/index.d.ts.map +1 -1
  298. package/dist/toggle-group/index.js +2 -2
  299. package/dist/tooltip/index.js +2 -2
  300. package/dist/tour/index.d.ts +6 -0
  301. package/dist/tour/index.d.ts.map +1 -0
  302. package/dist/tour/types.d.ts +45 -0
  303. package/dist/tour/types.d.ts.map +1 -0
  304. package/dist/transfer/index.d.ts.map +1 -1
  305. package/dist/transfer/index.js +3 -3
  306. package/dist/tree/index.d.ts.map +1 -1
  307. package/dist/tree/index.js +1 -1
  308. package/dist/tree-select/index.d.ts.map +1 -1
  309. package/dist/tree-select/index.js +4 -4
  310. package/dist/typography/index.d.ts +8 -0
  311. package/dist/typography/index.d.ts.map +1 -0
  312. package/dist/typography/types.d.ts +33 -0
  313. package/dist/typography/types.d.ts.map +1 -0
  314. package/dist/upload/index.d.ts.map +1 -1
  315. package/dist/upload/index.js +2 -1
  316. package/dist/upload/utils.d.ts +1 -1
  317. package/dist/upload/utils.d.ts.map +1 -1
  318. package/dist/variants.d.ts +1 -1
  319. package/dist/variants.d.ts.map +1 -1
  320. package/dist/watermark/index.d.ts +6 -0
  321. package/dist/watermark/index.d.ts.map +1 -0
  322. package/dist/watermark/types.d.ts +24 -0
  323. package/dist/watermark/types.d.ts.map +1 -0
  324. package/package.json +5 -2
  325. package/styles/global.css +359 -1119
  326. package/styles/themes/dark.css +15 -5
  327. package/styles/themes/light.css +20 -2
  328. package/styles/themes/presets/corporate.css +2 -0
  329. package/styles/themes/presets/minimal.css +2 -0
  330. package/styles/themes/presets/vibrant.css +2 -0
  331. package/dist/chunk-2FYXBW4S.js.map +0 -1
  332. package/dist/chunk-2OBMSB5S.js.map +0 -1
  333. package/dist/chunk-3FXOQC6P.js.map +0 -1
  334. package/dist/chunk-3KISIZGP.js.map +0 -1
  335. package/dist/chunk-3QD7AQX7.js.map +0 -1
  336. package/dist/chunk-442OQLPK.js.map +0 -1
  337. package/dist/chunk-4WZDQI22.js.map +0 -1
  338. package/dist/chunk-54Z7XTJA.js.map +0 -1
  339. package/dist/chunk-5CIJ7UCP.js.map +0 -1
  340. package/dist/chunk-5PUATOLR.js.map +0 -1
  341. package/dist/chunk-5XLCUGLQ.js.map +0 -1
  342. package/dist/chunk-62LTLXVG.js.map +0 -1
  343. package/dist/chunk-6ZPCKFRS.js.map +0 -1
  344. package/dist/chunk-7OYMEXY3.js.map +0 -1
  345. package/dist/chunk-AEPBQO7U.js.map +0 -1
  346. package/dist/chunk-AOXTD7QZ.js.map +0 -1
  347. package/dist/chunk-BMA4E3T6.js.map +0 -1
  348. package/dist/chunk-C46VTIW7.js.map +0 -1
  349. package/dist/chunk-CHGABWIV.js.map +0 -1
  350. package/dist/chunk-DOI7OTYV.js.map +0 -1
  351. package/dist/chunk-DPIXBBXK.js.map +0 -1
  352. package/dist/chunk-EC5DXYME.js +0 -1273
  353. package/dist/chunk-EC5DXYME.js.map +0 -1
  354. package/dist/chunk-EHNWVQBL.js.map +0 -1
  355. package/dist/chunk-F4GLUQOF.js.map +0 -1
  356. package/dist/chunk-FCU2ENQQ.js.map +0 -1
  357. package/dist/chunk-FZXMRXWE.js.map +0 -1
  358. package/dist/chunk-G27HGKWO.js.map +0 -1
  359. package/dist/chunk-GLJDHW73.js.map +0 -1
  360. package/dist/chunk-GPSZJWU3.js.map +0 -1
  361. package/dist/chunk-HSW64H23.js.map +0 -1
  362. package/dist/chunk-KZZJAZ5M.js +0 -146
  363. package/dist/chunk-KZZJAZ5M.js.map +0 -1
  364. package/dist/chunk-MZDAQSI4.js.map +0 -1
  365. package/dist/chunk-NHM6DZOF.js.map +0 -1
  366. package/dist/chunk-QZ67UOPR.js.map +0 -1
  367. package/dist/chunk-SHUHAORE.js +0 -821
  368. package/dist/chunk-SHUHAORE.js.map +0 -1
  369. package/dist/chunk-SUNCSPDF.js.map +0 -1
  370. package/dist/chunk-TS2PG6Z4.js.map +0 -1
  371. package/dist/chunk-U3RHF7QF.js.map +0 -1
  372. package/dist/chunk-UIVOI7HE.js.map +0 -1
  373. package/dist/chunk-USHR3MWQ.js.map +0 -1
  374. package/dist/chunk-VIK6UTVN.js.map +0 -1
  375. package/dist/chunk-VKY3JXAQ.js.map +0 -1
  376. package/dist/chunk-VV3VO5TS.js.map +0 -1
  377. package/dist/chunk-W5L7C7WS.js.map +0 -1
  378. package/dist/chunk-X3CNTOKQ.js.map +0 -1
  379. package/dist/chunk-XWCWTPEM.js.map +0 -1
  380. package/dist/chunk-YSV5GQS7.js.map +0 -1
  381. package/dist/chunk-ZNNIXMJZ.js.map +0 -1
  382. package/dist/empty/index.d.ts +0 -6
  383. package/dist/empty/index.d.ts.map +0 -1
  384. package/dist/empty/index.js +0 -4
  385. package/dist/empty/types.d.ts +0 -25
  386. package/dist/empty/types.d.ts.map +0 -1
  387. package/dist/styles/tokens.d.ts +0 -428
  388. package/dist/styles/tokens.d.ts.map +0 -1
  389. /package/dist/{empty → alert}/index.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cascader/CascaderMenu.tsx","../src/cascader/index.tsx"],"names":["cva","jsxs","jsx","Loader2"],"mappings":"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","file":"chunk-LWYZCSX4.js","sourcesContent":["'use client'\n\nimport { cva } from \"class-variance-authority\";\nimport { Check, ChevronRight, Loader2 } from \"lucide-react\";\nimport React from \"react\";\n\nimport type { ComponentColor } from \"../types\";\nimport { cn, iconSizes } from \"../utils\";\nimport { colorVars } from \"../variants\";\nimport type { CascaderOption, CascaderSize } from \"./types\";\n\nexport const cascaderMenuVariants = cva(\n \"overflow-auto rounded-md border bg-background w-[200px] max-h-[300px]\",\n {\n variants: {\n size: {\n xs: \"w-[160px]\",\n sm: \"w-[180px]\",\n md: \"w-[200px]\",\n lg: \"w-[220px]\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n\nexport const cascaderItemVariants = cva(\n \"relative cursor-pointer select-none text-text-primary transition-colors flex items-center gap-2 w-full\",\n {\n variants: {\n size: {\n xs: \"px-2 py-1 text-xs min-h-[28px]\",\n sm: \"px-2.5 py-1.5 text-sm min-h-[32px]\",\n md: \"px-3 py-2 text-base min-h-[36px]\",\n lg: \"px-3.5 py-2.5 text-lg min-h-[44px]\",\n },\n disabled: { true: \"opacity-50 cursor-not-allowed\", false: \"hover:bg-surface\" },\n active: { true: \"bg-surface\", false: \"\" },\n selected: { true: \"font-medium\", false: \"\" },\n },\n defaultVariants: { size: \"md\", disabled: false, active: false, selected: false },\n },\n);\n\nexport interface CascaderMenuProps {\n activeMenus: CascaderOption[][]\n selectedPath: string[]\n hoveredPath: number[]\n focusedIndex: { level: number; index: number } | null\n selectedPathSet: Set<string>\n selectionStateMap: Map<string, { checked: boolean; indeterminate: boolean }> | null\n size: CascaderSize\n color: ComponentColor\n multiple: boolean\n expandTrigger: 'click' | 'hover'\n emptyContent: React.ReactNode\n onItemClick: (option: CascaderOption, level: number) => void\n onItemHover: (option: CascaderOption, level: number, index: number) => void\n classNames?: {\n dropdown?: string\n menu?: string\n option?: string\n }\n menuRefs: React.MutableRefObject<(HTMLDivElement | null)[]>\n}\n\nexport const CascaderMenu = ({\n activeMenus,\n selectedPath,\n hoveredPath,\n focusedIndex,\n selectedPathSet,\n selectionStateMap,\n size,\n color,\n multiple,\n expandTrigger,\n emptyContent,\n onItemClick,\n onItemHover,\n classNames,\n menuRefs,\n}: CascaderMenuProps) => {\n return (\n <div className={cn(\"flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:last-child)]:border-r-0 [&>*:not(:last-child)]:rounded-r-none cascader_dropdown\", colorVars[color], classNames?.dropdown)} data-slot=\"dropdown\">\n {activeMenus.map((menu, level) => (\n <div\n key={level}\n ref={(el) => { menuRefs.current[level] = el }}\n role=\"listbox\"\n className={cn(cascaderMenuVariants({ size }), \"border-border cascader_menu\", classNames?.menu)}\n data-slot=\"menu\"\n >\n {menu.length === 0 ? (\n <div className=\"px-3 py-6 text-center text-text-secondary text-sm\">{emptyContent}</div>\n ) : (\n menu.map((option, index) => {\n const isActive = selectedPath[level] === option.value || (expandTrigger === \"hover\" && hoveredPath[level] === index);\n const isFocused = focusedIndex?.level === level && focusedIndex?.index === index;\n const currentPath = selectedPath.slice(0, level);\n const fullPath = [...currentPath, option.value];\n const selectionState = multiple && selectionStateMap\n ? selectionStateMap.get(fullPath.join('\\0')) ?? { checked: false, indeterminate: false }\n : null;\n const isLeafSelected =\n !multiple &&\n selectedPathSet.has(fullPath.join('\\0')) &&\n (!option.children || option.children.length === 0);\n\n return (\n <div\n key={option.value}\n role=\"option\"\n aria-selected={isLeafSelected || (selectionState?.checked ?? false)}\n aria-disabled={option.disabled}\n className={cn(\n cascaderItemVariants({ size, disabled: !!option.disabled, active: isActive || isFocused, selected: isLeafSelected }),\n isLeafSelected && 'bg-slot-10 text-slot',\n \"cascader_option\",\n classNames?.option,\n )}\n onClick={() => onItemClick(option, level)}\n onMouseEnter={() => onItemHover(option, level, index)}\n data-slot=\"option\"\n >\n {multiple && (\n <div className={cn(\"w-4 h-4 border rounded flex items-center justify-center shrink-0\", selectionState?.checked ? 'bg-slot border-slot' : \"border-border\")}>\n {selectionState?.checked && <Check className=\"h-3 w-3 text-background\" />}\n {selectionState?.indeterminate && !selectionState?.checked && <div className={cn(\"w-2 h-0.5 bg-slot\")} />}\n </div>\n )}\n <span className=\"flex-1 truncate\">{option.label}</span>\n <span className={cn(\"shrink-0 flex items-center\", iconSizes[size])}>\n {option.loading && <Loader2 className={cn(\"animate-spin\", iconSizes[size])} />}\n {!option.loading && option.children && option.children.length > 0 && <ChevronRight className={iconSizes[size]} />}\n {!option.loading && isLeafSelected && <Check className={cn(iconSizes[size], colorVars[color], 'text-slot')} />}\n </span>\n </div>\n );\n })\n )}\n </div>\n ))}\n </div>\n );\n};\n","'use client'\n\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { cva } from \"class-variance-authority\";\nimport { ChevronDown, Loader2, X } from \"lucide-react\";\nimport React from \"react\";\n\n\nimport { cn, iconSizes } from \"../utils\";\nimport { colorVars } from \"../variants\";\nimport type { CascaderOption, CascaderProps, CascaderSize } from \"./types\";\nimport { CascaderMenu } from \"./CascaderMenu\";\n\nconst cascaderTriggerVariants = cva(\n \"flex items-center justify-between gap-2 rounded-md border transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background\",\n {\n variants: {\n status: {\n default: \"bg-background border-border hover:border-primary/50\",\n error: \"border-error\",\n warning: \"border-warning\",\n info: \"border-info\",\n success: \"border-success\",\n },\n size: {\n xs: \"h-(--select-height-xs) px-(--select-padding-x-xs) text-xs\",\n sm: \"h-(--select-height-sm) px-(--select-padding-x-sm) text-sm\",\n md: \"h-(--select-height-md) px-(--select-padding-x-md) text-base\",\n lg: \"h-(--select-height-lg) px-(--select-padding-x-lg) text-lg\",\n },\n fullWidth: { true: \"w-full\", false: \"max-w-full\" },\n },\n defaultVariants: { status: \"default\", size: \"md\", fullWidth: true },\n },\n);\n\nconst tagSizeClasses: Record<CascaderSize, string> = {\n xs: \"text-[10px] px-1 py-0\",\n sm: \"text-xs px-1.5 py-0.5\",\n md: \"text-sm px-2 py-0.5\",\n lg: \"text-sm px-2.5 py-1\",\n};\n\nconst Cascader = React.memo<CascaderProps>(\n ({\n options,\n value,\n defaultValue,\n onChange,\n onSelect,\n placeholder = \"Please select\",\n label,\n helperText,\n messagePosition = \"bottom\",\n color = \"default\",\n size = \"md\",\n placement = \"bottomLeft\",\n disabled = false,\n loading = false,\n error,\n warning,\n info,\n success,\n fullWidth = true,\n expandTrigger = \"hover\",\n multiple = false,\n maxTagCount = 3,\n clearable = true,\n showPath = true,\n pathSeparator = \" / \",\n changeOnSelect = false,\n loadData,\n displayRender,\n tagRender,\n emptyContent = \"No options\",\n className,\n classNames,\n required,\n ref,\n onOpenChange,\n }) => {\n const [isOpen, setIsOpen] = React.useState(false);\n const [internalValue, setInternalValue] = React.useState<string[] | string[][]>(defaultValue || []);\n const currentValue = value !== undefined ? value : internalValue;\n const [activeMenus, setActiveMenus] = React.useState<CascaderOption[][]>([options]);\n const [hoveredPath, setHoveredPath] = React.useState<number[]>([]);\n const [selectedPath, setSelectedPath] = React.useState<string[]>([]);\n const [focusedIndex, setFocusedIndex] = React.useState<{ level: number; index: number } | null>(null);\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const menuRefs = React.useRef<(HTMLDivElement | null)[]>([]);\n\n const normalizedValue: string[][] = React.useMemo(() => {\n if (multiple) {\n return Array.isArray(currentValue[0]) ? (currentValue as string[][]) : [];\n }\n return Array.isArray(currentValue) && currentValue.length > 0 && !Array.isArray(currentValue[0])\n ? [currentValue as string[]]\n : [];\n }, [currentValue, multiple]);\n\n const selectedPathSet = React.useMemo(() => {\n const set = new Set<string>();\n for (const path of normalizedValue) set.add(path.join('\\0'));\n return set;\n }, [normalizedValue]);\n\n const selectionStateMap = React.useMemo(() => {\n if (!multiple) return null;\n const map = new Map<string, { checked: boolean; indeterminate: boolean }>();\n\n const collectLeafPaths = (option: CascaderOption, basePath: string[]): string[][] => {\n const paths: string[][] = [];\n const fullPath = [...basePath, option.value];\n if (!option.children || option.children.length === 0) {\n paths.push(fullPath);\n } else {\n for (const child of option.children) paths.push(...collectLeafPaths(child, fullPath));\n }\n return paths;\n };\n\n const computeForOption = (option: CascaderOption, basePath: string[]) => {\n const key = [...basePath, option.value].join('\\0');\n if (!option.children || option.children.length === 0) {\n map.set(key, { checked: selectedPathSet.has(key), indeterminate: false });\n } else {\n for (const child of option.children) computeForOption(child, [...basePath, option.value]);\n const leafPaths = collectLeafPaths(option, basePath);\n let selectedCount = 0;\n for (const lp of leafPaths) { if (selectedPathSet.has(lp.join('\\0'))) selectedCount++ }\n map.set(key, { checked: selectedCount === leafPaths.length && leafPaths.length > 0, indeterminate: selectedCount > 0 && selectedCount < leafPaths.length });\n }\n };\n\n for (const option of options) computeForOption(option, []);\n return map;\n }, [normalizedValue, multiple, options, selectedPathSet]);\n\n let status: \"default\" | \"error\" | \"warning\" | \"info\" | \"success\" = \"default\";\n if (error) status = \"error\";\n else if (warning) status = \"warning\";\n else if (success) status = \"success\";\n else if (info) status = \"info\";\n\n const helperMessage = error || warning || info || success || helperText;\n\n const expandToPath = React.useCallback((path: string[]) => {\n const menus: CascaderOption[][] = [options];\n let currentOptions = options;\n for (const val of path) {\n const option = currentOptions.find((opt) => opt.value === val);\n if (option?.children && option.children.length > 0) { menus.push(option.children); currentOptions = option.children }\n }\n setActiveMenus(menus);\n }, [options]);\n\n const handleOpenChange = React.useCallback((open: boolean) => {\n if (disabled || loading) return;\n setIsOpen(open);\n onOpenChange?.(open);\n if (open) {\n setActiveMenus([options]);\n setHoveredPath([]);\n setFocusedIndex(null);\n if (normalizedValue.length > 0 && !multiple) {\n setSelectedPath(normalizedValue[0] || []);\n expandToPath(normalizedValue[0] || []);\n } else {\n setSelectedPath([]);\n }\n }\n }, [disabled, loading, options, normalizedValue, multiple, onOpenChange, expandToPath]);\n\n const getSelectedOptions = React.useCallback((path: string[]): CascaderOption[] => {\n const selected: CascaderOption[] = [];\n let currentOptions = options;\n for (const val of path) {\n const option = currentOptions.find((opt) => opt.value === val);\n if (option) { selected.push(option); currentOptions = option.children || [] }\n }\n return selected;\n }, [options]);\n\n const isPathSelected = React.useCallback((path: string[]): boolean => {\n return normalizedValue.some((sp) => sp.length === path.length && sp.every((val, idx) => val === path[idx]));\n }, [normalizedValue]);\n\n const getAllLeafPaths = React.useCallback((option: CascaderOption, currentPath: string[]): string[][] => {\n const paths: string[][] = [];\n const fullPath = [...currentPath, option.value];\n if (!option.children || option.children.length === 0) { paths.push(fullPath) }\n else { option.children.forEach((child) => { paths.push(...getAllLeafPaths(child, fullPath)) }) }\n return paths;\n }, []);\n\n const handleItemClick = React.useCallback(async (option: CascaderOption, level: number) => {\n if (option.disabled) return;\n const newPath = [...selectedPath.slice(0, level), option.value];\n setSelectedPath(newPath);\n\n if (loadData && !option.children && !option.isLeaf && !option.loading) {\n const selectedOpts = getSelectedOptions(newPath);\n try { await loadData(selectedOpts) } catch { /* consumer handles */ }\n return;\n }\n\n const hasChildren = option.children && option.children.length > 0;\n const isLeaf = !hasChildren;\n\n if (hasChildren && !multiple) {\n setActiveMenus((prev) => [...prev.slice(0, level + 1), option.children!]);\n if (changeOnSelect) {\n const selectedOpts = getSelectedOptions(newPath);\n if (value === undefined) setInternalValue(newPath);\n onChange?.(newPath, selectedOpts);\n }\n } else if (hasChildren && multiple) {\n const leafPaths = getAllLeafPaths(option, selectedPath.slice(0, level));\n const allSelected = leafPaths.every((path) => isPathSelected(path));\n let newValue: string[][];\n if (allSelected) {\n newValue = normalizedValue.filter((sp) => !leafPaths.some((lp) => lp.length === sp.length && lp.every((v, i) => v === sp[i])));\n } else {\n newValue = [...normalizedValue, ...leafPaths.filter((path) => !isPathSelected(path))];\n }\n const newSelectedOptions = newValue.map((path) => getSelectedOptions(path));\n if (value === undefined) setInternalValue(newValue);\n onChange?.(newValue, newSelectedOptions);\n setActiveMenus((prev) => [...prev.slice(0, level + 1), option.children!]);\n } else if (isLeaf) {\n if (multiple) {\n let newValue: string[][];\n if (isPathSelected(newPath)) {\n newValue = normalizedValue.filter((path) => !(path.length === newPath.length && path.every((val, idx) => val === newPath[idx])));\n } else {\n newValue = [...normalizedValue, newPath];\n }\n const newSelectedOptions = newValue.map((path) => getSelectedOptions(path));\n if (value === undefined) setInternalValue(newValue);\n onChange?.(newValue, newSelectedOptions);\n } else {\n const selectedOpts = getSelectedOptions(newPath);\n if (value === undefined) setInternalValue(newPath);\n onChange?.(newPath, selectedOpts);\n onSelect?.(newPath, selectedOpts);\n handleOpenChange(false);\n }\n }\n }, [selectedPath, value, onChange, onSelect, getSelectedOptions, multiple, isPathSelected, normalizedValue, getAllLeafPaths, changeOnSelect, loadData, handleOpenChange]);\n\n const handleItemHover = React.useCallback((option: CascaderOption, level: number, index: number) => {\n if (expandTrigger !== \"hover\" || option.disabled) return;\n setHoveredPath((prev) => [...prev.slice(0, level), index]);\n setSelectedPath((prev) => [...prev.slice(0, level), option.value]);\n if (option.children && option.children.length > 0) {\n setActiveMenus((prev) => [...prev.slice(0, level + 1), option.children!]);\n } else {\n setActiveMenus((prev) => prev.slice(0, level + 1));\n }\n }, [expandTrigger]);\n\n const handleClear = React.useCallback((e: React.MouseEvent) => {\n e.stopPropagation();\n const emptyValue = multiple ? [] : [];\n if (value === undefined) setInternalValue(emptyValue);\n onChange?.(emptyValue, []);\n }, [value, onChange, multiple]);\n\n const removeSelection = React.useCallback((pathToRemove: string[], e: React.MouseEvent) => {\n e.stopPropagation();\n if (!multiple) return;\n const newValue = normalizedValue.filter((path) => !(path.length === pathToRemove.length && path.every((val, idx) => val === pathToRemove[idx])));\n const newSelectedOptions = newValue.map((path) => getSelectedOptions(path));\n setInternalValue(newValue);\n onChange?.(newValue, newSelectedOptions);\n }, [multiple, normalizedValue, value, onChange, getSelectedOptions]);\n\n const handleKeyDown = React.useCallback((e: React.KeyboardEvent) => {\n if (!isOpen) {\n if (e.key === \"Enter\" || e.key === \" \" || e.key === \"ArrowDown\") { e.preventDefault(); handleOpenChange(true) }\n return;\n }\n switch (e.key) {\n case \"Escape\": e.preventDefault(); handleOpenChange(false); break;\n case \"ArrowDown\":\n e.preventDefault();\n if (focusedIndex === null) { setFocusedIndex({ level: 0, index: 0 }) }\n else { const m = activeMenus[focusedIndex.level]; if (m && focusedIndex.index < m.length - 1) setFocusedIndex({ ...focusedIndex, index: focusedIndex.index + 1 }) }\n break;\n case \"ArrowUp\": e.preventDefault(); if (focusedIndex && focusedIndex.index > 0) setFocusedIndex({ ...focusedIndex, index: focusedIndex.index - 1 }); break;\n case \"ArrowRight\":\n e.preventDefault();\n if (focusedIndex) { const m = activeMenus[focusedIndex.level]; const o = m?.[focusedIndex.index]; if (o?.children?.length) { setActiveMenus((prev) => [...prev.slice(0, focusedIndex.level + 1), o.children!]); setFocusedIndex({ level: focusedIndex.level + 1, index: 0 }) } }\n break;\n case \"ArrowLeft\":\n e.preventDefault();\n if (focusedIndex && focusedIndex.level > 0) { const pl = focusedIndex.level - 1; setActiveMenus((prev) => prev.slice(0, focusedIndex.level)); setFocusedIndex({ level: pl, index: hoveredPath[pl] ?? 0 }) }\n break;\n case \"Enter\":\n e.preventDefault();\n if (focusedIndex) { const m = activeMenus[focusedIndex.level]; const o = m?.[focusedIndex.index]; if (o) handleItemClick(o, focusedIndex.level) }\n break;\n }\n }, [isOpen, focusedIndex, activeMenus, handleOpenChange, handleItemClick, hoveredPath]);\n\n const displayValue = React.useMemo(() => {\n if (normalizedValue.length === 0) return null;\n if (displayRender) {\n if (multiple) {\n return displayRender(normalizedValue.map((path) => getSelectedOptions(path).map((opt) => opt.label)), normalizedValue.map((path) => getSelectedOptions(path)));\n }\n const so = getSelectedOptions(normalizedValue[0] || []);\n return displayRender(so.map((opt) => opt.label), so);\n }\n if (!multiple) {\n const so = getSelectedOptions(normalizedValue[0] || []);\n const labels = so.map((opt) => opt.label);\n return showPath ? labels.join(pathSeparator) : labels[labels.length - 1] || null;\n }\n return null;\n }, [normalizedValue, displayRender, getSelectedOptions, multiple, showPath, pathSeparator]);\n\n const showClearButton = clearable && normalizedValue.length > 0 && normalizedValue[0]?.[0] && !disabled && !loading;\n\n const renderTriggerContent = () => {\n if (multiple && normalizedValue.length > 0) {\n const visibleTags = normalizedValue.slice(0, maxTagCount);\n const remainingCount = normalizedValue.length - maxTagCount;\n return (\n <div className=\"flex-1 flex flex-wrap gap-1 items-center min-h-0 overflow-hidden\">\n {visibleTags.map((path, idx) => {\n const selectedOpts = getSelectedOptions(path);\n const tagLabel = showPath ? selectedOpts.map((o) => o.label).join(pathSeparator) : selectedOpts[selectedOpts.length - 1]?.label || \"\";\n if (tagRender) return <React.Fragment key={idx}>{tagRender({ label: tagLabel, value: path, closable: !disabled, onClose: () => removeSelection(path, { stopPropagation: () => {} } as React.MouseEvent) })}</React.Fragment>;\n return (\n <span key={idx} className={cn(\"inline-flex items-center gap-1 rounded whitespace-nowrap\", colorVars[color], 'bg-slot-10 text-slot', tagSizeClasses[size])}>\n <span className=\"truncate max-w-[150px]\">{tagLabel}</span>\n {!disabled && <button type=\"button\" onClick={(e) => removeSelection(path, e)} className=\"hover:text-error shrink-0\"><X className=\"h-3 w-3\" /></button>}\n </span>\n );\n })}\n {remainingCount > 0 && <span className={cn(\"inline-flex items-center bg-surface text-text-secondary rounded whitespace-nowrap\", tagSizeClasses[size])}>+{remainingCount}</span>}\n </div>\n );\n }\n return <span className={cn(\"truncate flex-1\", !displayValue && \"text-text-secondary\")}>{displayValue || placeholder}</span>;\n };\n\n const popoverSide = placement.startsWith(\"top\") ? \"top\" : \"bottom\";\n const popoverAlign = placement.endsWith(\"Right\") ? \"end\" : \"start\";\n\n return (\n <div className={cn(\"flex flex-col\", fullWidth ? \"w-full\" : \"inline-block\")}>\n <div className=\"flex gap-2 items-center mb-0.5\">\n {label && <label className=\"text-sm font-medium text-text-secondary\">{label}{required && <span className=\"text-error ml-1\">*</span>}</label>}\n {helperMessage && messagePosition === \"top\" && (\n <span className={cn(\"text-xs\", status === \"error\" && \"text-error\", status === \"warning\" && \"text-warning\", status === \"info\" && \"text-info\", status === \"success\" && \"text-success\", status === \"default\" && \"text-text-secondary\")}>{helperMessage}</span>\n )}\n </div>\n <div ref={containerRef} className={cn(\"relative cascader_root\", fullWidth ? \"w-full\" : \"inline-block\", classNames?.root)} data-slot=\"root\">\n <PopoverPrimitive.Root open={isOpen} onOpenChange={handleOpenChange}>\n <PopoverPrimitive.Trigger asChild>\n <div\n ref={ref}\n className={cn(cascaderTriggerVariants({ status, size, fullWidth }), colorVars[color], 'focus-visible:ring-slot', disabled && \"opacity-50 cursor-not-allowed\", loading && \"opacity-50 pointer-events-none\", \"cascader_trigger\", classNames?.trigger, className)}\n onKeyDown={handleKeyDown}\n tabIndex={disabled ? -1 : 0}\n role=\"combobox\"\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n aria-disabled={disabled}\n aria-label={label || placeholder}\n data-slot=\"trigger\"\n >\n {renderTriggerContent()}\n <div className=\"flex items-center gap-1 text-text-secondary shrink-0\">\n {loading && <Loader2 className={cn(\"animate-spin text-text-secondary\", iconSizes[size])} />}\n {!loading && showClearButton && <button type=\"button\" onClick={handleClear} className=\"hover:text-text-primary\" aria-label=\"Clear selection\"><X className={iconSizes[size]} /></button>}\n {!loading && <ChevronDown className={cn(\"transition-transform\", iconSizes[size], isOpen && \"rotate-180\")} />}\n </div>\n </div>\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n side={popoverSide}\n align={popoverAlign}\n sideOffset={4}\n className=\"z-[var(--z-popover)] outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 duration-200\"\n >\n <CascaderMenu\n activeMenus={activeMenus}\n selectedPath={selectedPath}\n hoveredPath={hoveredPath}\n focusedIndex={focusedIndex}\n selectedPathSet={selectedPathSet}\n selectionStateMap={selectionStateMap}\n size={size}\n color={color}\n multiple={multiple}\n expandTrigger={expandTrigger}\n emptyContent={emptyContent}\n onItemClick={handleItemClick}\n onItemHover={handleItemHover}\n classNames={classNames}\n menuRefs={menuRefs}\n />\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n </div>\n {helperMessage && messagePosition === \"bottom\" && (\n <span className={cn(\"text-xs mt-0.5\", status === \"error\" && \"text-error\", status === \"warning\" && \"text-warning\", status === \"info\" && \"text-info\", status === \"success\" && \"text-success\", status === \"default\" && \"text-text-secondary\")}>{helperMessage}</span>\n )}\n </div>\n );\n },\n);\n\nCascader.displayName = \"Cascader\";\n\nexport type * from \"./types\";\nexport default Cascader;\n"]}
@@ -1,7 +1,7 @@
1
1
  import { cn, iconSizes } from './chunk-RAS6HUEI.js';
2
2
  import { cva } from 'class-variance-authority';
3
- import { ChevronRight, Check, Minus } from 'lucide-react';
4
3
  import React from 'react';
4
+ import { ChevronRight, Check, Minus } from 'lucide-react';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
6
6
 
7
7
  var treeItemVariants = cva(
@@ -381,5 +381,5 @@ Tree.displayName = "Tree";
381
381
  var tree_default = Tree;
382
382
 
383
383
  export { tree_default };
384
- //# sourceMappingURL=chunk-3FXOQC6P.js.map
385
- //# sourceMappingURL=chunk-3FXOQC6P.js.map
384
+ //# sourceMappingURL=chunk-LXHFGQOI.js.map
385
+ //# sourceMappingURL=chunk-LXHFGQOI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tree/index.tsx"],"names":[],"mappings":"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","file":"chunk-LXHFGQOI.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { Check, ChevronRight, Minus } from 'lucide-react'\n\nimport { cn, iconSizes } from '../utils'\nimport type { TreeNode, TreeProps } from './types'\n\nconst treeItemVariants = cva(\n 'flex items-center gap-2 px-2 rounded cursor-pointer select-none transition-colors duration-200 ease-out',\n {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n },\n disabled: {\n true: 'opacity-50 cursor-not-allowed',\n false: 'hover:bg-surface',\n },\n selected: {\n true: 'bg-primary/10 text-primary',\n false: 'text-text-primary',\n },\n },\n defaultVariants: {\n size: 'md',\n disabled: false,\n selected: false,\n },\n },\n)\n\n// Pure function moved outside component to avoid recreation on every render\nfunction getAllKeys(nodes: TreeNode[]): string[] {\n const keys: string[] = []\n const traverse = (items: TreeNode[]) => {\n items.forEach((item) => {\n keys.push(item.key)\n if (item.children) {\n traverse(item.children)\n }\n })\n }\n traverse(nodes)\n return keys\n}\n\nconst Tree = React.memo<TreeProps>(\n ({\n data,\n defaultExpandedKeys = [],\n expandedKeys,\n onExpand,\n checkable = false,\n checkedKeys,\n defaultCheckedKeys = [],\n onCheck,\n selectable = true,\n selectedKeys,\n defaultSelectedKeys = [],\n onSelect,\n disabled = false,\n size = 'md',\n showLine = false,\n showIcon = true,\n defaultExpandAll = false,\n className,\n classNames,\n }) => {\n const [internalExpandedKeys, setInternalExpandedKeys] = React.useState<\n string[]\n >(defaultExpandAll ? getAllKeys(data) : defaultExpandedKeys)\n const [internalCheckedKeys, setInternalCheckedKeys] =\n React.useState<string[]>(defaultCheckedKeys)\n const [internalSelectedKeys, setInternalSelectedKeys] =\n React.useState<string[]>(defaultSelectedKeys)\n\n const currentExpandedKeys =\n expandedKeys !== undefined ? expandedKeys : internalExpandedKeys\n const currentCheckedKeys =\n checkedKeys !== undefined ? checkedKeys : internalCheckedKeys\n const currentSelectedKeys =\n selectedKeys !== undefined ? selectedKeys : internalSelectedKeys\n\n const getAllLeafKeys = React.useCallback((node: TreeNode): string[] => {\n const keys: string[] = []\n\n const traverse = (n: TreeNode) => {\n if (!n.children || n.children.length === 0 || n.isLeaf) {\n keys.push(n.key)\n } else {\n n.children.forEach((child) => traverse(child))\n }\n }\n\n traverse(node)\n return keys\n }, [])\n\n const getNodeByKey = React.useCallback(\n (key: string): TreeNode | null => {\n const traverse = (nodes: TreeNode[]): TreeNode | null => {\n for (const node of nodes) {\n if (node.key === key) return node\n if (node.children) {\n const found = traverse(node.children)\n if (found) return found\n }\n }\n return null\n }\n return traverse(data)\n },\n [data],\n )\n\n const getCheckedNodes = React.useCallback(\n (keys: string[]): TreeNode[] => {\n return keys\n .map((key) => getNodeByKey(key))\n .filter((node): node is TreeNode => node !== null)\n },\n [getNodeByKey],\n )\n\n const checkedKeysSet = React.useMemo(\n () => new Set(currentCheckedKeys),\n [currentCheckedKeys],\n )\n\n const getCheckState = React.useCallback(\n (node: TreeNode): { checked: boolean; indeterminate: boolean } => {\n if (!node.children || node.children.length === 0 || node.isLeaf) {\n return {\n checked: checkedKeysSet.has(node.key),\n indeterminate: false,\n }\n }\n\n const leafKeys = getAllLeafKeys(node)\n const checkedCount = leafKeys.filter((key) =>\n checkedKeysSet.has(key),\n ).length\n\n return {\n checked: checkedCount === leafKeys.length && leafKeys.length > 0,\n indeterminate: checkedCount > 0 && checkedCount < leafKeys.length,\n }\n },\n [checkedKeysSet, getAllLeafKeys],\n )\n\n const expandedKeysSet = React.useMemo(\n () => new Set(currentExpandedKeys),\n [currentExpandedKeys],\n )\n\n const handleExpand = React.useCallback(\n (key: string) => {\n const newExpandedKeys = expandedKeysSet.has(key)\n ? currentExpandedKeys.filter((k) => k !== key)\n : [...currentExpandedKeys, key]\n\n if (expandedKeys === undefined) {\n setInternalExpandedKeys(newExpandedKeys)\n }\n onExpand?.(newExpandedKeys)\n },\n [currentExpandedKeys, expandedKeys, onExpand, expandedKeysSet],\n )\n\n const handleCheck = React.useCallback(\n (node: TreeNode, checked: boolean) => {\n if (disabled || node.disabled) return\n\n const leafKeys = getAllLeafKeys(node)\n let newCheckedKeys: string[]\n\n if (checked) {\n // Add all leaf keys that aren't already checked\n const keysToAdd = leafKeys.filter(\n (key) => !currentCheckedKeys.includes(key),\n )\n newCheckedKeys = [...currentCheckedKeys, ...keysToAdd]\n } else {\n // Remove all leaf keys\n newCheckedKeys = currentCheckedKeys.filter(\n (key) => !leafKeys.includes(key),\n )\n }\n\n if (checkedKeys === undefined) {\n setInternalCheckedKeys(newCheckedKeys)\n }\n\n const checkedNodes = getCheckedNodes(newCheckedKeys)\n onCheck?.(newCheckedKeys, {\n checked,\n node,\n checkedNodes,\n })\n },\n [\n disabled,\n getAllLeafKeys,\n currentCheckedKeys,\n checkedKeys,\n onCheck,\n getCheckedNodes,\n ],\n )\n\n const handleSelect = React.useCallback(\n (node: TreeNode) => {\n if (disabled || node.disabled || !selectable) return\n\n const isSelected = currentSelectedKeys.includes(node.key)\n const newSelectedKeys = isSelected\n ? currentSelectedKeys.filter((k) => k !== node.key)\n : [...currentSelectedKeys, node.key]\n\n if (selectedKeys === undefined) {\n setInternalSelectedKeys(newSelectedKeys)\n }\n\n onSelect?.(newSelectedKeys, {\n selected: !isSelected,\n node,\n })\n },\n [disabled, selectable, currentSelectedKeys, selectedKeys, onSelect],\n )\n\n const flattenTree = React.useCallback(\n (\n nodes: TreeNode[],\n level: number = 0,\n ): Array<{ node: TreeNode; level: number }> => {\n const result: Array<{ node: TreeNode; level: number }> = []\n\n nodes.forEach((node) => {\n result.push({ node, level })\n\n const hasChildren =\n node.children && node.children.length > 0 && !node.isLeaf\n const isExpanded = expandedKeysSet.has(node.key)\n\n if (hasChildren && isExpanded) {\n result.push(...flattenTree(node.children!, level + 1))\n }\n })\n\n return result\n },\n [expandedKeysSet],\n )\n\n const flatNodes = React.useMemo(\n () => flattenTree(data),\n [data, flattenTree],\n )\n\n // Memoize check states for all visible nodes\n const checkStates = React.useMemo(() => {\n if (!checkable) return new Map<string, 'checked' | 'unchecked' | 'indeterminate'>()\n\n const states = new Map<string, 'checked' | 'unchecked' | 'indeterminate'>()\n\n const compute = (node: TreeNode): 'checked' | 'unchecked' | 'indeterminate' => {\n if (states.has(node.key)) return states.get(node.key)!\n\n const checkState = getCheckState(node)\n let state: 'checked' | 'unchecked' | 'indeterminate'\n\n if (checkState.indeterminate) {\n state = 'indeterminate'\n } else if (checkState.checked) {\n state = 'checked'\n } else {\n state = 'unchecked'\n }\n\n states.set(node.key, state)\n return state\n }\n\n // Pre-compute for all visible nodes\n flatNodes.forEach(({ node }) => compute(node))\n return states\n }, [checkable, flatNodes, getCheckState])\n\n const renderNode = React.useCallback(\n (\n item: { node: TreeNode; level: number },\n index: number,\n ): React.ReactNode => {\n const { node, level } = item\n const hasChildren =\n node.children && node.children.length > 0 && !node.isLeaf\n const isExpanded = expandedKeysSet.has(node.key)\n const isSelected = currentSelectedKeys.includes(node.key)\n\n // Use memoized check state\n const checkStateValue = checkable ? checkStates.get(node.key) : null\n const checkState = checkStateValue\n ? {\n checked: checkStateValue === 'checked',\n indeterminate: checkStateValue === 'indeterminate',\n }\n : null\n\n return (\n <div\n key={node.key}\n className={cn(\n 'tree_node',\n 'relative animate-in fade-in slide-in-from-top-1 duration-200',\n classNames?.node,\n )}\n >\n <div\n className={cn(\n 'tree_nodeContent',\n treeItemVariants({\n size,\n disabled: !!node.disabled,\n selected: checkable ? false : isSelected,\n }),\n className,\n classNames?.nodeContent,\n )}\n >\n {/* Indentation units with vertical lines */}\n {Array.from({ length: level }).map((_, i) => {\n // Check if this indent level should have a vertical line\n const shouldDrawLine =\n showLine &&\n flatNodes.slice(index + 1).some((n) => n.level === i)\n\n return (\n <span\n key={i}\n className=\"relative inline-block w-4 h-6 shrink-0\"\n >\n {/* Vertical line connecting siblings */}\n {shouldDrawLine && (\n <span className=\"absolute top-0 left-1/2 bottom-0 h-full border-l border-border -translate-x-px\" />\n )}\n </span>\n )\n })}\n\n {/* Expand/Collapse Icon */}\n {hasChildren ? (\n <button\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation()\n handleExpand(node.key)\n }}\n className={cn(\n 'tree_expandIcon',\n 'shrink-0 hover:text-primary transition-colors duration-200',\n classNames?.expandIcon,\n )}\n disabled={disabled || node.disabled}\n >\n <ChevronRight\n className={cn(\n iconSizes[size],\n 'transition-transform duration-300 ease-out',\n isExpanded && 'rotate-90',\n )}\n />\n </button>\n ) : (\n <span className={cn('shrink-0', iconSizes[size])} />\n )}\n\n {/* Checkbox */}\n {checkable && (\n <div\n role=\"checkbox\"\n tabIndex={disabled || node.disabled ? -1 : 0}\n aria-checked={checkState?.indeterminate ? 'mixed' : checkState?.checked}\n onClick={(e) => {\n e.stopPropagation()\n handleCheck(node, !checkState?.checked)\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n e.stopPropagation()\n handleCheck(node, !checkState?.checked)\n }\n }}\n className={cn(\n 'w-4 h-4 border rounded flex items-center justify-center shrink-0 cursor-pointer transition-[colors,transform] duration-200',\n 'focus:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-1',\n checkState?.checked\n ? 'bg-primary border-primary'\n : 'border-border',\n (disabled || node.disabled) &&\n 'opacity-50 cursor-not-allowed',\n )}\n >\n {checkState?.checked && (\n <Check className=\"h-3 w-3 text-background animate-in zoom-in-50 duration-200\" />\n )}\n {checkState?.indeterminate && !checkState?.checked && (\n <Minus className=\"h-3 w-3 text-primary animate-in zoom-in-50 duration-200\" />\n )}\n </div>\n )}\n\n {/* Icon */}\n {showIcon && node.icon && (\n <span\n className={cn('tree_icon', 'shrink-0', classNames?.icon)}\n >\n {node.icon}\n </span>\n )}\n\n {/* Label */}\n <span\n onClick={() => {\n if (checkable) {\n handleCheck(node, !checkState?.checked)\n } else {\n handleSelect(node)\n }\n }}\n className={cn('tree_label', 'flex-1 truncate', classNames?.label)}\n >\n {node.label}\n </span>\n </div>\n </div>\n )\n },\n [\n expandedKeysSet,\n currentSelectedKeys,\n checkable,\n checkStates,\n size,\n className,\n classNames,\n disabled,\n handleExpand,\n handleCheck,\n handleSelect,\n showIcon,\n showLine,\n flatNodes,\n ],\n )\n\n return (\n <div data-slot=\"root\" className={cn('tree_root', 'w-full', className, classNames?.root)}>\n {flatNodes.map((item, index) => renderNode(item, index))}\n </div>\n )\n },\n)\n\nTree.displayName = 'Tree'\n\nexport type * from './types'\nexport default Tree\n"]}
@@ -1,8 +1,8 @@
1
- import { colorVars } from './chunk-GLJDHW73.js';
1
+ import { colorVars } from './chunk-G6QIIWKU.js';
2
2
  import { cn } from './chunk-RAS6HUEI.js';
3
3
  import { cva } from 'class-variance-authority';
4
- import { X } from 'lucide-react';
5
4
  import React from 'react';
5
+ import { X } from 'lucide-react';
6
6
  import { jsxs, jsx } from 'react/jsx-runtime';
7
7
 
8
8
  var tagVariants = cva("inline-flex items-center gap-1.5 whitespace-nowrap rounded font-medium transition-colors", {
@@ -127,5 +127,5 @@ Tag.displayName = "Tag";
127
127
  var tag_default = Tag;
128
128
 
129
129
  export { tag_default };
130
- //# sourceMappingURL=chunk-W5L7C7WS.js.map
131
- //# sourceMappingURL=chunk-W5L7C7WS.js.map
130
+ //# sourceMappingURL=chunk-NMP4HY6M.js.map
131
+ //# sourceMappingURL=chunk-NMP4HY6M.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tag/index.tsx"],"names":[],"mappings":"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","file":"chunk-NMP4HY6M.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority';\nimport React from 'react';\n\nimport { X } from 'lucide-react';\n\nimport { cn } from '../utils';\nimport { colorVars } from '../variants';\nimport type { TagProps } from './types';\n\n/**\n * Class variance authority configuration for the Tag component\n * Defines style variants for color, variant, and size\n */\nconst tagVariants = cva('inline-flex items-center gap-1.5 whitespace-nowrap rounded font-medium transition-colors', {\n variants: {\n variant: {\n default: 'bg-slot border border-slot text-slot-fg',\n solid: 'bg-slot border border-slot text-slot-fg hover:bg-slot-90',\n outline: 'border border-slot text-slot hover:bg-slot-10',\n soft: 'bg-slot-10 text-slot',\n },\n color: colorVars,\n size: {\n xs: 'text-[10px] px-1.5 py-0.5',\n sm: 'text-xs px-2 py-1',\n md: 'text-sm px-2.5 py-1',\n lg: 'text-base px-3 py-1.5',\n },\n },\n defaultVariants: {\n variant: 'solid',\n color: 'primary',\n size: 'sm',\n },\n});\n\n/**\n * Icon and close button size variants for different tag sizes\n */\nconst iconSizeClasses = {\n xs: 'size-2.5',\n sm: 'size-3',\n md: 'size-3.5',\n lg: 'size-4',\n};\n\n/**\n * Tag Component\n *\n * An interactive badge variant that can be used for labels, categories, or removable items.\n * Supports multiple variants, colors, sizes, icons, and close functionality.\n *\n * @component\n * @example\n * // Basic tag\n * <Tag>Label</Tag>\n *\n * @example\n * // Tag with close button\n * <Tag closable onClose={(e) => console.log('Tag removed')}>\n * Removable Tag\n * </Tag>\n *\n * @example\n * // Tag with icon\n * <Tag icon={<Star />} color=\"warning\">\n * Featured\n * </Tag>\n *\n * @example\n * // Different variants\n * <Tag variant=\"outline\" color=\"success\">Outline Tag</Tag>\n * <Tag variant=\"soft\" color=\"info\">Soft Tag</Tag>\n *\n * @example\n * // Disable keyboard removal (Backspace/Delete on tag)\n * <Tag closable disableKeyboardRemoval onClose={(e) => console.log('Tag removed')}>\n * No keyboard removal\n * </Tag>\n *\n * @example\n * // Tag with keyboard removal enabled (focus on tag and press Delete/Backspace)\n * <Tag closable onClose={(e) => console.log('Tag removed')}>\n * Press Delete or Backspace to remove\n * </Tag>\n *\n * @param {TagProps} props - Component props\n * @returns {JSX.Element} Rendered tag component\n */\nconst Tag = React.memo<TagProps>(({\n children,\n color = 'primary',\n variant = 'solid',\n size = 'sm',\n closable = false,\n onClose,\n icon,\n className,\n classNames,\n onClick,\n disableKeyboardRemoval = false,\n ...props\n}) => {\n /**\n * Handles the close button click event\n * Stops event propagation to prevent triggering parent onClick handlers\n *\n * @param {React.MouseEvent<HTMLButtonElement>} e - Mouse event\n */\n const handleClose = (e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n onClose?.(e);\n };\n\n /**\n * Handles keyboard events for the close button\n * Always responds to Enter/Space for activation (accessibility requirement)\n *\n * @param {React.KeyboardEvent<HTMLButtonElement>} e - Keyboard event\n */\n const handleCloseKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n // Always allow Enter/Space for activation (accessibility requirement)\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n onClose?.(e as unknown as React.MouseEvent<HTMLButtonElement>);\n }\n };\n\n /**\n * Handles keyboard events for the tag\n * Removes tag when Delete or Backspace is pressed (takes priority)\n * Activates onClick when Enter or Space is pressed\n *\n * @param {React.KeyboardEvent<HTMLSpanElement>} e - Keyboard event\n */\n const handleTagKeyDown = (e: React.KeyboardEvent<HTMLSpanElement>) => {\n // Handle deletion for closable tags (takes priority over onClick)\n if (!disableKeyboardRemoval && closable && (e.key === 'Delete' || e.key === 'Backspace')) {\n e.preventDefault();\n e.stopPropagation();\n onClose?.(e as unknown as React.MouseEvent<HTMLButtonElement>);\n return;\n }\n\n // Handle activation for clickable tags\n if (onClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n e.stopPropagation();\n onClick(e as unknown as React.MouseEvent<HTMLSpanElement>);\n }\n };\n\n return (\n <span\n className={cn(\n 'tag_root',\n tagVariants({ variant, color, size }),\n (onClick || closable) && 'cursor-pointer',\n (onClick || (!disableKeyboardRemoval && closable)) &&\n 'focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary ring-offset-background',\n classNames?.root,\n className\n )}\n onClick={onClick}\n onKeyDown={onClick || (!disableKeyboardRemoval && closable) ? handleTagKeyDown : undefined}\n role={onClick || (!disableKeyboardRemoval && closable) ? 'button' : undefined}\n tabIndex={onClick || (!disableKeyboardRemoval && closable) ? 0 : undefined}\n aria-label={\n (onClick || (!disableKeyboardRemoval && closable)) && typeof children === 'string' ? children : undefined\n }\n data-slot='root'\n {...props}\n >\n {icon && (\n <span className={cn('inline-flex items-center justify-center flex-shrink-0', iconSizeClasses[size])}>\n {React.isValidElement(icon)\n ? React.cloneElement(icon, {\n className: cn('w-full h-full', (icon.props as { className?: string }).className),\n } as React.HTMLAttributes<HTMLElement>)\n : icon}\n </span>\n )}\n <span\n className={cn('tag_content', classNames?.content)}\n data-slot='content'\n >\n {children}\n </span>\n {closable && (\n <button\n type='button'\n onClick={handleClose}\n onKeyDown={handleCloseKeyDown}\n className={cn(\n 'tag_closeButton',\n 'inline-flex items-center justify-center flex-shrink-0 cursor-pointer rounded-sm opacity-70 hover:opacity-100 transition-opacity focus:outline-none focus:ring-2 focus:ring-current focus:ring-offset-1',\n iconSizeClasses[size],\n classNames?.closeButton\n )}\n aria-label={typeof children === 'string' ? `Remove ${children}` : 'Remove tag'}\n tabIndex={disableKeyboardRemoval ? 0 : -1}\n data-slot='closeButton'\n >\n <X className='w-full h-full' />\n </button>\n )}\n </span>\n );\n});\n\nTag.displayName = 'Tag';\n\nexport type * from './types';\nexport default Tag;\n"]}
@@ -1,4 +1,4 @@
1
- import { colorVars } from './chunk-GLJDHW73.js';
1
+ import { colorVars } from './chunk-G6QIIWKU.js';
2
2
  import { cn } from './chunk-RAS6HUEI.js';
3
3
  import React from 'react';
4
4
  import { cva } from 'class-variance-authority';
@@ -88,10 +88,16 @@ var ProgressLabel = ({
88
88
  if (!label) return null;
89
89
  return /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-2 text-sm text-text-primary", children: [
90
90
  /* @__PURE__ */ jsx("span", { className: cn("progress_label", classNames?.label), children: label }),
91
- showProgress && /* @__PURE__ */ jsxs("span", { className: cn("font-medium", "progress_value", classNames?.value), children: [
92
- clampedValue,
93
- "%"
94
- ] })
91
+ showProgress && /* @__PURE__ */ jsxs(
92
+ "span",
93
+ {
94
+ className: cn("font-medium", "progress_value", classNames?.value),
95
+ children: [
96
+ clampedValue,
97
+ "%"
98
+ ]
99
+ }
100
+ )
95
101
  ] });
96
102
  };
97
103
  var CircleProgress = ({
@@ -187,7 +193,9 @@ var CircleProgress = ({
187
193
  "progress_label",
188
194
  classNames?.label
189
195
  ),
190
- style: { fontSize: `${Math.min(circleSize / Math.max(Math.floor(label.length * 1.5), 3), circleSize / 4)}px` },
196
+ style: {
197
+ fontSize: `${Math.floor(circleSize / Math.floor(label.length * 1.5))}px`
198
+ },
191
199
  children: label
192
200
  }
193
201
  ) : /* @__PURE__ */ jsxs(
@@ -291,7 +299,13 @@ var StepProgress = ({
291
299
  "div",
292
300
  {
293
301
  "data-slot": "root",
294
- className: cn("w-full", colorVars[color], "progress_root", className, classNames?.root),
302
+ className: cn(
303
+ "w-full",
304
+ colorVars[color],
305
+ "progress_root",
306
+ className,
307
+ classNames?.root
308
+ ),
295
309
  role: "progressbar",
296
310
  "aria-valuenow": clampedValue,
297
311
  "aria-valuemin": 0,
@@ -417,7 +431,13 @@ var LineProgress = ({
417
431
  return /* @__PURE__ */ jsxs(
418
432
  "div",
419
433
  {
420
- className: cn("w-full", colorVars[color], "progress_root", className, classNames?.root),
434
+ className: cn(
435
+ "w-full",
436
+ colorVars[color],
437
+ "progress_root",
438
+ className,
439
+ classNames?.root
440
+ ),
421
441
  role: "progressbar",
422
442
  "aria-valuenow": clampedValue,
423
443
  "aria-valuemin": 0,
@@ -546,5 +566,5 @@ Progress.displayName = "Progress";
546
566
  var progress_default = Progress;
547
567
 
548
568
  export { progress_default };
549
- //# sourceMappingURL=chunk-DPIXBBXK.js.map
550
- //# sourceMappingURL=chunk-DPIXBBXK.js.map
569
+ //# sourceMappingURL=chunk-NTCAZ2LF.js.map
570
+ //# sourceMappingURL=chunk-NTCAZ2LF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/progress/styles.ts","../src/progress/index.tsx"],"names":[],"mappings":"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","file":"chunk-NTCAZ2LF.js","sourcesContent":["import { cva } from \"class-variance-authority\";\nimport type { ProgressVariant, ProgressSize } from \"./types\";\n\nexport const circleSizes = {\n xs: { size: 60, strokeWidth: 4 },\n sm: { size: 80, strokeWidth: 6 },\n md: { size: 120, strokeWidth: 8 },\n lg: { size: 160, strokeWidth: 10 },\n};\n\nexport const progressContainerVariants = cva(\"w-full rounded-full overflow-hidden\", {\n variants: {\n size: {\n xs: \"h-1\",\n sm: \"h-2\",\n md: \"h-3\",\n lg: \"h-4\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport const progressBarVariants = cva(\n \"h-full transition-[width,height] duration-300 ease-in-out rounded-full\",\n {\n variants: {\n size: {\n xs: \"\",\n sm: \"\",\n md: \"\",\n lg: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n\nexport const getBackgroundColorClasses = (variant: ProgressVariant): string => {\n if (variant === 'soft') return 'bg-slot-10'\n if (variant === 'solid') return 'bg-slot-20'\n return 'bg-slot-10' // default variant\n};\n\nexport const getBarColorClasses = (variant: ProgressVariant): string => {\n if (variant === 'default') return 'bg-slot-20 border border-slot'\n if (variant === 'solid') return 'bg-slot'\n return 'bg-slot-50' // soft variant\n};\n\nexport const getCircleStrokeClasses = (variant: ProgressVariant): string => {\n if (variant === 'soft') return 'stroke-slot-50'\n return 'stroke-slot' // default and solid\n};\n\nexport const getCircleTrailClasses = (variant: ProgressVariant): string => {\n if (variant === 'soft') return 'stroke-slot-10'\n if (variant === 'solid') return 'stroke-slot-20'\n return 'stroke-slot-10' // default variant\n};\n\nexport function getVerticalWidthClass(size: ProgressSize): string {\n switch (size) {\n case \"xs\":\n return \"w-1\";\n case \"sm\":\n return \"w-2\";\n case \"md\":\n return \"w-3\";\n case \"lg\":\n return \"w-4\";\n default:\n return \"w-3\";\n }\n}\n\nexport function getStripedStyle(striped: boolean, isCompleted: boolean = true) {\n if (!striped || !isCompleted) return {};\n return {\n backgroundImage:\n \"linear-gradient(45deg, var(--overlay-stripe) 25%, transparent 25%, transparent 50%, var(--overlay-stripe) 50%, var(--overlay-stripe) 75%, transparent 75%, transparent)\",\n backgroundSize: \"1rem 1rem\",\n };\n}\n","\"use client\";\n\nimport React from \"react\";\n\nimport { cn } from \"../utils\";\nimport { colorVars } from \"../variants\";\nimport type { ProgressProps } from \"./types\";\nimport {\n circleSizes,\n progressContainerVariants,\n progressBarVariants,\n getBackgroundColorClasses,\n getBarColorClasses,\n getCircleStrokeClasses,\n getCircleTrailClasses,\n getVerticalWidthClass,\n getStripedStyle,\n} from \"./styles\";\n\n// Shared label and progress percentage component\ninterface ProgressLabelProps {\n label?: string;\n showProgress: boolean;\n clampedValue: number;\n classNames?: ProgressProps[\"classNames\"];\n}\n\nconst ProgressLabel: React.FC<ProgressLabelProps> = ({\n label,\n showProgress,\n clampedValue,\n classNames,\n}) => {\n if (!label) return null;\n\n return (\n <div className=\"flex items-center justify-between mb-2 text-sm text-text-primary\">\n <span className={cn(\"progress_label\", classNames?.label)}>{label}</span>\n {showProgress && (\n <span\n className={cn(\"font-medium\", \"progress_value\", classNames?.value)}\n >\n {clampedValue}%\n </span>\n )}\n </div>\n );\n};\n\n// Circle progress component\ninterface CircleProgressProps\n extends Pick<\n ProgressProps,\n | \"size\"\n | \"circleSize\"\n | \"strokeWidth\"\n | \"color\"\n | \"variant\"\n | \"label\"\n | \"className\"\n | \"classNames\"\n > {\n clampedValue: number;\n progressLabel: string;\n}\n\nconst CircleProgress: React.FC<CircleProgressProps> = ({\n size = \"md\",\n circleSize: customCircleSize,\n strokeWidth: customStrokeWidth,\n color = \"primary\",\n variant = \"default\",\n label,\n className,\n classNames,\n clampedValue,\n progressLabel,\n}) => {\n const preset = circleSizes[size];\n const circleSize = customCircleSize ?? preset.size;\n const strokeWidth = customStrokeWidth ?? preset.strokeWidth;\n const radius = (circleSize - strokeWidth) / 2;\n const circumference = 2 * Math.PI * radius;\n const offset = circumference - (clampedValue / 100) * circumference;\n\n return (\n <div\n className={cn(\n \"inline-flex flex-col items-center\",\n colorVars[color],\n \"progress_root\",\n className,\n classNames?.root,\n )}\n >\n <div\n className=\"relative\"\n style={{ width: circleSize, height: circleSize }}\n role=\"progressbar\"\n aria-valuenow={clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={progressLabel}\n aria-live=\"polite\"\n >\n <svg\n width={circleSize}\n height={circleSize}\n className=\"transform -rotate-90\"\n aria-hidden=\"true\"\n >\n {/* Background circle */}\n <circle\n cx={circleSize / 2}\n cy={circleSize / 2}\n r={radius}\n fill=\"none\"\n strokeWidth={strokeWidth}\n className={cn(\n getCircleTrailClasses(variant),\n \"progress_track\",\n classNames?.track,\n )}\n />\n <circle\n cx={circleSize / 2}\n cy={circleSize / 2}\n r={radius}\n fill=\"none\"\n strokeWidth={strokeWidth}\n strokeDasharray={circumference}\n strokeDashoffset={offset}\n strokeLinecap=\"round\"\n className={cn(\n getCircleStrokeClasses(variant),\n \"transition-[stroke-dashoffset] duration-300 ease-in-out\",\n \"progress_fill\",\n classNames?.fill,\n )}\n />\n </svg>\n {/* Center text */}\n <div className=\"absolute inset-0 flex flex-col items-center justify-center\">\n {label ? (\n <div\n className={cn(\n \"p-2 text-text-secondary\",\n \"progress_label\",\n classNames?.label,\n )}\n style={{\n fontSize: `${Math.floor(circleSize / Math.floor(label.length * 1.5))}px`,\n }}\n >\n {label}\n </div>\n ) : (\n <span\n className={cn(\n \"text-text-primary font-semibold\",\n \"progress_value\",\n classNames?.value,\n )}\n style={{ fontSize: circleSize / 5 }}\n >\n {clampedValue}%\n </span>\n )}\n </div>\n </div>\n </div>\n );\n};\n\n// Step progress component\ninterface StepProgressProps\n extends Pick<\n ProgressProps,\n | \"orientation\"\n | \"size\"\n | \"color\"\n | \"variant\"\n | \"label\"\n | \"showProgress\"\n | \"striped\"\n | \"animated\"\n | \"className\"\n | \"classNames\"\n | \"totalSteps\"\n > {\n clampedValue: number;\n progressLabel: string;\n}\n\nconst StepProgress: React.FC<StepProgressProps> = ({\n orientation = \"horizontal\",\n size = \"md\",\n color = \"primary\",\n variant = \"default\",\n label,\n showProgress = false,\n striped = false,\n animated = false,\n className,\n classNames,\n totalSteps = 5,\n clampedValue,\n progressLabel,\n}) => {\n const currentStep = Math.ceil((clampedValue / 100) * totalSteps);\n\n if (orientation === \"vertical\") {\n return (\n <div\n className={cn(\n \"h-full flex flex-col\",\n colorVars[color],\n \"progress_root\",\n className,\n classNames?.root,\n )}\n role=\"progressbar\"\n aria-valuenow={clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={progressLabel}\n aria-live=\"polite\"\n >\n <ProgressLabel\n label={label}\n showProgress={showProgress}\n clampedValue={clampedValue}\n classNames={classNames}\n />\n <div\n className={cn(\n \"flex-1 rounded-full overflow-hidden flex flex-col-reverse gap-1\",\n getVerticalWidthClass(size),\n \"progress_track\",\n classNames?.track,\n )}\n >\n {Array.from({ length: totalSteps }, (_, index) => {\n const stepNumber = index + 1;\n const isCompleted = stepNumber <= currentStep;\n\n return (\n <div\n key={index}\n className={cn(\n \"w-full rounded-full transition-[width,height] flex-1\",\n isCompleted\n ? getBarColorClasses(variant)\n : getBackgroundColorClasses(variant),\n animated && striped && \"progress-shimmer\",\n \"progress_fill\",\n classNames?.fill,\n )}\n style={getStripedStyle(striped, isCompleted)}\n />\n );\n })}\n </div>\n </div>\n );\n }\n\n // Horizontal step progress\n return (\n <div\n data-slot=\"root\"\n className={cn(\n \"w-full\",\n colorVars[color],\n \"progress_root\",\n className,\n classNames?.root,\n )}\n role=\"progressbar\"\n aria-valuenow={clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={progressLabel}\n aria-live=\"polite\"\n >\n <ProgressLabel\n label={label}\n showProgress={showProgress}\n clampedValue={clampedValue}\n classNames={classNames}\n />\n <div\n className={cn(\n \"w-full rounded-full overflow-hidden flex gap-1\",\n progressContainerVariants({ size }),\n \"progress_track\",\n classNames?.track,\n )}\n >\n {Array.from({ length: totalSteps }, (_, index) => {\n const stepNumber = index + 1;\n const isCompleted = stepNumber <= currentStep;\n\n return (\n <div\n key={index}\n className={cn(\n \"h-full rounded-full transition-[width,height] flex-1\",\n isCompleted\n ? getBarColorClasses(variant)\n : getBackgroundColorClasses(variant),\n animated && striped && \"progress-shimmer\",\n \"progress_fill\",\n classNames?.fill,\n )}\n style={getStripedStyle(striped, isCompleted)}\n />\n );\n })}\n </div>\n </div>\n );\n};\n\n// Line progress component\ninterface LineProgressProps\n extends Pick<\n ProgressProps,\n | \"orientation\"\n | \"size\"\n | \"color\"\n | \"variant\"\n | \"label\"\n | \"showProgress\"\n | \"striped\"\n | \"animated\"\n | \"className\"\n | \"classNames\"\n > {\n clampedValue: number;\n progressLabel: string;\n}\n\nconst LineProgress: React.FC<LineProgressProps> = ({\n orientation = \"horizontal\",\n size = \"md\",\n color = \"primary\",\n variant = \"default\",\n label,\n showProgress = false,\n striped = false,\n animated = false,\n className,\n classNames,\n clampedValue,\n progressLabel,\n}) => {\n if (orientation === \"vertical\") {\n return (\n <div\n className={cn(\n \"h-full flex flex-col\",\n colorVars[color],\n \"progress_root\",\n className,\n classNames?.root,\n )}\n role=\"progressbar\"\n aria-valuenow={clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={progressLabel}\n aria-live=\"polite\"\n >\n <ProgressLabel\n label={label}\n showProgress={showProgress}\n clampedValue={clampedValue}\n classNames={classNames}\n />\n <div\n className={cn(\n \"flex-1 rounded-full overflow-hidden flex flex-col justify-end\",\n getVerticalWidthClass(size),\n getBackgroundColorClasses(variant),\n \"progress_track\",\n classNames?.track,\n )}\n >\n <div\n className={cn(\n \"w-full transition-[width,height] duration-300 ease-in-out rounded-full\",\n getBarColorClasses(variant),\n animated && striped && \"progress-shimmer\",\n \"progress_fill\",\n classNames?.fill,\n )}\n style={{\n height: `${clampedValue}%`,\n ...getStripedStyle(striped),\n }}\n />\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={cn(\n \"w-full\",\n colorVars[color],\n \"progress_root\",\n className,\n classNames?.root,\n )}\n role=\"progressbar\"\n aria-valuenow={clampedValue}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-label={progressLabel}\n aria-live=\"polite\"\n >\n <ProgressLabel\n label={label}\n showProgress={showProgress}\n clampedValue={clampedValue}\n classNames={classNames}\n />\n <div\n className={cn(\n progressContainerVariants({ size }),\n getBackgroundColorClasses(variant),\n \"progress_track\",\n classNames?.track,\n )}\n >\n <div\n className={cn(\n progressBarVariants({ size }),\n getBarColorClasses(variant),\n animated && striped && \"progress-shimmer\",\n \"progress_fill\",\n classNames?.fill,\n )}\n style={{\n width: `${clampedValue}%`,\n ...getStripedStyle(striped),\n }}\n />\n </div>\n </div>\n );\n};\n\n// Main Progress component - thin wrapper that delegates to sub-components\nconst Progress = React.memo<ProgressProps>(\n ({\n value,\n color = \"primary\",\n size = \"md\",\n circleSize: customCircleSize,\n strokeWidth: customStrokeWidth,\n variant = \"default\",\n type = \"line\",\n orientation = \"horizontal\",\n showProgress = false,\n label,\n striped = false,\n animated = false,\n className,\n classNames,\n totalSteps = 5,\n \"aria-label\": ariaLabel,\n }) => {\n const clampedValue = Math.min(Math.max(value, 0), 100);\n const progressLabel = ariaLabel || label || \"Progress\";\n\n if (type === \"circle\") {\n return (\n <CircleProgress\n size={size}\n circleSize={customCircleSize}\n strokeWidth={customStrokeWidth}\n color={color}\n variant={variant}\n label={label}\n className={className}\n classNames={classNames}\n clampedValue={clampedValue}\n progressLabel={progressLabel}\n />\n );\n }\n\n if (type === \"step\") {\n return (\n <StepProgress\n orientation={orientation}\n size={size}\n color={color}\n variant={variant}\n label={label}\n showProgress={showProgress}\n striped={striped}\n animated={animated}\n className={className}\n classNames={classNames}\n totalSteps={totalSteps}\n clampedValue={clampedValue}\n progressLabel={progressLabel}\n />\n );\n }\n\n return (\n <LineProgress\n orientation={orientation}\n size={size}\n color={color}\n variant={variant}\n label={label}\n showProgress={showProgress}\n striped={striped}\n animated={animated}\n className={className}\n classNames={classNames}\n clampedValue={clampedValue}\n progressLabel={progressLabel}\n />\n );\n },\n);\n\nProgress.displayName = \"Progress\";\n\nexport type * from \"./types\";\nexport default Progress;\n"]}
@@ -1,4 +1,4 @@
1
- import { colorVars } from './chunk-GLJDHW73.js';
1
+ import { colorVars } from './chunk-G6QIIWKU.js';
2
2
  import { cn } from './chunk-RAS6HUEI.js';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import React from 'react';
@@ -11,23 +11,14 @@ function useCardContext() {
11
11
  var cardVariants = cva("rounded-lg transition-[shadow,transform]", {
12
12
  variants: {
13
13
  variant: {
14
- default: "bg-card text-card-foreground border",
15
- solid: "border",
16
- outline: "bg-transparent border",
17
- soft: "border-transparent",
18
- ghost: "border-transparent bg-transparent",
14
+ default: "bg-card text-card-foreground border border-slot",
15
+ solid: "border border-slot bg-slot text-slot-fg",
16
+ outline: "bg-transparent border border-slot text-text-primary",
17
+ soft: "border-transparent bg-slot-10 text-slot",
18
+ ghost: "border-transparent bg-transparent text-slot",
19
19
  elevated: "bg-card text-card-foreground border-transparent shadow-md"
20
20
  },
21
- color: {
22
- default: "border-border",
23
- primary: "border-primary",
24
- secondary: "border-secondary",
25
- accent: "border-accent",
26
- success: "border-success",
27
- error: "border-error",
28
- warning: "border-warning",
29
- info: "border-info"
30
- },
21
+ color: colorVars,
31
22
  shadow: {
32
23
  none: "",
33
24
  sm: "shadow-sm",
@@ -39,81 +30,10 @@ var cardVariants = cva("rounded-lg transition-[shadow,transform]", {
39
30
  false: ""
40
31
  },
41
32
  clickable: {
42
- true: "cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background active:translate-y-0 active:shadow-md",
33
+ true: "cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-slot focus-visible:ring-offset-2 focus-visible:ring-offset-background active:translate-y-0 active:shadow-md",
43
34
  false: ""
44
35
  }
45
36
  },
46
- compoundVariants: (() => {
47
- const styles = {
48
- default: {
49
- default: "bg-card text-card-foreground border-border",
50
- primary: "bg-card text-card-foreground border-primary",
51
- secondary: "bg-card text-card-foreground border-secondary",
52
- accent: "bg-card text-card-foreground border-accent",
53
- success: "bg-card text-card-foreground border-success",
54
- error: "bg-card text-card-foreground border-error",
55
- warning: "bg-card text-card-foreground border-warning",
56
- info: "bg-card text-card-foreground border-info"
57
- },
58
- solid: {
59
- default: "bg-surface border-border text-text-primary",
60
- primary: "bg-primary border-primary text-background",
61
- secondary: "bg-secondary border-secondary text-background",
62
- accent: "bg-accent border-accent text-background",
63
- success: "bg-success border-success text-background",
64
- error: "bg-error border-error text-background",
65
- warning: "bg-warning border-warning text-background",
66
- info: "bg-info border-info text-background"
67
- },
68
- outline: {
69
- default: "border-border text-text-primary",
70
- primary: "border-primary text-text-primary",
71
- secondary: "border-secondary text-text-primary",
72
- accent: "border-accent text-text-primary",
73
- success: "border-success text-text-primary",
74
- error: "border-error text-text-primary",
75
- warning: "border-warning text-text-primary",
76
- info: "border-info text-text-primary"
77
- },
78
- soft: {
79
- default: "bg-surface text-text-primary",
80
- primary: "bg-primary/10 text-primary",
81
- secondary: "bg-secondary/10 text-secondary",
82
- accent: "bg-accent/10 text-accent",
83
- success: "bg-success/10 text-success",
84
- error: "bg-error/10 text-error",
85
- warning: "bg-warning/10 text-warning",
86
- info: "bg-info/10 text-info"
87
- },
88
- ghost: {
89
- default: "text-text-primary",
90
- primary: "text-primary",
91
- secondary: "text-secondary",
92
- accent: "text-accent",
93
- success: "text-success",
94
- error: "text-error",
95
- warning: "text-warning",
96
- info: "text-info"
97
- },
98
- elevated: {
99
- default: "bg-card text-card-foreground",
100
- primary: "bg-card text-card-foreground ring-1 ring-primary/20",
101
- secondary: "bg-card text-card-foreground ring-1 ring-secondary/20",
102
- accent: "bg-card text-card-foreground ring-1 ring-accent/20",
103
- success: "bg-card text-card-foreground ring-1 ring-success/20",
104
- error: "bg-card text-card-foreground ring-1 ring-error/20",
105
- warning: "bg-card text-card-foreground ring-1 ring-warning/20",
106
- info: "bg-card text-card-foreground ring-1 ring-info/20"
107
- }
108
- };
109
- return Object.entries(styles).flatMap(
110
- ([variant, colorMap]) => Object.entries(colorMap).map(([color, cls]) => ({
111
- variant,
112
- color,
113
- class: cls
114
- }))
115
- );
116
- })(),
117
37
  defaultVariants: {
118
38
  variant: "default",
119
39
  color: "default",
@@ -166,8 +86,6 @@ var Card = React.memo(
166
86
  clickable
167
87
  }),
168
88
  !bordered && "border-transparent",
169
- clickable && colorVars[color],
170
- clickable && "focus-visible:ring-slot",
171
89
  sizeClasses[size],
172
90
  classNames?.root,
173
91
  className
@@ -356,5 +274,5 @@ var CardWithSubComponents = Object.assign(Card, {
356
274
  var card_default = CardWithSubComponents;
357
275
 
358
276
  export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardImage, CardTitle, cardVariants, card_default };
359
- //# sourceMappingURL=chunk-VIK6UTVN.js.map
360
- //# sourceMappingURL=chunk-VIK6UTVN.js.map
277
+ //# sourceMappingURL=chunk-OGB5QPNZ.js.map
278
+ //# sourceMappingURL=chunk-OGB5QPNZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/card/index.tsx"],"names":[],"mappings":"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","file":"chunk-OGB5QPNZ.js","sourcesContent":["'use client'\n\nimport { cva } from \"class-variance-authority\";\nimport React from \"react\";\n\nimport { cn } from \"../utils\";\nimport { colorVars } from \"../variants\";\nimport type {\n CardActionProps,\n CardClassNames,\n CardColor,\n CardContentProps,\n CardDescriptionProps,\n CardFooterProps,\n CardHeaderProps,\n CardImageProps,\n CardProps,\n CardSize,\n CardTitleProps,\n CardVariant,\n} from \"./types\";\n\ninterface CardContextValue {\n variant: CardVariant;\n color: CardColor;\n classNames?: CardClassNames;\n}\n\nconst CardContext = React.createContext<CardContextValue | null>(null);\n\nfunction useCardContext() {\n return React.useContext(CardContext);\n}\n\nconst cardVariants = cva(\"rounded-lg transition-[shadow,transform]\", {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground border border-slot\",\n solid: \"border border-slot bg-slot text-slot-fg\",\n outline: \"bg-transparent border border-slot text-text-primary\",\n soft: \"border-transparent bg-slot-10 text-slot\",\n ghost: \"border-transparent bg-transparent text-slot\",\n elevated: \"bg-card text-card-foreground border-transparent shadow-md\",\n },\n color: colorVars,\n shadow: {\n none: \"\",\n sm: \"shadow-sm\",\n md: \"shadow-md\",\n lg: \"shadow-lg\",\n },\n hoverable: {\n true: \"hover:shadow-lg hover:-translate-y-0.5 cursor-pointer\",\n false: \"\",\n },\n clickable: {\n true: \"cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-slot focus-visible:ring-offset-2 focus-visible:ring-offset-background active:translate-y-0 active:shadow-md\",\n false: \"\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n color: \"default\",\n shadow: \"none\",\n hoverable: false,\n clickable: false,\n },\n});\n\nconst sizeClasses: Record<CardSize, string> = {\n xs: \"[--card-padding:0.5rem] [--card-content-padding:0.5rem] [--card-footer-padding:0.5rem]\",\n sm: \"[--card-padding:1rem] [--card-content-padding:1rem] [--card-footer-padding:1rem]\",\n md: \"[--card-padding:1.5rem] [--card-content-padding:1.5rem] [--card-footer-padding:1.5rem]\",\n lg: \"[--card-padding:2rem] [--card-content-padding:2rem] [--card-footer-padding:2rem]\",\n};\n\nconst Card = React.memo<CardProps>(\n ({\n className,\n variant = \"default\",\n color = \"default\",\n size = \"md\",\n shadow = \"none\",\n hoverable = false,\n clickable = false,\n bordered = true,\n loading = false,\n classNames,\n onClick,\n ref,\n children,\n ...props\n }) => {\n const cardContent = loading ? (\n <div className=\"animate-pulse\">\n <div className=\"p-(--card-padding)\">\n <div className=\"h-4 bg-surface rounded w-3/4 mb-2\" />\n <div className=\"h-3 bg-surface rounded w-1/2\" />\n </div>\n <div className=\"p-(--card-content-padding) pt-0\">\n <div className=\"h-3 bg-surface rounded w-full mb-2\" />\n <div className=\"h-3 bg-surface rounded w-full mb-2\" />\n <div className=\"h-3 bg-surface rounded w-2/3\" />\n </div>\n </div>\n ) : (\n children\n );\n\n const cardClassName = cn(\n \"card_root\",\n cardVariants({\n variant,\n color,\n shadow,\n hoverable,\n clickable,\n }),\n !bordered && \"border-transparent\",\n sizeClasses[size],\n classNames?.root,\n className,\n );\n\n const contextValue = React.useMemo(\n () => ({ variant, color, classNames }),\n [variant, color, classNames],\n );\n\n if (clickable) {\n return (\n <CardContext.Provider value={contextValue}>\n <div\n ref={ref}\n role=\"button\"\n tabIndex={0}\n className={cardClassName}\n onClick={onClick}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n onClick?.(e as unknown as React.MouseEvent<HTMLDivElement>);\n }\n }}\n data-slot=\"root\"\n {...props}\n >\n {cardContent}\n </div>\n </CardContext.Provider>\n );\n }\n\n return (\n <CardContext.Provider value={contextValue}>\n <div ref={ref} className={cardClassName} onClick={onClick} data-slot=\"root\" {...props}>\n {cardContent}\n </div>\n </CardContext.Provider>\n );\n },\n);\nCard.displayName = \"Card\";\n\nconst CardHeader: React.FC<CardHeaderProps> = ({ className, ref, ...props }) => {\n const ctx = useCardContext();\n return (\n <div\n ref={ref}\n className={cn(\"card_header\", \"flex flex-col gap-1.5 p-(--card-padding)\", ctx?.classNames?.header, className)}\n data-slot=\"header\"\n {...props}\n />\n );\n};\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle: React.FC<CardTitleProps> = ({ className, as: Tag = \"h3\", ref, ...props }) => {\n const ctx = useCardContext();\n return (\n <Tag\n ref={ref}\n className={cn(\n \"card_title\",\n \"text-lg font-semibold leading-none tracking-tight\",\n ctx?.classNames?.title,\n className,\n )}\n data-slot=\"title\"\n {...props}\n />\n );\n};\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription: React.FC<CardDescriptionProps> = ({ className, ref, ...props }) => {\n const ctx = useCardContext();\n const isSolidColored = ctx?.variant === \"solid\" && ctx?.color !== \"default\";\n return (\n <p\n ref={ref}\n className={cn(\n \"card_description\",\n \"text-sm\",\n isSolidColored ? \"text-inherit opacity-80\" : \"text-text-secondary\",\n ctx?.classNames?.description,\n className,\n )}\n data-slot=\"description\"\n {...props}\n />\n );\n};\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent: React.FC<CardContentProps> = ({ className, ref, ...props }) => {\n const ctx = useCardContext();\n return (\n <div\n ref={ref}\n className={cn(\"card_content\", \"p-(--card-content-padding) pt-0\", ctx?.classNames?.content, className)}\n data-slot=\"content\"\n {...props}\n />\n );\n};\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter: React.FC<CardFooterProps> = ({ className, ref, ...props }) => {\n const ctx = useCardContext();\n return (\n <div\n ref={ref}\n className={cn(\n \"card_footer\",\n \"flex items-center p-(--card-footer-padding) pt-0\",\n ctx?.classNames?.footer,\n className,\n )}\n data-slot=\"footer\"\n {...props}\n />\n );\n};\nCardFooter.displayName = \"CardFooter\";\n\nconst CardAction: React.FC<CardActionProps> = ({ className, ref, ...props }) => {\n const ctx = useCardContext();\n return (\n <div\n ref={ref}\n className={cn(\"card_action\", \"ml-auto flex items-center gap-2\", ctx?.classNames?.action, className)}\n data-slot=\"action\"\n {...props}\n />\n );\n};\nCardAction.displayName = \"CardAction\";\n\nconst aspectRatioClasses = {\n square: \"aspect-square\",\n video: \"aspect-video\",\n wide: \"aspect-[21/9]\",\n auto: \"\",\n};\n\nconst objectFitClasses = {\n cover: \"object-cover\",\n contain: \"object-contain\",\n fill: \"object-fill\",\n none: \"object-none\",\n};\n\nconst CardImage: React.FC<CardImageProps> = ({\n src,\n alt,\n position = \"top\",\n aspectRatio = \"video\",\n objectFit = \"cover\",\n className,\n ref,\n ...props\n}) => {\n const ctx = useCardContext();\n return (\n <div\n className={cn(\n \"overflow-hidden\",\n position === \"top\" && \"rounded-t-lg\",\n position === \"bottom\" && \"rounded-b-lg\",\n aspectRatio !== \"auto\" && aspectRatioClasses[aspectRatio],\n )}\n >\n <img\n ref={ref}\n src={src}\n alt={alt}\n className={cn(\"card_image\", \"w-full h-full\", objectFitClasses[objectFit], ctx?.classNames?.image, className)}\n data-slot=\"image\"\n loading=\"lazy\"\n {...props}\n />\n </div>\n );\n};\nCardImage.displayName = \"CardImage\";\n\nconst CardWithSubComponents = Object.assign(Card, {\n Header: CardHeader,\n Footer: CardFooter,\n Title: CardTitle,\n Description: CardDescription,\n Content: CardContent,\n Action: CardAction,\n Image: CardImage,\n});\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n CardAction,\n CardImage,\n cardVariants,\n};\n\nexport type { CardClassNames } from \"./types\";\nexport type * from \"./types\";\nexport default CardWithSubComponents;\n"]}