@expcat/tigercat-react 1.0.4 → 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 (449) 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-5OMSQ5PV.mjs +401 -0
  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-DVL53XDJ.mjs +22 -0
  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-MOSVX52I.js +408 -0
  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-QVZTZHCJ.mjs → chunk-PSYDHEXN.mjs} +52 -33
  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-45H3JEI3.js → chunk-SR5OHSI7.js} +50 -31
  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-VBBOH5HA.js +25 -0
  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.d.mts +3 -2
  290. package/dist/components/Kanban.d.ts +3 -2
  291. package/dist/components/Kanban.js +5 -4
  292. package/dist/components/Kanban.mjs +3 -2
  293. package/dist/components/LineChart.js +7 -7
  294. package/dist/components/LineChart.mjs +5 -5
  295. package/dist/components/List.d.mts +22 -1
  296. package/dist/components/List.d.ts +22 -1
  297. package/dist/components/List.js +3 -2
  298. package/dist/components/List.mjs +2 -1
  299. package/dist/components/Loading.js +3 -2
  300. package/dist/components/Loading.mjs +2 -1
  301. package/dist/components/Mentions.js +3 -3
  302. package/dist/components/Mentions.mjs +1 -1
  303. package/dist/components/Menu.d.mts +43 -2
  304. package/dist/components/Menu.d.ts +43 -2
  305. package/dist/components/Menu.js +15 -3
  306. package/dist/components/Menu.mjs +1 -1
  307. package/dist/components/MenuItem.d.mts +3 -20
  308. package/dist/components/MenuItem.d.ts +3 -20
  309. package/dist/components/MenuItem.js +8 -3
  310. package/dist/components/MenuItem.mjs +1 -2
  311. package/dist/components/MenuItemGroup.d.mts +3 -16
  312. package/dist/components/MenuItemGroup.d.ts +3 -16
  313. package/dist/components/MenuItemGroup.js +8 -4
  314. package/dist/components/MenuItemGroup.mjs +1 -3
  315. package/dist/components/Modal.js +4 -4
  316. package/dist/components/Modal.mjs +3 -3
  317. package/dist/components/Notification.js +4 -4
  318. package/dist/components/Notification.mjs +1 -1
  319. package/dist/components/NotificationCenter.js +9 -7
  320. package/dist/components/NotificationCenter.mjs +7 -5
  321. package/dist/components/Pagination.d.mts +2 -2
  322. package/dist/components/Pagination.d.ts +2 -2
  323. package/dist/components/Pagination.js +3 -3
  324. package/dist/components/Pagination.mjs +1 -1
  325. package/dist/components/PieChart.js +7 -7
  326. package/dist/components/PieChart.mjs +5 -5
  327. package/dist/components/Popconfirm.js +4 -4
  328. package/dist/components/Popconfirm.mjs +3 -3
  329. package/dist/components/Popover.js +4 -4
  330. package/dist/components/Popover.mjs +3 -3
  331. package/dist/components/RadarChart.d.mts +3 -0
  332. package/dist/components/RadarChart.d.ts +3 -0
  333. package/dist/components/RadarChart.js +7 -7
  334. package/dist/components/RadarChart.mjs +5 -5
  335. package/dist/components/Resizable.js +3 -3
  336. package/dist/components/Resizable.mjs +1 -1
  337. package/dist/components/RichTextEditor.d.mts +10 -3
  338. package/dist/components/RichTextEditor.d.ts +10 -3
  339. package/dist/components/RichTextEditor.js +3 -3
  340. package/dist/components/RichTextEditor.mjs +1 -1
  341. package/dist/components/Row.js +3 -3
  342. package/dist/components/Row.mjs +1 -1
  343. package/dist/components/ScatterChart.js +7 -7
  344. package/dist/components/ScatterChart.mjs +5 -5
  345. package/dist/components/Segmented.js +2 -2
  346. package/dist/components/Segmented.mjs +1 -1
  347. package/dist/components/Select.js +2 -2
  348. package/dist/components/Select.mjs +1 -1
  349. package/dist/components/Splitter.js +3 -3
  350. package/dist/components/Splitter.mjs +1 -1
  351. package/dist/components/Statistic.js +2 -2
  352. package/dist/components/Statistic.mjs +1 -1
  353. package/dist/components/Stepper.js +2 -2
  354. package/dist/components/Stepper.mjs +1 -1
  355. package/dist/components/Steps.d.mts +32 -1
  356. package/dist/components/Steps.d.ts +32 -1
  357. package/dist/components/Steps.js +7 -3
  358. package/dist/components/Steps.mjs +1 -1
  359. package/dist/components/StepsItem.d.mts +3 -36
  360. package/dist/components/StepsItem.d.ts +3 -36
  361. package/dist/components/StepsItem.js +2 -2
  362. package/dist/components/StepsItem.mjs +1 -1
  363. package/dist/components/SubMenu.d.mts +3 -20
  364. package/dist/components/SubMenu.d.ts +3 -20
  365. package/dist/components/SubMenu.js +8 -5
  366. package/dist/components/SubMenu.mjs +1 -4
  367. package/dist/components/SunburstChart.js +6 -6
  368. package/dist/components/SunburstChart.mjs +5 -5
  369. package/dist/components/Switch.js +2 -2
  370. package/dist/components/Switch.mjs +1 -1
  371. package/dist/components/TabPane.d.mts +3 -57
  372. package/dist/components/TabPane.d.ts +3 -57
  373. package/dist/components/TabPane.js +2 -2
  374. package/dist/components/TabPane.mjs +1 -1
  375. package/dist/components/Table.d.mts +4 -59
  376. package/dist/components/Table.d.ts +4 -59
  377. package/dist/components/Table.js +2 -2
  378. package/dist/components/Table.mjs +1 -1
  379. package/dist/components/Tabs.d.mts +54 -1
  380. package/dist/components/Tabs.d.ts +54 -1
  381. package/dist/components/Tabs.js +7 -3
  382. package/dist/components/Tabs.mjs +1 -1
  383. package/dist/components/TaskBoard.js +4 -4
  384. package/dist/components/TaskBoard.mjs +2 -2
  385. package/dist/components/TimePicker.js +2 -2
  386. package/dist/components/TimePicker.mjs +1 -1
  387. package/dist/components/Tooltip.js +4 -4
  388. package/dist/components/Tooltip.mjs +3 -3
  389. package/dist/components/Transfer.js +2 -2
  390. package/dist/components/Transfer.mjs +1 -1
  391. package/dist/components/Tree.d.mts +19 -0
  392. package/dist/components/Tree.d.ts +19 -0
  393. package/dist/components/Tree.js +4 -3
  394. package/dist/components/Tree.mjs +2 -1
  395. package/dist/components/TreeMapChart.js +6 -6
  396. package/dist/components/TreeMapChart.mjs +5 -5
  397. package/dist/components/TreeSelect.js +2 -2
  398. package/dist/components/TreeSelect.mjs +1 -1
  399. package/dist/components/Upload.js +3 -3
  400. package/dist/components/Upload.mjs +2 -2
  401. package/dist/components/VirtualList.js +2 -2
  402. package/dist/components/VirtualList.mjs +1 -1
  403. package/dist/components/VirtualTable.js +3 -3
  404. package/dist/components/VirtualTable.mjs +1 -1
  405. package/dist/components/Watermark.js +2 -2
  406. package/dist/components/Watermark.mjs +1 -1
  407. package/dist/index.d.mts +32 -18
  408. package/dist/index.d.ts +32 -18
  409. package/dist/index.js +362 -213
  410. package/dist/index.mjs +243 -95
  411. package/dist/types-BT4oTXQ_.d.mts +31 -0
  412. package/dist/types-BT4oTXQ_.d.ts +31 -0
  413. package/package.json +13 -8
  414. package/dist/chunk-24RUEJWB.js +0 -293
  415. package/dist/chunk-3NE6VZRY.js +0 -67
  416. package/dist/chunk-7YLVAZJQ.mjs +0 -47
  417. package/dist/chunk-A3PYG3D6.js +0 -107
  418. package/dist/chunk-B3LRUKXM.mjs +0 -65
  419. package/dist/chunk-B53R2U2R.mjs +0 -86
  420. package/dist/chunk-BKYE77F2.js +0 -171
  421. package/dist/chunk-CRSMECWE.mjs +0 -33
  422. package/dist/chunk-D5KYIQWB.mjs +0 -105
  423. package/dist/chunk-DUWAV47E.js +0 -42
  424. package/dist/chunk-DZGDCRBH.mjs +0 -30
  425. package/dist/chunk-EHU3J4B2.mjs +0 -536
  426. package/dist/chunk-EQWQXURG.js +0 -18
  427. package/dist/chunk-F6KHZNRS.js +0 -32
  428. package/dist/chunk-GJEWBALW.js +0 -38
  429. package/dist/chunk-GOUMB34F.mjs +0 -168
  430. package/dist/chunk-H36CWHUP.mjs +0 -30
  431. package/dist/chunk-HZHFFVP7.mjs +0 -63
  432. package/dist/chunk-IBYIPXIO.js +0 -88
  433. package/dist/chunk-IS467WAO.mjs +0 -39
  434. package/dist/chunk-MB7CJ32C.mjs +0 -878
  435. package/dist/chunk-OFBK35TK.mjs +0 -32
  436. package/dist/chunk-OWUGXP6K.js +0 -37
  437. package/dist/chunk-QBZODEIG.js +0 -49
  438. package/dist/chunk-R5P72RIT.js +0 -180
  439. package/dist/chunk-RARHRSPQ.js +0 -72
  440. package/dist/chunk-SIVJX7VU.mjs +0 -16
  441. package/dist/chunk-SMC2RV3V.mjs +0 -250
  442. package/dist/chunk-T5FAKJ6C.mjs +0 -49
  443. package/dist/chunk-WGPUGPYE.js +0 -543
  444. package/dist/chunk-XID6T65A.js +0 -163
  445. package/dist/chunk-XO6NSGV3.js +0 -884
  446. package/dist/chunk-Y3NDP56G.mjs +0 -174
  447. package/dist/chunk-YXWRSEP5.mjs +0 -286
  448. package/dist/chunk-Z6CRXABX.js +0 -88
  449. package/dist/chunk-ZIUOENTL.mjs +0 -85
@@ -1,5 +1,5 @@
1
- import { useState, useRef, useMemo, useCallback, useEffect } from 'react';
2
- import { resolveWatermarkFont, watermarkDefaults, renderWatermarkCanvas, getWatermarkOverlayStyle, classNames, watermarkWrapperClasses } from '@expcat/tigercat-core';
1
+ import { useState, useRef, useMemo, useEffect } from 'react';
2
+ import { resolveWatermarkFont, createWatermarkRenderController, watermarkDefaults, getWatermarkOverlayStyle, classNames, watermarkWrapperClasses } from '@expcat/tigercat-core';
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
4
 
5
5
  // src/components/Watermark.tsx
@@ -21,48 +21,39 @@ var Watermark = ({
21
21
  }) => {
22
22
  const [base64, setBase64] = useState();
23
23
  const wrapperRef = useRef(null);
24
+ const renderControllerRef = useRef(null);
24
25
  const resolvedFont = useMemo(() => resolveWatermarkFont(font), [font]);
25
- const generate = useCallback(() => {
26
- if (image) {
27
- const img = new Image();
28
- img.crossOrigin = "anonymous";
29
- img.onload = () => {
30
- const canvas = document.createElement("canvas");
31
- const dpr = window.devicePixelRatio || 1;
32
- canvas.width = width * dpr;
33
- canvas.height = height * dpr;
34
- const ctx = canvas.getContext("2d");
35
- if (!ctx) return;
36
- ctx.scale(dpr, dpr);
37
- ctx.translate(width / 2, height / 2);
38
- ctx.rotate(rotate * Math.PI / 180);
39
- ctx.translate(-width / 2, -height / 2);
40
- ctx.drawImage(img, 0, 0, width, height);
41
- setBase64(canvas.toDataURL());
42
- };
43
- img.src = image;
44
- } else {
45
- setBase64(
46
- renderWatermarkCanvas({
47
- content,
48
- width,
49
- height,
50
- rotate,
51
- font: resolvedFont
52
- })
53
- );
54
- }
55
- }, [content, image, width, height, rotate, resolvedFont]);
56
26
  useEffect(() => {
57
- generate();
58
- }, [generate]);
27
+ const target = wrapperRef.current;
28
+ if (!target) return;
29
+ const controller = createWatermarkRenderController({
30
+ getRenderOptions: () => ({
31
+ content,
32
+ image,
33
+ width,
34
+ height,
35
+ rotate,
36
+ font: resolvedFont
37
+ }),
38
+ onRender: setBase64
39
+ });
40
+ renderControllerRef.current = controller;
41
+ controller.observe(target);
42
+ controller.render();
43
+ return () => {
44
+ controller.disconnect();
45
+ if (renderControllerRef.current === controller) {
46
+ renderControllerRef.current = null;
47
+ }
48
+ };
49
+ }, [content, image, width, height, rotate, resolvedFont]);
59
50
  useEffect(() => {
60
51
  if (typeof MutationObserver === "undefined" || !wrapperRef.current) return;
61
52
  const observer = new MutationObserver((mutations) => {
62
53
  for (const m of mutations) {
63
54
  for (const node of Array.from(m.removedNodes)) {
64
55
  if (node.dataset?.watermark === "true") {
65
- generate();
56
+ renderControllerRef.current?.render();
66
57
  return;
67
58
  }
68
59
  }
@@ -70,7 +61,7 @@ var Watermark = ({
70
61
  });
71
62
  observer.observe(wrapperRef.current, { childList: true });
72
63
  return () => observer.disconnect();
73
- }, [generate]);
64
+ }, []);
74
65
  const overlayStyle = useMemo(
75
66
  () => getWatermarkOverlayStyle({
76
67
  base64Url: base64,
@@ -1,7 +1,7 @@
1
- import { useEscapeKey } from './chunk-WLIFEALE.mjs';
1
+ import { useEscapeKey } from './chunk-XTSG362L.mjs';
2
2
  import { useState, useRef, useCallback, useEffect, useMemo } from 'react';
3
3
  import { createPortal } from 'react-dom';
4
- import { getPreviewNavState, clampScale, calculateTransform, imagePreviewWrapperClasses, imagePreviewMaskClasses, imagePreviewImgClasses, imagePreviewCloseBtnClasses, previewCloseIconPath, classNames, prevIconPath, imagePreviewNavBtnClasses, nextIconPath, imagePreviewToolbarClasses, imagePreviewToolbarBtnClasses, zoomOutIconPath, resetIconPath, zoomInIconPath, imagePreviewCounterClasses } from '@expcat/tigercat-core';
4
+ import { getPreviewNavState, clampScale, normalizeRotation, calculateTransform, imagePreviewWrapperClasses, imagePreviewMaskClasses, imagePreviewImgClasses, imagePreviewCloseBtnClasses, previewCloseIconPath, classNames, prevIconPath, imagePreviewNavBtnClasses, nextIconPath, imagePreviewToolbarClasses, imagePreviewToolbarBtnClasses, zoomOutIconPath, resetIconPath, zoomInIconPath, imageViewerIcons, imagePreviewCounterClasses } from '@expcat/tigercat-core';
5
5
  import { jsxs, jsx } from 'react/jsx-runtime';
6
6
 
7
7
  var SvgIcon = ({ d, cls = "w-5 h-5" }) => /* @__PURE__ */ jsx(
@@ -30,6 +30,7 @@ var ImagePreview = ({
30
30
  }) => {
31
31
  const isOpen = open;
32
32
  const [scale, setScale] = useState(1);
33
+ const [rotation, setRotation] = useState(0);
33
34
  const [offsetX, setOffsetX] = useState(0);
34
35
  const [offsetY, setOffsetY] = useState(0);
35
36
  const [index, setIndex] = useState(currentIndex);
@@ -37,6 +38,7 @@ var ImagePreview = ({
37
38
  const dragStartRef = useRef({ x: 0, y: 0, ox: 0, oy: 0 });
38
39
  const resetTransform = useCallback(() => {
39
40
  setScale(1);
41
+ setRotation(0);
40
42
  setOffsetX(0);
41
43
  setOffsetY(0);
42
44
  }, []);
@@ -79,6 +81,12 @@ var ImagePreview = ({
79
81
  resetTransform();
80
82
  onScaleChange?.(1);
81
83
  }, [resetTransform, onScaleChange]);
84
+ const handleRotateLeft = useCallback(() => {
85
+ setRotation((value) => normalizeRotation(value - 90));
86
+ }, []);
87
+ const handleRotateRight = useCallback(() => {
88
+ setRotation((value) => normalizeRotation(value + 90));
89
+ }, []);
82
90
  const handlePrev = useCallback(() => {
83
91
  if (index > 0) {
84
92
  const next = index - 1;
@@ -142,8 +150,8 @@ var ImagePreview = ({
142
150
  [maskClosable, handleClose]
143
151
  );
144
152
  const transform = useMemo(
145
- () => calculateTransform(scale, offsetX, offsetY),
146
- [scale, offsetX, offsetY]
153
+ () => `${calculateTransform(scale, offsetX, offsetY)} rotate(${rotation}deg)`,
154
+ [scale, offsetX, offsetY, rotation]
147
155
  );
148
156
  if (!isOpen || !images.length) return null;
149
157
  const currentSrc = images[index] || images[0];
@@ -237,6 +245,26 @@ var ImagePreview = ({
237
245
  children: /* @__PURE__ */ jsx(SvgIcon, { d: zoomInIconPath })
238
246
  }
239
247
  ),
248
+ /* @__PURE__ */ jsx(
249
+ "button",
250
+ {
251
+ className: imagePreviewToolbarBtnClasses,
252
+ onClick: handleRotateLeft,
253
+ "aria-label": "Rotate left",
254
+ type: "button",
255
+ children: /* @__PURE__ */ jsx(SvgIcon, { d: imageViewerIcons.rotateLeft })
256
+ }
257
+ ),
258
+ /* @__PURE__ */ jsx(
259
+ "button",
260
+ {
261
+ className: imagePreviewToolbarBtnClasses,
262
+ onClick: handleRotateRight,
263
+ "aria-label": "Rotate right",
264
+ type: "button",
265
+ children: /* @__PURE__ */ jsx(SvgIcon, { d: imageViewerIcons.rotateRight })
266
+ }
267
+ ),
240
268
  navState.counter && /* @__PURE__ */ jsx("span", { className: imagePreviewCounterClasses, children: navState.counter })
241
269
  ] })
242
270
  ]
@@ -1,6 +1,6 @@
1
- import { useTigerConfig } from './chunk-CRSMECWE.mjs';
1
+ import { useTigerConfig } from './chunk-VBZE77VM.mjs';
2
2
  import { useMemo, useRef, useState, useCallback } from 'react';
3
- import { getSpinnerSVG, mergeTigerLocale, getUploadLabels, classNames, prepareUploadFiles, fileToUploadFile, getDragAreaClasses, interpolateUploadLabel, formatFileSize, getUploadButtonClasses, getFileListItemClasses, icon20ViewBox, getUploadStatusIconClasses, successCircleSolidIcon20PathD, errorCircleSolidIcon20PathD, closeSolidIcon20PathD, getPictureCardClasses } from '@expcat/tigercat-core';
3
+ import { getSpinnerSVG, mergeTigerLocale, getUploadLabels, classNames, prepareUploadFiles, fileToUploadFile, getDragAreaClasses, interpolateUploadLabel, formatFileSize, getUploadButtonClasses, getFileListItemClasses, icon20ViewBox, getUploadStatusIconClasses, successCircleSolidIcon20PathD, errorCircleSolidIcon20PathD, closeSolidIcon20PathD, getPictureCardClasses, handleUploadDrop, handleUploadDragLeave, handleUploadDragOver } from '@expcat/tigercat-core';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
5
5
 
6
6
  var spinnerSvg = getSpinnerSVG("spinner");
@@ -127,9 +127,9 @@ var Upload = ({
127
127
  onPreview?.(file);
128
128
  };
129
129
  const handleDragOver = (event) => {
130
- if (disabled) return;
131
- event.preventDefault();
132
- setIsDragging(true);
130
+ const result = handleUploadDragOver(event, disabled);
131
+ if (!result.handled) return;
132
+ setIsDragging(result.isDragging);
133
133
  };
134
134
  const handleDragKeyDown = (event) => {
135
135
  if (disabled) return;
@@ -139,16 +139,15 @@ var Upload = ({
139
139
  }
140
140
  };
141
141
  const handleDragLeave = (event) => {
142
- if (disabled) return;
143
- event.preventDefault();
144
- setIsDragging(false);
142
+ const result = handleUploadDragLeave(event, disabled);
143
+ if (!result.handled) return;
144
+ setIsDragging(result.isDragging);
145
145
  };
146
146
  const handleDrop = async (event) => {
147
- if (disabled) return;
148
- event.preventDefault();
149
- setIsDragging(false);
150
- const files = Array.from(event.dataTransfer?.files || []);
151
- await processFiles(files);
147
+ const result = handleUploadDrop(event, disabled);
148
+ if (!result.handled) return;
149
+ setIsDragging(result.isDragging);
150
+ await processFiles(result.files);
152
151
  };
153
152
  const renderUploadButton = () => {
154
153
  if (drag) {
@@ -56,9 +56,9 @@ var ChartLegend = ({
56
56
  {
57
57
  type: interactive ? "button" : void 0,
58
58
  className: tigercatCore.classNames(
59
- "flex items-center gap-2 text-sm",
59
+ "flex items-center gap-2 text-sm rounded-[var(--tiger-chart-legend-row-radius,0)]",
60
60
  "text-[color:var(--tiger-text-secondary,#6b7280)]",
61
- interactive ? "cursor-pointer hover:text-[color:var(--tiger-text,#374151)] transition-colors" : "cursor-default",
61
+ interactive ? "cursor-pointer hover:text-[color:var(--tiger-text,#374151)] hover:bg-[var(--tiger-chart-legend-row-hover-bg,transparent)] transition-colors" : "cursor-default",
62
62
  item.active === false ? "opacity-50" : void 0
63
63
  ),
64
64
  role: "listitem",
@@ -74,7 +74,8 @@ var ChartLegend = ({
74
74
  style: {
75
75
  width: `${markerSize}px`,
76
76
  height: `${markerSize}px`,
77
- backgroundColor: item.color
77
+ background: `var(--tiger-chart-legend-marker-image, ${item.color})`,
78
+ "--tiger-chart-legend-marker-color": item.color
78
79
  },
79
80
  "aria-hidden": "true",
80
81
  "data-legend-marker": "true"
@@ -8,6 +8,9 @@ var jsxRuntime = require('react/jsx-runtime');
8
8
  var VirtualList = ({
9
9
  itemCount = 0,
10
10
  itemHeight = 40,
11
+ estimatedItemHeight,
12
+ getItemHeight,
13
+ sizeStrategy: customStrategy,
11
14
  height = 400,
12
15
  overscan = 5,
13
16
  className,
@@ -16,9 +19,15 @@ var VirtualList = ({
16
19
  }) => {
17
20
  const [scrollTop, setScrollTop] = react.useState(0);
18
21
  const containerRef = react.useRef(null);
22
+ const strategy = react.useMemo(() => {
23
+ if (customStrategy) return customStrategy;
24
+ if (getItemHeight) return tigercatCore.variableSizeStrategy(getItemHeight, itemCount);
25
+ if (estimatedItemHeight !== void 0) return tigercatCore.dynamicSizeStrategy(estimatedItemHeight, itemCount);
26
+ return tigercatCore.fixedSizeStrategy(itemHeight);
27
+ }, [customStrategy, getItemHeight, estimatedItemHeight, itemHeight, itemCount]);
19
28
  const range = react.useMemo(
20
- () => tigercatCore.getFixedVirtualRange(scrollTop, height, itemHeight, itemCount, overscan),
21
- [scrollTop, height, itemHeight, itemCount, overscan]
29
+ () => strategy.getRange(scrollTop, height, itemCount, overscan),
30
+ [scrollTop, height, itemCount, overscan, strategy]
22
31
  );
23
32
  const handleScroll = react.useCallback(() => {
24
33
  if (containerRef.current) {
@@ -27,13 +36,15 @@ var VirtualList = ({
27
36
  onScroll?.(st);
28
37
  }
29
38
  }, [onScroll]);
30
- const { startIndex, endIndex, offsetTop, totalHeight } = range;
39
+ const { startIndex, endIndex, totalHeight } = range;
31
40
  const items = [];
32
41
  for (let i = startIndex; i <= endIndex; i++) {
42
+ const itemH = strategy.getItemHeight(i);
33
43
  items.push(
34
- /* @__PURE__ */ jsxRuntime.jsx("div", { style: { height: `${itemHeight}px`, width: "100%" }, children: renderItem({ index: i }) }, i)
44
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: { height: `${itemH}px`, width: "100%" }, children: renderItem({ index: i }) }, i)
35
45
  );
36
46
  }
47
+ const offsetTop = startIndex >= 0 ? strategy.getItemOffset(startIndex) : 0;
37
48
  return /* @__PURE__ */ jsxRuntime.jsx(
38
49
  "div",
39
50
  {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkIWP22YTF_js = require('./chunk-IWP22YTF.js');
3
+ var chunkHCKV7ONR_js = require('./chunk-HCKV7ONR.js');
4
4
  var React = require('react');
5
5
  var tigercatCore = require('@expcat/tigercat-core');
6
6
  var jsxRuntime = require('react/jsx-runtime');
@@ -37,7 +37,7 @@ var FormItem = ({
37
37
  children,
38
38
  className
39
39
  }) => {
40
- const formContext = chunkIWP22YTF_js.useFormContext();
40
+ const formContext = chunkHCKV7ONR_js.useFormContext();
41
41
  const [errorMessage, setErrorMessage] = React.useState("");
42
42
  const [shakeTrigger, setShakeTrigger] = React.useState(0);
43
43
  const prevFormErrorRef = React.useRef("");
@@ -76,15 +76,15 @@ var FormItem = ({
76
76
  [showRequiredAsterisk, formContext?.showRequiredAsterisk]
77
77
  );
78
78
  React.useEffect(() => {
79
- if (name && formContext?.errors) {
80
- const error = tigercatCore.getFieldError(name, formContext.errors) || "";
79
+ if (name && formContext?.errorsByField) {
80
+ const error = formContext.errorsByField[name] || "";
81
81
  setErrorMessage(error);
82
82
  if (error && error !== prevFormErrorRef.current) {
83
83
  setShakeTrigger((prev) => prev + 1);
84
84
  }
85
85
  prevFormErrorRef.current = error;
86
86
  }
87
- }, [name, formContext?.errors]);
87
+ }, [name, formContext?.errorsByField]);
88
88
  React.useEffect(() => {
89
89
  if (controlledError !== void 0) {
90
90
  setErrorMessage(controlledError);
@@ -225,7 +225,6 @@ var FormItem = ({
225
225
  "aria-labelledby": label ? labelId : void 0,
226
226
  "aria-describedby": describedById,
227
227
  "aria-invalid": hasError ? true : void 0,
228
- "aria-required": isRequired ? true : void 0,
229
228
  onBlur: isClonableChild ? void 0 : handleBlur,
230
229
  onChange: isClonableChild ? void 0 : handleChange,
231
230
  children: enhancedChild
@@ -1,5 +1,5 @@
1
1
  import { useState, useRef, useMemo, useCallback, useEffect } from 'react';
2
- import { extractMentionQuery, classNames, getMentionsInputClasses, mentionsDropdownClasses, getMentionsOptionClasses } from '@expcat/tigercat-core';
2
+ import { extractMentionQuery, positionMentionsDropdown, classNames, getMentionsInputClasses, mentionsDropdownClasses, getMentionsOptionClasses } from '@expcat/tigercat-core';
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
4
 
5
5
  // src/components/Mentions.tsx
@@ -20,6 +20,7 @@ var Mentions = ({
20
20
  const [query, setQuery] = useState("");
21
21
  const mentionStartRef = useRef(-1);
22
22
  const textareaRef = useRef(null);
23
+ const dropdownRef = useRef(null);
23
24
  const containerRef = useRef(null);
24
25
  const filteredOptions = useMemo(() => {
25
26
  if (!query) return options;
@@ -85,6 +86,11 @@ var Mentions = ({
85
86
  document.addEventListener("mousedown", handler);
86
87
  return () => document.removeEventListener("mousedown", handler);
87
88
  }, [isOpen]);
89
+ useEffect(() => {
90
+ if (!isOpen || filteredOptions.length === 0) return;
91
+ if (!textareaRef.current || !dropdownRef.current) return;
92
+ void positionMentionsDropdown(textareaRef.current, dropdownRef.current);
93
+ }, [isOpen, filteredOptions.length, size, rows, value]);
88
94
  const wrapperClass = classNames("relative", className);
89
95
  return /* @__PURE__ */ jsxs("div", { ref: containerRef, className: wrapperClass, children: [
90
96
  /* @__PURE__ */ jsx(
@@ -100,7 +106,7 @@ var Mentions = ({
100
106
  onKeyDown: handleKeydown
101
107
  }
102
108
  ),
103
- isOpen && filteredOptions.length > 0 && /* @__PURE__ */ jsx("div", { className: mentionsDropdownClasses, role: "listbox", children: filteredOptions.map((opt, i) => /* @__PURE__ */ jsx(
109
+ isOpen && filteredOptions.length > 0 && /* @__PURE__ */ jsx("div", { ref: dropdownRef, className: mentionsDropdownClasses, role: "listbox", children: filteredOptions.map((opt, i) => /* @__PURE__ */ jsx(
104
110
  "div",
105
111
  {
106
112
  className: getMentionsOptionClasses(i === activeIndex, !!opt.disabled),
@@ -0,0 +1,132 @@
1
+ import { useRef, useState, useCallback, useEffect, useMemo } from 'react';
2
+ import { resolveAffixTarget, calculateAffixState, createAffixObserver, classNames } from '@expcat/tigercat-core';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+
5
+ // src/components/Affix.tsx
6
+ var Affix = ({
7
+ offsetTop = 0,
8
+ offsetBottom,
9
+ target,
10
+ zIndex = 10,
11
+ className,
12
+ style,
13
+ children,
14
+ onChange,
15
+ ...props
16
+ }) => {
17
+ const wrapperRef = useRef(null);
18
+ const sentinelRef = useRef(null);
19
+ const originalRectRef = useRef(null);
20
+ const [state, setState] = useState({ affixed: false, style: {} });
21
+ const stateRef = useRef(state);
22
+ stateRef.current = state;
23
+ const onChangeRef = useRef(onChange);
24
+ onChangeRef.current = onChange;
25
+ const recalcStyle = useCallback(
26
+ (affixed) => {
27
+ const el = wrapperRef.current;
28
+ if (!el) return;
29
+ if (!stateRef.current.affixed) {
30
+ const rect = el.getBoundingClientRect();
31
+ originalRectRef.current = {
32
+ top: rect.top,
33
+ left: rect.left,
34
+ width: rect.width,
35
+ height: rect.height
36
+ };
37
+ }
38
+ if (!originalRectRef.current) return;
39
+ const resolved = resolveAffixTarget(target);
40
+ const containerRect = resolved.getRect();
41
+ if (!affixed) {
42
+ if (stateRef.current.affixed) {
43
+ setState({ affixed: false, style: {} });
44
+ onChangeRef.current?.(false);
45
+ }
46
+ return;
47
+ }
48
+ const next = calculateAffixState(
49
+ {
50
+ top: -1,
51
+ left: originalRectRef.current.left,
52
+ width: originalRectRef.current.width,
53
+ height: originalRectRef.current.height
54
+ },
55
+ containerRect,
56
+ offsetBottom !== void 0 ? void 0 : offsetTop,
57
+ offsetBottom,
58
+ zIndex
59
+ );
60
+ if (!next.affixed) {
61
+ if (stateRef.current.affixed) {
62
+ setState({ affixed: false, style: {} });
63
+ onChangeRef.current?.(false);
64
+ }
65
+ return;
66
+ }
67
+ const wasAffixed = stateRef.current.affixed;
68
+ setState(next);
69
+ if (!wasAffixed) onChangeRef.current?.(true);
70
+ },
71
+ [offsetTop, offsetBottom, target, zIndex]
72
+ );
73
+ useEffect(() => {
74
+ if (!sentinelRef.current) return void 0;
75
+ const resolved = resolveAffixTarget(target);
76
+ const root = resolved.element === window ? null : resolved.element;
77
+ const stop = createAffixObserver(sentinelRef.current, {
78
+ offsetTop,
79
+ offsetBottom,
80
+ root,
81
+ onToggle: (affixed) => recalcStyle(affixed)
82
+ });
83
+ let resizeObs = null;
84
+ const onResize = () => {
85
+ if (stateRef.current.affixed) recalcStyle(true);
86
+ };
87
+ if (typeof ResizeObserver !== "undefined" && wrapperRef.current) {
88
+ resizeObs = new ResizeObserver(() => onResize());
89
+ resizeObs.observe(wrapperRef.current);
90
+ }
91
+ window.addEventListener("resize", onResize, { passive: true });
92
+ return () => {
93
+ stop();
94
+ resizeObs?.disconnect();
95
+ window.removeEventListener("resize", onResize);
96
+ };
97
+ }, [offsetTop, offsetBottom, target, recalcStyle]);
98
+ const wrapperClasses = useMemo(() => classNames(className), [className]);
99
+ const wrapperStyle = useMemo(
100
+ () => state.affixed ? { ...state.style, ...style } : style,
101
+ [state.affixed, state.style, style]
102
+ );
103
+ const sentinel = /* @__PURE__ */ jsx(
104
+ "div",
105
+ {
106
+ ref: sentinelRef,
107
+ "aria-hidden": "true",
108
+ style: { display: "block", width: 0, height: 0, pointerEvents: "none" }
109
+ }
110
+ );
111
+ if (state.affixed) {
112
+ return /* @__PURE__ */ jsxs("div", { children: [
113
+ sentinel,
114
+ /* @__PURE__ */ jsx(
115
+ "div",
116
+ {
117
+ style: {
118
+ width: originalRectRef.current?.width ?? 0,
119
+ height: originalRectRef.current?.height ?? 0
120
+ }
121
+ }
122
+ ),
123
+ /* @__PURE__ */ jsx("div", { ref: wrapperRef, className: wrapperClasses, style: wrapperStyle, ...props, children })
124
+ ] });
125
+ }
126
+ return /* @__PURE__ */ jsxs("div", { children: [
127
+ sentinel,
128
+ /* @__PURE__ */ jsx("div", { ref: wrapperRef, className: wrapperClasses, style: wrapperStyle, ...props, children })
129
+ ] });
130
+ };
131
+
132
+ export { Affix };