@mdigital_ui/ui 0.4.3 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/README.md +45 -5
  2. package/dist/accordion/index.js +2 -2
  3. package/dist/alert/index.d.ts +6 -0
  4. package/dist/alert/index.d.ts.map +1 -0
  5. package/dist/alert/index.js +5 -0
  6. package/dist/alert/types.d.ts +24 -0
  7. package/dist/alert/types.d.ts.map +1 -0
  8. package/dist/anchor/index.d.ts +6 -0
  9. package/dist/anchor/index.d.ts.map +1 -0
  10. package/dist/anchor/types.d.ts +26 -0
  11. package/dist/anchor/types.d.ts.map +1 -0
  12. package/dist/autocomplete/index.d.ts +6 -0
  13. package/dist/autocomplete/index.d.ts.map +1 -0
  14. package/dist/autocomplete/types.d.ts +39 -0
  15. package/dist/autocomplete/types.d.ts.map +1 -0
  16. package/dist/avatar/index.d.ts.map +1 -1
  17. package/dist/avatar/index.js +2 -1
  18. package/dist/badge/index.js +2 -2
  19. package/dist/breadcrumbs/index.d.ts.map +1 -1
  20. package/dist/breadcrumbs/index.js +4 -4
  21. package/dist/button/index.js +3 -3
  22. package/dist/calendar/index.d.ts +6 -0
  23. package/dist/calendar/index.d.ts.map +1 -0
  24. package/dist/calendar/types.d.ts +29 -0
  25. package/dist/calendar/types.d.ts.map +1 -0
  26. package/dist/card/index.d.ts +1 -1
  27. package/dist/card/index.d.ts.map +1 -1
  28. package/dist/card/index.js +2 -2
  29. package/dist/carousel/carousel-navigation.d.ts.map +1 -1
  30. package/dist/carousel/index.d.ts +1 -2
  31. package/dist/carousel/index.d.ts.map +1 -1
  32. package/dist/carousel/index.js +1 -1
  33. package/dist/carousel/styles.d.ts +12 -0
  34. package/dist/carousel/styles.d.ts.map +1 -0
  35. package/dist/cascader/CascaderMenu.d.ts +41 -0
  36. package/dist/cascader/CascaderMenu.d.ts.map +1 -0
  37. package/dist/cascader/index.d.ts.map +1 -1
  38. package/dist/cascader/index.js +2 -2
  39. package/dist/checkbox/index.d.ts.map +1 -1
  40. package/dist/checkbox/index.js +2 -2
  41. package/dist/{chunk-XWCWTPEM.js → chunk-253JZOYG.js} +4 -4
  42. package/dist/chunk-253JZOYG.js.map +1 -0
  43. package/dist/{chunk-VV3VO5TS.js → chunk-3D77IPKB.js} +7 -15
  44. package/dist/chunk-3D77IPKB.js.map +1 -0
  45. package/dist/{chunk-FCU2ENQQ.js → chunk-3XOHSE3X.js} +12 -7
  46. package/dist/chunk-3XOHSE3X.js.map +1 -0
  47. package/dist/{chunk-4WZDQI22.js → chunk-4HKPDSA6.js} +4 -4
  48. package/dist/chunk-4HKPDSA6.js.map +1 -0
  49. package/dist/{chunk-54Z7XTJA.js → chunk-4ZXHLPRS.js} +32 -34
  50. package/dist/chunk-4ZXHLPRS.js.map +1 -0
  51. package/dist/{chunk-H6PCGSIT.js → chunk-5MBKTMDW.js} +3 -3
  52. package/dist/{chunk-H6PCGSIT.js.map → chunk-5MBKTMDW.js.map} +1 -1
  53. package/dist/{chunk-ZZZGD5EF.js → chunk-5SEVPU6C.js} +3 -3
  54. package/dist/{chunk-ZZZGD5EF.js.map → chunk-5SEVPU6C.js.map} +1 -1
  55. package/dist/{chunk-ZNNIXMJZ.js → chunk-7RT65ZGV.js} +5 -7
  56. package/dist/chunk-7RT65ZGV.js.map +1 -0
  57. package/dist/{chunk-F4GLUQOF.js → chunk-A4MYCEGM.js} +9 -11
  58. package/dist/chunk-A4MYCEGM.js.map +1 -0
  59. package/dist/{chunk-EHNWVQBL.js → chunk-ADZWWBAX.js} +28 -79
  60. package/dist/chunk-ADZWWBAX.js.map +1 -0
  61. package/dist/{chunk-3KISIZGP.js → chunk-AFW2ORFT.js} +12 -4
  62. package/dist/chunk-AFW2ORFT.js.map +1 -0
  63. package/dist/{chunk-5CIJ7UCP.js → chunk-AL2EEKUY.js} +5 -5
  64. package/dist/chunk-AL2EEKUY.js.map +1 -0
  65. package/dist/{chunk-442OQLPK.js → chunk-BGMYX7L5.js} +4 -4
  66. package/dist/chunk-BGMYX7L5.js.map +1 -0
  67. package/dist/chunk-BKLJDEUX.js +857 -0
  68. package/dist/chunk-BKLJDEUX.js.map +1 -0
  69. package/dist/{chunk-QNLTSHMB.js → chunk-C32HL4XU.js} +3 -3
  70. package/dist/{chunk-QNLTSHMB.js.map → chunk-C32HL4XU.js.map} +1 -1
  71. package/dist/chunk-C65SCJD6.js +138 -0
  72. package/dist/chunk-C65SCJD6.js.map +1 -0
  73. package/dist/{chunk-C46VTIW7.js → chunk-CUXQZRDI.js} +6 -13
  74. package/dist/chunk-CUXQZRDI.js.map +1 -0
  75. package/dist/{chunk-MZDAQSI4.js → chunk-DDZCRCTQ.js} +4 -4
  76. package/dist/chunk-DDZCRCTQ.js.map +1 -0
  77. package/dist/{chunk-GLJDHW73.js → chunk-G6QIIWKU.js} +2 -2
  78. package/dist/chunk-G6QIIWKU.js.map +1 -0
  79. package/dist/{chunk-BLFXVSZU.js → chunk-HR5TGNOF.js} +3 -3
  80. package/dist/{chunk-BLFXVSZU.js.map → chunk-HR5TGNOF.js.map} +1 -1
  81. package/dist/{chunk-GPSZJWU3.js → chunk-HSMO2BR4.js} +5 -13
  82. package/dist/chunk-HSMO2BR4.js.map +1 -0
  83. package/dist/{chunk-UIVOI7HE.js → chunk-HVHQA34X.js} +15 -21
  84. package/dist/chunk-HVHQA34X.js.map +1 -0
  85. package/dist/{chunk-3QD7AQX7.js → chunk-I5AD247M.js} +9 -5
  86. package/dist/chunk-I5AD247M.js.map +1 -0
  87. package/dist/{chunk-DF2ICSNI.js → chunk-I7HJBHQU.js} +3 -3
  88. package/dist/{chunk-DF2ICSNI.js.map → chunk-I7HJBHQU.js.map} +1 -1
  89. package/dist/{chunk-NHM6DZOF.js → chunk-J2WIZULN.js} +23 -8
  90. package/dist/chunk-J2WIZULN.js.map +1 -0
  91. package/dist/{chunk-62LTLXVG.js → chunk-JBNFVXH5.js} +14 -9
  92. package/dist/chunk-JBNFVXH5.js.map +1 -0
  93. package/dist/{chunk-BMA4E3T6.js → chunk-JFTSWOGE.js} +9 -21
  94. package/dist/chunk-JFTSWOGE.js.map +1 -0
  95. package/dist/{chunk-G27HGKWO.js → chunk-JIXINKUJ.js} +7 -26
  96. package/dist/chunk-JIXINKUJ.js.map +1 -0
  97. package/dist/{chunk-DOI7OTYV.js → chunk-LJOQ2C5W.js} +4 -4
  98. package/dist/chunk-LJOQ2C5W.js.map +1 -0
  99. package/dist/chunk-LWYZCSX4.js +531 -0
  100. package/dist/chunk-LWYZCSX4.js.map +1 -0
  101. package/dist/{chunk-3FXOQC6P.js → chunk-LXHFGQOI.js} +3 -3
  102. package/dist/chunk-LXHFGQOI.js.map +1 -0
  103. package/dist/{chunk-W5L7C7WS.js → chunk-NMP4HY6M.js} +4 -4
  104. package/dist/chunk-NMP4HY6M.js.map +1 -0
  105. package/dist/{chunk-DPIXBBXK.js → chunk-NTCAZ2LF.js} +30 -10
  106. package/dist/chunk-NTCAZ2LF.js.map +1 -0
  107. package/dist/{chunk-VIK6UTVN.js → chunk-OGB5QPNZ.js} +10 -92
  108. package/dist/chunk-OGB5QPNZ.js.map +1 -0
  109. package/dist/{chunk-YSV5GQS7.js → chunk-OJAHIPPP.js} +21 -114
  110. package/dist/chunk-OJAHIPPP.js.map +1 -0
  111. package/dist/{chunk-AOXTD7QZ.js → chunk-OTNKP5CD.js} +9 -26
  112. package/dist/chunk-OTNKP5CD.js.map +1 -0
  113. package/dist/{chunk-VKY3JXAQ.js → chunk-PB5VGXS5.js} +4 -4
  114. package/dist/chunk-PB5VGXS5.js.map +1 -0
  115. package/dist/chunk-PQOIW5CM.js +27 -0
  116. package/dist/chunk-PQOIW5CM.js.map +1 -0
  117. package/dist/{chunk-CHGABWIV.js → chunk-PRDJLQLB.js} +22 -102
  118. package/dist/chunk-PRDJLQLB.js.map +1 -0
  119. package/dist/{chunk-7OYMEXY3.js → chunk-QEAALOJC.js} +9 -13
  120. package/dist/chunk-QEAALOJC.js.map +1 -0
  121. package/dist/{chunk-LM6CJZX5.js → chunk-ROQGBDET.js} +4 -4
  122. package/dist/{chunk-LM6CJZX5.js.map → chunk-ROQGBDET.js.map} +1 -1
  123. package/dist/{chunk-GGQF5PQN.js → chunk-RRPMZYVN.js} +3 -3
  124. package/dist/{chunk-GGQF5PQN.js.map → chunk-RRPMZYVN.js.map} +1 -1
  125. package/dist/{chunk-USHR3MWQ.js → chunk-S6HO7HUY.js} +8 -6
  126. package/dist/chunk-S6HO7HUY.js.map +1 -0
  127. package/dist/{chunk-K5RV3GF4.js → chunk-SFP77VS3.js} +3 -3
  128. package/dist/{chunk-K5RV3GF4.js.map → chunk-SFP77VS3.js.map} +1 -1
  129. package/dist/{chunk-LXHOS74B.js → chunk-SJLH5ZDW.js} +4 -4
  130. package/dist/{chunk-LXHOS74B.js.map → chunk-SJLH5ZDW.js.map} +1 -1
  131. package/dist/{chunk-5XLCUGLQ.js → chunk-TBKPQOXF.js} +48 -29
  132. package/dist/chunk-TBKPQOXF.js.map +1 -0
  133. package/dist/{chunk-X3CNTOKQ.js → chunk-TDNPACQD.js} +4 -4
  134. package/dist/chunk-TDNPACQD.js.map +1 -0
  135. package/dist/{chunk-QZ67UOPR.js → chunk-TQEMGWZ2.js} +16 -17
  136. package/dist/chunk-TQEMGWZ2.js.map +1 -0
  137. package/dist/{chunk-U3RHF7QF.js → chunk-U4JPTWK6.js} +4 -4
  138. package/dist/chunk-U4JPTWK6.js.map +1 -0
  139. package/dist/{chunk-S7R4NTOI.js → chunk-UFC3RGIN.js} +3 -3
  140. package/dist/{chunk-S7R4NTOI.js.map → chunk-UFC3RGIN.js.map} +1 -1
  141. package/dist/{chunk-2OBMSB5S.js → chunk-W5VLFE4U.js} +5 -5
  142. package/dist/chunk-W5VLFE4U.js.map +1 -0
  143. package/dist/{chunk-6ZPCKFRS.js → chunk-WG5AYAC6.js} +7 -16
  144. package/dist/chunk-WG5AYAC6.js.map +1 -0
  145. package/dist/{chunk-TS2PG6Z4.js → chunk-WQT24BGG.js} +4 -17
  146. package/dist/chunk-WQT24BGG.js.map +1 -0
  147. package/dist/{chunk-FZXMRXWE.js → chunk-X7MF3TIF.js} +8 -13
  148. package/dist/chunk-X7MF3TIF.js.map +1 -0
  149. package/dist/{chunk-SUNCSPDF.js → chunk-XAM5EKOS.js} +6 -19
  150. package/dist/chunk-XAM5EKOS.js.map +1 -0
  151. package/dist/{chunk-XKDN5PWJ.js → chunk-XBXPY7U3.js} +4 -4
  152. package/dist/{chunk-XKDN5PWJ.js.map → chunk-XBXPY7U3.js.map} +1 -1
  153. package/dist/{chunk-5PUATOLR.js → chunk-XCK62GVU.js} +4 -4
  154. package/dist/chunk-XCK62GVU.js.map +1 -0
  155. package/dist/{chunk-AEPBQO7U.js → chunk-XMBZBXXS.js} +5 -13
  156. package/dist/chunk-XMBZBXXS.js.map +1 -0
  157. package/dist/{chunk-2FYXBW4S.js → chunk-XOEEAMMY.js} +23 -36
  158. package/dist/chunk-XOEEAMMY.js.map +1 -0
  159. package/dist/{chunk-HSW64H23.js → chunk-Z3DIBMBQ.js} +20 -34
  160. package/dist/chunk-Z3DIBMBQ.js.map +1 -0
  161. package/dist/clipboard/index.d.ts.map +1 -1
  162. package/dist/clipboard/index.js +2 -2
  163. package/dist/collapse/index.d.ts.map +1 -1
  164. package/dist/collapse/index.js +3 -2
  165. package/dist/color-picker/index.d.ts +8 -0
  166. package/dist/color-picker/index.d.ts.map +1 -0
  167. package/dist/color-picker/types.d.ts +42 -0
  168. package/dist/color-picker/types.d.ts.map +1 -0
  169. package/dist/command/index.d.ts.map +1 -1
  170. package/dist/command/index.js +3 -2
  171. package/dist/context-menu/index.d.ts +2 -2
  172. package/dist/context-menu/index.d.ts.map +1 -1
  173. package/dist/context-menu/index.js +2 -1
  174. package/dist/context-menu/types.d.ts +12 -0
  175. package/dist/context-menu/types.d.ts.map +1 -1
  176. package/dist/date-picker/CalendarHeader.d.ts +18 -0
  177. package/dist/date-picker/CalendarHeader.d.ts.map +1 -0
  178. package/dist/date-picker/MonthSelector.d.ts +11 -0
  179. package/dist/date-picker/MonthSelector.d.ts.map +1 -0
  180. package/dist/date-picker/PickerWrapper.d.ts +18 -0
  181. package/dist/date-picker/PickerWrapper.d.ts.map +1 -0
  182. package/dist/date-picker/RangePicker.d.ts +4 -0
  183. package/dist/date-picker/RangePicker.d.ts.map +1 -0
  184. package/dist/date-picker/TimePicker.d.ts +4 -0
  185. package/dist/date-picker/TimePicker.d.ts.map +1 -0
  186. package/dist/date-picker/YearSelector.d.ts +10 -0
  187. package/dist/date-picker/YearSelector.d.ts.map +1 -0
  188. package/dist/date-picker/index.d.ts +6 -6
  189. package/dist/date-picker/index.d.ts.map +1 -1
  190. package/dist/date-picker/index.js +3 -3
  191. package/dist/date-picker/shared.d.ts +3 -0
  192. package/dist/date-picker/shared.d.ts.map +1 -0
  193. package/dist/date-picker/utils.d.ts +1 -1
  194. package/dist/date-picker/utils.d.ts.map +1 -1
  195. package/dist/descriptions/index.d.ts.map +1 -1
  196. package/dist/descriptions/index.js +2 -1
  197. package/dist/divider/index.d.ts.map +1 -1
  198. package/dist/divider/index.js +2 -2
  199. package/dist/drawer/index.js +1 -1
  200. package/dist/dropdown/index.d.ts.map +1 -1
  201. package/dist/dropdown/index.js +3 -3
  202. package/dist/fetching-overlay/index.js +3 -3
  203. package/dist/float-button/index.d.ts +9 -0
  204. package/dist/float-button/index.d.ts.map +1 -0
  205. package/dist/float-button/types.d.ts +45 -0
  206. package/dist/float-button/types.d.ts.map +1 -0
  207. package/dist/float-input/index.d.ts.map +1 -1
  208. package/dist/float-input/index.js +3 -3
  209. package/dist/index.d.ts +28 -2
  210. package/dist/index.d.ts.map +1 -1
  211. package/dist/index.js +3020 -81
  212. package/dist/index.js.map +1 -1
  213. package/dist/input/index.d.ts.map +1 -1
  214. package/dist/input/index.js +3 -3
  215. package/dist/input-otp/index.d.ts.map +1 -1
  216. package/dist/input-otp/index.js +1 -1
  217. package/dist/input-password/index.d.ts.map +1 -1
  218. package/dist/input-password/index.js +4 -4
  219. package/dist/kbd/index.js +2 -2
  220. package/dist/link/index.d.ts.map +1 -1
  221. package/dist/link/index.js +2 -1
  222. package/dist/mentions/index.d.ts +6 -0
  223. package/dist/mentions/index.d.ts.map +1 -0
  224. package/dist/mentions/types.d.ts +36 -0
  225. package/dist/mentions/types.d.ts.map +1 -0
  226. package/dist/menubar/index.d.ts.map +1 -1
  227. package/dist/menubar/index.js +3 -3
  228. package/dist/modal/index.d.ts +1 -1
  229. package/dist/modal/index.d.ts.map +1 -1
  230. package/dist/modal/index.js +1 -1
  231. package/dist/modal/types.d.ts +8 -0
  232. package/dist/modal/types.d.ts.map +1 -1
  233. package/dist/multi-select/index.d.ts.map +1 -1
  234. package/dist/multi-select/index.js +5 -4
  235. package/dist/navigation-menu/index.d.ts.map +1 -1
  236. package/dist/navigation-menu/index.js +1 -1
  237. package/dist/navigation-menu/types.d.ts +2 -0
  238. package/dist/navigation-menu/types.d.ts.map +1 -1
  239. package/dist/notification/index.d.ts.map +1 -1
  240. package/dist/notification/index.js +2 -2
  241. package/dist/number-input/index.d.ts.map +1 -1
  242. package/dist/number-input/index.js +4 -3
  243. package/dist/pagination/index.d.ts.map +1 -1
  244. package/dist/pagination/index.js +2 -2
  245. package/dist/popover/index.js +2 -2
  246. package/dist/progress/index.d.ts.map +1 -1
  247. package/dist/progress/index.js +2 -2
  248. package/dist/qr-code/index.d.ts +6 -0
  249. package/dist/qr-code/index.d.ts.map +1 -0
  250. package/dist/qr-code/types.d.ts +49 -0
  251. package/dist/qr-code/types.d.ts.map +1 -0
  252. package/dist/radio/index.js +2 -2
  253. package/dist/rating/index.d.ts.map +1 -1
  254. package/dist/rating/index.js +2 -1
  255. package/dist/resizable/index.d.ts +7 -0
  256. package/dist/resizable/index.d.ts.map +1 -0
  257. package/dist/resizable/types.d.ts +8 -0
  258. package/dist/resizable/types.d.ts.map +1 -0
  259. package/dist/result/index.d.ts +6 -0
  260. package/dist/result/index.d.ts.map +1 -0
  261. package/dist/result/types.d.ts +22 -0
  262. package/dist/result/types.d.ts.map +1 -0
  263. package/dist/scroll-area/index.d.ts.map +1 -1
  264. package/dist/scroll-area/index.js +1 -1
  265. package/dist/select/index.d.ts.map +1 -1
  266. package/dist/select/index.js +5 -4
  267. package/dist/skeleton/index.js +2 -2
  268. package/dist/slider/index.js +2 -2
  269. package/dist/spinner/index.js +2 -2
  270. package/dist/stepper/index.d.ts +3 -3
  271. package/dist/stepper/index.d.ts.map +1 -1
  272. package/dist/stepper/index.js +2 -2
  273. package/dist/switch/index.js +2 -2
  274. package/dist/table/TableHeaderCell.d.ts.map +1 -1
  275. package/dist/table/index.d.ts +1 -1
  276. package/dist/table/index.d.ts.map +1 -1
  277. package/dist/table/index.js +9 -9
  278. package/dist/table/types.d.ts +6 -0
  279. package/dist/table/types.d.ts.map +1 -1
  280. package/dist/tabs/index.d.ts.map +1 -1
  281. package/dist/tabs/index.js +2 -2
  282. package/dist/tag/index.d.ts.map +1 -1
  283. package/dist/tag/index.js +2 -2
  284. package/dist/tags-input/index.d.ts +6 -0
  285. package/dist/tags-input/index.d.ts.map +1 -0
  286. package/dist/tags-input/types.d.ts +36 -0
  287. package/dist/tags-input/types.d.ts.map +1 -0
  288. package/dist/textarea/index.d.ts.map +1 -1
  289. package/dist/textarea/index.js +1 -1
  290. package/dist/theme/ThemeProvider.d.ts +11 -3
  291. package/dist/theme/ThemeProvider.d.ts.map +1 -1
  292. package/dist/theme/index.js +1 -1
  293. package/dist/timeline/index.d.ts.map +1 -1
  294. package/dist/timeline/index.js +2 -1
  295. package/dist/toast/index.js +2 -2
  296. package/dist/toggle/index.js +2 -2
  297. package/dist/toggle-group/index.d.ts.map +1 -1
  298. package/dist/toggle-group/index.js +2 -2
  299. package/dist/tooltip/index.js +2 -2
  300. package/dist/tour/index.d.ts +6 -0
  301. package/dist/tour/index.d.ts.map +1 -0
  302. package/dist/tour/types.d.ts +45 -0
  303. package/dist/tour/types.d.ts.map +1 -0
  304. package/dist/transfer/index.d.ts.map +1 -1
  305. package/dist/transfer/index.js +3 -3
  306. package/dist/tree/index.d.ts.map +1 -1
  307. package/dist/tree/index.js +1 -1
  308. package/dist/tree-select/index.d.ts.map +1 -1
  309. package/dist/tree-select/index.js +4 -4
  310. package/dist/typography/index.d.ts +8 -0
  311. package/dist/typography/index.d.ts.map +1 -0
  312. package/dist/typography/types.d.ts +33 -0
  313. package/dist/typography/types.d.ts.map +1 -0
  314. package/dist/upload/index.d.ts.map +1 -1
  315. package/dist/upload/index.js +2 -1
  316. package/dist/upload/utils.d.ts +1 -1
  317. package/dist/upload/utils.d.ts.map +1 -1
  318. package/dist/variants.d.ts +1 -1
  319. package/dist/variants.d.ts.map +1 -1
  320. package/dist/watermark/index.d.ts +6 -0
  321. package/dist/watermark/index.d.ts.map +1 -0
  322. package/dist/watermark/types.d.ts +24 -0
  323. package/dist/watermark/types.d.ts.map +1 -0
  324. package/package.json +6 -3
  325. package/styles/global.css +506 -6787
  326. package/styles/themes/dark.css +15 -5
  327. package/styles/themes/light.css +20 -2
  328. package/styles/themes/presets/corporate.css +2 -0
  329. package/styles/themes/presets/minimal.css +2 -0
  330. package/styles/themes/presets/vibrant.css +2 -0
  331. package/dist/chunk-2FYXBW4S.js.map +0 -1
  332. package/dist/chunk-2OBMSB5S.js.map +0 -1
  333. package/dist/chunk-3FXOQC6P.js.map +0 -1
  334. package/dist/chunk-3KISIZGP.js.map +0 -1
  335. package/dist/chunk-3QD7AQX7.js.map +0 -1
  336. package/dist/chunk-442OQLPK.js.map +0 -1
  337. package/dist/chunk-4WZDQI22.js.map +0 -1
  338. package/dist/chunk-54Z7XTJA.js.map +0 -1
  339. package/dist/chunk-5CIJ7UCP.js.map +0 -1
  340. package/dist/chunk-5PUATOLR.js.map +0 -1
  341. package/dist/chunk-5XLCUGLQ.js.map +0 -1
  342. package/dist/chunk-62LTLXVG.js.map +0 -1
  343. package/dist/chunk-6ZPCKFRS.js.map +0 -1
  344. package/dist/chunk-7OYMEXY3.js.map +0 -1
  345. package/dist/chunk-AEPBQO7U.js.map +0 -1
  346. package/dist/chunk-AOXTD7QZ.js.map +0 -1
  347. package/dist/chunk-BMA4E3T6.js.map +0 -1
  348. package/dist/chunk-C46VTIW7.js.map +0 -1
  349. package/dist/chunk-CHGABWIV.js.map +0 -1
  350. package/dist/chunk-DOI7OTYV.js.map +0 -1
  351. package/dist/chunk-DPIXBBXK.js.map +0 -1
  352. package/dist/chunk-EC5DXYME.js +0 -1273
  353. package/dist/chunk-EC5DXYME.js.map +0 -1
  354. package/dist/chunk-EHNWVQBL.js.map +0 -1
  355. package/dist/chunk-F4GLUQOF.js.map +0 -1
  356. package/dist/chunk-FCU2ENQQ.js.map +0 -1
  357. package/dist/chunk-FZXMRXWE.js.map +0 -1
  358. package/dist/chunk-G27HGKWO.js.map +0 -1
  359. package/dist/chunk-GLJDHW73.js.map +0 -1
  360. package/dist/chunk-GPSZJWU3.js.map +0 -1
  361. package/dist/chunk-HSW64H23.js.map +0 -1
  362. package/dist/chunk-KZZJAZ5M.js +0 -146
  363. package/dist/chunk-KZZJAZ5M.js.map +0 -1
  364. package/dist/chunk-MZDAQSI4.js.map +0 -1
  365. package/dist/chunk-NHM6DZOF.js.map +0 -1
  366. package/dist/chunk-QZ67UOPR.js.map +0 -1
  367. package/dist/chunk-SHUHAORE.js +0 -821
  368. package/dist/chunk-SHUHAORE.js.map +0 -1
  369. package/dist/chunk-SUNCSPDF.js.map +0 -1
  370. package/dist/chunk-TS2PG6Z4.js.map +0 -1
  371. package/dist/chunk-U3RHF7QF.js.map +0 -1
  372. package/dist/chunk-UIVOI7HE.js.map +0 -1
  373. package/dist/chunk-USHR3MWQ.js.map +0 -1
  374. package/dist/chunk-VIK6UTVN.js.map +0 -1
  375. package/dist/chunk-VKY3JXAQ.js.map +0 -1
  376. package/dist/chunk-VV3VO5TS.js.map +0 -1
  377. package/dist/chunk-W5L7C7WS.js.map +0 -1
  378. package/dist/chunk-X3CNTOKQ.js.map +0 -1
  379. package/dist/chunk-XWCWTPEM.js.map +0 -1
  380. package/dist/chunk-YSV5GQS7.js.map +0 -1
  381. package/dist/chunk-ZNNIXMJZ.js.map +0 -1
  382. package/dist/empty/index.d.ts +0 -6
  383. package/dist/empty/index.d.ts.map +0 -1
  384. package/dist/empty/index.js +0 -4
  385. package/dist/empty/types.d.ts +0 -25
  386. package/dist/empty/types.d.ts.map +0 -1
  387. package/dist/styles/tokens.d.ts +0 -428
  388. package/dist/styles/tokens.d.ts.map +0 -1
  389. /package/dist/{empty → alert}/index.js.map +0 -0
@@ -0,0 +1,857 @@
1
+ import { Popover, PopoverTrigger, PopoverContent } from './chunk-ROQGBDET.js';
2
+ import { colorVars } from './chunk-G6QIIWKU.js';
3
+ import { getValidationStatus, cn, iconSizes, statusMessageVariants } from './chunk-RAS6HUEI.js';
4
+ import React3 from 'react';
5
+ import ReactDatePicker from 'react-datepicker';
6
+ import 'react-datepicker/dist/react-datepicker.css';
7
+ import { Calendar, X, Clock, ChevronsLeft, ChevronsRight, ChevronLeft, ChevronRight } from 'lucide-react';
8
+ import { cva } from 'class-variance-authority';
9
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
10
+
11
+ var pickerInputVariants = cva(
12
+ "w-full placeholder:text-text-secondary/50 disabled:opacity-50 disabled:cursor-not-allowed outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-offset-background text-text-primary transition-colors",
13
+ {
14
+ variants: {
15
+ variant: {
16
+ outline: "bg-background border rounded-md",
17
+ filled: "bg-surface border border-transparent rounded-md"
18
+ },
19
+ status: {
20
+ default: "border-border",
21
+ error: "border-error",
22
+ warning: "border-warning",
23
+ info: "border-info",
24
+ success: "border-success"
25
+ },
26
+ size: {
27
+ xs: "h-(--input-height-xs) px-(--input-padding-x-xs) text-xs",
28
+ sm: "h-(--input-height-sm) px-(--input-padding-x-sm) text-sm",
29
+ md: "h-(--input-height-md) px-(--input-padding-x-md) text-base",
30
+ lg: "h-(--input-height-lg) px-(--input-padding-x-lg) text-lg"
31
+ },
32
+ fullWidth: {
33
+ true: "w-full",
34
+ false: "max-w-full"
35
+ }
36
+ },
37
+ defaultVariants: {
38
+ variant: "outline",
39
+ status: "default",
40
+ size: "md",
41
+ fullWidth: true
42
+ }
43
+ }
44
+ );
45
+ var datePickerBaseStyles = `
46
+ datePicker_day
47
+ [&_.react-datepicker]:!bg-background
48
+ [&_.react-datepicker]:!border-border
49
+ [&_.react-datepicker]:!text-text-primary
50
+ [&_.react-datepicker]:!flex
51
+ [&_.react-datepicker]:!gap-0
52
+ [&_.react-datepicker__header]:!bg-transparent
53
+ [&_.react-datepicker__header]:!border-none
54
+ [&_.react-datepicker__header]:!p-0
55
+ [&_.react-datepicker__month-container]:!flex
56
+ [&_.react-datepicker__month-container]:!flex-col
57
+ [&_.react-datepicker__month]:!m-0
58
+ [&_.react-datepicker__month]:!p-4
59
+ [&_.react-datepicker__week]:!grid
60
+ [&_.react-datepicker__week]:!grid-cols-7
61
+ [&_.react-datepicker__week]:!gap-1
62
+ [&_.react-datepicker__day-names]:!grid
63
+ [&_.react-datepicker__day-names]:!grid-cols-7
64
+ [&_.react-datepicker__day-names]:!gap-1
65
+ [&_.react-datepicker__day-names]:!px-4
66
+ [&_.react-datepicker__day-names]:!pt-4
67
+ [&_.react-datepicker__day-names]:!pb-2
68
+ [&_.react-datepicker__day-name]:!text-text-secondary
69
+ [&_.react-datepicker__day-name]:!text-sm
70
+ [&_.react-datepicker__day-name]:!font-medium
71
+ [&_.react-datepicker__day-name]:!text-center
72
+ [&_.react-datepicker__day-name]:!w-auto
73
+ [&_.react-datepicker__day-name]:!m-0
74
+ [&_.react-datepicker__day]:!w-10
75
+ [&_.react-datepicker__day]:!h-10
76
+ [&_.react-datepicker__day]:!leading-10
77
+ [&_.react-datepicker__day]:!text-center
78
+ [&_.react-datepicker__day]:!rounded-md
79
+ [&_.react-datepicker__day]:!text-text-primary
80
+ [&_.react-datepicker__day]:!text-sm
81
+ [&_.react-datepicker__day]:!m-0
82
+ [&_.react-datepicker__day]:!cursor-pointer
83
+ [&_.react-datepicker__day]:!transition-colors
84
+ [&_.react-datepicker__day--selected]:datePicker_daySelected
85
+ [&_.react-datepicker__day]:hover:!bg-surface
86
+ [&_.react-datepicker__day--disabled]:!cursor-not-allowed
87
+ [&_.react-datepicker__day--disabled]:!opacity-40
88
+ [&_.react-datepicker__day--disabled]:hover:!bg-transparent
89
+ [&_.react-datepicker__day--outside-month]:!text-text-secondary
90
+ [&_.react-datepicker__day--today]:datePicker_dayToday
91
+ [&_.react-datepicker__day--today]:!font-semibold
92
+ [&_.react-datepicker__current-month]:!hidden
93
+ [&_.react-datepicker__navigation]:!hidden
94
+ [&_.react-datepicker__time-container]:!border-border
95
+ [&_.react-datepicker__time-list-item]:hover:!bg-surface
96
+ [&_.react-datepicker__time-list]:!bg-background
97
+ `;
98
+ var datePickerSlotColorStyles = `
99
+ [&_.react-datepicker__day--selected]:![background-color:var(--_c-bg)]
100
+ [&_.react-datepicker__day--selected]:![color:var(--_c-fg)]
101
+ [&_.react-datepicker__day--keyboard-selected]:![background-color:color-mix(in_oklch,var(--_c-bg)_50%,transparent)]
102
+ [&_.react-datepicker__day--today]:!border
103
+ [&_.react-datepicker__day--today]:![border-color:var(--_c-border)]
104
+ [&_.react-datepicker__time-list-item--selected]:![background-color:var(--_c-bg)]
105
+ [&_.react-datepicker__time-list-item--selected]:![color:var(--_c-fg)]
106
+ [&_.react-datepicker__day--in-selecting-range]:![background-color:color-mix(in_oklch,var(--_c-bg)_30%,transparent)]
107
+ [&_.react-datepicker__day--in-range]:![background-color:color-mix(in_oklch,var(--_c-bg)_10%,transparent)]
108
+ [&_.react-datepicker__day--range-start]:![background-color:var(--_c-bg)]
109
+ [&_.react-datepicker__day--range-start]:![color:var(--_c-fg)]
110
+ [&_.react-datepicker__day--range-end]:![background-color:var(--_c-bg)]
111
+ [&_.react-datepicker__day--range-end]:![color:var(--_c-fg)]
112
+ `;
113
+ var getDatePickerStyles = (_color, classNames) => {
114
+ return cn(
115
+ datePickerBaseStyles,
116
+ datePickerSlotColorStyles,
117
+ classNames?.day && `[&_.react-datepicker__day]:${classNames.day}`,
118
+ classNames?.daySelected && `[&_.react-datepicker__day--selected]:${classNames.daySelected}`,
119
+ classNames?.dayToday && `[&_.react-datepicker__day--today]:${classNames.dayToday}`
120
+ );
121
+ };
122
+ var CalendarHeader = ({
123
+ date,
124
+ decreaseMonth,
125
+ increaseMonth,
126
+ decreaseYear,
127
+ increaseYear,
128
+ prevMonthButtonDisabled,
129
+ nextMonthButtonDisabled,
130
+ prevYearButtonDisabled,
131
+ nextYearButtonDisabled,
132
+ showMonthSelector = false,
133
+ onMonthClick,
134
+ onYearClick,
135
+ headerClassName,
136
+ navigationClassName
137
+ }) => {
138
+ const monthName = date.toLocaleDateString("en-US", { month: "long" });
139
+ const year = date.getFullYear();
140
+ return /* @__PURE__ */ jsxs("div", { className: cn("datePicker_header", "flex items-center justify-between px-4 py-3 bg-surface border-b border-border", headerClassName), "data-slot": "header", children: [
141
+ /* @__PURE__ */ jsxs("div", { className: cn("datePicker_navigation", "flex items-center gap-1", navigationClassName), "data-slot": "navigation", children: [
142
+ /* @__PURE__ */ jsx(
143
+ "button",
144
+ {
145
+ type: "button",
146
+ onClick: decreaseYear,
147
+ disabled: prevYearButtonDisabled || showMonthSelector,
148
+ className: "p-1 rounded hover:bg-surface text-text-primary disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
149
+ "aria-label": "Previous year",
150
+ children: /* @__PURE__ */ jsx(ChevronsLeft, { className: iconSizes.sm })
151
+ }
152
+ ),
153
+ /* @__PURE__ */ jsx(
154
+ "button",
155
+ {
156
+ type: "button",
157
+ onClick: decreaseMonth,
158
+ disabled: prevMonthButtonDisabled || showMonthSelector,
159
+ className: "p-1 rounded hover:bg-surface text-text-primary disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
160
+ "aria-label": "Previous month",
161
+ children: /* @__PURE__ */ jsx(ChevronLeft, { className: iconSizes.sm })
162
+ }
163
+ )
164
+ ] }),
165
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
166
+ /* @__PURE__ */ jsx(
167
+ "button",
168
+ {
169
+ type: "button",
170
+ onClick: onMonthClick,
171
+ className: "text-sm font-medium text-text-primary hover:text-primary transition-colors",
172
+ children: monthName
173
+ }
174
+ ),
175
+ /* @__PURE__ */ jsx(
176
+ "button",
177
+ {
178
+ type: "button",
179
+ onClick: onYearClick,
180
+ className: "text-sm font-medium text-text-primary hover:text-primary transition-colors",
181
+ children: year
182
+ }
183
+ )
184
+ ] }),
185
+ /* @__PURE__ */ jsxs("div", { className: cn("datePicker_navigation", "flex items-center gap-1", navigationClassName), "data-slot": "navigation", children: [
186
+ /* @__PURE__ */ jsx(
187
+ "button",
188
+ {
189
+ type: "button",
190
+ onClick: increaseMonth,
191
+ disabled: nextMonthButtonDisabled || showMonthSelector,
192
+ className: "p-1 rounded hover:bg-surface text-text-primary disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
193
+ "aria-label": "Next month",
194
+ children: /* @__PURE__ */ jsx(ChevronRight, { className: iconSizes.sm })
195
+ }
196
+ ),
197
+ /* @__PURE__ */ jsx(
198
+ "button",
199
+ {
200
+ type: "button",
201
+ onClick: increaseYear,
202
+ disabled: nextYearButtonDisabled || showMonthSelector,
203
+ className: "p-1 rounded hover:bg-surface text-text-primary disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
204
+ "aria-label": "Next year",
205
+ children: /* @__PURE__ */ jsx(ChevronsRight, { className: iconSizes.sm })
206
+ }
207
+ )
208
+ ] })
209
+ ] });
210
+ };
211
+
212
+ // src/date-picker/shared.ts
213
+ var pickerSelectedClasses = "bg-slot text-slot-fg";
214
+ var YearSelector = ({
215
+ date,
216
+ onYearSelect,
217
+ onDecadeChange,
218
+ color = "primary"
219
+ }) => {
220
+ const currentYear = date.getFullYear();
221
+ const startYear = Math.floor(currentYear / 10) * 10;
222
+ const years = Array.from({ length: 12 }, (_, i) => startYear - 1 + i);
223
+ return /* @__PURE__ */ jsxs("div", { className: cn("p-4 bg-background", colorVars[color]), children: [
224
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-4", children: [
225
+ /* @__PURE__ */ jsx(
226
+ "button",
227
+ {
228
+ type: "button",
229
+ onClick: () => onDecadeChange(currentYear - 10),
230
+ className: "p-1 rounded hover:bg-surface text-text-primary transition-colors",
231
+ "aria-label": "Previous decade",
232
+ children: /* @__PURE__ */ jsx(ChevronsLeft, { className: iconSizes.sm })
233
+ }
234
+ ),
235
+ /* @__PURE__ */ jsxs("div", { className: "text-sm font-medium text-text-primary", children: [
236
+ startYear,
237
+ "-",
238
+ startYear + 9
239
+ ] }),
240
+ /* @__PURE__ */ jsx(
241
+ "button",
242
+ {
243
+ type: "button",
244
+ onClick: () => onDecadeChange(currentYear + 10),
245
+ className: "p-1 rounded hover:bg-surface text-text-primary transition-colors",
246
+ "aria-label": "Next decade",
247
+ children: /* @__PURE__ */ jsx(ChevronsRight, { className: iconSizes.sm })
248
+ }
249
+ )
250
+ ] }),
251
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-3 gap-2", children: years.map((year) => /* @__PURE__ */ jsx(
252
+ "button",
253
+ {
254
+ type: "button",
255
+ onClick: () => onYearSelect(year),
256
+ className: cn(
257
+ "px-4 py-2 rounded text-sm font-medium transition-colors",
258
+ year === currentYear ? pickerSelectedClasses : year < startYear || year > startYear + 9 ? "text-text-secondary opacity-50" : "text-text-primary hover:bg-surface"
259
+ ),
260
+ children: year
261
+ },
262
+ year
263
+ )) })
264
+ ] });
265
+ };
266
+ var MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
267
+ var MonthSelector = ({
268
+ date,
269
+ onMonthSelect,
270
+ onYearClick,
271
+ onYearChange,
272
+ color = "primary"
273
+ }) => {
274
+ const currentMonth = date.getMonth();
275
+ const currentYear = date.getFullYear();
276
+ return /* @__PURE__ */ jsxs("div", { className: cn("p-4 bg-background", colorVars[color]), children: [
277
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-4", children: [
278
+ /* @__PURE__ */ jsx(
279
+ "button",
280
+ {
281
+ type: "button",
282
+ onClick: () => onYearChange(currentYear - 1),
283
+ className: "p-1 rounded hover:bg-surface text-text-primary transition-colors",
284
+ "aria-label": "Previous year",
285
+ children: /* @__PURE__ */ jsx(ChevronsLeft, { className: iconSizes.sm })
286
+ }
287
+ ),
288
+ /* @__PURE__ */ jsx(
289
+ "button",
290
+ {
291
+ type: "button",
292
+ onClick: onYearClick,
293
+ className: "text-sm font-medium text-text-primary hover:text-slot transition-colors",
294
+ children: currentYear
295
+ }
296
+ ),
297
+ /* @__PURE__ */ jsx(
298
+ "button",
299
+ {
300
+ type: "button",
301
+ onClick: () => onYearChange(currentYear + 1),
302
+ className: "p-1 rounded hover:bg-surface text-text-primary transition-colors",
303
+ "aria-label": "Next year",
304
+ children: /* @__PURE__ */ jsx(ChevronsRight, { className: iconSizes.sm })
305
+ }
306
+ )
307
+ ] }),
308
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-3 gap-2", children: MONTHS.map((month, index) => /* @__PURE__ */ jsx(
309
+ "button",
310
+ {
311
+ type: "button",
312
+ onClick: () => onMonthSelect(index),
313
+ className: cn(
314
+ "px-4 py-2 rounded text-sm font-medium transition-colors",
315
+ index === currentMonth ? pickerSelectedClasses : "text-text-primary hover:bg-surface"
316
+ ),
317
+ children: month
318
+ },
319
+ month
320
+ )) })
321
+ ] });
322
+ };
323
+ var PickerWrapper = ({
324
+ label,
325
+ error,
326
+ warning,
327
+ info,
328
+ success,
329
+ helperText,
330
+ messagePosition = "bottom",
331
+ required = false,
332
+ fullWidth = true,
333
+ children,
334
+ classNames
335
+ }) => {
336
+ const uniqueId = React3.useId();
337
+ const helperId = `picker-helper-${uniqueId}`;
338
+ const { status, message: helperMessage } = getValidationStatus({ error, warning, info, success, helperText });
339
+ return /* @__PURE__ */ jsxs("div", { className: cn("w-full flex flex-col relative", !fullWidth && "inline-block"), children: [
340
+ /* @__PURE__ */ jsxs("div", { className: "flex gap-2 items-center relative mb-0.5", children: [
341
+ label && /* @__PURE__ */ jsxs("label", { className: cn("datePicker_label", "text-sm font-medium text-text-secondary", classNames?.label), "data-slot": "label", children: [
342
+ label,
343
+ required && /* @__PURE__ */ jsx("span", { className: "text-error ml-1", children: "*" })
344
+ ] }),
345
+ helperMessage && messagePosition === "top" && /* @__PURE__ */ jsx("p", { id: helperId, className: cn("datePicker_helper", statusMessageVariants({ status }), classNames?.helper), "data-slot": "helper", children: helperMessage })
346
+ ] }),
347
+ children,
348
+ helperMessage && messagePosition === "bottom" && /* @__PURE__ */ jsx("p", { id: helperId, className: cn("datePicker_helper", "mt-0.5", statusMessageVariants({ status }), classNames?.helper), "data-slot": "helper", children: helperMessage })
349
+ ] });
350
+ };
351
+ var RangePickerComponent = React3.memo(
352
+ ({
353
+ variant = "outline",
354
+ size = "md",
355
+ color = "primary",
356
+ label,
357
+ error,
358
+ warning,
359
+ info,
360
+ success,
361
+ helperText,
362
+ messagePosition = "bottom",
363
+ placeholder = "Select date range...",
364
+ disabled = false,
365
+ required = false,
366
+ clearable = false,
367
+ fullWidth = true,
368
+ className,
369
+ classNames,
370
+ ref,
371
+ startDate,
372
+ endDate,
373
+ defaultStartDate,
374
+ defaultEndDate,
375
+ onChange,
376
+ minDate,
377
+ maxDate,
378
+ dateFormat = "MM/dd/yyyy"
379
+ }) => {
380
+ const [internalStartDate, setInternalStartDate] = React3.useState(defaultStartDate || null);
381
+ const [internalEndDate, setInternalEndDate] = React3.useState(defaultEndDate || null);
382
+ const currentStartDate = startDate !== void 0 ? startDate : internalStartDate;
383
+ const currentEndDate = endDate !== void 0 ? endDate : internalEndDate;
384
+ const [isOpen, setIsOpen] = React3.useState(false);
385
+ const [showMonthSelector, setShowMonthSelector] = React3.useState(false);
386
+ const [showYearSelector, setShowYearSelector] = React3.useState(false);
387
+ const [viewDate, setViewDate] = React3.useState(currentStartDate || /* @__PURE__ */ new Date());
388
+ const [hoverDate, setHoverDate] = React3.useState(null);
389
+ const { status } = getValidationStatus({ error, warning, info, success, helperText });
390
+ React3.useEffect(() => {
391
+ if (startDate) setViewDate(startDate);
392
+ }, [startDate]);
393
+ const handleChange = (dates) => {
394
+ if (startDate === void 0 && endDate === void 0) {
395
+ setInternalStartDate(dates[0]);
396
+ setInternalEndDate(dates[1]);
397
+ }
398
+ onChange?.(dates);
399
+ setHoverDate(null);
400
+ if (dates[0] && dates[1]) {
401
+ setIsOpen(false);
402
+ setShowMonthSelector(false);
403
+ setShowYearSelector(false);
404
+ }
405
+ };
406
+ const handleClear = (e) => {
407
+ e.stopPropagation();
408
+ if (startDate === void 0 && endDate === void 0) {
409
+ setInternalStartDate(null);
410
+ setInternalEndDate(null);
411
+ }
412
+ onChange?.([null, null]);
413
+ };
414
+ const handleMonthSelect = (month) => {
415
+ const newDate = new Date(viewDate);
416
+ newDate.setMonth(month);
417
+ setViewDate(newDate);
418
+ setShowMonthSelector(false);
419
+ };
420
+ const handleYearSelect = (year) => {
421
+ const newDate = new Date(viewDate);
422
+ newDate.setFullYear(year);
423
+ setViewDate(newDate);
424
+ setShowYearSelector(false);
425
+ setShowMonthSelector(true);
426
+ };
427
+ const handleYearChange = (year) => {
428
+ const newDate = new Date(viewDate);
429
+ newDate.setFullYear(year);
430
+ setViewDate(newDate);
431
+ };
432
+ const handleDecadeChange = (year) => {
433
+ const newDate = new Date(viewDate);
434
+ newDate.setFullYear(year);
435
+ setViewDate(newDate);
436
+ };
437
+ const showClear = clearable && (currentStartDate || currentEndDate) && !disabled;
438
+ const formatDate = React3.useCallback(
439
+ (date) => {
440
+ const d = new Date(date);
441
+ const year = d.getFullYear();
442
+ const month = String(d.getMonth() + 1).padStart(2, "0");
443
+ const day = String(d.getDate()).padStart(2, "0");
444
+ return dateFormat.replace("yyyy", String(year)).replace("MM", month).replace("dd", day);
445
+ },
446
+ [dateFormat]
447
+ );
448
+ const getDisplayValue = () => {
449
+ if (hoverDate && currentStartDate && !currentEndDate) {
450
+ return { confirmed: `${formatDate(currentStartDate)} - `, preview: formatDate(hoverDate) };
451
+ }
452
+ if (hoverDate && !currentStartDate && !currentEndDate) {
453
+ return { confirmed: "", preview: formatDate(hoverDate) };
454
+ }
455
+ if (!currentStartDate && !currentEndDate) return { confirmed: "", preview: "" };
456
+ const start = currentStartDate ? formatDate(currentStartDate) : "";
457
+ const end = currentEndDate ? formatDate(currentEndDate) : "";
458
+ if (start && end) return { confirmed: `${start} - ${end}`, preview: "" };
459
+ if (start) return { confirmed: `${start}`, preview: " - ..." };
460
+ return { confirmed: "", preview: "" };
461
+ };
462
+ const { confirmed, preview } = getDisplayValue();
463
+ const customHeader = (props) => /* @__PURE__ */ jsx(
464
+ CalendarHeader,
465
+ {
466
+ ...props,
467
+ showMonthSelector,
468
+ onMonthClick: () => setShowMonthSelector(!showMonthSelector),
469
+ onYearClick: () => setShowYearSelector(true),
470
+ headerClassName: classNames?.header,
471
+ navigationClassName: classNames?.navigation
472
+ }
473
+ );
474
+ return /* @__PURE__ */ jsx(PickerWrapper, { label, error, warning, info, success, helperText, messagePosition, required, fullWidth, classNames, children: /* @__PURE__ */ jsxs("div", { ref, className: cn("datePicker_root", "relative w-full", classNames?.root), "data-slot": "root", children: [
475
+ /* @__PURE__ */ jsx("div", { className: cn("absolute left-3 flex items-center h-full top-0 text-text-secondary pointer-events-none z-10", classNames?.icon), "data-slot": "icon", children: /* @__PURE__ */ jsx(Calendar, { className: iconSizes[size] }) }),
476
+ /* @__PURE__ */ jsxs(Popover, { open: isOpen, onOpenChange: (open) => {
477
+ setIsOpen(open);
478
+ if (!open) {
479
+ setShowMonthSelector(false);
480
+ setShowYearSelector(false);
481
+ setHoverDate(null);
482
+ }
483
+ }, children: [
484
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
485
+ "button",
486
+ {
487
+ type: "button",
488
+ disabled,
489
+ onClick: () => setIsOpen(!isOpen),
490
+ "aria-expanded": isOpen,
491
+ "aria-haspopup": "dialog",
492
+ className: cn("datePicker_trigger", pickerInputVariants({ variant, status, size, fullWidth }), colorVars[color], "focus-visible:ring-slot", "pl-10 flex items-center justify-start cursor-pointer", showClear && "pr-10", className, classNames?.trigger),
493
+ "data-slot": "trigger",
494
+ children: confirmed || preview ? /* @__PURE__ */ jsxs(Fragment, { children: [
495
+ confirmed && /* @__PURE__ */ jsx("span", { children: confirmed }),
496
+ preview && /* @__PURE__ */ jsx("span", { className: "text-text-secondary", children: preview })
497
+ ] }) : /* @__PURE__ */ jsx("span", { className: "text-text-secondary", children: placeholder })
498
+ }
499
+ ) }),
500
+ /* @__PURE__ */ jsx(PopoverContent, { className: "p-0 w-auto", align: "start", sideOffset: 4, onOpenAutoFocus: (e) => e.preventDefault(), children: showYearSelector ? /* @__PURE__ */ jsx(YearSelector, { date: viewDate, onYearSelect: handleYearSelect, onDecadeChange: handleDecadeChange, color }) : showMonthSelector ? /* @__PURE__ */ jsx(MonthSelector, { date: viewDate, onMonthSelect: handleMonthSelect, onYearClick: () => setShowYearSelector(true), onYearChange: handleYearChange, color }) : /* @__PURE__ */ jsx("div", { className: cn("datePicker_calendar", colorVars[color], getDatePickerStyles(color, classNames), classNames?.calendar), "data-slot": "calendar", children: /* @__PURE__ */ jsx(
501
+ ReactDatePicker,
502
+ {
503
+ selectsRange: true,
504
+ startDate: currentStartDate,
505
+ endDate: currentEndDate,
506
+ onChange: handleChange,
507
+ disabled,
508
+ minDate,
509
+ maxDate,
510
+ dateFormat,
511
+ renderCustomHeader: customHeader,
512
+ openToDate: viewDate,
513
+ onMonthChange: setViewDate,
514
+ monthsShown: 2,
515
+ onDayMouseEnter: setHoverDate,
516
+ inline: true
517
+ }
518
+ ) }) })
519
+ ] }),
520
+ showClear && /* @__PURE__ */ jsx("button", { type: "button", onClick: handleClear, className: cn("absolute right-3 flex items-center h-full top-0 text-text-secondary hover:text-text-primary z-10", classNames?.clear), "aria-label": "Clear date range", "data-slot": "clear", children: /* @__PURE__ */ jsx(X, { className: iconSizes[size] }) })
521
+ ] }) });
522
+ }
523
+ );
524
+ RangePickerComponent.displayName = "RangePicker";
525
+ var TimeColumn = React3.memo(({ items, selected, onSelect, onHover, onLeave }) => /* @__PURE__ */ jsx(
526
+ "div",
527
+ {
528
+ className: "flex flex-col h-[240px] overflow-y-auto scrollbar-thin scrollbar-thumb-border scrollbar-track-background",
529
+ onMouseLeave: onLeave,
530
+ children: items.map((item) => /* @__PURE__ */ jsx(
531
+ "button",
532
+ {
533
+ type: "button",
534
+ onClick: () => onSelect(item),
535
+ onMouseEnter: () => onHover?.(item),
536
+ className: cn(
537
+ "px-4 py-2 text-sm font-medium transition-colors text-center min-h-[40px] flex items-center justify-center",
538
+ item === selected ? "bg-surface text-text-primary font-semibold" : "text-text-secondary hover:bg-surface/50"
539
+ ),
540
+ children: typeof item === "number" ? String(item).padStart(2, "0") : item
541
+ },
542
+ item
543
+ ))
544
+ }
545
+ ));
546
+ TimeColumn.displayName = "TimeColumn";
547
+ var TimeColumnPicker = ({
548
+ value,
549
+ onChange,
550
+ onPreview,
551
+ timeFormat = "h:mm aa",
552
+ color = "primary"
553
+ }) => {
554
+ const is12Hour = timeFormat.includes("aa");
555
+ const currentDate = value || /* @__PURE__ */ new Date();
556
+ const currentHour = currentDate.getHours();
557
+ const currentMinute = currentDate.getMinutes();
558
+ const [selectedHour, setSelectedHour] = React3.useState(
559
+ is12Hour ? currentHour % 12 || 12 : currentHour
560
+ );
561
+ const [selectedMinute, setSelectedMinute] = React3.useState(currentMinute);
562
+ const [selectedPeriod, setSelectedPeriod] = React3.useState(
563
+ currentHour >= 12 ? "PM" : "AM"
564
+ );
565
+ const [hoverHour, setHoverHour] = React3.useState(null);
566
+ const [hoverMinute, setHoverMinute] = React3.useState(null);
567
+ const [hoverPeriod, setHoverPeriod] = React3.useState(null);
568
+ const hours = is12Hour ? Array.from({ length: 12 }, (_, i) => i + 1) : Array.from({ length: 24 }, (_, i) => i);
569
+ const minutes = Array.from({ length: 60 }, (_, i) => i);
570
+ const periods = ["AM", "PM"];
571
+ React3.useEffect(() => {
572
+ if (hoverHour !== null || hoverMinute !== null || hoverPeriod !== null) {
573
+ const previewHour = hoverHour ?? selectedHour;
574
+ const previewMinute = hoverMinute ?? selectedMinute;
575
+ const previewPeriod = hoverPeriod ?? selectedPeriod;
576
+ const formattedHour = String(previewHour).padStart(2, "0");
577
+ const formattedMinute = String(previewMinute).padStart(2, "0");
578
+ const previewString = is12Hour ? `${previewHour}:${formattedMinute} ${previewPeriod}` : `${formattedHour}:${formattedMinute}`;
579
+ onPreview?.(previewString);
580
+ } else {
581
+ onPreview?.("");
582
+ }
583
+ }, [hoverHour, hoverMinute, hoverPeriod, selectedHour, selectedMinute, selectedPeriod, is12Hour, onPreview]);
584
+ const handleOkClick = () => {
585
+ const newDate = new Date(currentDate);
586
+ let finalHour = selectedHour;
587
+ if (is12Hour) {
588
+ if (selectedPeriod === "PM" && selectedHour !== 12) finalHour = selectedHour + 12;
589
+ else if (selectedPeriod === "AM" && selectedHour === 12) finalHour = 0;
590
+ }
591
+ newDate.setHours(finalHour);
592
+ newDate.setMinutes(selectedMinute);
593
+ newDate.setSeconds(0);
594
+ onPreview?.("");
595
+ onChange(newDate);
596
+ };
597
+ const handleNowClick = () => {
598
+ const now = /* @__PURE__ */ new Date();
599
+ const nowHour = now.getHours();
600
+ setSelectedHour(is12Hour ? nowHour % 12 || 12 : nowHour);
601
+ setSelectedMinute(now.getMinutes());
602
+ setSelectedPeriod(nowHour >= 12 ? "PM" : "AM");
603
+ onPreview?.("");
604
+ onChange(now);
605
+ };
606
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col bg-background", colorVars[color]), children: [
607
+ /* @__PURE__ */ jsxs("div", { className: "flex gap-0", children: [
608
+ /* @__PURE__ */ jsx(TimeColumn, { items: hours, selected: selectedHour, onSelect: (item) => setSelectedHour(item), onHover: (item) => setHoverHour(item), onLeave: () => setHoverHour(null) }),
609
+ /* @__PURE__ */ jsx(TimeColumn, { items: minutes, selected: selectedMinute, onSelect: (item) => setSelectedMinute(item), onHover: (item) => setHoverMinute(item), onLeave: () => setHoverMinute(null) }),
610
+ is12Hour && /* @__PURE__ */ jsx(TimeColumn, { items: periods, selected: selectedPeriod, onSelect: (item) => setSelectedPeriod(item), onHover: (item) => setHoverPeriod(item), onLeave: () => setHoverPeriod(null) })
611
+ ] }),
612
+ /* @__PURE__ */ jsxs("div", { className: "p-3 border-t border-border flex gap-2", children: [
613
+ /* @__PURE__ */ jsx("button", { type: "button", onClick: handleNowClick, className: "flex-1 px-4 py-2 bg-surface text-text-primary rounded-md hover:bg-surface/80 transition-colors font-medium text-sm border border-border", children: "Now" }),
614
+ /* @__PURE__ */ jsx("button", { type: "button", onClick: handleOkClick, className: cn("flex-1 px-4 py-2 rounded-md hover:opacity-90 transition-colors font-medium text-sm", pickerSelectedClasses), children: "OK" })
615
+ ] })
616
+ ] });
617
+ };
618
+ var TimePickerComponent = React3.memo(
619
+ ({
620
+ variant = "outline",
621
+ size = "md",
622
+ color = "primary",
623
+ label,
624
+ error,
625
+ warning,
626
+ info,
627
+ success,
628
+ helperText,
629
+ messagePosition = "bottom",
630
+ placeholder = "Select time...",
631
+ disabled = false,
632
+ required = false,
633
+ clearable = false,
634
+ fullWidth = true,
635
+ className,
636
+ classNames,
637
+ ref,
638
+ value,
639
+ defaultValue,
640
+ onChange,
641
+ timeFormat = "h:mm aa"
642
+ }) => {
643
+ const [internalValue, setInternalValue] = React3.useState(defaultValue || null);
644
+ const currentValue = value !== void 0 ? value : internalValue;
645
+ const [isOpen, setIsOpen] = React3.useState(false);
646
+ const [previewTime, setPreviewTime] = React3.useState("");
647
+ const { status } = getValidationStatus({ error, warning, info, success, helperText });
648
+ const handleTimeChange = (date) => {
649
+ if (value === void 0) setInternalValue(date);
650
+ onChange?.(date);
651
+ setPreviewTime("");
652
+ setIsOpen(false);
653
+ };
654
+ const handleClear = (e) => {
655
+ e.stopPropagation();
656
+ if (value === void 0) setInternalValue(null);
657
+ onChange?.(null);
658
+ };
659
+ const showClear = clearable && currentValue && !disabled;
660
+ const formatTime = (date) => new Date(date).toLocaleTimeString("en-US", {
661
+ hour: "numeric",
662
+ minute: "2-digit",
663
+ hour12: timeFormat.includes("aa")
664
+ });
665
+ const getDisplayValue = () => {
666
+ if (previewTime) return { confirmed: "", preview: previewTime };
667
+ if (currentValue) return { confirmed: formatTime(currentValue), preview: "" };
668
+ return { confirmed: "", preview: "" };
669
+ };
670
+ const { confirmed, preview } = getDisplayValue();
671
+ return /* @__PURE__ */ jsx(PickerWrapper, { label, error, warning, info, success, helperText, messagePosition, required, fullWidth, classNames, children: /* @__PURE__ */ jsxs("div", { ref, className: cn("datePicker_root", "relative w-full", classNames?.root), "data-slot": "root", children: [
672
+ /* @__PURE__ */ jsx("div", { className: cn("absolute left-3 flex items-center h-full top-0 text-text-secondary pointer-events-none z-10", classNames?.icon), "data-slot": "icon", children: /* @__PURE__ */ jsx(Clock, { className: iconSizes[size] }) }),
673
+ /* @__PURE__ */ jsxs(Popover, { open: isOpen, onOpenChange: (open) => {
674
+ setIsOpen(open);
675
+ if (!open) setPreviewTime("");
676
+ }, children: [
677
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
678
+ "button",
679
+ {
680
+ type: "button",
681
+ disabled,
682
+ onClick: () => setIsOpen(!isOpen),
683
+ "aria-expanded": isOpen,
684
+ "aria-haspopup": "dialog",
685
+ className: cn("datePicker_trigger", pickerInputVariants({ variant, status, size, fullWidth }), colorVars[color], "focus-visible:ring-slot", "pl-10 flex items-center justify-start cursor-pointer", showClear && "pr-10", className, classNames?.trigger),
686
+ "data-slot": "trigger",
687
+ children: confirmed || preview ? /* @__PURE__ */ jsxs(Fragment, { children: [
688
+ confirmed && /* @__PURE__ */ jsx("span", { children: confirmed }),
689
+ preview && /* @__PURE__ */ jsx("span", { className: "text-text-secondary", children: preview })
690
+ ] }) : /* @__PURE__ */ jsx("span", { className: "text-text-secondary", children: placeholder })
691
+ }
692
+ ) }),
693
+ /* @__PURE__ */ jsx(PopoverContent, { className: "p-0 w-auto", align: "start", sideOffset: 4, onOpenAutoFocus: (e) => e.preventDefault(), children: /* @__PURE__ */ jsx(TimeColumnPicker, { value: currentValue, onChange: handleTimeChange, onPreview: setPreviewTime, timeFormat, color }) })
694
+ ] }),
695
+ showClear && /* @__PURE__ */ jsx("button", { type: "button", onClick: handleClear, className: cn("absolute right-3 flex items-center h-full top-0 text-text-secondary hover:text-text-primary z-10", classNames?.clear), "aria-label": "Clear time", "data-slot": "clear", children: /* @__PURE__ */ jsx(X, { className: iconSizes[size] }) })
696
+ ] }) });
697
+ }
698
+ );
699
+ TimePickerComponent.displayName = "TimePicker";
700
+ var DatePickerComponent = React3.memo(
701
+ ({
702
+ variant = "outline",
703
+ size = "md",
704
+ color = "primary",
705
+ label,
706
+ error,
707
+ warning,
708
+ info,
709
+ success,
710
+ helperText,
711
+ messagePosition = "bottom",
712
+ placeholder = "Select date...",
713
+ disabled = false,
714
+ required = false,
715
+ clearable = false,
716
+ fullWidth = true,
717
+ className,
718
+ classNames,
719
+ ref,
720
+ value,
721
+ defaultValue,
722
+ onChange,
723
+ minDate,
724
+ maxDate,
725
+ dateFormat = "MM/dd/yyyy"
726
+ }) => {
727
+ const [internalValue, setInternalValue] = React3.useState(defaultValue || null);
728
+ const currentValue = value !== void 0 ? value : internalValue;
729
+ const [isOpen, setIsOpen] = React3.useState(false);
730
+ const [showMonthSelector, setShowMonthSelector] = React3.useState(false);
731
+ const [showYearSelector, setShowYearSelector] = React3.useState(false);
732
+ const [viewDate, setViewDate] = React3.useState(currentValue || /* @__PURE__ */ new Date());
733
+ const [hoverDate, setHoverDate] = React3.useState(null);
734
+ const { status } = getValidationStatus({ error, warning, info, success, helperText });
735
+ React3.useEffect(() => {
736
+ if (value) setViewDate(value);
737
+ }, [value]);
738
+ const handleDateChange = (date) => {
739
+ if (value === void 0) setInternalValue(date);
740
+ onChange?.(date);
741
+ setHoverDate(null);
742
+ setIsOpen(false);
743
+ setShowMonthSelector(false);
744
+ setShowYearSelector(false);
745
+ };
746
+ const handleClear = (e) => {
747
+ e.stopPropagation();
748
+ if (value === void 0) setInternalValue(null);
749
+ onChange?.(null);
750
+ };
751
+ const handleMonthSelect = (month) => {
752
+ const newDate = new Date(viewDate);
753
+ newDate.setMonth(month);
754
+ setViewDate(newDate);
755
+ setShowMonthSelector(false);
756
+ };
757
+ const handleYearSelect = (year) => {
758
+ const newDate = new Date(viewDate);
759
+ newDate.setFullYear(year);
760
+ setViewDate(newDate);
761
+ setShowYearSelector(false);
762
+ setShowMonthSelector(true);
763
+ };
764
+ const handleYearChange = (year) => {
765
+ const newDate = new Date(viewDate);
766
+ newDate.setFullYear(year);
767
+ setViewDate(newDate);
768
+ };
769
+ const handleDecadeChange = (year) => {
770
+ const newDate = new Date(viewDate);
771
+ newDate.setFullYear(year);
772
+ setViewDate(newDate);
773
+ };
774
+ const showClear = clearable && currentValue && !disabled;
775
+ const formatDate = React3.useCallback(
776
+ (date) => {
777
+ const d = new Date(date);
778
+ const year = d.getFullYear();
779
+ const month = String(d.getMonth() + 1).padStart(2, "0");
780
+ const day = String(d.getDate()).padStart(2, "0");
781
+ return dateFormat.replace("yyyy", String(year)).replace("MM", month).replace("dd", day);
782
+ },
783
+ [dateFormat]
784
+ );
785
+ const getDisplayValue = () => {
786
+ if (hoverDate) return { confirmed: "", preview: formatDate(hoverDate) };
787
+ if (currentValue) return { confirmed: formatDate(currentValue), preview: "" };
788
+ return { confirmed: "", preview: "" };
789
+ };
790
+ const { confirmed, preview } = getDisplayValue();
791
+ const customHeader = (props) => /* @__PURE__ */ jsx(
792
+ CalendarHeader,
793
+ {
794
+ ...props,
795
+ showMonthSelector,
796
+ onMonthClick: () => setShowMonthSelector(!showMonthSelector),
797
+ onYearClick: () => setShowYearSelector(true),
798
+ headerClassName: classNames?.header,
799
+ navigationClassName: classNames?.navigation
800
+ }
801
+ );
802
+ return /* @__PURE__ */ jsx(PickerWrapper, { label, error, warning, info, success, helperText, messagePosition, required, fullWidth, classNames, children: /* @__PURE__ */ jsxs("div", { ref, className: cn("datePicker_root", "relative w-full", classNames?.root), "data-slot": "root", children: [
803
+ /* @__PURE__ */ jsx("div", { className: cn("absolute left-3 flex items-center h-full top-0 text-text-secondary pointer-events-none z-10", classNames?.icon), "data-slot": "icon", children: /* @__PURE__ */ jsx(Calendar, { className: iconSizes[size] }) }),
804
+ /* @__PURE__ */ jsxs(Popover, { open: isOpen, onOpenChange: (open) => {
805
+ setIsOpen(open);
806
+ if (!open) {
807
+ setShowMonthSelector(false);
808
+ setShowYearSelector(false);
809
+ setHoverDate(null);
810
+ }
811
+ }, children: [
812
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
813
+ "button",
814
+ {
815
+ type: "button",
816
+ disabled,
817
+ onClick: () => setIsOpen(!isOpen),
818
+ "aria-expanded": isOpen,
819
+ "aria-haspopup": "dialog",
820
+ className: cn("datePicker_trigger", pickerInputVariants({ variant, status, size, fullWidth }), colorVars[color], "focus-visible:ring-slot", "pl-10 flex items-center justify-start cursor-pointer", showClear && "pr-10", className, classNames?.trigger),
821
+ "data-slot": "trigger",
822
+ children: confirmed || preview ? /* @__PURE__ */ jsxs(Fragment, { children: [
823
+ confirmed && /* @__PURE__ */ jsx("span", { children: confirmed }),
824
+ preview && /* @__PURE__ */ jsx("span", { className: "text-text-secondary", children: preview })
825
+ ] }) : /* @__PURE__ */ jsx("span", { className: "text-text-secondary", children: placeholder })
826
+ }
827
+ ) }),
828
+ /* @__PURE__ */ jsx(PopoverContent, { className: "p-0 w-auto", align: "start", sideOffset: 4, onOpenAutoFocus: (e) => e.preventDefault(), children: showYearSelector ? /* @__PURE__ */ jsx(YearSelector, { date: viewDate, onYearSelect: handleYearSelect, onDecadeChange: handleDecadeChange, color }) : showMonthSelector ? /* @__PURE__ */ jsx(MonthSelector, { date: viewDate, onMonthSelect: handleMonthSelect, onYearClick: () => setShowYearSelector(true), onYearChange: handleYearChange, color }) : /* @__PURE__ */ jsx("div", { className: cn("datePicker_calendar", colorVars[color], getDatePickerStyles(color, classNames), classNames?.calendar), "data-slot": "calendar", children: /* @__PURE__ */ jsx(
829
+ ReactDatePicker,
830
+ {
831
+ selected: currentValue,
832
+ onChange: handleDateChange,
833
+ disabled,
834
+ minDate,
835
+ maxDate,
836
+ dateFormat,
837
+ renderCustomHeader: customHeader,
838
+ openToDate: viewDate,
839
+ onMonthChange: setViewDate,
840
+ onDayMouseEnter: setHoverDate,
841
+ inline: true
842
+ }
843
+ ) }) })
844
+ ] }),
845
+ showClear && /* @__PURE__ */ jsx("button", { type: "button", onClick: handleClear, className: cn("absolute right-3 flex items-center h-full top-0 text-text-secondary hover:text-text-primary z-10", classNames?.clear), "aria-label": "Clear date", "data-slot": "clear", children: /* @__PURE__ */ jsx(X, { className: iconSizes[size] }) })
846
+ ] }) });
847
+ }
848
+ );
849
+ DatePickerComponent.displayName = "DatePicker";
850
+ var DatePicker = Object.assign(DatePickerComponent, {
851
+ RangePicker: RangePickerComponent,
852
+ TimePicker: TimePickerComponent
853
+ });
854
+
855
+ export { DatePicker, RangePickerComponent, TimePickerComponent };
856
+ //# sourceMappingURL=chunk-BKLJDEUX.js.map
857
+ //# sourceMappingURL=chunk-BKLJDEUX.js.map