@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
@@ -60,6 +60,34 @@ var Rate = ({
60
60
  setHoverValue(0);
61
61
  onHoverChange?.(0);
62
62
  }, [disabled, onHoverChange]);
63
+ const step = allowHalf ? 0.5 : 1;
64
+ const handleKeyDown = useCallback(
65
+ (e) => {
66
+ if (disabled) return;
67
+ let next = value;
68
+ switch (e.key) {
69
+ case "ArrowRight":
70
+ case "ArrowUp":
71
+ next = Math.min(count, value + step);
72
+ break;
73
+ case "ArrowLeft":
74
+ case "ArrowDown":
75
+ next = Math.max(0, value - step);
76
+ break;
77
+ case "Home":
78
+ next = 0;
79
+ break;
80
+ case "End":
81
+ next = count;
82
+ break;
83
+ default:
84
+ return;
85
+ }
86
+ e.preventDefault();
87
+ if (next !== value) onChange?.(next);
88
+ },
89
+ [disabled, value, count, step, onChange]
90
+ );
63
91
  const starIcon = useMemo(
64
92
  () => /* @__PURE__ */ jsx("svg", { viewBox: starViewBox, fill: "currentColor", className: "w-full h-full", children: /* @__PURE__ */ jsx("path", { d: starPathD }) }),
65
93
  []
@@ -90,9 +118,7 @@ var Rate = ({
90
118
  "span",
91
119
  {
92
120
  className: getRateStarClasses(size, isChar, disabled),
93
- role: "radio",
94
- "aria-checked": full || half,
95
- "aria-label": `${i + 1} star${i + 1 > 1 ? "s" : ""}`,
121
+ "aria-hidden": "true",
96
122
  onClick: (e) => handleClick(i, e),
97
123
  onMouseMove: (e) => handleMouseMove(i, e),
98
124
  onMouseLeave: handleMouseLeave,
@@ -117,7 +143,24 @@ var Rate = ({
117
143
  handleMouseMove,
118
144
  handleMouseLeave
119
145
  ]);
120
- return /* @__PURE__ */ jsx("div", { className: classNames(rateBaseClasses, className), role: "radiogroup", "aria-label": "Rating", children: stars });
146
+ const valueText = `${value} star${value === 1 ? "" : "s"}`;
147
+ return /* @__PURE__ */ jsx(
148
+ "div",
149
+ {
150
+ className: classNames(rateBaseClasses, className),
151
+ role: "slider",
152
+ "aria-label": "Rating",
153
+ "aria-valuemin": 0,
154
+ "aria-valuemax": count,
155
+ "aria-valuenow": value,
156
+ "aria-valuetext": valueText,
157
+ "aria-disabled": disabled || void 0,
158
+ "aria-orientation": "horizontal",
159
+ tabIndex: disabled ? -1 : 0,
160
+ onKeyDown: handleKeyDown,
161
+ children: stars
162
+ }
163
+ );
121
164
  };
122
165
 
123
166
  export {
@@ -1,24 +1,24 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkITRYKHQJjs = require('./chunk-ITRYKHQJ.js');
3
+ var _chunkDH4B2COVjs = require('./chunk-DH4B2COV.js');
4
4
 
5
5
 
6
- var _chunkBBLVRLXTjs = require('./chunk-BBLVRLXT.js');
6
+ var _chunkHFGTJEQWjs = require('./chunk-HFGTJEQW.js');
7
7
 
8
8
 
9
9
  var _chunkWOSKRZOOjs = require('./chunk-WOSKRZOO.js');
10
10
 
11
11
 
12
- var _chunkTDODFBBOjs = require('./chunk-TDODFBBO.js');
12
+ var _chunkTO4SSBAJjs = require('./chunk-TO4SSBAJ.js');
13
13
 
14
14
 
15
- var _chunkZYJTHGQWjs = require('./chunk-ZYJTHGQW.js');
15
+ var _chunkLZG24TDBjs = require('./chunk-LZG24TDB.js');
16
16
 
17
17
 
18
- var _chunkF7H4ALKNjs = require('./chunk-F7H4ALKN.js');
18
+ var _chunkZLNBE4ISjs = require('./chunk-ZLNBE4IS.js');
19
19
 
20
20
 
21
- var _chunkZLNBE4ISjs = require('./chunk-ZLNBE4IS.js');
21
+ var _chunkTDODFBBOjs = require('./chunk-TDODFBBO.js');
22
22
 
23
23
  // src/components/DataTableWithToolbar.tsx
24
24
  var _react = require('react');
@@ -41,7 +41,7 @@ var DataTableWithToolbar = ({
41
41
  onBulkAction,
42
42
  hiddenColumnKeys,
43
43
  defaultHiddenColumnKeys,
44
- onHiddenColumnsChange,
44
+ onHiddenColumnKeysChange,
45
45
  pagination = false,
46
46
  onPageChange,
47
47
  onPageSizeChange,
@@ -142,7 +142,7 @@ var DataTableWithToolbar = ({
142
142
  if (hiddenColumnKeys === void 0) {
143
143
  setInternalHiddenKeys(nextHiddenKeys);
144
144
  }
145
- _optionalChain([onHiddenColumnsChange, 'optionalCall', _18 => _18(nextHiddenKeys)]);
145
+ _optionalChain([onHiddenColumnKeysChange, 'optionalCall', _18 => _18(nextHiddenKeys)]);
146
146
  };
147
147
  const handleToggleColumnVisibility = (columnKey, visible) => {
148
148
  const nextHiddenKeys = visible ? resolvedHiddenKeys.filter((key) => key !== columnKey) : [...resolvedHiddenKeys, columnKey];
@@ -213,7 +213,7 @@ var DataTableWithToolbar = ({
213
213
  contentContent: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col gap-2 min-w-[160px]", children: tableProps.columns.map((column) => {
214
214
  const locked = lockedKeys.has(column.key) || column.hideable === false;
215
215
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
216
- _chunkF7H4ALKNjs.Checkbox,
216
+ _chunkLZG24TDBjs.Checkbox,
217
217
  {
218
218
  size: "sm",
219
219
  checked: !resolvedHiddenKeys.includes(column.key),
@@ -310,7 +310,7 @@ var DataTableWithToolbar = ({
310
310
  ),
311
311
  children: [
312
312
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
313
- _chunkZYJTHGQWjs.Input,
313
+ _chunkTO4SSBAJjs.Input,
314
314
  {
315
315
  type: "search",
316
316
  size: "sm",
@@ -383,7 +383,7 @@ var DataTableWithToolbar = ({
383
383
  className: _nullishCoalesce(filter.itemClass, () => ( "w-full sm:w-auto sm:min-w-[120px] sm:max-w-[180px]")),
384
384
  style: filter.itemStyle,
385
385
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
386
- _chunkBBLVRLXTjs.Select,
386
+ _chunkHFGTJEQWjs.Select,
387
387
  {
388
388
  size: "sm",
389
389
  options: (_nullishCoalesce(filter.options, () => ( []))).map((opt) => ({
@@ -435,7 +435,7 @@ var DataTableWithToolbar = ({
435
435
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: wrapperClasses, "data-tiger-data-table-with-toolbar": true, children: [
436
436
  renderToolbar(),
437
437
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
438
- _chunkITRYKHQJjs.Table,
438
+ _chunkDH4B2COVjs.Table,
439
439
  {
440
440
  ...remainingTableProps,
441
441
  locale,
@@ -1,6 +1,12 @@
1
+ import {
2
+ useTigerConfig
3
+ } from "./chunk-QAIBQHIO.mjs";
4
+
1
5
  // src/components/TreeSelect.tsx
2
6
  import { useState, useMemo, useRef, useEffect, useId } from "react";
3
7
  import {
8
+ resolveLocaleText,
9
+ mergeTigerLocale,
4
10
  treeSelectBaseClasses,
5
11
  treeSelectDropdownClasses,
6
12
  treeSelectSearchClasses,
@@ -45,12 +51,18 @@ var TreeSelect = (props) => {
45
51
  clearable = false,
46
52
  multiple = false,
47
53
  showSearch = false,
48
- notFoundText = "No data",
54
+ notFoundText,
49
55
  defaultExpandAll = false,
50
56
  className,
51
57
  onChange,
58
+ locale,
52
59
  ...rest
53
60
  } = props;
61
+ const config = useTigerConfig();
62
+ const mergedLocale = useMemo(
63
+ () => mergeTigerLocale(config.locale, locale),
64
+ [config.locale, locale]
65
+ );
54
66
  const divProps = {};
55
67
  for (const key of Object.keys(rest)) {
56
68
  if (!TREESELECT_KEYS.has(key)) {
@@ -204,7 +216,7 @@ var TreeSelect = (props) => {
204
216
  {
205
217
  type: "text",
206
218
  className: treeSelectSearchClasses,
207
- placeholder: "Search...",
219
+ placeholder: resolveLocaleText("Search...", mergedLocale?.common?.searchPlaceholder),
208
220
  value: searchQuery,
209
221
  "aria-label": "Search tree",
210
222
  onChange: (e) => setSearchQuery(e.target.value)
@@ -248,7 +260,7 @@ var TreeSelect = (props) => {
248
260
  },
249
261
  String(node.key)
250
262
  );
251
- }) : /* @__PURE__ */ jsx("div", { className: treeSelectEmptyClasses, children: notFoundText })
263
+ }) : /* @__PURE__ */ jsx("div", { className: treeSelectEmptyClasses, children: resolveLocaleText("No data", notFoundText, mergedLocale?.common?.emptyText) })
252
264
  ] })
253
265
  ] });
254
266
  };
@@ -60,6 +60,34 @@ var Rate = ({
60
60
  setHoverValue(0);
61
61
  _optionalChain([onHoverChange, 'optionalCall', _3 => _3(0)]);
62
62
  }, [disabled, onHoverChange]);
63
+ const step = allowHalf ? 0.5 : 1;
64
+ const handleKeyDown = _react.useCallback.call(void 0,
65
+ (e) => {
66
+ if (disabled) return;
67
+ let next = value;
68
+ switch (e.key) {
69
+ case "ArrowRight":
70
+ case "ArrowUp":
71
+ next = Math.min(count, value + step);
72
+ break;
73
+ case "ArrowLeft":
74
+ case "ArrowDown":
75
+ next = Math.max(0, value - step);
76
+ break;
77
+ case "Home":
78
+ next = 0;
79
+ break;
80
+ case "End":
81
+ next = count;
82
+ break;
83
+ default:
84
+ return;
85
+ }
86
+ e.preventDefault();
87
+ if (next !== value) _optionalChain([onChange, 'optionalCall', _4 => _4(next)]);
88
+ },
89
+ [disabled, value, count, step, onChange]
90
+ );
63
91
  const starIcon = _react.useMemo.call(void 0,
64
92
  () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", { viewBox: _tigercatcore.starViewBox, fill: "currentColor", className: "w-full h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: _tigercatcore.starPathD }) }),
65
93
  []
@@ -90,9 +118,7 @@ var Rate = ({
90
118
  "span",
91
119
  {
92
120
  className: _tigercatcore.getRateStarClasses.call(void 0, size, isChar, disabled),
93
- role: "radio",
94
- "aria-checked": full || half,
95
- "aria-label": `${i + 1} star${i + 1 > 1 ? "s" : ""}`,
121
+ "aria-hidden": "true",
96
122
  onClick: (e) => handleClick(i, e),
97
123
  onMouseMove: (e) => handleMouseMove(i, e),
98
124
  onMouseLeave: handleMouseLeave,
@@ -117,7 +143,24 @@ var Rate = ({
117
143
  handleMouseMove,
118
144
  handleMouseLeave
119
145
  ]);
120
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.classNames.call(void 0, _tigercatcore.rateBaseClasses, className), role: "radiogroup", "aria-label": "Rating", children: stars });
146
+ const valueText = `${value} star${value === 1 ? "" : "s"}`;
147
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
148
+ "div",
149
+ {
150
+ className: _tigercatcore.classNames.call(void 0, _tigercatcore.rateBaseClasses, className),
151
+ role: "slider",
152
+ "aria-label": "Rating",
153
+ "aria-valuemin": 0,
154
+ "aria-valuemax": count,
155
+ "aria-valuenow": value,
156
+ "aria-valuetext": valueText,
157
+ "aria-disabled": disabled || void 0,
158
+ "aria-orientation": "horizontal",
159
+ tabIndex: disabled ? -1 : 0,
160
+ onKeyDown: handleKeyDown,
161
+ children: stars
162
+ }
163
+ );
121
164
  };
122
165
 
123
166
 
@@ -1,3 +1,7 @@
1
+ import {
2
+ useTigerConfig
3
+ } from "./chunk-QAIBQHIO.mjs";
4
+
1
5
  // src/components/AutoComplete.tsx
2
6
  import { useState, useRef, useEffect, useId, useMemo } from "react";
3
7
  import {
@@ -14,6 +18,8 @@ import {
14
18
  getPickerOptionAria,
15
19
  getPickerOptionId,
16
20
  classNames,
21
+ resolveLocaleText,
22
+ mergeTigerLocale,
17
23
  icon20ViewBox,
18
24
  closeSolidIcon20PathD
19
25
  } from "@expcat/tigercat-core";
@@ -29,6 +35,7 @@ var AUTOCOMPLETE_KEYS = /* @__PURE__ */ new Set([
29
35
  "filterOption",
30
36
  "defaultActiveFirstOption",
31
37
  "allowFreeInput",
38
+ "locale",
32
39
  "onChange",
33
40
  "onSelect",
34
41
  "onSearch"
@@ -41,15 +48,27 @@ var AutoComplete = (props) => {
41
48
  size = "md",
42
49
  disabled = false,
43
50
  clearable = false,
44
- notFoundText = "No matches found",
51
+ notFoundText,
45
52
  filterOption = true,
46
53
  defaultActiveFirstOption = true,
54
+ allowFreeInput = true,
55
+ locale,
47
56
  className,
48
57
  onChange,
49
58
  onSelect,
50
59
  onSearch,
51
60
  ...rest
52
61
  } = props;
62
+ const config = useTigerConfig();
63
+ const mergedLocale = useMemo(
64
+ () => mergeTigerLocale(config.locale, locale),
65
+ [config.locale, locale]
66
+ );
67
+ const resolvedNotFoundText = resolveLocaleText(
68
+ "No matches found",
69
+ notFoundText,
70
+ mergedLocale?.common?.emptyText
71
+ );
53
72
  const divProps = {};
54
73
  for (const key of Object.keys(rest)) {
55
74
  if (!AUTOCOMPLETE_KEYS.has(key)) {
@@ -80,6 +99,23 @@ var AutoComplete = (props) => {
80
99
  setIsOpen(false);
81
100
  setActiveIndex(-1);
82
101
  }
102
+ function constrainToOption() {
103
+ if (allowFreeInput) return;
104
+ const match = options.find((o) => !o.disabled && o.label === inputValue);
105
+ if (match) {
106
+ if (String(match.value) !== String(value)) {
107
+ onChange?.(match.value);
108
+ onSelect?.(match.value, match);
109
+ }
110
+ return;
111
+ }
112
+ const current = options.find((o) => String(o.value) === String(value));
113
+ const revertLabel = current ? current.label : "";
114
+ if (revertLabel !== inputValue) {
115
+ setInputValue(revertLabel);
116
+ onChange?.(current ? current.value : "");
117
+ }
118
+ }
83
119
  function handleInput(e) {
84
120
  const val = e.target.value;
85
121
  setInputValue(val);
@@ -126,6 +162,9 @@ var AutoComplete = (props) => {
126
162
  e.preventDefault();
127
163
  if (activeIndex >= 0 && activeIndex < filteredOptions.length) {
128
164
  handleSelect(filteredOptions[activeIndex]);
165
+ } else {
166
+ constrainToOption();
167
+ closeDropdown();
129
168
  }
130
169
  break;
131
170
  case "Escape":
@@ -159,7 +198,8 @@ var AutoComplete = (props) => {
159
198
  autoComplete: "off",
160
199
  onChange: handleInput,
161
200
  onFocus: openDropdown,
162
- onKeyDown: handleKeyDown
201
+ onKeyDown: handleKeyDown,
202
+ onBlur: constrainToOption
163
203
  }
164
204
  ),
165
205
  showClearButton && /* @__PURE__ */ jsx(
@@ -167,7 +207,7 @@ var AutoComplete = (props) => {
167
207
  {
168
208
  type: "button",
169
209
  className: "absolute right-2 top-1/2 -translate-y-1/2 text-[var(--tiger-autocomplete-clear,var(--tiger-text-muted,#9ca3af))] hover:text-[var(--tiger-autocomplete-clear-hover,var(--tiger-text,#111827))] transition-colors",
170
- "aria-label": "Clear",
210
+ "aria-label": resolveLocaleText("Clear", mergedLocale?.common?.clearText),
171
211
  onClick: handleClear,
172
212
  children: /* @__PURE__ */ jsx(
173
213
  "svg",
@@ -194,13 +234,14 @@ var AutoComplete = (props) => {
194
234
  !!option.disabled,
195
235
  size
196
236
  ),
237
+ onMouseDown: (e) => e.preventDefault(),
197
238
  onClick: () => handleSelect(option),
198
239
  onMouseEnter: () => setActiveIndex(index),
199
240
  children: option.label
200
241
  },
201
242
  String(option.value)
202
243
  )) }),
203
- isOpen && inputValue && filteredOptions.length === 0 && /* @__PURE__ */ jsx("div", { className: classNames(autoCompleteDropdownClasses, autoCompleteEmptyStateClasses), children: notFoundText })
244
+ isOpen && inputValue && filteredOptions.length === 0 && /* @__PURE__ */ jsx("div", { className: classNames(autoCompleteDropdownClasses, autoCompleteEmptyStateClasses), children: resolvedNotFoundText })
204
245
  ] });
205
246
  };
206
247
 
@@ -1,5 +1,5 @@
1
1
  // src/components/FloatButton.tsx
2
- import { useState, useMemo, useCallback } from "react";
2
+ import { createContext, useContext, useState, useMemo, useCallback } from "react";
3
3
  import ReactDOM from "react-dom";
4
4
  import {
5
5
  classNames,
@@ -12,8 +12,9 @@ import {
12
12
  floatButtonGroupClasses
13
13
  } from "@expcat/tigercat-core";
14
14
  import { jsx, jsxs } from "react/jsx-runtime";
15
+ var FloatButtonGroupContext = createContext(null);
15
16
  var FloatButton = ({
16
- shape = "circle",
17
+ shape,
17
18
  size = "md",
18
19
  type = "primary",
19
20
  tooltip,
@@ -24,16 +25,18 @@ var FloatButton = ({
24
25
  onClick,
25
26
  ...props
26
27
  }) => {
28
+ const group = useContext(FloatButtonGroupContext);
29
+ const resolvedShape = shape ?? group?.shape ?? "circle";
27
30
  const classes = useMemo(
28
31
  () => classNames(
29
32
  floatButtonBaseClasses,
30
- floatButtonShapeClasses[shape],
33
+ floatButtonShapeClasses[resolvedShape],
31
34
  floatButtonSizeClasses[size],
32
35
  floatButtonTypeClasses[type],
33
36
  disabled && floatButtonDisabledClasses,
34
37
  className
35
38
  ),
36
- [shape, size, type, disabled, className]
39
+ [resolvedShape, size, type, disabled, className]
37
40
  );
38
41
  return /* @__PURE__ */ jsx(
39
42
  "button",
@@ -50,7 +53,7 @@ var FloatButton = ({
50
53
  );
51
54
  };
52
55
  var FloatButtonGroup = ({
53
- shape: _shape = "circle",
56
+ shape: groupShape,
54
57
  trigger = "click",
55
58
  open: controlledOpen,
56
59
  triggerNode,
@@ -59,6 +62,7 @@ var FloatButtonGroup = ({
59
62
  onOpenChange,
60
63
  ...props
61
64
  }) => {
65
+ const groupContextValue = useMemo(() => ({ shape: groupShape }), [groupShape]);
62
66
  const [internalOpen, setInternalOpen] = useState(false);
63
67
  const isOpen = controlledOpen ?? internalOpen;
64
68
  const toggle = useCallback(() => {
@@ -76,7 +80,7 @@ var FloatButtonGroup = ({
76
80
  }, [onOpenChange]);
77
81
  const groupClasses = useMemo(() => classNames(floatButtonGroupClasses, className), [className]);
78
82
  if (!isBrowser()) return null;
79
- const content = /* @__PURE__ */ jsxs(
83
+ const content = /* @__PURE__ */ jsx(FloatButtonGroupContext.Provider, { value: groupContextValue, children: /* @__PURE__ */ jsxs(
80
84
  "div",
81
85
  {
82
86
  className: groupClasses,
@@ -88,7 +92,7 @@ var FloatButtonGroup = ({
88
92
  isOpen && children
89
93
  ]
90
94
  }
91
- );
95
+ ) });
92
96
  return ReactDOM.createPortal(content, document.body);
93
97
  };
94
98
 
@@ -0,0 +1,25 @@
1
+ // src/hooks/useControlledState.ts
2
+ import { useCallback, useRef, useState } from "react";
3
+ function useControlledState(controlledValue, defaultValue, onChange) {
4
+ const [internalValue, setInternalValue] = useState(defaultValue);
5
+ const isControlled = controlledValue !== void 0;
6
+ const value = isControlled ? controlledValue : internalValue;
7
+ const valueRef = useRef(value);
8
+ valueRef.current = value;
9
+ const isControlledRef = useRef(isControlled);
10
+ isControlledRef.current = isControlled;
11
+ const onChangeRef = useRef(onChange);
12
+ onChangeRef.current = onChange;
13
+ const setValue = useCallback((next, ...args) => {
14
+ const resolved = typeof next === "function" ? next(valueRef.current) : next;
15
+ if (!isControlledRef.current) {
16
+ setInternalValue(resolved);
17
+ }
18
+ onChangeRef.current?.(resolved, ...args);
19
+ }, []);
20
+ return [value, setValue];
21
+ }
22
+
23
+ export {
24
+ useControlledState
25
+ };