@mdigital_ui/ui 0.4.1 → 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 +6 -45
  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-PMA4VCAH.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 +305 -979
  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-BVO2BNFG.js.map +0 -1
  432. package/dist/chunk-C5IGZLIT.js.map +0 -1
  433. package/dist/chunk-CN74CNAN.js.map +0 -1
  434. package/dist/chunk-D4SUSZDN.js.map +0 -1
  435. package/dist/chunk-DUIL5BYS.js.map +0 -1
  436. package/dist/chunk-EHWXPH76.js.map +0 -1
  437. package/dist/chunk-ERRZ2CSG.js.map +0 -1
  438. package/dist/chunk-FZSCLZF6.js.map +0 -1
  439. package/dist/chunk-G6NVGBYZ.js.map +0 -1
  440. package/dist/chunk-GJPZOMFE.js.map +0 -1
  441. package/dist/chunk-GOLARX5K.js.map +0 -1
  442. package/dist/chunk-GVVP5TZM.js.map +0 -1
  443. package/dist/chunk-H6G4BUPA.js.map +0 -1
  444. package/dist/chunk-HCOTO5WX.js.map +0 -1
  445. package/dist/chunk-HECAAILV.js.map +0 -1
  446. package/dist/chunk-HK3NJMSY.js +0 -383
  447. package/dist/chunk-HK3NJMSY.js.map +0 -1
  448. package/dist/chunk-HUXODBIO.js.map +0 -1
  449. package/dist/chunk-I32ZQUYY.js.map +0 -1
  450. package/dist/chunk-JWTWPZ32.js.map +0 -1
  451. package/dist/chunk-KH577UDI.js.map +0 -1
  452. package/dist/chunk-KJTMZJ7V.js.map +0 -1
  453. package/dist/chunk-L5UYN5LX.js.map +0 -1
  454. package/dist/chunk-LOYLJRCF.js.map +0 -1
  455. package/dist/chunk-LX4FDH4J.js.map +0 -1
  456. package/dist/chunk-N2WHJ3FI.js.map +0 -1
  457. package/dist/chunk-NGYLRX6F.js.map +0 -1
  458. package/dist/chunk-O3V3BTIJ.js.map +0 -1
  459. package/dist/chunk-OLTQAMV2.js.map +0 -1
  460. package/dist/chunk-ON2CMF6J.js.map +0 -1
  461. package/dist/chunk-ONGJXAYQ.js.map +0 -1
  462. package/dist/chunk-OQFYIKWR.js.map +0 -1
  463. package/dist/chunk-PMA4VCAH.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,383 +0,0 @@
1
- import { focusRingColorClasses, textColorClasses } from './chunk-POXI7JJ4.js';
2
- import { cn, iconSizes } from './chunk-NGYLRX6F.js';
3
- import { cva } from 'class-variance-authority';
4
- import { ChevronDown } from 'lucide-react';
5
- import React, { useId, useState } from 'react';
6
- import { jsx, jsxs } from 'react/jsx-runtime';
7
-
8
- var accordionContainerVariants = cva("w-full", {
9
- variants: {
10
- variant: {
11
- default: "space-y-0 divide-y divide-border rounded-lg overflow-hidden",
12
- solid: "space-y-0 divide-y divide-border/50 rounded-lg overflow-hidden",
13
- soft: "space-y-0 divide-y divide-border/30 rounded-lg overflow-hidden",
14
- bordered: "space-y-0 divide-y divide-border border border-border rounded-lg overflow-hidden",
15
- splitted: "space-y-2"
16
- },
17
- color: {
18
- default: "",
19
- primary: "",
20
- secondary: "",
21
- accent: "",
22
- success: "",
23
- error: "",
24
- warning: "",
25
- info: ""
26
- },
27
- showDivider: {
28
- true: "",
29
- false: ""
30
- }
31
- },
32
- compoundVariants: [
33
- { variant: "default", showDivider: false, class: "divide-y-0" },
34
- { variant: "solid", showDivider: false, class: "divide-y-0" },
35
- { variant: "soft", showDivider: false, class: "divide-y-0" },
36
- { variant: "bordered", showDivider: false, class: "divide-y-0" },
37
- // Bordered container — colored border + dividers
38
- { variant: "bordered", color: "primary", class: "border-primary/30 divide-primary/20" },
39
- { variant: "bordered", color: "secondary", class: "border-secondary/30 divide-secondary/20" },
40
- { variant: "bordered", color: "accent", class: "border-accent/30 divide-accent/20" },
41
- { variant: "bordered", color: "success", class: "border-success/30 divide-success/20" },
42
- { variant: "bordered", color: "error", class: "border-error/30 divide-error/20" },
43
- { variant: "bordered", color: "warning", class: "border-warning/30 divide-warning/20" },
44
- { variant: "bordered", color: "info", class: "border-info/30 divide-info/20" }
45
- ],
46
- defaultVariants: {
47
- variant: "default",
48
- color: "default",
49
- showDivider: true
50
- }
51
- });
52
- var accordionItemVariants = cva("transition-colors", {
53
- variants: {
54
- variant: {
55
- default: "bg-transparent hover:bg-surface/50",
56
- solid: "bg-surface",
57
- soft: "",
58
- bordered: "bg-transparent",
59
- splitted: "border border-border rounded-lg overflow-hidden"
60
- },
61
- color: {
62
- default: "",
63
- primary: "",
64
- secondary: "",
65
- accent: "",
66
- success: "",
67
- error: "",
68
- warning: "",
69
- info: ""
70
- }
71
- },
72
- compoundVariants: [
73
- // Soft variant with colors
74
- { variant: "soft", color: "default", class: "bg-surface/50" },
75
- {
76
- variant: "soft",
77
- color: "primary",
78
- class: "bg-primary/5 hover:bg-primary/10"
79
- },
80
- {
81
- variant: "soft",
82
- color: "secondary",
83
- class: "bg-secondary/5 hover:bg-secondary/10"
84
- },
85
- {
86
- variant: "soft",
87
- color: "accent",
88
- class: "bg-accent/5 hover:bg-accent/10"
89
- },
90
- {
91
- variant: "soft",
92
- color: "success",
93
- class: "bg-success/5 hover:bg-success/10"
94
- },
95
- { variant: "soft", color: "error", class: "bg-error/5 hover:bg-error/10" },
96
- {
97
- variant: "soft",
98
- color: "warning",
99
- class: "bg-warning/5 hover:bg-warning/10"
100
- },
101
- { variant: "soft", color: "info", class: "bg-info/5 hover:bg-info/10" },
102
- // Solid variant with colors — stronger fill than soft
103
- { variant: "solid", color: "primary", class: "bg-primary text-primary-foreground" },
104
- { variant: "solid", color: "secondary", class: "bg-secondary text-secondary-foreground" },
105
- { variant: "solid", color: "accent", class: "bg-accent text-accent-foreground" },
106
- { variant: "solid", color: "success", class: "bg-success text-success-foreground" },
107
- { variant: "solid", color: "error", class: "bg-error text-error-foreground" },
108
- { variant: "solid", color: "warning", class: "bg-warning text-warning-foreground" },
109
- { variant: "solid", color: "info", class: "bg-info text-info-foreground" },
110
- // Default variant with colors
111
- { variant: "default", color: "primary", class: "hover:bg-primary/5" },
112
- { variant: "default", color: "secondary", class: "hover:bg-secondary/5" },
113
- { variant: "default", color: "accent", class: "hover:bg-accent/5" },
114
- { variant: "default", color: "success", class: "hover:bg-success/5" },
115
- { variant: "default", color: "error", class: "hover:bg-error/5" },
116
- { variant: "default", color: "warning", class: "hover:bg-warning/5" },
117
- { variant: "default", color: "info", class: "hover:bg-info/5" },
118
- // Splitted variant with colors
119
- { variant: "splitted", color: "primary", class: "border-primary/30" },
120
- { variant: "splitted", color: "secondary", class: "border-secondary/30" },
121
- { variant: "splitted", color: "accent", class: "border-accent/30" },
122
- { variant: "splitted", color: "success", class: "border-success/30" },
123
- { variant: "splitted", color: "error", class: "border-error/30" },
124
- { variant: "splitted", color: "warning", class: "border-warning/30" },
125
- { variant: "splitted", color: "info", class: "border-info/30" }
126
- ],
127
- defaultVariants: {
128
- variant: "default",
129
- color: "default"
130
- }
131
- });
132
- var accordionHeaderVariants = cva(
133
- [
134
- "flex items-center w-full text-left font-medium transition-colors",
135
- "focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background",
136
- "disabled:opacity-50 disabled:cursor-not-allowed"
137
- ],
138
- {
139
- variants: {
140
- size: {
141
- xs: "px-(--accordion-padding-x-xs) py-(--accordion-padding-y-xs) text-xs gap-2",
142
- sm: "px-(--accordion-padding-x-sm) py-(--accordion-padding-y-sm) text-sm gap-2",
143
- md: "px-(--accordion-padding-x-md) py-(--accordion-padding-y-md) text-base gap-3",
144
- lg: "px-(--accordion-padding-x-lg) py-(--accordion-padding-y-lg) text-lg gap-3"
145
- },
146
- color: focusRingColorClasses,
147
- disabled: {
148
- true: "cursor-not-allowed",
149
- false: "cursor-pointer"
150
- }
151
- },
152
- defaultVariants: {
153
- size: "md",
154
- color: "default",
155
- disabled: false
156
- }
157
- }
158
- );
159
- var accordionContentVariants = cva("text-text-secondary", {
160
- variants: {
161
- size: {
162
- xs: "px-(--accordion-padding-x-xs) pb-(--accordion-padding-y-xs) text-xs",
163
- sm: "px-(--accordion-padding-x-sm) pb-(--accordion-padding-y-sm) text-sm",
164
- md: "px-(--accordion-padding-x-md) pb-(--accordion-padding-y-md) text-base",
165
- lg: "px-(--accordion-padding-x-lg) pb-(--accordion-padding-y-lg) text-lg"
166
- }
167
- },
168
- defaultVariants: {
169
- size: "md"
170
- }
171
- });
172
- var getIconColor = (color, isExpanded) => {
173
- if (!isExpanded) return "text-text-secondary";
174
- return textColorClasses[color || "default"];
175
- };
176
- var Accordion = React.memo(
177
- ({
178
- items,
179
- color = "default",
180
- size = "md",
181
- variant = "default",
182
- defaultActiveKey,
183
- activeKey: controlledActiveKey,
184
- onChange,
185
- multiple = false,
186
- expandIcon,
187
- expandIconPosition = "right",
188
- collapsible = false,
189
- destroyOnClose = false,
190
- showDivider = true,
191
- className,
192
- itemClassName,
193
- classNames,
194
- ref
195
- }) => {
196
- const isSolidColored = variant === "solid" && color !== "default";
197
- const baseId = useId();
198
- const [internalActiveKey, setInternalActiveKey] = useState(
199
- defaultActiveKey ? multiple && !Array.isArray(defaultActiveKey) ? [defaultActiveKey] : defaultActiveKey : multiple ? [] : ""
200
- );
201
- const activeKey = controlledActiveKey !== void 0 ? controlledActiveKey : internalActiveKey;
202
- const isActive = (key) => {
203
- if (Array.isArray(activeKey)) {
204
- return activeKey.includes(key);
205
- }
206
- return activeKey === key;
207
- };
208
- const handleToggle = (key, disabled) => {
209
- if (disabled) return;
210
- let newActiveKey;
211
- if (multiple) {
212
- const currentKeys = Array.isArray(activeKey) ? activeKey : activeKey ? [activeKey] : [];
213
- newActiveKey = currentKeys.includes(key) ? currentKeys.filter((k) => k !== key) : [...currentKeys, key];
214
- } else {
215
- if (!collapsible && activeKey === key) {
216
- return;
217
- }
218
- newActiveKey = activeKey === key ? "" : key;
219
- }
220
- if (controlledActiveKey === void 0) {
221
- setInternalActiveKey(newActiveKey);
222
- }
223
- onChange?.(newActiveKey);
224
- };
225
- const renderExpandIcon = (isExpanded) => {
226
- if (expandIcon === false) return null;
227
- if (typeof expandIcon === "function") {
228
- return expandIcon(isExpanded);
229
- }
230
- if (expandIcon) {
231
- return /* @__PURE__ */ jsx(
232
- "span",
233
- {
234
- className: cn(
235
- "shrink-0 transition-transform duration-300",
236
- isExpanded && "rotate-180"
237
- ),
238
- children: expandIcon
239
- }
240
- );
241
- }
242
- return /* @__PURE__ */ jsx(
243
- ChevronDown,
244
- {
245
- className: cn(
246
- "shrink-0 transition-transform duration-300",
247
- isExpanded && "rotate-180",
248
- isSolidColored ? "text-inherit" : getIconColor(color, isExpanded),
249
- iconSizes[size]
250
- )
251
- }
252
- );
253
- };
254
- return /* @__PURE__ */ jsx(
255
- "div",
256
- {
257
- ref,
258
- "data-slot": "root",
259
- className: cn(
260
- "accordion_root",
261
- accordionContainerVariants({
262
- variant,
263
- color,
264
- showDivider: showDivider && variant !== "splitted"
265
- }),
266
- classNames?.root,
267
- className
268
- ),
269
- children: items.map((item) => {
270
- const isItemActive = isActive(item.key);
271
- const headerId = `${baseId}-header-${item.key}`;
272
- const panelId = `${baseId}-panel-${item.key}`;
273
- return /* @__PURE__ */ jsxs(
274
- "div",
275
- {
276
- "data-slot": "item",
277
- className: cn(
278
- "accordion_item",
279
- accordionItemVariants({ variant, color }),
280
- item.disabled && "opacity-50",
281
- classNames?.item,
282
- itemClassName
283
- ),
284
- children: [
285
- /* @__PURE__ */ jsxs(
286
- "button",
287
- {
288
- type: "button",
289
- id: headerId,
290
- "aria-expanded": isItemActive,
291
- "aria-controls": panelId,
292
- "aria-disabled": item.disabled,
293
- disabled: item.disabled,
294
- onClick: () => handleToggle(item.key, item.disabled),
295
- "data-slot": "trigger",
296
- className: cn(
297
- "accordion_trigger",
298
- accordionHeaderVariants({
299
- size,
300
- color,
301
- disabled: item.disabled
302
- }),
303
- classNames?.trigger
304
- ),
305
- children: [
306
- expandIconPosition === "left" && renderExpandIcon(isItemActive),
307
- item.icon && /* @__PURE__ */ jsx(
308
- "span",
309
- {
310
- "data-slot": "icon",
311
- className: cn(
312
- "accordion_icon",
313
- "shrink-0",
314
- isSolidColored ? "text-inherit" : getIconColor(color, isItemActive),
315
- classNames?.icon
316
- ),
317
- children: item.icon
318
- }
319
- ),
320
- /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
321
- /* @__PURE__ */ jsx(
322
- "div",
323
- {
324
- className: cn(
325
- !isSolidColored && isItemActive && color !== "default" && textColorClasses[color || "default"]
326
- ),
327
- children: item.title
328
- }
329
- ),
330
- item.subtitle && /* @__PURE__ */ jsx("div", { className: cn(
331
- "font-normal mt-0.5",
332
- isSolidColored ? "text-inherit opacity-80" : "text-text-secondary"
333
- ), children: item.subtitle })
334
- ] }),
335
- item.extra && /* @__PURE__ */ jsx("span", { className: cn(
336
- "shrink-0",
337
- isSolidColored ? "text-inherit opacity-80" : "text-text-secondary"
338
- ), children: item.extra }),
339
- expandIconPosition === "right" && renderExpandIcon(isItemActive)
340
- ]
341
- }
342
- ),
343
- /* @__PURE__ */ jsx(
344
- "div",
345
- {
346
- id: panelId,
347
- role: "region",
348
- "aria-labelledby": headerId,
349
- "aria-hidden": !isItemActive,
350
- className: cn(
351
- "grid transition-[grid-template-rows] duration-300 ease-out",
352
- isItemActive ? "grid-rows-[1fr]" : "grid-rows-[0fr]"
353
- ),
354
- children: /* @__PURE__ */ jsx("div", { className: "overflow-hidden", children: (!destroyOnClose || isItemActive) && /* @__PURE__ */ jsx(
355
- "div",
356
- {
357
- "data-slot": "content",
358
- className: cn(
359
- "accordion_content",
360
- accordionContentVariants({ size }),
361
- isSolidColored && "text-inherit opacity-90",
362
- classNames?.content
363
- ),
364
- children: item.content
365
- }
366
- ) })
367
- }
368
- )
369
- ]
370
- },
371
- item.key
372
- );
373
- })
374
- }
375
- );
376
- }
377
- );
378
- Accordion.displayName = "Accordion";
379
- var accordion_default = Accordion;
380
-
381
- export { accordion_default };
382
- //# sourceMappingURL=chunk-HK3NJMSY.js.map
383
- //# sourceMappingURL=chunk-HK3NJMSY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/accordion/index.tsx"],"names":[],"mappings":"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","file":"chunk-HK3NJMSY.js","sourcesContent":["'use client'\n\nimport { cva } from \"class-variance-authority\";\nimport { ChevronDown } from \"lucide-react\";\nimport React, { useId, useState } from \"react\";\n\nimport { cn, iconSizes } from \"../utils\";\nimport { focusRingColorClasses, textColorClasses } from \"../variants\";\nimport type { AccordionProps, AccordionSize } from \"./types\";\n\n// Variant styles for accordion container\nconst accordionContainerVariants = cva(\"w-full\", {\n variants: {\n variant: {\n default: \"space-y-0 divide-y divide-border rounded-lg overflow-hidden\",\n solid: \"space-y-0 divide-y divide-border/50 rounded-lg overflow-hidden\",\n soft: \"space-y-0 divide-y divide-border/30 rounded-lg overflow-hidden\",\n bordered:\n \"space-y-0 divide-y divide-border border border-border rounded-lg overflow-hidden\",\n splitted: \"space-y-2\",\n },\n color: {\n default: \"\",\n primary: \"\",\n secondary: \"\",\n accent: \"\",\n success: \"\",\n error: \"\",\n warning: \"\",\n info: \"\",\n },\n showDivider: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n { variant: \"default\", showDivider: false, class: \"divide-y-0\" },\n { variant: \"solid\", showDivider: false, class: \"divide-y-0\" },\n { variant: \"soft\", showDivider: false, class: \"divide-y-0\" },\n { variant: \"bordered\", showDivider: false, class: \"divide-y-0\" },\n // Bordered container — colored border + dividers\n { variant: \"bordered\", color: \"primary\", class: \"border-primary/30 divide-primary/20\" },\n { variant: \"bordered\", color: \"secondary\", class: \"border-secondary/30 divide-secondary/20\" },\n { variant: \"bordered\", color: \"accent\", class: \"border-accent/30 divide-accent/20\" },\n { variant: \"bordered\", color: \"success\", class: \"border-success/30 divide-success/20\" },\n { variant: \"bordered\", color: \"error\", class: \"border-error/30 divide-error/20\" },\n { variant: \"bordered\", color: \"warning\", class: \"border-warning/30 divide-warning/20\" },\n { variant: \"bordered\", color: \"info\", class: \"border-info/30 divide-info/20\" },\n ],\n defaultVariants: {\n variant: \"default\",\n color: \"default\",\n showDivider: true,\n },\n});\n\n// Variant styles for each accordion item\nconst accordionItemVariants = cva(\"transition-colors\", {\n variants: {\n variant: {\n default: \"bg-transparent hover:bg-surface/50\",\n solid: \"bg-surface\",\n soft: \"\",\n bordered: \"bg-transparent\",\n splitted: \"border border-border rounded-lg overflow-hidden\",\n },\n color: {\n default: \"\",\n primary: \"\",\n secondary: \"\",\n accent: \"\",\n success: \"\",\n error: \"\",\n warning: \"\",\n info: \"\",\n },\n },\n compoundVariants: [\n // Soft variant with colors\n { variant: \"soft\", color: \"default\", class: \"bg-surface/50\" },\n {\n variant: \"soft\",\n color: \"primary\",\n class: \"bg-primary/5 hover:bg-primary/10\",\n },\n {\n variant: \"soft\",\n color: \"secondary\",\n class: \"bg-secondary/5 hover:bg-secondary/10\",\n },\n {\n variant: \"soft\",\n color: \"accent\",\n class: \"bg-accent/5 hover:bg-accent/10\",\n },\n {\n variant: \"soft\",\n color: \"success\",\n class: \"bg-success/5 hover:bg-success/10\",\n },\n { variant: \"soft\", color: \"error\", class: \"bg-error/5 hover:bg-error/10\" },\n {\n variant: \"soft\",\n color: \"warning\",\n class: \"bg-warning/5 hover:bg-warning/10\",\n },\n { variant: \"soft\", color: \"info\", class: \"bg-info/5 hover:bg-info/10\" },\n // Solid variant with colors — stronger fill than soft\n { variant: \"solid\", color: \"primary\", class: \"bg-primary text-primary-foreground\" },\n { variant: \"solid\", color: \"secondary\", class: \"bg-secondary text-secondary-foreground\" },\n { variant: \"solid\", color: \"accent\", class: \"bg-accent text-accent-foreground\" },\n { variant: \"solid\", color: \"success\", class: \"bg-success text-success-foreground\" },\n { variant: \"solid\", color: \"error\", class: \"bg-error text-error-foreground\" },\n { variant: \"solid\", color: \"warning\", class: \"bg-warning text-warning-foreground\" },\n { variant: \"solid\", color: \"info\", class: \"bg-info text-info-foreground\" },\n // Default variant with colors\n { variant: \"default\", color: \"primary\", class: \"hover:bg-primary/5\" },\n { variant: \"default\", color: \"secondary\", class: \"hover:bg-secondary/5\" },\n { variant: \"default\", color: \"accent\", class: \"hover:bg-accent/5\" },\n { variant: \"default\", color: \"success\", class: \"hover:bg-success/5\" },\n { variant: \"default\", color: \"error\", class: \"hover:bg-error/5\" },\n { variant: \"default\", color: \"warning\", class: \"hover:bg-warning/5\" },\n { variant: \"default\", color: \"info\", class: \"hover:bg-info/5\" },\n // Splitted variant with colors\n { variant: \"splitted\", color: \"primary\", class: \"border-primary/30\" },\n { variant: \"splitted\", color: \"secondary\", class: \"border-secondary/30\" },\n { variant: \"splitted\", color: \"accent\", class: \"border-accent/30\" },\n { variant: \"splitted\", color: \"success\", class: \"border-success/30\" },\n { variant: \"splitted\", color: \"error\", class: \"border-error/30\" },\n { variant: \"splitted\", color: \"warning\", class: \"border-warning/30\" },\n { variant: \"splitted\", color: \"info\", class: \"border-info/30\" },\n ],\n defaultVariants: {\n variant: \"default\",\n color: \"default\",\n },\n});\n\n// Header button variants\nconst accordionHeaderVariants = cva(\n [\n \"flex items-center w-full text-left font-medium transition-colors\",\n \"focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background\",\n \"disabled:opacity-50 disabled:cursor-not-allowed\",\n ],\n {\n variants: {\n size: {\n xs: \"px-(--accordion-padding-x-xs) py-(--accordion-padding-y-xs) text-xs gap-2\",\n sm: \"px-(--accordion-padding-x-sm) py-(--accordion-padding-y-sm) text-sm gap-2\",\n md: \"px-(--accordion-padding-x-md) py-(--accordion-padding-y-md) text-base gap-3\",\n lg: \"px-(--accordion-padding-x-lg) py-(--accordion-padding-y-lg) text-lg gap-3\",\n },\n color: focusRingColorClasses,\n disabled: {\n true: \"cursor-not-allowed\",\n false: \"cursor-pointer\",\n },\n },\n defaultVariants: {\n size: \"md\",\n color: \"default\",\n disabled: false,\n },\n },\n);\n\n// Content variants\nconst accordionContentVariants = cva(\"text-text-secondary\", {\n variants: {\n size: {\n xs: \"px-(--accordion-padding-x-xs) pb-(--accordion-padding-y-xs) text-xs\",\n sm: \"px-(--accordion-padding-x-sm) pb-(--accordion-padding-y-sm) text-sm\",\n md: \"px-(--accordion-padding-x-md) pb-(--accordion-padding-y-md) text-base\",\n lg: \"px-(--accordion-padding-x-lg) pb-(--accordion-padding-y-lg) text-lg\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\n// Icon color based on color prop\nconst getIconColor = (color: AccordionProps[\"color\"], isExpanded: boolean) => {\n if (!isExpanded) return \"text-text-secondary\";\n return textColorClasses[color || \"default\"];\n};\n\nconst Accordion = React.memo<AccordionProps>(\n ({\n items,\n color = \"default\",\n size = \"md\",\n variant = \"default\",\n defaultActiveKey,\n activeKey: controlledActiveKey,\n onChange,\n multiple = false,\n expandIcon,\n expandIconPosition = \"right\",\n collapsible = false,\n destroyOnClose = false,\n showDivider = true,\n className,\n itemClassName,\n classNames,\n ref,\n }) => {\n const isSolidColored = variant === \"solid\" && color !== \"default\";\n const baseId = useId();\n const [internalActiveKey, setInternalActiveKey] = useState<\n string | string[]\n >(\n defaultActiveKey\n ? multiple && !Array.isArray(defaultActiveKey)\n ? [defaultActiveKey]\n : defaultActiveKey\n : multiple\n ? []\n : \"\",\n );\n\n const activeKey =\n controlledActiveKey !== undefined\n ? controlledActiveKey\n : internalActiveKey;\n\n const isActive = (key: string) => {\n if (Array.isArray(activeKey)) {\n return activeKey.includes(key);\n }\n return activeKey === key;\n };\n\n const handleToggle = (key: string, disabled?: boolean) => {\n if (disabled) return;\n\n let newActiveKey: string | string[];\n\n if (multiple) {\n const currentKeys = Array.isArray(activeKey)\n ? activeKey\n : activeKey\n ? [activeKey]\n : [];\n newActiveKey = currentKeys.includes(key)\n ? currentKeys.filter((k) => k !== key)\n : [...currentKeys, key];\n } else {\n // collapsible=false means one panel must stay open (non-collapsible)\n if (!collapsible && activeKey === key) {\n return;\n }\n newActiveKey = activeKey === key ? \"\" : key;\n }\n\n if (controlledActiveKey === undefined) {\n setInternalActiveKey(newActiveKey);\n }\n onChange?.(newActiveKey);\n };\n\n // Render expand icon\n const renderExpandIcon = (isExpanded: boolean) => {\n if (expandIcon === false) return null;\n\n if (typeof expandIcon === \"function\") {\n return expandIcon(isExpanded);\n }\n\n if (expandIcon) {\n return (\n <span\n className={cn(\n \"shrink-0 transition-transform duration-300\",\n isExpanded && \"rotate-180\",\n )}\n >\n {expandIcon}\n </span>\n );\n }\n\n return (\n <ChevronDown\n className={cn(\n \"shrink-0 transition-transform duration-300\",\n isExpanded && \"rotate-180\",\n isSolidColored ? \"text-inherit\" : getIconColor(color, isExpanded),\n iconSizes[size as AccordionSize],\n )}\n />\n );\n };\n\n return (\n <div\n ref={ref}\n data-slot=\"root\"\n className={cn(\n \"accordion_root\",\n accordionContainerVariants({\n variant,\n color,\n showDivider: showDivider && variant !== \"splitted\",\n }),\n classNames?.root,\n className,\n )}\n >\n {items.map((item) => {\n const isItemActive = isActive(item.key);\n const headerId = `${baseId}-header-${item.key}`;\n const panelId = `${baseId}-panel-${item.key}`;\n\n return (\n <div\n key={item.key}\n data-slot=\"item\"\n className={cn(\n \"accordion_item\",\n accordionItemVariants({ variant, color }),\n item.disabled && \"opacity-50\",\n classNames?.item,\n itemClassName,\n )}\n >\n <button\n type=\"button\"\n id={headerId}\n aria-expanded={isItemActive}\n aria-controls={panelId}\n aria-disabled={item.disabled}\n disabled={item.disabled}\n onClick={() => handleToggle(item.key, item.disabled)}\n data-slot=\"trigger\"\n className={cn(\n \"accordion_trigger\",\n accordionHeaderVariants({\n size,\n color,\n disabled: item.disabled,\n }),\n classNames?.trigger,\n )}\n >\n {/* Left expand icon */}\n {expandIconPosition === \"left\" &&\n renderExpandIcon(isItemActive)}\n\n {/* Item icon */}\n {item.icon && (\n <span\n data-slot=\"icon\"\n className={cn(\n \"accordion_icon\",\n \"shrink-0\",\n isSolidColored ? \"text-inherit\" : getIconColor(color, isItemActive),\n classNames?.icon,\n )}\n >\n {item.icon}\n </span>\n )}\n\n {/* Title and subtitle */}\n <div className=\"flex-1 min-w-0\">\n <div\n className={cn(\n !isSolidColored &&\n isItemActive &&\n color !== \"default\" &&\n textColorClasses[color || \"default\"],\n )}\n >\n {item.title}\n </div>\n {item.subtitle && (\n <div className={cn(\n \"font-normal mt-0.5\",\n isSolidColored ? \"text-inherit opacity-80\" : \"text-text-secondary\",\n )}>\n {item.subtitle}\n </div>\n )}\n </div>\n\n {/* Extra content */}\n {item.extra && (\n <span className={cn(\n \"shrink-0\",\n isSolidColored ? \"text-inherit opacity-80\" : \"text-text-secondary\",\n )}>\n {item.extra}\n </span>\n )}\n\n {/* Right expand icon */}\n {expandIconPosition === \"right\" &&\n renderExpandIcon(isItemActive)}\n </button>\n\n {/* Content panel */}\n <div\n id={panelId}\n role=\"region\"\n aria-labelledby={headerId}\n aria-hidden={!isItemActive}\n className={cn(\n \"grid transition-[grid-template-rows] duration-300 ease-out\",\n isItemActive ? \"grid-rows-[1fr]\" : \"grid-rows-[0fr]\",\n )}\n >\n <div className=\"overflow-hidden\">\n {(!destroyOnClose || isItemActive) && (\n <div\n data-slot=\"content\"\n className={cn(\n \"accordion_content\",\n accordionContentVariants({ size }),\n isSolidColored && \"text-inherit opacity-90\",\n classNames?.content,\n )}\n >\n {item.content}\n </div>\n )}\n </div>\n </div>\n </div>\n );\n })}\n </div>\n );\n },\n);\n\nAccordion.displayName = \"Accordion\";\n\nexport type * from \"./types\";\nexport default Accordion;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/pagination/index.tsx"],"names":[],"mappings":"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","file":"chunk-HUXODBIO.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport {\n ChevronLeft,\n ChevronRight,\n ChevronsLeft,\n ChevronsRight,\n MoreHorizontal,\n} from 'lucide-react'\nimport React, { useState } from 'react'\n\nimport { useRipple, RippleContainer } from '../hooks/useRipple'\nimport { cn, iconSizes } from '../utils'\nimport type { PaginationProps } from './types'\n\nconst paginationVariants = cva('inline-flex items-center gap-1', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst paginationItemVariants = cva(\n 'inline-flex items-center justify-center rounded-md font-medium outline-none cursor-pointer border min-w-fit',\n {\n variants: {\n size: {\n xs: 'h-6 min-w-6 px-1.5 text-xs',\n sm: 'h-8 min-w-8 px-2 text-sm',\n md: 'h-10 min-w-10 px-3 text-base',\n lg: 'h-12 min-w-12 px-4 text-lg',\n },\n disabled: {\n true: 'opacity-50 cursor-not-allowed',\n false: '',\n },\n },\n defaultVariants: {\n size: 'md',\n disabled: false,\n },\n },\n)\n\nconst colorStyles = {\n default: {\n default:\n 'border-border bg-background text-text-primary hover:bg-surface hover:border-text-primary',\n solid: 'border-surface bg-surface text-text-primary hover:bg-surface/80',\n soft: 'border-border bg-surface/50 text-text-primary hover:bg-surface',\n },\n primary: {\n default:\n 'border-border bg-background text-text-primary hover:bg-primary/10 hover:border-primary',\n solid: 'border-primary bg-primary text-background hover:bg-primary/90',\n soft: 'border-primary/30 bg-primary/10 text-primary hover:bg-primary/20',\n },\n secondary: {\n default:\n 'border-border bg-background text-text-primary hover:bg-secondary/10 hover:border-secondary',\n solid:\n 'border-secondary bg-secondary text-background hover:bg-secondary/90',\n soft: 'border-secondary/30 bg-secondary/10 text-secondary hover:bg-secondary/20',\n },\n accent: {\n default:\n 'border-border bg-background text-text-primary hover:bg-accent/10 hover:border-accent',\n solid: 'border-accent bg-accent text-background hover:bg-accent/90',\n soft: 'border-accent/30 bg-accent/10 text-accent hover:bg-accent/20',\n },\n success: {\n default:\n 'border-border bg-background text-text-primary hover:bg-success/10 hover:border-success',\n solid: 'border-success bg-success text-background hover:bg-success/90',\n soft: 'border-success/30 bg-success/10 text-success hover:bg-success/20',\n },\n error: {\n default:\n 'border-border bg-background text-text-primary hover:bg-error/10 hover:border-error',\n solid: 'border-error bg-error text-background hover:bg-error/90',\n soft: 'border-error/30 bg-error/10 text-error hover:bg-error/20',\n },\n warning: {\n default:\n 'border-border bg-background text-text-primary hover:bg-warning/10 hover:border-warning',\n solid: 'border-warning bg-warning text-background hover:bg-warning/90',\n soft: 'border-warning/30 bg-warning/10 text-warning hover:bg-warning/20',\n },\n info: {\n default:\n 'border-border bg-background text-text-primary hover:bg-info/10 hover:border-info',\n solid: 'border-info bg-info text-background hover:bg-info/90',\n soft: 'border-info/30 bg-info/10 text-info hover:bg-info/20',\n },\n}\n\nconst activeColorStyles = {\n default: {\n default: 'border-text-primary bg-surface text-text-primary',\n solid: 'border-border bg-surface text-text-primary',\n soft: 'border-border bg-surface text-text-primary',\n },\n primary: {\n default: 'border-primary bg-primary/10 text-primary',\n solid: 'border-primary bg-primary-hover text-background',\n soft: 'border-primary bg-primary/20 text-primary',\n },\n secondary: {\n default: 'border-secondary bg-secondary/10 text-secondary',\n solid: 'border-secondary bg-secondary text-background',\n soft: 'border-secondary bg-secondary/20 text-secondary',\n },\n accent: {\n default: 'border-accent bg-accent/10 text-accent',\n solid: 'border-accent bg-accent text-background',\n soft: 'border-accent bg-accent/20 text-accent',\n },\n success: {\n default: 'border-success bg-success/10 text-success',\n solid: 'border-success bg-success text-background',\n soft: 'border-success bg-success/20 text-success',\n },\n error: {\n default: 'border-error bg-error/10 text-error',\n solid: 'border-error bg-error text-background',\n soft: 'border-error bg-error/20 text-error',\n },\n warning: {\n default: 'border-warning bg-warning/10 text-warning',\n solid: 'border-warning bg-warning text-background',\n soft: 'border-warning bg-warning/20 text-warning',\n },\n info: {\n default: 'border-info bg-info/10 text-info',\n solid: 'border-info bg-info text-background',\n soft: 'border-info bg-info/20 text-info',\n },\n}\n\nconst PaginationButton: React.FC<{ children: React.ReactNode; disabled?: boolean; className?: string; [key: string]: any }> = ({ children, disabled, className, ...props }) => {\n const { ripples, onPointerDown, onKeyDown, onAnimationEnd } = useRipple(!disabled)\n return (\n <button className={cn(className, 'relative overflow-hidden')} onPointerDown={onPointerDown} onKeyDown={onKeyDown} disabled={disabled} {...props}>\n {children}\n <RippleContainer ripples={ripples} onAnimationEnd={onAnimationEnd} />\n </button>\n )\n}\n\nconst Pagination = React.memo<PaginationProps>(\n ({\n total,\n current: controlledCurrent,\n defaultCurrent = 1,\n pageSize: controlledPageSize,\n defaultPageSize = 10,\n onChange,\n onShowSizeChange,\n color = 'default',\n size = 'md',\n variant = 'default',\n showSizeChanger = false,\n pageSizeOptions = [10, 20, 50, 100],\n showQuickJumper = false,\n showFirstLastButtons = false,\n showTotal,\n disabled = false,\n className,\n classNames,\n }) => {\n const [internalCurrent, setInternalCurrent] = useState(defaultCurrent)\n const [internalPageSize, setInternalPageSize] = useState(defaultPageSize)\n\n const current =\n controlledCurrent !== undefined ? controlledCurrent : internalCurrent\n const pageSize =\n controlledPageSize !== undefined ? controlledPageSize : internalPageSize\n const totalPages = Math.ceil(total / pageSize)\n\n const handlePageChange = (page: number) => {\n if (disabled || page === current || page < 1 || page > totalPages) return\n\n if (controlledCurrent === undefined) {\n setInternalCurrent(page)\n }\n onChange?.(page, pageSize)\n }\n\n const handlePageSizeChange = (newSize: number) => {\n if (disabled) return\n\n const newTotalPages = Math.ceil(total / newSize)\n const newCurrent = current > newTotalPages ? newTotalPages : current\n\n if (controlledPageSize === undefined) {\n setInternalPageSize(newSize)\n }\n if (controlledCurrent === undefined && newCurrent !== current) {\n setInternalCurrent(newCurrent)\n }\n\n onShowSizeChange?.(newCurrent, newSize)\n onChange?.(newCurrent, newSize)\n }\n\n const getPageNumbers = () => {\n const pages: (number | 'ellipsis')[] = []\n\n if (totalPages <= 7) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i)\n }\n } else if (current <= 4) {\n // Near start: always 7 items [1, 2, 3, 4, 5, ..., last]\n for (let i = 1; i <= 5; i++) pages.push(i)\n pages.push('ellipsis')\n pages.push(totalPages)\n } else if (current >= totalPages - 3) {\n // Near end: always 7 items [1, ..., last-4, last-3, last-2, last-1, last]\n pages.push(1)\n pages.push('ellipsis')\n for (let i = totalPages - 4; i <= totalPages; i++) pages.push(i)\n } else {\n // Middle: always 7 items [1, ..., c-1, c, c+1, ..., last]\n pages.push(1)\n pages.push('ellipsis')\n pages.push(current - 1)\n pages.push(current)\n pages.push(current + 1)\n pages.push('ellipsis')\n pages.push(totalPages)\n }\n\n return pages\n }\n\n const range: [number, number] = [\n (current - 1) * pageSize + 1,\n Math.min(current * pageSize, total),\n ]\n\n return (\n <div\n className={cn(\n 'pagination_root',\n 'flex items-center gap-4',\n classNames?.root,\n className,\n )}\n >\n {showTotal && (\n <div\n className={cn(\n 'pagination_info',\n 'text-text-secondary text-sm',\n classNames?.info,\n )}\n >\n {showTotal(total, range)}\n </div>\n )}\n\n <div\n className={cn(\n 'pagination_list',\n paginationVariants({ size }),\n classNames?.list,\n )}\n >\n {/* First Page Button */}\n {showFirstLastButtons && (\n <PaginationButton\n type=\"button\"\n onClick={() => handlePageChange(1)}\n disabled={disabled || current === 1}\n className={cn(\n 'pagination_button',\n paginationItemVariants({\n size,\n disabled: disabled || current === 1,\n }),\n colorStyles[color][variant],\n classNames?.button,\n )}\n aria-label=\"First page\"\n >\n <ChevronsLeft className={iconSizes[size]} />\n </PaginationButton>\n )}\n\n {/* Previous Button */}\n <PaginationButton\n type=\"button\"\n onClick={() => handlePageChange(current - 1)}\n disabled={disabled || current === 1}\n className={cn(\n 'pagination_button',\n paginationItemVariants({\n size,\n disabled: disabled || current === 1,\n }),\n colorStyles[color][variant],\n classNames?.button,\n )}\n aria-label=\"Previous page\"\n >\n <ChevronLeft className={iconSizes[size]} />\n </PaginationButton>\n\n {/* Page Numbers */}\n {getPageNumbers().map((page, index) =>\n page === 'ellipsis' ? (\n <span\n key={`slot-${index}`}\n className={cn(\n 'pagination_ellipsis',\n paginationItemVariants({ size, disabled: false }),\n colorStyles[color]['soft'],\n 'border-none pointer-events-none',\n classNames?.ellipsis,\n )}\n aria-hidden=\"true\"\n >\n <MoreHorizontal className={iconSizes[size]} />\n </span>\n ) : (\n <PaginationButton\n type=\"button\"\n key={`slot-${index}`}\n onClick={() => handlePageChange(page)}\n disabled={disabled}\n aria-label={`Go to page ${page}`}\n aria-current={current === page ? 'page' : undefined}\n className={cn(\n 'pagination_button',\n paginationItemVariants({ size, disabled }),\n current === page\n ? activeColorStyles[color][variant]\n : colorStyles[color][variant],\n current === page ? classNames?.buttonActive : classNames?.button,\n )}\n >\n {page}\n </PaginationButton>\n ),\n )}\n\n {/* Next Button */}\n <PaginationButton\n type=\"button\"\n onClick={() => handlePageChange(current + 1)}\n disabled={disabled || current === totalPages}\n className={cn(\n 'pagination_button',\n paginationItemVariants({\n size,\n disabled: disabled || current === totalPages,\n }),\n colorStyles[color][variant],\n classNames?.button,\n )}\n aria-label=\"Next page\"\n >\n <ChevronRight className={iconSizes[size]} />\n </PaginationButton>\n\n {/* Last Page Button */}\n {showFirstLastButtons && (\n <PaginationButton\n type=\"button\"\n onClick={() => handlePageChange(totalPages)}\n disabled={disabled || current === totalPages}\n className={cn(\n 'pagination_button',\n paginationItemVariants({\n size,\n disabled: disabled || current === totalPages,\n }),\n colorStyles[color][variant],\n classNames?.button,\n )}\n aria-label=\"Last page\"\n >\n <ChevronsRight className={iconSizes[size]} />\n </PaginationButton>\n )}\n </div>\n\n {/* Page Size Changer */}\n {showSizeChanger && (\n <select\n value={pageSize}\n onChange={(e) => handlePageSizeChange(Number(e.target.value))}\n disabled={disabled}\n aria-label=\"Items per page\"\n className={cn(\n paginationItemVariants({ size, disabled }),\n colorStyles[color][variant],\n 'cursor-pointer',\n )}\n >\n {pageSizeOptions.map((option) => (\n <option\n key={option}\n value={option}\n >\n {option} / page\n </option>\n ))}\n </select>\n )}\n\n {/* Quick Jumper */}\n {showQuickJumper && (\n <div className=\"flex items-center gap-2\">\n <span className=\"text-text-secondary text-sm\">Go to</span>\n <input\n type=\"number\"\n min={1}\n max={totalPages}\n disabled={disabled}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n const inputEl = e.target as HTMLInputElement\n const value = parseInt(inputEl.value)\n if (!isNaN(value)) {\n const clampedValue = Math.max(1, Math.min(totalPages, value))\n handlePageChange(clampedValue)\n inputEl.value = ''\n }\n }\n }}\n onBlur={(e) => {\n const inputEl = e.target as HTMLInputElement\n const value = parseInt(inputEl.value)\n if (!isNaN(value) && inputEl.value !== '') {\n const clampedValue = Math.max(1, Math.min(totalPages, value))\n if (clampedValue !== value) {\n inputEl.value = String(clampedValue)\n }\n }\n }}\n className={cn(\n paginationItemVariants({ size, disabled }),\n colorStyles[color][variant],\n 'w-16 text-center',\n )}\n />\n </div>\n )}\n </div>\n )\n },\n)\n\nPagination.displayName = 'Pagination'\n\nexport type * from './types'\nexport default Pagination\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/checkbox/index.tsx"],"names":[],"mappings":"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","file":"chunk-I32ZQUYY.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport { Check, Minus } from \"lucide-react\";\nimport React, { useState, useCallback, useEffect, useId } from \"react\";\n\nimport { cn, iconSizes } from \"../utils\";\nimport {\n checkboxBorderColorClasses,\n focusRingColorClasses,\n textColorClasses,\n} from \"../variants\";\nimport type { CheckboxProps } from \"./types\";\n\n/**\n * Merges multiple refs into a single callback ref.\n * Handles both callback refs and RefObject refs safely.\n */\nfunction useMergeRefs<T>(\n ...refs: (React.Ref<T> | undefined)[]\n): React.RefCallback<T> {\n // Store refs in a ref to avoid dependency array issues\n const refsRef = React.useRef(refs);\n refsRef.current = refs;\n\n return useCallback((instance: T | null) => {\n refsRef.current.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(instance);\n } else if (ref && typeof ref === \"object\") {\n (ref as React.MutableRefObject<T | null>).current = instance;\n }\n });\n }, []);\n}\n\nconst checkboxVariants = cva(\n \"appearance-none rounded border bg-background 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 color: checkboxBorderColorClasses,\n size: {\n xs: \"w-(--checkbox-size-xs) h-(--checkbox-size-xs)\",\n sm: \"w-(--checkbox-size-sm) h-(--checkbox-size-sm)\",\n md: \"w-(--checkbox-size-md) h-(--checkbox-size-md)\",\n lg: \"w-(--checkbox-size-lg) h-(--checkbox-size-lg)\",\n },\n error: {\n true: \"border-error checked:border-error\",\n false: \"\",\n },\n },\n defaultVariants: {\n color: \"primary\",\n size: \"md\",\n },\n },\n);\n\nconst Checkbox = React.memo<CheckboxProps>(\n ({\n color = \"primary\",\n size = \"md\",\n label,\n helperText,\n error,\n indeterminate = false,\n className,\n checked,\n defaultChecked,\n ref,\n classNames,\n ...props\n }) => {\n const [internalChecked, setInternalChecked] = useState(\n defaultChecked ?? false,\n );\n const internalRef = React.useRef<HTMLInputElement>(null);\n\n // Generate unique ID for accessibility\n const uniqueId = useId();\n const checkboxId = props.id || `checkbox-${uniqueId}`;\n const helperId = `checkbox-helper-${uniqueId}`;\n const hasHelperText = !!(helperText || error);\n\n // Safely merge refs - handles both callback refs and RefObject refs\n const mergedRef = useMergeRefs(ref, internalRef);\n\n // Determine if controlled\n const isControlled = checked !== undefined;\n const currentChecked = isControlled ? checked : internalChecked;\n\n const onChangeRef = React.useRef(props.onChange);\n onChangeRef.current = props.onChange;\n\n const onChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setInternalChecked(event.target.checked);\n }\n onChangeRef.current?.(event);\n },\n [isControlled],\n );\n\n useEffect(() => {\n if (internalRef.current) {\n internalRef.current.indeterminate = indeterminate;\n }\n }, [indeterminate]);\n\n const checkboxElement = (\n <span className=\"relative inline-flex\" data-slot=\"wrapper\">\n <input\n ref={mergedRef}\n type=\"checkbox\"\n className={cn(\n \"checkbox_checkbox\",\n checkboxVariants({ color, size, error: !!error }),\n focusRingColorClasses[color],\n className,\n classNames?.checkbox,\n )}\n aria-checked={indeterminate ? \"mixed\" : currentChecked}\n aria-invalid={!!error || undefined}\n aria-describedby={hasHelperText ? helperId : undefined}\n {...props}\n id={checkboxId}\n onChange={onChange}\n checked={currentChecked}\n data-slot=\"checkbox\"\n />\n {(currentChecked || indeterminate) && (\n <span\n className={cn(\n \"checkbox_indicator\",\n \"absolute inset-0 flex items-center justify-center pointer-events-none\",\n classNames?.indicator,\n )}\n data-slot=\"indicator\"\n >\n {indeterminate ? (\n <Minus\n className={cn(iconSizes[size], textColorClasses[color])}\n strokeWidth={3}\n />\n ) : (\n <Check className={cn(iconSizes[size], textColorClasses[color])} />\n )}\n </span>\n )}\n </span>\n );\n\n return (\n <div\n className={cn(\"checkbox_root\", label && \"w-full\", classNames?.root)}\n data-slot=\"root\"\n >\n <label\n htmlFor={checkboxId}\n className={cn(\n \"flex items-center gap-2\",\n !props.disabled && \"cursor-pointer\",\n )}\n >\n {checkboxElement}\n {label && (\n <span\n className={cn(\n \"checkbox_label\",\n \"text-sm text-text-primary select-none\",\n error && \"text-error\",\n props.disabled && \"opacity-50\",\n classNames?.label,\n )}\n data-slot=\"label\"\n >\n {label}\n </span>\n )}\n </label>\n {(helperText || error) && (\n <p\n id={helperId}\n className={cn(\n \"checkbox_description\",\n \"mt-1 ml-0 text-xs\",\n error ? \"text-error\" : \"text-text-secondary\",\n classNames?.description,\n )}\n data-slot=\"description\"\n >\n {typeof error === \"string\" ? error : helperText}\n </p>\n )}\n </div>\n );\n },\n);\n\nCheckbox.displayName = \"Checkbox\";\n\nexport type * from \"./types\";\nexport default Checkbox;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/number-input/index.tsx"],"names":[],"mappings":"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","file":"chunk-JWTWPZ32.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport { Plus, Minus } from \"lucide-react\";\nimport React, { useId, useMemo, useCallback, useState } from \"react\";\n\nimport { useRipple, RippleContainer } from \"../hooks/useRipple\";\nimport Spinner from \"../spinner\";\n\nimport {\n cn,\n getValidationStatus,\n iconSizes,\n statusMessageVariants,\n} from \"../utils\";\nimport type { NumberInputProps } from \"./types\";\n\nconst numberInputVariants = cva(\n \"w-full placeholder:text-text-secondary/50 rounded-md disabled:opacity-50 disabled:cursor-not-allowed read-only:bg-surface read-only:cursor-default outline-none text-text-primary transition-colors\",\n {\n variants: {\n status: {\n default: \"bg-background border border-border focus:border-primary\",\n error: \"bg-background border border-error focus:border-error\",\n warning: \"bg-background border border-warning focus:border-warning\",\n info: \"bg-background border border-info focus:border-info\",\n success: \"bg-background border border-success focus:border-success\",\n },\n size: {\n xs: \"h-(--input-height-xs) px-(--input-padding-x-xs) text-xs\",\n sm: \"h-(--input-height-sm) px-(--input-padding-x-sm) text-sm\",\n md: \"h-(--input-height-md) px-(--input-padding-x-md) text-base\",\n lg: \"h-(--input-height-lg) px-(--input-padding-x-lg) text-lg\",\n },\n fullWidth: {\n true: \"w-full\",\n false: \"max-w-full\",\n },\n controlsPosition: {\n right: \"\",\n sides: \"\",\n },\n },\n defaultVariants: {\n status: \"default\",\n size: \"md\",\n fullWidth: true,\n controlsPosition: \"right\",\n },\n },\n);\n\nconst controlButtonVariants = cva(\n \"flex items-center justify-center cursor-pointer transition-colors disabled:opacity-30 disabled:cursor-not-allowed\",\n {\n variants: {\n size: {\n xs: \"w-6 h-6\",\n sm: \"w-7 h-7\",\n md: \"w-8 h-8\",\n lg: \"w-10 h-10\",\n },\n position: {\n right: \"hover:bg-surface-hover\",\n sides: \"hover:bg-surface-hover\",\n },\n },\n defaultVariants: {\n size: \"md\",\n position: \"right\",\n },\n },\n);\n\nconst ControlButton: React.FC<{ children: React.ReactNode; disabled?: boolean; className?: string; [key: string]: any }> = ({ children, disabled, className, ...props }) => {\n const { ripples, onPointerDown, onKeyDown, onAnimationEnd } = useRipple(!disabled)\n return (\n <button className={cn(className, 'relative overflow-hidden')} onPointerDown={onPointerDown} onKeyDown={onKeyDown} disabled={disabled} {...props}>\n {children}\n <RippleContainer ripples={ripples} onAnimationEnd={onAnimationEnd} />\n </button>\n )\n}\n\nconst NumberInput = React.memo<NumberInputProps>(\n ({\n value,\n defaultValue,\n onChange,\n min,\n max,\n step = 1,\n precision,\n size = \"md\",\n label,\n placeholder,\n disabled = false,\n readOnly = false,\n required = false,\n controls = true,\n controlsPosition = \"right\",\n clampOnBlur = true,\n className,\n classNames,\n error,\n warning,\n info,\n success,\n helperText,\n loading = false,\n fullWidth = true,\n ref,\n id,\n name,\n }) => {\n // Internal state for uncontrolled mode\n const [internalValue, setInternalValue] = useState<number | undefined>(\n defaultValue,\n );\n const currentValue = value !== undefined ? value : internalValue;\n\n // Generate unique IDs for accessibility\n const uniqueId = useId();\n const inputId = id || `number-input-${uniqueId}`;\n const helperId = `number-input-helper-${uniqueId}`;\n\n // Use shared validation status utility - memoized\n const { status, message: helperMessage } = useMemo(\n () => getValidationStatus({ error, warning, info, success, helperText }),\n [error, warning, info, success, helperText],\n );\n\n // Format number to precision\n const formatValue = useCallback(\n (val: number | undefined): string => {\n if (val === undefined || isNaN(val)) return \"\";\n if (precision !== undefined) {\n return val.toFixed(precision);\n }\n return String(val);\n },\n [precision],\n );\n\n // Parse string to number\n const parseValue = useCallback((str: string): number | undefined => {\n if (str === \"\" || str === \"-\") return undefined;\n const parsed = parseFloat(str);\n return isNaN(parsed) ? undefined : parsed;\n }, []);\n\n // Clamp value to min/max\n const clampValue = useCallback(\n (val: number | undefined): number | undefined => {\n if (val === undefined) return undefined;\n let clamped = val;\n if (min !== undefined && clamped < min) clamped = min;\n if (max !== undefined && clamped > max) clamped = max;\n return clamped;\n },\n [min, max],\n );\n\n // Update value\n const updateValue = useCallback(\n (newValue: number | undefined) => {\n if (value === undefined) {\n setInternalValue(newValue);\n }\n onChange?.(newValue);\n },\n [value, onChange],\n );\n\n // Handle input change\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n\n // Allow empty, minus sign, and valid numbers\n if (inputValue === \"\" || inputValue === \"-\") {\n updateValue(undefined);\n return;\n }\n\n const parsed = parseValue(inputValue);\n updateValue(parsed);\n },\n [parseValue, updateValue],\n );\n\n // Handle blur - clamp if needed\n const handleBlur = useCallback(() => {\n if (clampOnBlur && currentValue !== undefined) {\n const clamped = clampValue(currentValue);\n if (clamped !== currentValue) {\n updateValue(clamped);\n }\n }\n }, [clampOnBlur, currentValue, clampValue, updateValue]);\n\n // Increment value\n const handleIncrement = useCallback(() => {\n const newValue = (currentValue ?? 0) + step;\n const clamped = clampValue(newValue);\n updateValue(clamped);\n }, [currentValue, step, clampValue, updateValue]);\n\n // Decrement value\n const handleDecrement = useCallback(() => {\n const newValue = (currentValue ?? 0) - step;\n const clamped = clampValue(newValue);\n updateValue(clamped);\n }, [currentValue, step, clampValue, updateValue]);\n\n // Handle keyboard events\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (readOnly || disabled) return;\n\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n handleIncrement();\n } else if (e.key === \"ArrowDown\") {\n e.preventDefault();\n handleDecrement();\n }\n },\n [readOnly, disabled, handleIncrement, handleDecrement],\n );\n\n // Check if buttons should be disabled\n const isIncrementDisabled = useMemo(() => {\n if (disabled || readOnly || loading) return true;\n if (\n max !== undefined &&\n currentValue !== undefined &&\n currentValue >= max\n )\n return true;\n return false;\n }, [disabled, readOnly, loading, max, currentValue]);\n\n const isDecrementDisabled = useMemo(() => {\n if (disabled || readOnly || loading) return true;\n if (\n min !== undefined &&\n currentValue !== undefined &&\n currentValue <= min\n )\n return true;\n return false;\n }, [disabled, readOnly, loading, min, currentValue]);\n\n // Memoize aria-describedby\n const ariaDescribedBy = useMemo(() => {\n return helperMessage ? helperId : undefined;\n }, [helperMessage, helperId]);\n\n // Memoized className computations\n const rootClass = useMemo(\n () =>\n cn(\n \"number-input_root\",\n \"w-full flex flex-col relative\",\n !fullWidth && \"inline-block\",\n classNames?.root,\n ),\n [fullWidth, classNames?.root],\n );\n\n const labelClass = useMemo(\n () =>\n cn(\n \"number-input_label\",\n \"text-sm font-medium text-text-secondary mb-0.5\",\n classNames?.label,\n ),\n [classNames?.label],\n );\n\n const wrapperClass = useMemo(\n () =>\n cn(\n \"number-input_wrapper\",\n \"relative flex items-center\",\n loading && \"opacity-50 cursor-not-allowed\",\n controlsPosition === \"sides\" && \"gap-1\",\n classNames?.wrapper,\n ),\n [loading, controlsPosition, classNames?.wrapper],\n );\n\n const inputClass = useMemo(\n () =>\n cn(\n \"number-input_input\",\n numberInputVariants({ status, size, fullWidth, controlsPosition }),\n controls && controlsPosition === \"right\" && \"pr-16\",\n controls && controlsPosition === \"sides\" && \"text-center\",\n className,\n classNames?.input,\n ),\n [\n status,\n size,\n fullWidth,\n controlsPosition,\n controls,\n className,\n classNames?.input,\n ],\n );\n\n const controlsClass = useMemo(\n () =>\n cn(\n \"number-input_controls\",\n \"flex\",\n controlsPosition === \"right\" &&\n \"absolute right-0 top-0 h-full border-l border-border\",\n controlsPosition === \"sides\" && \"gap-1\",\n classNames?.controls,\n ),\n [controlsPosition, classNames?.controls],\n );\n\n const helperClass = useMemo(\n () =>\n cn(\n \"number-input_helper\",\n statusMessageVariants({ status }),\n \"mt-0.5\",\n status === \"error\" ? classNames?.error : classNames?.helper,\n ),\n [status, classNames?.error, classNames?.helper],\n );\n\n const iconSize = iconSizes[size];\n\n const incrementButton = (\n <ControlButton\n type=\"button\"\n onClick={handleIncrement}\n disabled={isIncrementDisabled}\n data-slot=\"increment\"\n className={cn(\n \"number-input_increment h-full!\",\n controlButtonVariants({ size, position: controlsPosition }),\n controlsPosition === \"right\" && \"\",\n classNames?.increment,\n )}\n aria-label=\"Increment value\"\n tabIndex={-1}\n >\n <Plus className={iconSize} aria-hidden=\"true\" />\n </ControlButton>\n );\n\n const decrementButton = (\n <ControlButton\n type=\"button\"\n onClick={handleDecrement}\n disabled={isDecrementDisabled}\n data-slot=\"decrement\"\n className={cn(\n \"number-input_decrement h-full!\",\n controlButtonVariants({ size, position: controlsPosition }),\n controlsPosition === \"right\" && \"border-r border-border\",\n classNames?.decrement,\n )}\n aria-label=\"Decrement value\"\n tabIndex={-1}\n >\n <Minus className={iconSize} aria-hidden=\"true\" />\n </ControlButton>\n );\n\n const inputElement = (\n <div data-slot=\"wrapper\" className={wrapperClass}>\n {controls && controlsPosition === \"sides\" && decrementButton}\n <input\n ref={ref}\n id={inputId}\n name={name}\n type=\"text\"\n inputMode=\"decimal\"\n data-slot=\"input\"\n className={inputClass}\n value={formatValue(currentValue)}\n onChange={handleChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={placeholder}\n aria-invalid={status === \"error\"}\n aria-describedby={ariaDescribedBy}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={currentValue}\n />\n {controls && controlsPosition === \"right\" && (\n <div data-slot=\"controls\" className={controlsClass}>\n <div className=\"flex flex-row h-full\">\n {decrementButton}\n {incrementButton}\n </div>\n </div>\n )}\n {controls && controlsPosition === \"sides\" && incrementButton}\n {loading && (\n <div className=\"absolute right-3 flex items-center\">\n <Spinner aria-hidden=\"true\" />\n </div>\n )}\n </div>\n );\n\n return (\n <div data-slot=\"root\" className={rootClass}>\n {label && (\n <label htmlFor={inputId} data-slot=\"label\" className={labelClass}>\n {label}\n {required && <span className=\"text-error ml-1\">*</span>}\n </label>\n )}\n {inputElement}\n {helperMessage && (\n <p id={helperId} data-slot=\"helper\" className={helperClass}>\n {helperMessage}\n </p>\n )}\n </div>\n );\n },\n);\n\nNumberInput.displayName = \"NumberInput\";\n\nexport type * from \"./types\";\nexport default NumberInput;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/input/index.tsx"],"names":[],"mappings":";;;;;;;AAgBA,IAAM,aAAA,GAAgB,GAAA;AAAA,EACpB,qMAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,yDAAA;AAAA,QACT,MAAA,EAAQ;AAAA,OACV;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,OAAA,EAAS,EAAA;AAAA,QACT,KAAA,EAAO,iCAAA;AAAA,QACP,OAAA,EAAS,qCAAA;AAAA,QACT,IAAA,EAAM,+BAAA;AAAA,QACN,OAAA,EAAS;AAAA,OACX;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,yDAAA;AAAA,QACJ,EAAA,EAAI,yDAAA;AAAA,QACJ,EAAA,EAAI,2DAAA;AAAA,QACJ,EAAA,EAAI;AAAA,OACN;AAAA,MACA,SAAA,EAAW;AAAA,QACT,IAAA,EAAM,QAAA;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,MAAA,EAAQ,SAAA;AAAA,MACR,IAAA,EAAM,IAAA;AAAA,MACN,SAAA,EAAW;AAAA;AACb;AAEJ,CAAA;AAEA,IAAM,QAAQ,KAAA,CAAM,IAAA;AAAA,EAClB,CAAC;AAAA,IACC,OAAA,GAAU,SAAA;AAAA,IACV,IAAA,GAAO,IAAA;AAAA,IACP,KAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,eAAA,GAAkB,QAAA;AAAA,IAClB,QAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA,GAAY,KAAA;AAAA,IACZ,OAAA;AAAA,IACA,OAAA,GAAU,KAAA;AAAA,IACV,SAAA;AAAA,IACA,SAAA,GAAY,KAAA;AAAA,IACZ,SAAA,GAAY,IAAA;AAAA,IACZ,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,UAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAM;AACJ,IAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,KAAA,CAAM,SAAS,EAAE,CAAA;AAC3D,IAAA,MAAM,YAAA,GAAe,KAAA,KAAU,MAAA,GAAY,KAAA,GAAQ,aAAA;AAGnD,IAAA,MAAM,WAAW,KAAA,EAAM;AACvB,IAAA,MAAM,OAAA,GAAU,KAAA,CAAM,EAAA,IAAM,CAAA,MAAA,EAAS,QAAQ,CAAA,CAAA;AAC7C,IAAA,MAAM,QAAA,GAAW,gBAAgB,QAAQ,CAAA,CAAA;AACzC,IAAA,MAAM,SAAA,GAAY,iBAAiB,QAAQ,CAAA,CAAA;AAG3C,IAAA,MAAM,EAAE,MAAA,EAAQ,OAAA,EAAS,aAAA,EAAc,GAAI,OAAA;AAAA,MACzC,MAAM,oBAAoB,EAAE,KAAA,EAAO,SAAS,IAAA,EAAM,OAAA,EAAS,YAAY,CAAA;AAAA,MACvE,CAAC,KAAA,EAAO,OAAA,EAAS,IAAA,EAAM,SAAS,UAAU;AAAA,KAC5C;AAEA,IAAA,MAAM,eAAe,KAAA,CAAM,WAAA;AAAA,MACzB,CAAC,CAAA,KAA2C;AAC1C,QAAA,IAAI,KAAA,KAAU,MAAA,EAAW,gBAAA,CAAiB,CAAA,CAAE,OAAO,KAAK,CAAA;AACxD,QAAA,QAAA,GAAW,CAAC,CAAA;AAAA,MACd,CAAA;AAAA,MACA,CAAC,OAAO,QAAQ;AAAA,KAClB;AAEA,IAAA,MAAM,WAAA,GAAc,KAAA,CAAM,WAAA,CAAY,MAAM;AAC1C,MAAA,IAAI,KAAA,KAAU,MAAA,EAAW,gBAAA,CAAiB,EAAE,CAAA;AAC5C,MAAA,OAAA,IAAU;AAAA,IACZ,CAAA,EAAG,CAAC,KAAA,EAAO,OAAO,CAAC,CAAA;AAEnB,IAAA,MAAM,YACJ,SAAA,IAAa,YAAA,IAAgB,CAAC,KAAA,CAAM,QAAA,IAAY,CAAC,KAAA,CAAM,QAAA;AACzD,IAAA,MAAM,YAAA,GAAe,aAAa,SAAA,IAAa,OAAA;AAG/C,IAAA,MAAM,eAAA,GAAkB,QAAQ,MAAM;AACpC,MAAA,MAAM,QAAkB,EAAC;AACzB,MAAA,IAAI,aAAA,EAAe,KAAA,CAAM,IAAA,CAAK,QAAQ,CAAA;AACtC,MAAA,IAAI,OAAA,EAAS,KAAA,CAAM,IAAA,CAAK,SAAS,CAAA;AACjC,MAAA,OAAO,MAAM,MAAA,GAAS,CAAA,GAAI,KAAA,CAAM,IAAA,CAAK,GAAG,CAAA,GAAI,MAAA;AAAA,IAC9C,GAAG,CAAC,aAAA,EAAe,QAAA,EAAU,OAAA,EAAS,SAAS,CAAC,CAAA;AAEhD,IAAA,MAAM,YAAA,GAAe,EAAA;AAAA,MACnB,eAAA;AAAA,MACA,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA,OAAA,IAAW,+BAAA;AAAA,MACX,UAAA,EAAY;AAAA,KACd;AAEA,IAAA,MAAM,aAAA,GAAgB,EAAA;AAAA,MACpB,gBAAA;AAAA,MACA,oEAAA;AAAA,MACA,UAAA,EAAY;AAAA,KACd;AAEA,IAAA,MAAM,UAAA,GAAa,EAAA;AAAA,MACjB,aAAA;AAAA,MACA,cAAc,EAAE,OAAA,EAAS,MAAA,EAAQ,IAAA,EAAM,WAAW,CAAA;AAAA,MAClD,CAAC,CAAC,QAAA,IAAY,OAAA;AAAA,MACd,CAAC,CAAC,YAAA,IAAgB,MAAA;AAAA,MAClB,SAAA;AAAA,MACA,UAAA,EAAY;AAAA,KACd;AAEA,IAAA,MAAM,cAAA,GAAiB,EAAA;AAAA,MACrB,iBAAA;AAAA,MACA,2EAAA;AAAA,MACA,UAAA,EAAY;AAAA,KACd;AAEA,IAAA,MAAM,gBAAA,GAAmB,EAAA;AAAA,MACvB,mBAAA;AAAA,MACA,4EAAA;AAAA,MACA,UAAA,EAAY;AAAA,KACd;AAEA,IAAA,MAAM,SAAA,GAAY,EAAA;AAAA,MAChB,YAAA;AAAA,MACA,+BAAA;AAAA,MACA,CAAC,SAAA,IAAa,cAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAEA,IAAA,MAAM,UAAA,GAAa,EAAA;AAAA,MACjB,aAAA;AAAA,MACA,yCAAA;AAAA,MACA,UAAA,EAAY;AAAA,KACd;AAEA,IAAA,MAAM,WAAA,GAAc,EAAA;AAAA,MAClB,cAAA;AAAA,MACA,qBAAA,CAAsB,EAAE,MAAA,EAAQ,CAAA;AAAA,MAChC,MAAA,KAAW,OAAA,GAAU,UAAA,EAAY,KAAA,GAAQ,UAAA,EAAY;AAAA,KACvD;AAEA,IAAA,MAAM,iBAAA,GAAoB,EAAA;AAAA,MACxB,cAAA;AAAA,MACA,qBAAA,CAAsB,EAAE,MAAA,EAAQ,CAAA;AAAA,MAChC,QAAA;AAAA,MACA,MAAA,KAAW,OAAA,GAAU,UAAA,EAAY,KAAA,GAAQ,UAAA,EAAY;AAAA,KACvD;AAEA,IAAA,MAAM,QAAA,GAAW,UAAU,IAAI,CAAA;AAE/B,IAAA,MAAM,+BACJ,IAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,SAAA,EAAU,WAAW,YAAA,EACjC,QAAA,EAAA;AAAA,MAAA,QAAA,oBACC,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,WAAA,EAAU,UAAA;AAAA,UACV,SAAA,EAAW,aAAA;AAAA,UACX,aAAA,EAAY,MAAA;AAAA,UAEX,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,sBAEF,GAAA;AAAA,QAAC,OAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,EAAA,EAAI,OAAA;AAAA,UACJ,WAAA,EAAU,OAAA;AAAA,UACV,SAAA,EAAW,UAAA;AAAA,UACX,KAAA,EAAO,YAAA;AAAA,UACP,QAAA,EAAU,YAAA;AAAA,UACV,SAAA;AAAA,UACA,gBAAc,MAAA,KAAW,OAAA;AAAA,UACzB,WAAA,EAAW,OAAA;AAAA,UACX,kBAAA,EAAkB,eAAA;AAAA,UACjB,GAAG;AAAA;AAAA,OACN;AAAA,sBACA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,WAAA,EAAY,WAAW,cAAA,EACnC,QAAA,EAAA;AAAA,QAAA,SAAA,IAAa,CAAC,OAAA,oBACb,GAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,QAAA;AAAA,YACL,OAAA,EAAS,WAAA;AAAA,YACT,WAAA,EAAU,aAAA;AAAA,YACV,SAAA,EAAW,gBAAA;AAAA,YACX,YAAA,EAAW,aAAA;AAAA,YAEX,QAAA,kBAAA,GAAA,CAAC,CAAA,EAAA,EAAE,SAAA,EAAW,QAAA,EAAU,eAAY,MAAA,EAAO;AAAA;AAAA,SAC7C;AAAA,QAED,0BACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,eAAA,EAAA,EAAQ,eAAY,MAAA,EAAO,CAAA;AAAA,8BAC3B,MAAA,EAAA,EAAK,EAAA,EAAI,SAAA,EAAW,SAAA,EAAU,WAAU,QAAA,EAAA,SAAA,EAEzC;AAAA,SAAA,EACF,IAEA,SAAA,oBAAa,GAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAY,QAAQ,QAAA,EAAA,SAAA,EAAU;AAAA,OAAA,EAErD;AAAA,KAAA,EACF,CAAA;AAGF,IAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,MAAA,EAAO,WAAW,SAAA,EAC/B,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yCAAA,EACZ,QAAA,EAAA;AAAA,QAAA,KAAA,yBACE,OAAA,EAAA,EAAM,OAAA,EAAS,SAAS,WAAA,EAAU,OAAA,EAAQ,WAAW,UAAA,EACnD,QAAA,EAAA;AAAA,UAAA,KAAA;AAAA,UACA,MAAM,QAAA,oBAAY,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mBAAkB,QAAA,EAAA,GAAA,EAAC;AAAA,SAAA,EACxD,CAAA;AAAA,QAED,aAAA,IAAiB,eAAA,KAAoB,KAAA,oBACpC,GAAA,CAAC,GAAA,EAAA,EAAE,EAAA,EAAI,QAAA,EAAU,WAAA,EAAU,QAAA,EAAS,SAAA,EAAW,WAAA,EAC5C,QAAA,EAAA,aAAA,EACH,CAAA;AAAA,QAED,SAAA,IAAa,SAAA,oBACZ,IAAA,CAAC,MAAA,EAAA,EAAK,WAAU,8CAAA,EACb,QAAA,EAAA;AAAA,UAAA,MAAA,CAAO,YAAY,CAAA,CAAE,MAAA;AAAA,UAAO,GAAA;AAAA,UAAE;AAAA,SAAA,EACjC;AAAA,OAAA,EAEJ,CAAA;AAAA,MACC,YAAA;AAAA,MACA,aAAA,IAAiB,eAAA,KAAoB,QAAA,oBACpC,GAAA,CAAC,GAAA,EAAA,EAAE,EAAA,EAAI,QAAA,EAAU,WAAA,EAAU,QAAA,EAAS,SAAA,EAAW,iBAAA,EAC5C,QAAA,EAAA,aAAA,EACH;AAAA,KAAA,EAEJ,CAAA;AAAA,EAEJ;AACF,CAAA;AAEA,KAAA,CAAM,WAAA,GAAc,OAAA;AAGpB,IAAO,aAAA,GAAQ","file":"chunk-KH577UDI.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\nimport React, { useId, useMemo } from \"react\";\n\nimport Spinner from \"../spinner\";\n\nimport {\n cn,\n getValidationStatus,\n iconSizes,\n statusMessageVariants,\n} from \"../utils\";\nimport type { InputProps } from \"./types\";\n\nconst inputVariants = cva(\n \"w-full placeholder:text-text-secondary/50 rounded-md disabled:opacity-50 disabled:cursor-not-allowed read-only:bg-surface read-only:cursor-default outline-none text-text-primary transition-colors\",\n {\n variants: {\n variant: {\n outline: \"bg-background border border-border focus:border-primary\",\n filled: \"bg-surface border border-transparent focus:border-primary\",\n },\n status: {\n default: \"\",\n error: \"border-error focus:border-error\",\n warning: \"border-warning focus:border-warning\",\n info: \"border-info focus:border-info\",\n success: \"border-success focus:border-success\",\n },\n size: {\n xs: \"h-(--input-height-xs) px-(--input-padding-x-xs) text-xs\",\n sm: \"h-(--input-height-sm) px-(--input-padding-x-sm) text-sm\",\n md: \"h-(--input-height-md) px-(--input-padding-x-md) text-base\",\n lg: \"h-(--input-height-lg) px-(--input-padding-x-lg) text-lg\",\n },\n fullWidth: {\n true: \"w-full\",\n false: \"max-w-full\",\n },\n },\n defaultVariants: {\n variant: \"outline\",\n status: \"default\",\n size: \"md\",\n fullWidth: true,\n },\n },\n);\n\nconst Input = React.memo<InputProps>(\n ({\n variant = \"outline\",\n size = \"md\",\n label,\n error,\n warning,\n info,\n success,\n helperText,\n messagePosition = \"bottom\",\n leftIcon,\n rightIcon,\n clearable = false,\n onClear,\n loading = false,\n maxLength,\n showCount = false,\n fullWidth = true,\n className,\n wrapperClassName,\n classNames,\n value,\n onChange,\n ref,\n ...props\n }) => {\n const [internalValue, setInternalValue] = React.useState(\"\");\n const currentValue = value !== undefined ? value : internalValue;\n\n // Generate unique IDs for accessibility\n const uniqueId = useId();\n const inputId = props.id || `input-${uniqueId}`;\n const helperId = `input-helper-${uniqueId}`;\n const loadingId = `input-loading-${uniqueId}`;\n\n // Use shared validation status utility - memoized\n const { status, message: helperMessage } = useMemo(\n () => getValidationStatus({ error, warning, info, success, helperText }),\n [error, warning, info, success, helperText],\n );\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (value === undefined) setInternalValue(e.target.value);\n onChange?.(e);\n },\n [value, onChange],\n );\n\n const handleClear = React.useCallback(() => {\n if (value === undefined) setInternalValue(\"\");\n onClear?.();\n }, [value, onClear]);\n\n const showClear =\n clearable && currentValue && !props.disabled && !props.readOnly;\n const hasRightIcon = rightIcon || showClear || loading;\n\n // Memoize aria-describedby to avoid array recreation on every render\n const ariaDescribedBy = useMemo(() => {\n const parts: string[] = [];\n if (helperMessage) parts.push(helperId);\n if (loading) parts.push(loadingId);\n return parts.length > 0 ? parts.join(\" \") : undefined;\n }, [helperMessage, helperId, loading, loadingId]);\n\n const wrapperClass = cn(\n \"input_wrapper\",\n \"relative w-full\",\n wrapperClassName,\n loading && \"opacity-50 cursor-not-allowed\",\n classNames?.wrapper,\n );\n\n const leftIconClass = cn(\n \"input_leftIcon\",\n \"absolute left-3 flex items-center h-full top-0 text-text-secondary\",\n classNames?.leftIcon,\n );\n\n const inputClass = cn(\n \"input_input\",\n inputVariants({ variant, status, size, fullWidth }),\n !!leftIcon && \"pl-10\",\n !!hasRightIcon && \"pr-8\",\n className,\n classNames?.input,\n );\n\n const rightIconClass = cn(\n \"input_rightIcon\",\n \"absolute right-3 flex gap-2 items-center h-full top-0 text-text-secondary\",\n classNames?.rightIcon,\n );\n\n const clearButtonClass = cn(\n \"input_clearButton\",\n \"flex items-center h-full top-0 text-text-secondary hover:text-text-primary\",\n classNames?.clearButton,\n );\n\n const rootClass = cn(\n \"input_root\",\n \"w-full flex flex-col relative\",\n !fullWidth && \"inline-block\",\n classNames?.root,\n );\n\n const labelClass = cn(\n \"input_label\",\n \"text-sm font-medium text-text-secondary\",\n classNames?.label,\n );\n\n const helperClass = cn(\n \"input_helper\",\n statusMessageVariants({ status }),\n status === \"error\" ? classNames?.error : classNames?.helper,\n );\n\n const helperBottomClass = cn(\n \"input_helper\",\n statusMessageVariants({ status }),\n \"mt-0.5\",\n status === \"error\" ? classNames?.error : classNames?.helper,\n );\n\n const iconSize = iconSizes[size];\n\n const inputElement = (\n <div data-slot=\"wrapper\" className={wrapperClass}>\n {leftIcon && (\n <div\n data-slot=\"leftIcon\"\n className={leftIconClass}\n aria-hidden=\"true\"\n >\n {leftIcon}\n </div>\n )}\n <input\n ref={ref}\n id={inputId}\n data-slot=\"input\"\n className={inputClass}\n value={currentValue}\n onChange={handleChange}\n maxLength={maxLength}\n aria-invalid={status === \"error\"}\n aria-busy={loading}\n aria-describedby={ariaDescribedBy}\n {...props}\n />\n <div data-slot=\"rightIcon\" className={rightIconClass}>\n {showClear && !loading && (\n <button\n type=\"button\"\n onClick={handleClear}\n data-slot=\"clearButton\"\n className={clearButtonClass}\n aria-label=\"Clear input\"\n >\n <X className={iconSize} aria-hidden=\"true\" />\n </button>\n )}\n {loading ? (\n <>\n <Spinner aria-hidden=\"true\" />\n <span id={loadingId} className=\"sr-only\">\n Loading\n </span>\n </>\n ) : (\n rightIcon && <span aria-hidden=\"true\">{rightIcon}</span>\n )}\n </div>\n </div>\n );\n\n return (\n <div data-slot=\"root\" className={rootClass}>\n <div className=\"flex gap-2 items-center relative mb-0.5\">\n {label && (\n <label htmlFor={inputId} data-slot=\"label\" className={labelClass}>\n {label}\n {props.required && <span className=\"text-error ml-1\">*</span>}\n </label>\n )}\n {helperMessage && messagePosition === \"top\" && (\n <p id={helperId} data-slot=\"helper\" className={helperClass}>\n {helperMessage}\n </p>\n )}\n {showCount && maxLength && (\n <span className=\"text-xs text-text-secondary absolute right-0\">\n {String(currentValue).length}/{maxLength}\n </span>\n )}\n </div>\n {inputElement}\n {helperMessage && messagePosition === \"bottom\" && (\n <p id={helperId} data-slot=\"helper\" className={helperBottomClass}>\n {helperMessage}\n </p>\n )}\n </div>\n );\n },\n);\n\nInput.displayName = \"Input\";\n\nexport type * from \"./types\";\nexport default Input;\n"]}