@mdigital_ui/ui 0.4.3 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/README.md +45 -5
  2. package/dist/accordion/index.js +2 -2
  3. package/dist/alert/index.d.ts +6 -0
  4. package/dist/alert/index.d.ts.map +1 -0
  5. package/dist/alert/index.js +5 -0
  6. package/dist/alert/types.d.ts +24 -0
  7. package/dist/alert/types.d.ts.map +1 -0
  8. package/dist/anchor/index.d.ts +6 -0
  9. package/dist/anchor/index.d.ts.map +1 -0
  10. package/dist/anchor/types.d.ts +26 -0
  11. package/dist/anchor/types.d.ts.map +1 -0
  12. package/dist/autocomplete/index.d.ts +6 -0
  13. package/dist/autocomplete/index.d.ts.map +1 -0
  14. package/dist/autocomplete/types.d.ts +39 -0
  15. package/dist/autocomplete/types.d.ts.map +1 -0
  16. package/dist/avatar/index.d.ts.map +1 -1
  17. package/dist/avatar/index.js +2 -1
  18. package/dist/badge/index.js +2 -2
  19. package/dist/breadcrumbs/index.d.ts.map +1 -1
  20. package/dist/breadcrumbs/index.js +4 -4
  21. package/dist/button/index.js +3 -3
  22. package/dist/calendar/index.d.ts +6 -0
  23. package/dist/calendar/index.d.ts.map +1 -0
  24. package/dist/calendar/types.d.ts +29 -0
  25. package/dist/calendar/types.d.ts.map +1 -0
  26. package/dist/card/index.d.ts +1 -1
  27. package/dist/card/index.d.ts.map +1 -1
  28. package/dist/card/index.js +2 -2
  29. package/dist/carousel/carousel-navigation.d.ts.map +1 -1
  30. package/dist/carousel/index.d.ts +1 -2
  31. package/dist/carousel/index.d.ts.map +1 -1
  32. package/dist/carousel/index.js +1 -1
  33. package/dist/carousel/styles.d.ts +12 -0
  34. package/dist/carousel/styles.d.ts.map +1 -0
  35. package/dist/cascader/CascaderMenu.d.ts +41 -0
  36. package/dist/cascader/CascaderMenu.d.ts.map +1 -0
  37. package/dist/cascader/index.d.ts.map +1 -1
  38. package/dist/cascader/index.js +2 -2
  39. package/dist/checkbox/index.d.ts.map +1 -1
  40. package/dist/checkbox/index.js +2 -2
  41. package/dist/{chunk-XWCWTPEM.js → chunk-253JZOYG.js} +4 -4
  42. package/dist/chunk-253JZOYG.js.map +1 -0
  43. package/dist/{chunk-VV3VO5TS.js → chunk-3D77IPKB.js} +7 -15
  44. package/dist/chunk-3D77IPKB.js.map +1 -0
  45. package/dist/{chunk-FCU2ENQQ.js → chunk-3XOHSE3X.js} +12 -7
  46. package/dist/chunk-3XOHSE3X.js.map +1 -0
  47. package/dist/{chunk-4WZDQI22.js → chunk-4HKPDSA6.js} +4 -4
  48. package/dist/chunk-4HKPDSA6.js.map +1 -0
  49. package/dist/{chunk-54Z7XTJA.js → chunk-4ZXHLPRS.js} +32 -34
  50. package/dist/chunk-4ZXHLPRS.js.map +1 -0
  51. package/dist/{chunk-H6PCGSIT.js → chunk-5MBKTMDW.js} +3 -3
  52. package/dist/{chunk-H6PCGSIT.js.map → chunk-5MBKTMDW.js.map} +1 -1
  53. package/dist/{chunk-ZZZGD5EF.js → chunk-5SEVPU6C.js} +3 -3
  54. package/dist/{chunk-ZZZGD5EF.js.map → chunk-5SEVPU6C.js.map} +1 -1
  55. package/dist/{chunk-ZNNIXMJZ.js → chunk-7RT65ZGV.js} +5 -7
  56. package/dist/chunk-7RT65ZGV.js.map +1 -0
  57. package/dist/{chunk-F4GLUQOF.js → chunk-A4MYCEGM.js} +9 -11
  58. package/dist/chunk-A4MYCEGM.js.map +1 -0
  59. package/dist/{chunk-EHNWVQBL.js → chunk-ADZWWBAX.js} +28 -79
  60. package/dist/chunk-ADZWWBAX.js.map +1 -0
  61. package/dist/{chunk-3KISIZGP.js → chunk-AFW2ORFT.js} +12 -4
  62. package/dist/chunk-AFW2ORFT.js.map +1 -0
  63. package/dist/{chunk-442OQLPK.js → chunk-BGMYX7L5.js} +4 -4
  64. package/dist/chunk-BGMYX7L5.js.map +1 -0
  65. package/dist/chunk-BKLJDEUX.js +857 -0
  66. package/dist/chunk-BKLJDEUX.js.map +1 -0
  67. package/dist/{chunk-62LTLXVG.js → chunk-BS4PZPY6.js} +14 -9
  68. package/dist/chunk-BS4PZPY6.js.map +1 -0
  69. package/dist/{chunk-QNLTSHMB.js → chunk-C32HL4XU.js} +3 -3
  70. package/dist/{chunk-QNLTSHMB.js.map → chunk-C32HL4XU.js.map} +1 -1
  71. package/dist/chunk-C65SCJD6.js +138 -0
  72. package/dist/chunk-C65SCJD6.js.map +1 -0
  73. package/dist/{chunk-C46VTIW7.js → chunk-CUXQZRDI.js} +6 -13
  74. package/dist/chunk-CUXQZRDI.js.map +1 -0
  75. package/dist/{chunk-MZDAQSI4.js → chunk-DDZCRCTQ.js} +4 -4
  76. package/dist/chunk-DDZCRCTQ.js.map +1 -0
  77. package/dist/{chunk-5CIJ7UCP.js → chunk-FU5Q4WVX.js} +5 -5
  78. package/dist/chunk-FU5Q4WVX.js.map +1 -0
  79. package/dist/{chunk-GLJDHW73.js → chunk-G6QIIWKU.js} +2 -2
  80. package/dist/chunk-G6QIIWKU.js.map +1 -0
  81. package/dist/{chunk-AOXTD7QZ.js → chunk-GOBUFGGJ.js} +9 -26
  82. package/dist/chunk-GOBUFGGJ.js.map +1 -0
  83. package/dist/{chunk-BLFXVSZU.js → chunk-HR5TGNOF.js} +3 -3
  84. package/dist/{chunk-BLFXVSZU.js.map → chunk-HR5TGNOF.js.map} +1 -1
  85. package/dist/{chunk-GPSZJWU3.js → chunk-HSMO2BR4.js} +5 -13
  86. package/dist/chunk-HSMO2BR4.js.map +1 -0
  87. package/dist/{chunk-UIVOI7HE.js → chunk-HVHQA34X.js} +15 -21
  88. package/dist/chunk-HVHQA34X.js.map +1 -0
  89. package/dist/{chunk-3QD7AQX7.js → chunk-I5AD247M.js} +9 -5
  90. package/dist/chunk-I5AD247M.js.map +1 -0
  91. package/dist/{chunk-DF2ICSNI.js → chunk-I7HJBHQU.js} +3 -3
  92. package/dist/{chunk-DF2ICSNI.js.map → chunk-I7HJBHQU.js.map} +1 -1
  93. package/dist/{chunk-NHM6DZOF.js → chunk-J2WIZULN.js} +23 -8
  94. package/dist/chunk-J2WIZULN.js.map +1 -0
  95. package/dist/{chunk-BMA4E3T6.js → chunk-JFTSWOGE.js} +9 -21
  96. package/dist/chunk-JFTSWOGE.js.map +1 -0
  97. package/dist/{chunk-G27HGKWO.js → chunk-JIXINKUJ.js} +7 -26
  98. package/dist/chunk-JIXINKUJ.js.map +1 -0
  99. package/dist/{chunk-DOI7OTYV.js → chunk-LJOQ2C5W.js} +4 -4
  100. package/dist/chunk-LJOQ2C5W.js.map +1 -0
  101. package/dist/chunk-LWYZCSX4.js +531 -0
  102. package/dist/chunk-LWYZCSX4.js.map +1 -0
  103. package/dist/{chunk-3FXOQC6P.js → chunk-LXHFGQOI.js} +3 -3
  104. package/dist/chunk-LXHFGQOI.js.map +1 -0
  105. package/dist/{chunk-W5L7C7WS.js → chunk-NMP4HY6M.js} +4 -4
  106. package/dist/chunk-NMP4HY6M.js.map +1 -0
  107. package/dist/{chunk-DPIXBBXK.js → chunk-NTCAZ2LF.js} +30 -10
  108. package/dist/chunk-NTCAZ2LF.js.map +1 -0
  109. package/dist/{chunk-VIK6UTVN.js → chunk-OGB5QPNZ.js} +10 -92
  110. package/dist/chunk-OGB5QPNZ.js.map +1 -0
  111. package/dist/{chunk-YSV5GQS7.js → chunk-OJAHIPPP.js} +21 -114
  112. package/dist/chunk-OJAHIPPP.js.map +1 -0
  113. package/dist/{chunk-VKY3JXAQ.js → chunk-PB5VGXS5.js} +4 -4
  114. package/dist/chunk-PB5VGXS5.js.map +1 -0
  115. package/dist/chunk-PQOIW5CM.js +27 -0
  116. package/dist/chunk-PQOIW5CM.js.map +1 -0
  117. package/dist/{chunk-CHGABWIV.js → chunk-PRDJLQLB.js} +22 -102
  118. package/dist/chunk-PRDJLQLB.js.map +1 -0
  119. package/dist/{chunk-7OYMEXY3.js → chunk-QEAALOJC.js} +9 -13
  120. package/dist/chunk-QEAALOJC.js.map +1 -0
  121. package/dist/{chunk-LM6CJZX5.js → chunk-ROQGBDET.js} +4 -4
  122. package/dist/{chunk-LM6CJZX5.js.map → chunk-ROQGBDET.js.map} +1 -1
  123. package/dist/{chunk-GGQF5PQN.js → chunk-RRPMZYVN.js} +3 -3
  124. package/dist/{chunk-GGQF5PQN.js.map → chunk-RRPMZYVN.js.map} +1 -1
  125. package/dist/{chunk-USHR3MWQ.js → chunk-S6HO7HUY.js} +8 -6
  126. package/dist/chunk-S6HO7HUY.js.map +1 -0
  127. package/dist/{chunk-K5RV3GF4.js → chunk-SFP77VS3.js} +3 -3
  128. package/dist/{chunk-K5RV3GF4.js.map → chunk-SFP77VS3.js.map} +1 -1
  129. package/dist/{chunk-LXHOS74B.js → chunk-SJLH5ZDW.js} +4 -4
  130. package/dist/{chunk-LXHOS74B.js.map → chunk-SJLH5ZDW.js.map} +1 -1
  131. package/dist/{chunk-5XLCUGLQ.js → chunk-TBKPQOXF.js} +48 -29
  132. package/dist/chunk-TBKPQOXF.js.map +1 -0
  133. package/dist/{chunk-X3CNTOKQ.js → chunk-TDNPACQD.js} +4 -4
  134. package/dist/chunk-TDNPACQD.js.map +1 -0
  135. package/dist/{chunk-QZ67UOPR.js → chunk-TQEMGWZ2.js} +16 -17
  136. package/dist/chunk-TQEMGWZ2.js.map +1 -0
  137. package/dist/{chunk-U3RHF7QF.js → chunk-U4JPTWK6.js} +4 -4
  138. package/dist/chunk-U4JPTWK6.js.map +1 -0
  139. package/dist/{chunk-S7R4NTOI.js → chunk-UFC3RGIN.js} +3 -3
  140. package/dist/{chunk-S7R4NTOI.js.map → chunk-UFC3RGIN.js.map} +1 -1
  141. package/dist/{chunk-2OBMSB5S.js → chunk-W5VLFE4U.js} +5 -5
  142. package/dist/chunk-W5VLFE4U.js.map +1 -0
  143. package/dist/{chunk-6ZPCKFRS.js → chunk-WG5AYAC6.js} +7 -16
  144. package/dist/chunk-WG5AYAC6.js.map +1 -0
  145. package/dist/{chunk-TS2PG6Z4.js → chunk-WQT24BGG.js} +4 -17
  146. package/dist/chunk-WQT24BGG.js.map +1 -0
  147. package/dist/{chunk-FZXMRXWE.js → chunk-X7MF3TIF.js} +8 -13
  148. package/dist/chunk-X7MF3TIF.js.map +1 -0
  149. package/dist/{chunk-SUNCSPDF.js → chunk-XAM5EKOS.js} +6 -19
  150. package/dist/chunk-XAM5EKOS.js.map +1 -0
  151. package/dist/{chunk-XKDN5PWJ.js → chunk-XBXPY7U3.js} +4 -4
  152. package/dist/{chunk-XKDN5PWJ.js.map → chunk-XBXPY7U3.js.map} +1 -1
  153. package/dist/{chunk-5PUATOLR.js → chunk-XCK62GVU.js} +4 -4
  154. package/dist/chunk-XCK62GVU.js.map +1 -0
  155. package/dist/{chunk-AEPBQO7U.js → chunk-XMBZBXXS.js} +5 -13
  156. package/dist/chunk-XMBZBXXS.js.map +1 -0
  157. package/dist/{chunk-2FYXBW4S.js → chunk-XOEEAMMY.js} +23 -36
  158. package/dist/chunk-XOEEAMMY.js.map +1 -0
  159. package/dist/{chunk-HSW64H23.js → chunk-Z3DIBMBQ.js} +20 -34
  160. package/dist/chunk-Z3DIBMBQ.js.map +1 -0
  161. package/dist/clipboard/index.d.ts.map +1 -1
  162. package/dist/clipboard/index.js +2 -2
  163. package/dist/collapse/index.d.ts.map +1 -1
  164. package/dist/collapse/index.js +3 -2
  165. package/dist/color-picker/index.d.ts +8 -0
  166. package/dist/color-picker/index.d.ts.map +1 -0
  167. package/dist/color-picker/types.d.ts +42 -0
  168. package/dist/color-picker/types.d.ts.map +1 -0
  169. package/dist/command/index.d.ts.map +1 -1
  170. package/dist/command/index.js +3 -2
  171. package/dist/context-menu/index.d.ts +2 -2
  172. package/dist/context-menu/index.d.ts.map +1 -1
  173. package/dist/context-menu/index.js +2 -1
  174. package/dist/context-menu/types.d.ts +12 -0
  175. package/dist/context-menu/types.d.ts.map +1 -1
  176. package/dist/date-picker/CalendarHeader.d.ts +18 -0
  177. package/dist/date-picker/CalendarHeader.d.ts.map +1 -0
  178. package/dist/date-picker/MonthSelector.d.ts +11 -0
  179. package/dist/date-picker/MonthSelector.d.ts.map +1 -0
  180. package/dist/date-picker/PickerWrapper.d.ts +18 -0
  181. package/dist/date-picker/PickerWrapper.d.ts.map +1 -0
  182. package/dist/date-picker/RangePicker.d.ts +4 -0
  183. package/dist/date-picker/RangePicker.d.ts.map +1 -0
  184. package/dist/date-picker/TimePicker.d.ts +4 -0
  185. package/dist/date-picker/TimePicker.d.ts.map +1 -0
  186. package/dist/date-picker/YearSelector.d.ts +10 -0
  187. package/dist/date-picker/YearSelector.d.ts.map +1 -0
  188. package/dist/date-picker/index.d.ts +6 -6
  189. package/dist/date-picker/index.d.ts.map +1 -1
  190. package/dist/date-picker/index.js +3 -3
  191. package/dist/date-picker/shared.d.ts +3 -0
  192. package/dist/date-picker/shared.d.ts.map +1 -0
  193. package/dist/date-picker/utils.d.ts +1 -1
  194. package/dist/date-picker/utils.d.ts.map +1 -1
  195. package/dist/descriptions/index.d.ts.map +1 -1
  196. package/dist/descriptions/index.js +2 -1
  197. package/dist/divider/index.d.ts.map +1 -1
  198. package/dist/divider/index.js +2 -2
  199. package/dist/drawer/index.js +1 -1
  200. package/dist/dropdown/index.d.ts.map +1 -1
  201. package/dist/dropdown/index.js +3 -3
  202. package/dist/fetching-overlay/index.js +3 -3
  203. package/dist/float-button/index.d.ts +9 -0
  204. package/dist/float-button/index.d.ts.map +1 -0
  205. package/dist/float-button/types.d.ts +45 -0
  206. package/dist/float-button/types.d.ts.map +1 -0
  207. package/dist/float-input/index.d.ts.map +1 -1
  208. package/dist/float-input/index.js +3 -3
  209. package/dist/index.d.ts +28 -2
  210. package/dist/index.d.ts.map +1 -1
  211. package/dist/index.js +3020 -81
  212. package/dist/index.js.map +1 -1
  213. package/dist/input/index.d.ts.map +1 -1
  214. package/dist/input/index.js +3 -3
  215. package/dist/input-otp/index.d.ts.map +1 -1
  216. package/dist/input-otp/index.js +1 -1
  217. package/dist/input-password/index.d.ts.map +1 -1
  218. package/dist/input-password/index.js +4 -4
  219. package/dist/kbd/index.js +2 -2
  220. package/dist/link/index.d.ts.map +1 -1
  221. package/dist/link/index.js +2 -1
  222. package/dist/mentions/index.d.ts +6 -0
  223. package/dist/mentions/index.d.ts.map +1 -0
  224. package/dist/mentions/types.d.ts +36 -0
  225. package/dist/mentions/types.d.ts.map +1 -0
  226. package/dist/menubar/index.d.ts.map +1 -1
  227. package/dist/menubar/index.js +3 -3
  228. package/dist/modal/index.d.ts +1 -1
  229. package/dist/modal/index.d.ts.map +1 -1
  230. package/dist/modal/index.js +1 -1
  231. package/dist/modal/types.d.ts +8 -0
  232. package/dist/modal/types.d.ts.map +1 -1
  233. package/dist/multi-select/index.d.ts.map +1 -1
  234. package/dist/multi-select/index.js +5 -4
  235. package/dist/navigation-menu/index.d.ts.map +1 -1
  236. package/dist/navigation-menu/index.js +1 -1
  237. package/dist/navigation-menu/types.d.ts +2 -0
  238. package/dist/navigation-menu/types.d.ts.map +1 -1
  239. package/dist/notification/index.d.ts.map +1 -1
  240. package/dist/notification/index.js +2 -2
  241. package/dist/number-input/index.d.ts.map +1 -1
  242. package/dist/number-input/index.js +4 -3
  243. package/dist/pagination/index.d.ts.map +1 -1
  244. package/dist/pagination/index.js +2 -2
  245. package/dist/popover/index.js +2 -2
  246. package/dist/progress/index.d.ts.map +1 -1
  247. package/dist/progress/index.js +2 -2
  248. package/dist/qr-code/index.d.ts +6 -0
  249. package/dist/qr-code/index.d.ts.map +1 -0
  250. package/dist/qr-code/types.d.ts +49 -0
  251. package/dist/qr-code/types.d.ts.map +1 -0
  252. package/dist/radio/index.js +2 -2
  253. package/dist/rating/index.d.ts.map +1 -1
  254. package/dist/rating/index.js +2 -1
  255. package/dist/resizable/index.d.ts +7 -0
  256. package/dist/resizable/index.d.ts.map +1 -0
  257. package/dist/resizable/types.d.ts +8 -0
  258. package/dist/resizable/types.d.ts.map +1 -0
  259. package/dist/result/index.d.ts +6 -0
  260. package/dist/result/index.d.ts.map +1 -0
  261. package/dist/result/types.d.ts +22 -0
  262. package/dist/result/types.d.ts.map +1 -0
  263. package/dist/scroll-area/index.d.ts.map +1 -1
  264. package/dist/scroll-area/index.js +1 -1
  265. package/dist/select/index.d.ts.map +1 -1
  266. package/dist/select/index.js +5 -4
  267. package/dist/skeleton/index.js +2 -2
  268. package/dist/slider/index.js +2 -2
  269. package/dist/spinner/index.js +2 -2
  270. package/dist/stepper/index.d.ts +3 -3
  271. package/dist/stepper/index.d.ts.map +1 -1
  272. package/dist/stepper/index.js +2 -2
  273. package/dist/switch/index.js +2 -2
  274. package/dist/table/TableHeaderCell.d.ts.map +1 -1
  275. package/dist/table/index.d.ts +1 -1
  276. package/dist/table/index.d.ts.map +1 -1
  277. package/dist/table/index.js +9 -9
  278. package/dist/table/types.d.ts +6 -0
  279. package/dist/table/types.d.ts.map +1 -1
  280. package/dist/tabs/index.d.ts.map +1 -1
  281. package/dist/tabs/index.js +2 -2
  282. package/dist/tag/index.d.ts.map +1 -1
  283. package/dist/tag/index.js +2 -2
  284. package/dist/tags-input/index.d.ts +6 -0
  285. package/dist/tags-input/index.d.ts.map +1 -0
  286. package/dist/tags-input/types.d.ts +36 -0
  287. package/dist/tags-input/types.d.ts.map +1 -0
  288. package/dist/textarea/index.d.ts.map +1 -1
  289. package/dist/textarea/index.js +1 -1
  290. package/dist/theme/ThemeProvider.d.ts +11 -3
  291. package/dist/theme/ThemeProvider.d.ts.map +1 -1
  292. package/dist/theme/index.js +1 -1
  293. package/dist/timeline/index.d.ts.map +1 -1
  294. package/dist/timeline/index.js +2 -1
  295. package/dist/toast/index.js +2 -2
  296. package/dist/toggle/index.js +2 -2
  297. package/dist/toggle-group/index.d.ts.map +1 -1
  298. package/dist/toggle-group/index.js +2 -2
  299. package/dist/tooltip/index.js +2 -2
  300. package/dist/tour/index.d.ts +6 -0
  301. package/dist/tour/index.d.ts.map +1 -0
  302. package/dist/tour/types.d.ts +45 -0
  303. package/dist/tour/types.d.ts.map +1 -0
  304. package/dist/transfer/index.d.ts.map +1 -1
  305. package/dist/transfer/index.js +3 -3
  306. package/dist/tree/index.d.ts.map +1 -1
  307. package/dist/tree/index.js +1 -1
  308. package/dist/tree-select/index.d.ts.map +1 -1
  309. package/dist/tree-select/index.js +4 -4
  310. package/dist/typography/index.d.ts +8 -0
  311. package/dist/typography/index.d.ts.map +1 -0
  312. package/dist/typography/types.d.ts +33 -0
  313. package/dist/typography/types.d.ts.map +1 -0
  314. package/dist/upload/index.d.ts.map +1 -1
  315. package/dist/upload/index.js +2 -1
  316. package/dist/upload/utils.d.ts +1 -1
  317. package/dist/upload/utils.d.ts.map +1 -1
  318. package/dist/variants.d.ts +1 -1
  319. package/dist/variants.d.ts.map +1 -1
  320. package/dist/watermark/index.d.ts +6 -0
  321. package/dist/watermark/index.d.ts.map +1 -0
  322. package/dist/watermark/types.d.ts +24 -0
  323. package/dist/watermark/types.d.ts.map +1 -0
  324. package/package.json +5 -2
  325. package/styles/global.css +359 -1119
  326. package/styles/themes/dark.css +15 -5
  327. package/styles/themes/light.css +20 -2
  328. package/styles/themes/presets/corporate.css +2 -0
  329. package/styles/themes/presets/minimal.css +2 -0
  330. package/styles/themes/presets/vibrant.css +2 -0
  331. package/dist/chunk-2FYXBW4S.js.map +0 -1
  332. package/dist/chunk-2OBMSB5S.js.map +0 -1
  333. package/dist/chunk-3FXOQC6P.js.map +0 -1
  334. package/dist/chunk-3KISIZGP.js.map +0 -1
  335. package/dist/chunk-3QD7AQX7.js.map +0 -1
  336. package/dist/chunk-442OQLPK.js.map +0 -1
  337. package/dist/chunk-4WZDQI22.js.map +0 -1
  338. package/dist/chunk-54Z7XTJA.js.map +0 -1
  339. package/dist/chunk-5CIJ7UCP.js.map +0 -1
  340. package/dist/chunk-5PUATOLR.js.map +0 -1
  341. package/dist/chunk-5XLCUGLQ.js.map +0 -1
  342. package/dist/chunk-62LTLXVG.js.map +0 -1
  343. package/dist/chunk-6ZPCKFRS.js.map +0 -1
  344. package/dist/chunk-7OYMEXY3.js.map +0 -1
  345. package/dist/chunk-AEPBQO7U.js.map +0 -1
  346. package/dist/chunk-AOXTD7QZ.js.map +0 -1
  347. package/dist/chunk-BMA4E3T6.js.map +0 -1
  348. package/dist/chunk-C46VTIW7.js.map +0 -1
  349. package/dist/chunk-CHGABWIV.js.map +0 -1
  350. package/dist/chunk-DOI7OTYV.js.map +0 -1
  351. package/dist/chunk-DPIXBBXK.js.map +0 -1
  352. package/dist/chunk-EC5DXYME.js +0 -1273
  353. package/dist/chunk-EC5DXYME.js.map +0 -1
  354. package/dist/chunk-EHNWVQBL.js.map +0 -1
  355. package/dist/chunk-F4GLUQOF.js.map +0 -1
  356. package/dist/chunk-FCU2ENQQ.js.map +0 -1
  357. package/dist/chunk-FZXMRXWE.js.map +0 -1
  358. package/dist/chunk-G27HGKWO.js.map +0 -1
  359. package/dist/chunk-GLJDHW73.js.map +0 -1
  360. package/dist/chunk-GPSZJWU3.js.map +0 -1
  361. package/dist/chunk-HSW64H23.js.map +0 -1
  362. package/dist/chunk-KZZJAZ5M.js +0 -146
  363. package/dist/chunk-KZZJAZ5M.js.map +0 -1
  364. package/dist/chunk-MZDAQSI4.js.map +0 -1
  365. package/dist/chunk-NHM6DZOF.js.map +0 -1
  366. package/dist/chunk-QZ67UOPR.js.map +0 -1
  367. package/dist/chunk-SHUHAORE.js +0 -821
  368. package/dist/chunk-SHUHAORE.js.map +0 -1
  369. package/dist/chunk-SUNCSPDF.js.map +0 -1
  370. package/dist/chunk-TS2PG6Z4.js.map +0 -1
  371. package/dist/chunk-U3RHF7QF.js.map +0 -1
  372. package/dist/chunk-UIVOI7HE.js.map +0 -1
  373. package/dist/chunk-USHR3MWQ.js.map +0 -1
  374. package/dist/chunk-VIK6UTVN.js.map +0 -1
  375. package/dist/chunk-VKY3JXAQ.js.map +0 -1
  376. package/dist/chunk-VV3VO5TS.js.map +0 -1
  377. package/dist/chunk-W5L7C7WS.js.map +0 -1
  378. package/dist/chunk-X3CNTOKQ.js.map +0 -1
  379. package/dist/chunk-XWCWTPEM.js.map +0 -1
  380. package/dist/chunk-YSV5GQS7.js.map +0 -1
  381. package/dist/chunk-ZNNIXMJZ.js.map +0 -1
  382. package/dist/empty/index.d.ts +0 -6
  383. package/dist/empty/index.d.ts.map +0 -1
  384. package/dist/empty/index.js +0 -4
  385. package/dist/empty/types.d.ts +0 -25
  386. package/dist/empty/types.d.ts.map +0 -1
  387. package/dist/styles/tokens.d.ts +0 -428
  388. package/dist/styles/tokens.d.ts.map +0 -1
  389. /package/dist/{empty → alert}/index.js.map +0 -0
@@ -1,1273 +0,0 @@
1
- import { Popover, PopoverTrigger, PopoverContent } from './chunk-LM6CJZX5.js';
2
- import { colorVars } from './chunk-GLJDHW73.js';
3
- import { getValidationStatus, cn, iconSizes, statusMessageVariants } from './chunk-RAS6HUEI.js';
4
- import React 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 datePickerColorStyles = {
99
- default: `
100
- [&_.react-datepicker__day--selected]:!bg-surface
101
- [&_.react-datepicker__day--selected]:!text-text-primary
102
- [&_.react-datepicker__day--keyboard-selected]:!bg-surface/50
103
- [&_.react-datepicker__day--today]:!border
104
- [&_.react-datepicker__day--today]:!border-border
105
- [&_.react-datepicker__time-list-item--selected]:!bg-surface
106
- [&_.react-datepicker__time-list-item--selected]:!text-text-primary
107
- [&_.react-datepicker__day--in-selecting-range]:!bg-surface/30
108
- [&_.react-datepicker__day--in-range]:!bg-surface/10
109
- [&_.react-datepicker__day--range-start]:!bg-surface
110
- [&_.react-datepicker__day--range-start]:!text-text-primary
111
- [&_.react-datepicker__day--range-end]:!bg-surface
112
- [&_.react-datepicker__day--range-end]:!text-text-primary
113
- `,
114
- primary: `
115
- [&_.react-datepicker__day--selected]:!bg-primary
116
- [&_.react-datepicker__day--selected]:!text-background
117
- [&_.react-datepicker__day--keyboard-selected]:!bg-primary/50
118
- [&_.react-datepicker__day--today]:!border
119
- [&_.react-datepicker__day--today]:!border-primary
120
- [&_.react-datepicker__time-list-item--selected]:!bg-primary
121
- [&_.react-datepicker__time-list-item--selected]:!text-background
122
- [&_.react-datepicker__day--in-selecting-range]:!bg-primary/30
123
- [&_.react-datepicker__day--in-range]:!bg-primary/10
124
- [&_.react-datepicker__day--range-start]:!bg-primary
125
- [&_.react-datepicker__day--range-start]:!text-background
126
- [&_.react-datepicker__day--range-end]:!bg-primary
127
- [&_.react-datepicker__day--range-end]:!text-background
128
- `,
129
- secondary: `
130
- [&_.react-datepicker__day--selected]:!bg-secondary
131
- [&_.react-datepicker__day--selected]:!text-background
132
- [&_.react-datepicker__day--keyboard-selected]:!bg-secondary/50
133
- [&_.react-datepicker__day--today]:!border
134
- [&_.react-datepicker__day--today]:!border-secondary
135
- [&_.react-datepicker__time-list-item--selected]:!bg-secondary
136
- [&_.react-datepicker__time-list-item--selected]:!text-background
137
- [&_.react-datepicker__day--in-selecting-range]:!bg-secondary/30
138
- [&_.react-datepicker__day--in-range]:!bg-secondary/10
139
- [&_.react-datepicker__day--range-start]:!bg-secondary
140
- [&_.react-datepicker__day--range-start]:!text-background
141
- [&_.react-datepicker__day--range-end]:!bg-secondary
142
- [&_.react-datepicker__day--range-end]:!text-background
143
- `,
144
- accent: `
145
- [&_.react-datepicker__day--selected]:!bg-accent
146
- [&_.react-datepicker__day--selected]:!text-background
147
- [&_.react-datepicker__day--keyboard-selected]:!bg-accent/50
148
- [&_.react-datepicker__day--today]:!border
149
- [&_.react-datepicker__day--today]:!border-accent
150
- [&_.react-datepicker__time-list-item--selected]:!bg-accent
151
- [&_.react-datepicker__time-list-item--selected]:!text-background
152
- [&_.react-datepicker__day--in-selecting-range]:!bg-accent/30
153
- [&_.react-datepicker__day--in-range]:!bg-accent/10
154
- [&_.react-datepicker__day--range-start]:!bg-accent
155
- [&_.react-datepicker__day--range-start]:!text-background
156
- [&_.react-datepicker__day--range-end]:!bg-accent
157
- [&_.react-datepicker__day--range-end]:!text-background
158
- `,
159
- success: `
160
- [&_.react-datepicker__day--selected]:!bg-success
161
- [&_.react-datepicker__day--selected]:!text-background
162
- [&_.react-datepicker__day--keyboard-selected]:!bg-success/50
163
- [&_.react-datepicker__day--today]:!border
164
- [&_.react-datepicker__day--today]:!border-success
165
- [&_.react-datepicker__time-list-item--selected]:!bg-success
166
- [&_.react-datepicker__time-list-item--selected]:!text-background
167
- [&_.react-datepicker__day--in-selecting-range]:!bg-success/30
168
- [&_.react-datepicker__day--in-range]:!bg-success/10
169
- [&_.react-datepicker__day--range-start]:!bg-success
170
- [&_.react-datepicker__day--range-start]:!text-background
171
- [&_.react-datepicker__day--range-end]:!bg-success
172
- [&_.react-datepicker__day--range-end]:!text-background
173
- `,
174
- error: `
175
- [&_.react-datepicker__day--selected]:!bg-error
176
- [&_.react-datepicker__day--selected]:!text-background
177
- [&_.react-datepicker__day--keyboard-selected]:!bg-error/50
178
- [&_.react-datepicker__day--today]:!border
179
- [&_.react-datepicker__day--today]:!border-error
180
- [&_.react-datepicker__time-list-item--selected]:!bg-error
181
- [&_.react-datepicker__time-list-item--selected]:!text-background
182
- [&_.react-datepicker__day--in-selecting-range]:!bg-error/30
183
- [&_.react-datepicker__day--in-range]:!bg-error/10
184
- [&_.react-datepicker__day--range-start]:!bg-error
185
- [&_.react-datepicker__day--range-start]:!text-background
186
- [&_.react-datepicker__day--range-end]:!bg-error
187
- [&_.react-datepicker__day--range-end]:!text-background
188
- `,
189
- warning: `
190
- [&_.react-datepicker__day--selected]:!bg-warning
191
- [&_.react-datepicker__day--selected]:!text-background
192
- [&_.react-datepicker__day--keyboard-selected]:!bg-warning/50
193
- [&_.react-datepicker__day--today]:!border
194
- [&_.react-datepicker__day--today]:!border-warning
195
- [&_.react-datepicker__time-list-item--selected]:!bg-warning
196
- [&_.react-datepicker__time-list-item--selected]:!text-background
197
- [&_.react-datepicker__day--in-selecting-range]:!bg-warning/30
198
- [&_.react-datepicker__day--in-range]:!bg-warning/10
199
- [&_.react-datepicker__day--range-start]:!bg-warning
200
- [&_.react-datepicker__day--range-start]:!text-background
201
- [&_.react-datepicker__day--range-end]:!bg-warning
202
- [&_.react-datepicker__day--range-end]:!text-background
203
- `,
204
- info: `
205
- [&_.react-datepicker__day--selected]:!bg-info
206
- [&_.react-datepicker__day--selected]:!text-background
207
- [&_.react-datepicker__day--keyboard-selected]:!bg-info/50
208
- [&_.react-datepicker__day--today]:!border
209
- [&_.react-datepicker__day--today]:!border-info
210
- [&_.react-datepicker__time-list-item--selected]:!bg-info
211
- [&_.react-datepicker__time-list-item--selected]:!text-background
212
- [&_.react-datepicker__day--in-selecting-range]:!bg-info/30
213
- [&_.react-datepicker__day--in-range]:!bg-info/10
214
- [&_.react-datepicker__day--range-start]:!bg-info
215
- [&_.react-datepicker__day--range-start]:!text-background
216
- [&_.react-datepicker__day--range-end]:!bg-info
217
- [&_.react-datepicker__day--range-end]:!text-background
218
- `
219
- };
220
- var getDatePickerStyles = (color = "primary", classNames) => {
221
- return cn(
222
- datePickerBaseStyles,
223
- datePickerColorStyles[color],
224
- classNames?.day && `[&_.react-datepicker__day]:${classNames.day}`,
225
- classNames?.daySelected && `[&_.react-datepicker__day--selected]:${classNames.daySelected}`,
226
- classNames?.dayToday && `[&_.react-datepicker__day--today]:${classNames.dayToday}`
227
- );
228
- };
229
- var pickerSelectedColorClasses = {
230
- default: "bg-surface text-text-primary",
231
- primary: "bg-primary text-background",
232
- secondary: "bg-secondary text-background",
233
- accent: "bg-accent text-background",
234
- success: "bg-success text-background",
235
- error: "bg-error text-background",
236
- warning: "bg-warning text-background",
237
- info: "bg-info text-background"
238
- };
239
- var YearSelector = ({
240
- date,
241
- onYearSelect,
242
- onDecadeChange,
243
- color = "primary"
244
- }) => {
245
- const currentYear = date.getFullYear();
246
- const startYear = Math.floor(currentYear / 10) * 10;
247
- const years = Array.from({ length: 12 }, (_, i) => startYear - 1 + i);
248
- return /* @__PURE__ */ jsxs("div", { className: "p-4 bg-background", children: [
249
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-4", children: [
250
- /* @__PURE__ */ jsx(
251
- "button",
252
- {
253
- type: "button",
254
- onClick: () => onDecadeChange(currentYear - 10),
255
- className: "p-1 rounded hover:bg-surface text-text-primary transition-colors",
256
- "aria-label": "Previous decade",
257
- children: /* @__PURE__ */ jsx(ChevronsLeft, { className: iconSizes.sm })
258
- }
259
- ),
260
- /* @__PURE__ */ jsxs("div", { className: "text-sm font-medium text-text-primary", children: [
261
- startYear,
262
- "-",
263
- startYear + 9
264
- ] }),
265
- /* @__PURE__ */ jsx(
266
- "button",
267
- {
268
- type: "button",
269
- onClick: () => onDecadeChange(currentYear + 10),
270
- className: "p-1 rounded hover:bg-surface text-text-primary transition-colors",
271
- "aria-label": "Next decade",
272
- children: /* @__PURE__ */ jsx(ChevronsRight, { className: iconSizes.sm })
273
- }
274
- )
275
- ] }),
276
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-3 gap-2", children: years.map((year) => /* @__PURE__ */ jsx(
277
- "button",
278
- {
279
- type: "button",
280
- onClick: () => onYearSelect(year),
281
- className: cn(
282
- "px-4 py-2 rounded text-sm font-medium transition-colors",
283
- year === currentYear ? pickerSelectedColorClasses[color] : year < startYear || year > startYear + 9 ? "text-text-secondary opacity-50" : "text-text-primary hover:bg-surface"
284
- ),
285
- children: year
286
- },
287
- year
288
- )) })
289
- ] });
290
- };
291
- var MonthSelector = ({
292
- date,
293
- onMonthSelect,
294
- onYearClick,
295
- onYearChange,
296
- color = "primary"
297
- }) => {
298
- const months = [
299
- "Jan",
300
- "Feb",
301
- "Mar",
302
- "Apr",
303
- "May",
304
- "Jun",
305
- "Jul",
306
- "Aug",
307
- "Sep",
308
- "Oct",
309
- "Nov",
310
- "Dec"
311
- ];
312
- const currentMonth = date.getMonth();
313
- const currentYear = date.getFullYear();
314
- return /* @__PURE__ */ jsxs("div", { className: "p-4 bg-background", children: [
315
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-4", children: [
316
- /* @__PURE__ */ jsx(
317
- "button",
318
- {
319
- type: "button",
320
- onClick: () => onYearChange(currentYear - 1),
321
- className: "p-1 rounded hover:bg-surface text-text-primary transition-colors",
322
- "aria-label": "Previous year",
323
- children: /* @__PURE__ */ jsx(ChevronsLeft, { className: iconSizes.sm })
324
- }
325
- ),
326
- /* @__PURE__ */ jsx(
327
- "button",
328
- {
329
- type: "button",
330
- onClick: onYearClick,
331
- className: "text-sm font-medium text-text-primary hover:text-primary transition-colors",
332
- children: currentYear
333
- }
334
- ),
335
- /* @__PURE__ */ jsx(
336
- "button",
337
- {
338
- type: "button",
339
- onClick: () => onYearChange(currentYear + 1),
340
- className: "p-1 rounded hover:bg-surface text-text-primary transition-colors",
341
- "aria-label": "Next year",
342
- children: /* @__PURE__ */ jsx(ChevronsRight, { className: iconSizes.sm })
343
- }
344
- )
345
- ] }),
346
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-3 gap-2", children: months.map((month, index) => /* @__PURE__ */ jsx(
347
- "button",
348
- {
349
- type: "button",
350
- onClick: () => onMonthSelect(index),
351
- className: cn(
352
- "px-4 py-2 rounded text-sm font-medium transition-colors",
353
- index === currentMonth ? pickerSelectedColorClasses[color] : "text-text-primary hover:bg-surface"
354
- ),
355
- children: month
356
- },
357
- month
358
- )) })
359
- ] });
360
- };
361
- var CustomCalendarHeader = ({
362
- date,
363
- decreaseMonth,
364
- increaseMonth,
365
- decreaseYear,
366
- increaseYear,
367
- prevMonthButtonDisabled,
368
- nextMonthButtonDisabled,
369
- prevYearButtonDisabled,
370
- nextYearButtonDisabled,
371
- showMonthSelector = false,
372
- onMonthClick,
373
- onYearClick,
374
- headerClassName,
375
- navigationClassName
376
- }) => {
377
- const monthName = date.toLocaleDateString("en-US", { month: "long" });
378
- const year = date.getFullYear();
379
- 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: [
380
- /* @__PURE__ */ jsxs("div", { className: cn("datePicker_navigation", "flex items-center gap-1", navigationClassName), "data-slot": "navigation", children: [
381
- /* @__PURE__ */ jsx(
382
- "button",
383
- {
384
- type: "button",
385
- onClick: decreaseYear,
386
- disabled: prevYearButtonDisabled || showMonthSelector,
387
- className: "p-1 rounded hover:bg-surface text-text-primary disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
388
- "aria-label": "Previous year",
389
- children: /* @__PURE__ */ jsx(ChevronsLeft, { className: iconSizes.sm })
390
- }
391
- ),
392
- /* @__PURE__ */ jsx(
393
- "button",
394
- {
395
- type: "button",
396
- onClick: decreaseMonth,
397
- disabled: prevMonthButtonDisabled || showMonthSelector,
398
- className: "p-1 rounded hover:bg-surface text-text-primary disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
399
- "aria-label": "Previous month",
400
- children: /* @__PURE__ */ jsx(ChevronLeft, { className: iconSizes.sm })
401
- }
402
- )
403
- ] }),
404
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
405
- /* @__PURE__ */ jsx(
406
- "button",
407
- {
408
- type: "button",
409
- onClick: onMonthClick,
410
- className: "text-sm font-medium text-text-primary hover:text-primary transition-colors",
411
- children: monthName
412
- }
413
- ),
414
- /* @__PURE__ */ jsx(
415
- "button",
416
- {
417
- type: "button",
418
- onClick: onYearClick,
419
- className: "text-sm font-medium text-text-primary hover:text-primary transition-colors",
420
- children: year
421
- }
422
- )
423
- ] }),
424
- /* @__PURE__ */ jsxs("div", { className: cn("datePicker_navigation", "flex items-center gap-1", navigationClassName), "data-slot": "navigation", children: [
425
- /* @__PURE__ */ jsx(
426
- "button",
427
- {
428
- type: "button",
429
- onClick: increaseMonth,
430
- disabled: nextMonthButtonDisabled || showMonthSelector,
431
- className: "p-1 rounded hover:bg-surface text-text-primary disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
432
- "aria-label": "Next month",
433
- children: /* @__PURE__ */ jsx(ChevronRight, { className: iconSizes.sm })
434
- }
435
- ),
436
- /* @__PURE__ */ jsx(
437
- "button",
438
- {
439
- type: "button",
440
- onClick: increaseYear,
441
- disabled: nextYearButtonDisabled || showMonthSelector,
442
- className: "p-1 rounded hover:bg-surface text-text-primary disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
443
- "aria-label": "Next year",
444
- children: /* @__PURE__ */ jsx(ChevronsRight, { className: iconSizes.sm })
445
- }
446
- )
447
- ] })
448
- ] });
449
- };
450
- var PickerWrapper = ({
451
- label,
452
- error,
453
- warning,
454
- info,
455
- success,
456
- helperText,
457
- messagePosition = "bottom",
458
- required = false,
459
- fullWidth = true,
460
- children,
461
- classNames
462
- }) => {
463
- const uniqueId = React.useId();
464
- const helperId = `picker-helper-${uniqueId}`;
465
- const { status, message: helperMessage } = getValidationStatus({ error, warning, info, success, helperText });
466
- return /* @__PURE__ */ jsxs("div", { className: cn("w-full flex flex-col relative", !fullWidth && "inline-block"), children: [
467
- /* @__PURE__ */ jsxs("div", { className: "flex gap-2 items-center relative mb-0.5", children: [
468
- label && /* @__PURE__ */ jsxs("label", { className: cn("datePicker_label", "text-sm font-medium text-text-secondary", classNames?.label), "data-slot": "label", children: [
469
- label,
470
- required && /* @__PURE__ */ jsx("span", { className: "text-error ml-1", children: "*" })
471
- ] }),
472
- helperMessage && messagePosition === "top" && /* @__PURE__ */ jsx("p", { id: helperId, className: cn("datePicker_helper", statusMessageVariants({ status }), classNames?.helper), "data-slot": "helper", children: helperMessage })
473
- ] }),
474
- children,
475
- helperMessage && messagePosition === "bottom" && /* @__PURE__ */ jsx("p", { id: helperId, className: cn("datePicker_helper", "mt-0.5", statusMessageVariants({ status }), classNames?.helper), "data-slot": "helper", children: helperMessage })
476
- ] });
477
- };
478
- var DatePickerComponent = React.memo(
479
- ({
480
- variant = "outline",
481
- size = "md",
482
- color = "primary",
483
- label,
484
- error,
485
- warning,
486
- info,
487
- success,
488
- helperText,
489
- messagePosition = "bottom",
490
- placeholder = "Select date...",
491
- disabled = false,
492
- required = false,
493
- clearable = false,
494
- fullWidth = true,
495
- className,
496
- classNames,
497
- ref,
498
- value,
499
- defaultValue,
500
- onChange,
501
- minDate,
502
- maxDate,
503
- dateFormat = "MM/dd/yyyy"
504
- }) => {
505
- const [internalValue, setInternalValue] = React.useState(
506
- defaultValue || null
507
- );
508
- const currentValue = value !== void 0 ? value : internalValue;
509
- const [isOpen, setIsOpen] = React.useState(false);
510
- const [showMonthSelector, setShowMonthSelector] = React.useState(false);
511
- const [showYearSelector, setShowYearSelector] = React.useState(false);
512
- const [viewDate, setViewDate] = React.useState(currentValue || /* @__PURE__ */ new Date());
513
- const [hoverDate, setHoverDate] = React.useState(null);
514
- const { status } = getValidationStatus({ error, warning, info, success, helperText });
515
- React.useEffect(() => {
516
- if (value) setViewDate(value);
517
- }, [value]);
518
- const handleDateChange = (date) => {
519
- if (value === void 0) {
520
- setInternalValue(date);
521
- }
522
- onChange?.(date);
523
- setHoverDate(null);
524
- setIsOpen(false);
525
- setShowMonthSelector(false);
526
- setShowYearSelector(false);
527
- };
528
- const handleClear = (e) => {
529
- e.stopPropagation();
530
- if (value === void 0) {
531
- setInternalValue(null);
532
- }
533
- onChange?.(null);
534
- };
535
- const handleMonthSelect = (month) => {
536
- const newDate = new Date(viewDate);
537
- newDate.setMonth(month);
538
- setViewDate(newDate);
539
- setShowMonthSelector(false);
540
- };
541
- const handleYearSelect = (year) => {
542
- const newDate = new Date(viewDate);
543
- newDate.setFullYear(year);
544
- setViewDate(newDate);
545
- setShowYearSelector(false);
546
- setShowMonthSelector(true);
547
- };
548
- const handleYearChange = (year) => {
549
- const newDate = new Date(viewDate);
550
- newDate.setFullYear(year);
551
- setViewDate(newDate);
552
- };
553
- const handleDecadeChange = (year) => {
554
- const newDate = new Date(viewDate);
555
- newDate.setFullYear(year);
556
- setViewDate(newDate);
557
- };
558
- const showClear = clearable && currentValue && !disabled;
559
- const formatDate = React.useCallback(
560
- (date) => {
561
- const d = new Date(date);
562
- const year = d.getFullYear();
563
- const month = String(d.getMonth() + 1).padStart(2, "0");
564
- const day = String(d.getDate()).padStart(2, "0");
565
- return dateFormat.replace("yyyy", String(year)).replace("MM", month).replace("dd", day);
566
- },
567
- [dateFormat]
568
- );
569
- const getDisplayValue = () => {
570
- if (hoverDate) {
571
- return { confirmed: "", preview: formatDate(hoverDate) };
572
- }
573
- if (currentValue) {
574
- return { confirmed: formatDate(currentValue), preview: "" };
575
- }
576
- return { confirmed: "", preview: "" };
577
- };
578
- const { confirmed, preview } = getDisplayValue();
579
- const customHeader = (props) => /* @__PURE__ */ jsx(
580
- CustomCalendarHeader,
581
- {
582
- ...props,
583
- showMonthSelector,
584
- onMonthClick: () => setShowMonthSelector(!showMonthSelector),
585
- onYearClick: () => setShowYearSelector(true),
586
- headerClassName: classNames?.header,
587
- navigationClassName: classNames?.navigation
588
- }
589
- );
590
- const triggerButton = /* @__PURE__ */ jsx(
591
- "button",
592
- {
593
- type: "button",
594
- disabled,
595
- onClick: () => setIsOpen(!isOpen),
596
- "aria-expanded": isOpen,
597
- "aria-haspopup": "dialog",
598
- className: cn(
599
- "datePicker_trigger",
600
- pickerInputVariants({ variant, status, size, fullWidth }),
601
- colorVars[color],
602
- "focus-visible:ring-slot",
603
- "pl-10 flex items-center justify-start cursor-pointer",
604
- showClear && "pr-10",
605
- className,
606
- classNames?.trigger
607
- ),
608
- "data-slot": "trigger",
609
- children: confirmed || preview ? /* @__PURE__ */ jsxs(Fragment, { children: [
610
- confirmed && /* @__PURE__ */ jsx("span", { children: confirmed }),
611
- preview && /* @__PURE__ */ jsx("span", { className: "text-text-secondary", children: preview })
612
- ] }) : /* @__PURE__ */ jsx("span", { className: "text-text-secondary", children: placeholder })
613
- }
614
- );
615
- return /* @__PURE__ */ jsx(
616
- PickerWrapper,
617
- {
618
- label,
619
- error,
620
- warning,
621
- info,
622
- success,
623
- helperText,
624
- messagePosition,
625
- required,
626
- fullWidth,
627
- classNames,
628
- children: /* @__PURE__ */ jsxs("div", { ref, className: cn("datePicker_root", "relative w-full", classNames?.root), "data-slot": "root", children: [
629
- /* @__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] }) }),
630
- /* @__PURE__ */ jsxs(
631
- Popover,
632
- {
633
- open: isOpen,
634
- onOpenChange: (open) => {
635
- setIsOpen(open);
636
- if (!open) {
637
- setShowMonthSelector(false);
638
- setShowYearSelector(false);
639
- setHoverDate(null);
640
- }
641
- },
642
- children: [
643
- /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: triggerButton }),
644
- /* @__PURE__ */ jsx(
645
- PopoverContent,
646
- {
647
- className: "p-0 w-auto",
648
- align: "start",
649
- sideOffset: 4,
650
- onOpenAutoFocus: (e) => e.preventDefault(),
651
- children: /* @__PURE__ */ jsx(Fragment, { children: showYearSelector ? /* @__PURE__ */ jsx(
652
- YearSelector,
653
- {
654
- date: viewDate,
655
- onYearSelect: handleYearSelect,
656
- onDecadeChange: handleDecadeChange,
657
- color
658
- }
659
- ) : showMonthSelector ? /* @__PURE__ */ jsx(
660
- MonthSelector,
661
- {
662
- date: viewDate,
663
- onMonthSelect: handleMonthSelect,
664
- onYearClick: () => setShowYearSelector(true),
665
- onYearChange: handleYearChange,
666
- color
667
- }
668
- ) : /* @__PURE__ */ jsx("div", { className: cn("datePicker_calendar", getDatePickerStyles(color, classNames), classNames?.calendar), "data-slot": "calendar", children: /* @__PURE__ */ jsx(
669
- ReactDatePicker,
670
- {
671
- selected: currentValue,
672
- onChange: handleDateChange,
673
- disabled,
674
- minDate,
675
- maxDate,
676
- dateFormat,
677
- renderCustomHeader: customHeader,
678
- openToDate: viewDate,
679
- onMonthChange: setViewDate,
680
- onDayMouseEnter: setHoverDate,
681
- inline: true
682
- }
683
- ) }) })
684
- }
685
- )
686
- ]
687
- }
688
- ),
689
- showClear && /* @__PURE__ */ jsx(
690
- "button",
691
- {
692
- type: "button",
693
- onClick: handleClear,
694
- className: cn("absolute right-3 flex items-center h-full top-0 text-text-secondary hover:text-text-primary z-10", classNames?.clear),
695
- "aria-label": "Clear date",
696
- "data-slot": "clear",
697
- children: /* @__PURE__ */ jsx(X, { className: iconSizes[size] })
698
- }
699
- )
700
- ] })
701
- }
702
- );
703
- }
704
- );
705
- DatePickerComponent.displayName = "DatePicker";
706
- var RangePickerComponent = React.memo(
707
- ({
708
- variant = "outline",
709
- size = "md",
710
- color = "primary",
711
- label,
712
- error,
713
- warning,
714
- info,
715
- success,
716
- helperText,
717
- messagePosition = "bottom",
718
- placeholder = "Select date range...",
719
- disabled = false,
720
- required = false,
721
- clearable = false,
722
- fullWidth = true,
723
- className,
724
- classNames,
725
- ref,
726
- startDate,
727
- endDate,
728
- defaultStartDate,
729
- defaultEndDate,
730
- onChange,
731
- minDate,
732
- maxDate,
733
- dateFormat = "MM/dd/yyyy"
734
- }) => {
735
- const [internalStartDate, setInternalStartDate] = React.useState(defaultStartDate || null);
736
- const [internalEndDate, setInternalEndDate] = React.useState(
737
- defaultEndDate || null
738
- );
739
- const currentStartDate = startDate !== void 0 ? startDate : internalStartDate;
740
- const currentEndDate = endDate !== void 0 ? endDate : internalEndDate;
741
- const [isOpen, setIsOpen] = React.useState(false);
742
- const [showMonthSelector, setShowMonthSelector] = React.useState(false);
743
- const [showYearSelector, setShowYearSelector] = React.useState(false);
744
- const [viewDate, setViewDate] = React.useState(
745
- currentStartDate || /* @__PURE__ */ new Date()
746
- );
747
- const [hoverDate, setHoverDate] = React.useState(null);
748
- const { status } = getValidationStatus({ error, warning, info, success, helperText });
749
- React.useEffect(() => {
750
- if (startDate) setViewDate(startDate);
751
- }, [startDate]);
752
- const handleChange = (dates) => {
753
- if (startDate === void 0 && endDate === void 0) {
754
- setInternalStartDate(dates[0]);
755
- setInternalEndDate(dates[1]);
756
- }
757
- onChange?.(dates);
758
- setHoverDate(null);
759
- if (dates[0] && dates[1]) {
760
- setIsOpen(false);
761
- setShowMonthSelector(false);
762
- setShowYearSelector(false);
763
- }
764
- };
765
- const handleClear = (e) => {
766
- e.stopPropagation();
767
- if (startDate === void 0 && endDate === void 0) {
768
- setInternalStartDate(null);
769
- setInternalEndDate(null);
770
- }
771
- onChange?.([null, null]);
772
- };
773
- const handleMonthSelect = (month) => {
774
- const newDate = new Date(viewDate);
775
- newDate.setMonth(month);
776
- setViewDate(newDate);
777
- setShowMonthSelector(false);
778
- };
779
- const handleYearSelect = (year) => {
780
- const newDate = new Date(viewDate);
781
- newDate.setFullYear(year);
782
- setViewDate(newDate);
783
- setShowYearSelector(false);
784
- setShowMonthSelector(true);
785
- };
786
- const handleYearChange = (year) => {
787
- const newDate = new Date(viewDate);
788
- newDate.setFullYear(year);
789
- setViewDate(newDate);
790
- };
791
- const handleDecadeChange = (year) => {
792
- const newDate = new Date(viewDate);
793
- newDate.setFullYear(year);
794
- setViewDate(newDate);
795
- };
796
- const showClear = clearable && (currentStartDate || currentEndDate) && !disabled;
797
- const formatDate = React.useCallback(
798
- (date) => {
799
- const d = new Date(date);
800
- const year = d.getFullYear();
801
- const month = String(d.getMonth() + 1).padStart(2, "0");
802
- const day = String(d.getDate()).padStart(2, "0");
803
- return dateFormat.replace("yyyy", String(year)).replace("MM", month).replace("dd", day);
804
- },
805
- [dateFormat]
806
- );
807
- const getDisplayValue = () => {
808
- if (hoverDate && currentStartDate && !currentEndDate) {
809
- const start2 = formatDate(currentStartDate);
810
- const hover = formatDate(hoverDate);
811
- return { confirmed: `${start2} - `, preview: hover };
812
- }
813
- if (hoverDate && !currentStartDate && !currentEndDate) {
814
- const hover = formatDate(hoverDate);
815
- return { confirmed: "", preview: hover };
816
- }
817
- if (!currentStartDate && !currentEndDate) {
818
- return { confirmed: "", preview: "" };
819
- }
820
- const start = currentStartDate ? formatDate(currentStartDate) : "";
821
- const end = currentEndDate ? formatDate(currentEndDate) : "";
822
- if (start && end) {
823
- return { confirmed: `${start} - ${end}`, preview: "" };
824
- }
825
- if (start) {
826
- return { confirmed: `${start}`, preview: " - ..." };
827
- }
828
- return { confirmed: "", preview: "" };
829
- };
830
- const { confirmed: rangeConfirmed, preview: rangePreview } = getDisplayValue();
831
- const customHeader = (props) => /* @__PURE__ */ jsx(
832
- CustomCalendarHeader,
833
- {
834
- ...props,
835
- showMonthSelector,
836
- onMonthClick: () => setShowMonthSelector(!showMonthSelector),
837
- onYearClick: () => setShowYearSelector(true),
838
- headerClassName: classNames?.header,
839
- navigationClassName: classNames?.navigation
840
- }
841
- );
842
- const rangeTriggerButton = /* @__PURE__ */ jsx(
843
- "button",
844
- {
845
- type: "button",
846
- disabled,
847
- onClick: () => setIsOpen(!isOpen),
848
- "aria-expanded": isOpen,
849
- "aria-haspopup": "dialog",
850
- className: cn(
851
- "datePicker_trigger",
852
- pickerInputVariants({ variant, status, size, fullWidth }),
853
- colorVars[color],
854
- "focus-visible:ring-slot",
855
- "pl-10 flex items-center justify-start cursor-pointer",
856
- showClear && "pr-10",
857
- className,
858
- classNames?.trigger
859
- ),
860
- "data-slot": "trigger",
861
- children: rangeConfirmed || rangePreview ? /* @__PURE__ */ jsxs(Fragment, { children: [
862
- rangeConfirmed && /* @__PURE__ */ jsx("span", { children: rangeConfirmed }),
863
- rangePreview && /* @__PURE__ */ jsx("span", { className: "text-text-secondary", children: rangePreview })
864
- ] }) : /* @__PURE__ */ jsx("span", { className: "text-text-secondary", children: placeholder })
865
- }
866
- );
867
- return /* @__PURE__ */ jsx(
868
- PickerWrapper,
869
- {
870
- label,
871
- error,
872
- warning,
873
- info,
874
- success,
875
- helperText,
876
- messagePosition,
877
- required,
878
- fullWidth,
879
- classNames,
880
- children: /* @__PURE__ */ jsxs("div", { ref, className: cn("datePicker_root", "relative w-full", classNames?.root), "data-slot": "root", children: [
881
- /* @__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] }) }),
882
- /* @__PURE__ */ jsxs(
883
- Popover,
884
- {
885
- open: isOpen,
886
- onOpenChange: (open) => {
887
- setIsOpen(open);
888
- if (!open) {
889
- setShowMonthSelector(false);
890
- setShowYearSelector(false);
891
- setHoverDate(null);
892
- }
893
- },
894
- children: [
895
- /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: rangeTriggerButton }),
896
- /* @__PURE__ */ jsx(
897
- PopoverContent,
898
- {
899
- className: "p-0 w-auto",
900
- align: "start",
901
- sideOffset: 4,
902
- onOpenAutoFocus: (e) => e.preventDefault(),
903
- children: /* @__PURE__ */ jsx(Fragment, { children: showYearSelector ? /* @__PURE__ */ jsx(
904
- YearSelector,
905
- {
906
- date: viewDate,
907
- onYearSelect: handleYearSelect,
908
- onDecadeChange: handleDecadeChange,
909
- color
910
- }
911
- ) : showMonthSelector ? /* @__PURE__ */ jsx(
912
- MonthSelector,
913
- {
914
- date: viewDate,
915
- onMonthSelect: handleMonthSelect,
916
- onYearClick: () => setShowYearSelector(true),
917
- onYearChange: handleYearChange,
918
- color
919
- }
920
- ) : /* @__PURE__ */ jsx("div", { className: cn("datePicker_calendar", getDatePickerStyles(color, classNames), classNames?.calendar), "data-slot": "calendar", children: /* @__PURE__ */ jsx(
921
- ReactDatePicker,
922
- {
923
- selectsRange: true,
924
- startDate: currentStartDate,
925
- endDate: currentEndDate,
926
- onChange: handleChange,
927
- disabled,
928
- minDate,
929
- maxDate,
930
- dateFormat,
931
- renderCustomHeader: customHeader,
932
- openToDate: viewDate,
933
- onMonthChange: setViewDate,
934
- monthsShown: 2,
935
- onDayMouseEnter: setHoverDate,
936
- inline: true
937
- }
938
- ) }) })
939
- }
940
- )
941
- ]
942
- }
943
- ),
944
- showClear && /* @__PURE__ */ jsx(
945
- "button",
946
- {
947
- type: "button",
948
- onClick: handleClear,
949
- className: cn("absolute right-3 flex items-center h-full top-0 text-text-secondary hover:text-text-primary z-10", classNames?.clear),
950
- "aria-label": "Clear date range",
951
- "data-slot": "clear",
952
- children: /* @__PURE__ */ jsx(X, { className: iconSizes[size] })
953
- }
954
- )
955
- ] })
956
- }
957
- );
958
- }
959
- );
960
- RangePickerComponent.displayName = "RangePicker";
961
- var TimeColumn = React.memo(({ items, selected, onSelect, onHover, onLeave }) => /* @__PURE__ */ jsx(
962
- "div",
963
- {
964
- className: "flex flex-col h-[240px] overflow-y-auto scrollbar-thin scrollbar-thumb-border scrollbar-track-background",
965
- onMouseLeave: onLeave,
966
- children: items.map((item) => /* @__PURE__ */ jsx(
967
- "button",
968
- {
969
- type: "button",
970
- onClick: () => onSelect(item),
971
- onMouseEnter: () => onHover?.(item),
972
- className: cn(
973
- "px-4 py-2 text-sm font-medium transition-colors text-center min-h-[40px] flex items-center justify-center",
974
- item === selected ? "bg-surface text-text-primary font-semibold" : "text-text-secondary hover:bg-surface/50"
975
- ),
976
- children: typeof item === "number" ? String(item).padStart(2, "0") : item
977
- },
978
- item
979
- ))
980
- }
981
- ));
982
- TimeColumn.displayName = "TimeColumn";
983
- var TimeColumnPicker = ({
984
- value,
985
- onChange,
986
- onPreview,
987
- timeFormat = "h:mm aa",
988
- color = "primary"
989
- }) => {
990
- const is12Hour = timeFormat.includes("aa");
991
- const currentDate = value || /* @__PURE__ */ new Date();
992
- const currentHour = currentDate.getHours();
993
- const currentMinute = currentDate.getMinutes();
994
- const [selectedHour, setSelectedHour] = React.useState(
995
- is12Hour ? currentHour % 12 || 12 : currentHour
996
- );
997
- const [selectedMinute, setSelectedMinute] = React.useState(currentMinute);
998
- const [selectedPeriod, setSelectedPeriod] = React.useState(
999
- currentHour >= 12 ? "PM" : "AM"
1000
- );
1001
- const [hoverHour, setHoverHour] = React.useState(null);
1002
- const [hoverMinute, setHoverMinute] = React.useState(null);
1003
- const [hoverPeriod, setHoverPeriod] = React.useState(null);
1004
- const hours = is12Hour ? Array.from({ length: 12 }, (_, i) => i + 1) : Array.from({ length: 24 }, (_, i) => i);
1005
- const minutes = Array.from({ length: 60 }, (_, i) => i);
1006
- const periods = ["AM", "PM"];
1007
- React.useEffect(() => {
1008
- if (hoverHour !== null || hoverMinute !== null || hoverPeriod !== null) {
1009
- const previewHour = hoverHour ?? selectedHour;
1010
- const previewMinute = hoverMinute ?? selectedMinute;
1011
- const previewPeriod = hoverPeriod ?? selectedPeriod;
1012
- const formattedHour = String(previewHour).padStart(2, "0");
1013
- const formattedMinute = String(previewMinute).padStart(2, "0");
1014
- const previewString = is12Hour ? `${previewHour}:${formattedMinute} ${previewPeriod}` : `${formattedHour}:${formattedMinute}`;
1015
- onPreview?.(previewString);
1016
- } else {
1017
- onPreview?.("");
1018
- }
1019
- }, [
1020
- hoverHour,
1021
- hoverMinute,
1022
- hoverPeriod,
1023
- selectedHour,
1024
- selectedMinute,
1025
- selectedPeriod,
1026
- is12Hour,
1027
- onPreview
1028
- ]);
1029
- const handleOkClick = () => {
1030
- const newDate = new Date(currentDate);
1031
- let finalHour = selectedHour;
1032
- if (is12Hour) {
1033
- if (selectedPeriod === "PM" && selectedHour !== 12) {
1034
- finalHour = selectedHour + 12;
1035
- } else if (selectedPeriod === "AM" && selectedHour === 12) {
1036
- finalHour = 0;
1037
- }
1038
- }
1039
- newDate.setHours(finalHour);
1040
- newDate.setMinutes(selectedMinute);
1041
- newDate.setSeconds(0);
1042
- onPreview?.("");
1043
- onChange(newDate);
1044
- };
1045
- const handleNowClick = () => {
1046
- const now = /* @__PURE__ */ new Date();
1047
- const nowHour = now.getHours();
1048
- const nowMinute = now.getMinutes();
1049
- setSelectedHour(is12Hour ? nowHour % 12 || 12 : nowHour);
1050
- setSelectedMinute(nowMinute);
1051
- setSelectedPeriod(nowHour >= 12 ? "PM" : "AM");
1052
- onPreview?.("");
1053
- onChange(now);
1054
- };
1055
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-col bg-background", children: [
1056
- /* @__PURE__ */ jsxs("div", { className: "flex gap-0", children: [
1057
- /* @__PURE__ */ jsx(
1058
- TimeColumn,
1059
- {
1060
- items: hours,
1061
- selected: selectedHour,
1062
- onSelect: (item) => setSelectedHour(item),
1063
- onHover: (item) => setHoverHour(item),
1064
- onLeave: () => setHoverHour(null)
1065
- }
1066
- ),
1067
- /* @__PURE__ */ jsx(
1068
- TimeColumn,
1069
- {
1070
- items: minutes,
1071
- selected: selectedMinute,
1072
- onSelect: (item) => setSelectedMinute(item),
1073
- onHover: (item) => setHoverMinute(item),
1074
- onLeave: () => setHoverMinute(null)
1075
- }
1076
- ),
1077
- is12Hour && /* @__PURE__ */ jsx(
1078
- TimeColumn,
1079
- {
1080
- items: periods,
1081
- selected: selectedPeriod,
1082
- onSelect: (item) => setSelectedPeriod(item),
1083
- onHover: (item) => setHoverPeriod(item),
1084
- onLeave: () => setHoverPeriod(null)
1085
- }
1086
- )
1087
- ] }),
1088
- /* @__PURE__ */ jsxs("div", { className: "p-3 border-t border-border flex gap-2", children: [
1089
- /* @__PURE__ */ jsx(
1090
- "button",
1091
- {
1092
- type: "button",
1093
- onClick: handleNowClick,
1094
- 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",
1095
- children: "Now"
1096
- }
1097
- ),
1098
- /* @__PURE__ */ jsx(
1099
- "button",
1100
- {
1101
- type: "button",
1102
- onClick: handleOkClick,
1103
- className: cn("flex-1 px-4 py-2 rounded-md hover:opacity-90 transition-colors font-medium text-sm", pickerSelectedColorClasses[color]),
1104
- children: "OK"
1105
- }
1106
- )
1107
- ] })
1108
- ] });
1109
- };
1110
- var TimePickerComponent = React.memo(
1111
- ({
1112
- variant = "outline",
1113
- size = "md",
1114
- color = "primary",
1115
- label,
1116
- error,
1117
- warning,
1118
- info,
1119
- success,
1120
- helperText,
1121
- messagePosition = "bottom",
1122
- placeholder = "Select time...",
1123
- disabled = false,
1124
- required = false,
1125
- clearable = false,
1126
- fullWidth = true,
1127
- className,
1128
- classNames,
1129
- ref,
1130
- value,
1131
- defaultValue,
1132
- onChange,
1133
- timeFormat = "h:mm aa"
1134
- }) => {
1135
- const [internalValue, setInternalValue] = React.useState(
1136
- defaultValue || null
1137
- );
1138
- const currentValue = value !== void 0 ? value : internalValue;
1139
- const [isOpen, setIsOpen] = React.useState(false);
1140
- const [previewTime, setPreviewTime] = React.useState("");
1141
- const { status } = getValidationStatus({ error, warning, info, success, helperText });
1142
- const handleTimeChange = (date) => {
1143
- if (value === void 0) {
1144
- setInternalValue(date);
1145
- }
1146
- onChange?.(date);
1147
- setPreviewTime("");
1148
- setIsOpen(false);
1149
- };
1150
- const handleClear = (e) => {
1151
- e.stopPropagation();
1152
- if (value === void 0) {
1153
- setInternalValue(null);
1154
- }
1155
- onChange?.(null);
1156
- };
1157
- const showClear = clearable && currentValue && !disabled;
1158
- const formatTime = (date) => {
1159
- return new Date(date).toLocaleTimeString("en-US", {
1160
- hour: "numeric",
1161
- minute: "2-digit",
1162
- hour12: timeFormat.includes("aa")
1163
- });
1164
- };
1165
- const getDisplayValue = () => {
1166
- if (previewTime) {
1167
- return { confirmed: "", preview: previewTime };
1168
- }
1169
- if (currentValue) {
1170
- return { confirmed: formatTime(currentValue), preview: "" };
1171
- }
1172
- return { confirmed: "", preview: "" };
1173
- };
1174
- const { confirmed: timeConfirmed, preview: timePreview } = getDisplayValue();
1175
- const timeTriggerButton = /* @__PURE__ */ jsx(
1176
- "button",
1177
- {
1178
- type: "button",
1179
- disabled,
1180
- onClick: () => setIsOpen(!isOpen),
1181
- "aria-expanded": isOpen,
1182
- "aria-haspopup": "dialog",
1183
- className: cn(
1184
- "datePicker_trigger",
1185
- pickerInputVariants({ variant, status, size, fullWidth }),
1186
- colorVars[color],
1187
- "focus-visible:ring-slot",
1188
- "pl-10 flex items-center justify-start cursor-pointer",
1189
- showClear && "pr-10",
1190
- className,
1191
- classNames?.trigger
1192
- ),
1193
- "data-slot": "trigger",
1194
- children: timeConfirmed || timePreview ? /* @__PURE__ */ jsxs(Fragment, { children: [
1195
- timeConfirmed && /* @__PURE__ */ jsx("span", { children: timeConfirmed }),
1196
- timePreview && /* @__PURE__ */ jsx("span", { className: "text-text-secondary", children: timePreview })
1197
- ] }) : /* @__PURE__ */ jsx("span", { className: "text-text-secondary", children: placeholder })
1198
- }
1199
- );
1200
- return /* @__PURE__ */ jsx(
1201
- PickerWrapper,
1202
- {
1203
- label,
1204
- error,
1205
- warning,
1206
- info,
1207
- success,
1208
- helperText,
1209
- messagePosition,
1210
- required,
1211
- fullWidth,
1212
- classNames,
1213
- children: /* @__PURE__ */ jsxs("div", { ref, className: cn("datePicker_root", "relative w-full", classNames?.root), "data-slot": "root", children: [
1214
- /* @__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] }) }),
1215
- /* @__PURE__ */ jsxs(
1216
- Popover,
1217
- {
1218
- open: isOpen,
1219
- onOpenChange: (open) => {
1220
- setIsOpen(open);
1221
- if (!open) {
1222
- setPreviewTime("");
1223
- }
1224
- },
1225
- children: [
1226
- /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: timeTriggerButton }),
1227
- /* @__PURE__ */ jsx(
1228
- PopoverContent,
1229
- {
1230
- className: "p-0 w-auto",
1231
- align: "start",
1232
- sideOffset: 4,
1233
- onOpenAutoFocus: (e) => e.preventDefault(),
1234
- children: /* @__PURE__ */ jsx(
1235
- TimeColumnPicker,
1236
- {
1237
- value: currentValue,
1238
- onChange: handleTimeChange,
1239
- onPreview: setPreviewTime,
1240
- timeFormat,
1241
- color
1242
- }
1243
- )
1244
- }
1245
- )
1246
- ]
1247
- }
1248
- ),
1249
- showClear && /* @__PURE__ */ jsx(
1250
- "button",
1251
- {
1252
- type: "button",
1253
- onClick: handleClear,
1254
- className: cn("absolute right-3 flex items-center h-full top-0 text-text-secondary hover:text-text-primary z-10", classNames?.clear),
1255
- "aria-label": "Clear time",
1256
- "data-slot": "clear",
1257
- children: /* @__PURE__ */ jsx(X, { className: iconSizes[size] })
1258
- }
1259
- )
1260
- ] })
1261
- }
1262
- );
1263
- }
1264
- );
1265
- TimePickerComponent.displayName = "TimePicker";
1266
- var DatePicker = Object.assign(DatePickerComponent, {
1267
- RangePicker: RangePickerComponent,
1268
- TimePicker: TimePickerComponent
1269
- });
1270
-
1271
- export { DatePicker, RangePickerComponent, TimePickerComponent };
1272
- //# sourceMappingURL=chunk-EC5DXYME.js.map
1273
- //# sourceMappingURL=chunk-EC5DXYME.js.map