@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
@@ -108,12 +108,16 @@ var TreeSelect = (props) => {
108
108
  onChange?.(multiple ? [] : void 0);
109
109
  }
110
110
  function handleKeyDown(e) {
111
- if (e.key === "Escape") {
112
- e.preventDefault();
113
- closeDropdown();
114
- } else if ((e.key === "Enter" || e.key === " ") && !isOpen) {
115
- e.preventDefault();
111
+ const action = tigercatCore.getPickerTriggerKeyAction(e.key, isOpen);
112
+ if (action === "none") return;
113
+ e.preventDefault();
114
+ if (action === "toggle") {
115
+ if (isOpen) closeDropdown();
116
+ else openDropdown();
117
+ } else if (action === "open") {
116
118
  openDropdown();
119
+ } else if (action === "close") {
120
+ closeDropdown();
117
121
  }
118
122
  }
119
123
  react.useEffect(() => {
@@ -132,10 +136,7 @@ var TreeSelect = (props) => {
132
136
  {
133
137
  type: "button",
134
138
  className: tigercatCore.getTreeSelectTriggerClasses(size, disabled, isOpen),
135
- role: "combobox",
136
- "aria-expanded": isOpen,
137
- "aria-haspopup": "listbox",
138
- "aria-controls": isOpen ? listboxId : void 0,
139
+ ...tigercatCore.getPickerComboboxAria({ expanded: isOpen, listboxId }),
139
140
  disabled,
140
141
  onClick: toggleDropdown,
141
142
  onKeyDown: handleKeyDown,
@@ -180,7 +181,7 @@ var TreeSelect = (props) => {
180
181
  ]
181
182
  }
182
183
  ),
183
- isOpen && /* @__PURE__ */ jsxRuntime.jsxs("div", { id: listboxId, role: "listbox", className: tigercatCore.treeSelectDropdownClasses, children: [
184
+ isOpen && /* @__PURE__ */ jsxRuntime.jsxs("div", { ...tigercatCore.getPickerListboxAria({ id: listboxId }), className: tigercatCore.treeSelectDropdownClasses, children: [
184
185
  showSearch && /* @__PURE__ */ jsxRuntime.jsx(
185
186
  "input",
186
187
  {
@@ -199,9 +200,7 @@ var TreeSelect = (props) => {
199
200
  return /* @__PURE__ */ jsxRuntime.jsxs(
200
201
  "div",
201
202
  {
202
- role: "option",
203
- "aria-selected": selected,
204
- "aria-disabled": node.disabled,
203
+ ...tigercatCore.getPickerOptionAria({ selected, disabled: !!node.disabled }),
205
204
  className: tigercatCore.getTreeSelectNodeClasses(selected, !!node.disabled, size),
206
205
  style: { paddingLeft: `${indent + 8}px` },
207
206
  onClick: (e) => {
@@ -1,5 +1,5 @@
1
1
  import { forwardRef, useRef, useState, useEffect, useImperativeHandle, useCallback, useMemo } from 'react';
2
- import { getInitialCropRect, cropCanvas, classNames, imageCropperContainerClasses, CROP_HANDLES, imageCropperImgClasses, imageCropperMaskClasses, imageCropperSelectionClasses, imageCropperDragAreaClasses, imageCropperGuideClasses, getCropperHandleClasses, moveCropRect, resizeCropRect } from '@expcat/tigercat-core';
2
+ import { getInitialCropRect, cropCanvas, moveCropRect, resizeCropRect, classNames, imageCropperContainerClasses, CROP_HANDLES, imageCropperImgClasses, imageCropperMaskClasses, imageCropperSelectionClasses, imageCropperDragAreaClasses, imageCropperGuideClasses, getCropperHandleClasses } from '@expcat/tigercat-core';
3
3
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
4
 
5
5
  // src/components/ImageCropper.tsx
@@ -174,6 +174,65 @@ var ImageCropper = forwardRef(
174
174
  },
175
175
  [cropRect, aspectRatio, minWidth, minHeight, onCropChange]
176
176
  );
177
+ const updateCropRect = useCallback(
178
+ (nextRect) => {
179
+ setCropRect(nextRect);
180
+ onCropChange?.(nextRect);
181
+ },
182
+ [onCropChange]
183
+ );
184
+ const handleMoveKeyDown = useCallback(
185
+ (e) => {
186
+ const step = e.shiftKey ? 10 : 1;
187
+ const deltas = {
188
+ ArrowLeft: { dx: -step, dy: 0 },
189
+ ArrowRight: { dx: step, dy: 0 },
190
+ ArrowUp: { dx: 0, dy: -step },
191
+ ArrowDown: { dx: 0, dy: step }
192
+ };
193
+ const delta = deltas[e.key];
194
+ if (!delta) return;
195
+ e.preventDefault();
196
+ updateCropRect(
197
+ moveCropRect(
198
+ cropRect,
199
+ delta.dx,
200
+ delta.dy,
201
+ displayDimsRef.current.w,
202
+ displayDimsRef.current.h
203
+ )
204
+ );
205
+ },
206
+ [cropRect, updateCropRect]
207
+ );
208
+ const handleResizeKeyDown = useCallback(
209
+ (e, handle) => {
210
+ const step = e.shiftKey ? 10 : 1;
211
+ const deltas = {
212
+ ArrowLeft: { dx: -step, dy: 0 },
213
+ ArrowRight: { dx: step, dy: 0 },
214
+ ArrowUp: { dx: 0, dy: -step },
215
+ ArrowDown: { dx: 0, dy: step }
216
+ };
217
+ const delta = deltas[e.key];
218
+ if (!delta) return;
219
+ e.preventDefault();
220
+ updateCropRect(
221
+ resizeCropRect(
222
+ cropRect,
223
+ handle,
224
+ delta.dx,
225
+ delta.dy,
226
+ displayDimsRef.current.w,
227
+ displayDimsRef.current.h,
228
+ aspectRatio,
229
+ minWidth,
230
+ minHeight
231
+ )
232
+ );
233
+ },
234
+ [cropRect, aspectRatio, minWidth, minHeight, updateCropRect]
235
+ );
177
236
  const containerClasses = useMemo(
178
237
  () => classNames(imageCropperContainerClasses, className),
179
238
  [className]
@@ -262,8 +321,12 @@ var ImageCropper = forwardRef(
262
321
  width: `${cr.width}px`,
263
322
  height: `${cr.height}px`
264
323
  },
324
+ role: "button",
325
+ tabIndex: 0,
326
+ "aria-label": "Move crop area",
265
327
  onMouseDown: (e) => handleMouseDown(e, "move"),
266
- onTouchStart: (e) => handleTouchStart(e, "move")
328
+ onTouchStart: (e) => handleTouchStart(e, "move"),
329
+ onKeyDown: handleMoveKeyDown
267
330
  }
268
331
  ),
269
332
  guides && /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -337,8 +400,12 @@ var ImageCropper = forwardRef(
337
400
  {
338
401
  className: getCropperHandleClasses(handle),
339
402
  style: pos,
403
+ role: "button",
404
+ tabIndex: 0,
405
+ "aria-label": `Resize crop area ${handle}`,
340
406
  onMouseDown: (e) => handleMouseDown(e, "resize", handle),
341
- onTouchStart: (e) => handleTouchStart(e, "resize", handle)
407
+ onTouchStart: (e) => handleTouchStart(e, "resize", handle),
408
+ onKeyDown: (e) => handleResizeKeyDown(e, handle)
342
409
  },
343
410
  handle
344
411
  );
@@ -23,48 +23,39 @@ var Watermark = ({
23
23
  }) => {
24
24
  const [base64, setBase64] = react.useState();
25
25
  const wrapperRef = react.useRef(null);
26
+ const renderControllerRef = react.useRef(null);
26
27
  const resolvedFont = react.useMemo(() => tigercatCore.resolveWatermarkFont(font), [font]);
27
- const generate = react.useCallback(() => {
28
- if (image) {
29
- const img = new Image();
30
- img.crossOrigin = "anonymous";
31
- img.onload = () => {
32
- const canvas = document.createElement("canvas");
33
- const dpr = window.devicePixelRatio || 1;
34
- canvas.width = width * dpr;
35
- canvas.height = height * dpr;
36
- const ctx = canvas.getContext("2d");
37
- if (!ctx) return;
38
- ctx.scale(dpr, dpr);
39
- ctx.translate(width / 2, height / 2);
40
- ctx.rotate(rotate * Math.PI / 180);
41
- ctx.translate(-width / 2, -height / 2);
42
- ctx.drawImage(img, 0, 0, width, height);
43
- setBase64(canvas.toDataURL());
44
- };
45
- img.src = image;
46
- } else {
47
- setBase64(
48
- tigercatCore.renderWatermarkCanvas({
49
- content,
50
- width,
51
- height,
52
- rotate,
53
- font: resolvedFont
54
- })
55
- );
56
- }
57
- }, [content, image, width, height, rotate, resolvedFont]);
58
28
  react.useEffect(() => {
59
- generate();
60
- }, [generate]);
29
+ const target = wrapperRef.current;
30
+ if (!target) return;
31
+ const controller = tigercatCore.createWatermarkRenderController({
32
+ getRenderOptions: () => ({
33
+ content,
34
+ image,
35
+ width,
36
+ height,
37
+ rotate,
38
+ font: resolvedFont
39
+ }),
40
+ onRender: setBase64
41
+ });
42
+ renderControllerRef.current = controller;
43
+ controller.observe(target);
44
+ controller.render();
45
+ return () => {
46
+ controller.disconnect();
47
+ if (renderControllerRef.current === controller) {
48
+ renderControllerRef.current = null;
49
+ }
50
+ };
51
+ }, [content, image, width, height, rotate, resolvedFont]);
61
52
  react.useEffect(() => {
62
53
  if (typeof MutationObserver === "undefined" || !wrapperRef.current) return;
63
54
  const observer = new MutationObserver((mutations) => {
64
55
  for (const m of mutations) {
65
56
  for (const node of Array.from(m.removedNodes)) {
66
57
  if (node.dataset?.watermark === "true") {
67
- generate();
58
+ renderControllerRef.current?.render();
68
59
  return;
69
60
  }
70
61
  }
@@ -72,7 +63,7 @@ var Watermark = ({
72
63
  });
73
64
  observer.observe(wrapperRef.current, { childList: true });
74
65
  return () => observer.disconnect();
75
- }, [generate]);
66
+ }, []);
76
67
  const overlayStyle = react.useMemo(
77
68
  () => tigercatCore.getWatermarkOverlayStyle({
78
69
  base64Url: base64,
@@ -1,4 +1,4 @@
1
- import { DropdownContext } from './chunk-2UQC3WOI.mjs';
1
+ import { DropdownContext } from './chunk-C745DPLU.mjs';
2
2
  import { useContext } from 'react';
3
3
  import { classNames, getDropdownItemClasses } from '@expcat/tigercat-core';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -0,0 +1,312 @@
1
+ import { useChartInteraction } from './chunk-6QML6T3Y.mjs';
2
+ import { ChartTooltip } from './chunk-2IUTFPQQ.mjs';
3
+ import { ChartCanvas } from './chunk-DKNVSQSV.mjs';
4
+ import React, { useRef, useMemo, useEffect, useCallback } from 'react';
5
+ import { getChartInnerRect, computeHeatmapCells, resolveChartTooltipContent, resolveHeatmapRenderMode, getChartElementOpacity, getHeatmapCellIndexAtPoint, classNames, chartAxisTickTextClasses } from '@expcat/tigercat-core';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+
8
+ var HeatmapChart = ({
9
+ width = 400,
10
+ height = 300,
11
+ padding = 40,
12
+ data,
13
+ xLabels,
14
+ yLabels,
15
+ minColor = "#f0f9ff",
16
+ maxColor = "#2563eb",
17
+ colorSpace = "rgb",
18
+ cellRadius = 2,
19
+ cellGap = 1,
20
+ showValues = false,
21
+ valueFormatter,
22
+ renderMode = "auto",
23
+ canvasThreshold,
24
+ hoverable = false,
25
+ hoveredIndex: hoveredIndexProp,
26
+ activeOpacity = 1,
27
+ inactiveOpacity = 0.25,
28
+ selectable = false,
29
+ selectedIndex: selectedIndexProp,
30
+ showTooltip = true,
31
+ title,
32
+ desc,
33
+ className,
34
+ onHoveredIndexChange,
35
+ onSelectedIndexChange,
36
+ onCellClick,
37
+ onCellHover
38
+ }) => {
39
+ const canvasRef = useRef(null);
40
+ const {
41
+ tooltipPosition,
42
+ resolvedHoveredIndex,
43
+ activeIndex,
44
+ handleMouseEnter,
45
+ handleMouseMove,
46
+ handleMouseLeave,
47
+ handleClick
48
+ } = useChartInteraction({
49
+ hoverable,
50
+ hoveredIndexProp,
51
+ selectable,
52
+ selectedIndexProp,
53
+ activeOpacity,
54
+ inactiveOpacity,
55
+ getData: (index) => data[index],
56
+ onHoveredIndexChange: (index) => {
57
+ onHoveredIndexChange?.(index);
58
+ onCellHover?.(index, index !== null ? data[index] : null);
59
+ },
60
+ onSelectedIndexChange,
61
+ callbacks: { onClick: onCellClick }
62
+ });
63
+ const innerRect = useMemo(
64
+ () => getChartInnerRect(width, height, padding),
65
+ [width, height, padding]
66
+ );
67
+ const cells = useMemo(
68
+ () => computeHeatmapCells(data, {
69
+ xLabels,
70
+ yLabels,
71
+ width: innerRect.width,
72
+ height: innerRect.height,
73
+ cellGap,
74
+ minColor,
75
+ maxColor,
76
+ colorSpace
77
+ }),
78
+ [
79
+ data,
80
+ xLabels,
81
+ yLabels,
82
+ innerRect.width,
83
+ innerRect.height,
84
+ cellGap,
85
+ minColor,
86
+ maxColor,
87
+ colorSpace
88
+ ]
89
+ );
90
+ const tooltipContent = useMemo(
91
+ () => resolveChartTooltipContent(resolvedHoveredIndex, cells, void 0, (cell) => {
92
+ const val = valueFormatter ? valueFormatter(cell.value) : `${cell.value}`;
93
+ return `${cell.xLabel} \xD7 ${cell.yLabel}: ${val}`;
94
+ }),
95
+ [resolvedHoveredIndex, cells, valueFormatter]
96
+ );
97
+ const interactive = hoverable || selectable;
98
+ const rect = innerRect;
99
+ const cellW = (rect.width - cellGap * (xLabels.length - 1)) / xLabels.length;
100
+ const cellH = (rect.height - cellGap * (yLabels.length - 1)) / yLabels.length;
101
+ const resolvedRenderMode = resolveHeatmapRenderMode(cells.length, {
102
+ renderMode,
103
+ canvasThreshold
104
+ });
105
+ const shouldRenderCanvas = resolvedRenderMode === "canvas";
106
+ useEffect(() => {
107
+ if (!shouldRenderCanvas) return;
108
+ const canvas = canvasRef.current;
109
+ const context = canvas?.getContext("2d");
110
+ if (!canvas || !context) return;
111
+ context.clearRect(0, 0, rect.width, rect.height);
112
+ context.textAlign = "center";
113
+ context.textBaseline = "middle";
114
+ context.font = "10px sans-serif";
115
+ cells.forEach((cell, idx) => {
116
+ context.globalAlpha = getChartElementOpacity(idx, activeIndex, {
117
+ activeOpacity,
118
+ inactiveOpacity
119
+ }) ?? 1;
120
+ context.fillStyle = cell.fill;
121
+ const radius = Math.max(0, Math.min(cellRadius, cell.w / 2, cell.h / 2));
122
+ if (radius > 0) {
123
+ context.beginPath();
124
+ context.moveTo(cell.x + radius, cell.y);
125
+ context.lineTo(cell.x + cell.w - radius, cell.y);
126
+ context.quadraticCurveTo(cell.x + cell.w, cell.y, cell.x + cell.w, cell.y + radius);
127
+ context.lineTo(cell.x + cell.w, cell.y + cell.h - radius);
128
+ context.quadraticCurveTo(
129
+ cell.x + cell.w,
130
+ cell.y + cell.h,
131
+ cell.x + cell.w - radius,
132
+ cell.y + cell.h
133
+ );
134
+ context.lineTo(cell.x + radius, cell.y + cell.h);
135
+ context.quadraticCurveTo(cell.x, cell.y + cell.h, cell.x, cell.y + cell.h - radius);
136
+ context.lineTo(cell.x, cell.y + radius);
137
+ context.quadraticCurveTo(cell.x, cell.y, cell.x + radius, cell.y);
138
+ context.closePath();
139
+ context.fill();
140
+ } else {
141
+ context.fillRect(cell.x, cell.y, cell.w, cell.h);
142
+ }
143
+ if (showValues) {
144
+ context.globalAlpha = 1;
145
+ context.fillStyle = "var(--tiger-text,#374151)";
146
+ context.fillText(
147
+ valueFormatter ? valueFormatter(cell.value) : `${cell.value}`,
148
+ cell.x + cell.w / 2,
149
+ cell.y + cell.h / 2
150
+ );
151
+ }
152
+ });
153
+ context.globalAlpha = 1;
154
+ }, [
155
+ shouldRenderCanvas,
156
+ cells,
157
+ rect.width,
158
+ rect.height,
159
+ activeIndex,
160
+ activeOpacity,
161
+ inactiveOpacity,
162
+ cellRadius,
163
+ showValues,
164
+ valueFormatter
165
+ ]);
166
+ const getCanvasPoint = useCallback((event) => {
167
+ const canvas = event.currentTarget;
168
+ const bounds = canvas.getBoundingClientRect();
169
+ const nativeEvent = event.nativeEvent;
170
+ const offsetX = typeof nativeEvent.offsetX === "number" && Number.isFinite(nativeEvent.offsetX) ? nativeEvent.offsetX : event.clientX - bounds.left;
171
+ const offsetY = typeof nativeEvent.offsetY === "number" && Number.isFinite(nativeEvent.offsetY) ? nativeEvent.offsetY : event.clientY - bounds.top;
172
+ const scaleX = bounds.width > 0 ? canvas.width / bounds.width : 1;
173
+ const scaleY = bounds.height > 0 ? canvas.height / bounds.height : 1;
174
+ return { x: offsetX * scaleX, y: offsetY * scaleY };
175
+ }, []);
176
+ const handleCanvasMouseMove = useCallback(
177
+ (event) => {
178
+ const point = getCanvasPoint(event);
179
+ const index = getHeatmapCellIndexAtPoint(cells, point.x, point.y);
180
+ if (index === null) {
181
+ handleMouseLeave();
182
+ return;
183
+ }
184
+ handleMouseEnter(index, event);
185
+ handleMouseMove(event);
186
+ },
187
+ [cells, getCanvasPoint, handleMouseEnter, handleMouseLeave, handleMouseMove]
188
+ );
189
+ const handleCanvasClick = useCallback(
190
+ (event) => {
191
+ const point = getCanvasPoint(event);
192
+ const index = getHeatmapCellIndexAtPoint(cells, point.x, point.y);
193
+ if (index !== null) {
194
+ handleClick(index);
195
+ }
196
+ },
197
+ [cells, getCanvasPoint, handleClick]
198
+ );
199
+ const chart = /* @__PURE__ */ jsxs(
200
+ ChartCanvas,
201
+ {
202
+ width,
203
+ height,
204
+ padding,
205
+ title,
206
+ desc,
207
+ className: classNames(className),
208
+ children: [
209
+ xLabels.map((lbl, i) => /* @__PURE__ */ jsx(
210
+ "text",
211
+ {
212
+ x: i * (cellW + cellGap) + cellW / 2,
213
+ y: rect.height + 16,
214
+ className: chartAxisTickTextClasses,
215
+ textAnchor: "middle",
216
+ children: lbl
217
+ },
218
+ `x-${i}`
219
+ )),
220
+ yLabels.map((lbl, i) => /* @__PURE__ */ jsx(
221
+ "text",
222
+ {
223
+ x: -8,
224
+ y: i * (cellH + cellGap) + cellH / 2,
225
+ className: chartAxisTickTextClasses,
226
+ textAnchor: "end",
227
+ dominantBaseline: "middle",
228
+ children: lbl
229
+ },
230
+ `y-${i}`
231
+ )),
232
+ !shouldRenderCanvas && cells.map((cell, idx) => {
233
+ const opacity = getChartElementOpacity(idx, activeIndex, {
234
+ activeOpacity,
235
+ inactiveOpacity
236
+ });
237
+ return /* @__PURE__ */ jsxs(React.Fragment, { children: [
238
+ /* @__PURE__ */ jsx(
239
+ "rect",
240
+ {
241
+ x: cell.x,
242
+ y: cell.y,
243
+ width: cell.w,
244
+ height: cell.h,
245
+ rx: cellRadius,
246
+ fill: cell.fill,
247
+ opacity,
248
+ className: classNames(interactive && "cursor-pointer"),
249
+ style: {
250
+ transition: "opacity 0.2s ease-out",
251
+ rx: `var(--tiger-chart-block-radius, ${cellRadius}px)`
252
+ },
253
+ onMouseEnter: (e) => handleMouseEnter(idx, e),
254
+ onMouseMove: handleMouseMove,
255
+ onMouseLeave: handleMouseLeave,
256
+ onClick: () => handleClick(idx)
257
+ }
258
+ ),
259
+ showValues && /* @__PURE__ */ jsx(
260
+ "text",
261
+ {
262
+ x: cell.x + cell.w / 2,
263
+ y: cell.y + cell.h / 2,
264
+ className: "fill-[color:var(--tiger-text,#374151)] text-[10px]",
265
+ textAnchor: "middle",
266
+ dominantBaseline: "middle",
267
+ children: valueFormatter ? valueFormatter(cell.value) : `${cell.value}`
268
+ }
269
+ )
270
+ ] }, `cell-${idx}`);
271
+ })
272
+ ]
273
+ }
274
+ );
275
+ const tooltip = showTooltip && hoverable ? /* @__PURE__ */ jsx(
276
+ ChartTooltip,
277
+ {
278
+ content: tooltipContent,
279
+ visible: resolvedHoveredIndex !== null && tooltipContent !== "",
280
+ x: tooltipPosition.x,
281
+ y: tooltipPosition.y
282
+ }
283
+ ) : null;
284
+ return /* @__PURE__ */ jsxs("div", { className: "inline-block relative", children: [
285
+ chart,
286
+ shouldRenderCanvas && /* @__PURE__ */ jsx(
287
+ "canvas",
288
+ {
289
+ ref: canvasRef,
290
+ width: rect.width,
291
+ height: rect.height,
292
+ "data-heatmap-canvas": "true",
293
+ "data-heatmap-render-mode": resolvedRenderMode,
294
+ className: classNames(interactive && "cursor-pointer"),
295
+ style: {
296
+ position: "absolute",
297
+ left: `${rect.x}px`,
298
+ top: `${rect.y}px`,
299
+ width: `${rect.width}px`,
300
+ height: `${rect.height}px`,
301
+ pointerEvents: interactive ? "auto" : "none"
302
+ },
303
+ onMouseMove: interactive ? handleCanvasMouseMove : void 0,
304
+ onMouseLeave: interactive ? handleMouseLeave : void 0,
305
+ onClick: interactive ? handleCanvasClick : void 0
306
+ }
307
+ ),
308
+ tooltip
309
+ ] });
310
+ };
311
+
312
+ export { HeatmapChart };
@@ -1,9 +1,9 @@
1
- import { useChartInteraction } from './chunk-3CDAG4HD.mjs';
2
- import { ChartLegend } from './chunk-Z6F67MJE.mjs';
3
- import { ChartTooltip } from './chunk-LVC43YX2.mjs';
4
- import { ChartCanvas } from './chunk-IS467WAO.mjs';
1
+ import { useChartInteraction } from './chunk-6QML6T3Y.mjs';
2
+ import { ChartLegend } from './chunk-UBP7HZSU.mjs';
3
+ import { ChartTooltip } from './chunk-2IUTFPQQ.mjs';
4
+ import { ChartCanvas } from './chunk-DKNVSQSV.mjs';
5
5
  import { useMemo } from 'react';
6
- import { getChartInnerRect, resolveChartPalette, computeSunburstArcs, buildChartLegendItems, resolveChartTooltipContent, classNames, getChartElementOpacity } from '@expcat/tigercat-core';
6
+ import { getChartInnerRect, resolveChartPalette, getSunburstGradientPrefix, computeSunburstArcs, buildChartLegendItems, resolveChartTooltipContent, classNames, getChartElementOpacity } from '@expcat/tigercat-core';
7
7
  import { jsx, jsxs } from 'react/jsx-runtime';
8
8
 
9
9
  var SunburstChart = ({
@@ -14,6 +14,7 @@ var SunburstChart = ({
14
14
  innerRadiusRatio = 0,
15
15
  showLabels: _showLabels = true,
16
16
  colors,
17
+ gradient = false,
17
18
  hoverable = false,
18
19
  hoveredIndex: hoveredIndexProp,
19
20
  activeOpacity = 1,
@@ -39,6 +40,7 @@ var SunburstChart = ({
39
40
  [width, height, padding]
40
41
  );
41
42
  const palette = useMemo(() => resolveChartPalette(colors), [colors]);
43
+ const gradientPrefix = useMemo(() => getSunburstGradientPrefix(), []);
42
44
  const outerRadius = useMemo(
43
45
  () => Math.min(innerRect.width, innerRect.height) / 2,
44
46
  [innerRect.width, innerRect.height]
@@ -121,32 +123,52 @@ var SunburstChart = ({
121
123
  title,
122
124
  desc,
123
125
  className: classNames(className),
124
- children: /* @__PURE__ */ jsx("g", { "data-series-type": "sunburst", children: arcs.map((arc) => {
125
- const opacity = getChartElementOpacity(arc.index, activeIndex, {
126
- activeOpacity,
127
- inactiveOpacity
128
- });
129
- return /* @__PURE__ */ jsx(
130
- "path",
126
+ children: /* @__PURE__ */ jsxs("g", { "data-series-type": "sunburst", children: [
127
+ gradient && /* @__PURE__ */ jsx("defs", { children: arcs.map((arc) => /* @__PURE__ */ jsxs(
128
+ "linearGradient",
131
129
  {
132
- d: arc.path,
133
- fill: arc.color,
134
- opacity,
135
- stroke: "#ffffff",
136
- strokeWidth: 1,
137
- className: classNames(interactive && "cursor-pointer"),
138
- style: { transition: "opacity 0.2s ease-out" },
139
- tabIndex: selectable ? 0 : void 0,
140
- role: selectable ? "button" : "img",
141
- "aria-label": arc.label,
142
- onMouseEnter: (e) => handleMouseEnter(arc.index, e),
143
- onMouseMove: handleMouseMove,
144
- onMouseLeave: handleMouseLeave,
145
- onClick: () => handleClick(arc.index)
130
+ id: `${gradientPrefix}-${arc.index}`,
131
+ x1: "0",
132
+ y1: "0",
133
+ x2: "0",
134
+ y2: "1",
135
+ children: [
136
+ /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: arc.color, stopOpacity: "1" }),
137
+ /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: arc.color, stopOpacity: "0.7" })
138
+ ]
146
139
  },
147
- `arc-${arc.index}`
148
- );
149
- }) })
140
+ `grad-${arc.index}`
141
+ )) }),
142
+ arcs.map((arc) => {
143
+ const opacity = getChartElementOpacity(arc.index, activeIndex, {
144
+ activeOpacity,
145
+ inactiveOpacity
146
+ });
147
+ return /* @__PURE__ */ jsx(
148
+ "path",
149
+ {
150
+ d: arc.path,
151
+ fill: gradient ? `url(#${gradientPrefix}-${arc.index})` : arc.color,
152
+ opacity,
153
+ stroke: "var(--tiger-surface,#ffffff)",
154
+ strokeWidth: 1,
155
+ className: classNames(interactive && "cursor-pointer"),
156
+ style: {
157
+ transition: "opacity 0.2s ease-out, filter 0.2s ease-out",
158
+ filter: activeIndex === arc.index ? "var(--tiger-chart-block-active-filter, none)" : "none"
159
+ },
160
+ tabIndex: selectable ? 0 : void 0,
161
+ role: selectable ? "button" : "img",
162
+ "aria-label": arc.label,
163
+ onMouseEnter: (e) => handleMouseEnter(arc.index, e),
164
+ onMouseMove: handleMouseMove,
165
+ onMouseLeave: handleMouseLeave,
166
+ onClick: () => handleClick(arc.index)
167
+ },
168
+ `arc-${arc.index}`
169
+ );
170
+ })
171
+ ] })
150
172
  }
151
173
  );
152
174
  const tooltip = showTooltip && hoverable ? /* @__PURE__ */ jsx(