@expcat/tigercat-react 0.2.27 → 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 (359) hide show
  1. package/dist/{chunk-6ZC7H22S.mjs → chunk-24U2DQRP.mjs} +1 -1
  2. package/dist/{chunk-324UKFG2.mjs → chunk-2DW3WFZI.mjs} +96 -46
  3. package/dist/{chunk-6MGEGOYJ.js → chunk-2GKTVAAB.js} +24 -18
  4. package/dist/{chunk-5XKYWZZZ.mjs → chunk-3577FW3I.mjs} +59 -89
  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-P273E6XE.js → chunk-72MWKUBC.js} +66 -43
  18. package/dist/{chunk-RKBNIEGF.mjs → chunk-763M6U5U.mjs} +106 -66
  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-C7UKFKVY.js +137 -0
  28. package/dist/{chunk-TZ26HQAW.js → chunk-CI2WHAT2.js} +18 -38
  29. package/dist/{chunk-2WLSB7K2.mjs → chunk-CYZLGYY4.mjs} +113 -60
  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-KKHKQP6Z.js → chunk-F4Q5QMX2.js} +172 -95
  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-ZYF5GI2Q.js → chunk-GASFXURT.js} +94 -44
  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-LIJLFLYE.js → chunk-HB2UYJBY.js} +33 -18
  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-IRH2ZVD3.js +197 -0
  58. package/dist/chunk-IVGKPD2L.mjs +39 -0
  59. package/dist/{chunk-CJJ56NVL.mjs → chunk-IXJMMM26.mjs} +16 -60
  60. package/dist/chunk-J3HKED4B.js +110 -0
  61. package/dist/{chunk-MF3H7WWW.mjs → chunk-JNLX47UL.mjs} +33 -15
  62. package/dist/{chunk-7SOL3UJ2.js → chunk-JQNKI2ZZ.js} +80 -32
  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-LL6B4BHF.mjs +189 -0
  69. package/dist/chunk-LXQOQJMU.js +79 -0
  70. package/dist/chunk-M46L73HR.js +264 -0
  71. package/dist/{chunk-NMDNLB3C.mjs → chunk-MDZDPGRK.mjs} +30 -27
  72. package/dist/chunk-MTL2QUM3.mjs +107 -0
  73. package/dist/chunk-MWH6FCSE.js +97 -0
  74. package/dist/{chunk-5QKBBGIA.mjs → chunk-N4EMXCRQ.mjs} +173 -96
  75. package/dist/{chunk-LWW2LXCP.js → chunk-NEP3CS6S.js} +112 -59
  76. package/dist/chunk-NJCKTIWB.mjs +255 -0
  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-OXT5RN55.mjs +261 -0
  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-AFFSBNYB.mjs → chunk-QGCQAJGL.mjs} +82 -34
  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-OD2NNQD2.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-GIYBVWR4.mjs → chunk-RGFSY3S2.mjs} +67 -44
  101. package/dist/chunk-RGZYYVQF.mjs +134 -0
  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-E6GLWHRL.mjs → chunk-SH6O6LDJ.mjs} +73 -31
  111. package/dist/{chunk-67WZRMD6.js → chunk-SM7RDJFB.js} +105 -65
  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-2VXA4YOP.js → chunk-W4TFISRK.js} +71 -29
  128. package/dist/{chunk-4MMT4EJJ.mjs → chunk-WAIXKROS.mjs} +17 -22
  129. package/dist/{chunk-7IKJBQQV.mjs → chunk-WGRYO5HX.mjs} +35 -20
  130. package/dist/{chunk-ZPWDDAFE.js → chunk-XID6T65A.js} +14 -13
  131. package/dist/chunk-XJ7U2W7S.mjs +27 -0
  132. package/dist/chunk-XKDWDANG.js +192 -0
  133. package/dist/{chunk-EI2GHMQS.js → chunk-XLVEI7GS.js} +15 -13
  134. package/dist/chunk-XWNVBCJA.js +258 -0
  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-ZGQOYCQT.mjs +194 -0
  139. package/dist/{chunk-WDAMDVLU.mjs → chunk-ZIUOENTL.mjs} +6 -27
  140. package/dist/{chunk-HRYBEBZC.js → chunk-ZTVATZB6.js} +59 -89
  141. package/dist/components/ActivityFeed.d.mts +10 -0
  142. package/dist/components/ActivityFeed.d.ts +10 -0
  143. package/dist/components/ActivityFeed.js +23 -0
  144. package/dist/components/ActivityFeed.mjs +8 -0
  145. package/dist/components/Alert.js +3 -2
  146. package/dist/components/Alert.mjs +2 -1
  147. package/dist/components/Anchor.js +4 -4
  148. package/dist/components/Anchor.mjs +1 -1
  149. package/dist/components/AnchorLink.js +4 -4
  150. package/dist/components/AnchorLink.mjs +2 -2
  151. package/dist/components/AreaChart.d.mts +3 -0
  152. package/dist/components/AreaChart.d.ts +3 -0
  153. package/dist/components/AreaChart.js +4 -4
  154. package/dist/components/AreaChart.mjs +2 -2
  155. package/dist/components/Avatar.d.mts +1 -1
  156. package/dist/components/Avatar.d.ts +1 -1
  157. package/dist/components/Avatar.js +2 -2
  158. package/dist/components/Avatar.mjs +1 -1
  159. package/dist/components/BackTop.js +3 -3
  160. package/dist/components/BackTop.mjs +1 -1
  161. package/dist/components/Badge.d.mts +0 -3
  162. package/dist/components/Badge.d.ts +0 -3
  163. package/dist/components/Badge.js +2 -2
  164. package/dist/components/Badge.mjs +1 -1
  165. package/dist/components/BarChart.js +4 -4
  166. package/dist/components/BarChart.mjs +2 -2
  167. package/dist/components/Breadcrumb.d.mts +0 -1
  168. package/dist/components/Breadcrumb.d.ts +0 -1
  169. package/dist/components/BreadcrumbItem.js +2 -2
  170. package/dist/components/BreadcrumbItem.mjs +1 -1
  171. package/dist/components/Button.js +2 -2
  172. package/dist/components/Button.mjs +1 -1
  173. package/dist/components/Card.js +2 -2
  174. package/dist/components/Card.mjs +1 -1
  175. package/dist/components/Carousel.js +2 -2
  176. package/dist/components/Carousel.mjs +1 -1
  177. package/dist/components/ChatWindow.d.mts +12 -0
  178. package/dist/components/ChatWindow.d.ts +12 -0
  179. package/dist/components/ChatWindow.js +20 -0
  180. package/dist/components/ChatWindow.mjs +5 -0
  181. package/dist/components/Checkbox.js +2 -2
  182. package/dist/components/Checkbox.mjs +1 -1
  183. package/dist/components/Col.js +3 -3
  184. package/dist/components/Col.mjs +2 -2
  185. package/dist/components/CollapsePanel.js +3 -3
  186. package/dist/components/CollapsePanel.mjs +1 -1
  187. package/dist/components/CommentThread.d.mts +8 -0
  188. package/dist/components/CommentThread.d.ts +8 -0
  189. package/dist/components/CommentThread.js +21 -0
  190. package/dist/components/CommentThread.mjs +6 -0
  191. package/dist/components/DataTableWithToolbar.d.mts +51 -0
  192. package/dist/components/DataTableWithToolbar.d.ts +51 -0
  193. package/dist/components/DataTableWithToolbar.js +21 -0
  194. package/dist/components/DataTableWithToolbar.mjs +6 -0
  195. package/dist/components/DatePicker.js +2 -2
  196. package/dist/components/DatePicker.mjs +1 -1
  197. package/dist/components/Descriptions.js +3 -3
  198. package/dist/components/Descriptions.mjs +1 -1
  199. package/dist/components/Divider.d.mts +1 -3
  200. package/dist/components/Divider.d.ts +1 -3
  201. package/dist/components/Divider.js +2 -2
  202. package/dist/components/Divider.mjs +1 -1
  203. package/dist/components/DonutChart.d.mts +6 -0
  204. package/dist/components/DonutChart.d.ts +6 -0
  205. package/dist/components/DonutChart.js +5 -5
  206. package/dist/components/DonutChart.mjs +3 -3
  207. package/dist/components/Drawer.js +2 -2
  208. package/dist/components/Drawer.mjs +1 -1
  209. package/dist/components/Dropdown.d.mts +1 -15
  210. package/dist/components/Dropdown.d.ts +1 -15
  211. package/dist/components/Dropdown.js +4 -4
  212. package/dist/components/Dropdown.mjs +2 -2
  213. package/dist/components/DropdownItem.js +4 -4
  214. package/dist/components/DropdownItem.mjs +3 -3
  215. package/dist/components/Form.d.mts +1 -0
  216. package/dist/components/Form.d.ts +1 -0
  217. package/dist/components/Form.js +3 -3
  218. package/dist/components/Form.mjs +1 -1
  219. package/dist/components/FormItem.js +3 -3
  220. package/dist/components/FormItem.mjs +2 -2
  221. package/dist/components/FormWizard.d.mts +10 -0
  222. package/dist/components/FormWizard.d.ts +10 -0
  223. package/dist/components/FormWizard.js +19 -0
  224. package/dist/components/FormWizard.mjs +4 -0
  225. package/dist/components/Icon.js +2 -2
  226. package/dist/components/Icon.mjs +1 -1
  227. package/dist/components/Input.d.mts +4 -7
  228. package/dist/components/Input.d.ts +4 -7
  229. package/dist/components/Input.js +2 -2
  230. package/dist/components/Input.mjs +1 -1
  231. package/dist/components/LineChart.js +4 -4
  232. package/dist/components/LineChart.mjs +2 -2
  233. package/dist/components/Link.js +2 -2
  234. package/dist/components/Link.mjs +1 -1
  235. package/dist/components/List.js +2 -4
  236. package/dist/components/List.mjs +1 -3
  237. package/dist/components/Loading.js +2 -2
  238. package/dist/components/Loading.mjs +1 -1
  239. package/dist/components/Menu.js +3 -3
  240. package/dist/components/Menu.mjs +1 -1
  241. package/dist/components/MenuItem.js +3 -3
  242. package/dist/components/MenuItem.mjs +2 -2
  243. package/dist/components/MenuItemGroup.js +4 -4
  244. package/dist/components/MenuItemGroup.mjs +3 -3
  245. package/dist/components/Message.d.mts +0 -18
  246. package/dist/components/Message.d.ts +0 -18
  247. package/dist/components/Message.js +5 -4
  248. package/dist/components/Message.mjs +2 -1
  249. package/dist/components/Modal.d.mts +15 -0
  250. package/dist/components/Modal.d.ts +15 -0
  251. package/dist/components/Modal.js +3 -2
  252. package/dist/components/Modal.mjs +2 -1
  253. package/dist/components/Notification.d.mts +0 -15
  254. package/dist/components/Notification.d.ts +0 -15
  255. package/dist/components/Notification.js +5 -4
  256. package/dist/components/Notification.mjs +2 -1
  257. package/dist/components/NotificationCenter.d.mts +8 -0
  258. package/dist/components/NotificationCenter.d.ts +8 -0
  259. package/dist/components/NotificationCenter.js +22 -0
  260. package/dist/components/NotificationCenter.mjs +7 -0
  261. package/dist/components/Pagination.js +3 -3
  262. package/dist/components/Pagination.mjs +1 -1
  263. package/dist/components/PieChart.js +4 -4
  264. package/dist/components/PieChart.mjs +2 -2
  265. package/dist/components/Popconfirm.d.mts +0 -26
  266. package/dist/components/Popconfirm.d.ts +0 -26
  267. package/dist/components/Popconfirm.js +3 -2
  268. package/dist/components/Popconfirm.mjs +2 -1
  269. package/dist/components/Popover.d.mts +0 -8
  270. package/dist/components/Popover.d.ts +0 -8
  271. package/dist/components/Popover.js +3 -2
  272. package/dist/components/Popover.mjs +2 -1
  273. package/dist/components/Progress.js +2 -2
  274. package/dist/components/Progress.mjs +1 -1
  275. package/dist/components/RadarChart.d.mts +8 -0
  276. package/dist/components/RadarChart.d.ts +8 -0
  277. package/dist/components/RadarChart.js +5 -4
  278. package/dist/components/RadarChart.mjs +3 -2
  279. package/dist/components/Radio.js +3 -3
  280. package/dist/components/Radio.mjs +2 -2
  281. package/dist/components/RadioGroup.js +3 -3
  282. package/dist/components/RadioGroup.mjs +1 -1
  283. package/dist/components/Row.js +3 -3
  284. package/dist/components/Row.mjs +1 -1
  285. package/dist/components/ScatterChart.js +4 -4
  286. package/dist/components/ScatterChart.mjs +2 -2
  287. package/dist/components/Select.js +2 -2
  288. package/dist/components/Select.mjs +1 -1
  289. package/dist/components/Sidebar.js +2 -2
  290. package/dist/components/Sidebar.mjs +1 -1
  291. package/dist/components/Skeleton.js +2 -2
  292. package/dist/components/Skeleton.mjs +1 -1
  293. package/dist/components/Slider.js +2 -2
  294. package/dist/components/Slider.mjs +1 -1
  295. package/dist/components/Space.js +2 -2
  296. package/dist/components/Space.mjs +1 -1
  297. package/dist/components/Steps.js +3 -3
  298. package/dist/components/Steps.mjs +1 -1
  299. package/dist/components/StepsItem.js +2 -2
  300. package/dist/components/StepsItem.mjs +1 -1
  301. package/dist/components/SubMenu.js +5 -5
  302. package/dist/components/SubMenu.mjs +4 -4
  303. package/dist/components/TabPane.d.mts +18 -3
  304. package/dist/components/TabPane.d.ts +18 -3
  305. package/dist/components/TabPane.js +2 -2
  306. package/dist/components/TabPane.mjs +1 -1
  307. package/dist/components/Table.d.mts +1 -1
  308. package/dist/components/Table.d.ts +1 -1
  309. package/dist/components/Table.js +2 -2
  310. package/dist/components/Table.mjs +1 -1
  311. package/dist/components/Tabs.d.mts +44 -2
  312. package/dist/components/Tabs.d.ts +44 -2
  313. package/dist/components/Tabs.js +3 -3
  314. package/dist/components/Tabs.mjs +1 -1
  315. package/dist/components/Tag.js +2 -2
  316. package/dist/components/Tag.mjs +1 -1
  317. package/dist/components/Text.js +2 -2
  318. package/dist/components/Text.mjs +1 -1
  319. package/dist/components/Textarea.js +2 -2
  320. package/dist/components/Textarea.mjs +1 -1
  321. package/dist/components/TimePicker.js +2 -2
  322. package/dist/components/TimePicker.mjs +1 -1
  323. package/dist/components/Timeline.js +2 -2
  324. package/dist/components/Timeline.mjs +1 -1
  325. package/dist/components/Tooltip.d.mts +1 -11
  326. package/dist/components/Tooltip.d.ts +1 -11
  327. package/dist/components/Tooltip.js +3 -2
  328. package/dist/components/Tooltip.mjs +2 -1
  329. package/dist/components/Tree.js +3 -3
  330. package/dist/components/Tree.mjs +1 -1
  331. package/dist/components/Upload.js +2 -2
  332. package/dist/components/Upload.mjs +1 -1
  333. package/dist/index.d.mts +6 -0
  334. package/dist/index.d.ts +6 -0
  335. package/dist/index.js +241 -209
  336. package/dist/index.mjs +76 -68
  337. package/package.json +2 -2
  338. package/dist/chunk-2UVQIL26.mjs +0 -99
  339. package/dist/chunk-3OF7XPIQ.js +0 -90
  340. package/dist/chunk-427CM2U6.mjs +0 -76
  341. package/dist/chunk-6YDIBMCM.mjs +0 -33
  342. package/dist/chunk-A3DJSVTE.js +0 -68
  343. package/dist/chunk-AGUPZEUL.mjs +0 -35
  344. package/dist/chunk-CKUSQR2H.mjs +0 -41
  345. package/dist/chunk-CR4QK2AB.mjs +0 -88
  346. package/dist/chunk-EB6EDLJZ.mjs +0 -50
  347. package/dist/chunk-GW4EWT2K.mjs +0 -125
  348. package/dist/chunk-KELLYJZY.mjs +0 -148
  349. package/dist/chunk-KUCFT2OA.js +0 -43
  350. package/dist/chunk-QY6I7LU5.js +0 -127
  351. package/dist/chunk-STEIWBMF.mjs +0 -66
  352. package/dist/chunk-T4TJJMLM.mjs +0 -34
  353. package/dist/chunk-VR5OP4MO.js +0 -102
  354. package/dist/chunk-YESS6YKC.js +0 -37
  355. package/dist/chunk-YYGTJKP5.js +0 -39
  356. package/dist/chunk-ZPFZMXA6.js +0 -150
  357. package/dist/chunk-ZREFCRX3.js +0 -52
  358. package/dist/{chunk-MKWXJZ3T.js → chunk-QYYAXM5F.js} +1 -1
  359. 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";
@@ -58,14 +60,12 @@ var FormItem = ({
58
60
  return required;
59
61
  }
60
62
  if (rules) {
61
- const ruleArray = Array.isArray(rules) ? rules : [rules];
62
- return ruleArray.some((rule) => rule.required);
63
+ return hasRequiredRule(rules);
63
64
  }
64
65
  if (name && formContext?.rules) {
65
66
  const fieldRules = formContext.rules[name];
66
67
  if (fieldRules) {
67
- const ruleArray = Array.isArray(fieldRules) ? fieldRules : [fieldRules];
68
- return ruleArray.some((rule) => rule.required);
68
+ return hasRequiredRule(fieldRules);
69
69
  }
70
70
  }
71
71
  return false;
@@ -76,8 +76,12 @@ var FormItem = ({
76
76
  );
77
77
  React.useEffect(() => {
78
78
  if (name && formContext?.errors) {
79
- const error = tigercatCore.getFieldError(name, formContext.errors);
80
- 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;
81
85
  }
82
86
  }, [name, formContext?.errors]);
83
87
  React.useEffect(() => {
@@ -106,7 +110,7 @@ var FormItem = ({
106
110
  formContext.validateField(name, rules, "change");
107
111
  }
108
112
  }, [name, formContext, rules]);
109
- const hasError = React.useMemo(() => !!errorMessage, [errorMessage]);
113
+ const hasError = !!errorMessage;
110
114
  const describedById = React.useMemo(
111
115
  () => showMessage && hasError ? errorId : void 0,
112
116
  [showMessage, hasError, errorId]
@@ -119,6 +123,7 @@ var FormItem = ({
119
123
  return React__default.default.Children.toArray(children)[0] ?? null;
120
124
  }, [children]);
121
125
  const isClonableChild = React__default.default.isValidElement(onlyChild);
126
+ const isNativeElement = isClonableChild && typeof onlyChild.type === "string";
122
127
  const childId = isClonableChild ? onlyChild.props.id : void 0;
123
128
  const effectiveFieldId = childId ?? fieldId;
124
129
  const enhancedChild = React.useMemo(() => {
@@ -127,6 +132,9 @@ var FormItem = ({
127
132
  }
128
133
  const nextProps = {
129
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,
130
138
  "aria-invalid": hasError ? true : onlyChild.props["aria-invalid"],
131
139
  "aria-required": isRequired ? true : onlyChild.props["aria-required"],
132
140
  "aria-describedby": mergeAriaDescribedBy(onlyChild.props["aria-describedby"], describedById),
@@ -146,30 +154,35 @@ var FormItem = ({
146
154
  onlyChild,
147
155
  effectiveFieldId,
148
156
  hasError,
157
+ errorMessage,
158
+ showMessage,
159
+ shakeTrigger,
149
160
  isRequired,
150
- mergeAriaDescribedBy,
161
+ isNativeElement,
151
162
  describedById,
152
163
  handleBlur,
153
164
  handleChange
154
165
  ]);
155
166
  const formItemClasses = React.useMemo(
156
167
  () => tigercatCore.classNames(
157
- "tiger-form-item",
158
- `tiger-form-item--${actualSize}`,
159
- `tiger-form-item--label-${labelPosition}`,
160
- hasError && "tiger-form-item--error",
161
- formContext?.disabled && "tiger-form-item--disabled",
168
+ tigercatCore.getFormItemClasses({
169
+ size: actualSize,
170
+ labelPosition,
171
+ hasError,
172
+ disabled: formContext?.disabled
173
+ }),
162
174
  className
163
175
  ),
164
176
  [actualSize, labelPosition, hasError, formContext?.disabled, className]
165
177
  );
166
178
  const labelClasses = React.useMemo(
167
- () => tigercatCore.classNames(
168
- "tiger-form-item__label",
169
- `tiger-form-item__label--${labelAlign}`,
170
- isRequired && "tiger-form-item__label--required"
171
- ),
172
- [labelAlign, isRequired]
179
+ () => tigercatCore.getFormItemLabelClasses({
180
+ size: actualSize,
181
+ labelAlign,
182
+ labelPosition,
183
+ isRequired
184
+ }),
185
+ [actualSize, labelAlign, labelPosition, isRequired]
173
186
  );
174
187
  const labelStyles = React.useMemo(() => {
175
188
  if (labelPosition === "top") {
@@ -178,9 +191,10 @@ var FormItem = ({
178
191
  return actualLabelWidth ? { width: actualLabelWidth } : {};
179
192
  }, [labelPosition, actualLabelWidth]);
180
193
  const errorClasses = React.useMemo(
181
- () => tigercatCore.classNames("tiger-form-item__error", hasError && "tiger-form-item__error--show"),
182
- [hasError]
194
+ () => tigercatCore.classNames(tigercatCore.getFormItemErrorClasses(actualSize), hasError && "opacity-100"),
195
+ [actualSize, hasError]
183
196
  );
197
+ const contentClasses = React.useMemo(() => tigercatCore.getFormItemContentClasses(labelPosition), [labelPosition]);
184
198
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: formItemClasses, children: [
185
199
  label && /* @__PURE__ */ jsxRuntime.jsxs(
186
200
  "label",
@@ -190,16 +204,16 @@ var FormItem = ({
190
204
  style: labelStyles,
191
205
  htmlFor: isClonableChild ? effectiveFieldId : void 0,
192
206
  children: [
193
- isRequired && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "tiger-form-item__asterisk", children: "*" }),
207
+ isRequired && /* @__PURE__ */ jsxRuntime.jsx("span", { className: ASTERISK_CLASSES, children: "*" }),
194
208
  label
195
209
  ]
196
210
  }
197
211
  ),
198
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "tiger-form-item__content", children: [
212
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: contentClasses, children: [
199
213
  /* @__PURE__ */ jsxRuntime.jsx(
200
214
  "div",
201
215
  {
202
- className: "tiger-form-item__field",
216
+ className: FIELD_CLASSES,
203
217
  role: "group",
204
218
  "aria-labelledby": label ? labelId : void 0,
205
219
  "aria-describedby": describedById,
@@ -210,7 +224,16 @@ var FormItem = ({
210
224
  children: enhancedChild
211
225
  }
212
226
  ),
213
- 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
+ )
214
237
  ] })
215
238
  ] });
216
239
  };
@@ -1,12 +1,12 @@
1
1
  import { useChartInteraction } from './chunk-3CDAG4HD.mjs';
2
+ import { ChartCanvas } from './chunk-IS467WAO.mjs';
2
3
  import { ChartGrid } from './chunk-677VSTPW.mjs';
3
4
  import { ChartLegend } from './chunk-Z6F67MJE.mjs';
4
5
  import { ChartSeries } from './chunk-SDLMB34Y.mjs';
5
6
  import { ChartTooltip } from './chunk-LVC43YX2.mjs';
6
7
  import { ChartAxis } from './chunk-RQSQXQN6.mjs';
7
- import { ChartCanvas } from './chunk-IS467WAO.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
  );