@mdigital_ui/ui 0.3.1 → 0.3.2

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 (470) hide show
  1. package/dist/accordion/index.d.ts +6 -0
  2. package/dist/accordion/index.d.ts.map +1 -0
  3. package/dist/accordion/index.js +1 -1
  4. package/dist/accordion/types.d.ts +125 -0
  5. package/dist/accordion/types.d.ts.map +1 -0
  6. package/dist/avatar/index.d.ts +14 -0
  7. package/dist/avatar/index.d.ts.map +1 -0
  8. package/dist/avatar/types.d.ts +147 -0
  9. package/dist/avatar/types.d.ts.map +1 -0
  10. package/dist/badge/index.d.ts +28 -0
  11. package/dist/badge/index.d.ts.map +1 -0
  12. package/dist/badge/index.js +1 -1
  13. package/dist/badge/types.d.ts +97 -0
  14. package/dist/badge/types.d.ts.map +1 -0
  15. package/dist/breadcrumbs/index.d.ts +13 -0
  16. package/dist/breadcrumbs/index.d.ts.map +1 -0
  17. package/dist/breadcrumbs/index.js +3 -3
  18. package/dist/breadcrumbs/types.d.ts +118 -0
  19. package/dist/breadcrumbs/types.d.ts.map +1 -0
  20. package/dist/button/index.d.ts +6 -0
  21. package/dist/button/index.d.ts.map +1 -0
  22. package/dist/button/index.js +1 -1
  23. package/dist/button/types.d.ts +86 -0
  24. package/dist/button/types.d.ts.map +1 -0
  25. package/dist/button-group/index.d.ts +34 -0
  26. package/dist/button-group/index.d.ts.map +1 -0
  27. package/dist/button-group/types.d.ts +75 -0
  28. package/dist/button-group/types.d.ts.map +1 -0
  29. package/dist/card/index.d.ts +71 -0
  30. package/dist/card/index.d.ts.map +1 -0
  31. package/dist/card/index.js +1 -1
  32. package/dist/card/types.d.ts +136 -0
  33. package/dist/card/types.d.ts.map +1 -0
  34. package/dist/carousel/carousel-navigation.d.ts +9 -0
  35. package/dist/carousel/carousel-navigation.d.ts.map +1 -0
  36. package/dist/carousel/index.d.ts +50 -0
  37. package/dist/carousel/index.d.ts.map +1 -0
  38. package/dist/carousel/index.js +1 -1
  39. package/dist/cascader/index.d.ts +27 -0
  40. package/dist/cascader/index.d.ts.map +1 -0
  41. package/dist/cascader/index.js +1 -1
  42. package/dist/cascader/types.d.ts +220 -0
  43. package/dist/cascader/types.d.ts.map +1 -0
  44. package/dist/checkbox/index.d.ts +6 -0
  45. package/dist/checkbox/index.d.ts.map +1 -0
  46. package/dist/checkbox/types.d.ts +21 -0
  47. package/dist/checkbox/types.d.ts.map +1 -0
  48. package/dist/checkbox-group/index.d.ts +6 -0
  49. package/dist/checkbox-group/index.d.ts.map +1 -0
  50. package/dist/checkbox-group/types.d.ts +43 -0
  51. package/dist/checkbox-group/types.d.ts.map +1 -0
  52. package/dist/{chunk-5JOJBDET.js → chunk-2K7MDR7K.js} +3 -3
  53. package/dist/chunk-2K7MDR7K.js.map +1 -0
  54. package/dist/{chunk-VY3X4SDU.js → chunk-2SYAIIJE.js} +3 -3
  55. package/dist/{chunk-VY3X4SDU.js.map → chunk-2SYAIIJE.js.map} +1 -1
  56. package/dist/{chunk-3HBMVZF5.js → chunk-623OVNLC.js} +4 -4
  57. package/dist/{chunk-3HBMVZF5.js.map → chunk-623OVNLC.js.map} +1 -1
  58. package/dist/{chunk-2NYVRAG4.js → chunk-6JGNJI5T.js} +2 -3
  59. package/dist/chunk-6JGNJI5T.js.map +1 -0
  60. package/dist/{chunk-UHVPOGNC.js → chunk-6QZFWSN7.js} +4 -4
  61. package/dist/chunk-6QZFWSN7.js.map +1 -0
  62. package/dist/{chunk-5VORB55Y.js → chunk-7P3Q6H2V.js} +3 -3
  63. package/dist/{chunk-5VORB55Y.js.map → chunk-7P3Q6H2V.js.map} +1 -1
  64. package/dist/{chunk-YWGWFGCY.js → chunk-BVO2BNFG.js} +129 -24
  65. package/dist/chunk-BVO2BNFG.js.map +1 -0
  66. package/dist/{chunk-CO766H7F.js → chunk-D53OQERO.js} +3 -4
  67. package/dist/chunk-D53OQERO.js.map +1 -0
  68. package/dist/{chunk-HWFI4GJE.js → chunk-DRCT6VZ7.js} +5 -5
  69. package/dist/{chunk-HWFI4GJE.js.map → chunk-DRCT6VZ7.js.map} +1 -1
  70. package/dist/{chunk-RPIJ2KY7.js → chunk-DUNER5Q3.js} +3 -3
  71. package/dist/{chunk-RPIJ2KY7.js.map → chunk-DUNER5Q3.js.map} +1 -1
  72. package/dist/{chunk-KTHWXHDN.js → chunk-E222IQHF.js} +3 -3
  73. package/dist/chunk-E222IQHF.js.map +1 -0
  74. package/dist/{chunk-CLLNXRYZ.js → chunk-GIWG6BCT.js} +26 -5
  75. package/dist/chunk-GIWG6BCT.js.map +1 -0
  76. package/dist/{chunk-FZLFCT6Q.js → chunk-HQVTIFXN.js} +4 -4
  77. package/dist/chunk-HQVTIFXN.js.map +1 -0
  78. package/dist/{chunk-Q57THXIU.js → chunk-HXPMYGSR.js} +16 -5
  79. package/dist/chunk-HXPMYGSR.js.map +1 -0
  80. package/dist/{chunk-OL2GU2O3.js → chunk-I75ZSXD6.js} +3 -3
  81. package/dist/{chunk-OL2GU2O3.js.map → chunk-I75ZSXD6.js.map} +1 -1
  82. package/dist/{chunk-XQJ6HZ4Q.js → chunk-I7MESP7F.js} +12 -12
  83. package/dist/chunk-I7MESP7F.js.map +1 -0
  84. package/dist/{chunk-UTKVWE76.js → chunk-ITCXCSUS.js} +7 -6
  85. package/dist/chunk-ITCXCSUS.js.map +1 -0
  86. package/dist/{chunk-7KA7JSRX.js → chunk-KJRKPYYZ.js} +88 -105
  87. package/dist/chunk-KJRKPYYZ.js.map +1 -0
  88. package/dist/{chunk-RZVEKAFR.js → chunk-M3AALH7G.js} +3 -3
  89. package/dist/chunk-M3AALH7G.js.map +1 -0
  90. package/dist/{chunk-HLY4VDIX.js → chunk-MBAZ7OW5.js} +7 -7
  91. package/dist/chunk-MBAZ7OW5.js.map +1 -0
  92. package/dist/{chunk-ILQQTKD4.js → chunk-MOQDO4XZ.js} +3 -3
  93. package/dist/chunk-MOQDO4XZ.js.map +1 -0
  94. package/dist/{chunk-L572AMB3.js → chunk-OKCKLIFP.js} +3 -3
  95. package/dist/{chunk-L572AMB3.js.map → chunk-OKCKLIFP.js.map} +1 -1
  96. package/dist/{chunk-J6IJBRYT.js → chunk-OSHJYIHC.js} +11 -11
  97. package/dist/{chunk-J6IJBRYT.js.map → chunk-OSHJYIHC.js.map} +1 -1
  98. package/dist/{chunk-ZRSSFP52.js → chunk-OV6K6GML.js} +3 -3
  99. package/dist/{chunk-ZRSSFP52.js.map → chunk-OV6K6GML.js.map} +1 -1
  100. package/dist/{chunk-4TQ4BZ3S.js → chunk-QC7XNMM7.js} +7 -7
  101. package/dist/chunk-QC7XNMM7.js.map +1 -0
  102. package/dist/{chunk-YTUB2Q7P.js → chunk-QLUGKHAA.js} +4 -5
  103. package/dist/chunk-QLUGKHAA.js.map +1 -0
  104. package/dist/{chunk-22MY7IWD.js → chunk-SJHNFRXG.js} +3 -3
  105. package/dist/{chunk-22MY7IWD.js.map → chunk-SJHNFRXG.js.map} +1 -1
  106. package/dist/{chunk-FJPMIXWU.js → chunk-SX5UNM6C.js} +3 -3
  107. package/dist/{chunk-FJPMIXWU.js.map → chunk-SX5UNM6C.js.map} +1 -1
  108. package/dist/{chunk-TBMY5EQC.js → chunk-TBH7QF26.js} +5 -4
  109. package/dist/chunk-TBH7QF26.js.map +1 -0
  110. package/dist/{chunk-HEV27FUK.js → chunk-UK4RHCMM.js} +3 -4
  111. package/dist/chunk-UK4RHCMM.js.map +1 -0
  112. package/dist/{chunk-2J57G7XG.js → chunk-UN3EW2PL.js} +13 -22
  113. package/dist/chunk-UN3EW2PL.js.map +1 -0
  114. package/dist/{chunk-ITZBSE5F.js → chunk-VKLDLJXG.js} +3 -3
  115. package/dist/chunk-VKLDLJXG.js.map +1 -0
  116. package/dist/{chunk-WUBMNJGC.js → chunk-VOODO2ZE.js} +64 -25
  117. package/dist/chunk-VOODO2ZE.js.map +1 -0
  118. package/dist/{chunk-FEMHXG2P.js → chunk-WAPZ4QAN.js} +3 -3
  119. package/dist/{chunk-FEMHXG2P.js.map → chunk-WAPZ4QAN.js.map} +1 -1
  120. package/dist/{chunk-KPM72QBO.js → chunk-X5XIBIEF.js} +4 -4
  121. package/dist/chunk-X5XIBIEF.js.map +1 -0
  122. package/dist/{chunk-IVOMN6DV.js → chunk-XHDUO3UW.js} +3 -4
  123. package/dist/chunk-XHDUO3UW.js.map +1 -0
  124. package/dist/{chunk-RW4RW4DV.js → chunk-XOIX5WIL.js} +5 -3
  125. package/dist/chunk-XOIX5WIL.js.map +1 -0
  126. package/dist/{chunk-CSRMVLPR.js → chunk-XWEI3MES.js} +32 -12
  127. package/dist/chunk-XWEI3MES.js.map +1 -0
  128. package/dist/{chunk-SAVEKACZ.js → chunk-YPHVSPWM.js} +4 -4
  129. package/dist/chunk-YPHVSPWM.js.map +1 -0
  130. package/dist/{chunk-ZFYEAPEL.js → chunk-ZHPYJTWP.js} +4 -4
  131. package/dist/{chunk-ZFYEAPEL.js.map → chunk-ZHPYJTWP.js.map} +1 -1
  132. package/dist/{chunk-DQQLJ5C5.js → chunk-ZPVBIQ2R.js} +3 -3
  133. package/dist/{chunk-DQQLJ5C5.js.map → chunk-ZPVBIQ2R.js.map} +1 -1
  134. package/dist/{chunk-WTGCXWNX.js → chunk-ZQTJBYKO.js} +3 -3
  135. package/dist/chunk-ZQTJBYKO.js.map +1 -0
  136. package/dist/{chunk-KPI7MN5V.js → chunk-ZSS6E4T2.js} +39 -14
  137. package/dist/chunk-ZSS6E4T2.js.map +1 -0
  138. package/dist/{chunk-N3ZVPIFC.js → chunk-ZYWDJMHF.js} +4 -4
  139. package/dist/chunk-ZYWDJMHF.js.map +1 -0
  140. package/dist/clipboard/index.d.ts +6 -0
  141. package/dist/clipboard/index.d.ts.map +1 -0
  142. package/dist/clipboard/index.js +1 -1
  143. package/dist/clipboard/types.d.ts +65 -0
  144. package/dist/clipboard/types.d.ts.map +1 -0
  145. package/dist/collapse/index.d.ts +6 -0
  146. package/dist/collapse/index.d.ts.map +1 -0
  147. package/dist/collapse/index.js +1 -1
  148. package/dist/collapse/types.d.ts +60 -0
  149. package/dist/collapse/types.d.ts.map +1 -0
  150. package/dist/command/index.d.ts +74 -0
  151. package/dist/command/index.d.ts.map +1 -0
  152. package/dist/command/index.js +2 -2
  153. package/dist/command/types.d.ts +24 -0
  154. package/dist/command/types.d.ts.map +1 -0
  155. package/dist/context-menu/index.d.ts +63 -0
  156. package/dist/context-menu/index.d.ts.map +1 -0
  157. package/dist/context-menu/index.js +1 -1
  158. package/dist/context-menu/types.d.ts +109 -0
  159. package/dist/context-menu/types.d.ts.map +1 -0
  160. package/dist/date-picker/index.d.ts +12 -0
  161. package/dist/date-picker/index.d.ts.map +1 -0
  162. package/dist/date-picker/index.js +2 -2
  163. package/dist/date-picker/types.d.ts +66 -0
  164. package/dist/date-picker/types.d.ts.map +1 -0
  165. package/dist/date-picker/utils.d.ts +10 -0
  166. package/dist/date-picker/utils.d.ts.map +1 -0
  167. package/dist/descriptions/index.d.ts +6 -0
  168. package/dist/descriptions/index.d.ts.map +1 -0
  169. package/dist/descriptions/index.js +1 -1
  170. package/dist/descriptions/types.d.ts +34 -0
  171. package/dist/descriptions/types.d.ts.map +1 -0
  172. package/dist/divider/index.d.ts +39 -0
  173. package/dist/divider/index.d.ts.map +1 -0
  174. package/dist/divider/index.js +1 -1
  175. package/dist/divider/types.d.ts +63 -0
  176. package/dist/divider/types.d.ts.map +1 -0
  177. package/dist/drawer/index.d.ts +23 -0
  178. package/dist/drawer/index.d.ts.map +1 -0
  179. package/dist/drawer/index.js +1 -1
  180. package/dist/drawer/types.d.ts +309 -0
  181. package/dist/drawer/types.d.ts.map +1 -0
  182. package/dist/dropdown/index.d.ts +6 -0
  183. package/dist/dropdown/index.d.ts.map +1 -0
  184. package/dist/dropdown/index.js +2 -2
  185. package/dist/dropdown/types.d.ts +116 -0
  186. package/dist/dropdown/types.d.ts.map +1 -0
  187. package/dist/empty/index.d.ts +6 -0
  188. package/dist/empty/index.d.ts.map +1 -0
  189. package/dist/empty/types.d.ts +62 -0
  190. package/dist/empty/types.d.ts.map +1 -0
  191. package/dist/fetching-overlay/index.d.ts +10 -0
  192. package/dist/fetching-overlay/index.d.ts.map +1 -0
  193. package/dist/fetching-overlay/index.js +1 -1
  194. package/dist/float-input/index.d.ts +6 -0
  195. package/dist/float-input/index.d.ts.map +1 -0
  196. package/dist/float-input/index.js +1 -1
  197. package/dist/float-input/types.d.ts +23 -0
  198. package/dist/float-input/types.d.ts.map +1 -0
  199. package/dist/form/index.d.ts +31 -0
  200. package/dist/form/index.d.ts.map +1 -0
  201. package/dist/form/types.d.ts +45 -0
  202. package/dist/form/types.d.ts.map +1 -0
  203. package/dist/grid/index.d.ts +6 -0
  204. package/dist/grid/index.d.ts.map +1 -0
  205. package/dist/grid/types.d.ts +21 -0
  206. package/dist/grid/types.d.ts.map +1 -0
  207. package/dist/image/index.d.ts +6 -0
  208. package/dist/image/index.d.ts.map +1 -0
  209. package/dist/image/index.js +1 -1
  210. package/dist/image/types.d.ts +53 -0
  211. package/dist/image/types.d.ts.map +1 -0
  212. package/dist/index.d.ts +139 -0
  213. package/dist/index.d.ts.map +1 -0
  214. package/dist/index.js +46 -46
  215. package/dist/input/index.d.ts +6 -0
  216. package/dist/input/index.d.ts.map +1 -0
  217. package/dist/input/index.js +1 -1
  218. package/dist/input/types.d.ts +28 -0
  219. package/dist/input/types.d.ts.map +1 -0
  220. package/dist/input-group/index.d.ts +9 -0
  221. package/dist/input-group/index.d.ts.map +1 -0
  222. package/dist/input-group/types.d.ts +68 -0
  223. package/dist/input-group/types.d.ts.map +1 -0
  224. package/dist/input-otp/index.d.ts +7 -0
  225. package/dist/input-otp/index.d.ts.map +1 -0
  226. package/dist/input-otp/index.js +1 -1
  227. package/dist/input-otp/types.d.ts +111 -0
  228. package/dist/input-otp/types.d.ts.map +1 -0
  229. package/dist/input-password/index.d.ts +7 -0
  230. package/dist/input-password/index.d.ts.map +1 -0
  231. package/dist/input-password/index.js +2 -2
  232. package/dist/input-password/types.d.ts +34 -0
  233. package/dist/input-password/types.d.ts.map +1 -0
  234. package/dist/kbd/index.d.ts +6 -0
  235. package/dist/kbd/index.d.ts.map +1 -0
  236. package/dist/kbd/types.d.ts +26 -0
  237. package/dist/kbd/types.d.ts.map +1 -0
  238. package/dist/link/index.d.ts +9 -0
  239. package/dist/link/index.d.ts.map +1 -0
  240. package/dist/link/types.d.ts +30 -0
  241. package/dist/link/types.d.ts.map +1 -0
  242. package/dist/menubar/index.d.ts +6 -0
  243. package/dist/menubar/index.d.ts.map +1 -0
  244. package/dist/menubar/index.js +2 -2
  245. package/dist/menubar/types.d.ts +40 -0
  246. package/dist/menubar/types.d.ts.map +1 -0
  247. package/dist/modal/index.d.ts +39 -0
  248. package/dist/modal/index.d.ts.map +1 -0
  249. package/dist/modal/index.js +1 -1
  250. package/dist/modal/types.d.ts +77 -0
  251. package/dist/modal/types.d.ts.map +1 -0
  252. package/dist/multi-select/index.d.ts +6 -0
  253. package/dist/multi-select/index.d.ts.map +1 -0
  254. package/dist/multi-select/index.js +2 -2
  255. package/dist/multi-select/types.d.ts +81 -0
  256. package/dist/multi-select/types.d.ts.map +1 -0
  257. package/dist/multi-select/utils.d.ts +12 -0
  258. package/dist/multi-select/utils.d.ts.map +1 -0
  259. package/dist/navigation-menu/index.d.ts +5 -0
  260. package/dist/navigation-menu/index.d.ts.map +1 -0
  261. package/dist/navigation-menu/index.js +1 -1
  262. package/dist/navigation-menu/types.d.ts +37 -0
  263. package/dist/navigation-menu/types.d.ts.map +1 -0
  264. package/dist/notification/index.d.ts +6 -0
  265. package/dist/notification/index.d.ts.map +1 -0
  266. package/dist/notification/index.js +1 -1
  267. package/dist/notification/types.d.ts +90 -0
  268. package/dist/notification/types.d.ts.map +1 -0
  269. package/dist/number-input/index.d.ts +6 -0
  270. package/dist/number-input/index.d.ts.map +1 -0
  271. package/dist/number-input/index.js +1 -1
  272. package/dist/number-input/types.d.ts +28 -0
  273. package/dist/number-input/types.d.ts.map +1 -0
  274. package/dist/pagination/index.d.ts +6 -0
  275. package/dist/pagination/index.d.ts.map +1 -0
  276. package/dist/pagination/index.js +1 -1
  277. package/dist/pagination/types.d.ts +87 -0
  278. package/dist/pagination/types.d.ts.map +1 -0
  279. package/dist/popover/index.d.ts +19 -0
  280. package/dist/popover/index.d.ts.map +1 -0
  281. package/dist/popover/index.js +1 -1
  282. package/dist/popover/types.d.ts +31 -0
  283. package/dist/popover/types.d.ts.map +1 -0
  284. package/dist/progress/index.d.ts +6 -0
  285. package/dist/progress/index.d.ts.map +1 -0
  286. package/dist/progress/index.js +1 -1
  287. package/dist/progress/types.d.ts +100 -0
  288. package/dist/progress/types.d.ts.map +1 -0
  289. package/dist/radio/index.d.ts +6 -0
  290. package/dist/radio/index.d.ts.map +1 -0
  291. package/dist/radio/index.js +1 -1
  292. package/dist/radio/types.d.ts +20 -0
  293. package/dist/radio/types.d.ts.map +1 -0
  294. package/dist/radio-group/index.d.ts +6 -0
  295. package/dist/radio-group/index.d.ts.map +1 -0
  296. package/dist/radio-group/types.d.ts +43 -0
  297. package/dist/radio-group/types.d.ts.map +1 -0
  298. package/dist/rating/index.d.ts +6 -0
  299. package/dist/rating/index.d.ts.map +1 -0
  300. package/dist/rating/types.d.ts +64 -0
  301. package/dist/rating/types.d.ts.map +1 -0
  302. package/dist/ribbon/index.d.ts +6 -0
  303. package/dist/ribbon/index.d.ts.map +1 -0
  304. package/dist/ribbon/types.d.ts +26 -0
  305. package/dist/ribbon/types.d.ts.map +1 -0
  306. package/dist/scroll-area/index.d.ts +10 -0
  307. package/dist/scroll-area/index.d.ts.map +1 -0
  308. package/dist/scroll-area/types.d.ts +24 -0
  309. package/dist/scroll-area/types.d.ts.map +1 -0
  310. package/dist/select/index.d.ts +6 -0
  311. package/dist/select/index.d.ts.map +1 -0
  312. package/dist/select/index.js +2 -2
  313. package/dist/select/types.d.ts +34 -0
  314. package/dist/select/types.d.ts.map +1 -0
  315. package/dist/skeleton/index.d.ts +6 -0
  316. package/dist/skeleton/index.d.ts.map +1 -0
  317. package/dist/skeleton/types.d.ts +10 -0
  318. package/dist/skeleton/types.d.ts.map +1 -0
  319. package/dist/slider/index.d.ts +6 -0
  320. package/dist/slider/index.d.ts.map +1 -0
  321. package/dist/slider/types.d.ts +70 -0
  322. package/dist/slider/types.d.ts.map +1 -0
  323. package/dist/spinner/index.d.ts +6 -0
  324. package/dist/spinner/index.d.ts.map +1 -0
  325. package/dist/spinner/types.d.ts +10 -0
  326. package/dist/spinner/types.d.ts.map +1 -0
  327. package/dist/stepper/index.d.ts +6 -0
  328. package/dist/stepper/index.d.ts.map +1 -0
  329. package/dist/stepper/index.js +1 -1
  330. package/dist/stepper/types.d.ts +86 -0
  331. package/dist/stepper/types.d.ts.map +1 -0
  332. package/dist/styles/global.css +7651 -0
  333. package/dist/styles/themes/dark.css +93 -0
  334. package/dist/styles/themes/index.d.ts +9 -0
  335. package/dist/styles/themes/index.d.ts.map +1 -0
  336. package/dist/styles/themes/light.css +89 -0
  337. package/dist/styles/themes/presets/corporate.css +126 -0
  338. package/dist/styles/themes/presets/index.d.ts +21 -0
  339. package/dist/styles/themes/presets/index.d.ts.map +1 -0
  340. package/dist/styles/themes/presets/minimal.css +126 -0
  341. package/dist/styles/themes/presets/vibrant.css +126 -0
  342. package/dist/styles/tokens.d.ts +428 -0
  343. package/dist/styles/tokens.d.ts.map +1 -0
  344. package/dist/switch/index.d.ts +6 -0
  345. package/dist/switch/index.d.ts.map +1 -0
  346. package/dist/switch/types.d.ts +80 -0
  347. package/dist/switch/types.d.ts.map +1 -0
  348. package/dist/table/EditableCell.d.ts +13 -0
  349. package/dist/table/EditableCell.d.ts.map +1 -0
  350. package/dist/table/TableActions.d.ts +21 -0
  351. package/dist/table/TableActions.d.ts.map +1 -0
  352. package/dist/table/TableCell.d.ts +12 -0
  353. package/dist/table/TableCell.d.ts.map +1 -0
  354. package/dist/table/TableHeaderCell.d.ts +16 -0
  355. package/dist/table/TableHeaderCell.d.ts.map +1 -0
  356. package/dist/table/TableRow.d.ts +16 -0
  357. package/dist/table/TableRow.d.ts.map +1 -0
  358. package/dist/table/TableSkeleton.d.ts +13 -0
  359. package/dist/table/TableSkeleton.d.ts.map +1 -0
  360. package/dist/table/index.d.ts +15 -0
  361. package/dist/table/index.d.ts.map +1 -0
  362. package/dist/table/index.js +6 -6
  363. package/dist/table/types.d.ts +110 -0
  364. package/dist/table/types.d.ts.map +1 -0
  365. package/dist/table/variants.d.ts +8 -0
  366. package/dist/table/variants.d.ts.map +1 -0
  367. package/dist/tabs/index.d.ts +7 -0
  368. package/dist/tabs/index.d.ts.map +1 -0
  369. package/dist/tabs/index.js +1 -1
  370. package/dist/tabs/types.d.ts +86 -0
  371. package/dist/tabs/types.d.ts.map +1 -0
  372. package/dist/tag/index.d.ts +49 -0
  373. package/dist/tag/index.d.ts.map +1 -0
  374. package/dist/tag/index.js +1 -1
  375. package/dist/tag/types.d.ts +23 -0
  376. package/dist/tag/types.d.ts.map +1 -0
  377. package/dist/textarea/index.d.ts +6 -0
  378. package/dist/textarea/index.d.ts.map +1 -0
  379. package/dist/textarea/index.js +1 -1
  380. package/dist/textarea/types.d.ts +84 -0
  381. package/dist/textarea/types.d.ts.map +1 -0
  382. package/dist/theme/ThemeProvider.d.ts +44 -0
  383. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  384. package/dist/theme/index.d.ts +7 -0
  385. package/dist/theme/index.d.ts.map +1 -0
  386. package/dist/theme/types.d.ts +47 -0
  387. package/dist/theme/types.d.ts.map +1 -0
  388. package/dist/timeline/index.d.ts +13 -0
  389. package/dist/timeline/index.d.ts.map +1 -0
  390. package/dist/timeline/types.d.ts +25 -0
  391. package/dist/timeline/types.d.ts.map +1 -0
  392. package/dist/toast/index.d.ts +12 -0
  393. package/dist/toast/index.d.ts.map +1 -0
  394. package/dist/toast/types.d.ts +49 -0
  395. package/dist/toast/types.d.ts.map +1 -0
  396. package/dist/toggle/index.d.ts +6 -0
  397. package/dist/toggle/index.d.ts.map +1 -0
  398. package/dist/toggle/index.js +1 -1
  399. package/dist/toggle/types.d.ts +57 -0
  400. package/dist/toggle/types.d.ts.map +1 -0
  401. package/dist/toggle-group/index.d.ts +6 -0
  402. package/dist/toggle-group/index.d.ts.map +1 -0
  403. package/dist/toggle-group/index.js +1 -1
  404. package/dist/toggle-group/types.d.ts +80 -0
  405. package/dist/toggle-group/types.d.ts.map +1 -0
  406. package/dist/tooltip/index.d.ts +9 -0
  407. package/dist/tooltip/index.d.ts.map +1 -0
  408. package/dist/tooltip/index.js +1 -1
  409. package/dist/tooltip/types.d.ts +72 -0
  410. package/dist/tooltip/types.d.ts.map +1 -0
  411. package/dist/transfer/index.d.ts +6 -0
  412. package/dist/transfer/index.d.ts.map +1 -0
  413. package/dist/transfer/types.d.ts +83 -0
  414. package/dist/transfer/types.d.ts.map +1 -0
  415. package/dist/transfer/utils.d.ts +13 -0
  416. package/dist/transfer/utils.d.ts.map +1 -0
  417. package/dist/tree/index.d.ts +6 -0
  418. package/dist/tree/index.d.ts.map +1 -0
  419. package/dist/tree/index.js +1 -1
  420. package/dist/tree/types.d.ts +143 -0
  421. package/dist/tree/types.d.ts.map +1 -0
  422. package/dist/tree-select/index.d.ts +6 -0
  423. package/dist/tree-select/index.d.ts.map +1 -0
  424. package/dist/tree-select/index.js +3 -3
  425. package/dist/tree-select/types.d.ts +147 -0
  426. package/dist/tree-select/types.d.ts.map +1 -0
  427. package/dist/types.d.ts +53 -0
  428. package/dist/types.d.ts.map +1 -0
  429. package/dist/upload/index.d.ts +7 -0
  430. package/dist/upload/index.d.ts.map +1 -0
  431. package/dist/upload/index.js +1 -1
  432. package/dist/upload/types.d.ts +94 -0
  433. package/dist/upload/types.d.ts.map +1 -0
  434. package/dist/upload/utils.d.ts +26 -0
  435. package/dist/upload/utils.d.ts.map +1 -0
  436. package/dist/utils.d.ts +63 -0
  437. package/dist/utils.d.ts.map +1 -0
  438. package/dist/variants.d.ts +434 -0
  439. package/dist/variants.d.ts.map +1 -0
  440. package/package.json +157 -143
  441. package/dist/chunk-2J57G7XG.js.map +0 -1
  442. package/dist/chunk-2NYVRAG4.js.map +0 -1
  443. package/dist/chunk-4TQ4BZ3S.js.map +0 -1
  444. package/dist/chunk-5JOJBDET.js.map +0 -1
  445. package/dist/chunk-7KA7JSRX.js.map +0 -1
  446. package/dist/chunk-CLLNXRYZ.js.map +0 -1
  447. package/dist/chunk-CO766H7F.js.map +0 -1
  448. package/dist/chunk-CSRMVLPR.js.map +0 -1
  449. package/dist/chunk-FZLFCT6Q.js.map +0 -1
  450. package/dist/chunk-HEV27FUK.js.map +0 -1
  451. package/dist/chunk-HLY4VDIX.js.map +0 -1
  452. package/dist/chunk-ILQQTKD4.js.map +0 -1
  453. package/dist/chunk-ITZBSE5F.js.map +0 -1
  454. package/dist/chunk-IVOMN6DV.js.map +0 -1
  455. package/dist/chunk-KPI7MN5V.js.map +0 -1
  456. package/dist/chunk-KPM72QBO.js.map +0 -1
  457. package/dist/chunk-KTHWXHDN.js.map +0 -1
  458. package/dist/chunk-N3ZVPIFC.js.map +0 -1
  459. package/dist/chunk-Q57THXIU.js.map +0 -1
  460. package/dist/chunk-RW4RW4DV.js.map +0 -1
  461. package/dist/chunk-RZVEKAFR.js.map +0 -1
  462. package/dist/chunk-SAVEKACZ.js.map +0 -1
  463. package/dist/chunk-TBMY5EQC.js.map +0 -1
  464. package/dist/chunk-UHVPOGNC.js.map +0 -1
  465. package/dist/chunk-UTKVWE76.js.map +0 -1
  466. package/dist/chunk-WTGCXWNX.js.map +0 -1
  467. package/dist/chunk-WUBMNJGC.js.map +0 -1
  468. package/dist/chunk-XQJ6HZ4Q.js.map +0 -1
  469. package/dist/chunk-YTUB2Q7P.js.map +0 -1
  470. package/dist/chunk-YWGWFGCY.js.map +0 -1
@@ -8,7 +8,8 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
8
  var buttonVariants = cva(
9
9
  [
10
10
  "inline-flex cursor-pointer text-center font-medium items-center justify-center",
11
- "transition-colors duration-200",
11
+ "transition-[colors,transform] duration-200",
12
+ "active:scale-[0.97]",
12
13
  "disabled:opacity-50 disabled:pointer-events-none",
13
14
  // Focus ring for accessibility
14
15
  "focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background"
@@ -20,7 +21,7 @@ var buttonVariants = cva(
20
21
  outline: "border bg-transparent",
21
22
  soft: "border-none",
22
23
  dashed: "border border-dashed bg-transparent",
23
- link: "border-none bg-transparent hover:underline",
24
+ link: "border-none bg-transparent hover:underline active:scale-100",
24
25
  ghost: "border-none bg-transparent"
25
26
  },
26
27
  color: {
@@ -196,5 +197,5 @@ Button.displayName = "Button";
196
197
  var button_default = Button;
197
198
 
198
199
  export { button_default };
199
- //# sourceMappingURL=chunk-TBMY5EQC.js.map
200
- //# sourceMappingURL=chunk-TBMY5EQC.js.map
200
+ //# sourceMappingURL=chunk-TBH7QF26.js.map
201
+ //# sourceMappingURL=chunk-TBH7QF26.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/button/index.tsx"],"names":[],"mappings":"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","file":"chunk-TBH7QF26.js","sourcesContent":["'use client'\n\nimport { cva } from \"class-variance-authority\";\nimport React from \"react\";\n\nimport { Spinner } from \"../spinner\";\nimport { cn } from \"../utils\";\nimport { buttonColors, createAllColorVariants } from \"../variants\";\nimport type { ButtonProps, ButtonColor } from \"./types\";\n\nconst buttonVariants = cva(\n [\n \"inline-flex cursor-pointer text-center font-medium items-center justify-center\",\n \"transition-[colors,transform] duration-200\",\n \"active:scale-[0.97]\",\n \"disabled:opacity-50 disabled:pointer-events-none\",\n // Focus ring for accessibility\n \"focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background\",\n ],\n {\n variants: {\n variant: {\n solid: \"border\",\n outline: \"border bg-transparent\",\n soft: \"border-none\",\n dashed: \"border border-dashed bg-transparent\",\n link: \"border-none bg-transparent hover:underline active:scale-100\",\n ghost: \"border-none bg-transparent\",\n },\n color: {\n primary: \"border-primary focus-visible:ring-primary\",\n secondary: \"border-secondary focus-visible:ring-secondary\",\n accent: \"border-accent focus-visible:ring-accent\",\n success: \"border-success focus-visible:ring-success\",\n error: \"border-error focus-visible:ring-error\",\n warning: \"border-warning focus-visible:ring-warning\",\n info: \"border-info focus-visible:ring-info\",\n },\n size: {\n xs: \"h-(--button-height-xs) px-(--button-padding-x-xs) text-xs gap-1.5\",\n sm: \"h-(--button-height-sm) px-(--button-padding-x-sm) text-sm gap-2\",\n md: \"h-(--button-height-md) px-(--button-padding-x-md) text-base gap-2\",\n lg: \"h-(--button-height-lg) px-(--button-padding-x-lg) text-lg gap-2.5\",\n },\n shape: {\n rounded: \"rounded-md\",\n pill: \"rounded-full\",\n square: \"rounded-none\",\n },\n fullWidth: {\n true: \"w-full\",\n false: \"\",\n },\n iconOnly: {\n true: \"\",\n false: \"\",\n },\n },\n compoundVariants: [\n // Icon-only buttons: square aspect ratio\n { iconOnly: true, size: \"xs\", class: \"w-(--button-height-xs) px-0\" },\n { iconOnly: true, size: \"sm\", class: \"w-(--button-height-sm) px-0\" },\n { iconOnly: true, size: \"md\", class: \"w-(--button-height-md) px-0\" },\n { iconOnly: true, size: \"lg\", class: \"w-(--button-height-lg) px-0\" },\n // Color variants\n ...createAllColorVariants(buttonColors, [\n \"solid\",\n \"outline\",\n \"soft\",\n \"dashed\",\n \"link\",\n \"ghost\",\n ]),\n ],\n defaultVariants: {\n variant: \"solid\",\n color: \"primary\",\n size: \"md\",\n shape: \"rounded\",\n fullWidth: false,\n iconOnly: false,\n },\n },\n);\n\n// Map button size to spinner size\nconst spinnerSizeMap: Record<\n NonNullable<ButtonProps[\"size\"]>,\n \"xs\" | \"sm\" | \"md\" | \"lg\"\n> = {\n xs: \"xs\",\n sm: \"xs\",\n md: \"sm\",\n lg: \"md\",\n};\n\n// Get spinner color based on button variant\nfunction getSpinnerColor(\n variant: ButtonProps[\"variant\"],\n color: ButtonColor,\n): ButtonColor | \"default\" {\n // Solid buttons have white text, so spinner should be white/default\n if (variant === \"solid\") {\n return \"default\";\n }\n // Other variants use the button's color\n return color;\n}\n\nconst Button = React.memo<ButtonProps>(\n ({\n variant = \"solid\",\n color = \"primary\",\n size = \"md\",\n shape = \"rounded\",\n loading = false,\n loadingText,\n loadingPosition = \"left\",\n icon,\n iconPlacement = \"left\",\n leftIcon: leftIconProp,\n rightIcon: rightIconProp,\n fullWidth = false,\n iconOnly = false,\n className,\n classNames,\n children,\n disabled,\n ref,\n ...props\n }) => {\n const isDisabled = disabled || loading;\n const spinnerSize = spinnerSizeMap[size];\n const spinnerColor = getSpinnerColor(variant, color);\n\n // Resolve icons: leftIcon/rightIcon take precedence over icon+iconPlacement\n const leftIcon = leftIconProp ?? (iconPlacement === \"left\" ? icon : undefined);\n const rightIcon = rightIconProp ?? (iconPlacement === \"right\" ? icon : undefined);\n\n // Determine what to render\n const showLeftIcon = !loading && leftIcon;\n const showRightIcon = !loading && rightIcon;\n const showSpinnerLeft = loading && loadingPosition === \"left\";\n const showSpinnerRight = loading && loadingPosition === \"right\";\n\n // Content: loadingText when loading, otherwise children\n const content = loading && loadingText ? loadingText : children;\n\n // For icon-only buttons with loading, just show spinner\n const iconOnlyLoading = iconOnly && loading;\n\n return (\n <button\n ref={ref}\n type={props.type ?? \"button\"}\n className={cn(\n \"button_root\",\n buttonVariants({ color, size, variant, shape, fullWidth, iconOnly }),\n classNames?.root,\n className,\n )}\n disabled={isDisabled}\n aria-busy={loading}\n aria-disabled={isDisabled}\n data-slot=\"root\"\n {...props}\n >\n {iconOnlyLoading ? (\n <span\n className={cn(\"button_spinner\", classNames?.spinner)}\n data-slot=\"spinner\"\n >\n <Spinner size={spinnerSize} color={spinnerColor} />\n </span>\n ) : (\n <>\n {showSpinnerLeft && (\n <span\n className={cn(\"button_spinner\", classNames?.spinner)}\n data-slot=\"spinner\"\n >\n <Spinner size={spinnerSize} color={spinnerColor} />\n </span>\n )}\n {showLeftIcon && (\n <span\n className={cn(\"button_icon shrink-0\", classNames?.icon, classNames?.leftIcon)}\n data-slot=\"icon\"\n >\n {leftIcon}\n </span>\n )}\n {content && (\n <span\n className={cn(\"button_content\", classNames?.content)}\n data-slot=\"content\"\n >\n {content}\n </span>\n )}\n {showRightIcon && (\n <span\n className={cn(\"button_icon shrink-0\", classNames?.icon, classNames?.rightIcon)}\n data-slot=\"icon\"\n >\n {rightIcon}\n </span>\n )}\n {showSpinnerRight && (\n <span\n className={cn(\"button_spinner\", classNames?.spinner)}\n data-slot=\"spinner\"\n >\n <Spinner size={spinnerSize} color={spinnerColor} />\n </span>\n )}\n </>\n )}\n </button>\n );\n },\n);\n\nButton.displayName = \"Button\";\n\nexport type * from \"./types\";\nexport default Button;\n"]}
@@ -1,4 +1,4 @@
1
- import { Popover, PopoverTrigger, PopoverContent } from './chunk-WTGCXWNX.js';
1
+ import { Popover, PopoverTrigger, PopoverContent } from './chunk-ZQTJBYKO.js';
2
2
  import { getValidationStatus, cn, iconSizes } from './chunk-NGYLRX6F.js';
3
3
  import { useVirtualizer } from '@tanstack/react-virtual';
4
4
  import { X, Loader2, Search, ChevronDown, ChevronUp, Check } from 'lucide-react';
@@ -676,7 +676,6 @@ var MultiSelect = React.memo(
676
676
  ] })
677
677
  }
678
678
  );
679
- if (!label && !helperMessage) return selectElement;
680
679
  return /* @__PURE__ */ jsxs("div", { className: cn("w-full flex flex-col", !fullWidth && "inline-block"), children: [
681
680
  /* @__PURE__ */ jsxs("div", { className: "flex gap-2 items-center", children: [
682
681
  label && /* @__PURE__ */ jsx(
@@ -719,5 +718,5 @@ MultiSelect.displayName = "MultiSelect";
719
718
  var multi_select_default = MultiSelect;
720
719
 
721
720
  export { multi_select_default };
722
- //# sourceMappingURL=chunk-HEV27FUK.js.map
723
- //# sourceMappingURL=chunk-HEV27FUK.js.map
721
+ //# sourceMappingURL=chunk-UK4RHCMM.js.map
722
+ //# sourceMappingURL=chunk-UK4RHCMM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/multi-select/utils.ts","../src/multi-select/index.tsx"],"names":[],"mappings":"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","file":"chunk-UK4RHCMM.js","sourcesContent":["import { cva } from 'class-variance-authority'\n\nexport const multiSelectTriggerVariants = cva(\n 'w-full flex items-center justify-between rounded-md bg-background text-text-primary border focus:border-primary outline-none disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer gap-1',\n {\n variants: {\n status: {\n default: 'border-border',\n error: 'border-error',\n warning: 'border-warning',\n info: 'border-info',\n success: 'border-success',\n },\n size: {\n xs: 'h-(--select-height-xs) pl-(--select-padding-x-xs) pr-[calc(var(--select-padding-x-xs)*2)] text-xs',\n sm: 'h-(--select-height-sm) pl-(--select-padding-x-sm) pr-[calc(var(--select-padding-x-sm)*2)] text-sm',\n md: 'h-(--select-height-md) pl-(--select-padding-x-md) pr-[calc(var(--select-padding-x-md)*2)] text-base',\n lg: 'h-(--select-height-lg) pl-(--select-padding-x-lg) pr-[calc(var(--select-padding-x-lg)*2)] text-lg',\n },\n fullWidth: {\n true: 'w-full',\n false: 'max-w-full',\n },\n },\n defaultVariants: {\n status: 'default',\n size: 'md',\n fullWidth: true,\n },\n },\n)\n\nexport const multiSelectDropdownVariants = cva(\n 'absolute z-50 mt-1 overflow-auto rounded-md border border-border bg-background',\n)\n\nexport const multiSelectOptionVariants = cva(\n 'relative cursor-pointer select-none px-3 py-2 text-text-primary',\n {\n variants: {\n selected: {\n true: 'bg-primary/10 text-primary font-medium',\n false: 'hover:bg-surface',\n },\n disabled: {\n true: 'opacity-50 cursor-not-allowed',\n false: '',\n },\n },\n defaultVariants: {\n selected: false,\n disabled: false,\n },\n },\n)\n\nexport const multiSelectGroupVariants = cva(\n 'px-3 py-2 text-xs font-semibold text-text-secondary uppercase tracking-wider bg-surface',\n)\n","'use client'\n\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\nimport {\n Check,\n ChevronDown,\n ChevronUp,\n Loader2,\n Search,\n X,\n} from \"lucide-react\";\nimport React, { useCallback, useId } from \"react\";\n\nimport { Popover, PopoverContent, PopoverTrigger } from \"../popover\";\nimport { cn, getValidationStatus, iconSizes } from \"../utils\";\nimport type { MultiSelectOption, MultiSelectProps } from \"./types\";\nimport {\n multiSelectGroupVariants,\n multiSelectOptionVariants,\n multiSelectTriggerVariants,\n} from \"./utils\";\n\nconst MultiSelect = React.memo<MultiSelectProps>(\n ({\n size = \"md\",\n label,\n helperText,\n error,\n warning,\n info,\n success,\n options = [],\n placeholder = \"Select options\",\n loading = false,\n fullWidth = true,\n maxChipsVisible = 3,\n value,\n defaultValue,\n onChange,\n disabled,\n required,\n clearable = false,\n virtualizeThreshold = 50,\n maxDropdownHeight = 300,\n className,\n classNames,\n ref,\n ...props\n }) => {\n // Generate unique IDs for accessibility\n const uniqueId = useId();\n const labelId = `multiselect-label-${uniqueId}`;\n\n const [isOpen, setIsOpen] = React.useState(false);\n const [internalValue, setInternalValue] = React.useState<string[]>(\n defaultValue || [],\n );\n const [parentNode, setParentNode] = React.useState<HTMLDivElement | null>(\n null,\n );\n const [searchQuery, setSearchQuery] = React.useState(\"\");\n const [highlightedIndex, setHighlightedIndex] = React.useState(-1);\n const [visibleChipsCount, setVisibleChipsCount] =\n React.useState(maxChipsVisible);\n const [showTopArrow, setShowTopArrow] = React.useState(false);\n const [showBottomArrow, setShowBottomArrow] = React.useState(false);\n\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const scrollContainerRef = React.useRef<HTMLDivElement>(null);\n\n const currentValue = value !== undefined ? value : internalValue;\n\n const { status, message: helperMessage } = getValidationStatus({\n error,\n warning,\n info,\n success,\n helperText,\n });\n\n const groupedOptions = React.useMemo(() => {\n const groups: Record<string, MultiSelectOption[]> = {};\n const ungrouped: MultiSelectOption[] = [];\n\n options.forEach((option) => {\n if (option.group) {\n if (!groups[option.group]) {\n groups[option.group] = [];\n }\n groups[option.group]!.push(option);\n } else {\n ungrouped.push(option);\n }\n });\n\n return { groups, ungrouped };\n }, [options]);\n\n const flattenedOptions = React.useMemo(() => {\n const items: Array<{\n type: \"option\" | \"group\";\n data: MultiSelectOption | string;\n }> = [];\n\n groupedOptions.ungrouped.forEach((option) => {\n items.push({ type: \"option\", data: option });\n });\n\n Object.entries(groupedOptions.groups).forEach(\n ([groupName, groupOptions]) => {\n items.push({ type: \"group\", data: groupName });\n groupOptions.forEach((option) => {\n items.push({ type: \"option\", data: option });\n });\n },\n );\n\n return items;\n }, [groupedOptions]);\n\n const filteredOptions = React.useMemo(() => {\n if (!searchQuery) return flattenedOptions;\n\n return flattenedOptions.filter((item) => {\n if (item.type === \"group\") return true;\n const option = item.data as MultiSelectOption;\n return option.label.toLowerCase().includes(searchQuery.toLowerCase());\n });\n }, [flattenedOptions, searchQuery]);\n\n const shouldVirtualize = filteredOptions.length > virtualizeThreshold;\n\n const virtualizer = useVirtualizer({\n count: filteredOptions.length,\n getScrollElement: () => parentNode,\n estimateSize: () => 40,\n enabled: shouldVirtualize,\n });\n\n // Store virtualizer in ref to avoid recreating handleKeyDown on every render\n const virtualizerRef = React.useRef(virtualizer);\n React.useEffect(() => {\n virtualizerRef.current = virtualizer;\n }, [virtualizer]);\n\n const refCallback = useCallback((node: HTMLDivElement) => {\n if (node) {\n setParentNode(node);\n // Also set as scroll container for virtualized lists\n scrollContainerRef.current = node;\n }\n }, []);\n\n const selectedOptions = options.filter((opt) =>\n currentValue.includes(opt.value),\n );\n\n const handleSelect = React.useCallback(\n (optionValue: string) => {\n const newValue = currentValue.includes(optionValue)\n ? currentValue.filter((v) => v !== optionValue)\n : [...currentValue, optionValue];\n\n if (value === undefined) {\n setInternalValue(newValue);\n }\n onChange?.(newValue);\n setHighlightedIndex(-1);\n },\n [value, onChange, currentValue],\n );\n\n const handleRemoveChip = React.useCallback(\n (optionValue: string, e: React.MouseEvent | React.KeyboardEvent) => {\n e.stopPropagation();\n const newValue = currentValue.filter((v) => v !== optionValue);\n\n if (value === undefined) {\n setInternalValue(newValue);\n }\n onChange?.(newValue);\n },\n [value, onChange, currentValue],\n );\n\n const handleClear = React.useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n if (value === undefined) {\n setInternalValue([]);\n }\n onChange?.([]);\n },\n [value, onChange],\n );\n\n const handleInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchQuery(e.target.value);\n if (!isOpen) setIsOpen(true);\n },\n [isOpen],\n );\n\n const handleInputFocus = React.useCallback(() => {\n setIsOpen(true);\n }, []);\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (!isOpen && e.key !== \"Tab\") {\n if (e.key === \"Enter\" || e.key === \" \" || e.key === \"ArrowDown\") {\n e.preventDefault();\n setIsOpen(true);\n }\n return;\n }\n\n const selectableOptions = filteredOptions.filter(\n (item) =>\n item.type === \"option\" &&\n !(item.data as MultiSelectOption).disabled,\n );\n\n switch (e.key) {\n case \"Escape\":\n e.preventDefault();\n setIsOpen(false);\n setSearchQuery(\"\");\n setHighlightedIndex(-1);\n inputRef.current?.blur();\n break;\n\n case \"ArrowDown\":\n e.preventDefault();\n setHighlightedIndex((prev) => {\n const nextIndex = Math.min(\n prev + 1,\n selectableOptions.length - 1,\n );\n const option = selectableOptions[nextIndex];\n if (option && shouldVirtualize && virtualizerRef.current) {\n const optionIndex = filteredOptions.indexOf(option);\n virtualizerRef.current.scrollToIndex(optionIndex, {\n align: \"auto\",\n });\n }\n return nextIndex;\n });\n break;\n\n case \"ArrowUp\":\n e.preventDefault();\n setHighlightedIndex((prev) => {\n const nextIndex = Math.max(prev - 1, 0);\n const option = selectableOptions[nextIndex];\n if (option && shouldVirtualize && virtualizerRef.current) {\n const optionIndex = filteredOptions.indexOf(option);\n virtualizerRef.current.scrollToIndex(optionIndex, {\n align: \"auto\",\n });\n }\n return nextIndex;\n });\n break;\n\n case \"Enter\":\n e.preventDefault();\n if (\n highlightedIndex >= 0 &&\n highlightedIndex < selectableOptions.length\n ) {\n const item = selectableOptions[highlightedIndex];\n if (item) {\n const option = item.data as MultiSelectOption;\n handleSelect(option.value);\n }\n }\n break;\n\n case \"Home\":\n e.preventDefault();\n setHighlightedIndex(0);\n if (shouldVirtualize && virtualizerRef.current) {\n virtualizerRef.current.scrollToIndex(0);\n }\n break;\n\n case \"End\":\n e.preventDefault();\n setHighlightedIndex(selectableOptions.length - 1);\n if (shouldVirtualize && virtualizerRef.current) {\n virtualizerRef.current.scrollToIndex(filteredOptions.length - 1);\n }\n break;\n\n default:\n break;\n }\n },\n [\n isOpen,\n filteredOptions,\n highlightedIndex,\n handleSelect,\n shouldVirtualize,\n ],\n );\n\n const handleInputKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Backspace\" && !searchQuery && currentValue.length > 0) {\n e.preventDefault();\n const lastValue = currentValue[currentValue.length - 1];\n handleRemoveChip(lastValue!, e);\n } else {\n handleKeyDown(e);\n }\n },\n [searchQuery, currentValue, handleRemoveChip, handleKeyDown],\n );\n\n React.useEffect(() => {\n if (selectedOptions.length === 0 || !triggerRef.current) {\n setVisibleChipsCount(maxChipsVisible);\n return;\n }\n\n const calculateVisibleChips = () => {\n const container = triggerRef.current;\n if (!container) return;\n\n const hiddenChips = container.querySelectorAll(\"[data-hidden-chip]\");\n if (hiddenChips.length === 0) return;\n\n const containerWidth = container.offsetWidth;\n const padding =\n size === \"sm\" ? 12 : size === \"md\" ? 16 : size === \"lg\" ? 20 : 24;\n const chevronWidth = 32;\n const gap = 4;\n const plusIndicatorWidth = 50;\n\n const availableWidth = containerWidth - padding * 2 - chevronWidth;\n let totalWidth = 0;\n let visibleCount = 0;\n\n for (let i = 0; i < hiddenChips.length; i++) {\n const chip = hiddenChips[i];\n if (!chip) continue;\n const chipWidth = chip.getBoundingClientRect().width;\n const requiredSpace =\n totalWidth + chipWidth + (visibleCount > 0 ? gap : 0);\n\n const needsPlusIndicator = i < hiddenChips.length - 1;\n const spaceWithIndicator =\n requiredSpace + (needsPlusIndicator ? gap + plusIndicatorWidth : 0);\n\n if (spaceWithIndicator <= availableWidth) {\n totalWidth = requiredSpace;\n visibleCount++;\n } else {\n break;\n }\n }\n\n setVisibleChipsCount(Math.max(1, visibleCount));\n };\n\n const timeoutId = setTimeout(calculateVisibleChips, 0);\n\n const resizeObserver = new ResizeObserver(() => {\n calculateVisibleChips();\n });\n\n if (triggerRef.current) {\n resizeObserver.observe(triggerRef.current);\n }\n\n return () => {\n clearTimeout(timeoutId);\n resizeObserver.disconnect();\n };\n }, [selectedOptions, size, maxChipsVisible]);\n\n // Handle scroll to update arrow visibility\n const handleScroll = React.useCallback(\n (e: React.UIEvent<HTMLDivElement>) => {\n const element = e.currentTarget;\n const { scrollTop, scrollHeight, clientHeight } = element;\n\n setShowTopArrow(scrollTop > 0);\n setShowBottomArrow(scrollTop + clientHeight < scrollHeight - 1);\n },\n [],\n );\n\n // Check initial scroll state when dropdown opens\n React.useEffect(() => {\n if (isOpen) {\n // Use a small delay to ensure the DOM is fully rendered\n const timeoutId = setTimeout(() => {\n const element = scrollContainerRef.current;\n if (element) {\n const { scrollTop, scrollHeight, clientHeight } = element;\n setShowTopArrow(scrollTop > 0);\n setShowBottomArrow(scrollTop + clientHeight < scrollHeight - 1);\n }\n }, 50);\n\n return () => clearTimeout(timeoutId);\n } else {\n setShowTopArrow(false);\n setShowBottomArrow(false);\n return;\n }\n }, [isOpen, filteredOptions, shouldVirtualize]);\n\n const renderOptionsList = () => (\n <div className=\"relative\" data-slot=\"multiSelect_dropdown\">\n {/* Top scroll indicator */}\n {showTopArrow && (\n <div className=\"flex items-center justify-center\">\n <ChevronUp className=\"h-4 w-4 text-text-primary\" />\n </div>\n )}\n\n <div\n ref={scrollContainerRef}\n className={cn(\"overflow-auto relative\", classNames?.dropdown)}\n style={{ maxHeight: maxDropdownHeight }}\n role=\"listbox\"\n aria-multiselectable=\"true\"\n aria-labelledby={label ? labelId : undefined}\n onScroll={handleScroll}\n >\n {filteredOptions.length === 0 ? (\n <div\n className={cn(\"multiSelect_empty px-3 py-4 text-center text-sm text-text-secondary\", classNames?.empty)}\n data-slot=\"multiSelect_empty\"\n >\n No options found\n </div>\n ) : shouldVirtualize ? (\n <div\n ref={refCallback}\n style={{\n height: `${Math.min(virtualizer.getTotalSize(), maxDropdownHeight)}px`,\n overflow: \"auto\",\n }}\n onScroll={handleScroll}\n >\n <div\n style={{\n height: `${virtualizer.getTotalSize()}px`,\n width: \"100%\",\n position: \"relative\",\n }}\n >\n {virtualizer.getVirtualItems().map((virtualItem) => {\n const item = filteredOptions[virtualItem.index];\n\n if (item?.type === \"group\") {\n return (\n <div\n key={`group-${virtualItem.index}`}\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: `${virtualItem.size}px`,\n transform: `translateY(${virtualItem.start}px)`,\n }}\n className={multiSelectGroupVariants()}\n >\n {item?.data as string}\n </div>\n );\n }\n\n const option = item?.data as MultiSelectOption;\n const isSelected = currentValue.includes(option.value);\n const selectableOptions = filteredOptions.filter(\n (i) =>\n i.type === \"option\" &&\n !(i.data as MultiSelectOption).disabled,\n );\n const selectableIndex = selectableOptions.findIndex(\n (i) => i === item,\n );\n const isHighlighted = selectableIndex === highlightedIndex;\n\n return (\n <div\n key={option.value}\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: `${virtualItem.size}px`,\n transform: `translateY(${virtualItem.start}px)`,\n }}\n className={cn(\n \"multiSelect_option\",\n multiSelectOptionVariants({\n selected: isSelected,\n disabled: !!option.disabled,\n }),\n isHighlighted && \"bg-surface\",\n classNames?.option,\n isSelected && classNames?.optionSelected,\n )}\n onClick={() =>\n !option.disabled && handleSelect(option.value)\n }\n role=\"option\"\n aria-selected={isSelected}\n aria-disabled={option.disabled}\n data-slot=\"multiSelect_option\"\n >\n {option.label}\n {isSelected && (\n <span className=\"absolute right-3 top-1/2 -translate-y-1/2\">\n <Check\n className={cn(\"text-primary\", iconSizes[size])}\n />\n </span>\n )}\n </div>\n );\n })}\n </div>\n </div>\n ) : (\n <div className=\"py-1\">\n {filteredOptions.map((item, index) => {\n if (item.type === \"group\") {\n return (\n <div\n key={`group-${index}`}\n className={multiSelectGroupVariants()}\n >\n {item.data as string}\n </div>\n );\n }\n\n const option = item.data as MultiSelectOption;\n const isSelected = currentValue.includes(option.value);\n const selectableOptions = filteredOptions.filter(\n (i) =>\n i.type === \"option\" &&\n !(i.data as MultiSelectOption).disabled,\n );\n const selectableIndex = selectableOptions.findIndex(\n (i) => i === item,\n );\n const isHighlighted = selectableIndex === highlightedIndex;\n\n return (\n <div\n key={option.value}\n className={cn(\n \"multiSelect_option\",\n multiSelectOptionVariants({\n selected: isSelected,\n disabled: !!option.disabled,\n }),\n isHighlighted && \"bg-surface\",\n classNames?.option,\n isSelected && classNames?.optionSelected,\n )}\n onClick={() =>\n !option.disabled && handleSelect(option.value)\n }\n role=\"option\"\n aria-selected={isSelected}\n aria-disabled={option.disabled}\n data-slot=\"multiSelect_option\"\n >\n {option.label}\n {isSelected && (\n <span className=\"absolute right-3 top-1/2 -translate-y-1/2\">\n <Check\n className={cn(\"text-primary\", iconSizes[size])}\n />\n </span>\n )}\n </div>\n );\n })}\n </div>\n )}\n </div>\n\n {/* Bottom scroll indicator */}\n {showBottomArrow && (\n <div className=\"flex items-center justify-center\">\n <ChevronDown className=\"h-4 w-4 text-text-primary\" />\n </div>\n )}\n </div>\n );\n\n // Trigger button (used in both desktop and mobile)\n const triggerButton = (\n <button\n ref={triggerRef}\n type=\"button\"\n className={cn(\n \"multiSelect_trigger\",\n multiSelectTriggerVariants({ status, size, fullWidth }),\n loading && \"opacity-50\",\n classNames?.trigger,\n className,\n )}\n disabled={disabled || loading}\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen}\n aria-labelledby={label ? labelId : undefined}\n onClick={() => setIsOpen(!isOpen)}\n data-slot=\"multiSelect_trigger\"\n >\n {selectedOptions.length > 0 && (\n <div className=\"flex gap-1 shrink-0\">\n {selectedOptions.slice(0, visibleChipsCount).map((option) => (\n <span\n key={option.value}\n className={cn(\n \"multiSelect_tag inline-flex items-center gap-1 px-2 bg-primary/10 text-primary rounded text-sm whitespace-nowrap\",\n classNames?.tag\n )}\n data-slot=\"multiSelect_tag\"\n >\n {option.label}\n <button\n type=\"button\"\n onClick={(e) => handleRemoveChip(option.value, e)}\n className={cn(\n \"multiSelect_tagRemove hover:text-error\",\n classNames?.tagRemove\n )}\n disabled={disabled}\n data-slot=\"multiSelect_tagRemove\"\n >\n <X className=\"h-3 w-3\" />\n </button>\n </span>\n ))}\n {selectedOptions.length > visibleChipsCount && (\n <span className=\"inline-flex items-center px-2 py-0.5 bg-surface text-text-secondary rounded text-sm whitespace-nowrap\">\n +{selectedOptions.length - visibleChipsCount}\n </span>\n )}\n </div>\n )}\n <div\n className=\"absolute opacity-0 pointer-events-none whitespace-nowrap\"\n aria-hidden=\"true\"\n >\n {selectedOptions.map((option) => (\n <span\n key={option.value}\n data-hidden-chip\n className=\"inline-flex items-center gap-1 px-2 py-0.5 bg-primary/10 text-primary rounded text-sm whitespace-nowrap\"\n >\n {option.label}\n <X className=\"h-3 w-3\" />\n </span>\n ))}\n </div>\n <input\n ref={inputRef}\n type=\"text\"\n className=\"bg-transparent outline-none cursor-pointer placeholder:text-text-secondary/50 flex-1 min-w-0 pointer-events-none\"\n placeholder={selectedOptions.length > 0 ? \"\" : placeholder}\n value={searchQuery}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n onKeyDown={handleInputKeyDown}\n disabled={disabled || loading}\n readOnly={!isOpen}\n tabIndex={-1}\n />\n <div className=\"flex items-center gap-1 text-text-secondary\">\n {loading ? (\n <Loader2 className={cn(\"animate-spin\", iconSizes[size])} />\n ) : (\n <>\n {clearable && selectedOptions.length > 0 && !disabled && (\n <button\n type=\"button\"\n onClick={handleClear}\n className=\"hover:text-text-primary transition-colors\"\n aria-label=\"Clear selection\"\n >\n <X className={iconSizes[size]} />\n </button>\n )}\n {isOpen ? (\n <Search className={iconSizes[size]} />\n ) : (\n <ChevronDown className={iconSizes[size]} />\n )}\n </>\n )}\n </div>\n </button>\n );\n\n const selectElement = (\n <div\n className={cn(\n \"multiSelect_root relative group\",\n fullWidth ? \"w-full\" : \"inline-block\",\n classNames?.root\n )}\n ref={ref}\n data-slot=\"multiSelect_root\"\n {...props}\n >\n <Popover open={isOpen} onOpenChange={setIsOpen}>\n <PopoverTrigger asChild>{triggerButton}</PopoverTrigger>\n\n <PopoverContent\n className=\"p-0 w-[var(--radix-popover-trigger-width)]\"\n align=\"start\"\n sideOffset={4}\n onOpenAutoFocus={(e: Event) => {\n e.preventDefault();\n inputRef.current?.focus();\n }}\n >\n {renderOptionsList()}\n </PopoverContent>\n </Popover>\n </div>\n );\n\n return (\n <div className={cn(\"w-full flex flex-col\", !fullWidth && \"inline-block\")}>\n <div className=\"flex gap-2 items-center\">\n {label && (\n <label\n id={labelId}\n className={cn(\n \"multiSelect_label block mb-0.5\",\n classNames?.label\n )}\n data-slot=\"multiSelect_label\"\n >\n <span className=\"text-sm font-medium text-text-secondary\">\n {label}\n {required && <span className=\"text-error ml-1\">*</span>}\n </span>\n </label>\n )}\n {helperMessage && (\n <p\n className={cn(\n \"multiSelect_helper text-xs\",\n status === \"error\" && \"text-error\",\n status === \"warning\" && \"text-warning\",\n status === \"info\" && \"text-info\",\n status === \"success\" && \"text-success\",\n status === \"default\" && \"text-text-secondary\",\n classNames?.helper,\n )}\n data-slot=\"multiSelect_helper\"\n >\n {helperMessage}\n </p>\n )}\n </div>\n {selectElement}\n </div>\n );\n },\n);\n\nMultiSelect.displayName = \"MultiSelect\";\n\nexport type * from \"./types\";\nexport default MultiSelect;\n"]}
@@ -17,12 +17,14 @@ function Modal({
17
17
  );
18
18
  }
19
19
  function ModalTrigger({
20
+ className,
20
21
  ...props
21
22
  }) {
22
23
  return /* @__PURE__ */ jsx(
23
24
  DialogPrimitive.Trigger,
24
25
  {
25
26
  "data-slot": "modal-trigger",
27
+ className: cn("modal_trigger", className),
26
28
  ...props
27
29
  }
28
30
  );
@@ -39,24 +41,26 @@ function ModalPortal({
39
41
  );
40
42
  }
41
43
  function ModalClose({
44
+ className,
42
45
  ...props
43
46
  }) {
44
47
  return /* @__PURE__ */ jsx(
45
48
  DialogPrimitive.Close,
46
49
  {
47
50
  "data-slot": "modal-close",
51
+ className: cn("modal_close", className),
48
52
  ...props
49
53
  }
50
54
  );
51
55
  }
52
56
  var modalOverlayVariants = cva(
53
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/20 backdrop-blur-sm",
57
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 backdrop-blur-sm",
54
58
  {
55
59
  variants: {
56
60
  opacity: {
57
- light: "bg-opacity-30",
58
- medium: "bg-opacity-50",
59
- heavy: "bg-opacity-70"
61
+ light: "bg-black/10",
62
+ medium: "bg-black/20",
63
+ heavy: "bg-black/40"
60
64
  }
61
65
  },
62
66
  defaultVariants: {
@@ -85,7 +89,7 @@ function ModalOverlay({
85
89
  );
86
90
  }
87
91
  var modalContentVariants = cva(
88
- "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] rounded-md border duration-200",
92
+ "bg-background will-change-[transform,_opacity] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] rounded-md border duration-200",
89
93
  {
90
94
  variants: {
91
95
  size: {
@@ -184,27 +188,15 @@ var modalHeaderVariants = cva("flex flex-col text-text-primary", {
184
188
  sm: "gap-1.5",
185
189
  md: "gap-2",
186
190
  lg: "gap-3"
187
- },
188
- color: {
189
- default: "",
190
- primary: "border-l-primary",
191
- secondary: "border-l-secondary",
192
- success: "border-l-success",
193
- error: "border-l-error",
194
- accent: "border-l-accent",
195
- warning: "border-l-warning",
196
- info: "border-l-info"
197
191
  }
198
192
  },
199
193
  defaultVariants: {
200
- size: "md",
201
- color: "default"
194
+ size: "md"
202
195
  }
203
196
  });
204
197
  var ModalHeader = React.memo(function ModalHeader2({
205
198
  className,
206
199
  size = "md",
207
- color = "default",
208
200
  classNames,
209
201
  ...props
210
202
  }) {
@@ -214,7 +206,7 @@ var ModalHeader = React.memo(function ModalHeader2({
214
206
  "data-slot": "modal-header",
215
207
  className: cn(
216
208
  "modal_header",
217
- modalHeaderVariants({ size, color }),
209
+ modalHeaderVariants({ size }),
218
210
  classNames?.header,
219
211
  className
220
212
  ),
@@ -345,7 +337,6 @@ function ComposedModal({
345
337
  ModalHeader,
346
338
  {
347
339
  size,
348
- color,
349
340
  className,
350
341
  classNames,
351
342
  children: [
@@ -386,5 +377,5 @@ function ComposedModal({
386
377
  var modal_default = ComposedModal;
387
378
 
388
379
  export { Modal, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalOverlay, ModalPortal, ModalTitle, ModalTrigger, modal_default };
389
- //# sourceMappingURL=chunk-2J57G7XG.js.map
390
- //# sourceMappingURL=chunk-2J57G7XG.js.map
380
+ //# sourceMappingURL=chunk-UN3EW2PL.js.map
381
+ //# sourceMappingURL=chunk-UN3EW2PL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/modal/index.tsx"],"names":["ModalHeader","ModalFooter","ModalTitle","ModalDescription"],"mappings":"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","file":"chunk-UN3EW2PL.js","sourcesContent":["'use client'\n\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport { cva } from 'class-variance-authority'\nimport { XIcon } from 'lucide-react'\nimport * as React from 'react'\n\nimport { cn } from '../utils'\nimport type {\n ComposedModalProps,\n ModalClassNames,\n ModalColor,\n ModalSize,\n} from './types'\n\nfunction Modal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return (\n <DialogPrimitive.Root\n data-slot=\"modal\"\n {...props}\n />\n )\n}\n\nfunction ModalTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return (\n <DialogPrimitive.Trigger\n data-slot=\"modal-trigger\"\n className={cn('modal_trigger', className)}\n {...props}\n />\n )\n}\n\nfunction ModalPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return (\n <DialogPrimitive.Portal\n data-slot=\"modal-portal\"\n {...props}\n />\n )\n}\n\nfunction ModalClose({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return (\n <DialogPrimitive.Close\n data-slot=\"modal-close\"\n className={cn('modal_close', className)}\n {...props}\n />\n )\n}\n\nconst modalOverlayVariants = cva(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 backdrop-blur-sm',\n {\n variants: {\n opacity: {\n light: 'bg-black/10',\n medium: 'bg-black/20',\n heavy: 'bg-black/40',\n },\n },\n defaultVariants: {\n opacity: 'medium',\n },\n },\n)\n\nfunction ModalOverlay({\n className,\n opacity = 'medium',\n classNames,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay> & {\n opacity?: 'light' | 'medium' | 'heavy'\n classNames?: ModalClassNames\n}) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"modal-overlay\"\n className={cn(\n 'modal_overlay',\n modalOverlayVariants({ opacity }),\n classNames?.overlay,\n className,\n )}\n {...props}\n />\n )\n}\n\nconst modalContentVariants = cva(\n 'bg-background will-change-[transform,_opacity] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] rounded-md border duration-200',\n {\n variants: {\n size: {\n xs: 'max-w-(--modal-max-width-xs) gap-(--modal-gap-xs) p-(--modal-padding-xs) sm:max-w-(--modal-max-width-xs)',\n sm: 'max-w-(--modal-max-width-sm) gap-(--modal-gap-sm) p-(--modal-padding-sm) sm:max-w-(--modal-max-width-sm)',\n md: 'max-w-(--modal-max-width-md) gap-(--modal-gap-md) p-(--modal-padding-md) sm:max-w-(--modal-max-width-md)',\n lg: 'max-w-(--modal-max-width-lg) gap-(--modal-gap-lg) p-(--modal-padding-lg) sm:max-w-(--modal-max-width-lg)',\n },\n color: {\n default: 'border-border',\n primary: 'border-primary border-l-4',\n secondary: 'border-secondary border-l-4',\n accent: 'border-accent border-l-4',\n success: 'border-success border-l-4',\n error: 'border-error border-l-4',\n warning: 'border-warning border-l-4',\n info: 'border-info border-l-4',\n },\n centered: {\n true: 'text-center',\n false: '',\n },\n },\n defaultVariants: {\n size: 'md',\n color: 'default',\n centered: false,\n },\n },\n)\n\nconst modalCloseVariants = cva(\n 'absolute right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-primary focus:ring-offset-2 disabled:pointer-events-none text-text-secondary hover:text-text-primary [&_svg]:pointer-events-none [&_svg]:shrink-0',\n {\n variants: {\n size: {\n xs: 'top-3 [&_svg]:size-3.5',\n sm: 'top-3 [&_svg]:size-3.5',\n md: 'top-4 [&_svg]:size-4',\n lg: 'top-6 [&_svg]:size-5',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nfunction ModalContent({\n className,\n children,\n showCloseButton = true,\n size = 'md',\n color = 'default',\n centered = false,\n classNames,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean\n size?: ModalSize\n color?: ModalColor\n centered?: boolean\n classNames?: ModalClassNames\n}) {\n return (\n <ModalPortal data-slot=\"modal-portal\">\n <ModalOverlay classNames={classNames} />\n <DialogPrimitive.Content\n data-slot=\"modal-content\"\n className={cn(\n 'modal_content',\n modalContentVariants({ size, color, centered }),\n classNames?.content,\n className,\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"modal-close\"\n className={cn(\n 'modal_closeButton',\n modalCloseVariants({ size }),\n classNames?.closeButton,\n )}\n >\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </ModalPortal>\n )\n}\n\nconst modalHeaderVariants = cva('flex flex-col text-text-primary', {\n variants: {\n size: {\n xs: 'gap-1.5',\n sm: 'gap-1.5',\n md: 'gap-2',\n lg: 'gap-3',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\n// Performance optimization: Memoize Modal subcomponents to prevent unnecessary\n// re-renders when modal state changes but subcomponent props haven't changed\nconst ModalHeader = React.memo<\n React.ComponentProps<'div'> & {\n size?: ModalSize\n classNames?: ModalClassNames\n }\n>(function ModalHeader({\n className,\n size = 'md',\n classNames,\n ...props\n}) {\n return (\n <div\n data-slot=\"modal-header\"\n className={cn(\n 'modal_header',\n modalHeaderVariants({ size }),\n classNames?.header,\n className,\n )}\n {...props}\n />\n )\n})\n\nconst modalFooterVariants = cva(\n 'flex flex-col-reverse sm:flex-row sm:justify-end',\n {\n variants: {\n size: {\n xs: 'gap-1.5',\n sm: 'gap-1.5',\n md: 'gap-2',\n lg: 'gap-3',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst ModalFooter = React.memo<\n React.ComponentProps<'div'> & {\n size?: ModalSize\n classNames?: ModalClassNames\n }\n>(function ModalFooter({ className, size = 'md', classNames, ...props }) {\n return (\n <div\n data-slot=\"modal-footer\"\n className={cn(\n 'modal_footer',\n modalFooterVariants({ size }),\n classNames?.footer,\n className,\n )}\n {...props}\n />\n )\n})\n\nconst modalTitleVariants = cva('leading-none font-semibold text-text-primary', {\n variants: {\n size: {\n xs: 'text-base',\n sm: 'text-base',\n md: 'text-lg',\n lg: 'text-2xl',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst ModalTitle = React.memo<\n React.ComponentProps<typeof DialogPrimitive.Title> & {\n size?: ModalSize\n classNames?: ModalClassNames\n }\n>(function ModalTitle({ className, size = 'md', classNames, ...props }) {\n return (\n <DialogPrimitive.Title\n data-slot=\"modal-title\"\n className={cn(\n 'modal_title',\n modalTitleVariants({ size }),\n classNames?.title,\n className,\n )}\n {...props}\n />\n )\n})\n\nconst modalDescriptionVariants = cva('text-text-secondary', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-xs',\n md: 'text-sm',\n lg: 'text-base',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst ModalDescription = React.memo<\n React.ComponentProps<typeof DialogPrimitive.Description> & {\n size?: ModalSize\n classNames?: ModalClassNames\n }\n>(function ModalDescription({ className, size = 'md', classNames, ...props }) {\n return (\n <DialogPrimitive.Description\n data-slot=\"modal-description\"\n className={cn(\n 'modal_description',\n modalDescriptionVariants({ size }),\n classNames?.description,\n className,\n )}\n {...props}\n />\n )\n})\n\nfunction ComposedModal({\n open,\n onOpenChange,\n title,\n description,\n children,\n footer,\n size = 'md',\n color = 'default',\n centered = false,\n showCloseButton = true,\n hideHeader = false,\n hideFooter = false,\n className,\n contentClassName,\n classNames,\n}: ComposedModalProps) {\n return (\n <Modal\n open={open}\n onOpenChange={onOpenChange}\n >\n <ModalContent\n size={size}\n color={color}\n centered={centered}\n showCloseButton={showCloseButton}\n className={contentClassName}\n classNames={classNames}\n >\n {!hideHeader && (title || description) && (\n <ModalHeader\n size={size}\n className={className}\n classNames={classNames}\n >\n {title && (\n <ModalTitle\n size={size}\n classNames={classNames}\n >\n {title}\n </ModalTitle>\n )}\n {description && (\n <ModalDescription\n size={size}\n classNames={classNames}\n >\n {description}\n </ModalDescription>\n )}\n </ModalHeader>\n )}\n <div className={cn('modal_body', classNames?.body)}>{children}</div>\n {!hideFooter && footer && (\n <ModalFooter\n size={size}\n classNames={classNames}\n >\n {footer}\n </ModalFooter>\n )}\n </ModalContent>\n </Modal>\n )\n}\n\nexport type * from './types'\nexport {\n Modal,\n ModalClose,\n ModalContent,\n ModalDescription,\n ModalFooter,\n ModalHeader,\n ModalOverlay,\n ModalPortal,\n ModalTitle,\n ModalTrigger,\n}\nexport default ComposedModal\n"]}
@@ -5,7 +5,7 @@ import React, { useId } from 'react';
5
5
  import { jsxs, jsx } from 'react/jsx-runtime';
6
6
 
7
7
  var radioVariants = cva(
8
- "appearance-none rounded-full border-border border bg-background cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed outline-none",
8
+ "appearance-none rounded-full border-border border bg-background cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed outline-none transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary",
9
9
  {
10
10
  variants: {
11
11
  color: radioCheckedColorClasses,
@@ -111,5 +111,5 @@ Radio.displayName = "Radio";
111
111
  var radio_default = Radio;
112
112
 
113
113
  export { radio_default };
114
- //# sourceMappingURL=chunk-ITZBSE5F.js.map
115
- //# sourceMappingURL=chunk-ITZBSE5F.js.map
114
+ //# sourceMappingURL=chunk-VKLDLJXG.js.map
115
+ //# sourceMappingURL=chunk-VKLDLJXG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/radio/index.tsx"],"names":[],"mappings":"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","file":"chunk-VKLDLJXG.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React, { useId } from 'react'\n\nimport { cn } from '../utils'\nimport { radioCheckedColorClasses } from '../variants'\nimport type { RadioProps } from './types'\n\nconst radioVariants = cva(\n 'appearance-none rounded-full border-border border bg-background cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed outline-none transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary',\n {\n variants: {\n color: radioCheckedColorClasses,\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 Radio = React.memo<RadioProps>(\n ({\n color = 'primary',\n size = 'md',\n label,\n helperText,\n error,\n className,\n ref,\n classNames,\n ...props\n }) => {\n // Generate unique ID for accessibility\n const uniqueId = useId()\n const helperId = `radio-helper-${uniqueId}`\n const hasHelperText = !!(helperText || error)\n\n const radioElement = (\n <div className=\"relative inline-flex\">\n <input\n ref={ref}\n type=\"radio\"\n className={cn(\n 'radio_radio',\n radioVariants({ color, size, error: !!error }),\n className,\n classNames?.radio,\n )}\n aria-invalid={!!error || undefined}\n aria-describedby={hasHelperText ? helperId : undefined}\n {...props}\n />\n <div className={cn(\n 'radio_indicator',\n 'absolute inset-0 pointer-events-none',\n classNames?.indicator,\n )} />\n </div>\n )\n\n if (!label && !helperText && !error) return radioElement\n\n return (\n <div className={cn('radio_root', 'w-full', classNames?.root)}>\n <label\n className={cn(\n 'flex items-center gap-2',\n !props.disabled && 'cursor-pointer',\n )}\n >\n {radioElement}\n {label && (\n <span\n className={cn(\n 'radio_label',\n 'text-sm text-text-secondary select-none',\n error && 'text-error',\n props.disabled && 'opacity-50',\n classNames?.label,\n )}\n >\n {label}\n </span>\n )}\n </label>\n {(helperText || error) && (\n <p\n id={helperId}\n className={cn(\n 'radio_description',\n 'mt-1 ml-0 text-xs',\n error ? 'text-error' : 'text-text-secondary',\n classNames?.description,\n )}\n >\n {typeof error === 'string' ? error : helperText}\n </p>\n )}\n </div>\n )\n },\n)\n\nRadio.displayName = 'Radio'\n\nexport type * from './types'\nexport default Radio\n"]}
@@ -13,24 +13,33 @@ var dividerVariants = cva("", {
13
13
  solid: "border-solid",
14
14
  dashed: "border-dashed",
15
15
  dotted: "border-dotted"
16
- },
17
- color: {
18
- default: "border-border",
19
- primary: "border-primary",
20
- secondary: "border-secondary",
21
- accent: "border-accent",
22
- success: "border-success",
23
- error: "border-error",
24
- warning: "border-warning",
25
- info: "border-info"
26
16
  }
27
17
  },
28
18
  defaultVariants: {
29
19
  orientation: "horizontal",
30
- variant: "solid",
31
- color: "default"
20
+ variant: "solid"
32
21
  }
33
22
  });
23
+ var dividerBorderColorClasses = {
24
+ default: "border-border",
25
+ primary: "border-primary",
26
+ secondary: "border-secondary",
27
+ accent: "border-accent",
28
+ success: "border-success",
29
+ error: "border-error",
30
+ warning: "border-warning",
31
+ info: "border-info"
32
+ };
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
+ };
34
43
  var textAlignClasses = {
35
44
  left: {
36
45
  before: "w-(--divider-left-before-width)",
@@ -54,6 +63,8 @@ var Divider = React.memo(
54
63
  textAlign = "center",
55
64
  spacing,
56
65
  className,
66
+ classNames,
67
+ ref,
57
68
  ...props
58
69
  }) => {
59
70
  const hasText = Boolean(children);
@@ -62,13 +73,16 @@ var Divider = React.memo(
62
73
  return /* @__PURE__ */ jsxs(
63
74
  "div",
64
75
  {
76
+ ref,
65
77
  role: "separator",
66
78
  "aria-orientation": "horizontal",
67
79
  "data-slot": "root",
68
80
  className: cn(
69
81
  "divider_root",
70
- "flex items-center gap-(--divider-gap) text-sm text-text-secondary",
71
- className
82
+ "flex items-center gap-(--divider-gap) text-sm",
83
+ dividerLabelColorClasses[color],
84
+ className,
85
+ classNames?.root
72
86
  ),
73
87
  style: spacing ? { margin: spacing } : void 0,
74
88
  ...props,
@@ -76,21 +90,40 @@ var Divider = React.memo(
76
90
  /* @__PURE__ */ jsx(
77
91
  "div",
78
92
  {
93
+ "data-slot": "line",
79
94
  className: cn(
95
+ "divider_line",
80
96
  "border-t",
81
- dividerVariants({ variant, color }),
82
- textAlignClasses[textAlign].before
97
+ dividerVariants({ variant }),
98
+ dividerBorderColorClasses[color],
99
+ textAlignClasses[textAlign].before,
100
+ classNames?.line
83
101
  )
84
102
  }
85
103
  ),
86
- /* @__PURE__ */ jsx("span", { className: "whitespace-nowrap flex-shrink-0", children }),
104
+ /* @__PURE__ */ jsx(
105
+ "span",
106
+ {
107
+ "data-slot": "label",
108
+ className: cn(
109
+ "divider_label",
110
+ "whitespace-nowrap flex-shrink-0",
111
+ classNames?.label
112
+ ),
113
+ children
114
+ }
115
+ ),
87
116
  /* @__PURE__ */ jsx(
88
117
  "div",
89
118
  {
119
+ "data-slot": "line",
90
120
  className: cn(
121
+ "divider_line",
91
122
  "border-t",
92
- dividerVariants({ variant, color }),
93
- textAlignClasses[textAlign].after
123
+ dividerVariants({ variant }),
124
+ dividerBorderColorClasses[color],
125
+ textAlignClasses[textAlign].after,
126
+ classNames?.line
94
127
  )
95
128
  }
96
129
  )
@@ -101,14 +134,17 @@ var Divider = React.memo(
101
134
  return /* @__PURE__ */ jsx(
102
135
  "hr",
103
136
  {
137
+ ref,
104
138
  role: "separator",
105
139
  "aria-orientation": "horizontal",
106
140
  "data-slot": "root",
107
141
  className: cn(
108
142
  "divider_root",
109
143
  "border-t",
110
- dividerVariants({ orientation, variant, color }),
111
- className
144
+ dividerVariants({ orientation, variant }),
145
+ dividerBorderColorClasses[color],
146
+ className,
147
+ classNames?.root
112
148
  ),
113
149
  style: spacing ? { margin: spacing } : void 0,
114
150
  ...props
@@ -118,14 +154,17 @@ var Divider = React.memo(
118
154
  return /* @__PURE__ */ jsx(
119
155
  "div",
120
156
  {
157
+ ref,
121
158
  role: "separator",
122
159
  "aria-orientation": "vertical",
123
160
  "data-slot": "root",
124
161
  className: cn(
125
162
  "divider_root",
126
163
  "inline-block w-px border-l self-stretch",
127
- dividerVariants({ variant, color }),
128
- className
164
+ dividerVariants({ variant }),
165
+ dividerBorderColorClasses[color],
166
+ className,
167
+ classNames?.root
129
168
  ),
130
169
  style: spacing ? { margin: spacing } : void 0,
131
170
  ...props
@@ -137,5 +176,5 @@ Divider.displayName = "Divider";
137
176
  var divider_default = Divider;
138
177
 
139
178
  export { divider_default };
140
- //# sourceMappingURL=chunk-WUBMNJGC.js.map
141
- //# sourceMappingURL=chunk-WUBMNJGC.js.map
179
+ //# sourceMappingURL=chunk-VOODO2ZE.js.map
180
+ //# sourceMappingURL=chunk-VOODO2ZE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/divider/index.tsx"],"names":[],"mappings":";;;;;AAWA,IAAM,eAAA,GAAkB,IAAI,EAAA,EAAI;AAAA,EAC9B,QAAA,EAAU;AAAA,IACR,WAAA,EAAa;AAAA,MACX,UAAA,EAAY,QAAA;AAAA,MACZ,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,OAAA,EAAS;AAAA,MACP,KAAA,EAAO,cAAA;AAAA,MACP,MAAA,EAAQ,eAAA;AAAA,MACR,MAAA,EAAQ;AAAA;AACV,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,WAAA,EAAa,YAAA;AAAA,IACb,OAAA,EAAS;AAAA;AAEb,CAAC,CAAA;AAKD,IAAM,yBAAA,GAA4D;AAAA,EAChE,OAAA,EAAS,eAAA;AAAA,EACT,OAAA,EAAS,gBAAA;AAAA,EACT,SAAA,EAAW,kBAAA;AAAA,EACX,MAAA,EAAQ,eAAA;AAAA,EACR,OAAA,EAAS,gBAAA;AAAA,EACT,KAAA,EAAO,cAAA;AAAA,EACP,OAAA,EAAS,gBAAA;AAAA,EACT,IAAA,EAAM;AACR,CAAA;AAKA,IAAM,wBAAA,GAA2D;AAAA,EAC/D,OAAA,EAAS,qBAAA;AAAA,EACT,OAAA,EAAS,cAAA;AAAA,EACT,SAAA,EAAW,gBAAA;AAAA,EACX,MAAA,EAAQ,aAAA;AAAA,EACR,OAAA,EAAS,cAAA;AAAA,EACT,KAAA,EAAO,YAAA;AAAA,EACP,OAAA,EAAS,cAAA;AAAA,EACT,IAAA,EAAM;AACR,CAAA;AAOA,IAAM,gBAAA,GAAmB;AAAA,EACvB,IAAA,EAAM;AAAA,IACJ,MAAA,EAAQ,iCAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,MAAA,EAAQ,mCAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EACA,KAAA,EAAO;AAAA,IACL,MAAA,EAAQ,kCAAA;AAAA,IACR,KAAA,EAAO;AAAA;AAEX,CAAA;AAmCA,IAAM,UAAU,KAAA,CAAM,IAAA;AAAA,EACpB,CAAC;AAAA,IACC,WAAA,GAAc,YAAA;AAAA,IACd,OAAA,GAAU,OAAA;AAAA,IACV,KAAA,GAAQ,SAAA;AAAA,IACR,QAAA;AAAA,IACA,SAAA,GAAY,QAAA;AAAA,IACZ,OAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAM;AACJ,IAAA,MAAM,OAAA,GAAU,QAAQ,QAAQ,CAAA;AAMhC,IAAA,IAAI,gBAAgB,YAAA,EAAc;AAChC,MAAA,IAAI,OAAA,EAAS;AACX,QAAA,uBACE,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,GAAA;AAAA,YACA,IAAA,EAAK,WAAA;AAAA,YACL,kBAAA,EAAiB,YAAA;AAAA,YACjB,WAAA,EAAU,MAAA;AAAA,YACV,SAAA,EAAW,EAAA;AAAA,cACT,cAAA;AAAA,cACA,+CAAA;AAAA,cACA,yBAAyB,KAAK,CAAA;AAAA,cAC9B,SAAA;AAAA,cACA,UAAA,EAAY;AAAA,aACd;AAAA,YACA,KAAA,EAAO,OAAA,GAAU,EAAE,MAAA,EAAQ,SAAQ,GAAI,MAAA;AAAA,YACtC,GAAG,KAAA;AAAA,YAEJ,QAAA,EAAA;AAAA,8BAAA,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,WAAA,EAAU,MAAA;AAAA,kBACV,SAAA,EAAW,EAAA;AAAA,oBACT,cAAA;AAAA,oBACA,UAAA;AAAA,oBACA,eAAA,CAAgB,EAAE,OAAA,EAAS,CAAA;AAAA,oBAC3B,0BAA0B,KAAK,CAAA;AAAA,oBAC/B,gBAAA,CAAiB,SAAS,CAAA,CAAE,MAAA;AAAA,oBAC5B,UAAA,EAAY;AAAA;AACd;AAAA,eACF;AAAA,8BACA,GAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,WAAA,EAAU,OAAA;AAAA,kBACV,SAAA,EAAW,EAAA;AAAA,oBACT,eAAA;AAAA,oBACA,iCAAA;AAAA,oBACA,UAAA,EAAY;AAAA,mBACd;AAAA,kBAEC;AAAA;AAAA,eACH;AAAA,8BACA,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,WAAA,EAAU,MAAA;AAAA,kBACV,SAAA,EAAW,EAAA;AAAA,oBACT,cAAA;AAAA,oBACA,UAAA;AAAA,oBACA,eAAA,CAAgB,EAAE,OAAA,EAAS,CAAA;AAAA,oBAC3B,0BAA0B,KAAK,CAAA;AAAA,oBAC/B,gBAAA,CAAiB,SAAS,CAAA,CAAE,KAAA;AAAA,oBAC5B,UAAA,EAAY;AAAA;AACd;AAAA;AACF;AAAA;AAAA,SACF;AAAA,MAEJ;AAEA,MAAA,uBACE,GAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,IAAA,EAAK,WAAA;AAAA,UACL,kBAAA,EAAiB,YAAA;AAAA,UACjB,WAAA,EAAU,MAAA;AAAA,UACV,SAAA,EAAW,EAAA;AAAA,YACT,cAAA;AAAA,YACA,UAAA;AAAA,YACA,eAAA,CAAgB,EAAE,WAAA,EAAa,OAAA,EAAS,CAAA;AAAA,YACxC,0BAA0B,KAAK,CAAA;AAAA,YAC/B,SAAA;AAAA,YACA,UAAA,EAAY;AAAA,WACd;AAAA,UACA,KAAA,EAAO,OAAA,GAAU,EAAE,MAAA,EAAQ,SAAQ,GAAI,MAAA;AAAA,UACtC,GAAG;AAAA;AAAA,OACN;AAAA,IAEJ;AAOA,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAK,WAAA;AAAA,QACL,kBAAA,EAAiB,UAAA;AAAA,QACjB,WAAA,EAAU,MAAA;AAAA,QACV,SAAA,EAAW,EAAA;AAAA,UACT,cAAA;AAAA,UACA,yCAAA;AAAA,UACA,eAAA,CAAgB,EAAE,OAAA,EAAS,CAAA;AAAA,UAC3B,0BAA0B,KAAK,CAAA;AAAA,UAC/B,SAAA;AAAA,UACA,UAAA,EAAY;AAAA,SACd;AAAA,QACA,KAAA,EAAO,OAAA,GAAU,EAAE,MAAA,EAAQ,SAAQ,GAAI,MAAA;AAAA,QACtC,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF,CAAA;AAEA,OAAA,CAAQ,WAAA,GAAc,SAAA;AAGtB,IAAO,eAAA,GAAQ","file":"chunk-VOODO2ZE.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport type { ComponentColor } from '../types'\nimport { cn } from '../utils'\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 color classes for the divider label\n */\nconst dividerLabelColorClasses: Record<ComponentColor, string> = {\n default: 'text-text-secondary',\n primary: 'text-primary',\n secondary: 'text-secondary',\n accent: 'text-accent',\n success: 'text-success',\n error: 'text-error',\n warning: 'text-warning',\n info: 'text-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 dividerLabelColorClasses[color],\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"]}
@@ -55,7 +55,7 @@ var Image = React.memo(({
55
55
  src: imageError || !src ? "/static/png/empty.png" : src,
56
56
  className: cn(
57
57
  "image_image",
58
- "transition-all duration-500 ease-in-out",
58
+ "transition-opacity duration-500 ease-in-out",
59
59
  imageError && "image_error",
60
60
  imageError && classNames?.error,
61
61
  classNames?.image
@@ -72,5 +72,5 @@ Image.displayName = "Image";
72
72
  var image_default = Image;
73
73
 
74
74
  export { image_default };
75
- //# sourceMappingURL=chunk-FEMHXG2P.js.map
76
- //# sourceMappingURL=chunk-FEMHXG2P.js.map
75
+ //# sourceMappingURL=chunk-WAPZ4QAN.js.map
76
+ //# sourceMappingURL=chunk-WAPZ4QAN.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/image/index.tsx"],"names":[],"mappings":";;;;AAQA,IAAM,KAAA,GAAQ,KAAA,CAAM,IAAA,CAAiB,CAAC;AAAA,EACpC,GAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA,GAAgB,MAAA;AAAA,EAChB,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,KAAK,CAAA;AAClD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,KAAK,CAAA;AAC9C,EAAA,MAAM,QAAA,GAAW,OAAyB,IAAI,CAAA;AAE9C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,IAAI,SAAS,OAAA,EAAS;AACpB,QAAA,WAAA,CAAY,IAAI,CAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,MAAM,QAAA,CAAS,OAAA;AACrB,IAAA,IAAI,KAAK,QAAA,EAAU;AACjB,MAAA,UAAA,EAAW;AAAA,IACb,CAAA,MAAO;AACL,MAAA,GAAA,EAAK,gBAAA,CAAiB,QAAQ,UAAU,CAAA;AAAA,IAC1C;AAEA,IAAA,OAAO,MAAM,GAAA,EAAK,mBAAA,CAAoB,MAAA,EAAQ,UAAU,CAAA;AAAA,EAC1D,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,uBACE,IAAA,CAAC,SAAI,SAAA,EAAW,EAAA;AAAA,IACd,YAAA;AAAA,IACA,uBAAA;AAAA,IACA,UAAA,EAAY,IAAA;AAAA,IACZ;AAAA,GACF,EACG,QAAA,EAAA;AAAA,IAAA,QAAA,IAAY,CAAC,QAAA,oBACZ,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAO;AAAA,UACL,OAAO,KAAA,CAAM,KAAA,GAAQ,CAAA,EAAG,KAAA,CAAM,KAAK,CAAA,EAAA,CAAA,GAAO,MAAA;AAAA,UAC1C,QAAQ,KAAA,CAAM,MAAA,GAAS,CAAA,EAAG,KAAA,CAAM,MAAM,CAAA,EAAA,CAAA,GAAO;AAAA,SAC/C;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACT,mBAAA;AAAA,UACA,sHAAA;AAAA,UACA,UAAA,EAAY;AAAA;AACd;AAAA,KACF;AAAA,oBAEF,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,QAAA;AAAA,QACL,OAAA,EAAS,MAAM,aAAA,CAAc,IAAI,CAAA;AAAA,QACjC,GAAA,EAAK,UAAA,IAAc,CAAC,GAAA,GAAM,uBAAA,GAA0B,GAAA;AAAA,QACpD,SAAA,EAAW,EAAA;AAAA,UACT,aAAA;AAAA,UACA,yCAAA;AAAA,UACA,UAAA,IAAc,aAAA;AAAA,UACd,cAAc,UAAA,EAAY,KAAA;AAAA,UAC1B,UAAA,EAAY;AAAA,SACd;AAAA,QACC,GAAG,KAAA;AAAA,QACJ,KAAK,KAAA,CAAM,GAAA;AAAA,QACX,OAAA,EAAQ,MAAA;AAAA,QACR;AAAA;AAAA;AACF,GAAA,EACF,CAAA;AAEJ,CAAC,CAAA;AAED,KAAA,CAAM,WAAA,GAAc,OAAA;AAGpB,IAAO,aAAA,GAAQ","file":"chunk-FEMHXG2P.js","sourcesContent":["'use client'\n\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { cn } from '../utils'\n\nimport { ImageProps } from './types'\n\nconst Image = React.memo<ImageProps>(({\n src,\n withBlur,\n className,\n classNames,\n fetchPriority = 'auto',\n ...props\n}) => {\n const [imageError, setImageError] = useState(false)\n const [isLoaded, setIsLoaded] = useState(false)\n const imageRef = useRef<HTMLImageElement>(null)\n\n useEffect(() => {\n const handleLoad = () => {\n if (imageRef.current) {\n setIsLoaded(true)\n }\n }\n\n const img = imageRef.current\n if (img?.complete) {\n handleLoad()\n } else {\n img?.addEventListener('load', handleLoad)\n }\n\n return () => img?.removeEventListener('load', handleLoad)\n }, [])\n\n return (\n <div className={cn(\n 'image_root',\n 'relative inline-block',\n classNames?.root,\n className\n )}>\n {withBlur && !isLoaded && (\n <div\n style={{\n width: props.width ? `${props.width}px` : undefined,\n height: props.height ? `${props.height}px` : undefined,\n }}\n className={cn(\n 'image_placeholder',\n 'absolute top-0 left-0 w-full h-full rounded-md animate-pulse bg-gradient-to-r from-surface via-background to-surface',\n classNames?.placeholder\n )}\n />\n )}\n <img\n ref={imageRef}\n onError={() => setImageError(true)}\n src={imageError || !src ? '/static/png/empty.png' : src}\n className={cn(\n 'image_image',\n 'transition-all duration-500 ease-in-out',\n imageError && 'image_error',\n imageError && classNames?.error,\n classNames?.image\n )}\n {...props}\n alt={props.alt}\n loading=\"lazy\"\n fetchPriority={fetchPriority}\n />\n </div>\n )\n})\n\nImage.displayName = 'Image'\n\nexport type * from './types'\nexport default Image\n"]}
1
+ {"version":3,"sources":["../src/image/index.tsx"],"names":[],"mappings":";;;;AAQA,IAAM,KAAA,GAAQ,KAAA,CAAM,IAAA,CAAiB,CAAC;AAAA,EACpC,GAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA,GAAgB,MAAA;AAAA,EAChB,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,KAAK,CAAA;AAClD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAS,KAAK,CAAA;AAC9C,EAAA,MAAM,QAAA,GAAW,OAAyB,IAAI,CAAA;AAE9C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,IAAI,SAAS,OAAA,EAAS;AACpB,QAAA,WAAA,CAAY,IAAI,CAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,MAAM,QAAA,CAAS,OAAA;AACrB,IAAA,IAAI,KAAK,QAAA,EAAU;AACjB,MAAA,UAAA,EAAW;AAAA,IACb,CAAA,MAAO;AACL,MAAA,GAAA,EAAK,gBAAA,CAAiB,QAAQ,UAAU,CAAA;AAAA,IAC1C;AAEA,IAAA,OAAO,MAAM,GAAA,EAAK,mBAAA,CAAoB,MAAA,EAAQ,UAAU,CAAA;AAAA,EAC1D,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,uBACE,IAAA,CAAC,SAAI,SAAA,EAAW,EAAA;AAAA,IACd,YAAA;AAAA,IACA,uBAAA;AAAA,IACA,UAAA,EAAY,IAAA;AAAA,IACZ;AAAA,GACF,EACG,QAAA,EAAA;AAAA,IAAA,QAAA,IAAY,CAAC,QAAA,oBACZ,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAO;AAAA,UACL,OAAO,KAAA,CAAM,KAAA,GAAQ,CAAA,EAAG,KAAA,CAAM,KAAK,CAAA,EAAA,CAAA,GAAO,MAAA;AAAA,UAC1C,QAAQ,KAAA,CAAM,MAAA,GAAS,CAAA,EAAG,KAAA,CAAM,MAAM,CAAA,EAAA,CAAA,GAAO;AAAA,SAC/C;AAAA,QACA,SAAA,EAAW,EAAA;AAAA,UACT,mBAAA;AAAA,UACA,sHAAA;AAAA,UACA,UAAA,EAAY;AAAA;AACd;AAAA,KACF;AAAA,oBAEF,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,QAAA;AAAA,QACL,OAAA,EAAS,MAAM,aAAA,CAAc,IAAI,CAAA;AAAA,QACjC,GAAA,EAAK,UAAA,IAAc,CAAC,GAAA,GAAM,uBAAA,GAA0B,GAAA;AAAA,QACpD,SAAA,EAAW,EAAA;AAAA,UACT,aAAA;AAAA,UACA,6CAAA;AAAA,UACA,UAAA,IAAc,aAAA;AAAA,UACd,cAAc,UAAA,EAAY,KAAA;AAAA,UAC1B,UAAA,EAAY;AAAA,SACd;AAAA,QACC,GAAG,KAAA;AAAA,QACJ,KAAK,KAAA,CAAM,GAAA;AAAA,QACX,OAAA,EAAQ,MAAA;AAAA,QACR;AAAA;AAAA;AACF,GAAA,EACF,CAAA;AAEJ,CAAC,CAAA;AAED,KAAA,CAAM,WAAA,GAAc,OAAA;AAGpB,IAAO,aAAA,GAAQ","file":"chunk-WAPZ4QAN.js","sourcesContent":["'use client'\n\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { cn } from '../utils'\n\nimport { ImageProps } from './types'\n\nconst Image = React.memo<ImageProps>(({\n src,\n withBlur,\n className,\n classNames,\n fetchPriority = 'auto',\n ...props\n}) => {\n const [imageError, setImageError] = useState(false)\n const [isLoaded, setIsLoaded] = useState(false)\n const imageRef = useRef<HTMLImageElement>(null)\n\n useEffect(() => {\n const handleLoad = () => {\n if (imageRef.current) {\n setIsLoaded(true)\n }\n }\n\n const img = imageRef.current\n if (img?.complete) {\n handleLoad()\n } else {\n img?.addEventListener('load', handleLoad)\n }\n\n return () => img?.removeEventListener('load', handleLoad)\n }, [])\n\n return (\n <div className={cn(\n 'image_root',\n 'relative inline-block',\n classNames?.root,\n className\n )}>\n {withBlur && !isLoaded && (\n <div\n style={{\n width: props.width ? `${props.width}px` : undefined,\n height: props.height ? `${props.height}px` : undefined,\n }}\n className={cn(\n 'image_placeholder',\n 'absolute top-0 left-0 w-full h-full rounded-md animate-pulse bg-gradient-to-r from-surface via-background to-surface',\n classNames?.placeholder\n )}\n />\n )}\n <img\n ref={imageRef}\n onError={() => setImageError(true)}\n src={imageError || !src ? '/static/png/empty.png' : src}\n className={cn(\n 'image_image',\n 'transition-opacity duration-500 ease-in-out',\n imageError && 'image_error',\n imageError && classNames?.error,\n classNames?.image\n )}\n {...props}\n alt={props.alt}\n loading=\"lazy\"\n fetchPriority={fetchPriority}\n />\n </div>\n )\n})\n\nImage.displayName = 'Image'\n\nexport type * from './types'\nexport default Image\n"]}