@mdigital_ui/ui 0.4.2 → 0.4.3

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 (481) hide show
  1. package/dist/accordion/index.d.ts.map +1 -1
  2. package/dist/accordion/index.js +3 -3
  3. package/dist/accordion/types.d.ts +2 -42
  4. package/dist/accordion/types.d.ts.map +1 -1
  5. package/dist/avatar/index.d.ts +0 -6
  6. package/dist/avatar/index.d.ts.map +1 -1
  7. package/dist/avatar/index.js +2 -2
  8. package/dist/avatar/types.d.ts +0 -48
  9. package/dist/avatar/types.d.ts.map +1 -1
  10. package/dist/badge/index.d.ts +1 -23
  11. package/dist/badge/index.d.ts.map +1 -1
  12. package/dist/badge/index.js +3 -3
  13. package/dist/badge/types.d.ts +1 -20
  14. package/dist/badge/types.d.ts.map +1 -1
  15. package/dist/breadcrumbs/index.d.ts.map +1 -1
  16. package/dist/breadcrumbs/index.js +7 -6
  17. package/dist/breadcrumbs/types.d.ts +3 -38
  18. package/dist/breadcrumbs/types.d.ts.map +1 -1
  19. package/dist/button/index.d.ts +1 -1
  20. package/dist/button/index.d.ts.map +1 -1
  21. package/dist/button/index.js +5 -5
  22. package/dist/button/types.d.ts +2 -8
  23. package/dist/button/types.d.ts.map +1 -1
  24. package/dist/button-group/index.d.ts +0 -28
  25. package/dist/button-group/index.d.ts.map +1 -1
  26. package/dist/button-group/index.js +2 -2
  27. package/dist/button-group/types.d.ts +0 -19
  28. package/dist/button-group/types.d.ts.map +1 -1
  29. package/dist/card/index.d.ts +0 -40
  30. package/dist/card/index.d.ts.map +1 -1
  31. package/dist/card/index.js +3 -3
  32. package/dist/card/types.d.ts +3 -29
  33. package/dist/card/types.d.ts.map +1 -1
  34. package/dist/carousel/index.d.ts +4 -0
  35. package/dist/carousel/index.d.ts.map +1 -1
  36. package/dist/carousel/index.js +2 -2
  37. package/dist/cascader/index.d.ts +0 -21
  38. package/dist/cascader/index.d.ts.map +1 -1
  39. package/dist/cascader/index.js +3 -3
  40. package/dist/cascader/types.d.ts +3 -89
  41. package/dist/cascader/types.d.ts.map +1 -1
  42. package/dist/checkbox/index.d.ts.map +1 -1
  43. package/dist/checkbox/index.js +3 -3
  44. package/dist/checkbox/types.d.ts +2 -2
  45. package/dist/checkbox/types.d.ts.map +1 -1
  46. package/dist/checkbox-group/index.d.ts.map +1 -1
  47. package/dist/checkbox-group/index.js +2 -2
  48. package/dist/checkbox-group/types.d.ts +0 -24
  49. package/dist/checkbox-group/types.d.ts.map +1 -1
  50. package/dist/{chunk-H6G4BUPA.js → chunk-2FYXBW4S.js} +201 -161
  51. package/dist/chunk-2FYXBW4S.js.map +1 -0
  52. package/dist/{chunk-KH577UDI.js → chunk-2OBMSB5S.js} +9 -6
  53. package/dist/chunk-2OBMSB5S.js.map +1 -0
  54. package/dist/{chunk-3BIV3QE2.js → chunk-3FXOQC6P.js} +60 -28
  55. package/dist/chunk-3FXOQC6P.js.map +1 -0
  56. package/dist/{chunk-YXLIGJTN.js → chunk-3KISIZGP.js} +6 -6
  57. package/dist/chunk-3KISIZGP.js.map +1 -0
  58. package/dist/{chunk-6G3BMY4N.js → chunk-3QD7AQX7.js} +76 -85
  59. package/dist/chunk-3QD7AQX7.js.map +1 -0
  60. package/dist/{chunk-ROA7BYGB.js → chunk-3YP7HY3Y.js} +7 -5
  61. package/dist/chunk-3YP7HY3Y.js.map +1 -0
  62. package/dist/{chunk-OLTQAMV2.js → chunk-442OQLPK.js} +9 -24
  63. package/dist/chunk-442OQLPK.js.map +1 -0
  64. package/dist/{chunk-OFUPJH35.js → chunk-4TEZWGX7.js} +3 -3
  65. package/dist/{chunk-OFUPJH35.js.map → chunk-4TEZWGX7.js.map} +1 -1
  66. package/dist/chunk-4WZDQI22.js +378 -0
  67. package/dist/chunk-4WZDQI22.js.map +1 -0
  68. package/dist/{chunk-TLNHWOQQ.js → chunk-54Z7XTJA.js} +30 -19
  69. package/dist/chunk-54Z7XTJA.js.map +1 -0
  70. package/dist/{chunk-64NHVOZS.js → chunk-5CIJ7UCP.js} +25 -15
  71. package/dist/chunk-5CIJ7UCP.js.map +1 -0
  72. package/dist/{chunk-ON2CMF6J.js → chunk-5XLCUGLQ.js} +14 -10
  73. package/dist/chunk-5XLCUGLQ.js.map +1 -0
  74. package/dist/{chunk-DUIL5BYS.js → chunk-62LTLXVG.js} +72 -48
  75. package/dist/chunk-62LTLXVG.js.map +1 -0
  76. package/dist/{chunk-G6NVGBYZ.js → chunk-6ZPCKFRS.js} +23 -22
  77. package/dist/chunk-6ZPCKFRS.js.map +1 -0
  78. package/dist/{chunk-N2WHJ3FI.js → chunk-7OYMEXY3.js} +7 -5
  79. package/dist/chunk-7OYMEXY3.js.map +1 -0
  80. package/dist/{chunk-ONGJXAYQ.js → chunk-AEPBQO7U.js} +6 -5
  81. package/dist/chunk-AEPBQO7U.js.map +1 -0
  82. package/dist/{chunk-UTWQ2FZK.js → chunk-AOXTD7QZ.js} +47 -93
  83. package/dist/chunk-AOXTD7QZ.js.map +1 -0
  84. package/dist/{chunk-ZJNGZCRB.js → chunk-BLFXVSZU.js} +54 -153
  85. package/dist/chunk-BLFXVSZU.js.map +1 -0
  86. package/dist/{chunk-VOODO2ZE.js → chunk-BMA4E3T6.js} +6 -14
  87. package/dist/chunk-BMA4E3T6.js.map +1 -0
  88. package/dist/{chunk-4FFVNUTK.js → chunk-BNHRUHI4.js} +7 -6
  89. package/dist/chunk-BNHRUHI4.js.map +1 -0
  90. package/dist/{chunk-3BZE6BBJ.js → chunk-C46VTIW7.js} +41 -23
  91. package/dist/chunk-C46VTIW7.js.map +1 -0
  92. package/dist/{chunk-BVO2BNFG.js → chunk-CHGABWIV.js} +3 -3
  93. package/dist/chunk-CHGABWIV.js.map +1 -0
  94. package/dist/chunk-DF2ICSNI.js +99 -0
  95. package/dist/chunk-DF2ICSNI.js.map +1 -0
  96. package/dist/chunk-DOI7OTYV.js +81 -0
  97. package/dist/chunk-DOI7OTYV.js.map +1 -0
  98. package/dist/{chunk-2TLOWZE4.js → chunk-DPIXBBXK.js} +40 -179
  99. package/dist/chunk-DPIXBBXK.js.map +1 -0
  100. package/dist/{chunk-OQFYIKWR.js → chunk-EC5DXYME.js} +21 -12
  101. package/dist/chunk-EC5DXYME.js.map +1 -0
  102. package/dist/{chunk-KJTMZJ7V.js → chunk-EHNWVQBL.js} +65 -48
  103. package/dist/chunk-EHNWVQBL.js.map +1 -0
  104. package/dist/{chunk-I32ZQUYY.js → chunk-F4GLUQOF.js} +9 -8
  105. package/dist/chunk-F4GLUQOF.js.map +1 -0
  106. package/dist/{chunk-GJPZOMFE.js → chunk-FCU2ENQQ.js} +63 -31
  107. package/dist/chunk-FCU2ENQQ.js.map +1 -0
  108. package/dist/{chunk-JWTWPZ32.js → chunk-FZXMRXWE.js} +10 -9
  109. package/dist/chunk-FZXMRXWE.js.map +1 -0
  110. package/dist/{chunk-LOYLJRCF.js → chunk-G27HGKWO.js} +15 -5
  111. package/dist/chunk-G27HGKWO.js.map +1 -0
  112. package/dist/{chunk-Y4XAXZHB.js → chunk-GGQF5PQN.js} +9 -8
  113. package/dist/chunk-GGQF5PQN.js.map +1 -0
  114. package/dist/chunk-GLJDHW73.js +24 -0
  115. package/dist/chunk-GLJDHW73.js.map +1 -0
  116. package/dist/{chunk-LX4FDH4J.js → chunk-GPSZJWU3.js} +10 -11
  117. package/dist/chunk-GPSZJWU3.js.map +1 -0
  118. package/dist/{chunk-6LYRMQOI.js → chunk-H6PCGSIT.js} +21 -16
  119. package/dist/chunk-H6PCGSIT.js.map +1 -0
  120. package/dist/{chunk-WRSG7WU5.js → chunk-HJITFPBT.js} +78 -94
  121. package/dist/chunk-HJITFPBT.js.map +1 -0
  122. package/dist/{chunk-HECAAILV.js → chunk-HRVOTFU4.js} +24 -16
  123. package/dist/chunk-HRVOTFU4.js.map +1 -0
  124. package/dist/{chunk-O3V3BTIJ.js → chunk-HSW64H23.js} +54 -87
  125. package/dist/chunk-HSW64H23.js.map +1 -0
  126. package/dist/{chunk-YS5AIY4A.js → chunk-K5RV3GF4.js} +6 -5
  127. package/dist/chunk-K5RV3GF4.js.map +1 -0
  128. package/dist/{chunk-2WZVD7P3.js → chunk-KZZJAZ5M.js} +6 -5
  129. package/dist/chunk-KZZJAZ5M.js.map +1 -0
  130. package/dist/{chunk-6HGUDHHE.js → chunk-L5BU2QTI.js} +3 -5
  131. package/dist/chunk-L5BU2QTI.js.map +1 -0
  132. package/dist/{chunk-C5IGZLIT.js → chunk-LM6CJZX5.js} +8 -22
  133. package/dist/chunk-LM6CJZX5.js.map +1 -0
  134. package/dist/{chunk-RFHTC6AH.js → chunk-LXHOS74B.js} +16 -38
  135. package/dist/chunk-LXHOS74B.js.map +1 -0
  136. package/dist/{chunk-674JC24S.js → chunk-MZDAQSI4.js} +27 -28
  137. package/dist/chunk-MZDAQSI4.js.map +1 -0
  138. package/dist/{chunk-3PWILVOE.js → chunk-NHM6DZOF.js} +35 -50
  139. package/dist/chunk-NHM6DZOF.js.map +1 -0
  140. package/dist/chunk-NZHKNUGE.js +96 -0
  141. package/dist/chunk-NZHKNUGE.js.map +1 -0
  142. package/dist/{chunk-2PNLIQYM.js → chunk-ON76IMMI.js} +3 -3
  143. package/dist/chunk-ON76IMMI.js.map +1 -0
  144. package/dist/{chunk-POLVJ36Y.js → chunk-QNLTSHMB.js} +13 -38
  145. package/dist/chunk-QNLTSHMB.js.map +1 -0
  146. package/dist/{chunk-7UCNBMCV.js → chunk-QZ67UOPR.js} +13 -19
  147. package/dist/chunk-QZ67UOPR.js.map +1 -0
  148. package/dist/{chunk-NGYLRX6F.js → chunk-RAS6HUEI.js} +2 -2
  149. package/dist/chunk-RAS6HUEI.js.map +1 -0
  150. package/dist/{chunk-R3TLU26W.js → chunk-S7R4NTOI.js} +9 -7
  151. package/dist/chunk-S7R4NTOI.js.map +1 -0
  152. package/dist/{chunk-L5UYN5LX.js → chunk-SHUHAORE.js} +78 -44
  153. package/dist/chunk-SHUHAORE.js.map +1 -0
  154. package/dist/{chunk-SGRACNBP.js → chunk-STAYOHDI.js} +13 -5
  155. package/dist/chunk-STAYOHDI.js.map +1 -0
  156. package/dist/{chunk-ERRZ2CSG.js → chunk-SUNCSPDF.js} +45 -74
  157. package/dist/chunk-SUNCSPDF.js.map +1 -0
  158. package/dist/{chunk-YJOLLSHH.js → chunk-TS2PG6Z4.js} +42 -34
  159. package/dist/chunk-TS2PG6Z4.js.map +1 -0
  160. package/dist/{chunk-X3YNHX77.js → chunk-U3RHF7QF.js} +32 -33
  161. package/dist/chunk-U3RHF7QF.js.map +1 -0
  162. package/dist/{chunk-GVVP5TZM.js → chunk-UIVOI7HE.js} +231 -197
  163. package/dist/chunk-UIVOI7HE.js.map +1 -0
  164. package/dist/{chunk-D4SUSZDN.js → chunk-USHR3MWQ.js} +13 -13
  165. package/dist/chunk-USHR3MWQ.js.map +1 -0
  166. package/dist/{chunk-764UKE6X.js → chunk-VIK6UTVN.js} +7 -6
  167. package/dist/chunk-VIK6UTVN.js.map +1 -0
  168. package/dist/{chunk-HUXODBIO.js → chunk-VKY3JXAQ.js} +42 -101
  169. package/dist/chunk-VKY3JXAQ.js.map +1 -0
  170. package/dist/{chunk-FZSCLZF6.js → chunk-VV3VO5TS.js} +64 -101
  171. package/dist/chunk-VV3VO5TS.js.map +1 -0
  172. package/dist/{chunk-ZIYA7TGX.js → chunk-W5L7C7WS.js} +12 -22
  173. package/dist/chunk-W5L7C7WS.js.map +1 -0
  174. package/dist/{chunk-GOLARX5K.js → chunk-X3CNTOKQ.js} +13 -10
  175. package/dist/chunk-X3CNTOKQ.js.map +1 -0
  176. package/dist/{chunk-EHWXPH76.js → chunk-XKDN5PWJ.js} +8 -6
  177. package/dist/chunk-XKDN5PWJ.js.map +1 -0
  178. package/dist/{chunk-HCOTO5WX.js → chunk-XWCWTPEM.js} +7 -8
  179. package/dist/chunk-XWCWTPEM.js.map +1 -0
  180. package/dist/{chunk-BPRCBPVJ.js → chunk-YSV5GQS7.js} +55 -17
  181. package/dist/chunk-YSV5GQS7.js.map +1 -0
  182. package/dist/{chunk-6JGNJI5T.js → chunk-ZNNIXMJZ.js} +35 -21
  183. package/dist/chunk-ZNNIXMJZ.js.map +1 -0
  184. package/dist/{chunk-CN74CNAN.js → chunk-ZZZGD5EF.js} +8 -22
  185. package/dist/chunk-ZZZGD5EF.js.map +1 -0
  186. package/dist/clipboard/index.d.ts.map +1 -1
  187. package/dist/clipboard/index.js +4 -4
  188. package/dist/clipboard/types.d.ts +2 -35
  189. package/dist/clipboard/types.d.ts.map +1 -1
  190. package/dist/collapse/index.d.ts.map +1 -1
  191. package/dist/collapse/index.js +3 -3
  192. package/dist/collapse/types.d.ts +2 -35
  193. package/dist/collapse/types.d.ts.map +1 -1
  194. package/dist/command/index.d.ts +39 -66
  195. package/dist/command/index.d.ts.map +1 -1
  196. package/dist/command/index.js +3 -3
  197. package/dist/command/types.d.ts +2 -2
  198. package/dist/command/types.d.ts.map +1 -1
  199. package/dist/context-menu/index.d.ts +1 -45
  200. package/dist/context-menu/index.d.ts.map +1 -1
  201. package/dist/context-menu/index.js +4 -3
  202. package/dist/context-menu/types.d.ts +9 -63
  203. package/dist/context-menu/types.d.ts.map +1 -1
  204. package/dist/date-picker/index.d.ts.map +1 -1
  205. package/dist/date-picker/index.js +4 -4
  206. package/dist/date-picker/types.d.ts +2 -2
  207. package/dist/date-picker/types.d.ts.map +1 -1
  208. package/dist/descriptions/index.d.ts.map +1 -1
  209. package/dist/descriptions/index.js +2 -2
  210. package/dist/divider/index.d.ts.map +1 -1
  211. package/dist/divider/index.js +3 -2
  212. package/dist/divider/types.d.ts +0 -12
  213. package/dist/divider/types.d.ts.map +1 -1
  214. package/dist/drawer/index.d.ts +4 -1
  215. package/dist/drawer/index.d.ts.map +1 -1
  216. package/dist/drawer/index.js +2 -2
  217. package/dist/drawer/types.d.ts +2 -145
  218. package/dist/drawer/types.d.ts.map +1 -1
  219. package/dist/dropdown/index.d.ts.map +1 -1
  220. package/dist/dropdown/index.js +6 -5
  221. package/dist/dropdown/types.d.ts +2 -71
  222. package/dist/dropdown/types.d.ts.map +1 -1
  223. package/dist/empty/index.d.ts.map +1 -1
  224. package/dist/empty/index.js +2 -2
  225. package/dist/empty/types.d.ts +3 -40
  226. package/dist/empty/types.d.ts.map +1 -1
  227. package/dist/fetching-overlay/index.d.ts.map +1 -1
  228. package/dist/fetching-overlay/index.js +4 -4
  229. package/dist/float-input/index.d.ts.map +1 -1
  230. package/dist/float-input/index.js +4 -4
  231. package/dist/float-input/types.d.ts +5 -10
  232. package/dist/float-input/types.d.ts.map +1 -1
  233. package/dist/grid/index.d.ts +1 -1
  234. package/dist/grid/index.d.ts.map +1 -1
  235. package/dist/grid/index.js +2 -2
  236. package/dist/grid/types.d.ts +1 -9
  237. package/dist/grid/types.d.ts.map +1 -1
  238. package/dist/hooks/index.d.ts +1 -0
  239. package/dist/hooks/index.d.ts.map +1 -1
  240. package/dist/hooks/useMenuNavigation.d.ts +18 -0
  241. package/dist/hooks/useMenuNavigation.d.ts.map +1 -0
  242. package/dist/image/index.d.ts.map +1 -1
  243. package/dist/image/index.js +2 -2
  244. package/dist/image/types.d.ts +2 -34
  245. package/dist/image/types.d.ts.map +1 -1
  246. package/dist/index.d.ts +2 -1
  247. package/dist/index.d.ts.map +1 -1
  248. package/dist/index.js +68 -67
  249. package/dist/index.js.map +1 -1
  250. package/dist/input/index.d.ts.map +1 -1
  251. package/dist/input/index.js +4 -4
  252. package/dist/input/types.d.ts +9 -4
  253. package/dist/input/types.d.ts.map +1 -1
  254. package/dist/input-group/index.d.ts.map +1 -1
  255. package/dist/input-group/index.js +2 -2
  256. package/dist/input-group/types.d.ts +7 -19
  257. package/dist/input-group/types.d.ts.map +1 -1
  258. package/dist/input-otp/index.d.ts.map +1 -1
  259. package/dist/input-otp/index.js +2 -2
  260. package/dist/input-otp/types.d.ts +3 -81
  261. package/dist/input-otp/types.d.ts.map +1 -1
  262. package/dist/input-password/index.d.ts.map +1 -1
  263. package/dist/input-password/index.js +5 -5
  264. package/dist/input-password/types.d.ts +0 -6
  265. package/dist/input-password/types.d.ts.map +1 -1
  266. package/dist/kbd/index.d.ts.map +1 -1
  267. package/dist/kbd/index.js +3 -3
  268. package/dist/kbd/types.d.ts +2 -17
  269. package/dist/kbd/types.d.ts.map +1 -1
  270. package/dist/link/index.d.ts +1 -1
  271. package/dist/link/index.d.ts.map +1 -1
  272. package/dist/link/index.js +2 -2
  273. package/dist/menubar/index.d.ts.map +1 -1
  274. package/dist/menubar/index.js +5 -4
  275. package/dist/modal/index.d.ts.map +1 -1
  276. package/dist/modal/index.js +2 -2
  277. package/dist/modal/types.d.ts +2 -44
  278. package/dist/modal/types.d.ts.map +1 -1
  279. package/dist/multi-select/index.d.ts.map +1 -1
  280. package/dist/multi-select/index.js +7 -6
  281. package/dist/multi-select/types.d.ts +2 -34
  282. package/dist/multi-select/types.d.ts.map +1 -1
  283. package/dist/navigation-menu/index.js +2 -2
  284. package/dist/notification/index.d.ts.map +1 -1
  285. package/dist/notification/index.js +3 -3
  286. package/dist/notification/types.d.ts +2 -62
  287. package/dist/notification/types.d.ts.map +1 -1
  288. package/dist/number-input/index.d.ts.map +1 -1
  289. package/dist/number-input/index.js +5 -5
  290. package/dist/number-input/types.d.ts +5 -2
  291. package/dist/number-input/types.d.ts.map +1 -1
  292. package/dist/pagination/index.d.ts.map +1 -1
  293. package/dist/pagination/index.js +4 -3
  294. package/dist/pagination/types.d.ts +3 -53
  295. package/dist/pagination/types.d.ts.map +1 -1
  296. package/dist/popover/index.d.ts +1 -1
  297. package/dist/popover/index.d.ts.map +1 -1
  298. package/dist/popover/index.js +3 -3
  299. package/dist/popover/types.d.ts +3 -17
  300. package/dist/popover/types.d.ts.map +1 -1
  301. package/dist/progress/index.d.ts.map +1 -1
  302. package/dist/progress/index.js +3 -2
  303. package/dist/progress/styles.d.ts +4 -5
  304. package/dist/progress/styles.d.ts.map +1 -1
  305. package/dist/progress/types.d.ts +2 -44
  306. package/dist/progress/types.d.ts.map +1 -1
  307. package/dist/radio/index.d.ts.map +1 -1
  308. package/dist/radio/index.js +3 -3
  309. package/dist/radio/types.d.ts +2 -2
  310. package/dist/radio/types.d.ts.map +1 -1
  311. package/dist/radio-group/index.d.ts.map +1 -1
  312. package/dist/radio-group/index.js +2 -2
  313. package/dist/radio-group/types.d.ts +0 -24
  314. package/dist/radio-group/types.d.ts.map +1 -1
  315. package/dist/rating/index.d.ts.map +1 -1
  316. package/dist/rating/index.js +2 -2
  317. package/dist/rating/types.d.ts +2 -2
  318. package/dist/rating/types.d.ts.map +1 -1
  319. package/dist/scroll-area/index.d.ts.map +1 -1
  320. package/dist/scroll-area/index.js +2 -2
  321. package/dist/select/index.d.ts.map +1 -1
  322. package/dist/select/index.js +7 -6
  323. package/dist/select/types.d.ts +8 -3
  324. package/dist/select/types.d.ts.map +1 -1
  325. package/dist/shared/useSelectBase.d.ts +4 -2
  326. package/dist/shared/useSelectBase.d.ts.map +1 -1
  327. package/dist/skeleton/index.d.ts.map +1 -1
  328. package/dist/skeleton/index.js +3 -3
  329. package/dist/skeleton/types.d.ts +1 -1
  330. package/dist/skeleton/types.d.ts.map +1 -1
  331. package/dist/slider/index.d.ts.map +1 -1
  332. package/dist/slider/index.js +3 -2
  333. package/dist/slider/types.d.ts +2 -36
  334. package/dist/slider/types.d.ts.map +1 -1
  335. package/dist/spinner/index.d.ts +2 -1
  336. package/dist/spinner/index.d.ts.map +1 -1
  337. package/dist/spinner/index.js +3 -3
  338. package/dist/spinner/types.d.ts +1 -1
  339. package/dist/spinner/types.d.ts.map +1 -1
  340. package/dist/stepper/index.d.ts.map +1 -1
  341. package/dist/stepper/index.js +3 -2
  342. package/dist/stepper/types.d.ts +3 -2
  343. package/dist/stepper/types.d.ts.map +1 -1
  344. package/dist/switch/index.d.ts.map +1 -1
  345. package/dist/switch/index.js +3 -3
  346. package/dist/switch/types.d.ts +2 -31
  347. package/dist/switch/types.d.ts.map +1 -1
  348. package/dist/table/index.d.ts.map +1 -1
  349. package/dist/table/index.js +11 -11
  350. package/dist/table/types.d.ts +2 -2
  351. package/dist/table/types.d.ts.map +1 -1
  352. package/dist/tabs/index.d.ts.map +1 -1
  353. package/dist/tabs/index.js +3 -3
  354. package/dist/tabs/types.d.ts +3 -53
  355. package/dist/tabs/types.d.ts.map +1 -1
  356. package/dist/tag/index.d.ts +1 -1
  357. package/dist/tag/index.d.ts.map +1 -1
  358. package/dist/tag/index.js +3 -3
  359. package/dist/tag/types.d.ts +1 -1
  360. package/dist/tag/types.d.ts.map +1 -1
  361. package/dist/textarea/index.d.ts.map +1 -1
  362. package/dist/textarea/index.js +2 -2
  363. package/dist/textarea/types.d.ts +3 -54
  364. package/dist/textarea/types.d.ts.map +1 -1
  365. package/dist/theme/types.d.ts +0 -12
  366. package/dist/theme/types.d.ts.map +1 -1
  367. package/dist/timeline/index.d.ts.map +1 -1
  368. package/dist/timeline/index.js +2 -2
  369. package/dist/toast/index.d.ts.map +1 -1
  370. package/dist/toast/index.js +3 -3
  371. package/dist/toast/types.d.ts +0 -6
  372. package/dist/toast/types.d.ts.map +1 -1
  373. package/dist/toggle/index.d.ts.map +1 -1
  374. package/dist/toggle/index.js +4 -3
  375. package/dist/toggle/types.d.ts +3 -26
  376. package/dist/toggle/types.d.ts.map +1 -1
  377. package/dist/toggle-group/index.d.ts.map +1 -1
  378. package/dist/toggle-group/index.js +4 -3
  379. package/dist/toggle-group/types.d.ts +3 -44
  380. package/dist/toggle-group/types.d.ts.map +1 -1
  381. package/dist/tooltip/index.d.ts.map +1 -1
  382. package/dist/tooltip/index.js +3 -3
  383. package/dist/tooltip/types.d.ts +2 -44
  384. package/dist/tooltip/types.d.ts.map +1 -1
  385. package/dist/transfer/index.d.ts.map +1 -1
  386. package/dist/transfer/index.js +4 -4
  387. package/dist/transfer/types.d.ts +0 -20
  388. package/dist/transfer/types.d.ts.map +1 -1
  389. package/dist/transfer/utils.d.ts.map +1 -1
  390. package/dist/tree/index.d.ts.map +1 -1
  391. package/dist/tree/index.js +2 -2
  392. package/dist/tree/types.d.ts +2 -73
  393. package/dist/tree/types.d.ts.map +1 -1
  394. package/dist/tree-select/index.d.ts.map +1 -1
  395. package/dist/tree-select/index.js +5 -5
  396. package/dist/tree-select/types.d.ts +3 -91
  397. package/dist/tree-select/types.d.ts.map +1 -1
  398. package/dist/types.d.ts +1 -35
  399. package/dist/types.d.ts.map +1 -1
  400. package/dist/upload/index.d.ts.map +1 -1
  401. package/dist/upload/index.js +3 -3
  402. package/dist/upload/types.d.ts +5 -32
  403. package/dist/upload/types.d.ts.map +1 -1
  404. package/dist/upload/utils.d.ts +1 -0
  405. package/dist/upload/utils.d.ts.map +1 -1
  406. package/dist/utils.d.ts +0 -39
  407. package/dist/utils.d.ts.map +1 -1
  408. package/dist/variants.d.ts +3 -314
  409. package/dist/variants.d.ts.map +1 -1
  410. package/package.json +1 -1
  411. package/styles/global.css +300 -977
  412. package/dist/chunk-2PNLIQYM.js.map +0 -1
  413. package/dist/chunk-2TLOWZE4.js.map +0 -1
  414. package/dist/chunk-2WZVD7P3.js.map +0 -1
  415. package/dist/chunk-3BIV3QE2.js.map +0 -1
  416. package/dist/chunk-3BZE6BBJ.js.map +0 -1
  417. package/dist/chunk-3PWILVOE.js.map +0 -1
  418. package/dist/chunk-4FFVNUTK.js.map +0 -1
  419. package/dist/chunk-64NHVOZS.js.map +0 -1
  420. package/dist/chunk-674JC24S.js.map +0 -1
  421. package/dist/chunk-6BAP6QUT.js +0 -72
  422. package/dist/chunk-6BAP6QUT.js.map +0 -1
  423. package/dist/chunk-6G3BMY4N.js.map +0 -1
  424. package/dist/chunk-6HGUDHHE.js.map +0 -1
  425. package/dist/chunk-6JGNJI5T.js.map +0 -1
  426. package/dist/chunk-6LYRMQOI.js.map +0 -1
  427. package/dist/chunk-6YOOKE6C.js +0 -138
  428. package/dist/chunk-6YOOKE6C.js.map +0 -1
  429. package/dist/chunk-764UKE6X.js.map +0 -1
  430. package/dist/chunk-7UCNBMCV.js.map +0 -1
  431. package/dist/chunk-BPRCBPVJ.js.map +0 -1
  432. package/dist/chunk-BVO2BNFG.js.map +0 -1
  433. package/dist/chunk-C5IGZLIT.js.map +0 -1
  434. package/dist/chunk-CN74CNAN.js.map +0 -1
  435. package/dist/chunk-D4SUSZDN.js.map +0 -1
  436. package/dist/chunk-DUIL5BYS.js.map +0 -1
  437. package/dist/chunk-EHWXPH76.js.map +0 -1
  438. package/dist/chunk-ERRZ2CSG.js.map +0 -1
  439. package/dist/chunk-EZGK67T6.js +0 -383
  440. package/dist/chunk-EZGK67T6.js.map +0 -1
  441. package/dist/chunk-FZSCLZF6.js.map +0 -1
  442. package/dist/chunk-G6NVGBYZ.js.map +0 -1
  443. package/dist/chunk-GJPZOMFE.js.map +0 -1
  444. package/dist/chunk-GOLARX5K.js.map +0 -1
  445. package/dist/chunk-GVVP5TZM.js.map +0 -1
  446. package/dist/chunk-H6G4BUPA.js.map +0 -1
  447. package/dist/chunk-HCOTO5WX.js.map +0 -1
  448. package/dist/chunk-HECAAILV.js.map +0 -1
  449. package/dist/chunk-HUXODBIO.js.map +0 -1
  450. package/dist/chunk-I32ZQUYY.js.map +0 -1
  451. package/dist/chunk-JWTWPZ32.js.map +0 -1
  452. package/dist/chunk-KH577UDI.js.map +0 -1
  453. package/dist/chunk-KJTMZJ7V.js.map +0 -1
  454. package/dist/chunk-L5UYN5LX.js.map +0 -1
  455. package/dist/chunk-LOYLJRCF.js.map +0 -1
  456. package/dist/chunk-LX4FDH4J.js.map +0 -1
  457. package/dist/chunk-N2WHJ3FI.js.map +0 -1
  458. package/dist/chunk-NGYLRX6F.js.map +0 -1
  459. package/dist/chunk-O3V3BTIJ.js.map +0 -1
  460. package/dist/chunk-OLTQAMV2.js.map +0 -1
  461. package/dist/chunk-ON2CMF6J.js.map +0 -1
  462. package/dist/chunk-ONGJXAYQ.js.map +0 -1
  463. package/dist/chunk-OQFYIKWR.js.map +0 -1
  464. package/dist/chunk-POLVJ36Y.js.map +0 -1
  465. package/dist/chunk-POXI7JJ4.js +0 -351
  466. package/dist/chunk-POXI7JJ4.js.map +0 -1
  467. package/dist/chunk-R3TLU26W.js.map +0 -1
  468. package/dist/chunk-RFHTC6AH.js.map +0 -1
  469. package/dist/chunk-ROA7BYGB.js.map +0 -1
  470. package/dist/chunk-SGRACNBP.js.map +0 -1
  471. package/dist/chunk-TLNHWOQQ.js.map +0 -1
  472. package/dist/chunk-UTWQ2FZK.js.map +0 -1
  473. package/dist/chunk-VOODO2ZE.js.map +0 -1
  474. package/dist/chunk-WRSG7WU5.js.map +0 -1
  475. package/dist/chunk-X3YNHX77.js.map +0 -1
  476. package/dist/chunk-Y4XAXZHB.js.map +0 -1
  477. package/dist/chunk-YJOLLSHH.js.map +0 -1
  478. package/dist/chunk-YS5AIY4A.js.map +0 -1
  479. package/dist/chunk-YXLIGJTN.js.map +0 -1
  480. package/dist/chunk-ZIYA7TGX.js.map +0 -1
  481. package/dist/chunk-ZJNGZCRB.js.map +0 -1
@@ -1,4 +1,5 @@
1
- import { cn } from './chunk-NGYLRX6F.js';
1
+ import { colorVars } from './chunk-GLJDHW73.js';
2
+ import { cn } from './chunk-RAS6HUEI.js';
2
3
  import { cva } from 'class-variance-authority';
3
4
  import React from 'react';
4
5
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -30,16 +31,6 @@ var dividerBorderColorClasses = {
30
31
  warning: "border-warning",
31
32
  info: "border-info"
32
33
  };
33
- var dividerLabelColorClasses = {
34
- default: "text-text-secondary",
35
- primary: "text-primary",
36
- secondary: "text-secondary",
37
- accent: "text-accent",
38
- success: "text-success",
39
- error: "text-error",
40
- warning: "text-warning",
41
- info: "text-info"
42
- };
43
34
  var textAlignClasses = {
44
35
  left: {
45
36
  before: "w-(--divider-left-before-width)",
@@ -80,7 +71,8 @@ var Divider = React.memo(
80
71
  className: cn(
81
72
  "divider_root",
82
73
  "flex items-center gap-(--divider-gap) text-sm",
83
- dividerLabelColorClasses[color],
74
+ colorVars[color],
75
+ "text-slot",
84
76
  className,
85
77
  classNames?.root
86
78
  ),
@@ -176,5 +168,5 @@ Divider.displayName = "Divider";
176
168
  var divider_default = Divider;
177
169
 
178
170
  export { divider_default };
179
- //# sourceMappingURL=chunk-VOODO2ZE.js.map
180
- //# sourceMappingURL=chunk-VOODO2ZE.js.map
171
+ //# sourceMappingURL=chunk-BMA4E3T6.js.map
172
+ //# sourceMappingURL=chunk-BMA4E3T6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/divider/index.tsx"],"names":[],"mappings":"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","file":"chunk-BMA4E3T6.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport type { ComponentColor } from '../types'\nimport { cn } from '../utils'\nimport { colorVars } from '../variants'\nimport type { DividerProps } from './types'\n\n/**\n * Class variance authority configuration for the Divider component\n * Defines style variants for orientation, line style, and text alignment\n */\nconst dividerVariants = cva('', {\n variants: {\n orientation: {\n horizontal: 'w-full',\n vertical: 'h-full',\n },\n variant: {\n solid: 'border-solid',\n dashed: 'border-dashed',\n dotted: 'border-dotted',\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n variant: 'solid',\n },\n})\n\n/**\n * Border color classes for the divider line\n */\nconst dividerBorderColorClasses: Record<ComponentColor, string> = {\n default: 'border-border',\n primary: 'border-primary',\n secondary: 'border-secondary',\n accent: 'border-accent',\n success: 'border-success',\n error: 'border-error',\n warning: 'border-warning',\n info: 'border-info',\n}\n\n/**\n * Text alignment styles for the label within the divider\n * Defines the width distribution of divider lines before and after the label\n * Uses design tokens for customizability\n */\nconst textAlignClasses = {\n left: {\n before: 'w-(--divider-left-before-width)',\n after: 'w-(--divider-left-after-width)',\n },\n center: {\n before: 'w-(--divider-center-before-width)',\n after: 'w-(--divider-center-after-width)',\n },\n right: {\n before: 'w-(--divider-right-before-width)',\n after: 'w-(--divider-right-after-width)',\n },\n}\n\n/**\n * Divider Component\n *\n * A visual separator that can be used to divide content sections.\n * Supports horizontal and vertical orientations, different line styles,\n * color variants, and optional label text.\n *\n * @component\n * @example\n * // Basic horizontal divider\n * <Divider />\n *\n * @example\n * // Divider with text label\n * <Divider>Section Title</Divider>\n *\n * @example\n * // Colored divider\n * <Divider color=\"primary\" />\n *\n * @example\n * // Vertical divider\n * <Divider orientation=\"vertical\" />\n *\n * @example\n * // Dashed divider with left-aligned text\n * <Divider variant=\"dashed\" textAlign=\"left\" color=\"accent\">\n * Options\n * </Divider>\n *\n * @param {DividerProps} props - Component props\n * @returns {JSX.Element} Rendered divider component\n */\nconst Divider = React.memo<DividerProps>(\n ({\n orientation = 'horizontal',\n variant = 'solid',\n color = 'default',\n children,\n textAlign = 'center',\n spacing,\n className,\n classNames,\n ref,\n ...props\n }) => {\n const hasText = Boolean(children)\n\n /**\n * Render horizontal divider\n * Supports optional text label with configurable alignment\n */\n if (orientation === 'horizontal') {\n if (hasText) {\n return (\n <div\n ref={ref as React.Ref<HTMLDivElement>}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n data-slot=\"root\"\n className={cn(\n 'divider_root',\n 'flex items-center gap-(--divider-gap) text-sm',\n colorVars[color],\n 'text-slot',\n className,\n classNames?.root,\n )}\n style={spacing ? { margin: spacing } : undefined}\n {...props}\n >\n <div\n data-slot=\"line\"\n className={cn(\n 'divider_line',\n 'border-t',\n dividerVariants({ variant }),\n dividerBorderColorClasses[color],\n textAlignClasses[textAlign].before,\n classNames?.line,\n )}\n />\n <span\n data-slot=\"label\"\n className={cn(\n 'divider_label',\n 'whitespace-nowrap flex-shrink-0',\n classNames?.label,\n )}\n >\n {children}\n </span>\n <div\n data-slot=\"line\"\n className={cn(\n 'divider_line',\n 'border-t',\n dividerVariants({ variant }),\n dividerBorderColorClasses[color],\n textAlignClasses[textAlign].after,\n classNames?.line,\n )}\n />\n </div>\n )\n }\n\n return (\n <hr\n ref={ref as React.Ref<HTMLHRElement>}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n data-slot=\"root\"\n className={cn(\n 'divider_root',\n 'border-t',\n dividerVariants({ orientation, variant }),\n dividerBorderColorClasses[color],\n className,\n classNames?.root,\n )}\n style={spacing ? { margin: spacing } : undefined}\n {...props}\n />\n )\n }\n\n /**\n * Render vertical divider\n * Text labels are not supported in vertical orientation\n */\n\n return (\n <div\n ref={ref as React.Ref<HTMLDivElement>}\n role=\"separator\"\n aria-orientation=\"vertical\"\n data-slot=\"root\"\n className={cn(\n 'divider_root',\n 'inline-block w-px border-l self-stretch',\n dividerVariants({ variant }),\n dividerBorderColorClasses[color],\n className,\n classNames?.root,\n )}\n style={spacing ? { margin: spacing } : undefined}\n {...props}\n />\n )\n },\n)\n\nDivider.displayName = 'Divider'\n\nexport type * from './types'\nexport default Divider\n"]}
@@ -1,5 +1,6 @@
1
- import { cn } from './chunk-NGYLRX6F.js';
1
+ import { cn } from './chunk-RAS6HUEI.js';
2
2
  import { cva } from 'class-variance-authority';
3
+ import React from 'react';
3
4
  import { jsx } from 'react/jsx-runtime';
4
5
 
5
6
  var gridVariants = cva("w-full grid", {
@@ -24,12 +25,12 @@ var gridVariants = cva("w-full grid", {
24
25
  columns: 3
25
26
  }
26
27
  });
27
- var Grid = ({ children, columns = 3, gap = "md", className }) => {
28
- return /* @__PURE__ */ jsx("div", { "data-slot": "root", className: cn("grid_root", gridVariants({ gap, columns }), className), children });
29
- };
28
+ var Grid = React.memo(({ children, columns = 3, gap = "md", className, ref }) => {
29
+ return /* @__PURE__ */ jsx("div", { ref, "data-slot": "root", className: cn("grid_root", gridVariants({ gap, columns }), className), children });
30
+ });
30
31
  Grid.displayName = "Grid";
31
32
  var grid_default = Grid;
32
33
 
33
34
  export { grid_default };
34
- //# sourceMappingURL=chunk-4FFVNUTK.js.map
35
- //# sourceMappingURL=chunk-4FFVNUTK.js.map
35
+ //# sourceMappingURL=chunk-BNHRUHI4.js.map
36
+ //# sourceMappingURL=chunk-BNHRUHI4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/grid/index.tsx"],"names":[],"mappings":";;;;;AAQA,IAAM,YAAA,GAAe,IAAI,aAAA,EAAe;AAAA,EACtC,QAAA,EAAU;AAAA,IACR,GAAA,EAAK;AAAA,MACH,EAAA,EAAI,OAAA;AAAA,MACJ,EAAA,EAAI,OAAA;AAAA,MACJ,EAAA,EAAI,OAAA;AAAA,MACJ,EAAA,EAAI;AAAA,KACN;AAAA,IACA,OAAA,EAAS;AAAA,MACP,CAAA,EAAG,aAAA;AAAA,MACH,CAAA,EAAG,4BAAA;AAAA,MACH,CAAA,EAAG,2CAAA;AAAA,MACH,CAAA,EAAG,2CAAA;AAAA,MACH,CAAA,EAAG,2CAAA;AAAA,MACH,CAAA,EAAG;AAAA;AACL,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,GAAA,EAAK,IAAA;AAAA,IACL,OAAA,EAAS;AAAA;AAEb,CAAC,CAAA;AAED,IAAM,IAAA,GAAO,KAAA,CAAM,IAAA,CAAgB,CAAC,EAAE,QAAA,EAAU,OAAA,GAAU,CAAA,EAAG,GAAA,GAAM,IAAA,EAAM,SAAA,EAAW,GAAA,EAAI,KAAM;AAC5F,EAAA,2BACG,KAAA,EAAA,EAAI,GAAA,EAAU,WAAA,EAAU,MAAA,EAAO,WAAW,EAAA,CAAG,WAAA,EAAa,YAAA,CAAa,EAAE,KAAK,OAAA,EAAS,CAAA,EAAG,SAAS,GACjG,QAAA,EACH,CAAA;AAEJ,CAAC,CAAA;AAED,IAAA,CAAK,WAAA,GAAc,MAAA;AAGnB,IAAO,YAAA,GAAQ","file":"chunk-BNHRUHI4.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport type { GridProps } from './types'\n\nconst gridVariants = cva('w-full grid', {\n variants: {\n gap: {\n xs: 'gap-2',\n sm: 'gap-4',\n md: 'gap-6',\n lg: 'gap-8',\n },\n columns: {\n 1: 'grid-cols-1',\n 2: 'grid-cols-1 md:grid-cols-2',\n 3: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3',\n 4: 'grid-cols-1 md:grid-cols-2 lg:grid-cols-4',\n 5: 'grid-cols-1 md:grid-cols-3 lg:grid-cols-5',\n 6: 'grid-cols-1 md:grid-cols-3 lg:grid-cols-6',\n },\n },\n defaultVariants: {\n gap: 'md',\n columns: 3,\n },\n})\n\nconst Grid = React.memo<GridProps>(({ children, columns = 3, gap = 'md', className, ref }) => {\n return (\n <div ref={ref} data-slot=\"root\" className={cn('grid_root', gridVariants({ gap, columns }), className)}>\n {children}\n </div>\n )\n})\n\nGrid.displayName = 'Grid'\n\nexport type * from './types'\nexport default Grid\n"]}
@@ -1,5 +1,5 @@
1
- import { useRipple, RippleContainer } from './chunk-OFUPJH35.js';
2
- import { getValidationStatus, cn, statusMessageVariants, iconSizes } from './chunk-NGYLRX6F.js';
1
+ import { useRipple, RippleContainer } from './chunk-4TEZWGX7.js';
2
+ import { getValidationStatus, cn, statusMessageVariants, iconSizes } from './chunk-RAS6HUEI.js';
3
3
  import { Image, Upload as Upload$1, File, X, Loader2, CheckCircle, AlertCircle } from 'lucide-react';
4
4
  import React from 'react';
5
5
  import { cva } from 'class-variance-authority';
@@ -137,6 +137,22 @@ var isImageFile = (file) => {
137
137
  var generateUID = () => {
138
138
  return `upload-${Date.now()}-${Math.random().toString(36).slice(2, 11)}`;
139
139
  };
140
+ var matchesAccept = (file, accept) => {
141
+ if (!accept) return true;
142
+ const fileName = file.name.toLowerCase();
143
+ const mimeType = file.type.toLowerCase();
144
+ const acceptedTypes = accept.split(",").map((t) => t.trim());
145
+ return acceptedTypes.some((acceptedType) => {
146
+ if (acceptedType.startsWith(".")) {
147
+ return fileName.endsWith(acceptedType.toLowerCase());
148
+ }
149
+ if (acceptedType.endsWith("/*")) {
150
+ const mimePrefix = acceptedType.slice(0, -2);
151
+ return mimeType.startsWith(mimePrefix);
152
+ }
153
+ return mimeType === acceptedType;
154
+ });
155
+ };
140
156
  var Upload = React.memo(
141
157
  ({
142
158
  variant = "button",
@@ -183,28 +199,27 @@ var Upload = React.memo(
183
199
  success,
184
200
  helperText
185
201
  });
186
- const validateFile = React.useCallback(
187
- (file) => {
188
- if (maxSize && file.size > maxSize) {
189
- return `File size exceeds ${formatFileSize(maxSize)}`;
190
- }
191
- if (maxCount && currentFileList.length >= maxCount) {
192
- return `Maximum ${maxCount} file${maxCount > 1 ? "s" : ""} allowed`;
193
- }
194
- return null;
195
- },
196
- [maxSize, maxCount, currentFileList.length]
197
- );
198
202
  const handleFiles = React.useCallback(
199
203
  async (files) => {
200
204
  if (!files || files.length === 0) return;
201
205
  const newFiles = [];
206
+ let acceptedSoFar = 0;
202
207
  for (let i = 0; i < files.length; i++) {
203
208
  const file = files[i];
204
209
  if (!file) continue;
205
- const validationError = validateFile(file);
206
- if (validationError) {
207
- onError?.(validationError, file);
210
+ if (!matchesAccept(file, accept)) {
211
+ const errorMsg = `File type not accepted`;
212
+ onError?.(errorMsg, file);
213
+ continue;
214
+ }
215
+ if (maxCount && currentFileList.length + acceptedSoFar >= maxCount) {
216
+ const errorMsg = `Maximum ${maxCount} file${maxCount > 1 ? "s" : ""} allowed`;
217
+ onError?.(errorMsg, file);
218
+ continue;
219
+ }
220
+ if (maxSize && file.size > maxSize) {
221
+ const errorMsg = `File size exceeds ${formatFileSize(maxSize)}`;
222
+ onError?.(errorMsg, file);
208
223
  continue;
209
224
  }
210
225
  if (beforeUpload) {
@@ -220,6 +235,7 @@ var Upload = React.memo(
220
235
  percent: 0
221
236
  };
222
237
  newFiles.push(uploadFile);
238
+ acceptedSoFar++;
223
239
  if (customRequest) {
224
240
  customRequest({
225
241
  file,
@@ -265,7 +281,9 @@ var Upload = React.memo(
265
281
  onChange?.(updatedList);
266
282
  },
267
283
  [
268
- validateFile,
284
+ accept,
285
+ maxCount,
286
+ maxSize,
269
287
  beforeUpload,
270
288
  customRequest,
271
289
  onError,
@@ -381,16 +399,16 @@ var Upload = React.memo(
381
399
  className: "w-full h-full object-cover"
382
400
  }
383
401
  ) : /* @__PURE__ */ jsx("div", { className: "w-full h-full flex items-center justify-center bg-surface", children: /* @__PURE__ */ jsx(File, { className: "w-8 h-8 text-text-secondary" }) }),
384
- /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center", children: /* @__PURE__ */ jsx(
402
+ /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-overlay/50 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center", children: /* @__PURE__ */ jsx(
385
403
  "button",
386
404
  {
387
405
  type: "button",
388
406
  onClick: () => handleRemove(file),
389
- className: "text-white hover:text-error transition-colors",
407
+ className: "text-background hover:text-error transition-colors",
390
408
  children: /* @__PURE__ */ jsx(X, { className: iconSizes[size] })
391
409
  }
392
410
  ) }),
393
- file.status === "uploading" && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-black/30 flex items-center justify-center", children: /* @__PURE__ */ jsx(Loader2, { className: "w-6 h-6 text-white animate-spin" }) })
411
+ file.status === "uploading" && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-overlay/30 flex items-center justify-center", children: /* @__PURE__ */ jsx(Loader2, { className: "w-6 h-6 text-background animate-spin" }) })
394
412
  ]
395
413
  },
396
414
  file.uid
@@ -754,5 +772,5 @@ Upload.displayName = "Upload";
754
772
  var upload_default = Upload;
755
773
 
756
774
  export { upload_default };
757
- //# sourceMappingURL=chunk-3BZE6BBJ.js.map
758
- //# sourceMappingURL=chunk-3BZE6BBJ.js.map
775
+ //# sourceMappingURL=chunk-C46VTIW7.js.map
776
+ //# sourceMappingURL=chunk-C46VTIW7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/upload/utils.ts","../src/upload/index.tsx"],"names":["UploadIcon","ImageIcon"],"mappings":"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","file":"chunk-C46VTIW7.js","sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { UploadFile } from './types'\n\nexport const uploadButtonVariants = cva(\n 'inline-flex cursor-pointer outline-none border items-center justify-center gap-2 font-medium rounded-md disabled:opacity-50 disabled:cursor-not-allowed transition-colors',\n {\n variants: {\n color: {\n primary: 'border-primary text-white bg-primary hover:bg-primary/90',\n secondary:\n 'border-secondary text-white bg-secondary hover:bg-secondary/90',\n success: 'border-success text-white bg-success hover:bg-success/90',\n error: 'border-error text-white bg-error hover:bg-error/90',\n accent: 'border-accent text-white bg-accent hover:bg-accent/90',\n warning: 'border-warning text-white bg-warning hover:bg-warning/90',\n info: 'border-info text-white bg-info hover:bg-info/90',\n },\n size: {\n xs: 'h-(--button-height-xs) px-(--button-padding-x-xs) text-xs',\n sm: 'h-(--button-height-sm) px-(--button-padding-x-sm) text-sm',\n md: 'h-(--button-height-md) px-(--button-padding-x-md) text-base',\n lg: 'h-(--button-height-lg) px-(--button-padding-x-lg) text-lg',\n },\n },\n defaultVariants: {\n color: 'primary',\n size: 'md',\n },\n },\n)\n\nexport const uploadDropzoneVariants = cva(\n 'relative border-2 border-dashed rounded-lg transition-[colors,border-color] duration-200 cursor-pointer',\n {\n variants: {\n status: {\n default:\n 'border-border bg-surface/50 hover:border-primary hover:bg-primary/5',\n dragActive: 'border-primary bg-primary/10',\n error: 'border-error bg-error/5',\n disabled: 'border-border bg-surface/30 cursor-not-allowed opacity-50',\n },\n size: {\n xs: 'p-2',\n sm: 'p-4',\n md: 'p-6',\n lg: 'p-8',\n },\n },\n defaultVariants: {\n status: 'default',\n size: 'md',\n },\n },\n)\n\nexport const uploadDraggerVariants = cva(\n 'relative border-2 border-dashed rounded-lg transition-[colors,border-color] duration-200 cursor-pointer flex flex-col items-center justify-center gap-2',\n {\n variants: {\n status: {\n default:\n 'border-border bg-surface/50 hover:border-primary hover:bg-primary/5',\n dragActive: 'border-primary bg-primary/10 scale-[1.02]',\n error: 'border-error bg-error/5',\n disabled: 'border-border bg-surface/30 cursor-not-allowed opacity-50',\n },\n size: {\n xs: 'min-h-[100px] p-3',\n sm: 'min-h-[120px] p-4',\n md: 'min-h-[160px] p-6',\n lg: 'min-h-[200px] p-8',\n },\n },\n defaultVariants: {\n status: 'default',\n size: 'md',\n },\n },\n)\n\nexport const uploadAvatarVariants = cva(\n 'relative overflow-hidden rounded-full border-2 border-dashed cursor-pointer transition-[colors,border-color] duration-200 flex items-center justify-center',\n {\n variants: {\n status: {\n default: 'border-border bg-surface/50 hover:border-primary',\n dragActive: 'border-primary bg-primary/10',\n error: 'border-error bg-error/5',\n disabled: 'border-border bg-surface/30 cursor-not-allowed opacity-50',\n },\n size: {\n xs: 'w-12 h-12',\n sm: 'w-16 h-16',\n md: 'w-24 h-24',\n lg: 'w-32 h-32',\n },\n },\n defaultVariants: {\n status: 'default',\n size: 'md',\n },\n },\n)\n\nexport const uploadPictureVariants = cva(\n 'relative overflow-hidden rounded-md border-2 border-dashed cursor-pointer transition-[colors,border-color] duration-200 flex items-center justify-center',\n {\n variants: {\n status: {\n default: 'border-border bg-surface/50 hover:border-primary',\n dragActive: 'border-primary bg-primary/10',\n error: 'border-error bg-error/5',\n disabled: 'border-border bg-surface/30 cursor-not-allowed opacity-50',\n },\n size: {\n xs: 'w-16 h-16',\n sm: 'w-24 h-24',\n md: 'w-32 h-32',\n lg: 'w-40 h-40',\n },\n },\n defaultVariants: {\n status: 'default',\n size: 'md',\n },\n },\n)\n\nexport const formatFileSize = (bytes: number): string => {\n if (bytes === 0) return '0 Bytes'\n const k = 1024\n const sizes = ['Bytes', 'KB', 'MB', 'GB']\n const i = Math.floor(Math.log(bytes) / Math.log(k))\n return Math.round((bytes / Math.pow(k, i)) * 100) / 100 + ' ' + sizes[i]\n}\n\nexport const getFileExtension = (filename: string): string => {\n return filename.slice(((filename.lastIndexOf('.') - 1) >>> 0) + 2)\n}\n\nexport const isImageFile = (file: File | UploadFile): boolean => {\n const type = file.type || ''\n return type.startsWith('image/')\n}\n\nexport const generateUID = (): string => {\n return `upload-${Date.now()}-${Math.random().toString(36).slice(2, 11)}`\n}\n\nexport const matchesAccept = (file: File, accept: string | undefined): boolean => {\n if (!accept) return true\n\n const fileName = file.name.toLowerCase()\n const mimeType = file.type.toLowerCase()\n\n const acceptedTypes = accept.split(',').map(t => t.trim())\n\n return acceptedTypes.some(acceptedType => {\n if (acceptedType.startsWith('.')) {\n return fileName.endsWith(acceptedType.toLowerCase())\n }\n\n if (acceptedType.endsWith('/*')) {\n const mimePrefix = acceptedType.slice(0, -2)\n return mimeType.startsWith(mimePrefix)\n }\n\n return mimeType === acceptedType\n })\n}\n","'use client'\n\nimport {\n AlertCircle,\n CheckCircle,\n File,\n Image as ImageIcon,\n Loader2,\n Upload as UploadIcon,\n X,\n} from 'lucide-react'\nimport React from 'react'\n\nimport { useRipple, RippleContainer } from '../hooks/useRipple'\nimport {\n cn,\n getValidationStatus,\n iconSizes,\n statusMessageVariants,\n} from '../utils'\nimport type { UploadFile, UploadProps } from './types'\nimport {\n formatFileSize,\n generateUID,\n isImageFile,\n matchesAccept,\n uploadAvatarVariants,\n uploadButtonVariants,\n uploadDraggerVariants,\n uploadDropzoneVariants,\n uploadPictureVariants,\n} from './utils'\n\nconst Upload = React.memo<UploadProps>(\n ({\n variant = 'button',\n size = 'md',\n color = 'primary',\n label,\n helperText,\n error,\n warning,\n info,\n success,\n accept,\n multiple = false,\n maxSize,\n maxCount,\n fileList,\n defaultFileList = [],\n showUploadList = true,\n listType = 'text',\n disabled = false,\n buttonText = 'Upload File',\n dragText = 'Click or drag file to this area to upload',\n dragHint = 'Support for a single or bulk upload',\n onChange,\n onRemove,\n beforeUpload,\n customRequest,\n onError,\n className,\n classNames,\n ref,\n ...props\n }) => {\n const [internalFileList, setInternalFileList] =\n React.useState<UploadFile[]>(defaultFileList)\n const [dragActive, setDragActive] = React.useState(false)\n const inputRef = React.useRef<HTMLInputElement>(null)\n const prevFileListRef = React.useRef<UploadFile[]>([])\n const { ripples, onPointerDown: ripplePointerDown, onKeyDown: rippleKeyDown, onAnimationEnd: rippleAnimationEnd } = useRipple(!disabled)\n\n const currentFileList = fileList !== undefined ? fileList : internalFileList\n\n const { status, message: helperMessage } = getValidationStatus({\n error,\n warning,\n info,\n success,\n helperText,\n })\n\n\n const handleFiles = React.useCallback(\n async (files: FileList | null) => {\n if (!files || files.length === 0) return\n\n const newFiles: UploadFile[] = []\n let acceptedSoFar = 0\n\n for (let i = 0; i < files.length; i++) {\n const file = files[i]\n if (!file) continue\n\n if (!matchesAccept(file, accept)) {\n const errorMsg = `File type not accepted`\n onError?.(errorMsg, file)\n continue\n }\n\n if (maxCount && currentFileList.length + acceptedSoFar >= maxCount) {\n const errorMsg = `Maximum ${maxCount} file${maxCount > 1 ? 's' : ''} allowed`\n onError?.(errorMsg, file)\n continue\n }\n\n if (maxSize && file.size > maxSize) {\n const errorMsg = `File size exceeds ${formatFileSize(maxSize)}`\n onError?.(errorMsg, file)\n continue\n }\n\n if (beforeUpload) {\n const shouldUpload = await beforeUpload(file)\n if (!shouldUpload) continue\n }\n\n const uploadFile: UploadFile = {\n uid: generateUID(),\n name: file.name,\n size: file.size,\n type: file.type,\n status: 'uploading',\n percent: 0,\n }\n\n newFiles.push(uploadFile)\n acceptedSoFar++\n\n if (customRequest) {\n customRequest({\n file,\n onProgress: (percent) => {\n setInternalFileList((prev) =>\n prev.map((f) =>\n f.uid === uploadFile.uid ? { ...f, percent } : f,\n ),\n )\n },\n onSuccess: (response) => {\n setInternalFileList((prev) =>\n prev.map((f) =>\n f.uid === uploadFile.uid\n ? {\n ...f,\n status: 'done' as const,\n percent: 100,\n response,\n }\n : f,\n ),\n )\n },\n onError: (err) => {\n setInternalFileList((prev) =>\n prev.map((f) =>\n f.uid === uploadFile.uid\n ? { ...f, status: 'error' as const, error: err }\n : f,\n ),\n )\n },\n })\n } else {\n if (file && isImageFile(file)) {\n uploadFile.thumbUrl = URL.createObjectURL(file)\n }\n uploadFile.status = 'done'\n uploadFile.percent = 100\n }\n }\n\n const updatedList = multiple\n ? [...currentFileList, ...newFiles]\n : newFiles\n\n if (fileList === undefined) {\n setInternalFileList(updatedList)\n }\n onChange?.(updatedList)\n },\n [\n accept,\n maxCount,\n maxSize,\n beforeUpload,\n customRequest,\n onError,\n multiple,\n currentFileList,\n fileList,\n onChange,\n ],\n )\n\n const handleInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n handleFiles(e.target.files)\n // Reset input value to allow uploading the same file again\n e.target.value = ''\n },\n [handleFiles],\n )\n\n const handleRemove = React.useCallback(\n (file: UploadFile) => {\n // Revoke object URL to prevent memory leak\n if (file.thumbUrl?.startsWith('blob:')) {\n URL.revokeObjectURL(file.thumbUrl)\n }\n const updatedList = currentFileList.filter((f) => f.uid !== file.uid)\n if (fileList === undefined) {\n setInternalFileList(updatedList)\n }\n onRemove?.(file)\n onChange?.(updatedList)\n },\n [currentFileList, fileList, onRemove, onChange],\n )\n\n /**\n * Track fileList changes and revoke blob URLs for removed files.\n * This handles the case where a controlled fileList prop is updated\n * externally without calling handleRemove.\n */\n React.useEffect(() => {\n const prevFileList = prevFileListRef.current\n\n // Find files that were removed (existed in prev but not in current)\n prevFileList.forEach((prevFile) => {\n const stillExists = currentFileList.some((file) => file.uid === prevFile.uid)\n if (!stillExists && prevFile.thumbUrl?.startsWith('blob:')) {\n URL.revokeObjectURL(prevFile.thumbUrl)\n }\n })\n\n // Update ref for next comparison\n prevFileListRef.current = currentFileList\n }, [currentFileList])\n\n /**\n * Cleanup object URLs on component unmount to prevent memory leaks.\n */\n React.useEffect(() => {\n return () => {\n // Use ref to get the latest fileList at unmount time\n prevFileListRef.current.forEach((file) => {\n if (file.thumbUrl?.startsWith('blob:')) {\n URL.revokeObjectURL(file.thumbUrl)\n }\n })\n }\n }, [])\n\n const handleClick = React.useCallback(() => {\n if (!disabled) {\n inputRef.current?.click()\n }\n }, [disabled])\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (disabled) return\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n inputRef.current?.click()\n }\n },\n [disabled],\n )\n\n const handleDragEnter = React.useCallback((e: React.DragEvent) => {\n e.preventDefault()\n e.stopPropagation()\n setDragActive(true)\n }, [])\n\n const handleDragLeave = React.useCallback((e: React.DragEvent) => {\n e.preventDefault()\n e.stopPropagation()\n setDragActive(false)\n }, [])\n\n const handleDragOver = React.useCallback((e: React.DragEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }, [])\n\n const handleDrop = React.useCallback(\n (e: React.DragEvent) => {\n e.preventDefault()\n e.stopPropagation()\n setDragActive(false)\n\n if (!disabled) {\n handleFiles(e.dataTransfer.files)\n }\n },\n [disabled, handleFiles],\n )\n\n const renderFileList = () => {\n if (!showUploadList || currentFileList.length === 0) return null\n\n if (listType === 'picture-card') {\n return (\n <div\n data-slot=\"upload_fileList\"\n className={cn('upload_fileList', 'flex flex-wrap gap-2 mt-2', classNames?.fileList)}\n >\n {currentFileList.map((file) => (\n <div\n key={file.uid}\n data-slot=\"upload_fileItem\"\n className={cn(\n 'upload_fileItem',\n 'relative w-24 h-24 rounded-md border border-border overflow-hidden group',\n classNames?.fileItem,\n )}\n >\n {file.thumbUrl ? (\n <img\n src={file.thumbUrl}\n alt={file.name}\n className=\"w-full h-full object-cover\"\n />\n ) : (\n <div className=\"w-full h-full flex items-center justify-center bg-surface\">\n <File className=\"w-8 h-8 text-text-secondary\" />\n </div>\n )}\n <div className=\"absolute inset-0 bg-overlay/50 opacity-0 group-hover:opacity-100 transition-opacity flex items-center justify-center\">\n <button\n type=\"button\"\n onClick={() => handleRemove(file)}\n className=\"text-background hover:text-error transition-colors\"\n >\n <X className={iconSizes[size]} />\n </button>\n </div>\n {file.status === 'uploading' && (\n <div className=\"absolute inset-0 bg-overlay/30 flex items-center justify-center\">\n <Loader2 className=\"w-6 h-6 text-background animate-spin\" />\n </div>\n )}\n </div>\n ))}\n </div>\n )\n }\n\n return (\n <div\n data-slot=\"upload_fileList\"\n className={cn('upload_fileList', 'mt-2 space-y-1', classNames?.fileList)}\n >\n {currentFileList.map((file) => (\n <div\n key={file.uid}\n data-slot=\"upload_fileItem\"\n className={cn(\n 'upload_fileItem',\n 'flex items-center justify-between p-2 rounded-md bg-surface hover:bg-surface/80 transition-colors',\n classNames?.fileItem,\n )}\n >\n <div className=\"flex items-center gap-2 flex-1 min-w-0\">\n {listType === 'picture' && file.thumbUrl ? (\n <img\n src={file.thumbUrl}\n alt={file.name}\n className=\"w-8 h-8 rounded object-cover\"\n />\n ) : (\n <File\n className={cn('text-text-secondary shrink-0', iconSizes[size])}\n />\n )}\n <div className=\"flex-1 min-w-0\">\n <p className=\"text-sm text-text-primary truncate\">\n {file.name}\n </p>\n <p className=\"text-xs text-text-secondary\">\n {formatFileSize(file.size)}\n {file.status === 'uploading' &&\n file.percent !== undefined && (\n <span> - {file.percent}%</span>\n )}\n </p>\n </div>\n </div>\n <div className=\"flex items-center gap-2\">\n {file.status === 'uploading' && (\n <Loader2\n className={cn('text-primary animate-spin', iconSizes[size])}\n />\n )}\n {file.status === 'done' && (\n <CheckCircle\n className={cn('text-success', iconSizes[size])}\n />\n )}\n {file.status === 'error' && (\n <AlertCircle className={cn('text-error', iconSizes[size])} />\n )}\n <button\n type=\"button\"\n onClick={() => handleRemove(file)}\n className=\"text-text-secondary hover:text-error transition-colors\"\n >\n <X className={iconSizes[size]} />\n </button>\n </div>\n </div>\n ))}\n </div>\n )\n }\n\n const currentFile = currentFileList[0]\n\n const renderUploadArea = () => {\n const dragStatus = dragActive\n ? 'dragActive'\n : disabled\n ? 'disabled'\n : status === 'error'\n ? 'error'\n : 'default'\n\n switch (variant) {\n case 'button':\n return (\n <button\n type=\"button\"\n onClick={handleClick}\n onPointerDown={ripplePointerDown}\n onKeyDown={rippleKeyDown}\n disabled={disabled}\n data-slot=\"upload_dropzone\"\n className={cn(\n 'upload_dropzone',\n uploadButtonVariants({ color, size }),\n 'relative overflow-hidden',\n classNames?.dropzone,\n className,\n )}\n >\n <UploadIcon\n data-slot=\"upload_icon\"\n className={cn('upload_icon', iconSizes[size], classNames?.icon)}\n />\n <span\n data-slot=\"upload_text\"\n className={cn('upload_text', classNames?.text)}\n >\n {buttonText}\n </span>\n <RippleContainer ripples={ripples} onAnimationEnd={rippleAnimationEnd} />\n </button>\n )\n\n case 'dropzone':\n return (\n <div\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-label={`Upload file${multiple ? 's' : ''}`}\n aria-disabled={disabled || undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n data-slot=\"upload_dropzone\"\n className={cn(\n 'upload_dropzone',\n uploadDropzoneVariants({ status: dragStatus, size }),\n 'focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 outline-none',\n classNames?.dropzone,\n className,\n )}\n >\n <div className=\"flex items-center gap-3\">\n <UploadIcon\n data-slot=\"upload_icon\"\n className={cn(\n 'upload_icon',\n 'text-text-secondary',\n iconSizes[size],\n classNames?.icon,\n )}\n />\n <div>\n <p\n data-slot=\"upload_text\"\n className={cn(\n 'upload_text',\n 'text-sm text-text-primary font-medium',\n classNames?.text,\n )}\n >\n {dragText}\n </p>\n {dragHint && (\n <p\n data-slot=\"upload_hint\"\n className={cn(\n 'upload_hint',\n 'text-xs text-text-secondary mt-0.5',\n classNames?.hint,\n )}\n >\n {dragHint}\n </p>\n )}\n </div>\n </div>\n </div>\n )\n\n case 'dragger':\n return (\n <div\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-label={`Upload file${multiple ? 's' : ''}`}\n aria-disabled={disabled || undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n data-slot=\"upload_dropzone\"\n className={cn(\n 'upload_dropzone',\n uploadDraggerVariants({ status: dragStatus, size }),\n 'focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 outline-none',\n classNames?.dropzone,\n className,\n )}\n >\n <UploadIcon\n data-slot=\"upload_icon\"\n className={cn('upload_icon', 'w-10 h-10 text-primary', classNames?.icon)}\n />\n <p\n data-slot=\"upload_text\"\n className={cn(\n 'upload_text',\n 'text-base font-medium text-text-primary',\n classNames?.text,\n )}\n >\n {dragText}\n </p>\n {dragHint && (\n <p\n data-slot=\"upload_hint\"\n className={cn(\n 'upload_hint',\n 'text-sm text-text-secondary',\n classNames?.hint,\n )}\n >\n {dragHint}\n </p>\n )}\n </div>\n )\n\n case 'avatar':\n return (\n <div\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-label=\"Upload avatar image\"\n aria-disabled={disabled || undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n data-slot=\"upload_dropzone\"\n className={cn(\n 'upload_dropzone',\n uploadAvatarVariants({ status: dragStatus, size }),\n 'focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 outline-none',\n classNames?.dropzone,\n className,\n )}\n >\n {currentFile?.thumbUrl ? (\n <img\n src={currentFile.thumbUrl}\n alt=\"avatar\"\n className=\"w-full h-full object-cover\"\n />\n ) : (\n <ImageIcon\n data-slot=\"upload_icon\"\n className={cn(\n 'upload_icon',\n 'w-8 h-8 text-text-secondary',\n classNames?.icon,\n )}\n />\n )}\n </div>\n )\n\n case 'picture':\n return (\n <div\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-label=\"Upload picture\"\n aria-disabled={disabled || undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n data-slot=\"upload_dropzone\"\n className={cn(\n 'upload_dropzone',\n uploadPictureVariants({ status: dragStatus, size }),\n 'focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 outline-none',\n classNames?.dropzone,\n className,\n )}\n >\n {currentFile?.thumbUrl ? (\n <img\n src={currentFile.thumbUrl}\n alt=\"preview\"\n className=\"w-full h-full object-cover\"\n />\n ) : (\n <ImageIcon\n data-slot=\"upload_icon\"\n className={cn(\n 'upload_icon',\n 'w-8 h-8 text-text-secondary',\n classNames?.icon,\n )}\n />\n )}\n </div>\n )\n\n default:\n return null\n }\n }\n\n return (\n <div\n ref={ref}\n data-slot=\"upload_root\"\n className={cn('upload_root', 'w-full', classNames?.root)}\n >\n <input\n ref={inputRef}\n type=\"file\"\n accept={accept}\n multiple={multiple}\n onChange={handleInputChange}\n disabled={disabled}\n data-slot=\"upload_input\"\n className={cn('upload_input', 'hidden', classNames?.input)}\n {...props}\n />\n\n {label && (\n <label className=\"block mb-1\">\n <span className=\"text-sm font-medium text-text-secondary\">{label}</span>\n </label>\n )}\n\n {renderUploadArea()}\n {renderFileList()}\n\n {helperMessage && (\n <p className={cn(statusMessageVariants({ status }), 'mt-1')}>\n {helperMessage}\n </p>\n )}\n </div>\n )\n },\n)\n\nUpload.displayName = 'Upload'\n\nexport type { UploadClassNames } from './types'\nexport type * from './types'\nexport default Upload\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-NGYLRX6F.js';
1
+ import { cn } from './chunk-RAS6HUEI.js';
2
2
  import { cva } from 'class-variance-authority';
3
3
  import React from 'react';
4
4
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -433,5 +433,5 @@ Descriptions.displayName = "Descriptions";
433
433
  var descriptions_default = Descriptions;
434
434
 
435
435
  export { descriptions_default };
436
- //# sourceMappingURL=chunk-BVO2BNFG.js.map
437
- //# sourceMappingURL=chunk-BVO2BNFG.js.map
436
+ //# sourceMappingURL=chunk-CHGABWIV.js.map
437
+ //# sourceMappingURL=chunk-CHGABWIV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/descriptions/index.tsx"],"names":[],"mappings":"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","file":"chunk-CHGABWIV.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport type { ComponentColor } from '../types'\nimport { cn } from '../utils'\nimport type { DescriptionsItem, DescriptionsProps, DescriptionsVariant } from './types'\n\nconst tableVariants = cva('w-full border-separate border-spacing-0', {\n variants: {\n bordered: {\n true: 'border border-border',\n false: '',\n },\n rounded: {\n true: 'rounded-lg',\n false: '',\n },\n },\n compoundVariants: [\n { bordered: true, rounded: true, class: 'overflow-hidden' },\n ],\n defaultVariants: {\n bordered: true,\n rounded: true,\n },\n})\n\nconst labelCellVariants = cva(\n 'font-semibold border-b border-r',\n {\n variants: {\n size: {\n xs: 'py-1 px-2 text-[10px]',\n sm: 'py-2 px-3 text-xs',\n md: 'py-3 px-4 text-sm',\n lg: 'py-4 px-5 text-base',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst valueCellVariants = cva(\n 'text-text-primary border-b border-r',\n {\n variants: {\n size: {\n xs: 'py-1 px-2 text-[10px]',\n sm: 'py-2 px-3 text-xs',\n md: 'py-3 px-4 text-sm',\n lg: 'py-4 px-5 text-base',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst labelColorClasses: Record<DescriptionsVariant, Record<ComponentColor, string>> = {\n default: {\n default: 'bg-surface text-text-primary',\n primary: 'bg-primary/10 text-text-primary',\n secondary: 'bg-secondary/10 text-text-primary',\n accent: 'bg-accent/10 text-text-primary',\n success: 'bg-success/10 text-text-primary',\n error: 'bg-error/10 text-text-primary',\n warning: 'bg-warning/10 text-text-primary',\n info: 'bg-info/10 text-text-primary',\n },\n solid: {\n default: 'bg-text-primary text-background',\n primary: 'bg-primary text-background',\n secondary: 'bg-secondary text-background',\n accent: 'bg-accent text-background',\n success: 'bg-success text-background',\n error: 'bg-error text-background',\n warning: 'bg-warning text-background',\n info: 'bg-info text-background',\n },\n soft: {\n default: 'bg-surface/50 text-text-primary',\n primary: 'bg-primary/5 text-primary',\n secondary: 'bg-secondary/5 text-secondary',\n accent: 'bg-accent/5 text-accent',\n success: 'bg-success/5 text-success',\n error: 'bg-error/5 text-error',\n warning: 'bg-warning/5 text-warning',\n info: 'bg-info/5 text-info',\n },\n}\n\nconst valueColorClasses: Record<DescriptionsVariant, Record<ComponentColor, string>> = {\n default: {\n default: 'bg-background',\n primary: 'bg-background',\n secondary: 'bg-background',\n accent: 'bg-background',\n success: 'bg-background',\n error: 'bg-background',\n warning: 'bg-background',\n info: 'bg-background',\n },\n solid: {\n default: 'bg-background',\n primary: 'bg-background',\n secondary: 'bg-background',\n accent: 'bg-background',\n success: 'bg-background',\n error: 'bg-background',\n warning: 'bg-background',\n info: 'bg-background',\n },\n soft: {\n default: 'bg-surface/30',\n primary: 'bg-primary/5',\n secondary: 'bg-secondary/5',\n accent: 'bg-accent/5',\n success: 'bg-success/5',\n error: 'bg-error/5',\n warning: 'bg-warning/5',\n info: 'bg-info/5',\n },\n}\n\nconst borderColorClasses: Record<DescriptionsVariant, Record<ComponentColor, string>> = {\n default: {\n default: 'border-border', primary: 'border-border', secondary: 'border-border',\n accent: 'border-border', success: 'border-border', error: 'border-border',\n warning: 'border-border', info: 'border-border',\n },\n solid: {\n default: 'border-border', primary: 'border-border', secondary: 'border-border',\n accent: 'border-border', success: 'border-border', error: 'border-border',\n warning: 'border-border', info: 'border-border',\n },\n soft: {\n default: 'border-border',\n primary: 'border-primary/20',\n secondary: 'border-secondary/20',\n accent: 'border-accent/20',\n success: 'border-success/20',\n error: 'border-error/20',\n warning: 'border-warning/20',\n info: 'border-info/20',\n },\n}\n\nconst Descriptions = React.memo<DescriptionsProps>(\n ({\n items,\n column = 3,\n color = 'default',\n size = 'md',\n variant = 'default',\n layout = 'horizontal',\n bordered = true,\n rounded = true,\n className,\n classNames,\n title,\n extra,\n ref,\n ...props\n }) => {\n const labelColors = labelColorClasses[variant][color]\n const valueColors = valueColorClasses[variant][color]\n const borderColors = borderColorClasses[variant][color]\n\n // Split items into rows based on column count and span\n const rows: DescriptionsItem[][] = []\n let currentRow: DescriptionsItem[] = []\n let currentSpan = 0\n\n items.forEach((item) => {\n const itemSpan = item.span || 1\n\n if (currentSpan + itemSpan > column) {\n rows.push(currentRow)\n currentRow = [item]\n currentSpan = itemSpan\n } else {\n currentRow.push(item)\n currentSpan += itemSpan\n }\n })\n\n if (currentRow.length > 0) {\n rows.push(currentRow)\n }\n\n if (layout === 'vertical') {\n const tableContent = (\n <table\n className={cn(tableVariants({ bordered, rounded }), bordered && borderColors)}\n role=\"presentation\"\n >\n <tbody data-slot=\"body\" className={classNames?.body}>\n {rows.map((row, rowIndex) => {\n const isLastRow = rowIndex === rows.length - 1\n\n // Calculate which items reach the right edge\n let colPosition = 0\n const itemsAtRightEdge = row.map((item) => {\n const span = item.span || 1\n colPosition += span\n return colPosition >= column\n })\n\n return (\n <React.Fragment key={rowIndex}>\n <tr className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => (\n <th\n key={`${item.key}-label`}\n colSpan={item.span || 1}\n className={cn(\n 'descriptions_label',\n labelCellVariants({ size }), labelColors, borderColors,\n itemsAtRightEdge[itemIndex] && 'border-r-0',\n classNames?.label,\n )}\n data-slot='label'\n >\n {item.label}\n </th>\n ))}\n </tr>\n <tr className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => (\n <td\n key={`${item.key}-value`}\n colSpan={item.span || 1}\n className={cn(\n 'descriptions_content',\n valueCellVariants({ size }), valueColors, borderColors,\n itemsAtRightEdge[itemIndex] && 'border-r-0',\n isLastRow && 'border-b-0',\n classNames?.content,\n )}\n data-slot='content'\n >\n {item.children}\n </td>\n ))}\n </tr>\n </React.Fragment>\n )\n })}\n </tbody>\n </table>\n )\n\n if (title || extra) {\n return (\n <div ref={ref} className={cn('descriptions_root', classNames?.root, className)} data-slot=\"root\" {...props}>\n <div className={cn('descriptions_title', 'flex items-center justify-between mb-3', classNames?.title)} data-slot=\"title\">\n {title && <div className=\"text-base font-semibold text-text-primary\">{title}</div>}\n {extra && <div className={cn('descriptions_extra', classNames?.extra)} data-slot=\"extra\">{extra}</div>}\n </div>\n {tableContent}\n </div>\n )\n }\n\n return (\n <table\n ref={ref as React.Ref<HTMLTableElement>}\n className={cn('descriptions_root', tableVariants({ bordered, rounded }), bordered && borderColors, classNames?.root, className)}\n data-slot=\"root\"\n role=\"presentation\"\n {...props}\n >\n <tbody data-slot=\"body\" className={classNames?.body}>\n {rows.map((row, rowIndex) => {\n const isLastRow = rowIndex === rows.length - 1\n\n // Calculate which items reach the right edge\n let colPosition = 0\n const itemsAtRightEdge = row.map((item) => {\n const span = item.span || 1\n colPosition += span\n return colPosition >= column\n })\n\n return (\n <React.Fragment key={rowIndex}>\n <tr className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => (\n <th\n key={`${item.key}-label`}\n colSpan={item.span || 1}\n className={cn(\n 'descriptions_label',\n labelCellVariants({ size }), labelColors, borderColors,\n itemsAtRightEdge[itemIndex] && 'border-r-0',\n classNames?.label,\n )}\n data-slot='label'\n >\n {item.label}\n </th>\n ))}\n </tr>\n <tr className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => (\n <td\n key={`${item.key}-value`}\n colSpan={item.span || 1}\n className={cn(\n 'descriptions_content',\n valueCellVariants({ size }), valueColors, borderColors,\n itemsAtRightEdge[itemIndex] && 'border-r-0',\n isLastRow && 'border-b-0',\n classNames?.content,\n )}\n data-slot='content'\n >\n {item.children}\n </td>\n ))}\n </tr>\n </React.Fragment>\n )\n })}\n </tbody>\n </table>\n )\n }\n\n // Horizontal layout\n const horizontalTableContent = (\n <table\n className={cn(tableVariants({ bordered, rounded }), bordered && borderColors)}\n role=\"presentation\"\n >\n <tbody data-slot=\"body\" className={classNames?.body}>\n {rows.map((row, rowIndex) => {\n const isLastRow = rowIndex === rows.length - 1\n\n // Calculate which value cells reach the right edge\n let colPosition = 0\n const valueAtRightEdge = row.map((item) => {\n const span = item.span || 1\n colPosition += span * 2 // Each item takes label + value columns\n return colPosition >= column * 2\n })\n\n return (\n <tr key={rowIndex} className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => {\n const itemSpan = item.span || 1\n const valueColSpan = itemSpan * 2 - 1\n\n return (\n <React.Fragment key={item.key}>\n <th\n className={cn(\n 'descriptions_label',\n labelCellVariants({ size }), labelColors, borderColors,\n isLastRow && 'border-b-0',\n classNames?.label,\n )}\n data-slot='label'\n >\n {item.label}\n </th>\n <td\n colSpan={valueColSpan}\n className={cn(\n 'descriptions_content',\n valueCellVariants({ size }), valueColors, borderColors,\n valueAtRightEdge[itemIndex] && 'border-r-0',\n isLastRow && 'border-b-0',\n classNames?.content,\n )}\n data-slot='content'\n >\n {item.children}\n </td>\n </React.Fragment>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n )\n\n if (title || extra) {\n return (\n <div ref={ref} className={cn('descriptions_root', classNames?.root, className)} data-slot=\"root\" {...props}>\n <div className={cn('descriptions_title', 'flex items-center justify-between mb-3', classNames?.title)} data-slot=\"title\">\n {title && <div className=\"text-base font-semibold text-text-primary\">{title}</div>}\n {extra && <div className={cn('descriptions_extra', classNames?.extra)} data-slot=\"extra\">{extra}</div>}\n </div>\n {horizontalTableContent}\n </div>\n )\n }\n\n return (\n <table\n ref={ref as React.Ref<HTMLTableElement>}\n className={cn('descriptions_root', tableVariants({ bordered, rounded }), bordered && borderColors, classNames?.root, className)}\n data-slot=\"root\"\n role=\"presentation\"\n {...props}\n >\n <tbody data-slot=\"body\" className={classNames?.body}>\n {rows.map((row, rowIndex) => {\n const isLastRow = rowIndex === rows.length - 1\n\n // Calculate which value cells reach the right edge\n let colPosition = 0\n const valueAtRightEdge = row.map((item) => {\n const span = item.span || 1\n colPosition += span * 2 // Each item takes label + value columns\n return colPosition >= column * 2\n })\n\n return (\n <tr key={rowIndex} className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => {\n const itemSpan = item.span || 1\n const valueColSpan = itemSpan * 2 - 1\n\n return (\n <React.Fragment key={item.key}>\n <th\n className={cn(\n 'descriptions_label',\n labelCellVariants({ size }), labelColors, borderColors,\n isLastRow && 'border-b-0',\n classNames?.label,\n )}\n data-slot='label'\n >\n {item.label}\n </th>\n <td\n colSpan={valueColSpan}\n className={cn(\n 'descriptions_content',\n valueCellVariants({ size }), valueColors, borderColors,\n valueAtRightEdge[itemIndex] && 'border-r-0',\n isLastRow && 'border-b-0',\n classNames?.content,\n )}\n data-slot='content'\n >\n {item.children}\n </td>\n </React.Fragment>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n )\n },\n)\n\nDescriptions.displayName = 'Descriptions'\n\nexport type * from './types'\nexport default Descriptions\n"]}
@@ -0,0 +1,99 @@
1
+ import { useRipple, RippleContainer } from './chunk-4TEZWGX7.js';
2
+ import { colorVars } from './chunk-GLJDHW73.js';
3
+ import { cn } from './chunk-RAS6HUEI.js';
4
+ import { cva } from 'class-variance-authority';
5
+ import React, { useState } from 'react';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+
8
+ var getToggleClasses = (color, variant, isActive) => {
9
+ const baseColor = colorVars[color] || colorVars.default;
10
+ if (!isActive) {
11
+ return cn(baseColor, "text-text-secondary hover:text-slot hover:bg-slot-10");
12
+ }
13
+ if (variant === "solid") {
14
+ return cn(baseColor, "bg-slot text-slot-fg");
15
+ }
16
+ if (variant === "soft") {
17
+ return cn(baseColor, "bg-slot-20 text-slot");
18
+ }
19
+ return cn(baseColor, "border-slot bg-slot-10 text-slot");
20
+ };
21
+ var singleToggleVariants = cva(
22
+ "inline-flex items-center gap-2 font-medium transition-colors cursor-pointer border rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background",
23
+ {
24
+ variants: {
25
+ size: {
26
+ xs: "text-xs px-2 py-1",
27
+ sm: "text-sm px-3 py-1.5",
28
+ md: "text-base px-4 py-2",
29
+ lg: "text-lg px-5 py-2.5"
30
+ }
31
+ },
32
+ defaultVariants: {
33
+ size: "md"
34
+ }
35
+ }
36
+ );
37
+ var Toggle = React.memo(
38
+ ({
39
+ pressed: controlledPressed,
40
+ defaultPressed = false,
41
+ color = "primary",
42
+ size = "md",
43
+ variant = "default",
44
+ onChange,
45
+ disabled = false,
46
+ icon,
47
+ children,
48
+ "aria-label": ariaLabel,
49
+ className,
50
+ classNames,
51
+ ref
52
+ }) => {
53
+ const [internalPressed, setInternalPressed] = useState(defaultPressed);
54
+ const { ripples, onPointerDown: ripplePointerDown, onKeyDown: rippleKeyDown, onAnimationEnd: rippleAnimationEnd } = useRipple(!disabled);
55
+ const pressed = controlledPressed !== void 0 ? controlledPressed : internalPressed;
56
+ const handleClick = () => {
57
+ if (disabled) return;
58
+ const newPressed = !pressed;
59
+ if (controlledPressed === void 0) {
60
+ setInternalPressed(newPressed);
61
+ }
62
+ onChange?.(newPressed);
63
+ };
64
+ return /* @__PURE__ */ jsxs(
65
+ "button",
66
+ {
67
+ "data-slot": "root",
68
+ ref,
69
+ type: "button",
70
+ className: cn(
71
+ "toggle_root",
72
+ singleToggleVariants({ size }),
73
+ getToggleClasses(color, variant, pressed),
74
+ "border relative overflow-hidden",
75
+ disabled && "opacity-50 cursor-not-allowed",
76
+ classNames?.root,
77
+ className
78
+ ),
79
+ onClick: handleClick,
80
+ onPointerDown: ripplePointerDown,
81
+ onKeyDown: rippleKeyDown,
82
+ disabled,
83
+ "aria-pressed": pressed,
84
+ "aria-label": ariaLabel,
85
+ children: [
86
+ icon,
87
+ children,
88
+ /* @__PURE__ */ jsx(RippleContainer, { ripples, onAnimationEnd: rippleAnimationEnd })
89
+ ]
90
+ }
91
+ );
92
+ }
93
+ );
94
+ Toggle.displayName = "Toggle";
95
+ var toggle_default = Toggle;
96
+
97
+ export { toggle_default };
98
+ //# sourceMappingURL=chunk-DF2ICSNI.js.map
99
+ //# sourceMappingURL=chunk-DF2ICSNI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/toggle/index.tsx"],"names":[],"mappings":"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","file":"chunk-DF2ICSNI.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React, { useState } from 'react'\n\nimport { useRipple, RippleContainer } from '../hooks/useRipple'\nimport { cn } from '../utils'\nimport { colorVars } from '../variants'\nimport type { SingleToggleProps } from './types'\n\nconst getToggleClasses = (\n color: string,\n variant: string,\n isActive: boolean,\n) => {\n const baseColor = colorVars[color as keyof typeof colorVars] || colorVars.default\n\n if (!isActive) {\n // Inactive: text-secondary with hover to accent color\n return cn(baseColor, 'text-text-secondary hover:text-slot hover:bg-slot-10')\n }\n\n // Active state\n if (variant === 'solid') {\n return cn(baseColor, 'bg-slot text-slot-fg')\n }\n if (variant === 'soft') {\n return cn(baseColor, 'bg-slot-20 text-slot')\n }\n // default variant\n return cn(baseColor, 'border-slot bg-slot-10 text-slot')\n}\n\nconst singleToggleVariants = cva(\n 'inline-flex items-center gap-2 font-medium transition-colors cursor-pointer border rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background',\n {\n variants: {\n size: {\n xs: 'text-xs px-2 py-1',\n sm: 'text-sm px-3 py-1.5',\n md: 'text-base px-4 py-2',\n lg: 'text-lg px-5 py-2.5',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst Toggle = React.memo<SingleToggleProps>(\n ({\n pressed: controlledPressed,\n defaultPressed = false,\n color = 'primary',\n size = 'md',\n variant = 'default',\n onChange,\n disabled = false,\n icon,\n children,\n 'aria-label': ariaLabel,\n className,\n classNames,\n ref,\n }) => {\n const [internalPressed, setInternalPressed] = useState(defaultPressed)\n const { ripples, onPointerDown: ripplePointerDown, onKeyDown: rippleKeyDown, onAnimationEnd: rippleAnimationEnd } = useRipple(!disabled)\n\n const pressed =\n controlledPressed !== undefined ? controlledPressed : internalPressed\n\n const handleClick = () => {\n if (disabled) return\n\n const newPressed = !pressed\n if (controlledPressed === undefined) {\n setInternalPressed(newPressed)\n }\n onChange?.(newPressed)\n }\n\n return (\n <button\n data-slot=\"root\"\n ref={ref}\n type=\"button\"\n className={cn(\n 'toggle_root',\n singleToggleVariants({ size }),\n getToggleClasses(color, variant, pressed),\n 'border relative overflow-hidden',\n disabled && 'opacity-50 cursor-not-allowed',\n classNames?.root,\n className,\n )}\n onClick={handleClick}\n onPointerDown={ripplePointerDown}\n onKeyDown={rippleKeyDown}\n disabled={disabled}\n aria-pressed={pressed}\n aria-label={ariaLabel}\n >\n {icon}\n {children}\n <RippleContainer ripples={ripples} onAnimationEnd={rippleAnimationEnd} />\n </button>\n )\n },\n)\n\nToggle.displayName = 'Toggle'\n\nexport type * from './types'\nexport default Toggle\n"]}
@@ -0,0 +1,81 @@
1
+ import { input_default } from './chunk-2OBMSB5S.js';
2
+ import { cn, iconSizes } from './chunk-RAS6HUEI.js';
3
+ import { Eye, EyeOff } from 'lucide-react';
4
+ import React from 'react';
5
+ import { jsx } from 'react/jsx-runtime';
6
+
7
+ var PasswordInput = React.memo(
8
+ ({ visibilityToggle = true, size = "md", ref, classNames, ...props }) => {
9
+ const [showPassword, setShowPassword] = React.useState(false);
10
+ const toggleVisibility = React.useCallback(() => {
11
+ setShowPassword((prev) => !prev);
12
+ }, []);
13
+ const memoizedClassNames = React.useMemo(
14
+ () => ({
15
+ root: cn("inputPassword_root", classNames?.root),
16
+ wrapper: cn("inputPassword_wrapper", classNames?.wrapper),
17
+ label: cn("inputPassword_label", classNames?.label),
18
+ input: cn("inputPassword_input", classNames?.input),
19
+ helper: cn("inputPassword_helper", classNames?.helper),
20
+ error: cn("inputPassword_error", classNames?.error)
21
+ }),
22
+ [classNames]
23
+ );
24
+ const memoizedRightIcon = React.useMemo(
25
+ () => visibilityToggle ? /* @__PURE__ */ jsx(
26
+ "button",
27
+ {
28
+ type: "button",
29
+ onClick: toggleVisibility,
30
+ "data-slot": "toggleButton",
31
+ className: cn(
32
+ "inputPassword_toggleButton",
33
+ "cursor-pointer hover:text-text-primary transition-colors",
34
+ classNames?.toggleButton
35
+ ),
36
+ "aria-label": showPassword ? "Hide password" : "Show password",
37
+ "aria-pressed": showPassword,
38
+ children: showPassword ? /* @__PURE__ */ jsx(
39
+ Eye,
40
+ {
41
+ "data-slot": "toggleIcon",
42
+ className: cn(
43
+ "inputPassword_toggleIcon",
44
+ iconSizes[size],
45
+ classNames?.toggleIcon
46
+ )
47
+ }
48
+ ) : /* @__PURE__ */ jsx(
49
+ EyeOff,
50
+ {
51
+ "data-slot": "toggleIcon",
52
+ className: cn(
53
+ "inputPassword_toggleIcon",
54
+ iconSizes[size],
55
+ classNames?.toggleIcon
56
+ )
57
+ }
58
+ )
59
+ }
60
+ ) : void 0,
61
+ [visibilityToggle, toggleVisibility, showPassword, size, classNames]
62
+ );
63
+ return /* @__PURE__ */ jsx(
64
+ input_default,
65
+ {
66
+ ...props,
67
+ size,
68
+ ref,
69
+ type: showPassword ? "text" : "password",
70
+ classNames: memoizedClassNames,
71
+ rightIcon: memoizedRightIcon
72
+ }
73
+ );
74
+ }
75
+ );
76
+ PasswordInput.displayName = "PasswordInput";
77
+ var input_password_default = PasswordInput;
78
+
79
+ export { PasswordInput, input_password_default };
80
+ //# sourceMappingURL=chunk-DOI7OTYV.js.map
81
+ //# sourceMappingURL=chunk-DOI7OTYV.js.map