@expcat/tigercat-react 0.3.0 → 0.3.69

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 (343) hide show
  1. package/dist/{chunk-IAF24RKI.mjs → chunk-24U2DQRP.mjs} +1 -1
  2. package/dist/{chunk-IL2Y5RCX.mjs → chunk-2DW3WFZI.mjs} +95 -45
  3. package/dist/{chunk-6MGEGOYJ.js → chunk-2GKTVAAB.js} +24 -18
  4. package/dist/{chunk-HGTF6A46.mjs → chunk-3577FW3I.mjs} +58 -92
  5. package/dist/{chunk-GY6D4XS3.js → chunk-3GW3UAKB.js} +40 -98
  6. package/dist/{chunk-VD3IK5XT.mjs → chunk-3M2IG6IN.mjs} +2 -3
  7. package/dist/{chunk-T3GSXTDU.js → chunk-3NE6VZRY.js} +2 -3
  8. package/dist/chunk-3PV2MDST.mjs +95 -0
  9. package/dist/{chunk-36RRHNZD.js → chunk-3T7L3MHX.js} +33 -15
  10. package/dist/{chunk-IY4LEJYF.js → chunk-4PPTEEDI.js} +29 -30
  11. package/dist/{chunk-Z4Z3I74Q.mjs → chunk-4Y7YH32A.mjs} +37 -46
  12. package/dist/chunk-56KTCMRE.mjs +77 -0
  13. package/dist/chunk-5P5M656V.mjs +75 -0
  14. package/dist/{chunk-Z6G4HABF.js → chunk-67FVBKBC.js} +58 -95
  15. package/dist/{chunk-KAEHFMTQ.mjs → chunk-6IH5QPTR.mjs} +121 -144
  16. package/dist/{chunk-C52ZCGYG.mjs → chunk-6PXNWGR5.mjs} +49 -65
  17. package/dist/{chunk-MQTHGPHF.js → chunk-72MWKUBC.js} +49 -42
  18. package/dist/{chunk-PT4WLSTJ.mjs → chunk-763M6U5U.mjs} +105 -65
  19. package/dist/{chunk-RTQNWZN4.mjs → chunk-77PE7OFK.mjs} +3 -5
  20. package/dist/{chunk-KPZTGRNA.js → chunk-7Z64GEMN.js} +51 -55
  21. package/dist/{chunk-3WPKVV4N.js → chunk-A3PYG3D6.js} +6 -39
  22. package/dist/chunk-AQ72JVUG.js +41 -0
  23. package/dist/{chunk-P4EFJIXU.mjs → chunk-AUP3PMDD.mjs} +18 -41
  24. package/dist/{chunk-PUDU34R4.mjs → chunk-AVUXDQYO.mjs} +26 -20
  25. package/dist/{chunk-HUZVBDHV.js → chunk-AY5Z3NIW.js} +15 -20
  26. package/dist/{chunk-67EK62HG.mjs → chunk-B3LRUKXM.mjs} +1 -1
  27. package/dist/{chunk-JAVDNFJD.js → chunk-C7UKFKVY.js} +26 -33
  28. package/dist/{chunk-TZ26HQAW.js → chunk-CI2WHAT2.js} +18 -38
  29. package/dist/{chunk-WYTHTJN3.mjs → chunk-CYZLGYY4.mjs} +112 -59
  30. package/dist/{chunk-NSGDRTSQ.mjs → chunk-D5KYIQWB.mjs} +6 -39
  31. package/dist/chunk-DQNA57CA.js +57 -0
  32. package/dist/{chunk-6575DOCV.mjs → chunk-DTQZPZSJ.mjs} +3 -3
  33. package/dist/{chunk-7P6PHSFM.js → chunk-DXXYPVJJ.js} +32 -35
  34. package/dist/{chunk-UFAXJVMD.js → chunk-EFLIFXZH.js} +3 -3
  35. package/dist/{chunk-JI7SFMUT.mjs → chunk-EIMAQHCQ.mjs} +29 -80
  36. package/dist/chunk-ENSLMM3L.mjs +68 -0
  37. package/dist/chunk-F24IF2QL.js +74 -0
  38. package/dist/{chunk-ZUUG3WOL.js → chunk-F4Q5QMX2.js} +171 -94
  39. package/dist/{chunk-V2HVHLBY.mjs → chunk-FE7PEZTI.mjs} +19 -39
  40. package/dist/chunk-FLYJVZED.mjs +30 -0
  41. package/dist/chunk-FMF2G6BJ.js +179 -0
  42. package/dist/{chunk-YIF5VX7K.mjs → chunk-FNDPGSEW.mjs} +14 -13
  43. package/dist/{chunk-HQLZL3XQ.mjs → chunk-FPNT7FV5.mjs} +3 -7
  44. package/dist/{chunk-YE2M2HNM.js → chunk-FSDZJD7M.js} +36 -45
  45. package/dist/{chunk-4PTI6ZUK.js → chunk-GASFXURT.js} +93 -43
  46. package/dist/chunk-GB5G2CJY.js +96 -0
  47. package/dist/{chunk-LXA2YBAO.js → chunk-GJEWBALW.js} +2 -2
  48. package/dist/{chunk-GXTBCX3M.js → chunk-H5MZ54PM.js} +16 -39
  49. package/dist/{chunk-4TWHENPT.js → chunk-HB2UYJBY.js} +32 -17
  50. package/dist/{chunk-5HUYCSA4.mjs → chunk-HPXLUJFJ.mjs} +22 -19
  51. package/dist/chunk-HQ3QOT7H.js +33 -0
  52. package/dist/chunk-I5TCE5E7.js +32 -0
  53. package/dist/{chunk-QFVE7GKD.js → chunk-IBYIPXIO.js} +5 -26
  54. package/dist/{chunk-3XXXM4OB.mjs → chunk-IGE44BIS.mjs} +67 -23
  55. package/dist/{chunk-XRFK2IXM.js → chunk-IHH2O7YK.js} +6 -7
  56. package/dist/chunk-IP3MAJSH.mjs +55 -0
  57. package/dist/{chunk-OVWCTDAL.js → chunk-IRH2ZVD3.js} +37 -49
  58. package/dist/chunk-IVGKPD2L.mjs +39 -0
  59. package/dist/{chunk-CJJ56NVL.mjs → chunk-IXJMMM26.mjs} +16 -60
  60. package/dist/{chunk-4IO2M3ZJ.js → chunk-J3HKED4B.js} +17 -17
  61. package/dist/{chunk-MF3H7WWW.mjs → chunk-JNLX47UL.mjs} +33 -15
  62. package/dist/{chunk-L63N3LCG.js → chunk-JQNKI2ZZ.js} +79 -31
  63. package/dist/{chunk-X4F6NSI5.mjs → chunk-JUWFVIDP.mjs} +2 -2
  64. package/dist/{chunk-LADCWARG.mjs → chunk-JVTAKNRO.mjs} +17 -15
  65. package/dist/{chunk-2Y327ZU4.js → chunk-KAWE5LQZ.js} +80 -83
  66. package/dist/{chunk-TR246HQP.mjs → chunk-KMTERPME.mjs} +14 -18
  67. package/dist/chunk-LIV33O73.mjs +26 -0
  68. package/dist/{chunk-PVOQUXIB.mjs → chunk-LL6B4BHF.mjs} +4 -4
  69. package/dist/chunk-LXQOQJMU.js +79 -0
  70. package/dist/{chunk-HT2BXCEM.js → chunk-M46L73HR.js} +19 -19
  71. package/dist/{chunk-NMDNLB3C.mjs → chunk-MDZDPGRK.mjs} +30 -27
  72. package/dist/{chunk-WKGCUR7O.mjs → chunk-MTL2QUM3.mjs} +7 -7
  73. package/dist/chunk-MWH6FCSE.js +97 -0
  74. package/dist/{chunk-YER7IQF4.mjs → chunk-N4EMXCRQ.mjs} +172 -95
  75. package/dist/{chunk-SIB4EHB6.js → chunk-NEP3CS6S.js} +111 -58
  76. package/dist/{chunk-FAZQT7YP.mjs → chunk-NJCKTIWB.mjs} +6 -6
  77. package/dist/{chunk-IIVRVCCP.mjs → chunk-NKKIJQMV.mjs} +53 -57
  78. package/dist/{chunk-MQXBU5YX.mjs → chunk-NQFHS4W2.mjs} +29 -21
  79. package/dist/chunk-NTODO3Q3.mjs +94 -0
  80. package/dist/{chunk-NDOYQK2R.mjs → chunk-NZLOLMT2.mjs} +41 -99
  81. package/dist/chunk-O3W3OZ6V.js +37 -0
  82. package/dist/{chunk-IFY46RWU.js → chunk-OESNOOOT.js} +1 -2
  83. package/dist/{chunk-IWENGARY.mjs → chunk-OFBK35TK.mjs} +1 -1
  84. package/dist/{chunk-R7TOQU3U.js → chunk-OIUIR5ZR.js} +15 -59
  85. package/dist/{chunk-QEAC4MIG.mjs → chunk-OUAZM7NY.mjs} +12 -59
  86. package/dist/{chunk-R67R3TVA.mjs → chunk-OXT5RN55.mjs} +5 -5
  87. package/dist/{chunk-CIL2AC3F.js → chunk-OYCMGKQ7.js} +15 -23
  88. package/dist/{chunk-IQINYCU6.js → chunk-PR3PQUKM.js} +17 -15
  89. package/dist/chunk-PTEDJ6MA.js +29 -0
  90. package/dist/{chunk-D3I2SY7X.js → chunk-PWZB45Z7.js} +13 -60
  91. package/dist/{chunk-GZPMLPRW.js → chunk-PXPUPQRO.js} +2 -2
  92. package/dist/{chunk-OZLGNWET.js → chunk-Q57BYUUW.js} +12 -28
  93. package/dist/chunk-QAO5KANE.mjs +36 -0
  94. package/dist/{chunk-AITVDDCE.mjs → chunk-QGCQAJGL.mjs} +81 -33
  95. package/dist/{chunk-JOHKSMJM.mjs → chunk-QLHFXYWA.mjs} +59 -96
  96. package/dist/{chunk-C5EFBJBR.js → chunk-QM4GOQDT.js} +119 -142
  97. package/dist/{chunk-PBJ2J2B3.js → chunk-QNRAM3CM.js} +2 -2
  98. package/dist/{chunk-Z5DDULTA.js → chunk-RARHRSPQ.js} +2 -2
  99. package/dist/{chunk-5QKMQRCW.js → chunk-RDIEZKV2.js} +28 -20
  100. package/dist/{chunk-OZLAGTZW.mjs → chunk-RGFSY3S2.mjs} +50 -43
  101. package/dist/{chunk-IYFSM2GA.mjs → chunk-RGZYYVQF.mjs} +26 -33
  102. package/dist/{chunk-3GD3LOII.mjs → chunk-RITTIFCJ.mjs} +1 -2
  103. package/dist/{chunk-Y2JOJ4D6.js → chunk-RKB2VUQO.js} +8 -10
  104. package/dist/{chunk-7SLNHUGJ.js → chunk-RNEL4XIO.js} +28 -79
  105. package/dist/{chunk-6ZTCBQJ7.mjs → chunk-RPTLVIBF.mjs} +17 -25
  106. package/dist/{chunk-5ZVSFIZD.js → chunk-RYWGELJ7.js} +2 -6
  107. package/dist/chunk-S4GNTA7V.mjs +176 -0
  108. package/dist/{chunk-VSF4DF7N.js → chunk-SAZ6V6DX.js} +21 -18
  109. package/dist/{chunk-Q3DPJHNM.js → chunk-SFALTVPS.js} +3 -5
  110. package/dist/{chunk-LZNG2HGC.mjs → chunk-SH6O6LDJ.mjs} +72 -30
  111. package/dist/{chunk-6E5UKM6O.js → chunk-SM7RDJFB.js} +104 -64
  112. package/dist/{chunk-DGBYGBLR.js → chunk-SOC74QA2.js} +32 -52
  113. package/dist/{chunk-KOLLAGRK.mjs → chunk-SQ7OL2X5.mjs} +2 -3
  114. package/dist/{chunk-VO4WDK4K.js → chunk-SSQOCZ6O.js} +1 -2
  115. package/dist/{chunk-KV4LLPAY.mjs → chunk-SW4I4X6E.mjs} +8 -10
  116. package/dist/{chunk-GQMYCYZ4.js → chunk-TDRINUMH.js} +31 -28
  117. package/dist/{chunk-DIZNY6N4.mjs → chunk-TGKNEMD4.mjs} +8 -8
  118. package/dist/{chunk-BAPR7UUR.mjs → chunk-TGPQ4KET.mjs} +13 -29
  119. package/dist/{chunk-3XKBDV2Q.mjs → chunk-TUA5PDRX.mjs} +7 -8
  120. package/dist/{chunk-CES6LGQ7.mjs → chunk-UE234MW4.mjs} +34 -37
  121. package/dist/{chunk-U4ZVEPYD.js → chunk-URM7QDHH.js} +14 -18
  122. package/dist/chunk-UZ7SBFQV.mjs +35 -0
  123. package/dist/{chunk-HGF2EL25.mjs → chunk-V5NIFF2F.mjs} +34 -54
  124. package/dist/{chunk-672SCJWZ.mjs → chunk-VCNZEQEB.mjs} +10 -10
  125. package/dist/{chunk-R7MS42PL.js → chunk-VCOBBJLP.js} +9 -9
  126. package/dist/{chunk-2TS6X5RA.js → chunk-VCULFIZ5.js} +7 -7
  127. package/dist/{chunk-N32MAX4A.js → chunk-W4TFISRK.js} +70 -28
  128. package/dist/{chunk-4MMT4EJJ.mjs → chunk-WAIXKROS.mjs} +17 -22
  129. package/dist/{chunk-YGOTPK2W.mjs → chunk-WGRYO5HX.mjs} +34 -19
  130. package/dist/{chunk-ZPWDDAFE.js → chunk-XID6T65A.js} +14 -13
  131. package/dist/chunk-XJ7U2W7S.mjs +27 -0
  132. package/dist/{chunk-ZN2BZCTI.js → chunk-XKDWDANG.js} +8 -8
  133. package/dist/{chunk-EI2GHMQS.js → chunk-XLVEI7GS.js} +15 -13
  134. package/dist/{chunk-6YKZAWNX.js → chunk-XWNVBCJA.js} +14 -14
  135. package/dist/{chunk-JW64IJP2.js → chunk-XWRJVNB6.js} +67 -23
  136. package/dist/{chunk-HDDBBZQH.js → chunk-YV6Y7C43.js} +48 -64
  137. package/dist/{chunk-XS5JP2KO.mjs → chunk-ZFHTSHXS.mjs} +82 -85
  138. package/dist/{chunk-73DMQ2SR.mjs → chunk-ZGQOYCQT.mjs} +32 -44
  139. package/dist/{chunk-WDAMDVLU.mjs → chunk-ZIUOENTL.mjs} +6 -27
  140. package/dist/{chunk-GJKT2B56.js → chunk-ZTVATZB6.js} +58 -92
  141. package/dist/components/ActivityFeed.js +10 -10
  142. package/dist/components/ActivityFeed.mjs +8 -8
  143. package/dist/components/Alert.js +3 -2
  144. package/dist/components/Alert.mjs +2 -1
  145. package/dist/components/Anchor.js +4 -4
  146. package/dist/components/Anchor.mjs +1 -1
  147. package/dist/components/AnchorLink.js +4 -4
  148. package/dist/components/AnchorLink.mjs +2 -2
  149. package/dist/components/AreaChart.d.mts +3 -0
  150. package/dist/components/AreaChart.d.ts +3 -0
  151. package/dist/components/AreaChart.js +3 -3
  152. package/dist/components/AreaChart.mjs +1 -1
  153. package/dist/components/Avatar.d.mts +1 -1
  154. package/dist/components/Avatar.d.ts +1 -1
  155. package/dist/components/Avatar.js +2 -2
  156. package/dist/components/Avatar.mjs +1 -1
  157. package/dist/components/BackTop.js +3 -3
  158. package/dist/components/BackTop.mjs +1 -1
  159. package/dist/components/Badge.d.mts +0 -3
  160. package/dist/components/Badge.d.ts +0 -3
  161. package/dist/components/Badge.js +2 -2
  162. package/dist/components/Badge.mjs +1 -1
  163. package/dist/components/BarChart.js +3 -3
  164. package/dist/components/BarChart.mjs +1 -1
  165. package/dist/components/Breadcrumb.d.mts +0 -1
  166. package/dist/components/Breadcrumb.d.ts +0 -1
  167. package/dist/components/BreadcrumbItem.js +2 -2
  168. package/dist/components/BreadcrumbItem.mjs +1 -1
  169. package/dist/components/Button.js +2 -2
  170. package/dist/components/Button.mjs +1 -1
  171. package/dist/components/Card.js +2 -2
  172. package/dist/components/Card.mjs +1 -1
  173. package/dist/components/Carousel.js +2 -2
  174. package/dist/components/Carousel.mjs +1 -1
  175. package/dist/components/ChatWindow.js +7 -7
  176. package/dist/components/ChatWindow.mjs +5 -5
  177. package/dist/components/Checkbox.js +2 -2
  178. package/dist/components/Checkbox.mjs +1 -1
  179. package/dist/components/Col.js +3 -3
  180. package/dist/components/Col.mjs +2 -2
  181. package/dist/components/CollapsePanel.js +3 -3
  182. package/dist/components/CollapsePanel.mjs +1 -1
  183. package/dist/components/CommentThread.js +8 -8
  184. package/dist/components/CommentThread.mjs +6 -6
  185. package/dist/components/DataTableWithToolbar.js +8 -11
  186. package/dist/components/DataTableWithToolbar.mjs +6 -9
  187. package/dist/components/DatePicker.js +2 -2
  188. package/dist/components/DatePicker.mjs +1 -1
  189. package/dist/components/Descriptions.js +3 -3
  190. package/dist/components/Descriptions.mjs +1 -1
  191. package/dist/components/Divider.d.mts +1 -3
  192. package/dist/components/Divider.d.ts +1 -3
  193. package/dist/components/Divider.js +2 -2
  194. package/dist/components/Divider.mjs +1 -1
  195. package/dist/components/DonutChart.d.mts +6 -0
  196. package/dist/components/DonutChart.d.ts +6 -0
  197. package/dist/components/DonutChart.js +4 -4
  198. package/dist/components/DonutChart.mjs +2 -2
  199. package/dist/components/Drawer.js +2 -2
  200. package/dist/components/Drawer.mjs +1 -1
  201. package/dist/components/Dropdown.d.mts +1 -15
  202. package/dist/components/Dropdown.d.ts +1 -15
  203. package/dist/components/Dropdown.js +3 -3
  204. package/dist/components/Dropdown.mjs +1 -1
  205. package/dist/components/DropdownItem.js +3 -3
  206. package/dist/components/DropdownItem.mjs +2 -2
  207. package/dist/components/Form.d.mts +1 -0
  208. package/dist/components/Form.d.ts +1 -0
  209. package/dist/components/Form.js +3 -3
  210. package/dist/components/Form.mjs +1 -1
  211. package/dist/components/FormItem.js +3 -3
  212. package/dist/components/FormItem.mjs +2 -2
  213. package/dist/components/FormWizard.js +6 -6
  214. package/dist/components/FormWizard.mjs +4 -4
  215. package/dist/components/Icon.js +2 -2
  216. package/dist/components/Icon.mjs +1 -1
  217. package/dist/components/Input.d.mts +4 -7
  218. package/dist/components/Input.d.ts +4 -7
  219. package/dist/components/Input.js +2 -2
  220. package/dist/components/Input.mjs +1 -1
  221. package/dist/components/LineChart.js +3 -3
  222. package/dist/components/LineChart.mjs +1 -1
  223. package/dist/components/Link.js +2 -2
  224. package/dist/components/Link.mjs +1 -1
  225. package/dist/components/List.js +2 -4
  226. package/dist/components/List.mjs +1 -3
  227. package/dist/components/Loading.js +2 -2
  228. package/dist/components/Loading.mjs +1 -1
  229. package/dist/components/Menu.js +3 -3
  230. package/dist/components/Menu.mjs +1 -1
  231. package/dist/components/MenuItem.js +3 -3
  232. package/dist/components/MenuItem.mjs +2 -2
  233. package/dist/components/MenuItemGroup.js +4 -4
  234. package/dist/components/MenuItemGroup.mjs +3 -3
  235. package/dist/components/Message.d.mts +0 -18
  236. package/dist/components/Message.d.ts +0 -18
  237. package/dist/components/Message.js +5 -4
  238. package/dist/components/Message.mjs +2 -1
  239. package/dist/components/Modal.d.mts +15 -0
  240. package/dist/components/Modal.d.ts +15 -0
  241. package/dist/components/Modal.js +3 -2
  242. package/dist/components/Modal.mjs +2 -1
  243. package/dist/components/Notification.d.mts +0 -15
  244. package/dist/components/Notification.d.ts +0 -15
  245. package/dist/components/Notification.js +5 -4
  246. package/dist/components/Notification.mjs +2 -1
  247. package/dist/components/NotificationCenter.js +9 -10
  248. package/dist/components/NotificationCenter.mjs +7 -8
  249. package/dist/components/Pagination.js +3 -3
  250. package/dist/components/Pagination.mjs +1 -1
  251. package/dist/components/PieChart.js +3 -3
  252. package/dist/components/PieChart.mjs +1 -1
  253. package/dist/components/Popconfirm.d.mts +0 -26
  254. package/dist/components/Popconfirm.d.ts +0 -26
  255. package/dist/components/Popconfirm.js +3 -2
  256. package/dist/components/Popconfirm.mjs +2 -1
  257. package/dist/components/Popover.d.mts +0 -8
  258. package/dist/components/Popover.d.ts +0 -8
  259. package/dist/components/Popover.js +3 -2
  260. package/dist/components/Popover.mjs +2 -1
  261. package/dist/components/Progress.js +2 -2
  262. package/dist/components/Progress.mjs +1 -1
  263. package/dist/components/RadarChart.d.mts +8 -0
  264. package/dist/components/RadarChart.d.ts +8 -0
  265. package/dist/components/RadarChart.js +4 -3
  266. package/dist/components/RadarChart.mjs +2 -1
  267. package/dist/components/Radio.js +3 -3
  268. package/dist/components/Radio.mjs +2 -2
  269. package/dist/components/RadioGroup.js +3 -3
  270. package/dist/components/RadioGroup.mjs +1 -1
  271. package/dist/components/Row.js +3 -3
  272. package/dist/components/Row.mjs +1 -1
  273. package/dist/components/ScatterChart.js +3 -3
  274. package/dist/components/ScatterChart.mjs +1 -1
  275. package/dist/components/Select.js +2 -2
  276. package/dist/components/Select.mjs +1 -1
  277. package/dist/components/Sidebar.js +2 -2
  278. package/dist/components/Sidebar.mjs +1 -1
  279. package/dist/components/Skeleton.js +2 -2
  280. package/dist/components/Skeleton.mjs +1 -1
  281. package/dist/components/Slider.js +2 -2
  282. package/dist/components/Slider.mjs +1 -1
  283. package/dist/components/Space.js +2 -2
  284. package/dist/components/Space.mjs +1 -1
  285. package/dist/components/Steps.js +3 -3
  286. package/dist/components/Steps.mjs +1 -1
  287. package/dist/components/StepsItem.js +2 -2
  288. package/dist/components/StepsItem.mjs +1 -1
  289. package/dist/components/SubMenu.js +5 -5
  290. package/dist/components/SubMenu.mjs +4 -4
  291. package/dist/components/TabPane.d.mts +18 -3
  292. package/dist/components/TabPane.d.ts +18 -3
  293. package/dist/components/TabPane.js +2 -2
  294. package/dist/components/TabPane.mjs +1 -1
  295. package/dist/components/Table.js +2 -2
  296. package/dist/components/Table.mjs +1 -1
  297. package/dist/components/Tabs.d.mts +44 -2
  298. package/dist/components/Tabs.d.ts +44 -2
  299. package/dist/components/Tabs.js +3 -3
  300. package/dist/components/Tabs.mjs +1 -1
  301. package/dist/components/Tag.js +2 -2
  302. package/dist/components/Tag.mjs +1 -1
  303. package/dist/components/Text.js +2 -2
  304. package/dist/components/Text.mjs +1 -1
  305. package/dist/components/Textarea.js +2 -2
  306. package/dist/components/Textarea.mjs +1 -1
  307. package/dist/components/TimePicker.js +2 -2
  308. package/dist/components/TimePicker.mjs +1 -1
  309. package/dist/components/Timeline.js +2 -2
  310. package/dist/components/Timeline.mjs +1 -1
  311. package/dist/components/Tooltip.d.mts +1 -11
  312. package/dist/components/Tooltip.d.ts +1 -11
  313. package/dist/components/Tooltip.js +3 -2
  314. package/dist/components/Tooltip.mjs +2 -1
  315. package/dist/components/Tree.js +3 -3
  316. package/dist/components/Tree.mjs +1 -1
  317. package/dist/components/Upload.js +2 -2
  318. package/dist/components/Upload.mjs +1 -1
  319. package/dist/index.js +152 -150
  320. package/dist/index.mjs +71 -69
  321. package/package.json +2 -2
  322. package/dist/chunk-3OF7XPIQ.js +0 -90
  323. package/dist/chunk-427CM2U6.mjs +0 -76
  324. package/dist/chunk-6DYS4PJT.mjs +0 -99
  325. package/dist/chunk-6YDIBMCM.mjs +0 -33
  326. package/dist/chunk-A3DJSVTE.js +0 -68
  327. package/dist/chunk-AGUPZEUL.mjs +0 -35
  328. package/dist/chunk-CKUSQR2H.mjs +0 -41
  329. package/dist/chunk-CR4QK2AB.mjs +0 -88
  330. package/dist/chunk-EB6EDLJZ.mjs +0 -50
  331. package/dist/chunk-GW4EWT2K.mjs +0 -125
  332. package/dist/chunk-KELLYJZY.mjs +0 -148
  333. package/dist/chunk-KUCFT2OA.js +0 -43
  334. package/dist/chunk-QY6I7LU5.js +0 -127
  335. package/dist/chunk-STEIWBMF.mjs +0 -66
  336. package/dist/chunk-T4TJJMLM.mjs +0 -34
  337. package/dist/chunk-UG3I4PCY.js +0 -102
  338. package/dist/chunk-YESS6YKC.js +0 -37
  339. package/dist/chunk-YYGTJKP5.js +0 -39
  340. package/dist/chunk-ZPFZMXA6.js +0 -150
  341. package/dist/chunk-ZREFCRX3.js +0 -52
  342. package/dist/{chunk-MKWXJZ3T.js → chunk-QYYAXM5F.js} +1 -1
  343. package/dist/{chunk-WSJO2PIE.mjs → chunk-XZVQ3PJS.mjs} +1 -1
@@ -1,5 +1,5 @@
1
1
  import React, { createContext, useContext, useId, useMemo, useState, useCallback } from 'react';
2
- import { classNames, getTabsContainerClasses, getTabNavClasses, getTabNavListClasses, tabContentBaseClasses, isKeyActive, getTabItemClasses, getTabPaneClasses, tabCloseButtonClasses, closeIconViewBox, closeIconPathD, closeIconPathStrokeWidth, closeIconPathStrokeLinejoin, closeIconPathStrokeLinecap, tabAddButtonClasses } from '@expcat/tigercat-core';
2
+ import { classNames, getTabsContainerClasses, getTabNavClasses, getTabNavListClasses, isKeyActive, getTabItemClasses, getTabPaneClasses, tabCloseButtonClasses, closeIconViewBox, closeIconPathD, tabAddButtonClasses, tabContentBaseClasses } from '@expcat/tigercat-core';
3
3
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
4
 
5
5
  // src/components/TabPane.tsx
@@ -37,39 +37,26 @@ var Tabs = ({
37
37
  const tabNavListClasses = useMemo(() => {
38
38
  return getTabNavListClasses(tabPosition, centered);
39
39
  }, [tabPosition, centered]);
40
- const tabContentClasses = useMemo(() => {
41
- return tabContentBaseClasses;
42
- }, []);
43
40
  const { tabItems, tabPanes, firstTabKey } = useMemo(() => {
44
41
  const items = [];
45
42
  const panes = [];
46
43
  let firstKey;
47
- const childrenArray = [];
48
44
  React.Children.forEach(children, (child) => {
49
- if (React.isValidElement(child) && child.type === TabPane) {
50
- childrenArray.push(child);
51
- }
52
- });
53
- const resolvedFirstKey = childrenArray[0]?.props.tabKey;
54
- if (resolvedFirstKey !== void 0) {
55
- firstKey = resolvedFirstKey;
56
- }
57
- const resolvedActiveKey = controlledActiveKey !== void 0 ? controlledActiveKey : defaultActiveKey !== void 0 ? defaultActiveKey : firstKey;
58
- childrenArray.forEach((child) => {
59
- if (React.isValidElement(child) && child.type === TabPane) {
60
- const key = child.props.tabKey;
61
- const tabId = `${idBase}-tab-${String(key)}`;
62
- const panelId = `${idBase}-panel-${String(key)}`;
63
- items.push(
64
- React.cloneElement(child, {
65
- renderMode: "tab",
66
- tabId,
67
- panelId,
68
- tabIndex: key === resolvedActiveKey ? 0 : -1
69
- })
70
- );
71
- panes.push(React.cloneElement(child, { renderMode: "pane", tabId, panelId }));
72
- }
45
+ if (!React.isValidElement(child) || child.type !== TabPane) return;
46
+ const key = child.props.tabKey;
47
+ if (firstKey === void 0) firstKey = key;
48
+ const resolvedActiveKey = controlledActiveKey ?? defaultActiveKey ?? firstKey;
49
+ const tabId = `${idBase}-tab-${String(key)}`;
50
+ const panelId = `${idBase}-panel-${String(key)}`;
51
+ items.push(
52
+ React.cloneElement(child, {
53
+ renderMode: "tab",
54
+ tabId,
55
+ panelId,
56
+ tabIndex: key === resolvedActiveKey ? 0 : -1
57
+ })
58
+ );
59
+ panes.push(React.cloneElement(child, { renderMode: "pane", tabId, panelId }));
73
60
  });
74
61
  return { tabItems: items, tabPanes: panes, firstTabKey: firstKey };
75
62
  }, [children, controlledActiveKey, defaultActiveKey, idBase]);
@@ -121,38 +108,35 @@ var Tabs = ({
121
108
  handleTabClose
122
109
  ]
123
110
  );
124
- const tabNavContent = /* @__PURE__ */ jsx("div", { className: tabNavClasses, role: "tablist", children: /* @__PURE__ */ jsxs("div", { className: tabNavListClasses, children: [
125
- tabItems,
126
- type === "editable-card" && /* @__PURE__ */ jsx(
127
- "button",
128
- {
129
- type: "button",
130
- className: tabAddButtonClasses,
131
- onClick: handleTabAdd,
132
- "aria-label": "Add tab",
133
- children: "+"
134
- }
135
- )
136
- ] }) });
137
- const tabContent = /* @__PURE__ */ jsx("div", { className: tabContentClasses, children: tabPanes });
138
- let content;
139
- if (tabPosition === "left" || tabPosition === "right") {
140
- content = /* @__PURE__ */ jsxs(Fragment, { children: [
141
- tabNavContent,
142
- tabContent
143
- ] });
144
- } else if (tabPosition === "bottom") {
145
- content = /* @__PURE__ */ jsxs(Fragment, { children: [
146
- tabContent,
147
- tabNavContent
148
- ] });
149
- } else {
150
- content = /* @__PURE__ */ jsxs(Fragment, { children: [
151
- tabNavContent,
152
- tabContent
153
- ] });
154
- }
155
- return /* @__PURE__ */ jsx(TabsContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx("div", { className: containerClasses, style, children: content }) });
111
+ const tabNavContent = /* @__PURE__ */ jsx(
112
+ "div",
113
+ {
114
+ className: tabNavClasses,
115
+ role: "tablist",
116
+ "aria-orientation": tabPosition === "left" || tabPosition === "right" ? "vertical" : "horizontal",
117
+ children: /* @__PURE__ */ jsxs("div", { className: tabNavListClasses, children: [
118
+ tabItems,
119
+ type === "editable-card" && /* @__PURE__ */ jsx(
120
+ "button",
121
+ {
122
+ type: "button",
123
+ className: tabAddButtonClasses,
124
+ onClick: handleTabAdd,
125
+ "aria-label": "Add tab",
126
+ children: "+"
127
+ }
128
+ )
129
+ ] })
130
+ }
131
+ );
132
+ const tabContent = /* @__PURE__ */ jsx("div", { className: tabContentBaseClasses, children: tabPanes });
133
+ return /* @__PURE__ */ jsx(TabsContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx("div", { className: containerClasses, style, children: tabPosition === "bottom" ? /* @__PURE__ */ jsxs(Fragment, { children: [
134
+ tabContent,
135
+ tabNavContent
136
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
137
+ tabNavContent,
138
+ tabContent
139
+ ] }) }) });
156
140
  };
157
141
  var TabPane = ({
158
142
  tabKey,
@@ -179,7 +163,7 @@ var TabPane = ({
179
163
  return closable !== void 0 ? closable : tabsContext.closable && tabsContext.type === "editable-card";
180
164
  }, [closable, tabsContext.closable, tabsContext.type]);
181
165
  const tabItemClasses = useMemo(() => {
182
- return classNames(getTabItemClasses(isActive, disabled, tabsContext.type, tabsContext.size));
166
+ return getTabItemClasses(isActive, disabled, tabsContext.type, tabsContext.size);
183
167
  }, [isActive, disabled, tabsContext.type, tabsContext.size]);
184
168
  const tabPaneClasses = useMemo(() => {
185
169
  return classNames(getTabPaneClasses(isActive), className);
@@ -280,9 +264,9 @@ var TabPane = ({
280
264
  children: /* @__PURE__ */ jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: closeIconViewBox, children: /* @__PURE__ */ jsx(
281
265
  "path",
282
266
  {
283
- strokeLinecap: closeIconPathStrokeLinecap,
284
- strokeLinejoin: closeIconPathStrokeLinejoin,
285
- strokeWidth: closeIconPathStrokeWidth,
267
+ strokeLinecap: "round",
268
+ strokeLinejoin: "round",
269
+ strokeWidth: "2",
286
270
  d: closeIconPathD
287
271
  }
288
272
  ) })
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkJW64IJP2_js = require('./chunk-JW64IJP2.js');
3
+ var chunkXWRJVNB6_js = require('./chunk-XWRJVNB6.js');
4
4
  var React = require('react');
5
5
  var tigercatCore = require('@expcat/tigercat-core');
6
6
  var jsxRuntime = require('react/jsx-runtime');
@@ -9,6 +9,21 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
9
 
10
10
  var React__default = /*#__PURE__*/_interopDefault(React);
11
11
 
12
+ function hasRequiredRule(maybeRules) {
13
+ if (!maybeRules) return false;
14
+ const ruleArr = Array.isArray(maybeRules) ? maybeRules : [maybeRules];
15
+ return ruleArr.some((rule) => !!rule && typeof rule === "object" && !!rule.required);
16
+ }
17
+ function mergeAriaDescribedBy(existing, next) {
18
+ if (!existing) return next;
19
+ if (!next) return existing;
20
+ const parts = new Set(
21
+ `${existing} ${next}`.split(" ").map((s) => s.trim()).filter(Boolean)
22
+ );
23
+ return Array.from(parts).join(" ");
24
+ }
25
+ var FIELD_CLASSES = tigercatCore.getFormItemFieldClasses();
26
+ var ASTERISK_CLASSES = tigercatCore.getFormItemAsteriskClasses();
12
27
  var FormItem = ({
13
28
  name,
14
29
  label,
@@ -21,28 +36,15 @@ var FormItem = ({
21
36
  children,
22
37
  className
23
38
  }) => {
24
- const formContext = chunkJW64IJP2_js.useFormContext();
39
+ const formContext = chunkXWRJVNB6_js.useFormContext();
25
40
  const [errorMessage, setErrorMessage] = React.useState("");
41
+ const [shakeTrigger, setShakeTrigger] = React.useState(0);
42
+ const prevFormErrorRef = React.useRef("");
26
43
  const reactId = React.useId();
27
- const baseId = React.useMemo(() => `tiger-form-item-${reactId}`, [reactId]);
44
+ const baseId = `tiger-form-item-${reactId}`;
28
45
  const labelId = `${baseId}-label`;
29
46
  const fieldId = `${baseId}-field`;
30
47
  const errorId = `${baseId}-error`;
31
- const mergeAriaDescribedBy = React.useCallback(
32
- (existing, next) => {
33
- if (!existing) {
34
- return next;
35
- }
36
- if (!next) {
37
- return existing;
38
- }
39
- const parts = new Set(
40
- `${existing} ${next}`.split(" ").map((s) => s.trim()).filter(Boolean)
41
- );
42
- return Array.from(parts).join(" ");
43
- },
44
- []
45
- );
46
48
  const actualSize = size || formContext?.size || "md";
47
49
  const labelPosition = formContext?.labelPosition || "right";
48
50
  const labelAlign = formContext?.labelAlign || "right";
@@ -53,18 +55,6 @@ var FormItem = ({
53
55
  }
54
56
  return width;
55
57
  }, [labelWidth, formContext?.labelWidth]);
56
- const hasRequiredRule = React.useCallback((maybeRules) => {
57
- if (!maybeRules) {
58
- return false;
59
- }
60
- const rules2 = Array.isArray(maybeRules) ? maybeRules : [maybeRules];
61
- return rules2.some((rule) => {
62
- if (!rule || typeof rule !== "object") {
63
- return false;
64
- }
65
- return !!rule.required;
66
- });
67
- }, []);
68
58
  const showRequiredAsterisk = React.useMemo(() => {
69
59
  if (required !== void 0) {
70
60
  return required;
@@ -79,15 +69,19 @@ var FormItem = ({
79
69
  }
80
70
  }
81
71
  return false;
82
- }, [required, rules, name, formContext?.rules, hasRequiredRule]);
72
+ }, [required, rules, name, formContext?.rules]);
83
73
  const isRequired = React.useMemo(
84
74
  () => showRequiredAsterisk && (formContext?.showRequiredAsterisk ?? true),
85
75
  [showRequiredAsterisk, formContext?.showRequiredAsterisk]
86
76
  );
87
77
  React.useEffect(() => {
88
78
  if (name && formContext?.errors) {
89
- const error = tigercatCore.getFieldError(name, formContext.errors);
90
- setErrorMessage(error || "");
79
+ const error = tigercatCore.getFieldError(name, formContext.errors) || "";
80
+ setErrorMessage(error);
81
+ if (error && error !== prevFormErrorRef.current) {
82
+ setShakeTrigger((prev) => prev + 1);
83
+ }
84
+ prevFormErrorRef.current = error;
91
85
  }
92
86
  }, [name, formContext?.errors]);
93
87
  React.useEffect(() => {
@@ -116,7 +110,7 @@ var FormItem = ({
116
110
  formContext.validateField(name, rules, "change");
117
111
  }
118
112
  }, [name, formContext, rules]);
119
- const hasError = React.useMemo(() => !!errorMessage, [errorMessage]);
113
+ const hasError = !!errorMessage;
120
114
  const describedById = React.useMemo(
121
115
  () => showMessage && hasError ? errorId : void 0,
122
116
  [showMessage, hasError, errorId]
@@ -129,6 +123,7 @@ var FormItem = ({
129
123
  return React__default.default.Children.toArray(children)[0] ?? null;
130
124
  }, [children]);
131
125
  const isClonableChild = React__default.default.isValidElement(onlyChild);
126
+ const isNativeElement = isClonableChild && typeof onlyChild.type === "string";
132
127
  const childId = isClonableChild ? onlyChild.props.id : void 0;
133
128
  const effectiveFieldId = childId ?? fieldId;
134
129
  const enhancedChild = React.useMemo(() => {
@@ -137,6 +132,9 @@ var FormItem = ({
137
132
  }
138
133
  const nextProps = {
139
134
  id: effectiveFieldId,
135
+ status: !isNativeElement && hasError ? "error" : onlyChild.props.status,
136
+ errorMessage: !isNativeElement && hasError && !showMessage ? errorMessage : onlyChild.props.errorMessage,
137
+ _shakeTrigger: !isNativeElement && hasError ? shakeTrigger : void 0,
140
138
  "aria-invalid": hasError ? true : onlyChild.props["aria-invalid"],
141
139
  "aria-required": isRequired ? true : onlyChild.props["aria-required"],
142
140
  "aria-describedby": mergeAriaDescribedBy(onlyChild.props["aria-describedby"], describedById),
@@ -156,8 +154,11 @@ var FormItem = ({
156
154
  onlyChild,
157
155
  effectiveFieldId,
158
156
  hasError,
157
+ errorMessage,
158
+ showMessage,
159
+ shakeTrigger,
159
160
  isRequired,
160
- mergeAriaDescribedBy,
161
+ isNativeElement,
161
162
  describedById,
162
163
  handleBlur,
163
164
  handleChange
@@ -190,13 +191,10 @@ var FormItem = ({
190
191
  return actualLabelWidth ? { width: actualLabelWidth } : {};
191
192
  }, [labelPosition, actualLabelWidth]);
192
193
  const errorClasses = React.useMemo(
193
- () => tigercatCore.classNames(tigercatCore.getFormItemErrorClasses(actualSize), hasError && "tiger-form-item__error--show"),
194
+ () => tigercatCore.classNames(tigercatCore.getFormItemErrorClasses(actualSize), hasError && "opacity-100"),
194
195
  [actualSize, hasError]
195
196
  );
196
197
  const contentClasses = React.useMemo(() => tigercatCore.getFormItemContentClasses(labelPosition), [labelPosition]);
197
- const fieldClasses = React.useMemo(() => tigercatCore.getFormItemFieldClasses(), []);
198
- const asteriskClasses = React.useMemo(() => tigercatCore.getFormItemAsteriskClasses(), []);
199
- const asteriskStyle = React.useMemo(() => tigercatCore.getFormItemAsteriskStyle(), []);
200
198
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: formItemClasses, children: [
201
199
  label && /* @__PURE__ */ jsxRuntime.jsxs(
202
200
  "label",
@@ -206,7 +204,7 @@ var FormItem = ({
206
204
  style: labelStyles,
207
205
  htmlFor: isClonableChild ? effectiveFieldId : void 0,
208
206
  children: [
209
- isRequired && /* @__PURE__ */ jsxRuntime.jsx("span", { className: asteriskClasses, style: asteriskStyle, children: "*" }),
207
+ isRequired && /* @__PURE__ */ jsxRuntime.jsx("span", { className: ASTERISK_CLASSES, children: "*" }),
210
208
  label
211
209
  ]
212
210
  }
@@ -215,7 +213,7 @@ var FormItem = ({
215
213
  /* @__PURE__ */ jsxRuntime.jsx(
216
214
  "div",
217
215
  {
218
- className: fieldClasses,
216
+ className: FIELD_CLASSES,
219
217
  role: "group",
220
218
  "aria-labelledby": label ? labelId : void 0,
221
219
  "aria-describedby": describedById,
@@ -226,7 +224,16 @@ var FormItem = ({
226
224
  children: enhancedChild
227
225
  }
228
226
  ),
229
- showMessage && hasError && /* @__PURE__ */ jsxRuntime.jsx("div", { id: errorId, role: "alert", className: errorClasses, children: errorMessage })
227
+ showMessage && /* @__PURE__ */ jsxRuntime.jsx(
228
+ "div",
229
+ {
230
+ id: hasError ? errorId : void 0,
231
+ role: hasError ? "alert" : void 0,
232
+ className: errorClasses,
233
+ "aria-hidden": hasError ? void 0 : true,
234
+ children: hasError ? errorMessage : ""
235
+ }
236
+ )
230
237
  ] })
231
238
  ] });
232
239
  };
@@ -6,7 +6,7 @@ import { ChartSeries } from './chunk-SDLMB34Y.mjs';
6
6
  import { ChartTooltip } from './chunk-LVC43YX2.mjs';
7
7
  import { ChartAxis } from './chunk-RQSQXQN6.mjs';
8
8
  import { useState, useMemo, useCallback } from 'react';
9
- import { getChartInnerRect, stackSeriesData, getNumberExtent, createLinearScale, createPointScale, DEFAULT_CHART_COLORS, createLinePath, createAreaPath, getChartElementOpacity, classNames } from '@expcat/tigercat-core';
9
+ import { getAreaGradientPrefix, getChartInnerRect, resolveSeriesData, stackSeriesData, getNumberExtent, createLinearScale, createPointScale, resolveChartPalette, createLinePath, createAreaPath, getChartElementOpacity, buildChartLegendItems, resolveMultiSeriesTooltipContent, defaultSeriesXYTooltipFormatter, classNames } from '@expcat/tigercat-core';
10
10
  import { jsxs, jsx } from 'react/jsx-runtime';
11
11
 
12
12
  var AreaChart = ({
@@ -52,6 +52,9 @@ var AreaChart = ({
52
52
  legendMarkerSize = 10,
53
53
  legendGap = 8,
54
54
  showTooltip = true,
55
+ gradient = false,
56
+ animated = false,
57
+ pointHollow = false,
55
58
  tooltipFormatter,
56
59
  legendFormatter,
57
60
  title,
@@ -66,15 +69,15 @@ var AreaChart = ({
66
69
  }) => {
67
70
  const [hoveredPointInfo, setHoveredPointInfo] = useState(null);
68
71
  const [tooltipPosition, setTooltipPosition] = useState({ x: 0, y: 0 });
72
+ const gradientPrefix = useMemo(() => getAreaGradientPrefix(), []);
69
73
  const innerRect = useMemo(
70
74
  () => getChartInnerRect(width, height, padding),
71
75
  [width, height, padding]
72
76
  );
73
- const resolvedSeries = useMemo(() => {
74
- if (series && series.length > 0) return series;
75
- if (data && data.length > 0) return [{ data }];
76
- return [];
77
- }, [series, data]);
77
+ const resolvedSeries = useMemo(
78
+ () => resolveSeriesData(series, data),
79
+ [series, data]
80
+ );
78
81
  const {
79
82
  activeIndex,
80
83
  handleMouseEnter: handleSeriesHoverEnter,
@@ -121,7 +124,7 @@ var AreaChart = ({
121
124
  return createLinearScale(extent, [0, innerRect.width]);
122
125
  } else {
123
126
  const categories = [...new Set(xValues.map(String))];
124
- return createPointScale(categories, [0, innerRect.width], { padding: 0.1 });
127
+ return createPointScale(categories, [0, innerRect.width], { padding: 0 });
125
128
  }
126
129
  }, [xScaleProp, isXNumeric, xValues, innerRect.width]);
127
130
  const resolvedYScale = useMemo(() => {
@@ -130,12 +133,9 @@ var AreaChart = ({
130
133
  return createLinearScale(extent, [innerRect.height, 0]);
131
134
  }, [yScaleProp, yValues, includeZero, innerRect.height]);
132
135
  const baseline = useMemo(() => resolvedYScale.map(0), [resolvedYScale]);
133
- const resolvedShowXAxis = showAxis && showXAxis;
134
- const resolvedShowYAxis = showAxis && showYAxis;
135
- const palette = useMemo(
136
- () => colors && colors.length > 0 ? colors : [...DEFAULT_CHART_COLORS],
137
- [colors]
138
- );
136
+ const shouldShowXAxis = showAxis && showXAxis;
137
+ const shouldShowYAxis = showAxis && showYAxis;
138
+ const palette = useMemo(() => resolveChartPalette(colors), [colors]);
139
139
  const seriesData = useMemo(() => {
140
140
  const stackedData = stacked ? stackSeriesData(resolvedSeries.map((s) => s.data)) : null;
141
141
  return resolvedSeries.map((s, seriesIndex) => {
@@ -190,7 +190,8 @@ var AreaChart = ({
190
190
  strokeDasharray: s.strokeDasharray,
191
191
  showPoints: s.showPoints ?? showPoints,
192
192
  pointSize: s.pointSize ?? pointSize,
193
- pointColor: s.pointColor ?? color
193
+ pointColor: s.pointColor ?? color,
194
+ pointHollow: s.pointHollow ?? pointHollow
194
195
  };
195
196
  });
196
197
  }, [
@@ -207,33 +208,28 @@ var AreaChart = ({
207
208
  fillOpacity,
208
209
  strokeWidth,
209
210
  showPoints,
210
- pointSize
211
+ pointSize,
212
+ pointHollow
211
213
  ]);
212
214
  const legendItems = useMemo(
213
- () => resolvedSeries.map((s, index) => ({
214
- index,
215
- label: legendFormatter ? legendFormatter(s, index) : s.name ?? `Series ${index + 1}`,
216
- color: s.color ?? palette[index % palette.length],
217
- active: activeIndex === null || activeIndex === index
218
- })),
215
+ () => buildChartLegendItems({
216
+ data: resolvedSeries,
217
+ palette,
218
+ activeIndex,
219
+ getLabel: (s, i) => legendFormatter ? legendFormatter(s, i) : s.name ?? `Series ${i + 1}`,
220
+ getColor: (s, i) => s.color ?? palette[i % palette.length]
221
+ }),
219
222
  [resolvedSeries, legendFormatter, palette, activeIndex]
220
223
  );
221
- const formatTooltip = useCallback(
222
- (datum, seriesIndex, _pointIndex, s) => {
223
- if (tooltipFormatter) return tooltipFormatter(datum, seriesIndex, _pointIndex, s);
224
- const seriesName = s?.name ?? `Series ${seriesIndex + 1}`;
225
- const label = datum.label ?? String(datum.x);
226
- return `${seriesName} \xB7 ${label}: ${datum.y}`;
227
- },
228
- [tooltipFormatter]
224
+ const tooltipContent = useMemo(
225
+ () => resolveMultiSeriesTooltipContent(
226
+ hoveredPointInfo,
227
+ resolvedSeries,
228
+ tooltipFormatter,
229
+ defaultSeriesXYTooltipFormatter
230
+ ),
231
+ [hoveredPointInfo, resolvedSeries, tooltipFormatter]
229
232
  );
230
- const tooltipContent = useMemo(() => {
231
- if (!hoveredPointInfo) return "";
232
- const { seriesIndex, pointIndex } = hoveredPointInfo;
233
- const s = resolvedSeries[seriesIndex];
234
- const datum = s?.data[pointIndex];
235
- return datum ? formatTooltip(datum, seriesIndex, pointIndex, s) : "";
236
- }, [hoveredPointInfo, resolvedSeries, formatTooltip]);
237
233
  const handlePointMouseEnter = useCallback(
238
234
  (seriesIndex, pointIndex, event) => {
239
235
  setHoveredPointInfo({ seriesIndex, pointIndex });
@@ -276,6 +272,32 @@ var AreaChart = ({
276
272
  desc,
277
273
  className: classNames(className),
278
274
  children: [
275
+ (gradient || animated) && /* @__PURE__ */ jsxs("defs", { children: [
276
+ animated && /* @__PURE__ */ jsx("style", { children: `
277
+ .tiger-area-animated {
278
+ animation: tiger-area-draw 1.2s cubic-bezier(.4,0,.2,1) forwards;
279
+ }
280
+ @keyframes tiger-area-draw {
281
+ from { stroke-dashoffset: 1; }
282
+ to { stroke-dashoffset: 0; }
283
+ }
284
+ ` }),
285
+ gradient && reversedSeriesData.map((sd) => /* @__PURE__ */ jsxs(
286
+ "linearGradient",
287
+ {
288
+ id: `${gradientPrefix}-${sd.seriesIndex}`,
289
+ x1: "0",
290
+ y1: "0",
291
+ x2: "0",
292
+ y2: "1",
293
+ children: [
294
+ /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: sd.fillColor, stopOpacity: sd.fillOpacity }),
295
+ /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: sd.fillColor, stopOpacity: 0.02 })
296
+ ]
297
+ },
298
+ `area-grad-${sd.seriesIndex}`
299
+ ))
300
+ ] }),
279
301
  showGrid && /* @__PURE__ */ jsx(
280
302
  ChartGrid,
281
303
  {
@@ -290,7 +312,7 @@ var AreaChart = ({
290
312
  strokeWidth: gridStrokeWidth
291
313
  }
292
314
  ),
293
- resolvedShowXAxis && /* @__PURE__ */ jsx(
315
+ shouldShowXAxis && /* @__PURE__ */ jsx(
294
316
  ChartAxis,
295
317
  {
296
318
  scale: resolvedXScale,
@@ -302,7 +324,7 @@ var AreaChart = ({
302
324
  label: xAxisLabel
303
325
  }
304
326
  ),
305
- resolvedShowYAxis && /* @__PURE__ */ jsx(
327
+ shouldShowYAxis && /* @__PURE__ */ jsx(
306
328
  ChartAxis,
307
329
  {
308
330
  scale: resolvedYScale,
@@ -320,7 +342,11 @@ var AreaChart = ({
320
342
  name: sd.series.name,
321
343
  type: "area",
322
344
  opacity: sd.opacity,
323
- className: classNames(sd.series.className, (hoverable || selectable) && "cursor-pointer"),
345
+ className: classNames(
346
+ sd.series.className,
347
+ (hoverable || selectable) && "cursor-pointer",
348
+ "outline-none"
349
+ ),
324
350
  onMouseEnter: (e) => handleSeriesHoverEnter(sd.seriesIndex, e),
325
351
  onMouseLeave: handleSeriesHoverLeave,
326
352
  onClick: () => handleSeriesSelect(sd.seriesIndex),
@@ -331,10 +357,10 @@ var AreaChart = ({
331
357
  "path",
332
358
  {
333
359
  d: sd.areaPath,
334
- fill: sd.fillColor,
335
- fillOpacity: sd.fillOpacity,
360
+ fill: gradient ? `url(#${gradientPrefix}-${sd.seriesIndex})` : sd.fillColor,
361
+ fillOpacity: gradient ? 1 : sd.fillOpacity,
336
362
  stroke: "none",
337
- className: "transition-opacity duration-150",
363
+ className: "transition-opacity duration-300",
338
364
  "data-area-series": sd.seriesIndex
339
365
  }
340
366
  ),
@@ -345,35 +371,49 @@ var AreaChart = ({
345
371
  fill: "none",
346
372
  stroke: sd.color,
347
373
  strokeWidth: sd.strokeWidth,
348
- strokeDasharray: sd.strokeDasharray,
374
+ strokeDasharray: animated ? sd.strokeDasharray ?? "1" : sd.strokeDasharray,
375
+ strokeDashoffset: animated ? "1" : void 0,
349
376
  strokeLinecap: "round",
350
377
  strokeLinejoin: "round",
351
- className: "transition-opacity duration-150"
378
+ pathLength: animated ? 1 : void 0,
379
+ className: classNames(
380
+ "transition-opacity duration-200",
381
+ animated && "tiger-area-animated"
382
+ )
352
383
  }
353
- ),
354
- sd.showPoints && sd.points.map((point) => /* @__PURE__ */ jsx(
355
- "circle",
356
- {
357
- cx: point.x,
358
- cy: point.y,
359
- r: sd.pointSize,
360
- fill: sd.pointColor,
361
- className: "transition-all duration-150",
362
- "data-point-index": point.pointIndex,
363
- onMouseEnter: (e) => handlePointMouseEnter(sd.seriesIndex, point.pointIndex, e),
364
- onMouseMove: handlePointMouseMove,
365
- onMouseLeave: handlePointMouseLeave,
366
- onClick: (e) => {
367
- e.stopPropagation();
368
- handlePointClick(sd.seriesIndex, point.pointIndex);
369
- }
370
- },
371
- `point-${sd.seriesIndex}-${point.pointIndex}`
372
- ))
384
+ )
373
385
  ]
374
386
  },
375
387
  `series-${sd.seriesIndex}`
376
- ))
388
+ )),
389
+ seriesData.map(
390
+ (sd) => sd.showPoints && /* @__PURE__ */ jsx("g", { opacity: sd.opacity, children: sd.points.map((point) => {
391
+ const isHovered = hoveredPointInfo?.seriesIndex === sd.seriesIndex && hoveredPointInfo?.pointIndex === point.pointIndex;
392
+ const hoverSize = sd.pointSize + 2;
393
+ return /* @__PURE__ */ jsx(
394
+ "circle",
395
+ {
396
+ cx: point.x,
397
+ cy: point.y,
398
+ r: isHovered ? hoverSize : sd.pointSize,
399
+ fill: sd.pointHollow ? "white" : sd.pointColor,
400
+ stroke: sd.pointHollow ? sd.pointColor : "none",
401
+ strokeWidth: sd.pointHollow ? 2 : 0,
402
+ className: "transition-all duration-200 ease-out",
403
+ style: isHovered ? { filter: `drop-shadow(0 0 4px ${sd.color})` } : void 0,
404
+ "data-point-index": point.pointIndex,
405
+ onMouseEnter: (e) => handlePointMouseEnter(sd.seriesIndex, point.pointIndex, e),
406
+ onMouseMove: handlePointMouseMove,
407
+ onMouseLeave: handlePointMouseLeave,
408
+ onClick: (e) => {
409
+ e.stopPropagation();
410
+ handlePointClick(sd.seriesIndex, point.pointIndex);
411
+ }
412
+ },
413
+ `point-${sd.seriesIndex}-${point.pointIndex}`
414
+ );
415
+ }) }, `points-${sd.seriesIndex}`)
416
+ )
377
417
  ]
378
418
  }
379
419
  );
@@ -3,6 +3,7 @@ import { useMemo, useRef, useState, useCallback } from 'react';
3
3
  import { getSpinnerSVG, mergeTigerLocale, getUploadLabels, classNames, prepareUploadFiles, fileToUploadFile, getDragAreaClasses, interpolateUploadLabel, formatFileSize, getUploadButtonClasses, getFileListItemClasses, icon20ViewBox, getUploadStatusIconClasses, successCircleSolidIcon20PathD, errorCircleSolidIcon20PathD, closeSolidIcon20PathD, getPictureCardClasses } from '@expcat/tigercat-core';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
5
5
 
6
+ var spinnerSvg = getSpinnerSVG("spinner");
6
7
  var Upload = ({
7
8
  accept,
8
9
  multiple = false,
@@ -30,7 +31,6 @@ var Upload = ({
30
31
  style,
31
32
  ...divProps
32
33
  }) => {
33
- const spinnerSvg = getSpinnerSVG("spinner");
34
34
  const config = useTigerConfig();
35
35
  const mergedLocale = useMemo(
36
36
  () => mergeTigerLocale(config.locale, locale),
@@ -124,9 +124,7 @@ var Upload = ({
124
124
  onChange?.(file, newFileList);
125
125
  };
126
126
  const handlePreview = (file) => {
127
- if (onPreview) {
128
- onPreview(file);
129
- }
127
+ onPreview?.(file);
130
128
  };
131
129
  const handleDragOver = (event) => {
132
130
  if (disabled) return;
@@ -204,7 +202,7 @@ var Upload = ({
204
202
  "button",
205
203
  {
206
204
  type: "button",
207
- className: getUploadButtonClasses(drag, disabled),
205
+ className: getUploadButtonClasses(disabled),
208
206
  onClick: handleClick,
209
207
  disabled,
210
208
  "aria-label": labels.buttonAriaLabel,