@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,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkKQZ4F7FZ_js = require('./chunk-KQZ4F7FZ.js');
4
+ var chunkDUWAV47E_js = require('./chunk-DUWAV47E.js');
4
5
  var chunk3QFHVAZT_js = require('./chunk-3QFHVAZT.js');
5
6
  var chunk6PBNFLM7_js = require('./chunk-6PBNFLM7.js');
6
7
  var chunkAX5XRD2Q_js = require('./chunk-AX5XRD2Q.js');
7
8
  var chunkM375I56K_js = require('./chunk-M375I56K.js');
8
9
  var chunkE5GD3H7L_js = require('./chunk-E5GD3H7L.js');
9
- var chunkDUWAV47E_js = require('./chunk-DUWAV47E.js');
10
10
  var react = require('react');
11
11
  var tigercatCore = require('@expcat/tigercat-core');
12
12
  var jsxRuntime = require('react/jsx-runtime');
@@ -52,6 +52,10 @@ var LineChart = ({
52
52
  legendMarkerSize = 10,
53
53
  legendGap = 8,
54
54
  showTooltip = true,
55
+ showArea = false,
56
+ areaOpacity = 0.15,
57
+ pointHollow = false,
58
+ animated = false,
55
59
  tooltipFormatter,
56
60
  legendFormatter,
57
61
  title,
@@ -66,15 +70,15 @@ var LineChart = ({
66
70
  }) => {
67
71
  const [hoveredPointInfo, setHoveredPointInfo] = react.useState(null);
68
72
  const [tooltipPosition, setTooltipPosition] = react.useState({ x: 0, y: 0 });
73
+ const gradientPrefix = react.useMemo(() => tigercatCore.getLineGradientPrefix(), []);
69
74
  const innerRect = react.useMemo(
70
75
  () => tigercatCore.getChartInnerRect(width, height, padding),
71
76
  [width, height, padding]
72
77
  );
73
- const resolvedSeries = react.useMemo(() => {
74
- if (series && series.length > 0) return series;
75
- if (data && data.length > 0) return [{ data }];
76
- return [];
77
- }, [series, data]);
78
+ const resolvedSeries = react.useMemo(
79
+ () => tigercatCore.resolveSeriesData(series, data),
80
+ [series, data]
81
+ );
78
82
  const {
79
83
  activeIndex,
80
84
  handleMouseEnter: handleSeriesHoverEnter,
@@ -115,7 +119,7 @@ var LineChart = ({
115
119
  return tigercatCore.createLinearScale(extent, [0, innerRect.width]);
116
120
  } else {
117
121
  const categories = [...new Set(xValues.map(String))];
118
- return tigercatCore.createPointScale(categories, [0, innerRect.width], { padding: 0.1 });
122
+ return tigercatCore.createPointScale(categories, [0, innerRect.width], { padding: 0 });
119
123
  }
120
124
  }, [xScaleProp, isXNumeric, xValues, innerRect.width]);
121
125
  const resolvedYScale = react.useMemo(() => {
@@ -123,12 +127,9 @@ var LineChart = ({
123
127
  const extent = tigercatCore.getNumberExtent(yValues, { includeZero });
124
128
  return tigercatCore.createLinearScale(extent, [innerRect.height, 0]);
125
129
  }, [yScaleProp, yValues, includeZero, innerRect.height]);
126
- const resolvedShowXAxis = showAxis && showXAxis;
127
- const resolvedShowYAxis = showAxis && showYAxis;
128
- const palette = react.useMemo(
129
- () => colors && colors.length > 0 ? colors : [...tigercatCore.DEFAULT_CHART_COLORS],
130
- [colors]
131
- );
130
+ const shouldShowXAxis = showAxis && showXAxis;
131
+ const shouldShowYAxis = showAxis && showYAxis;
132
+ const palette = react.useMemo(() => tigercatCore.resolveChartPalette(colors), [colors]);
132
133
  const seriesData = react.useMemo(
133
134
  () => resolvedSeries.map((s, seriesIndex) => {
134
135
  const color = s.color ?? palette[seriesIndex % palette.length];
@@ -139,6 +140,8 @@ var LineChart = ({
139
140
  pointIndex
140
141
  }));
141
142
  const linePath = tigercatCore.createLinePath(points, curve);
143
+ const seriesShowArea = s.showArea ?? showArea;
144
+ const areaPath = seriesShowArea ? tigercatCore.createAreaPath(points, innerRect.height, curve) : "";
142
145
  const opacity = tigercatCore.getChartElementOpacity(seriesIndex, activeIndex, {
143
146
  activeOpacity,
144
147
  inactiveOpacity
@@ -148,13 +151,17 @@ var LineChart = ({
148
151
  seriesIndex,
149
152
  color,
150
153
  linePath,
154
+ areaPath,
155
+ showArea: seriesShowArea,
156
+ areaOpacity: s.areaOpacity ?? areaOpacity,
151
157
  points,
152
158
  opacity,
153
159
  strokeWidth: s.strokeWidth ?? strokeWidth,
154
160
  strokeDasharray: s.strokeDasharray,
155
161
  showPoints: s.showPoints ?? showPoints,
156
162
  pointSize: s.pointSize ?? pointSize,
157
- pointColor: s.pointColor ?? color
163
+ pointColor: s.pointColor ?? color,
164
+ pointHollow: s.pointHollow ?? pointHollow
158
165
  };
159
166
  }),
160
167
  [
@@ -168,34 +175,32 @@ var LineChart = ({
168
175
  inactiveOpacity,
169
176
  strokeWidth,
170
177
  showPoints,
171
- pointSize
178
+ pointSize,
179
+ showArea,
180
+ areaOpacity,
181
+ pointHollow,
182
+ innerRect.height
172
183
  ]
173
184
  );
174
185
  const legendItems = react.useMemo(
175
- () => resolvedSeries.map((s, index) => ({
176
- index,
177
- label: legendFormatter ? legendFormatter(s, index) : s.name ?? `Series ${index + 1}`,
178
- color: s.color ?? palette[index % palette.length],
179
- active: activeIndex === null || activeIndex === index
180
- })),
186
+ () => tigercatCore.buildChartLegendItems({
187
+ data: resolvedSeries,
188
+ palette,
189
+ activeIndex,
190
+ getLabel: (s, i) => legendFormatter ? legendFormatter(s, i) : s.name ?? `Series ${i + 1}`,
191
+ getColor: (s, i) => s.color ?? palette[i % palette.length]
192
+ }),
181
193
  [resolvedSeries, legendFormatter, palette, activeIndex]
182
194
  );
183
- const formatTooltip = react.useCallback(
184
- (datum, seriesIndex, _pointIndex, s) => {
185
- if (tooltipFormatter) return tooltipFormatter(datum, seriesIndex, _pointIndex, s);
186
- const seriesName = s?.name ?? `Series ${seriesIndex + 1}`;
187
- const label = datum.label ?? String(datum.x);
188
- return `${seriesName} \xB7 ${label}: ${datum.y}`;
189
- },
190
- [tooltipFormatter]
195
+ const tooltipContent = react.useMemo(
196
+ () => tigercatCore.resolveMultiSeriesTooltipContent(
197
+ hoveredPointInfo,
198
+ resolvedSeries,
199
+ tooltipFormatter,
200
+ tigercatCore.defaultSeriesXYTooltipFormatter
201
+ ),
202
+ [hoveredPointInfo, resolvedSeries, tooltipFormatter]
191
203
  );
192
- const tooltipContent = react.useMemo(() => {
193
- if (!hoveredPointInfo) return "";
194
- const { seriesIndex, pointIndex } = hoveredPointInfo;
195
- const s = resolvedSeries[seriesIndex];
196
- const datum = s?.data[pointIndex];
197
- return datum ? formatTooltip(datum, seriesIndex, pointIndex, s) : "";
198
- }, [hoveredPointInfo, resolvedSeries, formatTooltip]);
199
204
  const handlePointMouseEnter = react.useCallback(
200
205
  (seriesIndex, pointIndex, event) => {
201
206
  setHoveredPointInfo({ seriesIndex, pointIndex });
@@ -237,6 +242,32 @@ var LineChart = ({
237
242
  desc,
238
243
  className: tigercatCore.classNames(className),
239
244
  children: [
245
+ (seriesData.some((sd) => sd.showArea) || animated) && /* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
246
+ animated && /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
247
+ .tiger-line-animated {
248
+ animation: tiger-line-draw 1.2s cubic-bezier(.4,0,.2,1) forwards;
249
+ }
250
+ @keyframes tiger-line-draw {
251
+ from { stroke-dashoffset: 1; }
252
+ to { stroke-dashoffset: 0; }
253
+ }
254
+ ` }),
255
+ seriesData.filter((sd) => sd.showArea).map((sd) => /* @__PURE__ */ jsxRuntime.jsxs(
256
+ "linearGradient",
257
+ {
258
+ id: `${gradientPrefix}-${sd.seriesIndex}`,
259
+ x1: "0",
260
+ y1: "0",
261
+ x2: "0",
262
+ y2: "1",
263
+ children: [
264
+ /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: sd.color, stopOpacity: sd.areaOpacity }),
265
+ /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "100%", stopColor: sd.color, stopOpacity: 0.02 })
266
+ ]
267
+ },
268
+ `area-grad-${sd.seriesIndex}`
269
+ ))
270
+ ] }),
240
271
  showGrid && /* @__PURE__ */ jsxRuntime.jsx(
241
272
  chunk3QFHVAZT_js.ChartGrid,
242
273
  {
@@ -251,7 +282,7 @@ var LineChart = ({
251
282
  strokeWidth: gridStrokeWidth
252
283
  }
253
284
  ),
254
- resolvedShowXAxis && /* @__PURE__ */ jsxRuntime.jsx(
285
+ shouldShowXAxis && /* @__PURE__ */ jsxRuntime.jsx(
255
286
  chunkE5GD3H7L_js.ChartAxis,
256
287
  {
257
288
  scale: resolvedXScale,
@@ -263,7 +294,7 @@ var LineChart = ({
263
294
  label: xAxisLabel
264
295
  }
265
296
  ),
266
- resolvedShowYAxis && /* @__PURE__ */ jsxRuntime.jsx(
297
+ shouldShowYAxis && /* @__PURE__ */ jsxRuntime.jsx(
267
298
  chunkE5GD3H7L_js.ChartAxis,
268
299
  {
269
300
  scale: resolvedYScale,
@@ -288,6 +319,16 @@ var LineChart = ({
288
319
  tabIndex: selectable ? 0 : void 0,
289
320
  onKeyDown: (e) => handleKeyDown(e, sd.seriesIndex),
290
321
  children: [
322
+ sd.showArea && sd.areaPath && /* @__PURE__ */ jsxRuntime.jsx(
323
+ "path",
324
+ {
325
+ d: sd.areaPath,
326
+ fill: `url(#${gradientPrefix}-${sd.seriesIndex})`,
327
+ stroke: "none",
328
+ className: "transition-opacity duration-300",
329
+ "data-area-series": sd.seriesIndex
330
+ }
331
+ ),
291
332
  /* @__PURE__ */ jsxRuntime.jsx(
292
333
  "path",
293
334
  {
@@ -295,32 +336,44 @@ var LineChart = ({
295
336
  fill: "none",
296
337
  stroke: sd.color,
297
338
  strokeWidth: sd.strokeWidth,
298
- strokeDasharray: sd.strokeDasharray,
339
+ strokeDasharray: animated ? sd.strokeDasharray ?? "1" : sd.strokeDasharray,
340
+ strokeDashoffset: animated ? "1" : void 0,
299
341
  strokeLinecap: "round",
300
342
  strokeLinejoin: "round",
301
- className: "transition-opacity duration-150",
343
+ pathLength: animated ? 1 : void 0,
344
+ className: tigercatCore.classNames(
345
+ "transition-opacity duration-200",
346
+ animated && "tiger-line-animated"
347
+ ),
302
348
  "data-line-series": sd.seriesIndex
303
349
  }
304
350
  ),
305
- sd.showPoints && sd.points.map((point) => /* @__PURE__ */ jsxRuntime.jsx(
306
- "circle",
307
- {
308
- cx: point.x,
309
- cy: point.y,
310
- r: sd.pointSize,
311
- fill: sd.pointColor,
312
- className: "transition-all duration-150",
313
- "data-point-index": point.pointIndex,
314
- onMouseEnter: (e) => handlePointMouseEnter(sd.seriesIndex, point.pointIndex, e),
315
- onMouseMove: handlePointMouseMove,
316
- onMouseLeave: handlePointMouseLeave,
317
- onClick: (e) => {
318
- e.stopPropagation();
319
- handlePointClick(sd.seriesIndex, point.pointIndex);
320
- }
321
- },
322
- `point-${sd.seriesIndex}-${point.pointIndex}`
323
- ))
351
+ sd.showPoints && sd.points.map((point) => {
352
+ const isHovered = hoveredPointInfo?.seriesIndex === sd.seriesIndex && hoveredPointInfo?.pointIndex === point.pointIndex;
353
+ const hoverSize = sd.pointSize + 2;
354
+ return /* @__PURE__ */ jsxRuntime.jsx(
355
+ "circle",
356
+ {
357
+ cx: point.x,
358
+ cy: point.y,
359
+ r: isHovered ? hoverSize : sd.pointSize,
360
+ fill: sd.pointHollow ? "white" : sd.pointColor,
361
+ stroke: sd.pointHollow ? sd.pointColor : "none",
362
+ strokeWidth: sd.pointHollow ? 2 : 0,
363
+ className: "transition-all duration-200 ease-out",
364
+ style: isHovered ? { filter: `drop-shadow(0 0 4px ${sd.color})` } : void 0,
365
+ "data-point-index": point.pointIndex,
366
+ onMouseEnter: (e) => handlePointMouseEnter(sd.seriesIndex, point.pointIndex, e),
367
+ onMouseMove: handlePointMouseMove,
368
+ onMouseLeave: handlePointMouseLeave,
369
+ onClick: (e) => {
370
+ e.stopPropagation();
371
+ handlePointClick(sd.seriesIndex, point.pointIndex);
372
+ }
373
+ },
374
+ `point-${sd.seriesIndex}-${point.pointIndex}`
375
+ );
376
+ })
324
377
  ]
325
378
  },
326
379
  `series-${sd.seriesIndex}`
@@ -0,0 +1,255 @@
1
+ import { Tabs, TabPane } from './chunk-6PXNWGR5.mjs';
2
+ import { List } from './chunk-TGPQ4KET.mjs';
3
+ import { Button } from './chunk-ENSLMM3L.mjs';
4
+ import { Loading } from './chunk-AVUXDQYO.mjs';
5
+ import { Text } from './chunk-LIV33O73.mjs';
6
+ import { Card } from './chunk-3M2IG6IN.mjs';
7
+ import { useMemo, useState, useEffect } from 'react';
8
+ import { buildNotificationGroups, classNames, formatActivityTime } from '@expcat/tigercat-core';
9
+ import { jsx, jsxs } from 'react/jsx-runtime';
10
+
11
+ var getGroupKey = (group, index) => {
12
+ return group.key ?? group.title ?? index;
13
+ };
14
+ var filterItems = (items, filter) => {
15
+ return items.filter((item) => {
16
+ const isRead = Boolean(item.read);
17
+ if (filter === "read") return isRead;
18
+ if (filter === "unread") return !isRead;
19
+ return true;
20
+ });
21
+ };
22
+ var NotificationCenter = ({
23
+ items = [],
24
+ groups,
25
+ groupBy,
26
+ groupOrder,
27
+ activeGroupKey,
28
+ defaultActiveGroupKey,
29
+ readFilter,
30
+ defaultReadFilter = "all",
31
+ loading = false,
32
+ loadingText = "\u52A0\u8F7D\u4E2D...",
33
+ emptyText = "\u6682\u65E0\u901A\u77E5",
34
+ title = "\u901A\u77E5\u4E2D\u5FC3",
35
+ allLabel = "\u5168\u90E8",
36
+ unreadLabel = "\u672A\u8BFB",
37
+ readLabel = "\u5DF2\u8BFB",
38
+ markAllReadText = "\u5168\u90E8\u6807\u8BB0\u5DF2\u8BFB",
39
+ markReadText = "\u6807\u8BB0\u5DF2\u8BFB",
40
+ markUnreadText = "\u6807\u8BB0\u672A\u8BFB",
41
+ manageReadState = false,
42
+ onGroupChange,
43
+ onReadFilterChange,
44
+ onMarkAllRead,
45
+ onItemClick,
46
+ onItemReadChange,
47
+ className,
48
+ ...props
49
+ }) => {
50
+ const resolvedGroups = useMemo(
51
+ () => buildNotificationGroups(items, groups, groupBy, groupOrder),
52
+ [items, groups, groupBy, groupOrder]
53
+ );
54
+ const firstGroupKey = useMemo(() => {
55
+ return resolvedGroups.length > 0 ? getGroupKey(resolvedGroups[0], 0) : void 0;
56
+ }, [resolvedGroups]);
57
+ const [internalGroupKey, setInternalGroupKey] = useState(
58
+ defaultActiveGroupKey
59
+ );
60
+ const [internalReadFilter, setInternalReadFilter] = useState(defaultReadFilter);
61
+ const currentGroupKey = activeGroupKey ?? internalGroupKey ?? firstGroupKey;
62
+ const currentReadFilter = readFilter ?? internalReadFilter;
63
+ useEffect(() => {
64
+ if (activeGroupKey !== void 0) return;
65
+ if (resolvedGroups.length === 0) {
66
+ setInternalGroupKey(void 0);
67
+ return;
68
+ }
69
+ const keys = resolvedGroups.map((group, index) => getGroupKey(group, index));
70
+ if (!keys.some((key) => key === currentGroupKey)) {
71
+ setInternalGroupKey(keys[0]);
72
+ }
73
+ }, [activeGroupKey, currentGroupKey, resolvedGroups]);
74
+ const currentGroup = useMemo(() => {
75
+ if (resolvedGroups.length === 0) return void 0;
76
+ if (currentGroupKey === void 0) return resolvedGroups[0];
77
+ const index = resolvedGroups.findIndex(
78
+ (group, groupIndex) => getGroupKey(group, groupIndex) === currentGroupKey
79
+ );
80
+ return index >= 0 ? resolvedGroups[index] : resolvedGroups[0];
81
+ }, [currentGroupKey, resolvedGroups]);
82
+ currentGroup?.items ?? [];
83
+ const [readStateOverrides, setReadStateOverrides] = useState(
84
+ () => /* @__PURE__ */ new Map()
85
+ );
86
+ useEffect(() => {
87
+ if (manageReadState) setReadStateOverrides(/* @__PURE__ */ new Map());
88
+ }, [items, manageReadState]);
89
+ const applyReadOverrides = (list) => {
90
+ if (!manageReadState || readStateOverrides.size === 0) return list;
91
+ return list.map((item) => {
92
+ const override = readStateOverrides.get(item.id);
93
+ return override !== void 0 ? { ...item, read: override } : item;
94
+ });
95
+ };
96
+ const effectiveGroups = useMemo(
97
+ () => resolvedGroups.map((group) => ({
98
+ ...group,
99
+ items: applyReadOverrides(group.items)
100
+ })),
101
+ // eslint-disable-next-line react-hooks/exhaustive-deps
102
+ [resolvedGroups, readStateOverrides]
103
+ );
104
+ const effectiveCurrentGroup = useMemo(() => {
105
+ if (effectiveGroups.length === 0) return void 0;
106
+ if (currentGroupKey === void 0) return effectiveGroups[0];
107
+ const index = effectiveGroups.findIndex(
108
+ (group, groupIndex) => getGroupKey(group, groupIndex) === currentGroupKey
109
+ );
110
+ return index >= 0 ? effectiveGroups[index] : effectiveGroups[0];
111
+ }, [currentGroupKey, effectiveGroups]);
112
+ const effectiveCurrentGroupItems = effectiveCurrentGroup?.items ?? [];
113
+ const effectiveItems = useMemo(() => applyReadOverrides(items), [items, readStateOverrides]);
114
+ const hasUnread = effectiveCurrentGroupItems.some((item) => !item.read);
115
+ const totalUnread = useMemo(() => {
116
+ const allItems = effectiveGroups.flatMap((group) => group.items);
117
+ if (allItems.length === 0) return effectiveItems.filter((item) => !item.read).length;
118
+ return allItems.filter((item) => !item.read).length;
119
+ }, [effectiveGroups, effectiveItems]);
120
+ const wrapperClasses = useMemo(
121
+ () => classNames("tiger-notification-center", "w-full", "flex", "flex-col", className),
122
+ [className]
123
+ );
124
+ const handleGroupChange = (key) => {
125
+ if (activeGroupKey === void 0) {
126
+ setInternalGroupKey(key);
127
+ }
128
+ onGroupChange?.(key);
129
+ };
130
+ const handleReadFilterChange = (next) => {
131
+ if (readFilter === void 0) {
132
+ setInternalReadFilter(next);
133
+ }
134
+ onReadFilterChange?.(next);
135
+ };
136
+ const handleMarkAllRead = () => {
137
+ if (manageReadState) {
138
+ setReadStateOverrides((prev) => {
139
+ const next = new Map(prev);
140
+ effectiveCurrentGroupItems.forEach((item) => next.set(item.id, true));
141
+ return next;
142
+ });
143
+ }
144
+ onMarkAllRead?.(currentGroupKey, effectiveCurrentGroupItems);
145
+ };
146
+ const renderItem = (item, index) => {
147
+ const isRead = Boolean(item.read);
148
+ const timeText = item.time ? formatActivityTime(item.time) : "";
149
+ return /* @__PURE__ */ jsxs(
150
+ "div",
151
+ {
152
+ className: classNames(
153
+ "flex items-start gap-3 w-full py-0.5 transition-colors",
154
+ !isRead && "border-l-2 border-l-[var(--tiger-primary,#2563eb)] -ml-[2px] pl-[calc(0.75rem-2px)]"
155
+ ),
156
+ children: [
157
+ /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
158
+ /* @__PURE__ */ jsxs("div", { className: "flex items-baseline justify-between gap-2", children: [
159
+ /* @__PURE__ */ jsx(Text, { tag: "span", size: "sm", weight: isRead ? "normal" : "semibold", children: item.title }),
160
+ timeText ? /* @__PURE__ */ jsx("span", { className: "text-xs text-[var(--tiger-text-muted,#6b7280)] whitespace-nowrap flex-shrink-0", children: timeText }) : null
161
+ ] }),
162
+ item.description ? /* @__PURE__ */ jsx("div", { className: "mt-0.5 text-xs text-[var(--tiger-text-muted,#6b7280)] line-clamp-2 leading-relaxed", children: item.description }) : null
163
+ ] }),
164
+ /* @__PURE__ */ jsx(
165
+ Button,
166
+ {
167
+ size: "sm",
168
+ variant: "ghost",
169
+ onClick: (event) => {
170
+ event.stopPropagation();
171
+ if (manageReadState) {
172
+ setReadStateOverrides((prev) => {
173
+ const next = new Map(prev);
174
+ next.set(item.id, !isRead);
175
+ return next;
176
+ });
177
+ }
178
+ onItemReadChange?.(item, !isRead);
179
+ },
180
+ children: isRead ? markUnreadText : markReadText
181
+ }
182
+ )
183
+ ]
184
+ }
185
+ );
186
+ };
187
+ const renderList = (listItems) => /* @__PURE__ */ jsx(
188
+ List,
189
+ {
190
+ dataSource: listItems,
191
+ split: true,
192
+ bordered: "divided",
193
+ hoverable: true,
194
+ emptyText,
195
+ onItemClick: (item, index) => onItemClick?.(item, index),
196
+ renderItem
197
+ }
198
+ );
199
+ const filterButtons = [
200
+ { key: "all", label: allLabel },
201
+ { key: "unread", label: unreadLabel },
202
+ { key: "read", label: readLabel }
203
+ ];
204
+ const content = loading ? /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsx(Loading, { text: loadingText }) }) : resolvedGroups.length > 0 ? /* @__PURE__ */ jsx("div", { className: "-mx-4 -mb-4", children: /* @__PURE__ */ jsx(Tabs, { type: "line", size: "small", activeKey: currentGroupKey, onChange: handleGroupChange, children: resolvedGroups.map((group, index) => {
205
+ const effectiveGroup = effectiveGroups.find(
206
+ (eg, ei) => getGroupKey(eg, ei) === getGroupKey(group, index)
207
+ );
208
+ const groupItems = effectiveGroup?.items ?? group.items;
209
+ const unreadCount = groupItems.filter((item) => !item.read).length;
210
+ const labelBase = group.title || String(group.key ?? index);
211
+ const label = unreadCount > 0 ? `${labelBase} (${unreadCount})` : labelBase;
212
+ return /* @__PURE__ */ jsx(
213
+ TabPane,
214
+ {
215
+ tabKey: getGroupKey(group, index),
216
+ label,
217
+ children: /* @__PURE__ */ jsx("div", { className: "max-h-[380px] overflow-y-auto", children: renderList(filterItems(groupItems, currentReadFilter)) })
218
+ },
219
+ String(getGroupKey(group, index))
220
+ );
221
+ }) }) }) : /* @__PURE__ */ jsx("div", { className: "-mx-4 -mb-4 max-h-[380px] overflow-y-auto", children: renderList(filterItems(effectiveItems, currentReadFilter)) });
222
+ return /* @__PURE__ */ jsx("div", { className: wrapperClasses, ...props, "data-tiger-notification-center": true, children: /* @__PURE__ */ jsx(
223
+ Card,
224
+ {
225
+ variant: "bordered",
226
+ className: "w-full",
227
+ header: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
228
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
229
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2.5", children: [
230
+ /* @__PURE__ */ jsx(Text, { tag: "div", size: "base", weight: "bold", children: title }),
231
+ totalUnread > 0 ? /* @__PURE__ */ jsx("span", { className: "inline-flex items-center justify-center min-w-[20px] h-5 px-1.5 text-xs font-semibold rounded-full bg-[var(--tiger-primary,#2563eb)] text-white", children: totalUnread }) : null
232
+ ] }),
233
+ /* @__PURE__ */ jsx(Button, { size: "sm", variant: "ghost", disabled: !hasUnread, onClick: handleMarkAllRead, children: markAllReadText })
234
+ ] }),
235
+ /* @__PURE__ */ jsx("div", { className: "inline-flex rounded-md border border-[var(--tiger-border,#e5e7eb)] overflow-hidden self-start", children: filterButtons.map((option) => /* @__PURE__ */ jsx(
236
+ "button",
237
+ {
238
+ className: classNames(
239
+ "px-3 py-1 text-xs font-medium transition-colors",
240
+ "border-r border-[var(--tiger-border,#e5e7eb)] last:border-r-0",
241
+ currentReadFilter === option.key ? "bg-[var(--tiger-primary,#2563eb)] text-white" : "bg-[var(--tiger-surface,#ffffff)] text-[var(--tiger-text-muted,#6b7280)] hover:bg-[var(--tiger-surface-muted,#f9fafb)]"
242
+ ),
243
+ onClick: () => handleReadFilterChange(option.key),
244
+ children: option.label
245
+ },
246
+ option.key
247
+ )) })
248
+ ] }),
249
+ children: content
250
+ }
251
+ ) });
252
+ };
253
+ var NotificationCenter_default = NotificationCenter;
254
+
255
+ export { NotificationCenter, NotificationCenter_default };