@expcat/tigercat-react 1.3.4 → 1.5.0

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 (432) hide show
  1. package/dist/{chunk-WV5XHYW6.js → chunk-23XPDNCA.js} +6 -4
  2. package/dist/{chunk-CY5GRTAX.js → chunk-24NDLFPK.js} +46 -33
  3. package/dist/{chunk-3SV6J7I5.mjs → chunk-2L7QEOFD.mjs} +34 -25
  4. package/dist/{chunk-NMKFR435.js → chunk-2LKX6CE7.js} +7 -4
  5. package/dist/{chunk-MB6U72CI.js → chunk-2PV3F47T.js} +2 -2
  6. package/dist/{chunk-ANN5P7TJ.js → chunk-2ZA4MUO2.js} +72 -29
  7. package/dist/{chunk-H4AR4GXH.js → chunk-3NVMKDMH.js} +1 -8
  8. package/dist/{chunk-NPTXXUXF.mjs → chunk-3RBRWBUG.mjs} +9 -7
  9. package/dist/{chunk-SIY6FDKJ.js → chunk-3RQ3FHJ7.js} +341 -316
  10. package/dist/{chunk-ELRZ2ZHM.mjs → chunk-4DRJA5ZK.mjs} +15 -17
  11. package/dist/{chunk-J3N24I7A.mjs → chunk-4F3UTDFE.mjs} +24 -6
  12. package/dist/{chunk-3CJFNG54.mjs → chunk-4HMMH4XS.mjs} +24 -11
  13. package/dist/{chunk-IG75YSX3.mjs → chunk-4MONGWU5.mjs} +4 -6
  14. package/dist/{chunk-CHBUNQIJ.mjs → chunk-4MREOFVE.mjs} +26 -9
  15. package/dist/{chunk-EEF26RBA.mjs → chunk-4SU6D2E7.mjs} +15 -3
  16. package/dist/{chunk-ZZAR4IDS.js → chunk-4TPRBVW7.js} +19 -2
  17. package/dist/{chunk-NSEO2B74.mjs → chunk-4V5RL25M.mjs} +8 -5
  18. package/dist/{chunk-TMON4MPO.js → chunk-5ALMTE35.js} +9 -7
  19. package/dist/{chunk-AUW7DCXL.js → chunk-5JYVN65W.js} +24 -6
  20. package/dist/{chunk-3MRP3XYI.js → chunk-5QLSTNA3.js} +13 -2
  21. package/dist/chunk-5SX2M3LU.mjs +319 -0
  22. package/dist/{chunk-FI53LYZ6.js → chunk-5UREMEDS.js} +24 -8
  23. package/dist/{chunk-MSHCPJIJ.mjs → chunk-6BOSSZM3.mjs} +8 -9
  24. package/dist/chunk-6LGCAGNG.js +312 -0
  25. package/dist/{chunk-A42OLED6.mjs → chunk-6REMGSLS.mjs} +35 -13
  26. package/dist/{chunk-PNAWOJ32.js → chunk-6S5QOTXZ.js} +14 -2
  27. package/dist/{chunk-PUZDW7NR.js → chunk-6SG2N4WF.js} +135 -21
  28. package/dist/{chunk-5XE5VBDS.mjs → chunk-6UIVNRAR.mjs} +15 -2
  29. package/dist/{chunk-F6IXIH6B.mjs → chunk-7RI5W465.mjs} +43 -30
  30. package/dist/{chunk-DCKBVRLI.js → chunk-7UZ7O7KX.js} +63 -16
  31. package/dist/{chunk-ONTRGV5T.js → chunk-7YI5TAPT.js} +8 -19
  32. package/dist/chunk-AI4V7L6K.mjs +230 -0
  33. package/dist/chunk-AQOXANET.mjs +222 -0
  34. package/dist/{chunk-YOAYDEWW.mjs → chunk-ATSI3UKS.mjs} +5 -21
  35. package/dist/{chunk-ZRHDNGWO.js → chunk-BR3WLDH7.js} +16 -2
  36. package/dist/{chunk-2Y5NIPHB.mjs → chunk-BRPOEVRT.mjs} +32 -3
  37. package/dist/{chunk-LRPPXU74.mjs → chunk-CR4QBH46.mjs} +47 -8
  38. package/dist/{chunk-7U6VWD4H.mjs → chunk-CSJGNEHR.mjs} +2 -2
  39. package/dist/{chunk-OZD75CLT.js → chunk-CXXOZLP4.js} +34 -24
  40. package/dist/{chunk-7QZ4XT2P.mjs → chunk-D4X3NBAI.mjs} +11 -11
  41. package/dist/{chunk-RQXY2MGX.mjs → chunk-D7UR526A.mjs} +231 -184
  42. package/dist/{chunk-CBYJXDW4.js → chunk-DBMC6FPU.js} +16 -4
  43. package/dist/{chunk-WQ4FOHOU.mjs → chunk-DEIVWO2D.mjs} +3 -5
  44. package/dist/{chunk-WNLUUD5N.mjs → chunk-DEQZZKY5.mjs} +20 -19
  45. package/dist/{chunk-ITRYKHQJ.js → chunk-DH4B2COV.js} +121 -47
  46. package/dist/{chunk-BONUUJU3.mjs → chunk-DJOFM2VO.mjs} +1 -8
  47. package/dist/chunk-DO3MVZZN.mjs +698 -0
  48. package/dist/{chunk-6GIJ7NFV.mjs → chunk-E355NVP7.mjs} +38 -19
  49. package/dist/{chunk-KQ5I7PRM.js → chunk-ENJMHEQU.js} +48 -9
  50. package/dist/{chunk-UHFHOTNI.js → chunk-FBIBHTBG.js} +8 -9
  51. package/dist/{chunk-P36GX65N.js → chunk-FCCHM2B4.js} +40 -4
  52. package/dist/{chunk-4LIDROT4.js → chunk-FFDK6PEP.js} +7 -4
  53. package/dist/{chunk-KYP7U6FK.js → chunk-FZHBVHQ6.js} +34 -25
  54. package/dist/{chunk-R2KUNFDN.mjs → chunk-GA4YOE57.mjs} +2 -2
  55. package/dist/{chunk-3E76U2RG.js → chunk-GADCSCH2.js} +33 -5
  56. package/dist/{chunk-JOB47R6Q.mjs → chunk-GCOA4AO6.mjs} +72 -29
  57. package/dist/{chunk-GN3TSQWW.mjs → chunk-GOUSXJEY.mjs} +2 -2
  58. package/dist/{chunk-WVVXZKNI.js → chunk-GPAY5F7D.js} +14 -14
  59. package/dist/{chunk-KGSDDVRC.mjs → chunk-GQPKHMHA.mjs} +4 -4
  60. package/dist/{chunk-NKSYX4R7.mjs → chunk-GTDLZF7K.mjs} +2 -2
  61. package/dist/{chunk-2GQCFTD7.mjs → chunk-H4MPPCTB.mjs} +23 -4
  62. package/dist/{chunk-3ZNZLGQO.mjs → chunk-H7D7UBDC.mjs} +8 -9
  63. package/dist/{chunk-BBLVRLXT.js → chunk-HFGTJEQW.js} +301 -164
  64. package/dist/{chunk-GQFVVAEF.js → chunk-HVAG26CK.js} +5 -5
  65. package/dist/{chunk-L5AMVEQL.mjs → chunk-HWZSMV2M.mjs} +61 -19
  66. package/dist/{chunk-TC6JLEGZ.js → chunk-I5UB4FN3.js} +27 -10
  67. package/dist/{chunk-4U5HSR2H.js → chunk-I6VHGILW.js} +24 -13
  68. package/dist/{chunk-EOU6WZTS.js → chunk-I7OSNH5T.js} +34 -5
  69. package/dist/{chunk-M73NMNZX.js → chunk-IFB3OECJ.js} +18 -5
  70. package/dist/{chunk-Y5RQN5BO.mjs → chunk-IXAPFTTD.mjs} +7 -6
  71. package/dist/{chunk-EHIXCFD7.js → chunk-JHRFG5PG.js} +57 -12
  72. package/dist/{chunk-3EB42WFR.mjs → chunk-KCPGFO5R.mjs} +2 -2
  73. package/dist/{chunk-G3PBQ4B4.mjs → chunk-KQ4ZKXXN.mjs} +52 -2
  74. package/dist/{chunk-I373B74W.js → chunk-KSXGH3FO.js} +105 -44
  75. package/dist/{chunk-X7JAYXPY.js → chunk-KVWSVDAJ.js} +4 -4
  76. package/dist/chunk-L3WPA2RP.js +25 -0
  77. package/dist/{chunk-NVEIVIAW.mjs → chunk-LACDTZTE.mjs} +134 -20
  78. package/dist/{chunk-WI4N5DD3.mjs → chunk-LAKPYMBZ.mjs} +17 -4
  79. package/dist/{chunk-6GU5NH5F.mjs → chunk-LBXNMCXN.mjs} +33 -5
  80. package/dist/{chunk-4LX5UGPQ.js → chunk-LJRCEB7F.js} +168 -121
  81. package/dist/{chunk-BJQIYELW.mjs → chunk-LOM6NNQK.mjs} +34 -21
  82. package/dist/{chunk-KXNWY2Q7.mjs → chunk-LUABLBKS.mjs} +308 -171
  83. package/dist/{chunk-F7H4ALKN.js → chunk-LZG24TDB.js} +8 -9
  84. package/dist/{chunk-K2TXT5HQ.js → chunk-M577W3TS.js} +101 -85
  85. package/dist/{chunk-UXUYCWQC.js → chunk-MOYZF62V.js} +34 -21
  86. package/dist/{chunk-6TR7JB6C.js → chunk-MQIVMK24.js} +4 -4
  87. package/dist/{chunk-DKT2EYVM.mjs → chunk-MV2JQ6XQ.mjs} +3 -6
  88. package/dist/{chunk-WMPCN7OF.mjs → chunk-MZCGQED3.mjs} +15 -3
  89. package/dist/{chunk-IGAMV6ML.mjs → chunk-MZPKFMQC.mjs} +1 -1
  90. package/dist/{chunk-AG4HRAW2.mjs → chunk-NEHSCSQP.mjs} +2 -2
  91. package/dist/chunk-NG3OBMKV.js +319 -0
  92. package/dist/{chunk-RFHPG4KN.js → chunk-NGSJGXUZ.js} +15 -17
  93. package/dist/{chunk-WIWTY74F.mjs → chunk-NJHZQBA7.mjs} +16 -2
  94. package/dist/{chunk-EQD2U4KM.js → chunk-O2N7ITWQ.js} +63 -16
  95. package/dist/{chunk-NASC6XHN.mjs → chunk-O6YIPNXX.mjs} +24 -15
  96. package/dist/{chunk-VHGCWZ6V.mjs → chunk-OTRPN5ZG.mjs} +58 -13
  97. package/dist/{chunk-QIKR5EFI.js → chunk-OVJO5NYW.js} +4 -4
  98. package/dist/{chunk-6GYT3EZD.mjs → chunk-P2WQIVXD.mjs} +25 -14
  99. package/dist/{chunk-NMEVQPOD.js → chunk-PHAJXRGE.js} +2 -4
  100. package/dist/{chunk-WG3YS2QV.js → chunk-PQF5VLNX.js} +35 -13
  101. package/dist/chunk-PQOUWJAT.mjs +211 -0
  102. package/dist/{chunk-AW5M3EL4.js → chunk-PSCPLUGP.js} +63 -21
  103. package/dist/{chunk-ITVLIR7T.mjs → chunk-PZB24FST.mjs} +23 -25
  104. package/dist/{chunk-BO45CU4Q.js → chunk-PZWI4YNN.js} +6 -4
  105. package/dist/{chunk-PFYK2V3E.js → chunk-Q2OXQNWU.js} +73 -9
  106. package/dist/{chunk-VM4ZQHT5.mjs → chunk-QANWBRNU.mjs} +59 -12
  107. package/dist/{chunk-XBM76P27.mjs → chunk-QFUIGOOM.mjs} +4 -2
  108. package/dist/{chunk-5OHVTGHS.mjs → chunk-QKNORS26.mjs} +385 -319
  109. package/dist/{chunk-ZFMMAYSX.js → chunk-QLATA4UB.js} +4 -6
  110. package/dist/{chunk-LROHXQWX.js → chunk-R4PMBWU3.js} +2 -2
  111. package/dist/chunk-R56UOY6C.js +222 -0
  112. package/dist/chunk-RNHC7BON.js +230 -0
  113. package/dist/{chunk-RF2BA2N6.js → chunk-RRO752KE.js} +11 -10
  114. package/dist/{chunk-2TZ3SBMU.mjs → chunk-S4NGDDAM.mjs} +120 -46
  115. package/dist/{chunk-EF5ZTNHX.js → chunk-SA3N2LUB.js} +37 -20
  116. package/dist/{chunk-M7HBWFQO.js → chunk-SFBSI3J7.js} +14 -1
  117. package/dist/{chunk-G5USITWF.js → chunk-SH4BZYXO.js} +27 -8
  118. package/dist/{chunk-RVO6R37N.mjs → chunk-SHDQJ5BJ.mjs} +1 -1
  119. package/dist/{chunk-N2JYU4JI.js → chunk-SHU7L4NM.js} +52 -2
  120. package/dist/{chunk-I2AUOICV.mjs → chunk-SI3P3V75.mjs} +19 -9
  121. package/dist/{chunk-UVMQJOTX.js → chunk-SK7PXSVE.js} +23 -14
  122. package/dist/{chunk-U356F7GU.js → chunk-SO2ADQTB.js} +52 -11
  123. package/dist/{chunk-NKKIJQMV.mjs → chunk-SPIPFOGD.mjs} +4 -2
  124. package/dist/{chunk-JLRRXRZO.js → chunk-SQONS5PH.js} +4 -7
  125. package/dist/{chunk-NQNHM4OL.mjs → chunk-SRC7JHME.mjs} +1 -1
  126. package/dist/{chunk-EEWHWEYO.js → chunk-SXTMVZ4W.js} +25 -12
  127. package/dist/{chunk-LMTUM3J3.js → chunk-SYJJKI7U.js} +37 -18
  128. package/dist/{chunk-3QPCQH62.mjs → chunk-SYVMCKPR.mjs} +1 -1
  129. package/dist/{chunk-SY23FAXK.mjs → chunk-T6HNFCOW.mjs} +24 -8
  130. package/dist/{chunk-ZITBUGBH.mjs → chunk-TBMDIAZI.mjs} +59 -12
  131. package/dist/{chunk-TSJYAEFZ.js → chunk-TIDVBSXR.js} +371 -305
  132. package/dist/{chunk-ZJI2VLIL.js → chunk-TLDTBCT6.js} +15 -3
  133. package/dist/{chunk-XFPJYKBQ.js → chunk-TN7GMDME.js} +13 -9
  134. package/dist/{chunk-ZYJTHGQW.js → chunk-TO4SSBAJ.js} +26 -25
  135. package/dist/{chunk-N4PP3ENO.js → chunk-TPU6S7G7.js} +2 -2
  136. package/dist/{chunk-PU7KEYLP.mjs → chunk-TRXNHYWB.mjs} +9 -9
  137. package/dist/{chunk-H6NC6SBX.js → chunk-TVEO2CFD.js} +2 -2
  138. package/dist/{chunk-6QQBMZQ6.mjs → chunk-U2ZXZ2KQ.mjs} +74 -10
  139. package/dist/{chunk-FB34UWF7.mjs → chunk-U337RHJB.mjs} +103 -42
  140. package/dist/{chunk-XRNKHQTL.js → chunk-UEAXYZSE.js} +3 -2
  141. package/dist/{chunk-7ISEWLA3.js → chunk-UKQMF3JV.js} +21 -6
  142. package/dist/chunk-UQZ4RLTI.js +698 -0
  143. package/dist/{chunk-PXO2F2CS.mjs → chunk-V23KR23W.mjs} +47 -4
  144. package/dist/{chunk-6I6X255M.js → chunk-V3QEV3TL.js} +12 -12
  145. package/dist/{chunk-M5GSLKUX.mjs → chunk-VAIWWELW.mjs} +15 -3
  146. package/dist/{chunk-GG72T6JK.js → chunk-VOSN3IQC.js} +47 -4
  147. package/dist/{chunk-J4OQ2VRH.mjs → chunk-W6T3CG7U.mjs} +45 -4
  148. package/dist/{chunk-OTEM4FVX.mjs → chunk-WGKNAOW7.mjs} +11 -7
  149. package/dist/chunk-WHYHLUXG.mjs +25 -0
  150. package/dist/chunk-WLFLQB4R.mjs +312 -0
  151. package/dist/{chunk-W6AWN7BC.js → chunk-WLORVPTR.js} +4 -4
  152. package/dist/{chunk-J5N5OQWB.mjs → chunk-WOEX4S6J.mjs} +5 -2
  153. package/dist/{chunk-SDZOVRVR.mjs → chunk-WT72F56O.mjs} +351 -326
  154. package/dist/{chunk-7Z64GEMN.js → chunk-WTASPL6V.js} +3 -1
  155. package/dist/{chunk-FNJDBFKM.mjs → chunk-WTIEJCRV.mjs} +12 -1
  156. package/dist/{chunk-V4JIZN3E.mjs → chunk-WYPTAUCX.mjs} +6 -17
  157. package/dist/{chunk-BFAZZUD6.js → chunk-XKMZ5AMS.js} +7 -23
  158. package/dist/{chunk-SKMZTW3K.js → chunk-XMD7CQQ2.js} +24 -26
  159. package/dist/{chunk-7DUHHRAU.mjs → chunk-Y5X3G2LD.mjs} +41 -5
  160. package/dist/{chunk-XATXFVKR.mjs → chunk-Y7K27DVV.mjs} +4 -3
  161. package/dist/{chunk-ZA5EFHET.mjs → chunk-Z6BDNV3S.mjs} +18 -1
  162. package/dist/{chunk-UBP7HZSU.mjs → chunk-ZG2W4HS5.mjs} +6 -4
  163. package/dist/{chunk-UIIOZEUP.js → chunk-ZLCVJXGL.js} +4 -4
  164. package/dist/{chunk-LQT6ZGME.mjs → chunk-ZLP4XEAO.mjs} +36 -19
  165. package/dist/{chunk-QQFLRNI3.mjs → chunk-ZRZB3C5J.mjs} +18 -3
  166. package/dist/{chunk-YID7J6ZK.js → chunk-ZXVLZKLT.js} +1 -1
  167. package/dist/components/ActivityFeed.js +6 -5
  168. package/dist/components/ActivityFeed.mjs +5 -4
  169. package/dist/components/AreaChart.js +4 -4
  170. package/dist/components/AreaChart.mjs +3 -3
  171. package/dist/components/AutoComplete.js +3 -2
  172. package/dist/components/AutoComplete.mjs +2 -1
  173. package/dist/components/BackTop.js +2 -2
  174. package/dist/components/BackTop.mjs +1 -1
  175. package/dist/components/Badge.js +3 -2
  176. package/dist/components/Badge.mjs +2 -1
  177. package/dist/components/BarChart.js +4 -4
  178. package/dist/components/BarChart.mjs +3 -3
  179. package/dist/components/Breadcrumb.d.mts +1 -1
  180. package/dist/components/Breadcrumb.d.ts +1 -1
  181. package/dist/components/Calendar.d.mts +2 -10
  182. package/dist/components/Calendar.d.ts +2 -10
  183. package/dist/components/Calendar.js +3 -2
  184. package/dist/components/Calendar.mjs +2 -1
  185. package/dist/components/Cascader.d.mts +3 -1
  186. package/dist/components/Cascader.d.ts +3 -1
  187. package/dist/components/Cascader.js +3 -2
  188. package/dist/components/Cascader.mjs +2 -1
  189. package/dist/components/ChartAxis.d.mts +1 -2
  190. package/dist/components/ChartAxis.d.ts +1 -2
  191. package/dist/components/ChartGrid.d.mts +1 -2
  192. package/dist/components/ChartGrid.d.ts +1 -2
  193. package/dist/components/ChartLegend.js +2 -2
  194. package/dist/components/ChartLegend.mjs +1 -1
  195. package/dist/components/ChartSeries.d.mts +1 -2
  196. package/dist/components/ChartSeries.d.ts +1 -2
  197. package/dist/components/ChartTooltip.js +2 -2
  198. package/dist/components/ChartTooltip.mjs +1 -1
  199. package/dist/components/ChatWindow.js +9 -7
  200. package/dist/components/ChatWindow.mjs +8 -6
  201. package/dist/components/Checkbox.js +4 -4
  202. package/dist/components/Checkbox.mjs +3 -3
  203. package/dist/components/CheckboxGroup.js +3 -3
  204. package/dist/components/CheckboxGroup.mjs +2 -2
  205. package/dist/components/CodeEditor.js +2 -2
  206. package/dist/components/CodeEditor.mjs +1 -1
  207. package/dist/components/CommentThread.js +7 -5
  208. package/dist/components/CommentThread.mjs +6 -4
  209. package/dist/components/CropUpload.d.mts +6 -2
  210. package/dist/components/CropUpload.d.ts +6 -2
  211. package/dist/components/CropUpload.js +5 -5
  212. package/dist/components/CropUpload.mjs +4 -4
  213. package/dist/components/DataTableWithToolbar.d.mts +2 -3
  214. package/dist/components/DataTableWithToolbar.d.ts +2 -3
  215. package/dist/components/DataTableWithToolbar.js +13 -12
  216. package/dist/components/DataTableWithToolbar.mjs +12 -11
  217. package/dist/components/DatePicker.d.mts +1 -0
  218. package/dist/components/DatePicker.d.ts +1 -0
  219. package/dist/components/DatePicker.js +4 -2
  220. package/dist/components/DatePicker.mjs +3 -1
  221. package/dist/components/DonutChart.js +5 -5
  222. package/dist/components/DonutChart.mjs +4 -4
  223. package/dist/components/Drawer.js +3 -3
  224. package/dist/components/Drawer.mjs +2 -2
  225. package/dist/components/Empty.js +3 -2
  226. package/dist/components/Empty.mjs +2 -1
  227. package/dist/components/FileManager.d.mts +3 -22
  228. package/dist/components/FileManager.d.ts +3 -22
  229. package/dist/components/FileManager.js +3 -2
  230. package/dist/components/FileManager.mjs +2 -1
  231. package/dist/components/FloatButton.js +2 -2
  232. package/dist/components/FloatButton.mjs +1 -1
  233. package/dist/components/Form.js +3 -2
  234. package/dist/components/Form.mjs +2 -1
  235. package/dist/components/FormItem.js +4 -3
  236. package/dist/components/FormItem.mjs +3 -2
  237. package/dist/components/FormWizard.js +4 -4
  238. package/dist/components/FormWizard.mjs +3 -3
  239. package/dist/components/FunnelChart.js +4 -4
  240. package/dist/components/FunnelChart.mjs +3 -3
  241. package/dist/components/GaugeChart.js +3 -2
  242. package/dist/components/GaugeChart.mjs +2 -1
  243. package/dist/components/HeatmapChart.js +3 -3
  244. package/dist/components/HeatmapChart.mjs +2 -2
  245. package/dist/components/Image.js +5 -4
  246. package/dist/components/Image.mjs +4 -3
  247. package/dist/components/ImageAnnotation.d.mts +1 -1
  248. package/dist/components/ImageAnnotation.d.ts +1 -1
  249. package/dist/components/ImageAnnotation.js +3 -2
  250. package/dist/components/ImageAnnotation.mjs +2 -1
  251. package/dist/components/ImageCropper.js +3 -2
  252. package/dist/components/ImageCropper.mjs +2 -1
  253. package/dist/components/ImageGroup.js +4 -3
  254. package/dist/components/ImageGroup.mjs +3 -2
  255. package/dist/components/ImagePreview.js +3 -2
  256. package/dist/components/ImagePreview.mjs +2 -1
  257. package/dist/components/ImageViewer.d.mts +3 -1
  258. package/dist/components/ImageViewer.d.ts +3 -1
  259. package/dist/components/ImageViewer.js +3 -2
  260. package/dist/components/ImageViewer.mjs +2 -1
  261. package/dist/components/InfiniteScroll.d.mts +2 -0
  262. package/dist/components/InfiniteScroll.d.ts +2 -0
  263. package/dist/components/InfiniteScroll.js +3 -2
  264. package/dist/components/InfiniteScroll.mjs +2 -1
  265. package/dist/components/Input.js +4 -2
  266. package/dist/components/Input.mjs +3 -1
  267. package/dist/components/InputNumber.js +4 -2
  268. package/dist/components/InputNumber.mjs +3 -1
  269. package/dist/components/Kanban.d.mts +5 -1
  270. package/dist/components/Kanban.d.ts +5 -1
  271. package/dist/components/Kanban.js +3 -3
  272. package/dist/components/Kanban.mjs +2 -2
  273. package/dist/components/LineChart.js +4 -4
  274. package/dist/components/LineChart.mjs +3 -3
  275. package/dist/components/List.d.mts +6 -3
  276. package/dist/components/List.d.ts +6 -3
  277. package/dist/components/List.js +4 -3
  278. package/dist/components/List.mjs +3 -2
  279. package/dist/components/Loading.js +3 -2
  280. package/dist/components/Loading.mjs +2 -1
  281. package/dist/components/MarkdownEditor.js +3 -3
  282. package/dist/components/MarkdownEditor.mjs +2 -2
  283. package/dist/components/Mentions.js +2 -2
  284. package/dist/components/Mentions.mjs +1 -1
  285. package/dist/components/Menu.d.mts +8 -80
  286. package/dist/components/Menu.d.ts +8 -80
  287. package/dist/components/Menu.js +2 -2
  288. package/dist/components/Menu.mjs +1 -1
  289. package/dist/components/MenuItem.d.mts +6 -2
  290. package/dist/components/MenuItem.d.ts +6 -2
  291. package/dist/components/MenuItem.js +2 -2
  292. package/dist/components/MenuItem.mjs +1 -1
  293. package/dist/components/MenuItemGroup.d.mts +6 -2
  294. package/dist/components/MenuItemGroup.d.ts +6 -2
  295. package/dist/components/MenuItemGroup.js +2 -2
  296. package/dist/components/MenuItemGroup.mjs +1 -1
  297. package/dist/components/Message.d.mts +2 -1
  298. package/dist/components/Message.d.ts +2 -1
  299. package/dist/components/Message.js +2 -2
  300. package/dist/components/Message.mjs +1 -1
  301. package/dist/components/Modal.js +3 -3
  302. package/dist/components/Modal.mjs +2 -2
  303. package/dist/components/Notification.js +2 -2
  304. package/dist/components/Notification.mjs +1 -1
  305. package/dist/components/NotificationCenter.js +7 -6
  306. package/dist/components/NotificationCenter.mjs +6 -5
  307. package/dist/components/NumberKeyboard.js +3 -2
  308. package/dist/components/NumberKeyboard.mjs +2 -1
  309. package/dist/components/PieChart.js +4 -4
  310. package/dist/components/PieChart.mjs +3 -3
  311. package/dist/components/QRCode.d.mts +2 -1
  312. package/dist/components/QRCode.d.ts +2 -1
  313. package/dist/components/QRCode.js +3 -2
  314. package/dist/components/QRCode.mjs +2 -1
  315. package/dist/components/RadarChart.js +4 -4
  316. package/dist/components/RadarChart.mjs +3 -3
  317. package/dist/components/Radio.js +4 -4
  318. package/dist/components/Radio.mjs +3 -3
  319. package/dist/components/RadioGroup.js +3 -3
  320. package/dist/components/RadioGroup.mjs +2 -2
  321. package/dist/components/Rate.js +2 -2
  322. package/dist/components/Rate.mjs +1 -1
  323. package/dist/components/Resizable.js +2 -2
  324. package/dist/components/Resizable.mjs +1 -1
  325. package/dist/components/Result.js +2 -2
  326. package/dist/components/Result.mjs +1 -1
  327. package/dist/components/RichTextEditor.js +3 -3
  328. package/dist/components/RichTextEditor.mjs +2 -2
  329. package/dist/components/ScatterChart.js +4 -4
  330. package/dist/components/ScatterChart.mjs +3 -3
  331. package/dist/components/Segmented.d.mts +1 -1
  332. package/dist/components/Segmented.d.ts +1 -1
  333. package/dist/components/Segmented.js +2 -2
  334. package/dist/components/Segmented.mjs +1 -1
  335. package/dist/components/Select.d.mts +3 -1
  336. package/dist/components/Select.d.ts +3 -1
  337. package/dist/components/Select.js +3 -2
  338. package/dist/components/Select.mjs +2 -1
  339. package/dist/components/Signature.d.mts +1 -0
  340. package/dist/components/Signature.d.ts +1 -0
  341. package/dist/components/Signature.js +3 -2
  342. package/dist/components/Signature.mjs +2 -1
  343. package/dist/components/Slider.js +2 -2
  344. package/dist/components/Slider.mjs +1 -1
  345. package/dist/components/Splitter.js +2 -2
  346. package/dist/components/Splitter.mjs +1 -1
  347. package/dist/components/Spotlight.js +4 -2
  348. package/dist/components/Spotlight.mjs +3 -1
  349. package/dist/components/Steps.js +2 -2
  350. package/dist/components/Steps.mjs +1 -1
  351. package/dist/components/StepsItem.js +2 -2
  352. package/dist/components/StepsItem.mjs +1 -1
  353. package/dist/components/SubMenu.d.mts +6 -2
  354. package/dist/components/SubMenu.d.ts +6 -2
  355. package/dist/components/SubMenu.js +2 -2
  356. package/dist/components/SubMenu.mjs +1 -1
  357. package/dist/components/SunburstChart.js +4 -4
  358. package/dist/components/SunburstChart.mjs +3 -3
  359. package/dist/components/TabPane.js +2 -2
  360. package/dist/components/TabPane.mjs +1 -1
  361. package/dist/components/Table.d.mts +3 -3
  362. package/dist/components/Table.d.ts +3 -3
  363. package/dist/components/Table.js +9 -9
  364. package/dist/components/Table.mjs +8 -8
  365. package/dist/components/Tabs.d.mts +0 -4
  366. package/dist/components/Tabs.d.ts +0 -4
  367. package/dist/components/Tabs.js +2 -2
  368. package/dist/components/Tabs.mjs +1 -1
  369. package/dist/components/Tag.js +3 -2
  370. package/dist/components/Tag.mjs +2 -1
  371. package/dist/components/TaskBoard.d.mts +3 -1
  372. package/dist/components/TaskBoard.d.ts +3 -1
  373. package/dist/components/TaskBoard.js +2 -2
  374. package/dist/components/TaskBoard.mjs +1 -1
  375. package/dist/components/Textarea.js +4 -3
  376. package/dist/components/Textarea.mjs +3 -2
  377. package/dist/components/TimePicker.d.mts +1 -0
  378. package/dist/components/TimePicker.d.ts +1 -0
  379. package/dist/components/TimePicker.js +4 -2
  380. package/dist/components/TimePicker.mjs +3 -1
  381. package/dist/components/Timeline.d.mts +5 -1
  382. package/dist/components/Timeline.d.ts +5 -1
  383. package/dist/components/Timeline.js +3 -2
  384. package/dist/components/Timeline.mjs +2 -1
  385. package/dist/components/Tour.js +4 -2
  386. package/dist/components/Tour.mjs +3 -1
  387. package/dist/components/Transfer.d.mts +3 -1
  388. package/dist/components/Transfer.d.ts +3 -1
  389. package/dist/components/Transfer.js +3 -2
  390. package/dist/components/Transfer.mjs +2 -1
  391. package/dist/components/Tree.d.mts +3 -1
  392. package/dist/components/Tree.d.ts +3 -1
  393. package/dist/components/Tree.js +4 -3
  394. package/dist/components/Tree.mjs +3 -2
  395. package/dist/components/TreeMapChart.js +4 -4
  396. package/dist/components/TreeMapChart.mjs +3 -3
  397. package/dist/components/TreeSelect.d.mts +3 -1
  398. package/dist/components/TreeSelect.d.ts +3 -1
  399. package/dist/components/TreeSelect.js +3 -2
  400. package/dist/components/TreeSelect.mjs +2 -1
  401. package/dist/components/Upload.js +3 -2
  402. package/dist/components/Upload.mjs +2 -1
  403. package/dist/components/VirtualList.js +2 -2
  404. package/dist/components/VirtualList.mjs +1 -1
  405. package/dist/components/VirtualTable.d.mts +9 -3
  406. package/dist/components/VirtualTable.d.ts +9 -3
  407. package/dist/components/VirtualTable.js +3 -2
  408. package/dist/components/VirtualTable.mjs +2 -1
  409. package/dist/index.d.mts +81 -56
  410. package/dist/index.d.ts +81 -56
  411. package/dist/index.js +92 -92
  412. package/dist/index.mjs +93 -93
  413. package/dist/{types-CHmCMNEM.d.ts → types-0oVwMXtR.d.mts} +1 -1
  414. package/dist/{types-CHmCMNEM.d.mts → types-0oVwMXtR.d.ts} +1 -1
  415. package/dist/types-CcgZY0mv.d.mts +80 -0
  416. package/dist/types-CcgZY0mv.d.ts +80 -0
  417. package/package.json +6 -6
  418. package/dist/chunk-4GITZKAH.mjs +0 -153
  419. package/dist/chunk-4SO4LANY.js +0 -626
  420. package/dist/chunk-5EVHVZG5.js +0 -131
  421. package/dist/chunk-5HFHHFQS.mjs +0 -168
  422. package/dist/chunk-CDRQSKXT.mjs +0 -195
  423. package/dist/chunk-DLKUDB2R.js +0 -153
  424. package/dist/chunk-GYQ2DN6Z.mjs +0 -174
  425. package/dist/chunk-HR5GBE3P.js +0 -168
  426. package/dist/chunk-S5Y6UHAK.mjs +0 -131
  427. package/dist/chunk-T7KO6EVK.js +0 -174
  428. package/dist/chunk-UKGQ7256.js +0 -12
  429. package/dist/chunk-UQMPEMY7.mjs +0 -12
  430. package/dist/chunk-VNVGSPBI.mjs +0 -626
  431. package/dist/{chunk-UMZ3PMUJ.js → chunk-SXHCMZ6U.js} +2 -2
  432. package/dist/{chunk-BWDQZSAB.mjs → chunk-WTSG7QXK.mjs} +3 -3
@@ -1,55 +1,58 @@
1
+ import {
2
+ useControlledState
3
+ } from "./chunk-WHYHLUXG.mjs";
4
+ import {
5
+ useTigerConfig
6
+ } from "./chunk-QAIBQHIO.mjs";
7
+
1
8
  // src/components/DatePicker.tsx
9
+ import {
10
+ datePickerInputWrapperClasses,
11
+ datePickerClearButtonClasses,
12
+ CalendarIconPath,
13
+ CloseIconPath
14
+ } from "@expcat/tigercat-core";
15
+
16
+ // src/components/DatePicker/state.ts
2
17
  import { useState, useRef, useEffect, useMemo, useCallback } from "react";
3
18
  import {
4
19
  classNames,
5
- icon20ViewBox,
6
20
  parseDate,
7
21
  formatDate,
8
- formatMonthYear,
9
- isSameDay,
22
+ addDays,
23
+ addMonths,
10
24
  isDateInRange,
11
25
  getCalendarDays,
12
26
  getShortDayNames,
13
- isToday as isTodayUtil,
14
27
  normalizeDate,
15
28
  datePickerBaseClasses,
16
- datePickerInputWrapperClasses,
17
29
  getDatePickerInputClasses,
18
30
  getDatePickerIconButtonClasses,
19
- datePickerCalendarClasses,
20
- datePickerMobileWheelClasses,
21
- datePickerMobileWheelGridClasses,
22
- datePickerMobileWheelSelectClasses,
23
- datePickerCalendarHeaderClasses,
24
- datePickerNavButtonClasses,
25
- datePickerMonthYearClasses,
26
- datePickerCalendarGridClasses,
27
- datePickerDayNameClasses,
28
- getDatePickerDayCellClasses,
29
- datePickerClearButtonClasses,
30
- datePickerFooterClasses,
31
- datePickerFooterButtonClasses,
32
- CalendarIconPath,
33
- CloseIconPath,
34
- ChevronLeftIconPath,
35
- ChevronRightIconPath,
36
31
  getDatePickerLocaleCode,
37
32
  getDatePickerLabels,
38
- getLocaleDirection
33
+ getLocaleDirection,
34
+ mergeTigerLocale
39
35
  } from "@expcat/tigercat-core";
40
- import { jsx, jsxs } from "react/jsx-runtime";
41
- var Icon = ({ path, className }) => /* @__PURE__ */ jsx(
42
- "svg",
43
- {
44
- className,
45
- xmlns: "http://www.w3.org/2000/svg",
46
- viewBox: icon20ViewBox,
47
- fill: "currentColor",
48
- children: /* @__PURE__ */ jsx("path", { fillRule: "evenodd", d: path, clipRule: "evenodd" })
49
- }
50
- );
36
+
37
+ // src/components/DatePicker/types.ts
51
38
  var isRangeDatePicker = (props) => props.range === true;
52
- var DatePicker = (props) => {
39
+
40
+ // src/components/DatePicker/state.ts
41
+ function normalizeDatePickerLocale(locale) {
42
+ if (!locale) return void 0;
43
+ if (typeof locale === "string") return { locale };
44
+ if ("datePicker" in locale) return locale;
45
+ const preset = locale;
46
+ return {
47
+ locale: hasDatePickerLocaleCode(preset) ? preset.locale : void 0,
48
+ datePicker: preset
49
+ };
50
+ }
51
+ function hasDatePickerLocaleCode(locale) {
52
+ return typeof locale.locale === "string";
53
+ }
54
+ function useDatePickerState(props) {
55
+ const config = useTigerConfig();
53
56
  const {
54
57
  size = "md",
55
58
  disabled = false,
@@ -86,41 +89,40 @@ var DatePicker = (props) => {
86
89
  const [isOpen, setIsOpen] = useState(false);
87
90
  const [activeDateIso, setActiveDateIso] = useState(null);
88
91
  const [activeRangePart, setActiveRangePart] = useState("start");
89
- const [internalValue, setInternalValue] = useState(() => {
90
- if (isRangeMode) return null;
91
- return parseDate(props.defaultValue ?? null);
92
- });
93
- const [internalRangeValue, setInternalRangeValue] = useState(() => {
94
- if (!isRangeMode) return [null, null];
95
- const tuple = props.defaultValue ?? null;
96
- if (!tuple) return [null, null];
97
- const start = Array.isArray(tuple) ? parseDate(tuple[0]) : null;
98
- const end = Array.isArray(tuple) ? parseDate(tuple[1]) : null;
99
- return [start, end];
100
- });
92
+ const singleProps = props;
93
+ const rangeProps = props;
94
+ const parseRangeTuple = (tuple) => {
95
+ if (!tuple || !Array.isArray(tuple)) return [null, null];
96
+ return [parseDate(tuple[0]), parseDate(tuple[1])];
97
+ };
98
+ const [singleValue, setSingleValue] = useControlledState(
99
+ !isRangeMode && singleProps.value !== void 0 ? parseDate(singleProps.value ?? null) : void 0,
100
+ parseDate(singleProps.defaultValue ?? null),
101
+ singleProps.onChange
102
+ );
103
+ const [rangeValue, setRangeValue] = useControlledState(
104
+ isRangeMode && rangeProps.value !== void 0 ? parseRangeTuple(rangeProps.value) : void 0,
105
+ parseRangeTuple(rangeProps.defaultValue),
106
+ rangeProps.onChange
107
+ );
101
108
  const calendarRef = useRef(null);
102
109
  const mobileCalendarRef = useRef(null);
103
110
  const inputWrapperRef = useRef(null);
104
111
  const inputRef = useRef(null);
105
112
  const pendingFocusIsoRef = useRef(null);
106
113
  const restoreFocusRef = useRef(null);
107
- const isControlled = props.value !== void 0;
108
- const selectedDate = (() => {
109
- if (isRangeMode) return null;
110
- const current = isControlled ? props.value : internalValue;
111
- return parseDate(current ?? null);
112
- })();
113
- const selectedRange = (() => {
114
- if (!isRangeMode) return [null, null];
115
- const tuple = isControlled ? props.value : internalRangeValue;
116
- if (!tuple) return [null, null];
117
- const start = Array.isArray(tuple) ? parseDate(tuple[0]) : null;
118
- const end = Array.isArray(tuple) ? parseDate(tuple[1]) : null;
119
- return [start, end];
120
- })();
114
+ const selectedDate = isRangeMode ? null : singleValue;
115
+ const selectedRange = useMemo(
116
+ () => isRangeMode ? rangeValue : [null, null],
117
+ [isRangeMode, rangeValue]
118
+ );
121
119
  const minDateParsed = useMemo(() => parseDate(props.minDate ?? null), [props.minDate]);
122
120
  const maxDateParsed = useMemo(() => parseDate(props.maxDate ?? null), [props.maxDate]);
123
- const localeCode = useMemo(() => getDatePickerLocaleCode(props.locale), [props.locale]);
121
+ const mergedLocale = useMemo(
122
+ () => mergeTigerLocale(config.locale, normalizeDatePickerLocale(props.locale)),
123
+ [config.locale, props.locale]
124
+ );
125
+ const localeCode = useMemo(() => getDatePickerLocaleCode(mergedLocale), [mergedLocale]);
124
126
  const [viewingMonth, setViewingMonth] = useState(
125
127
  (selectedDate ?? selectedRange[0])?.getMonth() ?? (/* @__PURE__ */ new Date()).getMonth()
126
128
  );
@@ -160,8 +162,8 @@ var DatePicker = (props) => {
160
162
  const dayNames = useMemo(() => getShortDayNames(localeCode), [localeCode]);
161
163
  const isRtl = getLocaleDirection(localeCode) === "rtl";
162
164
  const labels = useMemo(
163
- () => getDatePickerLabels(props.locale, props.labels),
164
- [props.locale, props.labels]
165
+ () => getDatePickerLabels(mergedLocale, props.labels),
166
+ [mergedLocale, props.labels]
165
167
  );
166
168
  const mobileDate = useMemo(() => {
167
169
  if (!isRangeMode) return selectedDate ?? normalizeDate(/* @__PURE__ */ new Date());
@@ -233,11 +235,6 @@ var DatePicker = (props) => {
233
235
  target.focus();
234
236
  }
235
237
  }, []);
236
- const addDays = (date, days) => {
237
- const next = new Date(date);
238
- next.setDate(next.getDate() + days);
239
- return next;
240
- };
241
238
  const moveFocus = (deltaDays) => {
242
239
  const activeEl = document.activeElement;
243
240
  const currentIso = activeEl?.getAttribute("data-date") ?? activeDateIso ?? null;
@@ -305,13 +302,6 @@ var DatePicker = (props) => {
305
302
  }
306
303
  }
307
304
  };
308
- const setRangeValue = (next) => {
309
- if (!isControlled) {
310
- setInternalRangeValue(next);
311
- }
312
- ;
313
- props.onChange?.(next);
314
- };
315
305
  const selectDate = (date) => {
316
306
  if (!date) return;
317
307
  const normalizedDate = normalizeDate(date);
@@ -319,11 +309,7 @@ var DatePicker = (props) => {
319
309
  return;
320
310
  }
321
311
  if (!isRangeMode) {
322
- if (!isControlled) {
323
- setInternalValue(normalizedDate);
324
- }
325
- ;
326
- props.onChange?.(normalizedDate);
312
+ setSingleValue(normalizedDate);
327
313
  closeCalendar();
328
314
  return;
329
315
  }
@@ -343,11 +329,7 @@ var DatePicker = (props) => {
343
329
  setViewingYear(normalized.getFullYear());
344
330
  setViewingMonth(normalized.getMonth());
345
331
  if (!isRangeMode) {
346
- if (!isControlled) {
347
- setInternalValue(normalized);
348
- }
349
- ;
350
- props.onChange?.(normalized);
332
+ setSingleValue(normalized);
351
333
  return;
352
334
  }
353
335
  const [start, end] = selectedRange;
@@ -370,8 +352,7 @@ var DatePicker = (props) => {
370
352
  const val = typeof shortcut.value === "function" ? shortcut.value() : shortcut.value;
371
353
  if (!isRangeMode) {
372
354
  const date = val instanceof Date ? normalizeDate(val) : val ? normalizeDate(parseDate(val)) : null;
373
- if (!isControlled) setInternalValue(date);
374
- props.onChange?.(date);
355
+ setSingleValue(date);
375
356
  } else {
376
357
  const range = val;
377
358
  if (range && Array.isArray(range)) {
@@ -387,32 +368,19 @@ var DatePicker = (props) => {
387
368
  const clearDate = (event) => {
388
369
  event.stopPropagation();
389
370
  if (!isRangeMode) {
390
- if (!isControlled) {
391
- setInternalValue(null);
392
- }
393
- ;
394
- props.onChange?.(null);
371
+ setSingleValue(null);
395
372
  } else {
396
373
  setRangeValue([null, null]);
397
374
  }
398
375
  props.onClear?.();
399
376
  };
400
- const previousMonth = () => {
401
- if (viewingMonth === 0) {
402
- setViewingMonth(11);
403
- setViewingYear(viewingYear - 1);
404
- } else {
405
- setViewingMonth(viewingMonth - 1);
406
- }
407
- };
408
- const nextMonth = () => {
409
- if (viewingMonth === 11) {
410
- setViewingMonth(0);
411
- setViewingYear(viewingYear + 1);
412
- } else {
413
- setViewingMonth(viewingMonth + 1);
414
- }
377
+ const stepViewingMonth = (delta) => {
378
+ const next = addMonths(new Date(viewingYear, viewingMonth, 1), delta);
379
+ setViewingYear(next.getFullYear());
380
+ setViewingMonth(next.getMonth());
415
381
  };
382
+ const previousMonth = () => stepViewingMonth(-1);
383
+ const nextMonth = () => stepViewingMonth(1);
416
384
  const isCurrentMonth = (date) => {
417
385
  if (!date) return false;
418
386
  return date.getMonth() === viewingMonth;
@@ -459,235 +427,333 @@ var DatePicker = (props) => {
459
427
  [size, disabled, readonly]
460
428
  );
461
429
  const iconButtonClasses = useMemo(() => getDatePickerIconButtonClasses(size), [size]);
462
- return /* @__PURE__ */ jsxs("div", { className: classNames(datePickerBaseClasses, props.className), ...divProps, children: [
463
- /* @__PURE__ */ jsxs("div", { ref: inputWrapperRef, className: datePickerInputWrapperClasses, children: [
464
- /* @__PURE__ */ jsx(
430
+ return {
431
+ inputWrapperRef,
432
+ inputRef,
433
+ calendarRef,
434
+ mobileCalendarRef,
435
+ isOpen,
436
+ activeRangePart,
437
+ setActiveRangePart,
438
+ activeDateIso,
439
+ setActiveDateIso,
440
+ isRangeMode,
441
+ placeholder,
442
+ disabled,
443
+ readonly,
444
+ required,
445
+ name: props.name,
446
+ id: props.id,
447
+ shortcuts: props.shortcuts,
448
+ containerClasses: classNames(datePickerBaseClasses, props.className),
449
+ divProps,
450
+ displayValue,
451
+ showClearButton,
452
+ inputClasses,
453
+ iconButtonClasses,
454
+ labels,
455
+ localeCode,
456
+ isRtl,
457
+ dayNames,
458
+ calendarDays,
459
+ selectedDate,
460
+ selectedRange,
461
+ viewingMonth,
462
+ viewingYear,
463
+ mobileDate,
464
+ mobileYears,
465
+ mobileDays,
466
+ toggleCalendar,
467
+ closeCalendar,
468
+ clearDate,
469
+ selectDate,
470
+ setToday,
471
+ handleShortcut,
472
+ handleCalendarKeyDown,
473
+ previousMonth,
474
+ nextMonth,
475
+ updateMobileDate,
476
+ isCurrentMonth,
477
+ isDateDisabled
478
+ };
479
+ }
480
+
481
+ // src/components/DatePicker/render-mobile.tsx
482
+ import {
483
+ datePickerMobileWheelClasses,
484
+ datePickerMobileWheelGridClasses,
485
+ datePickerMobileWheelSelectClasses,
486
+ datePickerFooterButtonClasses
487
+ } from "@expcat/tigercat-core";
488
+ import { jsx, jsxs } from "react/jsx-runtime";
489
+ function renderDatePickerMobile(ctx) {
490
+ return /* @__PURE__ */ jsxs(
491
+ "div",
492
+ {
493
+ ref: ctx.mobileCalendarRef,
494
+ className: datePickerMobileWheelClasses,
495
+ role: "group",
496
+ "aria-label": ctx.labels.calendar,
497
+ children: [
498
+ ctx.isRangeMode && /* @__PURE__ */ jsxs("div", { className: "mb-3 flex items-center gap-2", children: [
499
+ /* @__PURE__ */ jsx(
500
+ "button",
501
+ {
502
+ type: "button",
503
+ className: datePickerFooterButtonClasses,
504
+ "aria-selected": ctx.activeRangePart === "start",
505
+ onClick: () => ctx.setActiveRangePart("start"),
506
+ children: "Start"
507
+ }
508
+ ),
509
+ /* @__PURE__ */ jsx(
510
+ "button",
511
+ {
512
+ type: "button",
513
+ className: datePickerFooterButtonClasses,
514
+ "aria-selected": ctx.activeRangePart === "end",
515
+ onClick: () => ctx.setActiveRangePart("end"),
516
+ children: "End"
517
+ }
518
+ )
519
+ ] }),
520
+ /* @__PURE__ */ jsxs("div", { className: datePickerMobileWheelGridClasses, children: [
521
+ /* @__PURE__ */ jsx(
522
+ "select",
523
+ {
524
+ className: datePickerMobileWheelSelectClasses,
525
+ value: ctx.mobileDate.getFullYear(),
526
+ "aria-label": "Year",
527
+ onChange: (event) => ctx.updateMobileDate("year", Number(event.target.value)),
528
+ children: ctx.mobileYears.map((year) => /* @__PURE__ */ jsx("option", { value: year, children: year }, year))
529
+ }
530
+ ),
531
+ /* @__PURE__ */ jsx(
532
+ "select",
533
+ {
534
+ className: datePickerMobileWheelSelectClasses,
535
+ value: ctx.mobileDate.getMonth(),
536
+ "aria-label": "Month",
537
+ onChange: (event) => ctx.updateMobileDate("month", Number(event.target.value)),
538
+ children: Array.from({ length: 12 }, (_, month) => /* @__PURE__ */ jsx("option", { value: month, children: month + 1 }, month))
539
+ }
540
+ ),
541
+ /* @__PURE__ */ jsx(
542
+ "select",
543
+ {
544
+ className: datePickerMobileWheelSelectClasses,
545
+ value: ctx.mobileDate.getDate(),
546
+ "aria-label": "Day",
547
+ onChange: (event) => ctx.updateMobileDate("day", Number(event.target.value)),
548
+ children: ctx.mobileDays.map((day) => /* @__PURE__ */ jsx("option", { value: day, children: day }, day))
549
+ }
550
+ )
551
+ ] }),
552
+ /* @__PURE__ */ jsx("div", { className: "mt-4 flex justify-end gap-2", children: /* @__PURE__ */ jsx(
553
+ "button",
554
+ {
555
+ type: "button",
556
+ className: datePickerFooterButtonClasses,
557
+ "aria-label": `Mobile ${ctx.labels.ok}`,
558
+ onClick: ctx.closeCalendar,
559
+ children: ctx.labels.ok
560
+ }
561
+ ) })
562
+ ]
563
+ }
564
+ );
565
+ }
566
+
567
+ // src/components/DatePicker/render-calendar.tsx
568
+ import {
569
+ formatMonthYear,
570
+ getDatePickerCalendarCellState,
571
+ datePickerCalendarClasses,
572
+ datePickerCalendarHeaderClasses,
573
+ datePickerNavButtonClasses,
574
+ datePickerMonthYearClasses,
575
+ datePickerCalendarGridClasses,
576
+ datePickerDayNameClasses,
577
+ getDatePickerDayCellClasses,
578
+ datePickerFooterClasses,
579
+ datePickerFooterButtonClasses as datePickerFooterButtonClasses2,
580
+ ChevronLeftIconPath,
581
+ ChevronRightIconPath
582
+ } from "@expcat/tigercat-core";
583
+
584
+ // src/components/DatePicker/icons.tsx
585
+ import { icon20ViewBox } from "@expcat/tigercat-core";
586
+ import { jsx as jsx2 } from "react/jsx-runtime";
587
+ var Icon = ({ path, className }) => /* @__PURE__ */ jsx2(
588
+ "svg",
589
+ {
590
+ className,
591
+ xmlns: "http://www.w3.org/2000/svg",
592
+ viewBox: icon20ViewBox,
593
+ fill: "currentColor",
594
+ children: /* @__PURE__ */ jsx2("path", { fillRule: "evenodd", d: path, clipRule: "evenodd" })
595
+ }
596
+ );
597
+
598
+ // src/components/DatePicker/render-calendar.tsx
599
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
600
+ function renderDatePickerCalendar(ctx) {
601
+ return /* @__PURE__ */ jsxs2(
602
+ "div",
603
+ {
604
+ ref: ctx.calendarRef,
605
+ className: datePickerCalendarClasses,
606
+ role: "dialog",
607
+ "aria-modal": "true",
608
+ "aria-label": ctx.labels.calendar,
609
+ onKeyDown: ctx.handleCalendarKeyDown,
610
+ children: [
611
+ /* @__PURE__ */ jsxs2("div", { className: datePickerCalendarHeaderClasses, children: [
612
+ /* @__PURE__ */ jsx3(
613
+ "button",
614
+ {
615
+ type: "button",
616
+ className: datePickerNavButtonClasses,
617
+ onClick: ctx.previousMonth,
618
+ "aria-label": ctx.labels.previousMonth,
619
+ children: /* @__PURE__ */ jsx3(Icon, { path: ctx.isRtl ? ChevronRightIconPath : ChevronLeftIconPath, className: "w-5 h-5" })
620
+ }
621
+ ),
622
+ /* @__PURE__ */ jsx3("div", { className: datePickerMonthYearClasses, children: formatMonthYear(ctx.viewingYear, ctx.viewingMonth, ctx.localeCode) }),
623
+ /* @__PURE__ */ jsx3(
624
+ "button",
625
+ {
626
+ type: "button",
627
+ className: datePickerNavButtonClasses,
628
+ onClick: ctx.nextMonth,
629
+ "aria-label": ctx.labels.nextMonth,
630
+ children: /* @__PURE__ */ jsx3(Icon, { path: ctx.isRtl ? ChevronLeftIconPath : ChevronRightIconPath, className: "w-5 h-5" })
631
+ }
632
+ )
633
+ ] }),
634
+ /* @__PURE__ */ jsx3("div", { className: datePickerCalendarGridClasses, role: "row", children: ctx.dayNames.map((day) => /* @__PURE__ */ jsx3("div", { className: datePickerDayNameClasses, role: "columnheader", children: day }, day)) }),
635
+ (() => {
636
+ return /* @__PURE__ */ jsx3(
637
+ "div",
638
+ {
639
+ className: datePickerCalendarGridClasses,
640
+ role: "grid",
641
+ "aria-rowcount": 6,
642
+ "aria-colcount": 7,
643
+ children: ctx.calendarDays.map((date, index) => {
644
+ if (!date) return null;
645
+ const cell = getDatePickerCalendarCellState({
646
+ date,
647
+ selectedDate: ctx.selectedDate,
648
+ selectedRange: ctx.selectedRange,
649
+ isRangeMode: ctx.isRangeMode,
650
+ isCurrentMonth: ctx.isCurrentMonth,
651
+ isDateDisabled: ctx.isDateDisabled
652
+ });
653
+ return /* @__PURE__ */ jsx3(
654
+ "button",
655
+ {
656
+ type: "button",
657
+ className: getDatePickerDayCellClasses(
658
+ cell.isCurrentMonthDay,
659
+ cell.isSelected,
660
+ cell.isTodayDay,
661
+ cell.isDisabled,
662
+ cell.isInRange,
663
+ cell.isRangeStart,
664
+ cell.isRangeEnd
665
+ ),
666
+ disabled: cell.isDisabled,
667
+ onClick: () => ctx.selectDate(date),
668
+ role: "gridcell",
669
+ "data-date": cell.iso,
670
+ onFocus: () => ctx.setActiveDateIso(cell.iso),
671
+ tabIndex: ctx.activeDateIso === cell.iso && !cell.isDisabled ? 0 : -1,
672
+ "aria-label": cell.iso,
673
+ "aria-selected": cell.isSelected,
674
+ "aria-current": cell.isTodayDay ? "date" : void 0,
675
+ children: date.getDate()
676
+ },
677
+ index
678
+ );
679
+ })
680
+ }
681
+ );
682
+ })(),
683
+ ctx.shortcuts && ctx.shortcuts.length > 0 && /* @__PURE__ */ jsx3("div", { className: "flex flex-wrap gap-1 px-3 py-2 border-t border-[var(--tiger-border,#e5e7eb)]", children: ctx.shortcuts.map((sc, i) => /* @__PURE__ */ jsx3(
684
+ "button",
685
+ {
686
+ type: "button",
687
+ className: datePickerFooterButtonClasses2,
688
+ onClick: () => ctx.handleShortcut(sc),
689
+ children: sc.label
690
+ },
691
+ i
692
+ )) }),
693
+ ctx.isRangeMode && /* @__PURE__ */ jsxs2("div", { className: datePickerFooterClasses, children: [
694
+ /* @__PURE__ */ jsx3("button", { type: "button", className: datePickerFooterButtonClasses2, onClick: ctx.setToday, children: ctx.labels.today }),
695
+ /* @__PURE__ */ jsx3(
696
+ "button",
697
+ {
698
+ type: "button",
699
+ className: datePickerFooterButtonClasses2,
700
+ onClick: ctx.closeCalendar,
701
+ children: ctx.labels.ok
702
+ }
703
+ )
704
+ ] })
705
+ ]
706
+ }
707
+ );
708
+ }
709
+
710
+ // src/components/DatePicker.tsx
711
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
712
+ var DatePicker = (props) => {
713
+ const ctx = useDatePickerState(props);
714
+ return /* @__PURE__ */ jsxs3("div", { className: ctx.containerClasses, ...ctx.divProps, children: [
715
+ /* @__PURE__ */ jsxs3("div", { ref: ctx.inputWrapperRef, className: datePickerInputWrapperClasses, children: [
716
+ /* @__PURE__ */ jsx4(
465
717
  "input",
466
718
  {
467
- ref: inputRef,
719
+ ref: ctx.inputRef,
468
720
  type: "text",
469
- className: inputClasses,
470
- value: displayValue,
471
- placeholder,
472
- disabled,
721
+ className: ctx.inputClasses,
722
+ value: ctx.displayValue,
723
+ placeholder: ctx.placeholder,
724
+ disabled: ctx.disabled,
473
725
  readOnly: true,
474
- required,
475
- name: props.name,
476
- id: props.id,
477
- onClick: toggleCalendar,
478
- "aria-label": placeholder || "Select date"
726
+ required: ctx.required,
727
+ name: ctx.name,
728
+ id: ctx.id,
729
+ onClick: ctx.toggleCalendar,
730
+ "aria-label": ctx.placeholder || "Select date"
479
731
  }
480
732
  ),
481
- showClearButton && /* @__PURE__ */ jsx(
733
+ ctx.showClearButton && /* @__PURE__ */ jsx4(
482
734
  "button",
483
735
  {
484
736
  type: "button",
485
737
  className: datePickerClearButtonClasses,
486
- onClick: clearDate,
487
- "aria-label": labels.clearDate,
488
- children: /* @__PURE__ */ jsx(Icon, { path: CloseIconPath, className: "w-4 h-4" })
738
+ onClick: ctx.clearDate,
739
+ "aria-label": ctx.labels.clearDate,
740
+ children: /* @__PURE__ */ jsx4(Icon, { path: CloseIconPath, className: "w-4 h-4" })
489
741
  }
490
742
  ),
491
- /* @__PURE__ */ jsx(
743
+ /* @__PURE__ */ jsx4(
492
744
  "button",
493
745
  {
494
746
  type: "button",
495
- className: iconButtonClasses,
496
- disabled: disabled || readonly,
497
- onClick: toggleCalendar,
498
- "aria-label": labels.toggleCalendar,
499
- children: /* @__PURE__ */ jsx(Icon, { path: CalendarIconPath, className: "w-5 h-5" })
747
+ className: ctx.iconButtonClasses,
748
+ disabled: ctx.disabled || ctx.readonly,
749
+ onClick: ctx.toggleCalendar,
750
+ "aria-label": ctx.labels.toggleCalendar,
751
+ children: /* @__PURE__ */ jsx4(Icon, { path: CalendarIconPath, className: "w-5 h-5" })
500
752
  }
501
753
  )
502
754
  ] }),
503
- isOpen && /* @__PURE__ */ jsxs(
504
- "div",
505
- {
506
- ref: mobileCalendarRef,
507
- className: datePickerMobileWheelClasses,
508
- role: "group",
509
- "aria-label": labels.calendar,
510
- children: [
511
- isRangeMode && /* @__PURE__ */ jsxs("div", { className: "mb-3 flex items-center gap-2", children: [
512
- /* @__PURE__ */ jsx(
513
- "button",
514
- {
515
- type: "button",
516
- className: datePickerFooterButtonClasses,
517
- "aria-selected": activeRangePart === "start",
518
- onClick: () => setActiveRangePart("start"),
519
- children: "Start"
520
- }
521
- ),
522
- /* @__PURE__ */ jsx(
523
- "button",
524
- {
525
- type: "button",
526
- className: datePickerFooterButtonClasses,
527
- "aria-selected": activeRangePart === "end",
528
- onClick: () => setActiveRangePart("end"),
529
- children: "End"
530
- }
531
- )
532
- ] }),
533
- /* @__PURE__ */ jsxs("div", { className: datePickerMobileWheelGridClasses, children: [
534
- /* @__PURE__ */ jsx(
535
- "select",
536
- {
537
- className: datePickerMobileWheelSelectClasses,
538
- value: mobileDate.getFullYear(),
539
- "aria-label": "Year",
540
- onChange: (event) => updateMobileDate("year", Number(event.target.value)),
541
- children: mobileYears.map((year) => /* @__PURE__ */ jsx("option", { value: year, children: year }, year))
542
- }
543
- ),
544
- /* @__PURE__ */ jsx(
545
- "select",
546
- {
547
- className: datePickerMobileWheelSelectClasses,
548
- value: mobileDate.getMonth(),
549
- "aria-label": "Month",
550
- onChange: (event) => updateMobileDate("month", Number(event.target.value)),
551
- children: Array.from({ length: 12 }, (_, month) => /* @__PURE__ */ jsx("option", { value: month, children: month + 1 }, month))
552
- }
553
- ),
554
- /* @__PURE__ */ jsx(
555
- "select",
556
- {
557
- className: datePickerMobileWheelSelectClasses,
558
- value: mobileDate.getDate(),
559
- "aria-label": "Day",
560
- onChange: (event) => updateMobileDate("day", Number(event.target.value)),
561
- children: mobileDays.map((day) => /* @__PURE__ */ jsx("option", { value: day, children: day }, day))
562
- }
563
- )
564
- ] }),
565
- /* @__PURE__ */ jsx("div", { className: "mt-4 flex justify-end gap-2", children: /* @__PURE__ */ jsx(
566
- "button",
567
- {
568
- type: "button",
569
- className: datePickerFooterButtonClasses,
570
- "aria-label": `Mobile ${labels.ok}`,
571
- onClick: closeCalendar,
572
- children: labels.ok
573
- }
574
- ) })
575
- ]
576
- }
577
- ),
578
- isOpen && /* @__PURE__ */ jsxs(
579
- "div",
580
- {
581
- ref: calendarRef,
582
- className: datePickerCalendarClasses,
583
- role: "dialog",
584
- "aria-modal": "true",
585
- "aria-label": labels.calendar,
586
- onKeyDown: handleCalendarKeyDown,
587
- children: [
588
- /* @__PURE__ */ jsxs("div", { className: datePickerCalendarHeaderClasses, children: [
589
- /* @__PURE__ */ jsx(
590
- "button",
591
- {
592
- type: "button",
593
- className: datePickerNavButtonClasses,
594
- onClick: previousMonth,
595
- "aria-label": labels.previousMonth,
596
- children: /* @__PURE__ */ jsx(Icon, { path: isRtl ? ChevronRightIconPath : ChevronLeftIconPath, className: "w-5 h-5" })
597
- }
598
- ),
599
- /* @__PURE__ */ jsx("div", { className: datePickerMonthYearClasses, children: formatMonthYear(viewingYear, viewingMonth, localeCode) }),
600
- /* @__PURE__ */ jsx(
601
- "button",
602
- {
603
- type: "button",
604
- className: datePickerNavButtonClasses,
605
- onClick: nextMonth,
606
- "aria-label": labels.nextMonth,
607
- children: /* @__PURE__ */ jsx(Icon, { path: isRtl ? ChevronLeftIconPath : ChevronRightIconPath, className: "w-5 h-5" })
608
- }
609
- )
610
- ] }),
611
- /* @__PURE__ */ jsx("div", { className: datePickerCalendarGridClasses, role: "row", children: dayNames.map((day) => /* @__PURE__ */ jsx("div", { className: datePickerDayNameClasses, role: "columnheader", children: day }, day)) }),
612
- (() => {
613
- const [rangeStart, rangeEnd] = selectedRange;
614
- const normStart = rangeStart ? normalizeDate(rangeStart) : null;
615
- const normEnd = rangeEnd ? normalizeDate(rangeEnd) : null;
616
- const isSelectingEnd = isRangeMode && Boolean(rangeStart) && !rangeEnd;
617
- return /* @__PURE__ */ jsx(
618
- "div",
619
- {
620
- className: datePickerCalendarGridClasses,
621
- role: "grid",
622
- "aria-rowcount": 6,
623
- "aria-colcount": 7,
624
- children: calendarDays.map((date, index) => {
625
- if (!date) return null;
626
- const normDate = normalizeDate(date);
627
- const isRangeStart = isRangeMode && rangeStart ? isSameDay(date, rangeStart) : false;
628
- const isRangeEnd = isRangeMode && rangeEnd ? isSameDay(date, rangeEnd) : false;
629
- const isInRange = isRangeMode && normStart && normEnd && normDate >= normStart && normDate <= normEnd;
630
- const isSelected = !isRangeMode ? selectedDate ? isSameDay(date, selectedDate) : false : isRangeStart || isRangeEnd;
631
- const isCurrentMonthDay = isCurrentMonth(date);
632
- const isTodayDay = isTodayUtil(date);
633
- const isBeforeRangeStart = isSelectingEnd && normStart && normDate < normStart;
634
- const isDisabled = isDateDisabled(date) || Boolean(isBeforeRangeStart);
635
- const iso = formatDate(date, "yyyy-MM-dd");
636
- return /* @__PURE__ */ jsx(
637
- "button",
638
- {
639
- type: "button",
640
- className: getDatePickerDayCellClasses(
641
- isCurrentMonthDay,
642
- isSelected,
643
- isTodayDay,
644
- isDisabled,
645
- Boolean(isInRange),
646
- Boolean(isRangeStart),
647
- Boolean(isRangeEnd)
648
- ),
649
- disabled: isDisabled,
650
- onClick: () => selectDate(date),
651
- role: "gridcell",
652
- "data-date": iso,
653
- onFocus: () => setActiveDateIso(iso),
654
- tabIndex: activeDateIso === iso && !isDisabled ? 0 : -1,
655
- "aria-label": iso,
656
- "aria-selected": isSelected,
657
- "aria-current": isTodayDay ? "date" : void 0,
658
- children: date.getDate()
659
- },
660
- index
661
- );
662
- })
663
- }
664
- );
665
- })(),
666
- props.shortcuts && props.shortcuts.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1 px-3 py-2 border-t border-[var(--tiger-border,#e5e7eb)]", children: props.shortcuts.map((sc, i) => /* @__PURE__ */ jsx(
667
- "button",
668
- {
669
- type: "button",
670
- className: datePickerFooterButtonClasses,
671
- onClick: () => handleShortcut(sc),
672
- children: sc.label
673
- },
674
- i
675
- )) }),
676
- isRangeMode && /* @__PURE__ */ jsxs("div", { className: datePickerFooterClasses, children: [
677
- /* @__PURE__ */ jsx("button", { type: "button", className: datePickerFooterButtonClasses, onClick: setToday, children: labels.today }),
678
- /* @__PURE__ */ jsx(
679
- "button",
680
- {
681
- type: "button",
682
- className: datePickerFooterButtonClasses,
683
- onClick: closeCalendar,
684
- children: labels.ok
685
- }
686
- )
687
- ] })
688
- ]
689
- }
690
- )
755
+ ctx.isOpen && renderDatePickerMobile(ctx),
756
+ ctx.isOpen && renderDatePickerCalendar(ctx)
691
757
  ] });
692
758
  };
693
759