@expcat/tigercat-react 1.0.7 → 1.1.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 (443) hide show
  1. package/dist/chunk-2EC4F7VG.js +134 -0
  2. package/dist/{chunk-NZNSUKPT.js → chunk-2HDQRMGU.js} +3 -21
  3. package/dist/{chunk-LVC43YX2.mjs → chunk-2IUTFPQQ.mjs} +6 -6
  4. package/dist/{chunk-LPNHBHS2.mjs → chunk-2LER76UK.mjs} +40 -5
  5. package/dist/{chunk-PXPUPQRO.js → chunk-2N3CQT4X.js} +23 -4
  6. package/dist/{chunk-BJ2GUKPU.mjs → chunk-2PLPUM5J.mjs} +7 -17
  7. package/dist/{chunk-C443YA4U.js → chunk-2QV56L36.js} +15 -11
  8. package/dist/{chunk-M375I56K.js → chunk-36ATCHP4.js} +5 -5
  9. package/dist/{chunk-AUP3PMDD.mjs → chunk-36WZNVQ5.mjs} +59 -50
  10. package/dist/{chunk-VHHEP5G7.js → chunk-3E76U2RG.js} +22 -2
  11. package/dist/chunk-3HPDLIX3.mjs +108 -0
  12. package/dist/{chunk-QHG7KJH6.js → chunk-3RRYDYVB.js} +23 -27
  13. package/dist/{chunk-3GW3UAKB.js → chunk-466OSPRM.js} +48 -8
  14. package/dist/{chunk-RUROWRB5.mjs → chunk-4G74P6YD.mjs} +4 -3
  15. package/dist/{chunk-AY5Z3NIW.js → chunk-4LIDROT4.js} +11 -7
  16. package/dist/chunk-4R5YXNU4.mjs +42 -0
  17. package/dist/{chunk-VVO4V4IK.js → chunk-4TEILQSN.js} +1 -1
  18. package/dist/{chunk-MQ5ZP5RW.mjs → chunk-4V2HSSQN.mjs} +5 -2
  19. package/dist/{chunk-D6BHFGTN.js → chunk-4YVXF45R.js} +3 -2
  20. package/dist/{chunk-HSHVLIEL.mjs → chunk-564WBQ77.mjs} +11 -11
  21. package/dist/{chunk-QO3GGQAV.mjs → chunk-5HFHHFQS.mjs} +25 -28
  22. package/dist/{chunk-SDWJSALH.js → chunk-5OLE7XM3.js} +156 -137
  23. package/dist/{chunk-DBNAL6G6.mjs → chunk-5OMSQ5PV.mjs} +72 -260
  24. package/dist/{chunk-YLZEOXFS.mjs → chunk-6GU5NH5F.mjs} +22 -2
  25. package/dist/{chunk-XEYP62CR.js → chunk-6LDJSFUQ.js} +71 -14
  26. package/dist/{chunk-RYW4CV7U.js → chunk-6N6CWBPP.js} +16 -6
  27. package/dist/{chunk-6P3JIUSI.mjs → chunk-6OOGL43U.mjs} +3 -2
  28. package/dist/{chunk-3CDAG4HD.mjs → chunk-6QML6T3Y.mjs} +20 -6
  29. package/dist/{chunk-BALJCZ62.mjs → chunk-6QQBMZQ6.mjs} +34 -43
  30. package/dist/{chunk-2XOFRGY6.js → chunk-6YBLWFP5.js} +34 -2
  31. package/dist/{chunk-VILZFNR7.js → chunk-7KNOOFRA.js} +70 -21
  32. package/dist/{chunk-ET5YJELZ.js → chunk-7P4MIU6I.js} +9 -8
  33. package/dist/{chunk-5CGXFQND.mjs → chunk-7Y5XUZJ4.mjs} +27 -11
  34. package/dist/{chunk-HU3VDVH6.js → chunk-A4PPPGJ5.js} +87 -60
  35. package/dist/{chunk-HCZA4LV6.mjs → chunk-A7DZX5X5.mjs} +2 -2
  36. package/dist/{chunk-VONFSF4S.mjs → chunk-AAI6EZZA.mjs} +19 -16
  37. package/dist/{chunk-KNBNE74O.js → chunk-ACQLSECT.js} +32 -4
  38. package/dist/{chunk-KQJYSG23.js → chunk-AIYOQ5MX.js} +8 -8
  39. package/dist/{chunk-EIMAQHCQ.mjs → chunk-AZDNGGV7.mjs} +14 -3
  40. package/dist/{chunk-67FVBKBC.js → chunk-B5TUTAVX.js} +72 -9
  41. package/dist/{chunk-2UQC3WOI.mjs → chunk-C745DPLU.mjs} +13 -4
  42. package/dist/chunk-CBWRSICK.mjs +929 -0
  43. package/dist/{chunk-N66WEQ6M.js → chunk-CBYJXDW4.js} +12 -13
  44. package/dist/{chunk-2EOXY2LP.mjs → chunk-CCDZLSOL.mjs} +70 -3
  45. package/dist/{chunk-4GV7UQJJ.js → chunk-CHPJPIW6.js} +26 -35
  46. package/dist/{chunk-ZD4BVRYG.mjs → chunk-CPQS3IFF.mjs} +1 -1
  47. package/dist/chunk-CVXDKGNX.mjs +312 -0
  48. package/dist/{chunk-YJ4W6DMX.mjs → chunk-D45GM4YH.mjs} +51 -29
  49. package/dist/{chunk-FXX3GD35.mjs → chunk-DAMJCFFS.mjs} +119 -15
  50. package/dist/{chunk-WK5QJO57.js → chunk-DBGPINKE.js} +74 -52
  51. package/dist/chunk-DKNVSQSV.mjs +64 -0
  52. package/dist/{chunk-CDT3P2ZN.js → chunk-DSLKTIPD.js} +20 -17
  53. package/dist/{chunk-4QJZT6QK.js → chunk-DUZM2SKR.js} +124 -99
  54. package/dist/{chunk-7BVXG3Z5.mjs → chunk-DVL53XDJ.mjs} +1 -1
  55. package/dist/{chunk-H3NLKNR4.mjs → chunk-DVUND2QM.mjs} +69 -46
  56. package/dist/{chunk-TMQA74FM.js → chunk-EF5ZTNHX.js} +34 -29
  57. package/dist/{chunk-RWZIWKZR.js → chunk-F7VY6ATM.js} +54 -32
  58. package/dist/{chunk-UBKOITHT.mjs → chunk-FQW26554.mjs} +30 -11
  59. package/dist/{chunk-DEQWHJLQ.mjs → chunk-FW3O54GP.mjs} +11 -7
  60. package/dist/chunk-G3PBQ4B4.mjs +60 -0
  61. package/dist/{chunk-HWWNBCFB.js → chunk-GAT4ZATZ.js} +17 -1
  62. package/dist/chunk-GDONQIOK.mjs +470 -0
  63. package/dist/{chunk-3KMKMAE3.mjs → chunk-GKJNQUTW.mjs} +20 -18
  64. package/dist/{chunk-TVJZB7ZC.js → chunk-GOGLPCUH.js} +122 -18
  65. package/dist/chunk-GOQ6ZG7H.mjs +56 -0
  66. package/dist/{chunk-BCNKTT5C.js → chunk-GRXBGL6Q.js} +18 -16
  67. package/dist/{chunk-XNMSECO4.mjs → chunk-GUHNLUZ3.mjs} +66 -16
  68. package/dist/{chunk-B3MNIAM5.mjs → chunk-GYQJJUJP.mjs} +29 -9
  69. package/dist/{chunk-IWP22YTF.js → chunk-HCKV7ONR.js} +3 -0
  70. package/dist/{chunk-I4SKKEU3.js → chunk-HR5GBE3P.js} +24 -27
  71. package/dist/{chunk-HUCBHFSL.mjs → chunk-HTXUF4RH.mjs} +6 -20
  72. package/dist/{chunk-EOYJLBFD.js → chunk-ITLA7OLQ.js} +6 -20
  73. package/dist/{chunk-INBSKSZG.mjs → chunk-ITVLIR7T.mjs} +57 -12
  74. package/dist/{chunk-FNDPGSEW.mjs → chunk-IXQAECFP.mjs} +87 -33
  75. package/dist/{chunk-34DLDOGP.mjs → chunk-IZTNHCIO.mjs} +5 -2
  76. package/dist/{chunk-73BP3WQN.mjs → chunk-J4OQ2VRH.mjs} +13 -31
  77. package/dist/{chunk-AJQPGAYL.js → chunk-JFOSDCCG.js} +5 -5
  78. package/dist/{chunk-6744DTEB.mjs → chunk-JSUDEK2D.mjs} +159 -140
  79. package/dist/{chunk-U3JOBIDU.js → chunk-K64M7IMP.js} +69 -2
  80. package/dist/{chunk-FPURO6QB.mjs → chunk-KGWPSVEQ.mjs} +5 -6
  81. package/dist/{chunk-OHIZYM65.mjs → chunk-KPACLRQH.mjs} +3 -6
  82. package/dist/chunk-KPRUZCKN.js +318 -0
  83. package/dist/{chunk-UE234MW4.mjs → chunk-KR3EVG7G.mjs} +4 -4
  84. package/dist/chunk-L5HVRTUO.js +935 -0
  85. package/dist/chunk-L6CL63GI.js +93 -0
  86. package/dist/{chunk-RNEL4XIO.js → chunk-LA3CJOWA.js} +13 -2
  87. package/dist/{chunk-EBLAM3YP.mjs → chunk-LE5VFMRR.mjs} +21 -12
  88. package/dist/{chunk-4QQZ5H4V.mjs → chunk-LQT6ZGME.mjs} +35 -30
  89. package/dist/{chunk-VAQDUVBP.mjs → chunk-LY2OTQ4E.mjs} +17 -1
  90. package/dist/{chunk-RRJTIKU6.mjs → chunk-M5GSLKUX.mjs} +13 -14
  91. package/dist/{chunk-TZNTHABR.js → chunk-M73NMNZX.js} +37 -6
  92. package/dist/{chunk-TKZO5UBH.js → chunk-MB3QU3US.js} +47 -2
  93. package/dist/{chunk-6E7FPBRR.mjs → chunk-ME5BLIFX.mjs} +73 -16
  94. package/dist/{chunk-ZDL3GE3Q.mjs → chunk-MO3V34YL.mjs} +67 -18
  95. package/dist/{chunk-H3JAEEEE.js → chunk-MOSVX52I.js} +72 -260
  96. package/dist/{chunk-2GKTVAAB.js → chunk-MPO7Y76D.js} +9 -3
  97. package/dist/{chunk-JLM4LBUS.js → chunk-MU6Z5DCI.js} +6 -3
  98. package/dist/{chunk-5MALB34H.js → chunk-MUUOE2NT.js} +31 -11
  99. package/dist/chunk-N2JYU4JI.js +62 -0
  100. package/dist/{chunk-C6WJ4GQW.js → chunk-NHBNPK5J.js} +40 -37
  101. package/dist/{chunk-JUWFVIDP.mjs → chunk-NQV2H4SC.mjs} +25 -6
  102. package/dist/{chunk-WAIXKROS.mjs → chunk-NSEO2B74.mjs} +12 -8
  103. package/dist/{chunk-2WBPUW75.mjs → chunk-O4JI4FC6.mjs} +39 -36
  104. package/dist/{chunk-SQ7OL2X5.mjs → chunk-OFTLPYYC.mjs} +30 -10
  105. package/dist/{chunk-JQK354YN.js → chunk-OFWK2B23.js} +234 -10
  106. package/dist/chunk-ONTRGV5T.js +159 -0
  107. package/dist/{chunk-IVGKPD2L.mjs → chunk-OPHYFC5W.mjs} +5 -5
  108. package/dist/{chunk-2LUDQBVY.mjs → chunk-OUARQFZ7.mjs} +4 -4
  109. package/dist/{chunk-DAR2BMMV.js → chunk-PFYK2V3E.js} +32 -41
  110. package/dist/{chunk-ZYPEO2KY.js → chunk-PGBKMW4Q.js} +30 -0
  111. package/dist/{chunk-DXXYPVJJ.js → chunk-PR5ZPB6J.js} +3 -3
  112. package/dist/{chunk-PNSWIJG3.mjs → chunk-PSYDHEXN.mjs} +36 -26
  113. package/dist/{chunk-CMGI5WHZ.js → chunk-PTWCIG3Y.js} +2 -2
  114. package/dist/{chunk-FHE4D56E.js → chunk-PVNHW3PY.js} +26 -9
  115. package/dist/{chunk-QLHFXYWA.mjs → chunk-QOEE2PW5.mjs} +73 -10
  116. package/dist/{chunk-AQ72JVUG.js → chunk-QQKP437L.js} +5 -5
  117. package/dist/{chunk-IOHPB4CF.js → chunk-QYJBMQ5P.js} +29 -10
  118. package/dist/{chunk-NZLOLMT2.mjs → chunk-RFB4M3WM.mjs} +50 -10
  119. package/dist/{chunk-TFPIRBHL.js → chunk-RLQITKTC.js} +26 -10
  120. package/dist/{chunk-7CAJK2ZK.mjs → chunk-RPSHILHD.mjs} +2 -2
  121. package/dist/{chunk-GX74TC62.js → chunk-RTHC4KWM.js} +2 -5
  122. package/dist/{chunk-65VXCN5N.js → chunk-SKMZTW3K.js} +56 -11
  123. package/dist/{chunk-VHWTMNQN.js → chunk-SO6POTSO.js} +10 -10
  124. package/dist/chunk-SQGFNVYT.js +222 -0
  125. package/dist/{chunk-RFPXIDAK.js → chunk-SR5OHSI7.js} +34 -24
  126. package/dist/{chunk-GBTKAKUD.mjs → chunk-SRNBEFJO.mjs} +24 -28
  127. package/dist/{chunk-SQK2CPSV.mjs → chunk-SXNHXUUF.mjs} +16 -5
  128. package/dist/{chunk-OE6WTZES.js → chunk-TLJD4GFY.js} +69 -19
  129. package/dist/{chunk-R5XY4EQL.js → chunk-TQOWIDQT.js} +8 -15
  130. package/dist/{chunk-IPLK4AIE.mjs → chunk-TR4DGL3U.mjs} +7 -6
  131. package/dist/{chunk-QAO5KANE.mjs → chunk-TULQETJ5.mjs} +4 -3
  132. package/dist/{chunk-4APNERYR.js → chunk-U356F7GU.js} +12 -30
  133. package/dist/{chunk-AGR3FM3V.js → chunk-UB6SHKPR.js} +8 -7
  134. package/dist/{chunk-Z6F67MJE.mjs → chunk-UBP7HZSU.mjs} +4 -3
  135. package/dist/{chunk-HZ5Z5Y2J.mjs → chunk-UJ5NMLZN.mjs} +13 -31
  136. package/dist/chunk-UKLVOR4E.js +67 -0
  137. package/dist/{chunk-CKFE2B36.js → chunk-ULODU52Q.js} +9 -19
  138. package/dist/{chunk-QQDKQLHJ.mjs → chunk-UPO4LLNK.mjs} +71 -49
  139. package/dist/chunk-V4JIZN3E.mjs +156 -0
  140. package/dist/{chunk-R3QWJ7GT.mjs → chunk-V5557VIB.mjs} +23 -6
  141. package/dist/{chunk-NG3GA5LF.js → chunk-VBBOH5HA.js} +2 -2
  142. package/dist/chunk-VBZE77VM.mjs +65 -0
  143. package/dist/{chunk-XLVEI7GS.js → chunk-VE3SYUMH.js} +3 -2
  144. package/dist/{chunk-SWF7GJYT.mjs → chunk-VHW7NWXM.mjs} +85 -58
  145. package/dist/{chunk-YHFBPSMF.js → chunk-VTOMFVSF.js} +72 -49
  146. package/dist/{chunk-QPGL4YEO.mjs → chunk-W7UGU2O6.mjs} +12 -24
  147. package/dist/{chunk-AYDTXJOR.mjs → chunk-WDRYAP7T.mjs} +18 -15
  148. package/dist/{chunk-AMOH5AMN.mjs → chunk-WFIQIBLC.mjs} +2 -2
  149. package/dist/{chunk-BR5OSUZT.mjs → chunk-WI4N5DD3.mjs} +38 -7
  150. package/dist/{chunk-TQEIMVJD.mjs → chunk-WK45IRP7.mjs} +28 -37
  151. package/dist/{chunk-HLJQZUIY.mjs → chunk-WNX4TH7U.mjs} +32 -4
  152. package/dist/{chunk-7MASYF4S.mjs → chunk-WT6CULN3.mjs} +12 -13
  153. package/dist/{chunk-6PBNFLM7.js → chunk-WV5XHYW6.js} +4 -3
  154. package/dist/{chunk-CQGAZ5JQ.js → chunk-X7WESYRG.js} +15 -4
  155. package/dist/{chunk-PUYT62KC.js → chunk-XAALCDGD.js} +5 -6
  156. package/dist/{chunk-YPHOVEVU.mjs → chunk-XATXFVKR.mjs} +8 -2
  157. package/dist/chunk-XHF3L4ET.mjs +132 -0
  158. package/dist/{chunk-QPOH6SOO.mjs → chunk-XISZACMA.mjs} +126 -101
  159. package/dist/{chunk-QYGBT4NL.js → chunk-XN43YK75.js} +16 -28
  160. package/dist/{chunk-H5MZ54PM.js → chunk-XPA2YCQO.js} +58 -49
  161. package/dist/{chunk-CHH7DWIO.js → chunk-XRNKHQTL.js} +7 -1
  162. package/dist/{chunk-WLIFEALE.mjs → chunk-XTSG362L.mjs} +29 -2
  163. package/dist/{chunk-KQZ4F7FZ.js → chunk-XTV5JLLC.js} +18 -4
  164. package/dist/{chunk-AHF6JE43.js → chunk-YACOKYDW.js} +21 -18
  165. package/dist/{chunk-4Q4GADHJ.js → chunk-YI6ORD3U.js} +40 -5
  166. package/dist/{chunk-ASALMHFI.js → chunk-YMKA4L3Z.js} +1 -6
  167. package/dist/{chunk-3JGOTJZM.js → chunk-YTLJPWXL.js} +4 -4
  168. package/dist/{chunk-XR6B2URW.js → chunk-Z52PUIAH.js} +22 -13
  169. package/dist/{chunk-AVUXDQYO.mjs → chunk-Z5B7VNEG.mjs} +10 -4
  170. package/dist/{chunk-3USEV7EV.js → chunk-ZDK4LEPB.js} +12 -13
  171. package/dist/chunk-ZDXIP33Y.js +58 -0
  172. package/dist/{chunk-XFJ5Q5PF.mjs → chunk-ZJWUBR2X.mjs} +2 -7
  173. package/dist/components/ActivityFeed.js +5 -4
  174. package/dist/components/ActivityFeed.mjs +3 -2
  175. package/dist/components/Affix.js +2 -2
  176. package/dist/components/Affix.mjs +1 -1
  177. package/dist/components/Anchor.d.mts +20 -1
  178. package/dist/components/Anchor.d.ts +20 -1
  179. package/dist/components/Anchor.js +8 -4
  180. package/dist/components/Anchor.mjs +1 -1
  181. package/dist/components/AnchorLink.d.mts +3 -23
  182. package/dist/components/AnchorLink.d.ts +3 -23
  183. package/dist/components/AnchorLink.js +3 -4
  184. package/dist/components/AnchorLink.mjs +1 -2
  185. package/dist/components/AreaChart.d.mts +2 -0
  186. package/dist/components/AreaChart.d.ts +2 -0
  187. package/dist/components/AreaChart.js +7 -7
  188. package/dist/components/AreaChart.mjs +5 -5
  189. package/dist/components/AutoComplete.js +2 -2
  190. package/dist/components/AutoComplete.mjs +1 -1
  191. package/dist/components/AvatarGroup.js +3 -3
  192. package/dist/components/AvatarGroup.mjs +1 -1
  193. package/dist/components/BackTop.js +3 -3
  194. package/dist/components/BackTop.mjs +1 -1
  195. package/dist/components/BarChart.js +7 -7
  196. package/dist/components/BarChart.mjs +5 -5
  197. package/dist/components/Breadcrumb.d.mts +18 -2
  198. package/dist/components/Breadcrumb.d.ts +18 -2
  199. package/dist/components/Breadcrumb.js +7 -3
  200. package/dist/components/Breadcrumb.mjs +1 -1
  201. package/dist/components/BreadcrumbItem.d.mts +3 -21
  202. package/dist/components/BreadcrumbItem.d.ts +3 -21
  203. package/dist/components/BreadcrumbItem.js +2 -3
  204. package/dist/components/BreadcrumbItem.mjs +1 -2
  205. package/dist/components/Button.js +2 -2
  206. package/dist/components/Button.mjs +1 -1
  207. package/dist/components/ButtonGroup.js +4 -4
  208. package/dist/components/ButtonGroup.mjs +1 -1
  209. package/dist/components/Carousel.js +2 -2
  210. package/dist/components/Carousel.mjs +1 -1
  211. package/dist/components/Cascader.js +2 -2
  212. package/dist/components/Cascader.mjs +1 -1
  213. package/dist/components/ChartCanvas.js +3 -3
  214. package/dist/components/ChartCanvas.mjs +1 -1
  215. package/dist/components/ChartLegend.js +3 -3
  216. package/dist/components/ChartLegend.mjs +1 -1
  217. package/dist/components/ChartTooltip.js +3 -3
  218. package/dist/components/ChartTooltip.mjs +1 -1
  219. package/dist/components/ChatWindow.js +5 -4
  220. package/dist/components/ChatWindow.mjs +3 -2
  221. package/dist/components/Code.js +3 -3
  222. package/dist/components/Code.mjs +1 -1
  223. package/dist/components/CodeEditor.d.mts +8 -1
  224. package/dist/components/CodeEditor.d.ts +8 -1
  225. package/dist/components/CodeEditor.js +3 -3
  226. package/dist/components/CodeEditor.mjs +1 -1
  227. package/dist/components/Col.js +3 -3
  228. package/dist/components/Col.mjs +2 -2
  229. package/dist/components/CollapsePanel.js +3 -3
  230. package/dist/components/CollapsePanel.mjs +1 -1
  231. package/dist/components/CommentThread.js +4 -4
  232. package/dist/components/CommentThread.mjs +2 -2
  233. package/dist/components/ConfigProvider.d.mts +3 -2
  234. package/dist/components/ConfigProvider.d.ts +3 -2
  235. package/dist/components/ConfigProvider.js +3 -3
  236. package/dist/components/ConfigProvider.mjs +1 -1
  237. package/dist/components/CropUpload.js +6 -6
  238. package/dist/components/CropUpload.mjs +5 -5
  239. package/dist/components/DataTableWithToolbar.d.mts +2 -7
  240. package/dist/components/DataTableWithToolbar.d.ts +2 -7
  241. package/dist/components/DataTableWithToolbar.js +6 -7
  242. package/dist/components/DataTableWithToolbar.mjs +4 -5
  243. package/dist/components/DatePicker.js +2 -2
  244. package/dist/components/DatePicker.mjs +1 -1
  245. package/dist/components/DonutChart.js +8 -8
  246. package/dist/components/DonutChart.mjs +6 -6
  247. package/dist/components/Drawer.js +3 -3
  248. package/dist/components/Drawer.mjs +2 -2
  249. package/dist/components/Dropdown.d.mts +10 -2
  250. package/dist/components/Dropdown.d.ts +10 -2
  251. package/dist/components/Dropdown.js +8 -5
  252. package/dist/components/Dropdown.mjs +2 -3
  253. package/dist/components/DropdownItem.js +4 -5
  254. package/dist/components/DropdownItem.mjs +3 -4
  255. package/dist/components/DropdownMenu.d.mts +3 -13
  256. package/dist/components/DropdownMenu.d.ts +3 -13
  257. package/dist/components/DropdownMenu.js +9 -2
  258. package/dist/components/DropdownMenu.mjs +2 -1
  259. package/dist/components/FileManager.js +3 -3
  260. package/dist/components/FileManager.mjs +1 -1
  261. package/dist/components/Form.d.mts +1 -0
  262. package/dist/components/Form.d.ts +1 -0
  263. package/dist/components/Form.js +3 -3
  264. package/dist/components/Form.mjs +1 -1
  265. package/dist/components/FormItem.js +3 -3
  266. package/dist/components/FormItem.mjs +2 -2
  267. package/dist/components/FormWizard.js +6 -6
  268. package/dist/components/FormWizard.mjs +4 -4
  269. package/dist/components/FunnelChart.js +6 -6
  270. package/dist/components/FunnelChart.mjs +5 -5
  271. package/dist/components/GaugeChart.js +3 -3
  272. package/dist/components/GaugeChart.mjs +2 -2
  273. package/dist/components/HeatmapChart.js +5 -5
  274. package/dist/components/HeatmapChart.mjs +4 -4
  275. package/dist/components/Image.js +5 -5
  276. package/dist/components/Image.mjs +4 -4
  277. package/dist/components/ImageCropper.js +2 -2
  278. package/dist/components/ImageCropper.mjs +1 -1
  279. package/dist/components/ImageGroup.js +5 -5
  280. package/dist/components/ImageGroup.mjs +3 -3
  281. package/dist/components/ImagePreview.js +3 -3
  282. package/dist/components/ImagePreview.mjs +2 -2
  283. package/dist/components/ImageViewer.js +2 -2
  284. package/dist/components/ImageViewer.mjs +1 -1
  285. package/dist/components/InfiniteScroll.js +3 -3
  286. package/dist/components/InfiniteScroll.mjs +1 -1
  287. package/dist/components/InputNumber.js +2 -2
  288. package/dist/components/InputNumber.mjs +1 -1
  289. package/dist/components/Kanban.js +5 -5
  290. package/dist/components/Kanban.mjs +3 -3
  291. package/dist/components/LineChart.js +7 -7
  292. package/dist/components/LineChart.mjs +5 -5
  293. package/dist/components/List.d.mts +22 -1
  294. package/dist/components/List.d.ts +22 -1
  295. package/dist/components/List.js +3 -2
  296. package/dist/components/List.mjs +2 -1
  297. package/dist/components/Loading.js +3 -2
  298. package/dist/components/Loading.mjs +2 -1
  299. package/dist/components/Mentions.js +3 -3
  300. package/dist/components/Mentions.mjs +1 -1
  301. package/dist/components/Menu.d.mts +43 -2
  302. package/dist/components/Menu.d.ts +43 -2
  303. package/dist/components/Menu.js +15 -3
  304. package/dist/components/Menu.mjs +1 -1
  305. package/dist/components/MenuItem.d.mts +3 -20
  306. package/dist/components/MenuItem.d.ts +3 -20
  307. package/dist/components/MenuItem.js +8 -3
  308. package/dist/components/MenuItem.mjs +1 -2
  309. package/dist/components/MenuItemGroup.d.mts +3 -16
  310. package/dist/components/MenuItemGroup.d.ts +3 -16
  311. package/dist/components/MenuItemGroup.js +8 -4
  312. package/dist/components/MenuItemGroup.mjs +1 -3
  313. package/dist/components/Modal.js +4 -4
  314. package/dist/components/Modal.mjs +3 -3
  315. package/dist/components/Notification.js +4 -4
  316. package/dist/components/Notification.mjs +1 -1
  317. package/dist/components/NotificationCenter.js +9 -7
  318. package/dist/components/NotificationCenter.mjs +7 -5
  319. package/dist/components/Pagination.d.mts +2 -2
  320. package/dist/components/Pagination.d.ts +2 -2
  321. package/dist/components/Pagination.js +3 -3
  322. package/dist/components/Pagination.mjs +1 -1
  323. package/dist/components/PieChart.js +7 -7
  324. package/dist/components/PieChart.mjs +5 -5
  325. package/dist/components/Popconfirm.js +4 -4
  326. package/dist/components/Popconfirm.mjs +3 -3
  327. package/dist/components/Popover.js +4 -4
  328. package/dist/components/Popover.mjs +3 -3
  329. package/dist/components/RadarChart.d.mts +3 -0
  330. package/dist/components/RadarChart.d.ts +3 -0
  331. package/dist/components/RadarChart.js +7 -7
  332. package/dist/components/RadarChart.mjs +5 -5
  333. package/dist/components/Resizable.js +3 -3
  334. package/dist/components/Resizable.mjs +1 -1
  335. package/dist/components/RichTextEditor.d.mts +10 -3
  336. package/dist/components/RichTextEditor.d.ts +10 -3
  337. package/dist/components/RichTextEditor.js +3 -3
  338. package/dist/components/RichTextEditor.mjs +1 -1
  339. package/dist/components/Row.js +3 -3
  340. package/dist/components/Row.mjs +1 -1
  341. package/dist/components/ScatterChart.js +7 -7
  342. package/dist/components/ScatterChart.mjs +5 -5
  343. package/dist/components/Segmented.js +2 -2
  344. package/dist/components/Segmented.mjs +1 -1
  345. package/dist/components/Select.js +2 -2
  346. package/dist/components/Select.mjs +1 -1
  347. package/dist/components/Splitter.js +3 -3
  348. package/dist/components/Splitter.mjs +1 -1
  349. package/dist/components/Statistic.js +2 -2
  350. package/dist/components/Statistic.mjs +1 -1
  351. package/dist/components/Stepper.js +2 -2
  352. package/dist/components/Stepper.mjs +1 -1
  353. package/dist/components/Steps.d.mts +32 -1
  354. package/dist/components/Steps.d.ts +32 -1
  355. package/dist/components/Steps.js +7 -3
  356. package/dist/components/Steps.mjs +1 -1
  357. package/dist/components/StepsItem.d.mts +3 -36
  358. package/dist/components/StepsItem.d.ts +3 -36
  359. package/dist/components/StepsItem.js +2 -2
  360. package/dist/components/StepsItem.mjs +1 -1
  361. package/dist/components/SubMenu.d.mts +3 -20
  362. package/dist/components/SubMenu.d.ts +3 -20
  363. package/dist/components/SubMenu.js +8 -5
  364. package/dist/components/SubMenu.mjs +1 -4
  365. package/dist/components/SunburstChart.js +6 -6
  366. package/dist/components/SunburstChart.mjs +5 -5
  367. package/dist/components/Switch.js +2 -2
  368. package/dist/components/Switch.mjs +1 -1
  369. package/dist/components/TabPane.d.mts +3 -57
  370. package/dist/components/TabPane.d.ts +3 -57
  371. package/dist/components/TabPane.js +2 -2
  372. package/dist/components/TabPane.mjs +1 -1
  373. package/dist/components/Table.d.mts +4 -59
  374. package/dist/components/Table.d.ts +4 -59
  375. package/dist/components/Table.js +2 -2
  376. package/dist/components/Table.mjs +1 -1
  377. package/dist/components/Tabs.d.mts +54 -1
  378. package/dist/components/Tabs.d.ts +54 -1
  379. package/dist/components/Tabs.js +7 -3
  380. package/dist/components/Tabs.mjs +1 -1
  381. package/dist/components/TaskBoard.js +4 -4
  382. package/dist/components/TaskBoard.mjs +2 -2
  383. package/dist/components/TimePicker.js +2 -2
  384. package/dist/components/TimePicker.mjs +1 -1
  385. package/dist/components/Tooltip.js +4 -4
  386. package/dist/components/Tooltip.mjs +3 -3
  387. package/dist/components/Transfer.js +2 -2
  388. package/dist/components/Transfer.mjs +1 -1
  389. package/dist/components/Tree.d.mts +19 -0
  390. package/dist/components/Tree.d.ts +19 -0
  391. package/dist/components/Tree.js +4 -3
  392. package/dist/components/Tree.mjs +2 -1
  393. package/dist/components/TreeMapChart.js +6 -6
  394. package/dist/components/TreeMapChart.mjs +5 -5
  395. package/dist/components/TreeSelect.js +2 -2
  396. package/dist/components/TreeSelect.mjs +1 -1
  397. package/dist/components/Upload.js +3 -3
  398. package/dist/components/Upload.mjs +2 -2
  399. package/dist/components/VirtualList.js +2 -2
  400. package/dist/components/VirtualList.mjs +1 -1
  401. package/dist/components/VirtualTable.js +3 -3
  402. package/dist/components/VirtualTable.mjs +1 -1
  403. package/dist/components/Watermark.js +2 -2
  404. package/dist/components/Watermark.mjs +1 -1
  405. package/dist/index.d.mts +32 -18
  406. package/dist/index.d.ts +32 -18
  407. package/dist/index.js +359 -210
  408. package/dist/index.mjs +243 -95
  409. package/dist/types-BT4oTXQ_.d.mts +31 -0
  410. package/dist/types-BT4oTXQ_.d.ts +31 -0
  411. package/package.json +13 -8
  412. package/dist/chunk-3NE6VZRY.js +0 -67
  413. package/dist/chunk-7YLVAZJQ.mjs +0 -47
  414. package/dist/chunk-A3PYG3D6.js +0 -107
  415. package/dist/chunk-B3LRUKXM.mjs +0 -65
  416. package/dist/chunk-B53R2U2R.mjs +0 -86
  417. package/dist/chunk-BKYE77F2.js +0 -171
  418. package/dist/chunk-CRSMECWE.mjs +0 -33
  419. package/dist/chunk-D5KYIQWB.mjs +0 -105
  420. package/dist/chunk-DUWAV47E.js +0 -42
  421. package/dist/chunk-DZGDCRBH.mjs +0 -30
  422. package/dist/chunk-EQWQXURG.js +0 -18
  423. package/dist/chunk-F6KHZNRS.js +0 -32
  424. package/dist/chunk-GJEWBALW.js +0 -38
  425. package/dist/chunk-GOUMB34F.mjs +0 -168
  426. package/dist/chunk-H36CWHUP.mjs +0 -30
  427. package/dist/chunk-HZHFFVP7.mjs +0 -63
  428. package/dist/chunk-IBYIPXIO.js +0 -88
  429. package/dist/chunk-IS467WAO.mjs +0 -39
  430. package/dist/chunk-MB7CJ32C.mjs +0 -878
  431. package/dist/chunk-OFBK35TK.mjs +0 -32
  432. package/dist/chunk-OWUGXP6K.js +0 -37
  433. package/dist/chunk-QBZODEIG.js +0 -49
  434. package/dist/chunk-R5P72RIT.js +0 -180
  435. package/dist/chunk-RARHRSPQ.js +0 -72
  436. package/dist/chunk-SIVJX7VU.mjs +0 -16
  437. package/dist/chunk-SMC2RV3V.mjs +0 -250
  438. package/dist/chunk-T5FAKJ6C.mjs +0 -49
  439. package/dist/chunk-XID6T65A.js +0 -163
  440. package/dist/chunk-XO6NSGV3.js +0 -884
  441. package/dist/chunk-Y3NDP56G.mjs +0 -174
  442. package/dist/chunk-Z6CRXABX.js +0 -88
  443. package/dist/chunk-ZIUOENTL.mjs +0 -85
@@ -24,7 +24,8 @@ var CodeEditor = ({
24
24
  disabled = false,
25
25
  className,
26
26
  style,
27
- onChange
27
+ onChange,
28
+ highlighter
28
29
  }) => {
29
30
  const [internalValue, setInternalValue] = React.useState(defaultValue);
30
31
  const textareaRef = React.useRef(null);
@@ -74,12 +75,24 @@ var CodeEditor = ({
74
75
  return cls ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cls, children: token.value }, idx) : /* @__PURE__ */ jsxRuntime.jsx(React__default.default.Fragment, { children: token.value }, idx);
75
76
  };
76
77
  const renderLine = (line, lineIndex) => {
78
+ if (highlighter?.highlightLine) {
79
+ const html = highlighter.highlightLine(line, language, theme) || (line === "" ? "\n" : "");
80
+ return /* @__PURE__ */ jsxRuntime.jsx(
81
+ "div",
82
+ {
83
+ className: "min-h-[1.625rem]",
84
+ dangerouslySetInnerHTML: { __html: html }
85
+ },
86
+ lineIndex
87
+ );
88
+ }
77
89
  const tokens = tigercatCore.tokenizeLine(line, language);
78
90
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-h-[1.625rem]", children: [
79
91
  tokens.map(renderToken),
80
92
  line === "" ? "\n" : null
81
93
  ] }, lineIndex);
82
94
  };
95
+ const blockHtml = highlighter && !highlighter.highlightLine && highlighter.highlightCode ? highlighter.highlightCode(code, language, theme) : null;
83
96
  return /* @__PURE__ */ jsxRuntime.jsx(
84
97
  "div",
85
98
  {
@@ -90,7 +103,14 @@ var CodeEditor = ({
90
103
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full", children: [
91
104
  lineNumbers && /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.getLineNumberClasses(theme), "aria-hidden": "true", children: lineNums.map((n) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-[1.625rem]", children: n }, n)) }),
92
105
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex-1 overflow-auto", children: [
93
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.classNames(tigercatCore.codeEditorHighlightClasses, wrapClass), "aria-hidden": "true", children: lines.map(renderLine) }),
106
+ blockHtml !== null ? /* @__PURE__ */ jsxRuntime.jsx(
107
+ "div",
108
+ {
109
+ className: tigercatCore.classNames(tigercatCore.codeEditorHighlightClasses, wrapClass),
110
+ "aria-hidden": "true",
111
+ dangerouslySetInnerHTML: { __html: blockHtml }
112
+ }
113
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.classNames(tigercatCore.codeEditorHighlightClasses, wrapClass), "aria-hidden": "true", children: lines.map(renderLine) }),
94
114
  /* @__PURE__ */ jsxRuntime.jsx(
95
115
  "textarea",
96
116
  {
@@ -0,0 +1,108 @@
1
+ import { useRef, useEffect } from 'react';
2
+ import { createRafRepeatActionController, classNames, getStepperButtonClasses, getStepperInputClasses, stepperBaseClasses, clampStepperValue, stepperIconViewBox, minusPathD, plusPathD } from '@expcat/tigercat-core';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+
5
+ // src/components/Stepper.tsx
6
+ var Stepper = ({
7
+ value = 0,
8
+ min = -Infinity,
9
+ max = Infinity,
10
+ step = 1,
11
+ disabled = false,
12
+ size = "md",
13
+ precision,
14
+ className,
15
+ onChange
16
+ }) => {
17
+ const repeatControllerRef = useRef(createRafRepeatActionController());
18
+ const repeatValueRef = useRef(value);
19
+ const suppressNextClickRef = useRef(false);
20
+ useEffect(() => () => repeatControllerRef.current.stop(), []);
21
+ function setValue(v) {
22
+ const clamped = clampStepperValue(v, min, max, precision);
23
+ onChange?.(clamped);
24
+ return clamped;
25
+ }
26
+ function stepBy(direction, baseValue = value) {
27
+ return setValue(direction === "up" ? baseValue + step : baseValue - step);
28
+ }
29
+ function handleStepClick(direction) {
30
+ if (suppressNextClickRef.current) {
31
+ suppressNextClickRef.current = false;
32
+ return;
33
+ }
34
+ stepBy(direction);
35
+ }
36
+ function startStepRepeat(direction) {
37
+ return (event) => {
38
+ event.preventDefault();
39
+ if (disabled) return;
40
+ if (direction === "down" && value <= min) return;
41
+ if (direction === "up" && value >= max) return;
42
+ suppressNextClickRef.current = true;
43
+ repeatValueRef.current = value;
44
+ repeatControllerRef.current.start(() => {
45
+ const baseValue = repeatValueRef.current;
46
+ const nextValue = stepBy(direction, baseValue);
47
+ repeatValueRef.current = nextValue;
48
+ if (nextValue === baseValue) {
49
+ repeatControllerRef.current.stop();
50
+ }
51
+ });
52
+ };
53
+ }
54
+ function stopStepRepeat() {
55
+ repeatControllerRef.current.stop();
56
+ }
57
+ const atMin = value <= min;
58
+ const atMax = value >= max;
59
+ const icon = (d) => /* @__PURE__ */ jsx("svg", { className: "w-4 h-4", viewBox: stepperIconViewBox, fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d, fillRule: "evenodd", clipRule: "evenodd" }) });
60
+ return /* @__PURE__ */ jsxs("div", { className: classNames(stepperBaseClasses, className), role: "group", "aria-label": "Stepper", children: [
61
+ /* @__PURE__ */ jsx(
62
+ "button",
63
+ {
64
+ type: "button",
65
+ className: getStepperButtonClasses(size, disabled || atMin, "left"),
66
+ disabled: disabled || atMin,
67
+ "aria-label": "Decrease",
68
+ onPointerDown: startStepRepeat("down"),
69
+ onPointerUp: stopStepRepeat,
70
+ onPointerLeave: stopStepRepeat,
71
+ onPointerCancel: stopStepRepeat,
72
+ onClick: () => handleStepClick("down"),
73
+ children: icon(minusPathD)
74
+ }
75
+ ),
76
+ /* @__PURE__ */ jsx(
77
+ "input",
78
+ {
79
+ type: "text",
80
+ className: getStepperInputClasses(size),
81
+ value: precision !== void 0 ? value.toFixed(precision) : String(value),
82
+ disabled,
83
+ "aria-label": "Value",
84
+ onChange: (e) => {
85
+ const val = Number(e.target.value);
86
+ if (!Number.isNaN(val)) setValue(val);
87
+ }
88
+ }
89
+ ),
90
+ /* @__PURE__ */ jsx(
91
+ "button",
92
+ {
93
+ type: "button",
94
+ className: getStepperButtonClasses(size, disabled || atMax, "right"),
95
+ disabled: disabled || atMax,
96
+ "aria-label": "Increase",
97
+ onPointerDown: startStepRepeat("up"),
98
+ onPointerUp: stopStepRepeat,
99
+ onPointerLeave: stopStepRepeat,
100
+ onPointerCancel: stopStepRepeat,
101
+ onClick: () => handleStepClick("up"),
102
+ children: icon(plusPathD)
103
+ }
104
+ )
105
+ ] });
106
+ };
107
+
108
+ export { Stepper };
@@ -128,20 +128,15 @@ var Cascader = (props) => {
128
128
  );
129
129
  const handleTriggerKeyDown = react.useCallback(
130
130
  (e) => {
131
- switch (e.key) {
132
- case "Enter":
133
- case " ":
134
- e.preventDefault();
135
- toggleOpen();
136
- break;
137
- case "Escape":
138
- e.preventDefault();
139
- setIsOpen(false);
140
- break;
141
- case "ArrowDown":
142
- e.preventDefault();
143
- if (!isOpen) setIsOpen(true);
144
- break;
131
+ const action = tigercatCore.getPickerTriggerKeyAction(e.key, isOpen);
132
+ if (action === "none") return;
133
+ e.preventDefault();
134
+ if (action === "toggle") {
135
+ toggleOpen();
136
+ } else if (action === "open") {
137
+ setIsOpen(true);
138
+ } else if (action === "close") {
139
+ setIsOpen(false);
145
140
  }
146
141
  },
147
142
  [toggleOpen, isOpen]
@@ -156,10 +151,7 @@ var Cascader = (props) => {
156
151
  type: "button",
157
152
  className: triggerClasses,
158
153
  disabled,
159
- role: "combobox",
160
- "aria-expanded": isOpen,
161
- "aria-haspopup": "listbox",
162
- "aria-controls": isOpen ? listboxId : void 0,
154
+ ...tigercatCore.getPickerComboboxAria({ expanded: isOpen, listboxId }),
163
155
  onClick: toggleOpen,
164
156
  onKeyDown: handleTriggerKeyDown,
165
157
  children: [
@@ -229,16 +221,17 @@ var Cascader = (props) => {
229
221
  ),
230
222
  isSearchMode ? (
231
223
  // Search results
232
- searchResults.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.cascaderEmptyStateClasses, children: notFoundText }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-64 overflow-auto", role: "listbox", id: listboxId, children: searchResults.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
224
+ searchResults.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.cascaderEmptyStateClasses, children: notFoundText }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-64 overflow-auto", ...tigercatCore.getPickerListboxAria({ id: listboxId }), children: searchResults.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
233
225
  "div",
234
226
  {
235
227
  className: tigercatCore.classNames(
236
228
  tigercatCore.cascaderSearchResultClasses,
237
229
  item.disabled && "opacity-50 cursor-not-allowed"
238
230
  ),
239
- role: "option",
240
- "aria-selected": value?.join(",") === item.valuePath.join(","),
241
- "aria-disabled": item.disabled,
231
+ ...tigercatCore.getPickerOptionAria({
232
+ selected: value?.join(",") === item.valuePath.join(","),
233
+ disabled: item.disabled
234
+ }),
242
235
  onClick: () => handleSearchResultClick(item.valuePath, item.disabled),
243
236
  children: item.label
244
237
  },
@@ -250,8 +243,10 @@ var Cascader = (props) => {
250
243
  "div",
251
244
  {
252
245
  className: tigercatCore.cascaderColumnClasses,
253
- role: "listbox",
254
- id: colIndex === 0 ? listboxId : void 0,
246
+ ...tigercatCore.getPickerListboxAria({
247
+ id: colIndex === 0 ? listboxId : void 0,
248
+ label: `Level ${colIndex + 1}`
249
+ }),
255
250
  "aria-label": `Level ${colIndex + 1}`,
256
251
  children: col.options.map((option) => {
257
252
  const isSelected = col.selectedValue === option.value;
@@ -260,9 +255,10 @@ var Cascader = (props) => {
260
255
  "div",
261
256
  {
262
257
  className: tigercatCore.getCascaderOptionClasses(isSelected, !!option.disabled, size),
263
- role: "option",
264
- "aria-selected": isSelected,
265
- "aria-disabled": option.disabled,
258
+ ...tigercatCore.getPickerOptionAria({
259
+ selected: isSelected,
260
+ disabled: !!option.disabled
261
+ }),
266
262
  onClick: () => handleOptionClick(option, colIndex),
267
263
  onMouseEnter: () => handleOptionHover(option, colIndex),
268
264
  children: [
@@ -22,6 +22,7 @@ var Pagination = ({
22
22
  disabled = false,
23
23
  hideOnSinglePage = false,
24
24
  showLessItems = false,
25
+ quickJumperValidation,
25
26
  className,
26
27
  style,
27
28
  onChange,
@@ -30,18 +31,44 @@ var Pagination = ({
30
31
  ...props
31
32
  }) => {
32
33
  const { "aria-label": ariaLabelProp, ...navProps } = props;
33
- const labels = react.useMemo(() => tigercatCore.getPaginationLabels(locale), [locale]);
34
+ const immediateLocale = react.useMemo(() => tigercatCore.getImmediateTigerLocale(locale), [locale]);
35
+ const [loadedLocale, setLoadedLocale] = react.useState(
36
+ immediateLocale
37
+ );
38
+ react.useEffect(() => {
39
+ let active = true;
40
+ setLoadedLocale(immediateLocale);
41
+ if (tigercatCore.isLazyTigerLocale(locale)) {
42
+ tigercatCore.resolveTigerLocale(locale).then((nextLocale) => {
43
+ if (active) setLoadedLocale(nextLocale);
44
+ }).catch(() => {
45
+ if (active) setLoadedLocale(immediateLocale);
46
+ });
47
+ }
48
+ return () => {
49
+ active = false;
50
+ };
51
+ }, [locale, immediateLocale]);
52
+ const resolvedLocale = tigercatCore.isLazyTigerLocale(locale) ? loadedLocale : immediateLocale;
53
+ const labels = react.useMemo(() => tigercatCore.getPaginationLabels(resolvedLocale), [resolvedLocale]);
34
54
  const [internalCurrent, setInternalCurrent] = react.useState(defaultCurrent);
35
55
  const [internalPageSize, setInternalPageSize] = react.useState(defaultPageSize);
36
56
  const [quickJumperValue, setQuickJumperValue] = react.useState("");
57
+ const quickJumperValidationSchedulerRef = react.useRef(null);
58
+ if (quickJumperValidationSchedulerRef.current === null) {
59
+ quickJumperValidationSchedulerRef.current = tigercatCore.createPaginationIdleValidationScheduler(quickJumperValidation);
60
+ }
61
+ react.useEffect(() => {
62
+ quickJumperValidationSchedulerRef.current = tigercatCore.createPaginationIdleValidationScheduler(quickJumperValidation);
63
+ return () => {
64
+ quickJumperValidationSchedulerRef.current?.cancel();
65
+ };
66
+ }, [quickJumperValidation]);
37
67
  const currentPage = controlledCurrent !== void 0 ? controlledCurrent : internalCurrent;
38
68
  const currentPageSize = controlledPageSize !== void 0 ? controlledPageSize : internalPageSize;
39
69
  const totalPages = tigercatCore.getTotalPages(total, currentPageSize);
40
70
  const validatedCurrentPage = tigercatCore.validateCurrentPage(currentPage, totalPages);
41
71
  const pageRange = tigercatCore.getPageRange(validatedCurrentPage, currentPageSize, total);
42
- if (hideOnSinglePage && totalPages <= 1) {
43
- return null;
44
- }
45
72
  const handlePageChange = react.useCallback(
46
73
  (page) => {
47
74
  if (disabled) return;
@@ -84,12 +111,22 @@ var Pagination = ({
84
111
  ]
85
112
  );
86
113
  const handleQuickJumperSubmit = react.useCallback(() => {
87
- const page = parseInt(quickJumperValue, 10);
88
- if (!isNaN(page)) {
114
+ quickJumperValidationSchedulerRef.current?.cancel();
115
+ const page = tigercatCore.getPaginationJumperPage(quickJumperValue, totalPages);
116
+ if (page !== null) {
89
117
  handlePageChange(page);
90
118
  }
91
119
  setQuickJumperValue("");
92
- }, [quickJumperValue, handlePageChange]);
120
+ }, [quickJumperValue, totalPages, handlePageChange]);
121
+ const handleQuickJumperChange = react.useCallback(
122
+ (value) => {
123
+ setQuickJumperValue(value);
124
+ quickJumperValidationSchedulerRef.current?.schedule(() => {
125
+ setQuickJumperValue(tigercatCore.getValidatedPaginationJumperValue(value, totalPages));
126
+ });
127
+ },
128
+ [totalPages]
129
+ );
93
130
  const handleQuickJumperKeyPress = react.useCallback(
94
131
  (event) => {
95
132
  if (event.key === "Enter") {
@@ -222,7 +259,7 @@ var Pagination = ({
222
259
  className: tigercatCore.classNames(tigercatCore.getQuickJumperInputClasses(size), "mx-2"),
223
260
  disabled,
224
261
  value: quickJumperValue,
225
- onChange: (e) => setQuickJumperValue(e.target.value),
262
+ onChange: (e) => handleQuickJumperChange(e.target.value),
226
263
  onKeyDown: handleQuickJumperKeyPress,
227
264
  min: 1,
228
265
  max: totalPages,
@@ -235,6 +272,9 @@ var Pagination = ({
235
272
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: sizeText, children: labels.pageText }, "jumper-label-end")
236
273
  );
237
274
  }
275
+ if (hideOnSinglePage && totalPages <= 1) {
276
+ return null;
277
+ }
238
278
  return /* @__PURE__ */ jsxRuntime.jsx(
239
279
  "nav",
240
280
  {
@@ -1,5 +1,5 @@
1
1
  import { useState, useRef, useMemo, useEffect } from 'react';
2
- import { parseDate, formatDate, getCalendarDays, getShortDayNames, getDatePickerLabels, getDatePickerInputClasses, getDatePickerIconButtonClasses, classNames, datePickerInputWrapperClasses, datePickerClearButtonClasses, CloseIconPath, CalendarIconPath, datePickerCalendarClasses, datePickerCalendarHeaderClasses, datePickerNavButtonClasses, ChevronLeftIconPath, formatMonthYear, datePickerMonthYearClasses, ChevronRightIconPath, datePickerCalendarGridClasses, datePickerDayNameClasses, normalizeDate, isSameDay, isToday, getDatePickerDayCellClasses, datePickerFooterButtonClasses, datePickerFooterClasses, datePickerBaseClasses, isDateInRange, icon20ViewBox } from '@expcat/tigercat-core';
2
+ import { parseDate, formatDate, getCalendarDays, getDatePickerLocaleCode, getShortDayNames, getDatePickerLabels, getDatePickerInputClasses, getDatePickerIconButtonClasses, classNames, datePickerInputWrapperClasses, datePickerClearButtonClasses, CloseIconPath, CalendarIconPath, datePickerCalendarClasses, datePickerCalendarHeaderClasses, datePickerNavButtonClasses, ChevronLeftIconPath, formatMonthYear, datePickerMonthYearClasses, ChevronRightIconPath, datePickerCalendarGridClasses, datePickerDayNameClasses, normalizeDate, isSameDay, isToday, getDatePickerDayCellClasses, datePickerFooterButtonClasses, datePickerFooterClasses, datePickerBaseClasses, isDateInRange, icon20ViewBox } from '@expcat/tigercat-core';
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
4
 
5
5
  // src/components/DatePicker.tsx
@@ -109,7 +109,8 @@ var DatePicker = (props) => {
109
109
  () => getCalendarDays(viewingYear, viewingMonth),
110
110
  [viewingYear, viewingMonth]
111
111
  );
112
- const dayNames = useMemo(() => getShortDayNames(props.locale), [props.locale]);
112
+ const localeCode = useMemo(() => getDatePickerLocaleCode(props.locale), [props.locale]);
113
+ const dayNames = useMemo(() => getShortDayNames(localeCode), [localeCode]);
113
114
  const labels = useMemo(
114
115
  () => getDatePickerLabels(props.locale, props.labels),
115
116
  [props.locale, props.labels]
@@ -419,7 +420,7 @@ var DatePicker = (props) => {
419
420
  children: /* @__PURE__ */ jsx(Icon, { path: ChevronLeftIconPath, className: "w-5 h-5" })
420
421
  }
421
422
  ),
422
- /* @__PURE__ */ jsx("div", { className: datePickerMonthYearClasses, children: formatMonthYear(viewingYear, viewingMonth, props.locale) }),
423
+ /* @__PURE__ */ jsx("div", { className: datePickerMonthYearClasses, children: formatMonthYear(viewingYear, viewingMonth, localeCode) }),
423
424
  /* @__PURE__ */ jsx(
424
425
  "button",
425
426
  {
@@ -18,9 +18,10 @@ var DefaultIcon = () => /* @__PURE__ */ jsxRuntime.jsx(
18
18
  children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: tigercatCore.backTopIconPath })
19
19
  }
20
20
  );
21
+ var getDefaultTarget = () => window;
21
22
  var BackTop = ({
22
23
  visibilityHeight = 400,
23
- target = () => window,
24
+ target = getDefaultTarget,
24
25
  duration = 450,
25
26
  onClick,
26
27
  children,
@@ -32,13 +33,16 @@ var BackTop = ({
32
33
  react.useEffect(() => {
33
34
  const el = target();
34
35
  if (!el) return;
35
- const onScroll = () => {
36
- setVisible(tigercatCore.getScrollTop(el) >= visibilityHeight);
37
- };
38
- el.addEventListener("scroll", onScroll, { passive: true });
39
- onScroll();
36
+ const visibilityController = tigercatCore.createBackTopVisibilityController({
37
+ target: el,
38
+ getVisibilityHeight: () => visibilityHeight,
39
+ onChange: setVisible
40
+ });
41
+ el.addEventListener("scroll", visibilityController.schedule, { passive: true });
42
+ visibilityController.update();
40
43
  return () => {
41
- el.removeEventListener("scroll", onScroll);
44
+ el.removeEventListener("scroll", visibilityController.schedule);
45
+ visibilityController.cancel();
42
46
  };
43
47
  }, [target, visibilityHeight]);
44
48
  const handleClick = react.useCallback(
@@ -0,0 +1,42 @@
1
+ import React, { createContext, useMemo } from 'react';
2
+ import { getAvatarGroupItemClasses, getVisibleGroupItems, getAvatarGroupClasses, getAvatarGroupOverflowText, getAvatarGroupOverflowLabel, getAvatarGroupOverflowClasses } from '@expcat/tigercat-core';
3
+ import { jsx, jsxs } from 'react/jsx-runtime';
4
+
5
+ // src/components/AvatarGroup.tsx
6
+ var AvatarGroupContext = createContext(null);
7
+ var AvatarGroup = ({
8
+ max,
9
+ size,
10
+ className,
11
+ children,
12
+ ...props
13
+ }) => {
14
+ const contextValue = useMemo(
15
+ () => ({ size, itemClass: getAvatarGroupItemClasses() }),
16
+ [size]
17
+ );
18
+ const childArray = React.Children.toArray(children);
19
+ const { visibleItems, overflowCount } = getVisibleGroupItems(childArray, max);
20
+ return /* @__PURE__ */ jsx(AvatarGroupContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxs(
21
+ "div",
22
+ {
23
+ className: getAvatarGroupClasses(className),
24
+ role: "group",
25
+ "aria-label": "Avatar group",
26
+ ...props,
27
+ children: [
28
+ visibleItems,
29
+ overflowCount > 0 && /* @__PURE__ */ jsx(
30
+ "span",
31
+ {
32
+ className: getAvatarGroupOverflowClasses(size ?? "md"),
33
+ "aria-label": getAvatarGroupOverflowLabel(overflowCount),
34
+ children: getAvatarGroupOverflowText(overflowCount)
35
+ }
36
+ )
37
+ ]
38
+ }
39
+ ) });
40
+ };
41
+
42
+ export { AvatarGroup, AvatarGroupContext };
@@ -15,7 +15,7 @@ var Switch = ({
15
15
  tabIndex,
16
16
  ...props
17
17
  }) => {
18
- const switchClasses = tigercatCore.classNames(tigercatCore.getSwitchClasses(size, checked, disabled), className);
18
+ const switchClasses = tigercatCore.getSwitchClasses(size, checked, disabled, className);
19
19
  const thumbClasses = tigercatCore.getSwitchThumbClasses(size, checked);
20
20
  const toggle = () => {
21
21
  if (disabled) return;
@@ -1,4 +1,5 @@
1
- import { usePopup } from './chunk-AMOH5AMN.mjs';
1
+ import { usePopup } from './chunk-WFIQIBLC.mjs';
2
+ import { renderBodyPortal } from './chunk-XTSG362L.mjs';
2
3
  import { useRef, useMemo } from 'react';
3
4
  import { createFloatingIdFactory, classNames, getTooltipContainerClasses, getTooltipTriggerClasses, getTooltipContentClasses } from '@expcat/tigercat-core';
4
5
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -41,7 +42,9 @@ var Tooltip = ({
41
42
  children
42
43
  }
43
44
  ),
44
- currentVisible && /* @__PURE__ */ jsx("div", { ref: floatingRef, style: floatingStyles, "aria-hidden": false, children: /* @__PURE__ */ jsx("div", { id: tooltipId, role: "tooltip", className: contentClasses, children: content }) })
45
+ currentVisible && renderBodyPortal(
46
+ /* @__PURE__ */ jsx("div", { ref: floatingRef, style: floatingStyles, "aria-hidden": false, children: /* @__PURE__ */ jsx("div", { id: tooltipId, role: "tooltip", className: contentClasses, children: content }) })
47
+ )
45
48
  ] });
46
49
  };
47
50
 
@@ -111,7 +111,8 @@ var DatePicker = (props) => {
111
111
  () => tigercatCore.getCalendarDays(viewingYear, viewingMonth),
112
112
  [viewingYear, viewingMonth]
113
113
  );
114
- const dayNames = react.useMemo(() => tigercatCore.getShortDayNames(props.locale), [props.locale]);
114
+ const localeCode = react.useMemo(() => tigercatCore.getDatePickerLocaleCode(props.locale), [props.locale]);
115
+ const dayNames = react.useMemo(() => tigercatCore.getShortDayNames(localeCode), [localeCode]);
115
116
  const labels = react.useMemo(
116
117
  () => tigercatCore.getDatePickerLabels(props.locale, props.labels),
117
118
  [props.locale, props.labels]
@@ -421,7 +422,7 @@ var DatePicker = (props) => {
421
422
  children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { path: tigercatCore.ChevronLeftIconPath, className: "w-5 h-5" })
422
423
  }
423
424
  ),
424
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.datePickerMonthYearClasses, children: tigercatCore.formatMonthYear(viewingYear, viewingMonth, props.locale) }),
425
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.datePickerMonthYearClasses, children: tigercatCore.formatMonthYear(viewingYear, viewingMonth, localeCode) }),
425
426
  /* @__PURE__ */ jsxRuntime.jsx(
426
427
  "button",
427
428
  {
@@ -1,12 +1,12 @@
1
1
  import { Timeline } from './chunk-JVTAKNRO.mjs';
2
2
  import { Link } from './chunk-XZVQ3PJS.mjs';
3
- import { Loading } from './chunk-AVUXDQYO.mjs';
3
+ import { Loading } from './chunk-Z5B7VNEG.mjs';
4
4
  import { Tag } from './chunk-TGKNEMD4.mjs';
5
5
  import { Text } from './chunk-HLS4CHWX.mjs';
6
6
  import { Card } from './chunk-P6E3DILH.mjs';
7
7
  import { Avatar } from './chunk-FE7PEZTI.mjs';
8
8
  import { useMemo } from 'react';
9
- import { buildActivityGroups, classNames, toActivityTimelineItems, formatActivityTime } from '@expcat/tigercat-core';
9
+ import { buildActivityGroups, classNames, toActivityTimelineItems, formatActivityTime, activityItemClasses, activityItemLayoutClasses, activityItemBodyClasses, activityItemHeaderClasses, activityItemTitleGroupClasses, activityItemDescriptionClasses, activityItemActionsClasses } from '@expcat/tigercat-core';
10
10
  import { jsx, jsxs } from 'react/jsx-runtime';
11
11
 
12
12
  var renderAction = (item, action, index) => {
@@ -61,28 +61,28 @@ var ActivityFeed = ({
61
61
  const actionNodes = item.actions?.map(
62
62
  (action, actionIndex) => renderAction(item, action, actionIndex)
63
63
  );
64
- return /* @__PURE__ */ jsx("div", { className: "tiger-activity-item", children: /* @__PURE__ */ jsxs("div", { className: "flex gap-3 items-start", children: [
64
+ return /* @__PURE__ */ jsx("div", { className: activityItemClasses, children: /* @__PURE__ */ jsxs("div", { className: activityItemLayoutClasses, children: [
65
65
  showAvatar && item.user ? /* @__PURE__ */ jsx(Avatar, { size: "sm", src: item.user.avatar, text: item.user.name, className: "shrink-0" }) : null,
66
- /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
67
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 mb-1", children: [
68
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [
66
+ /* @__PURE__ */ jsxs("div", { className: activityItemBodyClasses, children: [
67
+ /* @__PURE__ */ jsxs("div", { className: activityItemHeaderClasses, children: [
68
+ /* @__PURE__ */ jsxs("div", { className: activityItemTitleGroupClasses, children: [
69
69
  titleText ? /* @__PURE__ */ jsx(Text, { tag: "div", size: "sm", weight: "medium", className: "truncate", children: titleText }) : null,
70
70
  item.status ? /* @__PURE__ */ jsx(Tag, { variant: item.status.variant ?? "default", size: "sm", className: "shrink-0", children: item.status.label }) : null
71
71
  ] }),
72
72
  timeText ? /* @__PURE__ */ jsx(Text, { tag: "div", size: "xs", color: "muted", className: "shrink-0 whitespace-nowrap", children: timeText }) : null
73
73
  ] }),
74
- descriptionText ? /* @__PURE__ */ jsx(Text, { tag: "div", size: "sm", color: "muted", className: "mb-2 break-words", children: descriptionText }) : null,
75
- actionNodes?.length ? /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: actionNodes }) : null
74
+ descriptionText ? /* @__PURE__ */ jsx(Text, { tag: "div", size: "sm", color: "muted", className: activityItemDescriptionClasses, children: descriptionText }) : null,
75
+ actionNodes?.length ? /* @__PURE__ */ jsx("div", { className: activityItemActionsClasses, children: actionNodes }) : null
76
76
  ] })
77
77
  ] }) });
78
78
  };
79
79
  if (loading) {
80
- return /* @__PURE__ */ jsx("div", { className: wrapperClasses, ...props, "data-tiger-activity-feed": true, children: /* @__PURE__ */ jsx(Card, { variant: "bordered", size: "sm", className: "tiger-activity-feed-loading", children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-4", children: /* @__PURE__ */ jsx(Loading, { text: loadingText }) }) }) });
80
+ return /* @__PURE__ */ jsx("div", { className: wrapperClasses, role: "feed", "aria-label": "\u52A8\u6001", "aria-busy": true, ...props, "data-tiger-activity-feed": true, children: /* @__PURE__ */ jsx(Card, { variant: "bordered", size: "sm", className: "tiger-activity-feed-loading", children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-4", children: /* @__PURE__ */ jsx(Loading, { text: loadingText }) }) }) });
81
81
  }
82
82
  if (resolvedGroups.length === 0) {
83
- return /* @__PURE__ */ jsx("div", { className: wrapperClasses, ...props, "data-tiger-activity-feed": true, children: /* @__PURE__ */ jsx(Card, { variant: "bordered", size: "sm", className: "tiger-activity-feed-empty", children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-6", children: /* @__PURE__ */ jsx(Text, { tag: "div", size: "sm", color: "muted", children: emptyText }) }) }) });
83
+ return /* @__PURE__ */ jsx("div", { className: wrapperClasses, role: "feed", "aria-label": "\u52A8\u6001", ...props, "data-tiger-activity-feed": true, children: /* @__PURE__ */ jsx(Card, { variant: "bordered", size: "sm", className: "tiger-activity-feed-empty", children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-6", children: /* @__PURE__ */ jsx(Text, { tag: "div", size: "sm", color: "muted", children: emptyText }) }) }) });
84
84
  }
85
- return /* @__PURE__ */ jsx("div", { className: wrapperClasses, ...props, "data-tiger-activity-feed": true, children: resolvedGroups.map((group, groupIndex) => {
85
+ return /* @__PURE__ */ jsx("div", { className: wrapperClasses, role: "feed", "aria-label": "\u52A8\u6001", ...props, "data-tiger-activity-feed": true, children: resolvedGroups.map((group, groupIndex) => {
86
86
  const headerNode = renderGroupHeader?.(group);
87
87
  const groupTitle = group.title;
88
88
  const timelineItems = toActivityTimelineItems(group.items);