@expcat/tigercat-react 1.4.0 → 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 (352) hide show
  1. package/dist/{chunk-WV5XHYW6.js → chunk-23XPDNCA.js} +6 -4
  2. package/dist/{chunk-UAM3RQY4.js → chunk-24NDLFPK.js} +22 -28
  3. package/dist/{chunk-NMKFR435.js → chunk-2LKX6CE7.js} +7 -4
  4. package/dist/{chunk-BEZO5IE4.js → chunk-2PV3F47T.js} +2 -2
  5. package/dist/{chunk-ANN5P7TJ.js → chunk-2ZA4MUO2.js} +72 -29
  6. package/dist/{chunk-H4AR4GXH.js → chunk-3NVMKDMH.js} +1 -8
  7. package/dist/{chunk-7CHTTM6D.js → chunk-3RQ3FHJ7.js} +2 -2
  8. package/dist/{chunk-ELRZ2ZHM.mjs → chunk-4DRJA5ZK.mjs} +15 -17
  9. package/dist/{chunk-J3N24I7A.mjs → chunk-4F3UTDFE.mjs} +24 -6
  10. package/dist/{chunk-56CTXEJS.mjs → chunk-4HMMH4XS.mjs} +24 -11
  11. package/dist/{chunk-ZQSMJS2Q.mjs → chunk-4MREOFVE.mjs} +3 -3
  12. package/dist/{chunk-EEF26RBA.mjs → chunk-4SU6D2E7.mjs} +15 -3
  13. package/dist/{chunk-ZZAR4IDS.js → chunk-4TPRBVW7.js} +19 -2
  14. package/dist/{chunk-NSEO2B74.mjs → chunk-4V5RL25M.mjs} +8 -5
  15. package/dist/{chunk-AUW7DCXL.js → chunk-5JYVN65W.js} +24 -6
  16. package/dist/{chunk-YRVAF2ID.js → chunk-5QLSTNA3.js} +7 -1
  17. package/dist/chunk-5SX2M3LU.mjs +319 -0
  18. package/dist/{chunk-FI53LYZ6.js → chunk-5UREMEDS.js} +24 -8
  19. package/dist/chunk-6LGCAGNG.js +312 -0
  20. package/dist/{chunk-KED5S2WG.mjs → chunk-6REMGSLS.mjs} +22 -11
  21. package/dist/{chunk-PNAWOJ32.js → chunk-6S5QOTXZ.js} +14 -2
  22. package/dist/{chunk-4AMSYFYC.js → chunk-6SG2N4WF.js} +7 -7
  23. package/dist/{chunk-YSGM22AH.mjs → chunk-6UIVNRAR.mjs} +7 -4
  24. package/dist/{chunk-IZGXDHPB.mjs → chunk-7RI5W465.mjs} +19 -25
  25. package/dist/{chunk-DCKBVRLI.js → chunk-7UZ7O7KX.js} +63 -16
  26. package/dist/{chunk-WZUADPYB.js → chunk-7YI5TAPT.js} +2 -5
  27. package/dist/chunk-AI4V7L6K.mjs +230 -0
  28. package/dist/chunk-AQOXANET.mjs +222 -0
  29. package/dist/{chunk-HHMYERHY.mjs → chunk-ATSI3UKS.mjs} +2 -1
  30. package/dist/{chunk-ZRHDNGWO.js → chunk-BR3WLDH7.js} +16 -2
  31. package/dist/{chunk-2Y5NIPHB.mjs → chunk-BRPOEVRT.mjs} +32 -3
  32. package/dist/{chunk-I7FEGKX2.mjs → chunk-CR4QBH46.mjs} +36 -11
  33. package/dist/{chunk-7U6VWD4H.mjs → chunk-CSJGNEHR.mjs} +2 -2
  34. package/dist/{chunk-ANBNSUSR.js → chunk-CXXOZLP4.js} +31 -21
  35. package/dist/{chunk-DVEK5SO6.mjs → chunk-D4X3NBAI.mjs} +8 -3
  36. package/dist/{chunk-QIL24WZD.mjs → chunk-DEQZZKY5.mjs} +12 -7
  37. package/dist/{chunk-TEYL5X56.js → chunk-DH4B2COV.js} +105 -36
  38. package/dist/{chunk-BONUUJU3.mjs → chunk-DJOFM2VO.mjs} +1 -8
  39. package/dist/{chunk-SQTOVSDU.mjs → chunk-DO3MVZZN.mjs} +12 -6
  40. package/dist/{chunk-SDZKL3IB.mjs → chunk-E355NVP7.mjs} +35 -14
  41. package/dist/{chunk-CNNEUJR2.js → chunk-ENJMHEQU.js} +44 -19
  42. package/dist/{chunk-BRA3PO53.js → chunk-FBIBHTBG.js} +2 -2
  43. package/dist/{chunk-P36GX65N.js → chunk-FCCHM2B4.js} +40 -4
  44. package/dist/{chunk-4LIDROT4.js → chunk-FFDK6PEP.js} +7 -4
  45. package/dist/{chunk-R2KUNFDN.mjs → chunk-GA4YOE57.mjs} +2 -2
  46. package/dist/{chunk-3E76U2RG.js → chunk-GADCSCH2.js} +33 -5
  47. package/dist/{chunk-JOB47R6Q.mjs → chunk-GCOA4AO6.mjs} +72 -29
  48. package/dist/{chunk-M6YXUNOU.mjs → chunk-GOUSXJEY.mjs} +2 -2
  49. package/dist/{chunk-GDPU5MYA.js → chunk-GPAY5F7D.js} +11 -6
  50. package/dist/{chunk-TNTOSFGN.mjs → chunk-GQPKHMHA.mjs} +1 -1
  51. package/dist/{chunk-NKSYX4R7.mjs → chunk-GTDLZF7K.mjs} +2 -2
  52. package/dist/{chunk-OXQOKKTP.mjs → chunk-H7D7UBDC.mjs} +2 -2
  53. package/dist/{chunk-KYNWNTGO.js → chunk-HFGTJEQW.js} +82 -29
  54. package/dist/{chunk-J6OZWT3P.js → chunk-HVAG26CK.js} +3 -3
  55. package/dist/{chunk-SLEXEH7R.mjs → chunk-HWZSMV2M.mjs} +3 -11
  56. package/dist/{chunk-EJKOUI26.js → chunk-I5UB4FN3.js} +3 -3
  57. package/dist/{chunk-NVI2P7VH.js → chunk-I6VHGILW.js} +21 -9
  58. package/dist/{chunk-EOU6WZTS.js → chunk-I7OSNH5T.js} +34 -5
  59. package/dist/{chunk-L24PPXLV.js → chunk-IFB3OECJ.js} +1 -0
  60. package/dist/{chunk-376X7SDZ.mjs → chunk-IXAPFTTD.mjs} +7 -6
  61. package/dist/{chunk-EHIXCFD7.js → chunk-JHRFG5PG.js} +57 -12
  62. package/dist/{chunk-3EB42WFR.mjs → chunk-KCPGFO5R.mjs} +2 -2
  63. package/dist/{chunk-G3PBQ4B4.mjs → chunk-KQ4ZKXXN.mjs} +52 -2
  64. package/dist/{chunk-MC26ORSN.js → chunk-KSXGH3FO.js} +7 -7
  65. package/dist/{chunk-X7JAYXPY.js → chunk-KVWSVDAJ.js} +4 -4
  66. package/dist/{chunk-OFRKYQOZ.mjs → chunk-LACDTZTE.mjs} +4 -4
  67. package/dist/{chunk-YH57D4AV.mjs → chunk-LAKPYMBZ.mjs} +1 -0
  68. package/dist/{chunk-6GU5NH5F.mjs → chunk-LBXNMCXN.mjs} +33 -5
  69. package/dist/{chunk-KGMVRIYC.mjs → chunk-LOM6NNQK.mjs} +29 -16
  70. package/dist/{chunk-WFWEMXO7.mjs → chunk-LUABLBKS.mjs} +83 -30
  71. package/dist/{chunk-K2TXT5HQ.js → chunk-M577W3TS.js} +101 -85
  72. package/dist/{chunk-3EDASNTG.js → chunk-MOYZF62V.js} +29 -16
  73. package/dist/{chunk-ZDNQGS4O.js → chunk-MQIVMK24.js} +4 -4
  74. package/dist/{chunk-WMPCN7OF.mjs → chunk-MZCGQED3.mjs} +15 -3
  75. package/dist/{chunk-KDXKF6B2.mjs → chunk-MZPKFMQC.mjs} +1 -1
  76. package/dist/{chunk-AG4HRAW2.mjs → chunk-NEHSCSQP.mjs} +2 -2
  77. package/dist/chunk-NG3OBMKV.js +319 -0
  78. package/dist/{chunk-RFHPG4KN.js → chunk-NGSJGXUZ.js} +15 -17
  79. package/dist/{chunk-WIWTY74F.mjs → chunk-NJHZQBA7.mjs} +16 -2
  80. package/dist/{chunk-EQD2U4KM.js → chunk-O2N7ITWQ.js} +63 -16
  81. package/dist/{chunk-NASC6XHN.mjs → chunk-O6YIPNXX.mjs} +24 -15
  82. package/dist/{chunk-VHGCWZ6V.mjs → chunk-OTRPN5ZG.mjs} +58 -13
  83. package/dist/{chunk-QIKR5EFI.js → chunk-OVJO5NYW.js} +4 -4
  84. package/dist/{chunk-KXT2TP6A.mjs → chunk-P2WQIVXD.mjs} +22 -10
  85. package/dist/{chunk-PT5T5F4H.js → chunk-PQF5VLNX.js} +22 -11
  86. package/dist/chunk-PQOUWJAT.mjs +211 -0
  87. package/dist/{chunk-OS6M3IZF.js → chunk-PSCPLUGP.js} +5 -13
  88. package/dist/{chunk-ULWT6W6M.mjs → chunk-PZB24FST.mjs} +10 -5
  89. package/dist/{chunk-BO45CU4Q.js → chunk-PZWI4YNN.js} +6 -4
  90. package/dist/{chunk-PFYK2V3E.js → chunk-Q2OXQNWU.js} +73 -9
  91. package/dist/{chunk-VM4ZQHT5.mjs → chunk-QANWBRNU.mjs} +59 -12
  92. package/dist/{chunk-XBM76P27.mjs → chunk-QFUIGOOM.mjs} +4 -2
  93. package/dist/{chunk-BN4ZKCAI.mjs → chunk-QKNORS26.mjs} +49 -36
  94. package/dist/{chunk-LROHXQWX.js → chunk-R4PMBWU3.js} +2 -2
  95. package/dist/chunk-R56UOY6C.js +222 -0
  96. package/dist/chunk-RNHC7BON.js +230 -0
  97. package/dist/{chunk-7PXALKLM.js → chunk-RRO752KE.js} +11 -10
  98. package/dist/{chunk-RVLV63SI.mjs → chunk-S4NGDDAM.mjs} +105 -36
  99. package/dist/{chunk-D5MQBUP2.js → chunk-SA3N2LUB.js} +22 -17
  100. package/dist/{chunk-BROIZ266.js → chunk-SFBSI3J7.js} +6 -3
  101. package/dist/{chunk-RVO6R37N.mjs → chunk-SHDQJ5BJ.mjs} +1 -1
  102. package/dist/{chunk-N2JYU4JI.js → chunk-SHU7L4NM.js} +52 -2
  103. package/dist/{chunk-M3MOSUZO.mjs → chunk-SI3P3V75.mjs} +16 -6
  104. package/dist/{chunk-UVMQJOTX.js → chunk-SK7PXSVE.js} +23 -14
  105. package/dist/{chunk-U356F7GU.js → chunk-SO2ADQTB.js} +52 -11
  106. package/dist/{chunk-NKKIJQMV.mjs → chunk-SPIPFOGD.mjs} +4 -2
  107. package/dist/{chunk-NQNHM4OL.mjs → chunk-SRC7JHME.mjs} +1 -1
  108. package/dist/{chunk-2RBHQBSG.js → chunk-SXTMVZ4W.js} +25 -12
  109. package/dist/{chunk-BEM7XG2L.js → chunk-SYJJKI7U.js} +35 -14
  110. package/dist/{chunk-RYNLPRUM.mjs → chunk-SYVMCKPR.mjs} +1 -1
  111. package/dist/{chunk-SY23FAXK.mjs → chunk-T6HNFCOW.mjs} +24 -8
  112. package/dist/{chunk-ZITBUGBH.mjs → chunk-TBMDIAZI.mjs} +59 -12
  113. package/dist/{chunk-B63GEB2Y.js → chunk-TIDVBSXR.js} +47 -34
  114. package/dist/{chunk-ZJI2VLIL.js → chunk-TLDTBCT6.js} +15 -3
  115. package/dist/{chunk-XFPJYKBQ.js → chunk-TN7GMDME.js} +13 -9
  116. package/dist/{chunk-M3FVPPMM.js → chunk-TO4SSBAJ.js} +17 -12
  117. package/dist/{chunk-XTQUPDRI.js → chunk-TPU6S7G7.js} +2 -2
  118. package/dist/{chunk-NEZ445D4.mjs → chunk-TRXNHYWB.mjs} +3 -3
  119. package/dist/{chunk-H6NC6SBX.js → chunk-TVEO2CFD.js} +2 -2
  120. package/dist/{chunk-6QQBMZQ6.mjs → chunk-U2ZXZ2KQ.mjs} +74 -10
  121. package/dist/{chunk-AVLIUHOS.mjs → chunk-U337RHJB.mjs} +4 -4
  122. package/dist/{chunk-VC26SAXB.js → chunk-UQZ4RLTI.js} +12 -6
  123. package/dist/{chunk-PXO2F2CS.mjs → chunk-V23KR23W.mjs} +47 -4
  124. package/dist/{chunk-BA6TJQZL.js → chunk-V3QEV3TL.js} +6 -6
  125. package/dist/{chunk-GG72T6JK.js → chunk-VOSN3IQC.js} +47 -4
  126. package/dist/{chunk-J4OQ2VRH.mjs → chunk-W6T3CG7U.mjs} +45 -4
  127. package/dist/{chunk-OTEM4FVX.mjs → chunk-WGKNAOW7.mjs} +11 -7
  128. package/dist/chunk-WLFLQB4R.mjs +312 -0
  129. package/dist/{chunk-W6AWN7BC.js → chunk-WLORVPTR.js} +4 -4
  130. package/dist/{chunk-J5N5OQWB.mjs → chunk-WOEX4S6J.mjs} +5 -2
  131. package/dist/{chunk-CAQPYJFA.mjs → chunk-WT72F56O.mjs} +1 -1
  132. package/dist/{chunk-7Z64GEMN.js → chunk-WTASPL6V.js} +3 -1
  133. package/dist/{chunk-2LYV6NBJ.mjs → chunk-WTIEJCRV.mjs} +7 -1
  134. package/dist/{chunk-L6KSO66F.mjs → chunk-WYPTAUCX.mjs} +2 -5
  135. package/dist/{chunk-CC5GFX6F.js → chunk-XKMZ5AMS.js} +2 -1
  136. package/dist/{chunk-WCTNQYXO.js → chunk-XMD7CQQ2.js} +12 -7
  137. package/dist/{chunk-7DUHHRAU.mjs → chunk-Y5X3G2LD.mjs} +41 -5
  138. package/dist/{chunk-ZA5EFHET.mjs → chunk-Z6BDNV3S.mjs} +18 -1
  139. package/dist/{chunk-UBP7HZSU.mjs → chunk-ZG2W4HS5.mjs} +6 -4
  140. package/dist/{chunk-UIIOZEUP.js → chunk-ZLCVJXGL.js} +4 -4
  141. package/dist/{chunk-CME2IFUT.mjs → chunk-ZLP4XEAO.mjs} +21 -16
  142. package/dist/{chunk-YID7J6ZK.js → chunk-ZXVLZKLT.js} +1 -1
  143. package/dist/components/ActivityFeed.js +6 -6
  144. package/dist/components/ActivityFeed.mjs +5 -5
  145. package/dist/components/AreaChart.js +4 -4
  146. package/dist/components/AreaChart.mjs +3 -3
  147. package/dist/components/AutoComplete.js +3 -2
  148. package/dist/components/AutoComplete.mjs +2 -1
  149. package/dist/components/BackTop.js +2 -2
  150. package/dist/components/BackTop.mjs +1 -1
  151. package/dist/components/Badge.js +3 -2
  152. package/dist/components/Badge.mjs +2 -1
  153. package/dist/components/BarChart.js +4 -4
  154. package/dist/components/BarChart.mjs +3 -3
  155. package/dist/components/Breadcrumb.d.mts +1 -1
  156. package/dist/components/Breadcrumb.d.ts +1 -1
  157. package/dist/components/Calendar.d.mts +2 -10
  158. package/dist/components/Calendar.d.ts +2 -10
  159. package/dist/components/Calendar.js +3 -2
  160. package/dist/components/Calendar.mjs +2 -1
  161. package/dist/components/Cascader.js +2 -2
  162. package/dist/components/Cascader.mjs +1 -1
  163. package/dist/components/ChartAxis.d.mts +1 -2
  164. package/dist/components/ChartAxis.d.ts +1 -2
  165. package/dist/components/ChartGrid.d.mts +1 -2
  166. package/dist/components/ChartGrid.d.ts +1 -2
  167. package/dist/components/ChartLegend.js +2 -2
  168. package/dist/components/ChartLegend.mjs +1 -1
  169. package/dist/components/ChartSeries.d.mts +1 -2
  170. package/dist/components/ChartSeries.d.ts +1 -2
  171. package/dist/components/ChartTooltip.js +2 -2
  172. package/dist/components/ChartTooltip.mjs +1 -1
  173. package/dist/components/ChatWindow.js +8 -6
  174. package/dist/components/ChatWindow.mjs +7 -5
  175. package/dist/components/CodeEditor.js +2 -2
  176. package/dist/components/CodeEditor.mjs +1 -1
  177. package/dist/components/CommentThread.js +6 -4
  178. package/dist/components/CommentThread.mjs +5 -3
  179. package/dist/components/CropUpload.d.mts +6 -2
  180. package/dist/components/CropUpload.d.ts +6 -2
  181. package/dist/components/CropUpload.js +4 -4
  182. package/dist/components/CropUpload.mjs +3 -3
  183. package/dist/components/DataTableWithToolbar.d.mts +1 -2
  184. package/dist/components/DataTableWithToolbar.d.ts +1 -2
  185. package/dist/components/DataTableWithToolbar.js +7 -6
  186. package/dist/components/DataTableWithToolbar.mjs +6 -5
  187. package/dist/components/DatePicker.js +3 -2
  188. package/dist/components/DatePicker.mjs +2 -1
  189. package/dist/components/DonutChart.js +5 -5
  190. package/dist/components/DonutChart.mjs +4 -4
  191. package/dist/components/Empty.js +3 -2
  192. package/dist/components/Empty.mjs +2 -1
  193. package/dist/components/FileManager.d.mts +3 -23
  194. package/dist/components/FileManager.d.ts +3 -23
  195. package/dist/components/FileManager.js +2 -2
  196. package/dist/components/FileManager.mjs +1 -1
  197. package/dist/components/FloatButton.js +2 -2
  198. package/dist/components/FloatButton.mjs +1 -1
  199. package/dist/components/Form.js +2 -2
  200. package/dist/components/Form.mjs +1 -1
  201. package/dist/components/FormItem.js +3 -3
  202. package/dist/components/FormItem.mjs +2 -2
  203. package/dist/components/FormWizard.js +3 -3
  204. package/dist/components/FormWizard.mjs +2 -2
  205. package/dist/components/FunnelChart.js +4 -4
  206. package/dist/components/FunnelChart.mjs +3 -3
  207. package/dist/components/GaugeChart.js +3 -2
  208. package/dist/components/GaugeChart.mjs +2 -1
  209. package/dist/components/HeatmapChart.js +3 -3
  210. package/dist/components/HeatmapChart.mjs +2 -2
  211. package/dist/components/Image.js +5 -4
  212. package/dist/components/Image.mjs +4 -3
  213. package/dist/components/ImageAnnotation.d.mts +1 -1
  214. package/dist/components/ImageAnnotation.d.ts +1 -1
  215. package/dist/components/ImageAnnotation.js +3 -2
  216. package/dist/components/ImageAnnotation.mjs +2 -1
  217. package/dist/components/ImageCropper.js +3 -2
  218. package/dist/components/ImageCropper.mjs +2 -1
  219. package/dist/components/ImageGroup.js +4 -3
  220. package/dist/components/ImageGroup.mjs +3 -2
  221. package/dist/components/ImagePreview.js +3 -2
  222. package/dist/components/ImagePreview.mjs +2 -1
  223. package/dist/components/ImageViewer.d.mts +2 -0
  224. package/dist/components/ImageViewer.d.ts +2 -0
  225. package/dist/components/ImageViewer.js +3 -2
  226. package/dist/components/ImageViewer.mjs +2 -1
  227. package/dist/components/InfiniteScroll.js +2 -2
  228. package/dist/components/InfiniteScroll.mjs +1 -1
  229. package/dist/components/Input.js +3 -2
  230. package/dist/components/Input.mjs +2 -1
  231. package/dist/components/InputNumber.js +3 -2
  232. package/dist/components/InputNumber.mjs +2 -1
  233. package/dist/components/Kanban.d.mts +5 -1
  234. package/dist/components/Kanban.d.ts +5 -1
  235. package/dist/components/Kanban.js +3 -3
  236. package/dist/components/Kanban.mjs +2 -2
  237. package/dist/components/LineChart.js +4 -4
  238. package/dist/components/LineChart.mjs +3 -3
  239. package/dist/components/List.d.mts +1 -2
  240. package/dist/components/List.d.ts +1 -2
  241. package/dist/components/List.js +3 -3
  242. package/dist/components/List.mjs +2 -2
  243. package/dist/components/Loading.js +2 -2
  244. package/dist/components/Loading.mjs +1 -1
  245. package/dist/components/MarkdownEditor.js +2 -2
  246. package/dist/components/MarkdownEditor.mjs +1 -1
  247. package/dist/components/Menu.d.mts +2 -2
  248. package/dist/components/Menu.d.ts +2 -2
  249. package/dist/components/MenuItem.d.mts +1 -1
  250. package/dist/components/MenuItem.d.ts +1 -1
  251. package/dist/components/MenuItemGroup.d.mts +1 -1
  252. package/dist/components/MenuItemGroup.d.ts +1 -1
  253. package/dist/components/Message.d.mts +2 -1
  254. package/dist/components/Message.d.ts +2 -1
  255. package/dist/components/Message.js +2 -2
  256. package/dist/components/Message.mjs +1 -1
  257. package/dist/components/Modal.js +2 -2
  258. package/dist/components/Modal.mjs +1 -1
  259. package/dist/components/NotificationCenter.js +6 -6
  260. package/dist/components/NotificationCenter.mjs +5 -5
  261. package/dist/components/PieChart.js +4 -4
  262. package/dist/components/PieChart.mjs +3 -3
  263. package/dist/components/QRCode.d.mts +2 -1
  264. package/dist/components/QRCode.d.ts +2 -1
  265. package/dist/components/QRCode.js +3 -2
  266. package/dist/components/QRCode.mjs +2 -1
  267. package/dist/components/RadarChart.js +4 -4
  268. package/dist/components/RadarChart.mjs +3 -3
  269. package/dist/components/Rate.js +2 -2
  270. package/dist/components/Rate.mjs +1 -1
  271. package/dist/components/Resizable.js +2 -2
  272. package/dist/components/Resizable.mjs +1 -1
  273. package/dist/components/Result.js +2 -2
  274. package/dist/components/Result.mjs +1 -1
  275. package/dist/components/RichTextEditor.js +2 -2
  276. package/dist/components/RichTextEditor.mjs +1 -1
  277. package/dist/components/ScatterChart.js +4 -4
  278. package/dist/components/ScatterChart.mjs +3 -3
  279. package/dist/components/Segmented.d.mts +1 -1
  280. package/dist/components/Segmented.d.ts +1 -1
  281. package/dist/components/Segmented.js +2 -2
  282. package/dist/components/Segmented.mjs +1 -1
  283. package/dist/components/Select.js +2 -2
  284. package/dist/components/Select.mjs +1 -1
  285. package/dist/components/Slider.js +2 -2
  286. package/dist/components/Slider.mjs +1 -1
  287. package/dist/components/Splitter.js +2 -2
  288. package/dist/components/Splitter.mjs +1 -1
  289. package/dist/components/Steps.js +2 -2
  290. package/dist/components/Steps.mjs +1 -1
  291. package/dist/components/StepsItem.js +2 -2
  292. package/dist/components/StepsItem.mjs +1 -1
  293. package/dist/components/SubMenu.d.mts +1 -1
  294. package/dist/components/SubMenu.d.ts +1 -1
  295. package/dist/components/SunburstChart.js +4 -4
  296. package/dist/components/SunburstChart.mjs +3 -3
  297. package/dist/components/TabPane.js +2 -2
  298. package/dist/components/TabPane.mjs +1 -1
  299. package/dist/components/Table.d.mts +2 -2
  300. package/dist/components/Table.d.ts +2 -2
  301. package/dist/components/Table.js +4 -4
  302. package/dist/components/Table.mjs +3 -3
  303. package/dist/components/Tabs.d.mts +0 -4
  304. package/dist/components/Tabs.d.ts +0 -4
  305. package/dist/components/Tabs.js +2 -2
  306. package/dist/components/Tabs.mjs +1 -1
  307. package/dist/components/Tag.js +3 -2
  308. package/dist/components/Tag.mjs +2 -1
  309. package/dist/components/TaskBoard.d.mts +3 -1
  310. package/dist/components/TaskBoard.d.ts +3 -1
  311. package/dist/components/TaskBoard.js +2 -2
  312. package/dist/components/TaskBoard.mjs +1 -1
  313. package/dist/components/Textarea.js +3 -2
  314. package/dist/components/Textarea.mjs +2 -1
  315. package/dist/components/TimePicker.js +2 -2
  316. package/dist/components/TimePicker.mjs +1 -1
  317. package/dist/components/Timeline.d.mts +5 -1
  318. package/dist/components/Timeline.d.ts +5 -1
  319. package/dist/components/Timeline.js +3 -2
  320. package/dist/components/Timeline.mjs +2 -1
  321. package/dist/components/Tour.js +4 -3
  322. package/dist/components/Tour.mjs +3 -2
  323. package/dist/components/Transfer.js +2 -2
  324. package/dist/components/Transfer.mjs +1 -1
  325. package/dist/components/Tree.js +3 -3
  326. package/dist/components/Tree.mjs +2 -2
  327. package/dist/components/TreeMapChart.js +4 -4
  328. package/dist/components/TreeMapChart.mjs +3 -3
  329. package/dist/components/Upload.js +2 -2
  330. package/dist/components/Upload.mjs +1 -1
  331. package/dist/components/VirtualList.js +2 -2
  332. package/dist/components/VirtualList.mjs +1 -1
  333. package/dist/components/VirtualTable.d.mts +7 -2
  334. package/dist/components/VirtualTable.d.ts +7 -2
  335. package/dist/components/VirtualTable.js +2 -2
  336. package/dist/components/VirtualTable.mjs +1 -1
  337. package/dist/index.d.mts +52 -53
  338. package/dist/index.d.ts +52 -53
  339. package/dist/index.js +81 -81
  340. package/dist/index.mjs +80 -80
  341. package/dist/{types-DaC4a0Ny.d.ts → types-CcgZY0mv.d.mts} +2 -2
  342. package/dist/{types-DaC4a0Ny.d.mts → types-CcgZY0mv.d.ts} +2 -2
  343. package/package.json +6 -6
  344. package/dist/chunk-5EVHVZG5.js +0 -131
  345. package/dist/chunk-AF2AEZKM.js +0 -165
  346. package/dist/chunk-CDRQSKXT.mjs +0 -195
  347. package/dist/chunk-EPJ6W4VI.mjs +0 -165
  348. package/dist/chunk-GYQ2DN6Z.mjs +0 -174
  349. package/dist/chunk-MTIGGMHG.mjs +0 -180
  350. package/dist/chunk-NDGA3N6H.js +0 -180
  351. package/dist/chunk-S5Y6UHAK.mjs +0 -131
  352. package/dist/chunk-T7KO6EVK.js +0 -174
@@ -1,4 +1,8 @@
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; }// src/components/AutoComplete.tsx
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
+
3
+ var _chunkTDODFBBOjs = require('./chunk-TDODFBBO.js');
4
+
5
+ // src/components/AutoComplete.tsx
2
6
  var _react = require('react');
3
7
 
4
8
 
@@ -16,6 +20,8 @@ var _react = require('react');
16
20
 
17
21
 
18
22
 
23
+
24
+
19
25
  var _tigercatcore = require('@expcat/tigercat-core');
20
26
  var _jsxruntime = require('react/jsx-runtime');
21
27
  var AUTOCOMPLETE_KEYS = /* @__PURE__ */ new Set([
@@ -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 = _chunkTDODFBBOjs.useTigerConfig.call(void 0, );
63
+ const mergedLocale = _react.useMemo.call(void 0,
64
+ () => _tigercatcore.mergeTigerLocale.call(void 0, config.locale, locale),
65
+ [config.locale, locale]
66
+ );
67
+ const resolvedNotFoundText = _tigercatcore.resolveLocaleText.call(void 0,
68
+ "No matches found",
69
+ notFoundText,
70
+ _optionalChain([mergedLocale, 'optionalAccess', _ => _.common, 'optionalAccess', _2 => _2.emptyText])
71
+ );
53
72
  const divProps = {};
54
73
  for (const key of Object.keys(rest)) {
55
74
  if (!AUTOCOMPLETE_KEYS.has(key)) {
@@ -80,11 +99,28 @@ 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
+ _optionalChain([onChange, 'optionalCall', _3 => _3(match.value)]);
108
+ _optionalChain([onSelect, 'optionalCall', _4 => _4(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
+ _optionalChain([onChange, 'optionalCall', _5 => _5(current ? current.value : "")]);
117
+ }
118
+ }
83
119
  function handleInput(e) {
84
120
  const val = e.target.value;
85
121
  setInputValue(val);
86
- _optionalChain([onChange, 'optionalCall', _ => _(val)]);
87
- _optionalChain([onSearch, 'optionalCall', _2 => _2(val)]);
122
+ _optionalChain([onChange, 'optionalCall', _6 => _6(val)]);
123
+ _optionalChain([onSearch, 'optionalCall', _7 => _7(val)]);
88
124
  if (!isOpen) {
89
125
  setIsOpen(true);
90
126
  }
@@ -96,15 +132,15 @@ var AutoComplete = (props) => {
96
132
  function handleSelect(option) {
97
133
  if (option.disabled) return;
98
134
  setInputValue(option.label);
99
- _optionalChain([onChange, 'optionalCall', _3 => _3(option.value)]);
100
- _optionalChain([onSelect, 'optionalCall', _4 => _4(option.value, option)]);
135
+ _optionalChain([onChange, 'optionalCall', _8 => _8(option.value)]);
136
+ _optionalChain([onSelect, 'optionalCall', _9 => _9(option.value, option)]);
101
137
  closeDropdown();
102
138
  }
103
139
  function handleClear(e) {
104
140
  e.stopPropagation();
105
141
  setInputValue("");
106
- _optionalChain([onChange, 'optionalCall', _5 => _5("")]);
107
- requestAnimationFrame(() => _optionalChain([inputRef, 'access', _6 => _6.current, 'optionalAccess', _7 => _7.focus, 'call', _8 => _8()]));
142
+ _optionalChain([onChange, 'optionalCall', _10 => _10("")]);
143
+ requestAnimationFrame(() => _optionalChain([inputRef, 'access', _11 => _11.current, 'optionalAccess', _12 => _12.focus, 'call', _13 => _13()]));
108
144
  }
109
145
  function handleKeyDown(e) {
110
146
  if (!isOpen) {
@@ -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__ */ _jsxruntime.jsx.call(void 0,
@@ -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": _tigercatcore.resolveLocaleText.call(void 0, "Clear", _optionalChain([mergedLocale, 'optionalAccess', _14 => _14.common, 'optionalAccess', _15 => _15.clearText])),
171
211
  onClick: handleClear,
172
212
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
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__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.classNames.call(void 0, _tigercatcore.autoCompleteDropdownClasses, _tigercatcore.autoCompleteEmptyStateClasses), children: notFoundText })
244
+ isOpen && inputValue && filteredOptions.length === 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _tigercatcore.classNames.call(void 0, _tigercatcore.autoCompleteDropdownClasses, _tigercatcore.autoCompleteEmptyStateClasses), children: resolvedNotFoundText })
204
245
  ] });
205
246
  };
206
247
 
@@ -9,7 +9,8 @@ import {
9
9
  getSliderTooltipClasses,
10
10
  sliderGetPercentage,
11
11
  sliderGetValueFromPosition,
12
- sliderGetKeyboardValue
12
+ sliderGetKeyboardValue,
13
+ sliderResolveMarks
13
14
  } from "@expcat/tigercat-core";
14
15
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
15
16
  var Thumb = memo(
@@ -216,7 +217,8 @@ var Slider = ({
216
217
  const tooltipClasses = useMemo(() => getSliderTooltipClasses(size), [size]);
217
218
  const renderMarks = () => {
218
219
  if (!marks) return null;
219
- const marksObj = typeof marks === "boolean" ? {} : marks;
220
+ const marksObj = sliderResolveMarks(marks, min, max);
221
+ if (Object.keys(marksObj).length === 0) return null;
220
222
  return /* @__PURE__ */ jsx("div", { className: "absolute w-full top-full mt-2", children: Object.entries(marksObj).map(([key, label]) => {
221
223
  const value = Number(key);
222
224
  const left = getPercentage(value);
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-6QML6T3Y.mjs";
4
4
  import {
5
5
  ChartTooltip
6
- } from "./chunk-NASC6XHN.mjs";
6
+ } from "./chunk-O6YIPNXX.mjs";
7
7
  import {
8
8
  ChartCanvas
9
9
  } from "./chunk-DKNVSQSV.mjs";
@@ -1,13 +1,16 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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; }
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 _chunkANBNSUSRjs = require('./chunk-ANBNSUSR.js');
3
+ var _chunkCXXOZLP4js = require('./chunk-CXXOZLP4.js');
4
4
 
5
5
 
6
- var _chunkFI53LYZ6js = require('./chunk-FI53LYZ6.js');
6
+ var _chunk5UREMEDSjs = require('./chunk-5UREMEDS.js');
7
7
 
8
8
 
9
9
  var _chunkZLNBE4ISjs = require('./chunk-ZLNBE4IS.js');
10
10
 
11
+
12
+ var _chunkTDODFBBOjs = require('./chunk-TDODFBBO.js');
13
+
11
14
  // src/components/CropUpload.tsx
12
15
  var _react = require('react');
13
16
 
@@ -19,20 +22,29 @@ var _react = require('react');
19
22
 
20
23
 
21
24
 
25
+
26
+
22
27
  var _tigercatcore = require('@expcat/tigercat-core');
23
28
  var _jsxruntime = require('react/jsx-runtime');
24
29
  var CropUpload = ({
30
+ locale,
25
31
  accept = "image/*",
26
32
  disabled = false,
27
33
  maxSize,
28
34
  cropperProps,
29
- modalTitle = "\u88C1\u526A\u56FE\u7247",
30
- modalWidth: _modalWidth = 520,
35
+ modalTitle,
36
+ modalWidth = 520,
31
37
  className,
32
38
  children,
33
39
  onCropComplete,
34
40
  onError
35
41
  }) => {
42
+ const config = _chunkTDODFBBOjs.useTigerConfig.call(void 0, );
43
+ const mergedLocale = _react.useMemo.call(void 0,
44
+ () => _tigercatcore.mergeTigerLocale.call(void 0, config.locale, locale),
45
+ [config.locale, locale]
46
+ );
47
+ const labels = _react.useMemo.call(void 0, () => _tigercatcore.getImageEditorLabels.call(void 0, mergedLocale), [mergedLocale]);
36
48
  const fileInputRef = _react.useRef.call(void 0, null);
37
49
  const cropperRef = _react.useRef.call(void 0, null);
38
50
  const [modalVisible, setModalVisible] = _react.useState.call(void 0, false);
@@ -112,7 +124,7 @@ var CropUpload = ({
112
124
  onClick: handleTriggerClick,
113
125
  role: "button",
114
126
  tabIndex: disabled ? -1 : 0,
115
- "aria-label": "Select image to crop and upload",
127
+ "aria-label": labels.selectImageAriaLabel,
116
128
  "aria-disabled": disabled ? "true" : void 0,
117
129
  onKeyDown: handleKeyDown,
118
130
  children: children || /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -135,25 +147,26 @@ var CropUpload = ({
135
147
  )
136
148
  }
137
149
  ),
138
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "\u9009\u62E9\u56FE\u7247" })
150
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: labels.selectImageText })
139
151
  ] })
140
152
  }
141
153
  ),
142
154
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
143
- _chunkANBNSUSRjs.Modal,
155
+ _chunkCXXOZLP4js.Modal,
144
156
  {
145
157
  open: modalVisible,
146
158
  size: "lg",
147
- title: modalTitle,
159
+ width: modalWidth,
160
+ title: _nullishCoalesce(modalTitle, () => ( labels.cropModalTitle)),
148
161
  className: "tiger-crop-upload-modal",
149
162
  closable: true,
150
163
  maskClosable: false,
151
164
  onClose: handleCancel,
152
165
  footer: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-3", children: [
153
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZLNBE4ISjs.Button, { variant: "secondary", onClick: handleCancel, children: "\u53D6\u6D88" }),
154
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZLNBE4ISjs.Button, { onClick: handleConfirm, loading: cropping, children: "\u786E\u8BA4\u88C1\u526A" })
166
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZLNBE4ISjs.Button, { variant: "secondary", onClick: handleCancel, children: labels.cropCancelText }),
167
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZLNBE4ISjs.Button, { onClick: handleConfirm, loading: cropping, children: labels.cropConfirmText })
155
168
  ] }),
156
- children: imageSrc && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFI53LYZ6js.ImageCropper, { ref: cropperRef, src: imageSrc, ...cropperProps })
169
+ children: imageSrc && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5UREMEDSjs.ImageCropper, { ref: cropperRef, src: imageSrc, locale, ...cropperProps })
157
170
  }
158
171
  )
159
172
  ] });
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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; }
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
3
 
4
4
  var _chunkHQ3QOT7Hjs = require('./chunk-HQ3QOT7H.js');
@@ -28,6 +28,14 @@ var _tigercatcore = require('@expcat/tigercat-core');
28
28
  var _jsxruntime = require('react/jsx-runtime');
29
29
  var MESSAGE_CONTAINER_ID = "tiger-message-container";
30
30
  var MESSAGE_CLOSE_ARIA_LABEL = "Close message";
31
+ var MESSAGE_POSITIONS = [
32
+ "top",
33
+ "top-left",
34
+ "top-right",
35
+ "bottom",
36
+ "bottom-left",
37
+ "bottom-right"
38
+ ];
31
39
  var messageInstances = [];
32
40
  var containerRoot = null;
33
41
  var updateCallback = null;
@@ -91,17 +99,12 @@ var MessageItem = ({ message, onClose }) => {
91
99
  }
92
100
  );
93
101
  };
94
- var MessageContainer = ({ position = "top" }) => {
95
- const [messages, setMessages] = _react.useState.call(void 0, () => [...messageInstances]);
96
- _react.useEffect.call(void 0, () => {
97
- updateCallback = () => {
98
- setMessages([...messageInstances]);
99
- };
100
- return () => {
101
- updateCallback = null;
102
- };
103
- }, []);
102
+ var MessageContainer = ({
103
+ position = "top",
104
+ messages = messageInstances.filter((message) => message.position === position)
105
+ }) => {
104
106
  const containerClasses = _tigercatcore.classNames.call(void 0, _tigercatcore.messageContainerBaseClasses, _tigercatcore.messagePositionClasses[position]);
107
+ const containerId = position === "top" ? MESSAGE_CONTAINER_ID : `${MESSAGE_CONTAINER_ID}-${position}`;
105
108
  const handleRemove = _react.useCallback.call(void 0, (id) => {
106
109
  removeMessage(id);
107
110
  }, []);
@@ -109,14 +112,31 @@ var MessageContainer = ({ position = "top" }) => {
109
112
  "div",
110
113
  {
111
114
  className: containerClasses,
112
- id: MESSAGE_CONTAINER_ID,
115
+ id: containerId,
113
116
  "aria-live": "polite",
114
117
  "aria-relevant": "additions",
118
+ "data-tiger-message-position": position,
115
119
  "data-tiger-message-container": true,
116
120
  children: messages.map((message) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MessageItem, { message, onClose: handleRemove }, message.id))
117
121
  }
118
122
  );
119
123
  };
124
+ var MessageHost = () => {
125
+ const [messages, setMessages] = _react.useState.call(void 0, () => [...messageInstances]);
126
+ _react.useEffect.call(void 0, () => {
127
+ updateCallback = () => {
128
+ setMessages([...messageInstances]);
129
+ };
130
+ return () => {
131
+ updateCallback = null;
132
+ };
133
+ }, []);
134
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: MESSAGE_POSITIONS.map((position) => {
135
+ const positionedMessages = messages.filter((message) => message.position === position);
136
+ if (positionedMessages.length === 0) return null;
137
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MessageContainer, { position, messages: positionedMessages }, position);
138
+ }) });
139
+ };
120
140
  function ensureContainer() {
121
141
  if (!_tigercatcore.isBrowser.call(void 0, )) {
122
142
  return;
@@ -138,7 +158,7 @@ function ensureContainer() {
138
158
  }
139
159
  containerRoot = _client.createRoot.call(void 0, rootEl);
140
160
  _reactdom.flushSync.call(void 0, () => {
141
- _optionalChain([containerRoot, 'optionalAccess', _ => _.render, 'call', _2 => _2(/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MessageContainer, {}))]);
161
+ _optionalChain([containerRoot, 'optionalAccess', _ => _.render, 'call', _2 => _2(/* @__PURE__ */ _jsxruntime.jsx.call(void 0, MessageHost, {}))]);
142
162
  });
143
163
  }
144
164
  function addMessage(config) {
@@ -151,7 +171,8 @@ function addMessage(config) {
151
171
  closable: config.closable || false,
152
172
  onClose: config.onClose,
153
173
  icon: config.icon,
154
- className: config.className
174
+ className: config.className,
175
+ position: _nullishCoalesce(config.position, () => ( "top"))
155
176
  };
156
177
  messageInstances.push(instance);
157
178
  const rootId = `${MESSAGE_CONTAINER_ID}-root`;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ImagePreview
3
- } from "./chunk-KXT2TP6A.mjs";
3
+ } from "./chunk-P2WQIVXD.mjs";
4
4
 
5
5
  // src/components/ImageGroup.tsx
6
6
  import { useState, useCallback, useMemo, createContext, useRef } from "react";
@@ -1,3 +1,7 @@
1
+ import {
2
+ useTigerConfig
3
+ } from "./chunk-QAIBQHIO.mjs";
4
+
1
5
  // src/components/ImageCropper.tsx
2
6
  import {
3
7
  useState,
@@ -5,6 +9,7 @@ import {
5
9
  useEffect,
6
10
  useCallback,
7
11
  useMemo,
12
+ useId,
8
13
  useImperativeHandle,
9
14
  forwardRef
10
15
  } from "react";
@@ -21,7 +26,9 @@ import {
21
26
  getInitialCropRect,
22
27
  resizeCropRect,
23
28
  moveCropRect,
24
- cropCanvas
29
+ cropCanvas,
30
+ getImageEditorLabels,
31
+ mergeTigerLocale
25
32
  } from "@expcat/tigercat-core";
26
33
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
27
34
  var ImageCropper = forwardRef(
@@ -33,11 +40,20 @@ var ImageCropper = forwardRef(
33
40
  outputType = "image/png",
34
41
  quality = 0.92,
35
42
  guides = true,
43
+ locale,
36
44
  className,
37
45
  style,
38
46
  onCropChange,
39
47
  onReady
40
48
  }, ref) => {
49
+ const reactId = useId();
50
+ const maskId = `tiger-crop-mask-${reactId.replace(/:/g, "")}`;
51
+ const config = useTigerConfig();
52
+ const mergedLocale = useMemo(
53
+ () => mergeTigerLocale(config.locale, locale),
54
+ [config.locale, locale]
55
+ );
56
+ const labels = useMemo(() => getImageEditorLabels(mergedLocale), [mergedLocale]);
41
57
  const containerRef = useRef(null);
42
58
  const imageRef = useRef(null);
43
59
  const [imageLoaded, setImageLoaded] = useState(false);
@@ -267,7 +283,7 @@ var ImageCropper = forwardRef(
267
283
  className: classNames(containerClasses, "flex items-center justify-center"),
268
284
  style: { ...style, minHeight: "200px" },
269
285
  role: "img",
270
- "aria-label": "Loading image for cropping",
286
+ "aria-label": labels.loadingCropImageAriaLabel,
271
287
  children: /* @__PURE__ */ jsx("div", { className: "w-8 h-8 border-2 border-white/30 border-t-white rounded-full animate-spin" })
272
288
  }
273
289
  );
@@ -283,7 +299,7 @@ var ImageCropper = forwardRef(
283
299
  height: `${displayHeight}px`
284
300
  },
285
301
  role: "application",
286
- "aria-label": "Image cropper",
302
+ "aria-label": labels.cropperDialogAriaLabel,
287
303
  "aria-roledescription": "image cropper",
288
304
  children: [
289
305
  /* @__PURE__ */ jsx(
@@ -293,7 +309,7 @@ var ImageCropper = forwardRef(
293
309
  className: imageCropperImgClasses,
294
310
  style: { width: `${displayWidth}px`, height: `${displayHeight}px` },
295
311
  draggable: false,
296
- alt: "Image to crop"
312
+ alt: labels.imageToCropAriaLabel
297
313
  }
298
314
  ),
299
315
  /* @__PURE__ */ jsxs(
@@ -304,7 +320,7 @@ var ImageCropper = forwardRef(
304
320
  height: displayHeight,
305
321
  xmlns: "http://www.w3.org/2000/svg",
306
322
  children: [
307
- /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("mask", { id: "crop-mask", children: [
323
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("mask", { id: maskId, children: [
308
324
  /* @__PURE__ */ jsx("rect", { width: displayWidth, height: displayHeight, fill: "white" }),
309
325
  /* @__PURE__ */ jsx("rect", { x: cr.x, y: cr.y, width: cr.width, height: cr.height, fill: "black" })
310
326
  ] }) }),
@@ -314,7 +330,7 @@ var ImageCropper = forwardRef(
314
330
  width: displayWidth,
315
331
  height: displayHeight,
316
332
  fill: "var(--tiger-image-cropper-mask, rgba(0,0,0,0.55))",
317
- mask: "url(#crop-mask)"
333
+ mask: `url(#${maskId})`
318
334
  }
319
335
  )
320
336
  ]
@@ -344,7 +360,7 @@ var ImageCropper = forwardRef(
344
360
  },
345
361
  role: "button",
346
362
  tabIndex: 0,
347
- "aria-label": "Move crop area",
363
+ "aria-label": labels.moveCropAreaAriaLabel,
348
364
  onMouseDown: (e) => handleMouseDown(e, "move"),
349
365
  onTouchStart: (e) => handleTouchStart(e, "move"),
350
366
  onKeyDown: handleMoveKeyDown
@@ -427,7 +443,7 @@ var ImageCropper = forwardRef(
427
443
  style: pos,
428
444
  role: "button",
429
445
  tabIndex: 0,
430
- "aria-label": `Resize crop area ${handle}`,
446
+ "aria-label": labels.resizeCropAreaAriaLabel.replace("{handle}", handle),
431
447
  onMouseDown: (e) => handleMouseDown(e, "resize", handle),
432
448
  onTouchStart: (e) => handleTouchStart(e, "resize", handle),
433
449
  onKeyDown: (e) => handleResizeKeyDown(e, handle)
@@ -3,13 +3,13 @@ import {
3
3
  } from "./chunk-6QML6T3Y.mjs";
4
4
  import {
5
5
  ChartLegend
6
- } from "./chunk-UBP7HZSU.mjs";
6
+ } from "./chunk-ZG2W4HS5.mjs";
7
7
  import {
8
8
  ChartSeries
9
9
  } from "./chunk-SDLMB34Y.mjs";
10
10
  import {
11
11
  ChartTooltip
12
- } from "./chunk-NASC6XHN.mjs";
12
+ } from "./chunk-O6YIPNXX.mjs";
13
13
  import {
14
14
  ChartAxis
15
15
  } from "./chunk-RQSQXQN6.mjs";
@@ -49,12 +49,12 @@ var LineChart = ({
49
49
  series,
50
50
  xScale: xScaleProp,
51
51
  yScale: yScaleProp,
52
- lineColor: _lineColor = "var(--tiger-primary,#2563eb)",
52
+ lineColor = "var(--tiger-primary,#2563eb)",
53
53
  strokeWidth = 2,
54
54
  curve = "linear",
55
55
  showPoints = true,
56
56
  pointSize = 4,
57
- pointColor: _pointColor,
57
+ pointColor,
58
58
  showGrid = true,
59
59
  showAxis = true,
60
60
  showXAxis = true,
@@ -112,8 +112,13 @@ var LineChart = ({
112
112
  [width, height, padding]
113
113
  );
114
114
  const resolvedSeries = useMemo(
115
- () => resolveSeriesData(series, data),
116
- [series, data]
115
+ () => resolveSeriesData(series, data, {
116
+ // Single-series colors (`lineColor`/`pointColor`) seed the synthesized
117
+ // series so they take effect when only `data` is provided.
118
+ color: lineColor,
119
+ pointColor
120
+ }),
121
+ [series, data, lineColor, pointColor]
117
122
  );
118
123
  const {
119
124
  activeIndex,
@@ -259,6 +264,16 @@ var LineChart = ({
259
264
  setHoveredPointInfo(null);
260
265
  onPointHover?.(null, null, null);
261
266
  }, [onPointHover]);
267
+ const showPointTooltipFromElement = useCallback(
268
+ (el, seriesIndex, pointIndex) => {
269
+ if (!hoverable) return;
270
+ const rect = el.getBoundingClientRect();
271
+ setHoveredPointInfo({ seriesIndex, pointIndex });
272
+ setTooltipPosition({ x: rect.left + rect.width / 2, y: rect.top + rect.height / 2 });
273
+ onPointHover?.(seriesIndex, pointIndex, resolvedSeries[seriesIndex]?.data[pointIndex]);
274
+ },
275
+ [hoverable, onPointHover, resolvedSeries]
276
+ );
262
277
  const handlePointClick = useCallback(
263
278
  (seriesIndex, pointIndex) => {
264
279
  onPointClick?.(seriesIndex, pointIndex, resolvedSeries[seriesIndex]?.data[pointIndex]);
@@ -275,6 +290,7 @@ var LineChart = ({
275
290
  },
276
291
  [selectable, handleSeriesSelect]
277
292
  );
293
+ const pointClickable = selectable || !!onPointClick;
278
294
  const chart = /* @__PURE__ */ jsxs(
279
295
  ChartCanvas,
280
296
  {
@@ -437,6 +453,8 @@ var LineChart = ({
437
453
  sd.showPoints && sd.points.map((point) => {
438
454
  const isHovered = hoveredPointInfo?.seriesIndex === sd.seriesIndex && hoveredPointInfo?.pointIndex === point.pointIndex;
439
455
  const hoverSize = sd.pointSize + 2;
456
+ const datum = resolvedSeries[sd.seriesIndex]?.data?.[point.pointIndex];
457
+ const pointInteractive = hoverable || pointClickable;
440
458
  return /* @__PURE__ */ jsx(
441
459
  "circle",
442
460
  {
@@ -446,17 +464,46 @@ var LineChart = ({
446
464
  fill: sd.pointHollow ? "white" : pointGradient ? `url(#${gradientPrefix}-point-${sd.seriesKey})` : sd.pointColor,
447
465
  stroke: sd.pointHollow ? sd.pointColor : "none",
448
466
  strokeWidth: sd.pointHollow ? 2 : 0,
449
- className: linePointTransitionClasses,
467
+ className: classNames(
468
+ linePointTransitionClasses,
469
+ pointInteractive && "cursor-pointer"
470
+ ),
450
471
  style: isHovered ? { filter: `drop-shadow(0 0 4px ${sd.color})` } : void 0,
472
+ role: pointInteractive ? "button" : "img",
473
+ "aria-label": datum?.label ?? String(datum?.y ?? ""),
474
+ tabIndex: pointInteractive ? 0 : void 0,
451
475
  "data-point-index": point.pointIndex,
452
476
  "data-series-key": sd.seriesKey,
453
- onMouseEnter: (e) => handlePointMouseEnter(sd.seriesIndex, point.pointIndex, e),
454
- onMouseMove: handlePointMouseMove,
455
- onMouseLeave: handlePointMouseLeave,
456
- onClick: (e) => {
477
+ onMouseEnter: hoverable ? (e) => handlePointMouseEnter(sd.seriesIndex, point.pointIndex, e) : void 0,
478
+ onMouseMove: hoverable ? handlePointMouseMove : void 0,
479
+ onMouseLeave: hoverable ? handlePointMouseLeave : void 0,
480
+ onClick: pointClickable ? (e) => {
457
481
  e.stopPropagation();
458
482
  handlePointClick(sd.seriesIndex, point.pointIndex);
459
- }
483
+ } : void 0,
484
+ onFocus: hoverable ? (e) => showPointTooltipFromElement(
485
+ e.currentTarget,
486
+ sd.seriesIndex,
487
+ point.pointIndex
488
+ ) : void 0,
489
+ onBlur: hoverable ? handlePointMouseLeave : void 0,
490
+ onKeyDown: pointInteractive ? (e) => {
491
+ if (e.key === "Enter" || e.key === " ") {
492
+ e.preventDefault();
493
+ e.stopPropagation();
494
+ if (pointClickable) {
495
+ handlePointClick(sd.seriesIndex, point.pointIndex);
496
+ } else {
497
+ showPointTooltipFromElement(
498
+ e.currentTarget,
499
+ sd.seriesIndex,
500
+ point.pointIndex
501
+ );
502
+ }
503
+ } else if (e.key === "Escape" && hoverable) {
504
+ handlePointMouseLeave();
505
+ }
506
+ } : void 0
460
507
  },
461
508
  `point-${sd.seriesKey}-${point.pointIndex}`
462
509
  );