@expcat/tigercat-react 0.3.0 → 0.3.70

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 (375) 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-2EOXY2LP.mjs +353 -0
  4. package/dist/{chunk-6MGEGOYJ.js → chunk-2GKTVAAB.js} +24 -18
  5. package/dist/{chunk-HGTF6A46.mjs → chunk-3577FW3I.mjs} +58 -92
  6. package/dist/{chunk-GY6D4XS3.js → chunk-3GW3UAKB.js} +40 -98
  7. package/dist/{chunk-VD3IK5XT.mjs → chunk-3M2IG6IN.mjs} +2 -3
  8. package/dist/{chunk-T3GSXTDU.js → chunk-3NE6VZRY.js} +2 -3
  9. package/dist/chunk-3PV2MDST.mjs +95 -0
  10. package/dist/{chunk-36RRHNZD.js → chunk-3T7L3MHX.js} +33 -15
  11. package/dist/{chunk-IY4LEJYF.js → chunk-4PPTEEDI.js} +29 -30
  12. package/dist/{chunk-Z4Z3I74Q.mjs → chunk-4Y7YH32A.mjs} +37 -46
  13. package/dist/chunk-56KTCMRE.mjs +77 -0
  14. package/dist/chunk-5CLXOFRZ.mjs +248 -0
  15. package/dist/chunk-5P5M656V.mjs +75 -0
  16. package/dist/{chunk-Z6G4HABF.js → chunk-67FVBKBC.js} +58 -95
  17. package/dist/{chunk-KAEHFMTQ.mjs → chunk-6IH5QPTR.mjs} +121 -144
  18. package/dist/{chunk-C52ZCGYG.mjs → chunk-6PXNWGR5.mjs} +49 -65
  19. package/dist/chunk-6W6CRBBG.mjs +169 -0
  20. package/dist/{chunk-MQTHGPHF.js → chunk-72MWKUBC.js} +49 -42
  21. package/dist/{chunk-PT4WLSTJ.mjs → chunk-763M6U5U.mjs} +105 -65
  22. package/dist/{chunk-RTQNWZN4.mjs → chunk-77PE7OFK.mjs} +3 -5
  23. package/dist/{chunk-KPZTGRNA.js → chunk-7Z64GEMN.js} +51 -55
  24. package/dist/{chunk-3WPKVV4N.js → chunk-A3PYG3D6.js} +6 -39
  25. package/dist/chunk-AQ72JVUG.js +41 -0
  26. package/dist/{chunk-P4EFJIXU.mjs → chunk-AUP3PMDD.mjs} +18 -41
  27. package/dist/{chunk-PUDU34R4.mjs → chunk-AVUXDQYO.mjs} +26 -20
  28. package/dist/{chunk-HUZVBDHV.js → chunk-AY5Z3NIW.js} +15 -20
  29. package/dist/{chunk-67EK62HG.mjs → chunk-B3LRUKXM.mjs} +1 -1
  30. package/dist/{chunk-JAVDNFJD.js → chunk-C7UKFKVY.js} +26 -33
  31. package/dist/{chunk-TZ26HQAW.js → chunk-CI2WHAT2.js} +18 -38
  32. package/dist/{chunk-WYTHTJN3.mjs → chunk-CYZLGYY4.mjs} +112 -59
  33. package/dist/{chunk-NSGDRTSQ.mjs → chunk-D5KYIQWB.mjs} +6 -39
  34. package/dist/chunk-DQNA57CA.js +57 -0
  35. package/dist/{chunk-6575DOCV.mjs → chunk-DTQZPZSJ.mjs} +3 -3
  36. package/dist/{chunk-7P6PHSFM.js → chunk-DXXYPVJJ.js} +32 -35
  37. package/dist/{chunk-UFAXJVMD.js → chunk-EFLIFXZH.js} +3 -3
  38. package/dist/chunk-EHYSER2Z.js +144 -0
  39. package/dist/{chunk-JI7SFMUT.mjs → chunk-EIMAQHCQ.mjs} +29 -80
  40. package/dist/chunk-ENSLMM3L.mjs +68 -0
  41. package/dist/chunk-F24IF2QL.js +74 -0
  42. package/dist/{chunk-ZUUG3WOL.js → chunk-F4Q5QMX2.js} +171 -94
  43. package/dist/{chunk-V2HVHLBY.mjs → chunk-FE7PEZTI.mjs} +19 -39
  44. package/dist/chunk-FLYJVZED.mjs +30 -0
  45. package/dist/chunk-FMF2G6BJ.js +179 -0
  46. package/dist/{chunk-YIF5VX7K.mjs → chunk-FNDPGSEW.mjs} +14 -13
  47. package/dist/{chunk-HQLZL3XQ.mjs → chunk-FPNT7FV5.mjs} +3 -7
  48. package/dist/{chunk-YE2M2HNM.js → chunk-FSDZJD7M.js} +36 -45
  49. package/dist/{chunk-WKGCUR7O.mjs → chunk-FTY2W4L2.mjs} +7 -7
  50. package/dist/{chunk-4PTI6ZUK.js → chunk-GASFXURT.js} +93 -43
  51. package/dist/chunk-GB5G2CJY.js +96 -0
  52. package/dist/{chunk-LXA2YBAO.js → chunk-GJEWBALW.js} +2 -2
  53. package/dist/chunk-GNMOOYHG.js +250 -0
  54. package/dist/{chunk-GXTBCX3M.js → chunk-H5MZ54PM.js} +16 -39
  55. package/dist/{chunk-4TWHENPT.js → chunk-HB2UYJBY.js} +32 -17
  56. package/dist/{chunk-5HUYCSA4.mjs → chunk-HPXLUJFJ.mjs} +22 -19
  57. package/dist/chunk-HQ3QOT7H.js +33 -0
  58. package/dist/chunk-I5TCE5E7.js +32 -0
  59. package/dist/{chunk-QFVE7GKD.js → chunk-IBYIPXIO.js} +5 -26
  60. package/dist/{chunk-3XXXM4OB.mjs → chunk-IGE44BIS.mjs} +67 -23
  61. package/dist/{chunk-XRFK2IXM.js → chunk-IHH2O7YK.js} +6 -7
  62. package/dist/{chunk-4IO2M3ZJ.js → chunk-IOM7DWWQ.js} +17 -17
  63. package/dist/chunk-IP3MAJSH.mjs +55 -0
  64. package/dist/{chunk-OVWCTDAL.js → chunk-IRH2ZVD3.js} +37 -49
  65. package/dist/chunk-IVGKPD2L.mjs +39 -0
  66. package/dist/{chunk-CJJ56NVL.mjs → chunk-IXJMMM26.mjs} +16 -60
  67. package/dist/{chunk-MF3H7WWW.mjs → chunk-JNLX47UL.mjs} +33 -15
  68. package/dist/{chunk-L63N3LCG.js → chunk-JQNKI2ZZ.js} +79 -31
  69. package/dist/{chunk-X4F6NSI5.mjs → chunk-JUWFVIDP.mjs} +2 -2
  70. package/dist/{chunk-LADCWARG.mjs → chunk-JVTAKNRO.mjs} +17 -15
  71. package/dist/{chunk-2Y327ZU4.js → chunk-KAWE5LQZ.js} +80 -83
  72. package/dist/{chunk-TR246HQP.mjs → chunk-KMTERPME.mjs} +14 -18
  73. package/dist/chunk-LIV33O73.mjs +26 -0
  74. package/dist/{chunk-PVOQUXIB.mjs → chunk-LL6B4BHF.mjs} +4 -4
  75. package/dist/chunk-LXQOQJMU.js +79 -0
  76. package/dist/{chunk-HT2BXCEM.js → chunk-M46L73HR.js} +19 -19
  77. package/dist/{chunk-NMDNLB3C.mjs → chunk-MDZDPGRK.mjs} +30 -27
  78. package/dist/chunk-MWH6FCSE.js +97 -0
  79. package/dist/{chunk-YER7IQF4.mjs → chunk-N4EMXCRQ.mjs} +172 -95
  80. package/dist/{chunk-SIB4EHB6.js → chunk-NEP3CS6S.js} +111 -58
  81. package/dist/{chunk-FAZQT7YP.mjs → chunk-NJCKTIWB.mjs} +6 -6
  82. package/dist/{chunk-IIVRVCCP.mjs → chunk-NKKIJQMV.mjs} +53 -57
  83. package/dist/{chunk-MQXBU5YX.mjs → chunk-NQFHS4W2.mjs} +29 -21
  84. package/dist/chunk-NTODO3Q3.mjs +94 -0
  85. package/dist/chunk-NV3JUZ3N.js +57 -0
  86. package/dist/{chunk-NDOYQK2R.mjs → chunk-NZLOLMT2.mjs} +41 -99
  87. package/dist/chunk-O3W3OZ6V.js +37 -0
  88. package/dist/{chunk-IFY46RWU.js → chunk-OESNOOOT.js} +1 -2
  89. package/dist/{chunk-IWENGARY.mjs → chunk-OFBK35TK.mjs} +1 -1
  90. package/dist/{chunk-R7TOQU3U.js → chunk-OIUIR5ZR.js} +15 -59
  91. package/dist/{chunk-QEAC4MIG.mjs → chunk-OUAZM7NY.mjs} +12 -59
  92. package/dist/{chunk-R67R3TVA.mjs → chunk-OXT5RN55.mjs} +5 -5
  93. package/dist/{chunk-CIL2AC3F.js → chunk-OYCMGKQ7.js} +15 -23
  94. package/dist/{chunk-IQINYCU6.js → chunk-PR3PQUKM.js} +17 -15
  95. package/dist/chunk-PTEDJ6MA.js +29 -0
  96. package/dist/{chunk-D3I2SY7X.js → chunk-PWZB45Z7.js} +13 -60
  97. package/dist/{chunk-GZPMLPRW.js → chunk-PXPUPQRO.js} +2 -2
  98. package/dist/{chunk-OZLGNWET.js → chunk-Q57BYUUW.js} +12 -28
  99. package/dist/chunk-QAO5KANE.mjs +36 -0
  100. package/dist/chunk-QFYS5QIZ.mjs +142 -0
  101. package/dist/{chunk-AITVDDCE.mjs → chunk-QGCQAJGL.mjs} +81 -33
  102. package/dist/chunk-QIJG42YQ.mjs +54 -0
  103. package/dist/{chunk-JOHKSMJM.mjs → chunk-QLHFXYWA.mjs} +59 -96
  104. package/dist/{chunk-C5EFBJBR.js → chunk-QM4GOQDT.js} +119 -142
  105. package/dist/{chunk-PBJ2J2B3.js → chunk-QNRAM3CM.js} +2 -2
  106. package/dist/{chunk-Z5DDULTA.js → chunk-RARHRSPQ.js} +2 -2
  107. package/dist/{chunk-5QKMQRCW.js → chunk-RDIEZKV2.js} +28 -20
  108. package/dist/{chunk-OZLAGTZW.mjs → chunk-RGFSY3S2.mjs} +50 -43
  109. package/dist/{chunk-IYFSM2GA.mjs → chunk-RGZYYVQF.mjs} +26 -33
  110. package/dist/{chunk-3GD3LOII.mjs → chunk-RITTIFCJ.mjs} +1 -2
  111. package/dist/{chunk-Y2JOJ4D6.js → chunk-RKB2VUQO.js} +8 -10
  112. package/dist/{chunk-7SLNHUGJ.js → chunk-RNEL4XIO.js} +28 -79
  113. package/dist/{chunk-6ZTCBQJ7.mjs → chunk-RPTLVIBF.mjs} +17 -25
  114. package/dist/{chunk-5ZVSFIZD.js → chunk-RYWGELJ7.js} +2 -6
  115. package/dist/chunk-S4GNTA7V.mjs +176 -0
  116. package/dist/{chunk-VSF4DF7N.js → chunk-SAZ6V6DX.js} +21 -18
  117. package/dist/{chunk-Q3DPJHNM.js → chunk-SFALTVPS.js} +3 -5
  118. package/dist/{chunk-LZNG2HGC.mjs → chunk-SH6O6LDJ.mjs} +72 -30
  119. package/dist/{chunk-6E5UKM6O.js → chunk-SM7RDJFB.js} +104 -64
  120. package/dist/{chunk-DGBYGBLR.js → chunk-SOC74QA2.js} +32 -52
  121. package/dist/{chunk-KOLLAGRK.mjs → chunk-SQ7OL2X5.mjs} +2 -3
  122. package/dist/{chunk-VO4WDK4K.js → chunk-SSQOCZ6O.js} +1 -2
  123. package/dist/{chunk-KV4LLPAY.mjs → chunk-SW4I4X6E.mjs} +8 -10
  124. package/dist/{chunk-GQMYCYZ4.js → chunk-TDRINUMH.js} +31 -28
  125. package/dist/{chunk-DIZNY6N4.mjs → chunk-TGKNEMD4.mjs} +8 -8
  126. package/dist/{chunk-BAPR7UUR.mjs → chunk-TGPQ4KET.mjs} +13 -29
  127. package/dist/{chunk-3XKBDV2Q.mjs → chunk-TUA5PDRX.mjs} +7 -8
  128. package/dist/chunk-U3JOBIDU.js +355 -0
  129. package/dist/{chunk-CES6LGQ7.mjs → chunk-UE234MW4.mjs} +34 -37
  130. package/dist/{chunk-U4ZVEPYD.js → chunk-URM7QDHH.js} +14 -18
  131. package/dist/chunk-UZ7SBFQV.mjs +35 -0
  132. package/dist/{chunk-HGF2EL25.mjs → chunk-V5NIFF2F.mjs} +34 -54
  133. package/dist/{chunk-672SCJWZ.mjs → chunk-VCNZEQEB.mjs} +10 -10
  134. package/dist/{chunk-R7MS42PL.js → chunk-VCOBBJLP.js} +9 -9
  135. package/dist/{chunk-2TS6X5RA.js → chunk-VCULFIZ5.js} +7 -7
  136. package/dist/{chunk-N32MAX4A.js → chunk-W4TFISRK.js} +70 -28
  137. package/dist/{chunk-4MMT4EJJ.mjs → chunk-WAIXKROS.mjs} +17 -22
  138. package/dist/{chunk-YGOTPK2W.mjs → chunk-WGRYO5HX.mjs} +34 -19
  139. package/dist/{chunk-ZPWDDAFE.js → chunk-XID6T65A.js} +14 -13
  140. package/dist/chunk-XJ7U2W7S.mjs +27 -0
  141. package/dist/{chunk-ZN2BZCTI.js → chunk-XKDWDANG.js} +8 -8
  142. package/dist/{chunk-EI2GHMQS.js → chunk-XLVEI7GS.js} +15 -13
  143. package/dist/{chunk-6YKZAWNX.js → chunk-XWNVBCJA.js} +14 -14
  144. package/dist/{chunk-JW64IJP2.js → chunk-XWRJVNB6.js} +67 -23
  145. package/dist/{chunk-HDDBBZQH.js → chunk-YV6Y7C43.js} +48 -64
  146. package/dist/chunk-Z7SXK2KO.js +171 -0
  147. package/dist/{chunk-XS5JP2KO.mjs → chunk-ZFHTSHXS.mjs} +82 -85
  148. package/dist/{chunk-73DMQ2SR.mjs → chunk-ZGQOYCQT.mjs} +32 -44
  149. package/dist/{chunk-WDAMDVLU.mjs → chunk-ZIUOENTL.mjs} +6 -27
  150. package/dist/{chunk-GJKT2B56.js → chunk-ZTVATZB6.js} +58 -92
  151. package/dist/components/ActivityFeed.js +10 -10
  152. package/dist/components/ActivityFeed.mjs +8 -8
  153. package/dist/components/Alert.js +3 -2
  154. package/dist/components/Alert.mjs +2 -1
  155. package/dist/components/Anchor.js +4 -4
  156. package/dist/components/Anchor.mjs +1 -1
  157. package/dist/components/AnchorLink.js +4 -4
  158. package/dist/components/AnchorLink.mjs +2 -2
  159. package/dist/components/AreaChart.d.mts +3 -0
  160. package/dist/components/AreaChart.d.ts +3 -0
  161. package/dist/components/AreaChart.js +3 -3
  162. package/dist/components/AreaChart.mjs +1 -1
  163. package/dist/components/Avatar.d.mts +1 -1
  164. package/dist/components/Avatar.d.ts +1 -1
  165. package/dist/components/Avatar.js +2 -2
  166. package/dist/components/Avatar.mjs +1 -1
  167. package/dist/components/BackTop.js +3 -3
  168. package/dist/components/BackTop.mjs +1 -1
  169. package/dist/components/Badge.d.mts +0 -3
  170. package/dist/components/Badge.d.ts +0 -3
  171. package/dist/components/Badge.js +2 -2
  172. package/dist/components/Badge.mjs +1 -1
  173. package/dist/components/BarChart.js +3 -3
  174. package/dist/components/BarChart.mjs +1 -1
  175. package/dist/components/Breadcrumb.d.mts +0 -1
  176. package/dist/components/Breadcrumb.d.ts +0 -1
  177. package/dist/components/BreadcrumbItem.js +2 -2
  178. package/dist/components/BreadcrumbItem.mjs +1 -1
  179. package/dist/components/Button.js +2 -2
  180. package/dist/components/Button.mjs +1 -1
  181. package/dist/components/Card.js +2 -2
  182. package/dist/components/Card.mjs +1 -1
  183. package/dist/components/Carousel.js +2 -2
  184. package/dist/components/Carousel.mjs +1 -1
  185. package/dist/components/ChatWindow.js +7 -7
  186. package/dist/components/ChatWindow.mjs +5 -5
  187. package/dist/components/Checkbox.js +2 -2
  188. package/dist/components/Checkbox.mjs +1 -1
  189. package/dist/components/Col.js +3 -3
  190. package/dist/components/Col.mjs +2 -2
  191. package/dist/components/CollapsePanel.js +3 -3
  192. package/dist/components/CollapsePanel.mjs +1 -1
  193. package/dist/components/CommentThread.js +8 -8
  194. package/dist/components/CommentThread.mjs +6 -6
  195. package/dist/components/CropUpload.d.mts +52 -0
  196. package/dist/components/CropUpload.d.ts +52 -0
  197. package/dist/components/CropUpload.js +14 -0
  198. package/dist/components/CropUpload.mjs +5 -0
  199. package/dist/components/DataTableWithToolbar.js +8 -11
  200. package/dist/components/DataTableWithToolbar.mjs +6 -9
  201. package/dist/components/DatePicker.js +2 -2
  202. package/dist/components/DatePicker.mjs +1 -1
  203. package/dist/components/Descriptions.js +3 -3
  204. package/dist/components/Descriptions.mjs +1 -1
  205. package/dist/components/Divider.d.mts +1 -3
  206. package/dist/components/Divider.d.ts +1 -3
  207. package/dist/components/Divider.js +2 -2
  208. package/dist/components/Divider.mjs +1 -1
  209. package/dist/components/DonutChart.d.mts +6 -0
  210. package/dist/components/DonutChart.d.ts +6 -0
  211. package/dist/components/DonutChart.js +4 -4
  212. package/dist/components/DonutChart.mjs +2 -2
  213. package/dist/components/Drawer.js +2 -2
  214. package/dist/components/Drawer.mjs +1 -1
  215. package/dist/components/Dropdown.d.mts +1 -15
  216. package/dist/components/Dropdown.d.ts +1 -15
  217. package/dist/components/Dropdown.js +3 -3
  218. package/dist/components/Dropdown.mjs +1 -1
  219. package/dist/components/DropdownItem.js +3 -3
  220. package/dist/components/DropdownItem.mjs +2 -2
  221. package/dist/components/Form.d.mts +1 -0
  222. package/dist/components/Form.d.ts +1 -0
  223. package/dist/components/Form.js +3 -3
  224. package/dist/components/Form.mjs +1 -1
  225. package/dist/components/FormItem.js +3 -3
  226. package/dist/components/FormItem.mjs +2 -2
  227. package/dist/components/FormWizard.js +6 -6
  228. package/dist/components/FormWizard.mjs +4 -4
  229. package/dist/components/Icon.js +2 -2
  230. package/dist/components/Icon.mjs +1 -1
  231. package/dist/components/Image.d.mts +20 -0
  232. package/dist/components/Image.d.ts +20 -0
  233. package/dist/components/Image.js +13 -0
  234. package/dist/components/Image.mjs +4 -0
  235. package/dist/components/ImageCropper.d.mts +21 -0
  236. package/dist/components/ImageCropper.d.ts +21 -0
  237. package/dist/components/ImageCropper.js +10 -0
  238. package/dist/components/ImageCropper.mjs +1 -0
  239. package/dist/components/ImageGroup.d.mts +30 -0
  240. package/dist/components/ImageGroup.d.ts +30 -0
  241. package/dist/components/ImageGroup.js +16 -0
  242. package/dist/components/ImageGroup.mjs +3 -0
  243. package/dist/components/ImagePreview.d.mts +20 -0
  244. package/dist/components/ImagePreview.d.ts +20 -0
  245. package/dist/components/ImagePreview.js +11 -0
  246. package/dist/components/ImagePreview.mjs +2 -0
  247. package/dist/components/Input.d.mts +4 -7
  248. package/dist/components/Input.d.ts +4 -7
  249. package/dist/components/Input.js +2 -2
  250. package/dist/components/Input.mjs +1 -1
  251. package/dist/components/LineChart.js +3 -3
  252. package/dist/components/LineChart.mjs +1 -1
  253. package/dist/components/Link.js +2 -2
  254. package/dist/components/Link.mjs +1 -1
  255. package/dist/components/List.js +2 -4
  256. package/dist/components/List.mjs +1 -3
  257. package/dist/components/Loading.js +2 -2
  258. package/dist/components/Loading.mjs +1 -1
  259. package/dist/components/Menu.js +3 -3
  260. package/dist/components/Menu.mjs +1 -1
  261. package/dist/components/MenuItem.js +3 -3
  262. package/dist/components/MenuItem.mjs +2 -2
  263. package/dist/components/MenuItemGroup.js +4 -4
  264. package/dist/components/MenuItemGroup.mjs +3 -3
  265. package/dist/components/Message.d.mts +0 -18
  266. package/dist/components/Message.d.ts +0 -18
  267. package/dist/components/Message.js +5 -4
  268. package/dist/components/Message.mjs +2 -1
  269. package/dist/components/Modal.d.mts +15 -0
  270. package/dist/components/Modal.d.ts +15 -0
  271. package/dist/components/Modal.js +3 -2
  272. package/dist/components/Modal.mjs +2 -1
  273. package/dist/components/Notification.d.mts +0 -15
  274. package/dist/components/Notification.d.ts +0 -15
  275. package/dist/components/Notification.js +5 -4
  276. package/dist/components/Notification.mjs +2 -1
  277. package/dist/components/NotificationCenter.js +9 -10
  278. package/dist/components/NotificationCenter.mjs +7 -8
  279. package/dist/components/Pagination.js +3 -3
  280. package/dist/components/Pagination.mjs +1 -1
  281. package/dist/components/PieChart.js +3 -3
  282. package/dist/components/PieChart.mjs +1 -1
  283. package/dist/components/Popconfirm.d.mts +0 -26
  284. package/dist/components/Popconfirm.d.ts +0 -26
  285. package/dist/components/Popconfirm.js +3 -2
  286. package/dist/components/Popconfirm.mjs +2 -1
  287. package/dist/components/Popover.d.mts +0 -8
  288. package/dist/components/Popover.d.ts +0 -8
  289. package/dist/components/Popover.js +3 -2
  290. package/dist/components/Popover.mjs +2 -1
  291. package/dist/components/Progress.js +2 -2
  292. package/dist/components/Progress.mjs +1 -1
  293. package/dist/components/RadarChart.d.mts +8 -0
  294. package/dist/components/RadarChart.d.ts +8 -0
  295. package/dist/components/RadarChart.js +4 -3
  296. package/dist/components/RadarChart.mjs +2 -1
  297. package/dist/components/Radio.js +3 -3
  298. package/dist/components/Radio.mjs +2 -2
  299. package/dist/components/RadioGroup.js +3 -3
  300. package/dist/components/RadioGroup.mjs +1 -1
  301. package/dist/components/Row.js +3 -3
  302. package/dist/components/Row.mjs +1 -1
  303. package/dist/components/ScatterChart.js +3 -3
  304. package/dist/components/ScatterChart.mjs +1 -1
  305. package/dist/components/Select.js +2 -2
  306. package/dist/components/Select.mjs +1 -1
  307. package/dist/components/Sidebar.js +2 -2
  308. package/dist/components/Sidebar.mjs +1 -1
  309. package/dist/components/Skeleton.js +2 -2
  310. package/dist/components/Skeleton.mjs +1 -1
  311. package/dist/components/Slider.js +2 -2
  312. package/dist/components/Slider.mjs +1 -1
  313. package/dist/components/Space.js +2 -2
  314. package/dist/components/Space.mjs +1 -1
  315. package/dist/components/Steps.js +3 -3
  316. package/dist/components/Steps.mjs +1 -1
  317. package/dist/components/StepsItem.js +2 -2
  318. package/dist/components/StepsItem.mjs +1 -1
  319. package/dist/components/SubMenu.js +5 -5
  320. package/dist/components/SubMenu.mjs +4 -4
  321. package/dist/components/TabPane.d.mts +18 -3
  322. package/dist/components/TabPane.d.ts +18 -3
  323. package/dist/components/TabPane.js +2 -2
  324. package/dist/components/TabPane.mjs +1 -1
  325. package/dist/components/Table.js +2 -2
  326. package/dist/components/Table.mjs +1 -1
  327. package/dist/components/Tabs.d.mts +44 -2
  328. package/dist/components/Tabs.d.ts +44 -2
  329. package/dist/components/Tabs.js +3 -3
  330. package/dist/components/Tabs.mjs +1 -1
  331. package/dist/components/Tag.js +2 -2
  332. package/dist/components/Tag.mjs +1 -1
  333. package/dist/components/Text.js +2 -2
  334. package/dist/components/Text.mjs +1 -1
  335. package/dist/components/Textarea.js +2 -2
  336. package/dist/components/Textarea.mjs +1 -1
  337. package/dist/components/TimePicker.js +2 -2
  338. package/dist/components/TimePicker.mjs +1 -1
  339. package/dist/components/Timeline.js +2 -2
  340. package/dist/components/Timeline.mjs +1 -1
  341. package/dist/components/Tooltip.d.mts +1 -11
  342. package/dist/components/Tooltip.d.ts +1 -11
  343. package/dist/components/Tooltip.js +3 -2
  344. package/dist/components/Tooltip.mjs +2 -1
  345. package/dist/components/Tree.js +3 -3
  346. package/dist/components/Tree.mjs +1 -1
  347. package/dist/components/Upload.js +2 -2
  348. package/dist/components/Upload.mjs +1 -1
  349. package/dist/index.d.mts +5 -0
  350. package/dist/index.d.ts +5 -0
  351. package/dist/index.js +216 -185
  352. package/dist/index.mjs +76 -69
  353. package/package.json +2 -2
  354. package/dist/chunk-3OF7XPIQ.js +0 -90
  355. package/dist/chunk-427CM2U6.mjs +0 -76
  356. package/dist/chunk-6DYS4PJT.mjs +0 -99
  357. package/dist/chunk-6YDIBMCM.mjs +0 -33
  358. package/dist/chunk-A3DJSVTE.js +0 -68
  359. package/dist/chunk-AGUPZEUL.mjs +0 -35
  360. package/dist/chunk-CKUSQR2H.mjs +0 -41
  361. package/dist/chunk-CR4QK2AB.mjs +0 -88
  362. package/dist/chunk-EB6EDLJZ.mjs +0 -50
  363. package/dist/chunk-GW4EWT2K.mjs +0 -125
  364. package/dist/chunk-KELLYJZY.mjs +0 -148
  365. package/dist/chunk-KUCFT2OA.js +0 -43
  366. package/dist/chunk-QY6I7LU5.js +0 -127
  367. package/dist/chunk-STEIWBMF.mjs +0 -66
  368. package/dist/chunk-T4TJJMLM.mjs +0 -34
  369. package/dist/chunk-UG3I4PCY.js +0 -102
  370. package/dist/chunk-YESS6YKC.js +0 -37
  371. package/dist/chunk-YYGTJKP5.js +0 -39
  372. package/dist/chunk-ZPFZMXA6.js +0 -150
  373. package/dist/chunk-ZREFCRX3.js +0 -52
  374. package/dist/{chunk-MKWXJZ3T.js → chunk-QYYAXM5F.js} +1 -1
  375. package/dist/{chunk-WSJO2PIE.mjs → chunk-XZVQ3PJS.mjs} +1 -1
@@ -1,10 +1,9 @@
1
- import { useFloating, useClickOutside, useEscapeKey } from './chunk-WLIFEALE.mjs';
2
- import React, { useState, useRef, useCallback, useMemo } from 'react';
3
- import { getTransformOrigin, classNames, getPopconfirmContainerClasses, getPopconfirmTriggerClasses, getPopconfirmArrowClasses, getPopconfirmContentClasses, getPopconfirmTitleClasses, getPopconfirmDescriptionClasses, getPopconfirmIconClasses, getPopconfirmButtonsClasses, getPopconfirmCancelButtonClasses, getPopconfirmOkButtonClasses, mergeStyleValues, popconfirmIconStrokeWidth, popconfirmIconViewBox, getPopconfirmIconPath, popconfirmIconPathStrokeLinejoin, popconfirmIconPathStrokeLinecap } from '@expcat/tigercat-core';
1
+ import { usePopup } from './chunk-3PV2MDST.mjs';
2
+ import React, { useRef, useMemo } from 'react';
3
+ import { createFloatingIdFactory, classNames, getPopconfirmContainerClasses, getPopconfirmTriggerClasses, getPopconfirmArrowClasses, getPopconfirmContentClasses, getPopconfirmTitleClasses, getPopconfirmDescriptionClasses, getPopconfirmIconClasses, getPopconfirmButtonsClasses, getPopconfirmCancelButtonClasses, getPopconfirmOkButtonClasses, mergeStyleValues, popconfirmIconStrokeWidth, popconfirmIconViewBox, getPopconfirmIconPath, popconfirmIconPathStrokeLinejoin, popconfirmIconPathStrokeLinecap } from '@expcat/tigercat-core';
4
4
  import { jsx, jsxs } from 'react/jsx-runtime';
5
5
 
6
- var popconfirmIdCounter = 0;
7
- var createPopconfirmId = () => `tiger-popconfirm-${++popconfirmIdCounter}`;
6
+ var createPopconfirmId = createFloatingIdFactory("popconfirm");
8
7
  var PopconfirmIcon = ({ type }) => /* @__PURE__ */ jsx(
9
8
  "svg",
10
9
  {
@@ -46,27 +45,29 @@ var Popconfirm = ({
46
45
  onCancel,
47
46
  ...divProps
48
47
  }) => {
49
- const isControlled = visible !== void 0;
50
- const [internalVisible, setInternalVisible] = useState(defaultVisible);
51
- const currentVisible = isControlled ? visible : internalVisible;
52
- const containerRef = useRef(null);
53
- const triggerRef = useRef(null);
54
- const floatingRef = useRef(null);
55
48
  const popconfirmIdRef = useRef(null);
56
- if (!popconfirmIdRef.current) {
57
- popconfirmIdRef.current = createPopconfirmId();
58
- }
49
+ if (!popconfirmIdRef.current) popconfirmIdRef.current = createPopconfirmId();
59
50
  const popconfirmId = popconfirmIdRef.current;
60
51
  const titleId = `${popconfirmId}-title`;
61
52
  const descriptionId = `${popconfirmId}-description`;
62
53
  const describedBy = description || descriptionContent ? descriptionId : void 0;
63
- const setVisible = (newVisible) => {
64
- if (disabled && newVisible) return;
65
- if (!isControlled) {
66
- setInternalVisible(newVisible);
67
- }
68
- onVisibleChange?.(newVisible);
69
- };
54
+ const {
55
+ currentVisible,
56
+ setVisible,
57
+ containerRef,
58
+ triggerRef,
59
+ floatingRef,
60
+ actualPlacement,
61
+ floatingStyles: baseFloatingStyles
62
+ } = usePopup({
63
+ visible,
64
+ defaultVisible,
65
+ disabled,
66
+ placement: initialPlacement,
67
+ offset,
68
+ multiTrigger: false,
69
+ onVisibleChange
70
+ });
70
71
  const handleConfirm = () => {
71
72
  onConfirm?.();
72
73
  setVisible(false);
@@ -79,51 +80,30 @@ var Popconfirm = ({
79
80
  if (disabled) return;
80
81
  setVisible(!currentVisible);
81
82
  };
82
- const { x, y, placement } = useFloating({
83
- referenceRef: triggerRef,
84
- floatingRef,
85
- enabled: currentVisible,
86
- placement: initialPlacement,
87
- offset
88
- });
89
- const handleOutsideClick = useCallback(() => setVisible(false), []);
90
- const handleEscape = useCallback(() => setVisible(false), []);
91
- useClickOutside({
92
- enabled: currentVisible,
93
- refs: [containerRef],
94
- onOutsideClick: handleOutsideClick,
95
- defer: true
96
- });
97
- useEscapeKey({
98
- enabled: currentVisible,
99
- onEscape: handleEscape
100
- });
101
83
  const contentWrapperStyles = useMemo(
102
84
  () => ({
103
85
  position: "absolute",
104
- left: x,
105
- top: y,
106
- transformOrigin: getTransformOrigin(placement)
86
+ left: baseFloatingStyles.left,
87
+ top: baseFloatingStyles.top,
88
+ transformOrigin: baseFloatingStyles.transformOrigin
107
89
  }),
108
- [x, y, placement]
90
+ [baseFloatingStyles]
109
91
  );
110
92
  const containerClasses = useMemo(
111
93
  () => classNames(getPopconfirmContainerClasses(), className),
112
94
  [className]
113
95
  );
114
96
  const triggerClasses = useMemo(() => getPopconfirmTriggerClasses(disabled), [disabled]);
115
- const contentWrapperClasses = useMemo(() => "absolute z-50", []);
116
- const arrowClasses = useMemo(() => getPopconfirmArrowClasses(placement), [placement]);
117
- const contentClasses = useMemo(() => getPopconfirmContentClasses(), []);
118
- const titleClasses = useMemo(() => getPopconfirmTitleClasses(), []);
119
- const descriptionClasses = useMemo(() => getPopconfirmDescriptionClasses(), []);
97
+ const contentWrapperClasses = "absolute z-50";
98
+ const arrowClasses = useMemo(() => getPopconfirmArrowClasses(actualPlacement), [actualPlacement]);
99
+ const contentClasses = getPopconfirmContentClasses();
100
+ const titleClasses = getPopconfirmTitleClasses();
101
+ const descriptionClasses = getPopconfirmDescriptionClasses();
120
102
  const iconClasses = useMemo(() => getPopconfirmIconClasses(icon), [icon]);
121
- const buttonsClasses = useMemo(() => getPopconfirmButtonsClasses(), []);
122
- const cancelButtonClasses = useMemo(() => getPopconfirmCancelButtonClasses(), []);
103
+ const buttonsClasses = getPopconfirmButtonsClasses();
104
+ const cancelButtonClasses = getPopconfirmCancelButtonClasses();
123
105
  const okButtonClasses = useMemo(() => getPopconfirmOkButtonClasses(okType), [okType]);
124
- if (!children) {
125
- return null;
126
- }
106
+ if (!children) return null;
127
107
  const mergedStyle = mergeStyleValues(style);
128
108
  const triggerProps = {
129
109
  className: triggerClasses,
@@ -1,4 +1,4 @@
1
- import { forwardRef, useRef, useState, useEffect } from 'react';
1
+ import { forwardRef, useRef, useState, useLayoutEffect, useMemo } from 'react';
2
2
  import { autoResizeTextarea, classNames, getInputClasses } from '@expcat/tigercat-core';
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
4
 
@@ -35,24 +35,24 @@ var Textarea = forwardRef(
35
35
  if (typeof ref === "function") ref(node);
36
36
  else if (ref) ref.current = node;
37
37
  };
38
- useEffect(() => {
38
+ useLayoutEffect(() => {
39
39
  if (!autoResize || !textareaRef.current) return;
40
40
  autoResizeTextarea(textareaRef.current, { minRows, maxRows });
41
41
  }, [autoResize, currentValue, minRows, maxRows]);
42
- const textareaClasses = classNames(
43
- "block",
44
- getInputClasses(size),
45
- autoResize ? "resize-none" : "resize-y",
46
- className
42
+ const textareaClasses = useMemo(
43
+ () => classNames(
44
+ "block",
45
+ getInputClasses({ size }),
46
+ autoResize ? "resize-none" : "resize-y",
47
+ className
48
+ ),
49
+ [size, autoResize, className]
47
50
  );
48
51
  const handleInput = (event) => {
49
52
  if (!isControlled) {
50
53
  setInternalValue(event.currentTarget.value);
51
54
  }
52
55
  onInput?.(event);
53
- if (autoResize) {
54
- autoResizeTextarea(event.currentTarget, { minRows, maxRows });
55
- }
56
56
  };
57
57
  const handleChange = (event) => {
58
58
  onChange?.(event);
@@ -37,24 +37,24 @@ var Textarea = react.forwardRef(
37
37
  if (typeof ref === "function") ref(node);
38
38
  else if (ref) ref.current = node;
39
39
  };
40
- react.useEffect(() => {
40
+ react.useLayoutEffect(() => {
41
41
  if (!autoResize || !textareaRef.current) return;
42
42
  tigercatCore.autoResizeTextarea(textareaRef.current, { minRows, maxRows });
43
43
  }, [autoResize, currentValue, minRows, maxRows]);
44
- const textareaClasses = tigercatCore.classNames(
45
- "block",
46
- tigercatCore.getInputClasses(size),
47
- autoResize ? "resize-none" : "resize-y",
48
- className
44
+ const textareaClasses = react.useMemo(
45
+ () => tigercatCore.classNames(
46
+ "block",
47
+ tigercatCore.getInputClasses({ size }),
48
+ autoResize ? "resize-none" : "resize-y",
49
+ className
50
+ ),
51
+ [size, autoResize, className]
49
52
  );
50
53
  const handleInput = (event) => {
51
54
  if (!isControlled) {
52
55
  setInternalValue(event.currentTarget.value);
53
56
  }
54
57
  onInput?.(event);
55
- if (autoResize) {
56
- tigercatCore.autoResizeTextarea(event.currentTarget, { minRows, maxRows });
57
- }
58
58
  };
59
59
  const handleChange = (event) => {
60
60
  onChange?.(event);
@@ -37,14 +37,14 @@ var Tag = ({
37
37
  ...props
38
38
  }) => {
39
39
  const [isVisible, setIsVisible] = react.useState(true);
40
- const tagClasses = tigercatCore.classNames(
41
- tigercatCore.tagBaseClasses,
42
- tigercatCore.getTagVariantClasses(variant),
43
- tigercatCore.tagSizeClasses[size],
44
- className
40
+ const tagClasses = react.useMemo(
41
+ () => tigercatCore.classNames(tigercatCore.tagBaseClasses, tigercatCore.getTagVariantClasses(variant), tigercatCore.tagSizeClasses[size], className),
42
+ [variant, size, className]
45
43
  );
46
- const scheme = tigercatCore.defaultTagThemeColors[variant];
47
- const closeButtonClasses = tigercatCore.classNames(tigercatCore.tagCloseButtonBaseClasses, scheme.closeBgHover, scheme.text);
44
+ const closeButtonClasses = react.useMemo(() => {
45
+ const scheme = tigercatCore.defaultTagThemeColors[variant];
46
+ return tigercatCore.classNames(tigercatCore.tagCloseButtonBaseClasses, scheme.closeBgHover, scheme.text);
47
+ }, [variant]);
48
48
  const handleClose = (event) => {
49
49
  event.stopPropagation();
50
50
  onClose?.(event);
@@ -21,6 +21,11 @@ var PieChart = ({
21
21
  colors,
22
22
  showLabels = false,
23
23
  labelFormatter,
24
+ labelPosition = "inside",
25
+ borderWidth = 2,
26
+ borderColor = "#ffffff",
27
+ hoverOffset = 8,
28
+ shadow = false,
24
29
  hoverable = false,
25
30
  hoveredIndex: hoveredIndexProp,
26
31
  activeOpacity = 1,
@@ -79,8 +84,9 @@ var PieChart = ({
79
84
  );
80
85
  const resolvedOuterRadius = react.useMemo(() => {
81
86
  if (typeof outerRadius === "number") return Math.max(0, outerRadius);
82
- return Math.max(0, Math.min(innerRect.width, innerRect.height) / 2);
83
- }, [outerRadius, innerRect.width, innerRect.height]);
87
+ const maxR = Math.min(innerRect.width, innerRect.height) / 2;
88
+ return labelPosition === "outside" ? maxR * 0.72 : maxR;
89
+ }, [outerRadius, innerRect.width, innerRect.height, labelPosition]);
84
90
  const resolvedInnerRadius = react.useMemo(
85
91
  () => Math.min(Math.max(0, innerRadius ?? 0), resolvedOuterRadius),
86
92
  [innerRadius, resolvedOuterRadius]
@@ -93,38 +99,31 @@ var PieChart = ({
93
99
  }),
94
100
  [data, startAngle, endAngle, padAngle]
95
101
  );
96
- const palette = react.useMemo(
97
- () => colors && colors.length > 0 ? colors : [...tigercatCore.DEFAULT_CHART_COLORS],
98
- [colors]
99
- );
102
+ const palette = react.useMemo(() => tigercatCore.resolveChartPalette(colors), [colors]);
100
103
  const cx = innerRect.width / 2;
101
104
  const cy = innerRect.height / 2;
102
105
  const labelRadius = resolvedInnerRadius + (resolvedOuterRadius - resolvedInnerRadius) / 2;
103
106
  const total = react.useMemo(() => data.reduce((sum, d) => sum + d.value, 0), [data]);
104
107
  const formatLabel = labelFormatter ?? ((value, datum) => datum.label ?? `${value}`);
105
108
  const legendItems = react.useMemo(
106
- () => arcs.map((arc) => ({
107
- index: arc.index,
108
- label: legendFormatter ? legendFormatter(arc.data, arc.index) : arc.data.label ?? `${arc.index + 1}`,
109
- color: arc.data.color ?? palette[arc.index % palette.length],
110
- active: activeIndex === null || activeIndex === arc.index
111
- })),
109
+ () => tigercatCore.buildChartLegendItems({
110
+ data: arcs.map((a) => a.data),
111
+ palette,
112
+ activeIndex,
113
+ getLabel: (d, i) => legendFormatter ? legendFormatter(d, i) : d.label ?? `${i + 1}`,
114
+ getColor: (d, i) => d.color ?? palette[i % palette.length]
115
+ }),
112
116
  [arcs, legendFormatter, palette, activeIndex]
113
117
  );
114
- const formatTooltip = react.useCallback(
115
- (datum, index) => {
116
- if (tooltipFormatter) return tooltipFormatter(datum, index);
118
+ const tooltipContent = react.useMemo(
119
+ () => tigercatCore.resolveChartTooltipContent(resolvedHoveredIndex, data, tooltipFormatter, (datum, index) => {
117
120
  const label = datum.label ?? `Slice ${index + 1}`;
118
121
  const percentage = total > 0 ? (datum.value / total * 100).toFixed(1) : "0";
119
122
  return `${label}: ${datum.value} (${percentage}%)`;
120
- },
121
- [tooltipFormatter, total]
123
+ }),
124
+ [resolvedHoveredIndex, data, tooltipFormatter, total]
122
125
  );
123
- const tooltipContent = react.useMemo(() => {
124
- if (resolvedHoveredIndex === null) return "";
125
- const datum = data[resolvedHoveredIndex];
126
- return datum ? formatTooltip(datum, resolvedHoveredIndex) : "";
127
- }, [resolvedHoveredIndex, data, formatTooltip]);
126
+ const interactive = hoverable || selectable;
128
127
  const chart = /* @__PURE__ */ jsxRuntime.jsxs(
129
128
  chunkDUWAV47E_js.ChartCanvas,
130
129
  {
@@ -145,20 +144,28 @@ var PieChart = ({
145
144
  startAngle: arc.startAngle,
146
145
  endAngle: arc.endAngle
147
146
  });
147
+ const isEmphasized = activeIndex === arc.index;
148
148
  const opacity = tigercatCore.getChartElementOpacity(arc.index, activeIndex, {
149
149
  activeOpacity,
150
150
  inactiveOpacity
151
151
  });
152
+ const { dx, dy } = interactive && isEmphasized && hoverOffset > 0 ? tigercatCore.computePieHoverOffset(arc.startAngle, arc.endAngle, hoverOffset) : { dx: 0, dy: 0 };
152
153
  return /* @__PURE__ */ jsxRuntime.jsx(
153
154
  "path",
154
155
  {
155
156
  d: path,
156
157
  fill: color,
157
158
  opacity,
158
- className: tigercatCore.classNames(
159
- "transition-opacity duration-150",
160
- (hoverable || selectable) && "cursor-pointer"
161
- ),
159
+ stroke: borderColor,
160
+ strokeWidth: borderWidth,
161
+ strokeLinejoin: "round",
162
+ className: tigercatCore.classNames(interactive && "cursor-pointer"),
163
+ style: {
164
+ transform: isEmphasized ? `translate(${dx}px, ${dy}px) scale(1.04)` : `translate(${dx}px, ${dy}px)`,
165
+ transformOrigin: `${cx}px ${cy}px`,
166
+ transition: "transform 0.3s cubic-bezier(0.4,0,0.2,1), opacity 0.2s ease-out, filter 0.3s ease-out",
167
+ filter: shadow ? isEmphasized ? tigercatCore.PIE_EMPHASIS_SHADOW : tigercatCore.PIE_BASE_SHADOW : void 0
168
+ },
162
169
  tabIndex: selectable ? 0 : void 0,
163
170
  "data-pie-slice": "true",
164
171
  "data-index": arc.index,
@@ -171,7 +178,42 @@ var PieChart = ({
171
178
  `slice-${arc.index}`
172
179
  );
173
180
  }) }),
174
- showLabels && arcs.map((arc) => {
181
+ showLabels && labelPosition === "outside" && arcs.map((arc) => {
182
+ const color = arc.data.color ?? palette[arc.index % palette.length];
183
+ const line = tigercatCore.computePieLabelLine(
184
+ cx,
185
+ cy,
186
+ resolvedOuterRadius,
187
+ arc.startAngle,
188
+ arc.endAngle
189
+ );
190
+ const pct = total > 0 ? (arc.value / total * 100).toFixed(1) : "0";
191
+ const labelText = labelFormatter ? labelFormatter(arc.value, arc.data, arc.index) : `${arc.data.label ?? arc.value} ${pct}%`;
192
+ return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
193
+ /* @__PURE__ */ jsxRuntime.jsx(
194
+ "polyline",
195
+ {
196
+ points: `${line.anchor.x},${line.anchor.y} ${line.elbow.x},${line.elbow.y} ${line.label.x},${line.label.y}`,
197
+ fill: "none",
198
+ stroke: color,
199
+ strokeWidth: 1,
200
+ opacity: 0.5
201
+ }
202
+ ),
203
+ /* @__PURE__ */ jsxRuntime.jsx(
204
+ "text",
205
+ {
206
+ x: line.label.x,
207
+ y: line.label.y,
208
+ textAnchor: line.textAnchor,
209
+ dominantBaseline: "middle",
210
+ className: "fill-[color:var(--tiger-text-secondary,#6b7280)] text-xs",
211
+ children: labelText
212
+ }
213
+ )
214
+ ] }, `label-group-${arc.index}`);
215
+ }),
216
+ showLabels && labelPosition !== "outside" && arcs.map((arc) => {
175
217
  const angle = (arc.startAngle + arc.endAngle) / 2;
176
218
  const { x, y } = tigercatCore.polarToCartesian(cx, cy, labelRadius, angle);
177
219
  const label = formatLabel(arc.value, arc.data, arc.index);
@@ -215,7 +257,7 @@ var PieChart = ({
215
257
  position: legendPosition,
216
258
  markerSize: legendMarkerSize,
217
259
  gap: legendGap,
218
- interactive: hoverable || selectable,
260
+ interactive,
219
261
  onItemClick: handleLegendClick,
220
262
  onItemHover: handleLegendHover,
221
263
  onItemLeave: handleLegendLeave
@@ -1,5 +1,5 @@
1
- import { useState, useCallback, useEffect, useMemo } from 'react';
2
- import { getScrollTop, scrollToTop, classNames, backTopButtonClasses, backTopContainerClasses, backTopVisibleClasses, backTopHiddenClasses, backTopIconPath } from '@expcat/tigercat-core';
1
+ import { useState, useEffect, useCallback, useMemo } from 'react';
2
+ import { scrollToTop, classNames, backTopButtonClasses, backTopContainerClasses, backTopVisibleClasses, backTopHiddenClasses, getScrollTop, backTopIconPath } from '@expcat/tigercat-core';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
5
5
  // src/components/BackTop.tsx
@@ -27,34 +27,29 @@ var BackTop = ({
27
27
  ...props
28
28
  }) => {
29
29
  const [visible, setVisible] = useState(false);
30
- const handleScroll = useCallback(() => {
31
- const targetElement = target();
32
- if (!targetElement) return;
33
- const scrollTop = getScrollTop(targetElement);
34
- setVisible(scrollTop >= visibilityHeight);
30
+ useEffect(() => {
31
+ const el = target();
32
+ if (!el) return;
33
+ const onScroll = () => {
34
+ setVisible(getScrollTop(el) >= visibilityHeight);
35
+ };
36
+ el.addEventListener("scroll", onScroll, { passive: true });
37
+ onScroll();
38
+ return () => {
39
+ el.removeEventListener("scroll", onScroll);
40
+ };
35
41
  }, [target, visibilityHeight]);
36
42
  const handleClick = useCallback(
37
43
  (event) => {
38
- const targetElement = target();
39
- if (targetElement) {
40
- scrollToTop(targetElement, duration);
41
- }
44
+ const el = target();
45
+ if (el) scrollToTop(el, duration);
42
46
  onClick?.(event);
43
47
  },
44
48
  [target, duration, onClick]
45
49
  );
46
- useEffect(() => {
47
- const targetElement = target();
48
- if (!targetElement) return;
49
- targetElement.addEventListener("scroll", handleScroll, { passive: true });
50
- handleScroll();
51
- return () => {
52
- targetElement.removeEventListener("scroll", handleScroll);
53
- };
54
- }, [target, handleScroll]);
55
50
  const buttonClasses = useMemo(() => {
56
- const targetElement = target();
57
- const positionClasses = !targetElement || targetElement === window ? backTopButtonClasses : backTopContainerClasses;
51
+ const el = target();
52
+ const positionClasses = !el || el === window ? backTopButtonClasses : backTopContainerClasses;
58
53
  return classNames(
59
54
  positionClasses,
60
55
  visible ? backTopVisibleClasses : backTopHiddenClasses,
@@ -1,7 +1,7 @@
1
1
  import { DropdownMenu } from './chunk-SIVJX7VU.mjs';
2
2
  import { useClickOutside, useEscapeKey, useFloating } from './chunk-WLIFEALE.mjs';
3
- import React, { createContext, useState, useRef, useCallback, useEffect, useMemo } from 'react';
4
- import { classNames, getDropdownContainerClasses, getDropdownTriggerClasses, getTransformOrigin } from '@expcat/tigercat-core';
3
+ import React, { createContext, useState, useRef, useEffect, useCallback, useMemo } from 'react';
4
+ import { injectDropdownStyles, classNames, getDropdownContainerClasses, getDropdownTriggerClasses, DROPDOWN_ENTER_CLASS, getTransformOrigin, getDropdownChevronClasses, DROPDOWN_CHEVRON_PATH } from '@expcat/tigercat-core';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
6
6
 
7
7
  var DropdownContext = createContext(null);
@@ -13,11 +13,11 @@ var Dropdown = ({
13
13
  visible: controlledVisible,
14
14
  defaultVisible = false,
15
15
  closeOnClick = true,
16
+ showArrow = true,
16
17
  className,
17
18
  style,
18
19
  onVisibleChange,
19
20
  children,
20
- onKeyDown,
21
21
  ...divProps
22
22
  }) => {
23
23
  const [internalVisible, setInternalVisible] = useState(defaultVisible);
@@ -26,6 +26,9 @@ var Dropdown = ({
26
26
  const triggerRef = useRef(null);
27
27
  const floatingRef = useRef(null);
28
28
  const hoverTimerRef = useRef(null);
29
+ useEffect(() => {
30
+ injectDropdownStyles();
31
+ }, []);
29
32
  const setVisible = useCallback(
30
33
  (newVisible) => {
31
34
  if (disabled && newVisible) return;
@@ -86,13 +89,12 @@ var Dropdown = ({
86
89
  }
87
90
  };
88
91
  }, []);
89
- const containerClasses = classNames(
90
- getDropdownContainerClasses(),
91
- "tiger-dropdown-container",
92
- className
92
+ const containerClasses = useMemo(
93
+ () => classNames(getDropdownContainerClasses(), "tiger-dropdown-container", className),
94
+ [className]
93
95
  );
94
- const triggerClasses = getDropdownTriggerClasses(disabled);
95
- const menuWrapperClasses = "absolute z-50";
96
+ const triggerClasses = useMemo(() => getDropdownTriggerClasses(disabled), [disabled]);
97
+ const menuWrapperClasses = classNames("absolute z-50", DROPDOWN_ENTER_CLASS);
96
98
  const menuWrapperStyles = useMemo(
97
99
  () => ({
98
100
  position: "absolute",
@@ -102,10 +104,10 @@ var Dropdown = ({
102
104
  }),
103
105
  [x, y, placement]
104
106
  );
105
- const contextValue = {
106
- closeOnClick,
107
- handleItemClick
108
- };
107
+ const contextValue = useMemo(
108
+ () => ({ closeOnClick, handleItemClick }),
109
+ [closeOnClick, handleItemClick]
110
+ );
109
111
  const childrenArray = React.Children.toArray(children);
110
112
  let triggerElement = null;
111
113
  let menuElement = null;
@@ -122,19 +124,29 @@ var Dropdown = ({
122
124
  triggerElement = child;
123
125
  }
124
126
  });
125
- const handleContainerKeyDown = (event) => {
126
- onKeyDown?.(event);
127
- };
127
+ const chevronNode = showArrow ? /* @__PURE__ */ jsx(
128
+ "svg",
129
+ {
130
+ className: getDropdownChevronClasses(visible),
131
+ viewBox: "0 0 24 24",
132
+ fill: "none",
133
+ stroke: "currentColor",
134
+ strokeWidth: "2",
135
+ strokeLinecap: "round",
136
+ strokeLinejoin: "round",
137
+ "aria-hidden": "true",
138
+ children: /* @__PURE__ */ jsx("path", { d: DROPDOWN_CHEVRON_PATH })
139
+ }
140
+ ) : null;
128
141
  return /* @__PURE__ */ jsx(DropdownContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxs(
129
142
  "div",
130
143
  {
131
144
  ref: containerRef,
132
145
  className: containerClasses,
133
146
  style,
134
- onKeyDown: handleContainerKeyDown,
135
147
  ...divProps,
136
148
  children: [
137
- /* @__PURE__ */ jsx(
149
+ /* @__PURE__ */ jsxs(
138
150
  "div",
139
151
  {
140
152
  ref: triggerRef,
@@ -144,7 +156,10 @@ var Dropdown = ({
144
156
  onMouseLeave: handleMouseLeave,
145
157
  "aria-haspopup": "menu",
146
158
  "aria-expanded": visible,
147
- children: triggerElement
159
+ children: [
160
+ triggerElement,
161
+ chevronNode
162
+ ]
148
163
  }
149
164
  ),
150
165
  /* @__PURE__ */ jsx(
@@ -30,6 +30,7 @@ var Anchor = ({
30
30
  const inkRef = react.useRef(null);
31
31
  const isScrollingRef = react.useRef(false);
32
32
  const animationFrameRef = react.useRef(null);
33
+ const scrollTimeoutRef = react.useRef(null);
33
34
  const getContainerRef = react.useRef(getContainer);
34
35
  getContainerRef.current = getContainer;
35
36
  const scrollOffset = react.useMemo(() => targetOffset ?? offsetTop, [targetOffset, offsetTop]);
@@ -57,19 +58,20 @@ var Anchor = ({
57
58
  isScrollingRef.current = true;
58
59
  setActiveLink(href);
59
60
  scrollTo(href);
60
- setTimeout(() => {
61
+ if (scrollTimeoutRef.current !== null) clearTimeout(scrollTimeoutRef.current);
62
+ scrollTimeoutRef.current = setTimeout(() => {
61
63
  isScrollingRef.current = false;
64
+ scrollTimeoutRef.current = null;
62
65
  }, 500);
63
66
  },
64
67
  [onClick, scrollTo]
65
68
  );
66
- const scrollHandlerRef = react.useRef(null);
67
- const boundContainerRef = react.useRef(null);
68
69
  react.useEffect(() => {
70
+ let container = null;
71
+ let handleScroll = null;
69
72
  const timeoutId = setTimeout(() => {
70
- const container = getContainerRef.current();
71
- boundContainerRef.current = container;
72
- const handleScroll = () => {
73
+ container = getContainerRef.current();
74
+ handleScroll = () => {
73
75
  if (isScrollingRef.current) return;
74
76
  if (animationFrameRef.current !== null) {
75
77
  cancelAnimationFrame(animationFrameRef.current);
@@ -87,18 +89,20 @@ var Anchor = ({
87
89
  });
88
90
  });
89
91
  };
90
- scrollHandlerRef.current = handleScroll;
91
92
  container.addEventListener("scroll", handleScroll, { passive: true });
92
93
  handleScroll();
93
94
  }, 0);
94
95
  return () => {
95
96
  clearTimeout(timeoutId);
96
- if (boundContainerRef.current && scrollHandlerRef.current) {
97
- boundContainerRef.current.removeEventListener("scroll", scrollHandlerRef.current);
97
+ if (container && handleScroll) {
98
+ container.removeEventListener("scroll", handleScroll);
98
99
  }
99
100
  if (animationFrameRef.current !== null) {
100
101
  cancelAnimationFrame(animationFrameRef.current);
101
102
  }
103
+ if (scrollTimeoutRef.current !== null) {
104
+ clearTimeout(scrollTimeoutRef.current);
105
+ }
102
106
  };
103
107
  }, [links, bounds, scrollOffset, getCurrentAnchor, onChange]);
104
108
  react.useEffect(() => {
@@ -128,10 +132,7 @@ var Anchor = ({
128
132
  const inkContainerClasses = react.useMemo(() => tigercatCore.getAnchorInkContainerClasses(direction), [direction]);
129
133
  const inkActiveClasses = react.useMemo(() => tigercatCore.getAnchorInkActiveClasses(direction), [direction]);
130
134
  const linkListClasses = react.useMemo(() => tigercatCore.getAnchorLinkListClasses(direction), [direction]);
131
- const showInk = react.useMemo(() => {
132
- if (!affix) return true;
133
- return showInkInFixed;
134
- }, [affix, showInkInFixed]);
135
+ const showInk = react.useMemo(() => !affix || showInkInFixed, [affix, showInkInFixed]);
135
136
  const wrapperStyle = react.useMemo(() => {
136
137
  const baseStyle = {};
137
138
  if (affix && offsetTop > 0) {
@@ -0,0 +1,27 @@
1
+ import { getSpaceStyle, getSpaceClasses } from '@expcat/tigercat-core';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ // src/components/Space.tsx
5
+ var Space = ({
6
+ direction = "horizontal",
7
+ size = "md",
8
+ align = "start",
9
+ wrap = false,
10
+ children,
11
+ className,
12
+ style,
13
+ ...props
14
+ }) => {
15
+ const gapStyle = getSpaceStyle(size);
16
+ return /* @__PURE__ */ jsx(
17
+ "div",
18
+ {
19
+ ...props,
20
+ className: getSpaceClasses({ direction, size, align, wrap }, className),
21
+ style: gapStyle ? { ...gapStyle, ...style } : style,
22
+ children
23
+ }
24
+ );
25
+ };
26
+
27
+ export { Space };