@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,8 +1,23 @@
1
- import { useFormContext } from './chunk-3XXXM4OB.mjs';
2
- import React, { useState, useId, useMemo, useCallback, useEffect } from 'react';
3
- import { getFieldError, classNames, getFormItemClasses, getFormItemLabelClasses, getFormItemErrorClasses, getFormItemContentClasses, getFormItemFieldClasses, getFormItemAsteriskClasses, getFormItemAsteriskStyle } from '@expcat/tigercat-core';
1
+ import { useFormContext } from './chunk-IGE44BIS.mjs';
2
+ import React, { useState, useRef, useId, useMemo, useEffect, useCallback } from 'react';
3
+ import { getFormItemFieldClasses, getFormItemAsteriskClasses, getFieldError, classNames, getFormItemClasses, getFormItemLabelClasses, getFormItemErrorClasses, getFormItemContentClasses } from '@expcat/tigercat-core';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
5
5
 
6
+ function hasRequiredRule(maybeRules) {
7
+ if (!maybeRules) return false;
8
+ const ruleArr = Array.isArray(maybeRules) ? maybeRules : [maybeRules];
9
+ return ruleArr.some((rule) => !!rule && typeof rule === "object" && !!rule.required);
10
+ }
11
+ function mergeAriaDescribedBy(existing, next) {
12
+ if (!existing) return next;
13
+ if (!next) return existing;
14
+ const parts = new Set(
15
+ `${existing} ${next}`.split(" ").map((s) => s.trim()).filter(Boolean)
16
+ );
17
+ return Array.from(parts).join(" ");
18
+ }
19
+ var FIELD_CLASSES = getFormItemFieldClasses();
20
+ var ASTERISK_CLASSES = getFormItemAsteriskClasses();
6
21
  var FormItem = ({
7
22
  name,
8
23
  label,
@@ -17,26 +32,13 @@ var FormItem = ({
17
32
  }) => {
18
33
  const formContext = useFormContext();
19
34
  const [errorMessage, setErrorMessage] = useState("");
35
+ const [shakeTrigger, setShakeTrigger] = useState(0);
36
+ const prevFormErrorRef = useRef("");
20
37
  const reactId = useId();
21
- const baseId = useMemo(() => `tiger-form-item-${reactId}`, [reactId]);
38
+ const baseId = `tiger-form-item-${reactId}`;
22
39
  const labelId = `${baseId}-label`;
23
40
  const fieldId = `${baseId}-field`;
24
41
  const errorId = `${baseId}-error`;
25
- const mergeAriaDescribedBy = useCallback(
26
- (existing, next) => {
27
- if (!existing) {
28
- return next;
29
- }
30
- if (!next) {
31
- return existing;
32
- }
33
- const parts = new Set(
34
- `${existing} ${next}`.split(" ").map((s) => s.trim()).filter(Boolean)
35
- );
36
- return Array.from(parts).join(" ");
37
- },
38
- []
39
- );
40
42
  const actualSize = size || formContext?.size || "md";
41
43
  const labelPosition = formContext?.labelPosition || "right";
42
44
  const labelAlign = formContext?.labelAlign || "right";
@@ -47,18 +49,6 @@ var FormItem = ({
47
49
  }
48
50
  return width;
49
51
  }, [labelWidth, formContext?.labelWidth]);
50
- const hasRequiredRule = useCallback((maybeRules) => {
51
- if (!maybeRules) {
52
- return false;
53
- }
54
- const rules2 = Array.isArray(maybeRules) ? maybeRules : [maybeRules];
55
- return rules2.some((rule) => {
56
- if (!rule || typeof rule !== "object") {
57
- return false;
58
- }
59
- return !!rule.required;
60
- });
61
- }, []);
62
52
  const showRequiredAsterisk = useMemo(() => {
63
53
  if (required !== void 0) {
64
54
  return required;
@@ -73,15 +63,19 @@ var FormItem = ({
73
63
  }
74
64
  }
75
65
  return false;
76
- }, [required, rules, name, formContext?.rules, hasRequiredRule]);
66
+ }, [required, rules, name, formContext?.rules]);
77
67
  const isRequired = useMemo(
78
68
  () => showRequiredAsterisk && (formContext?.showRequiredAsterisk ?? true),
79
69
  [showRequiredAsterisk, formContext?.showRequiredAsterisk]
80
70
  );
81
71
  useEffect(() => {
82
72
  if (name && formContext?.errors) {
83
- const error = getFieldError(name, formContext.errors);
84
- setErrorMessage(error || "");
73
+ const error = getFieldError(name, formContext.errors) || "";
74
+ setErrorMessage(error);
75
+ if (error && error !== prevFormErrorRef.current) {
76
+ setShakeTrigger((prev) => prev + 1);
77
+ }
78
+ prevFormErrorRef.current = error;
85
79
  }
86
80
  }, [name, formContext?.errors]);
87
81
  useEffect(() => {
@@ -110,7 +104,7 @@ var FormItem = ({
110
104
  formContext.validateField(name, rules, "change");
111
105
  }
112
106
  }, [name, formContext, rules]);
113
- const hasError = useMemo(() => !!errorMessage, [errorMessage]);
107
+ const hasError = !!errorMessage;
114
108
  const describedById = useMemo(
115
109
  () => showMessage && hasError ? errorId : void 0,
116
110
  [showMessage, hasError, errorId]
@@ -123,6 +117,7 @@ var FormItem = ({
123
117
  return React.Children.toArray(children)[0] ?? null;
124
118
  }, [children]);
125
119
  const isClonableChild = React.isValidElement(onlyChild);
120
+ const isNativeElement = isClonableChild && typeof onlyChild.type === "string";
126
121
  const childId = isClonableChild ? onlyChild.props.id : void 0;
127
122
  const effectiveFieldId = childId ?? fieldId;
128
123
  const enhancedChild = useMemo(() => {
@@ -131,6 +126,9 @@ var FormItem = ({
131
126
  }
132
127
  const nextProps = {
133
128
  id: effectiveFieldId,
129
+ status: !isNativeElement && hasError ? "error" : onlyChild.props.status,
130
+ errorMessage: !isNativeElement && hasError && !showMessage ? errorMessage : onlyChild.props.errorMessage,
131
+ _shakeTrigger: !isNativeElement && hasError ? shakeTrigger : void 0,
134
132
  "aria-invalid": hasError ? true : onlyChild.props["aria-invalid"],
135
133
  "aria-required": isRequired ? true : onlyChild.props["aria-required"],
136
134
  "aria-describedby": mergeAriaDescribedBy(onlyChild.props["aria-describedby"], describedById),
@@ -150,8 +148,11 @@ var FormItem = ({
150
148
  onlyChild,
151
149
  effectiveFieldId,
152
150
  hasError,
151
+ errorMessage,
152
+ showMessage,
153
+ shakeTrigger,
153
154
  isRequired,
154
- mergeAriaDescribedBy,
155
+ isNativeElement,
155
156
  describedById,
156
157
  handleBlur,
157
158
  handleChange
@@ -184,13 +185,10 @@ var FormItem = ({
184
185
  return actualLabelWidth ? { width: actualLabelWidth } : {};
185
186
  }, [labelPosition, actualLabelWidth]);
186
187
  const errorClasses = useMemo(
187
- () => classNames(getFormItemErrorClasses(actualSize), hasError && "tiger-form-item__error--show"),
188
+ () => classNames(getFormItemErrorClasses(actualSize), hasError && "opacity-100"),
188
189
  [actualSize, hasError]
189
190
  );
190
191
  const contentClasses = useMemo(() => getFormItemContentClasses(labelPosition), [labelPosition]);
191
- const fieldClasses = useMemo(() => getFormItemFieldClasses(), []);
192
- const asteriskClasses = useMemo(() => getFormItemAsteriskClasses(), []);
193
- const asteriskStyle = useMemo(() => getFormItemAsteriskStyle(), []);
194
192
  return /* @__PURE__ */ jsxs("div", { className: formItemClasses, children: [
195
193
  label && /* @__PURE__ */ jsxs(
196
194
  "label",
@@ -200,7 +198,7 @@ var FormItem = ({
200
198
  style: labelStyles,
201
199
  htmlFor: isClonableChild ? effectiveFieldId : void 0,
202
200
  children: [
203
- isRequired && /* @__PURE__ */ jsx("span", { className: asteriskClasses, style: asteriskStyle, children: "*" }),
201
+ isRequired && /* @__PURE__ */ jsx("span", { className: ASTERISK_CLASSES, children: "*" }),
204
202
  label
205
203
  ]
206
204
  }
@@ -209,7 +207,7 @@ var FormItem = ({
209
207
  /* @__PURE__ */ jsx(
210
208
  "div",
211
209
  {
212
- className: fieldClasses,
210
+ className: FIELD_CLASSES,
213
211
  role: "group",
214
212
  "aria-labelledby": label ? labelId : void 0,
215
213
  "aria-describedby": describedById,
@@ -220,7 +218,16 @@ var FormItem = ({
220
218
  children: enhancedChild
221
219
  }
222
220
  ),
223
- showMessage && hasError && /* @__PURE__ */ jsx("div", { id: errorId, role: "alert", className: errorClasses, children: errorMessage })
221
+ showMessage && /* @__PURE__ */ jsx(
222
+ "div",
223
+ {
224
+ id: hasError ? errorId : void 0,
225
+ role: hasError ? "alert" : void 0,
226
+ className: errorClasses,
227
+ "aria-hidden": hasError ? void 0 : true,
228
+ children: hasError ? errorMessage : ""
229
+ }
230
+ )
224
231
  ] })
225
232
  ] });
226
233
  };
@@ -1,8 +1,8 @@
1
- import { StepsItem, Steps } from './chunk-P4EFJIXU.mjs';
2
- import { Button } from './chunk-STEIWBMF.mjs';
3
- import { Alert } from './chunk-CR4QK2AB.mjs';
4
- import { useState, useEffect, useCallback, useMemo } from 'react';
5
- import { classNames } from '@expcat/tigercat-core';
1
+ import { StepsItem, Steps } from './chunk-AUP3PMDD.mjs';
2
+ import { useTigerConfig } from './chunk-VEGBO77D.mjs';
3
+ import { Button } from './chunk-ENSLMM3L.mjs';
4
+ import { useMemo, useState, useEffect, useCallback } from 'react';
5
+ import { mergeTigerLocale, getFormWizardLabels, classNames, resolveLocaleText } from '@expcat/tigercat-core';
6
6
  import { jsx, jsxs } from 'react/jsx-runtime';
7
7
 
8
8
  var FormWizard = ({
@@ -15,9 +15,10 @@ var FormWizard = ({
15
15
  simple = false,
16
16
  showSteps = true,
17
17
  showActions = true,
18
- prevText = "Previous",
19
- nextText = "Next",
20
- finishText = "Finish",
18
+ prevText,
19
+ nextText,
20
+ finishText,
21
+ locale,
21
22
  beforeNext,
22
23
  onChange,
23
24
  onFinish,
@@ -26,8 +27,13 @@ var FormWizard = ({
26
27
  style,
27
28
  ...props
28
29
  }) => {
30
+ const config = useTigerConfig();
31
+ const mergedLocale = useMemo(
32
+ () => mergeTigerLocale(config.locale, locale),
33
+ [config.locale, locale]
34
+ );
35
+ const labels = useMemo(() => getFormWizardLabels(mergedLocale), [mergedLocale]);
29
36
  const [innerCurrent, setInnerCurrent] = useState(defaultCurrent);
30
- const [errorMessage, setErrorMessage] = useState(null);
31
37
  useEffect(() => {
32
38
  if (current !== void 0) setInnerCurrent(current);
33
39
  }, [current]);
@@ -36,7 +42,10 @@ var FormWizard = ({
36
42
  const currentStep = steps[currentIndex];
37
43
  const isFirst = currentIndex <= 0;
38
44
  const isLast = currentIndex >= totalCount - 1;
39
- const wrapperClasses = classNames("tiger-form-wizard flex flex-col gap-6 w-full", className);
45
+ const wrapperClasses = classNames(
46
+ "tiger-form-wizard w-full rounded-lg border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] shadow-sm overflow-hidden",
47
+ className
48
+ );
40
49
  const setCurrent = useCallback(
41
50
  (next) => {
42
51
  const max = Math.max(totalCount - 1, 0);
@@ -50,24 +59,13 @@ var FormWizard = ({
50
59
  );
51
60
  const runBeforeNext = useCallback(async () => {
52
61
  if (!beforeNext || !currentStep) {
53
- setErrorMessage(null);
54
62
  return true;
55
63
  }
56
64
  const result = await beforeNext(currentIndex, currentStep, steps);
57
- if (result === true) {
58
- setErrorMessage(null);
59
- return true;
60
- }
61
- if (typeof result === "string") {
62
- setErrorMessage(result);
63
- } else {
64
- setErrorMessage(null);
65
- }
66
- return false;
65
+ return result === true;
67
66
  }, [beforeNext, currentIndex, currentStep, steps]);
68
67
  const handlePrev = useCallback(() => {
69
68
  if (currentIndex <= 0 || steps[currentIndex - 1]?.disabled) return;
70
- setErrorMessage(null);
71
69
  setCurrent(currentIndex - 1);
72
70
  }, [currentIndex, setCurrent, steps]);
73
71
  const handleNext = useCallback(async () => {
@@ -79,7 +77,6 @@ var FormWizard = ({
79
77
  return;
80
78
  }
81
79
  if (steps[currentIndex + 1]?.disabled) return;
82
- setErrorMessage(null);
83
80
  setCurrent(currentIndex + 1);
84
81
  }, [currentIndex, totalCount, isLast, onFinish, runBeforeNext, setCurrent, steps]);
85
82
  const handleStepChange = useCallback(
@@ -89,7 +86,6 @@ var FormWizard = ({
89
86
  const ok = await runBeforeNext();
90
87
  if (!ok) return;
91
88
  }
92
- setErrorMessage(null);
93
89
  setCurrent(nextIndex);
94
90
  },
95
91
  [currentIndex, runBeforeNext, setCurrent, steps]
@@ -114,7 +110,7 @@ var FormWizard = ({
114
110
  [steps]
115
111
  );
116
112
  return /* @__PURE__ */ jsxs("div", { className: wrapperClasses, style, "data-tiger-form-wizard": true, ...props, children: [
117
- showSteps && steps.length > 0 && /* @__PURE__ */ jsx(
113
+ showSteps && steps.length > 0 && /* @__PURE__ */ jsx("div", { className: "px-6 py-5 bg-[var(--tiger-surface-muted,#f9fafb)]", children: /* @__PURE__ */ jsx(
118
114
  Steps,
119
115
  {
120
116
  current: currentIndex,
@@ -125,14 +121,11 @@ var FormWizard = ({
125
121
  onChange: handleStepChange,
126
122
  children: stepsNodes
127
123
  }
128
- ),
129
- errorMessage && /* @__PURE__ */ jsx(Alert, { type: "error", description: errorMessage, className: "tiger-form-wizard-alert" }),
130
- /* @__PURE__ */ jsxs("div", { className: "tiger-form-wizard-body rounded-lg border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] p-6", children: [
131
- contentNode,
132
- showActions && /* @__PURE__ */ jsxs("div", { className: "tiger-form-wizard-actions flex items-center justify-between border-t border-[var(--tiger-border,#e5e7eb)] pt-4 mt-6", children: [
133
- /* @__PURE__ */ jsx(Button, { type: "button", variant: "secondary", disabled: isFirst, onClick: handlePrev, children: prevText }),
134
- /* @__PURE__ */ jsx(Button, { type: "button", variant: "primary", onClick: handleNext, children: isLast ? finishText : nextText })
135
- ] })
124
+ ) }),
125
+ /* @__PURE__ */ jsx("div", { className: "px-6 py-4 flex flex-col items-center", children: contentNode }),
126
+ showActions && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center gap-3 px-6 py-2 border-t border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface-muted,#f9fafb)]", children: [
127
+ /* @__PURE__ */ jsx(Button, { type: "button", variant: "secondary", disabled: isFirst, onClick: handlePrev, children: resolveLocaleText(labels.prevText, prevText) }),
128
+ /* @__PURE__ */ jsx(Button, { type: "button", variant: "primary", onClick: handleNext, children: isLast ? resolveLocaleText(labels.finishText, finishText) : resolveLocaleText(labels.nextText, nextText) })
136
129
  ] })
137
130
  ] });
138
131
  };
@@ -14,8 +14,7 @@ var Sidebar = ({
14
14
  const sidebarStyle = {
15
15
  ...style,
16
16
  width: collapsed ? "0px" : width,
17
- minWidth: collapsed ? "0px" : width,
18
- overflow: "hidden"
17
+ minWidth: collapsed ? "0px" : width
19
18
  };
20
19
  return /* @__PURE__ */ jsx("aside", { className: sidebarClasses, style: sidebarStyle, ...props, children: !collapsed && children });
21
20
  };
@@ -103,15 +103,13 @@ var Drawer = ({
103
103
  locale?.common?.closeText
104
104
  );
105
105
  React.useEffect(() => {
106
- if (!visible) return;
107
- previousActiveElementRef.current = tigercatCore.captureActiveElement();
108
- const timer = window.setTimeout(() => {
109
- tigercatCore.focusFirst([closeButtonRef.current, dialogRef.current]);
110
- }, 0);
111
- return () => window.clearTimeout(timer);
112
- }, [visible]);
113
- React.useEffect(() => {
114
- if (visible) return;
106
+ if (visible) {
107
+ previousActiveElementRef.current = tigercatCore.captureActiveElement();
108
+ const timer = window.setTimeout(() => {
109
+ tigercatCore.focusFirst([closeButtonRef.current, dialogRef.current]);
110
+ }, 0);
111
+ return () => window.clearTimeout(timer);
112
+ }
115
113
  tigercatCore.restoreFocus(previousActiveElementRef.current);
116
114
  }, [visible]);
117
115
  const handleKeyDown = React.useCallback((event) => {
@@ -125,7 +123,7 @@ var Drawer = ({
125
123
  }
126
124
  }, []);
127
125
  const containerClasses = tigercatCore.classNames(
128
- tigercatCore.getDrawerContainerClasses(zIndex),
126
+ tigercatCore.getDrawerContainerClasses(),
129
127
  !visible && "pointer-events-none"
130
128
  );
131
129
  const maskClasses = tigercatCore.getDrawerMaskClasses(visible);
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
+ var chunkHQ3QOT7H_js = require('./chunk-HQ3QOT7H.js');
3
4
  var react = require('react');
4
5
  var client = require('react-dom/client');
5
6
  var tigercatCore = require('@expcat/tigercat-core');
6
7
  var jsxRuntime = require('react/jsx-runtime');
7
8
 
8
- // src/components/Notification.tsx
9
9
  var NOTIFICATION_CONTAINER_ID_PREFIX = "tiger-notification-container";
10
10
  var notificationInstancesByPosition = {
11
11
  "top-left": [],
@@ -29,35 +29,12 @@ var updateCallbacks = {
29
29
  function getNextInstanceId() {
30
30
  return ++instanceIdCounter;
31
31
  }
32
- var Icon = ({ path, className }) => {
33
- return /* @__PURE__ */ jsxRuntime.jsx(
34
- "svg",
35
- {
36
- className,
37
- xmlns: "http://www.w3.org/2000/svg",
38
- fill: "none",
39
- viewBox: tigercatCore.icon24ViewBox,
40
- stroke: "currentColor",
41
- strokeWidth: tigercatCore.icon24StrokeWidth,
42
- "aria-hidden": "true",
43
- focusable: "false",
44
- children: /* @__PURE__ */ jsxRuntime.jsx(
45
- "path",
46
- {
47
- strokeLinecap: tigercatCore.icon24PathStrokeLinecap,
48
- strokeLinejoin: tigercatCore.icon24PathStrokeLinejoin,
49
- d: path
50
- }
51
- )
52
- }
53
- );
54
- };
55
32
  var NotificationItem = ({ notification: notification2, onClose }) => {
56
33
  const [isVisible, setIsVisible] = react.useState(false);
57
34
  react.useEffect(() => {
58
35
  setTimeout(() => setIsVisible(true), 10);
59
36
  }, []);
60
- const colorScheme = tigercatCore.getNotificationTypeClasses(notification2.type, tigercatCore.defaultNotificationThemeColors);
37
+ const colorScheme = tigercatCore.getNotificationTypeClasses(notification2.type);
61
38
  const notificationClasses = tigercatCore.classNames(
62
39
  tigercatCore.notificationBaseClasses,
63
40
  colorScheme.bg,
@@ -94,7 +71,7 @@ var NotificationItem = ({ notification: notification2, onClose }) => {
94
71
  "data-tiger-notification-type": notification2.type,
95
72
  "data-tiger-notification-id": String(notification2.id),
96
73
  children: [
97
- /* @__PURE__ */ jsxRuntime.jsx(Icon, { path: iconPath, className: iconClass }),
74
+ /* @__PURE__ */ jsxRuntime.jsx(chunkHQ3QOT7H_js.StatusIcon, { path: iconPath, className: iconClass, "aria-hidden": "true", focusable: "false" }),
98
75
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: tigercatCore.notificationContentClasses, children: [
99
76
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.classNames(tigercatCore.notificationTitleClasses, colorScheme.titleText), children: notification2.title }),
100
77
  notification2.description && /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.classNames(tigercatCore.notificationDescriptionClasses, colorScheme.descriptionText), children: notification2.description })
@@ -109,7 +86,7 @@ var NotificationItem = ({ notification: notification2, onClose }) => {
109
86
  },
110
87
  "aria-label": "Close notification",
111
88
  type: "button",
112
- children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { path: tigercatCore.notificationCloseIconPath, className: tigercatCore.notificationCloseIconClasses })
89
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkHQ3QOT7H_js.StatusIcon, { path: tigercatCore.notificationCloseIconPath, className: tigercatCore.notificationCloseIconClasses })
113
90
  }
114
91
  )
115
92
  ]
@@ -134,16 +111,7 @@ var NotificationContainer = ({
134
111
  tigercatCore.notificationPositionClasses[position]
135
112
  );
136
113
  const handleRemove = (id) => {
137
- const instances = notificationInstancesByPosition[position];
138
- const index = instances.findIndex((notif) => notif.id === id);
139
- if (index !== -1) {
140
- const instance = instances[index];
141
- instances.splice(index, 1);
142
- if (instance.onClose) {
143
- instance.onClose();
144
- }
145
- updateCallbacks[position]?.();
146
- }
114
+ removeNotification(id, position);
147
115
  };
148
116
  return /* @__PURE__ */ jsxRuntime.jsx(
149
117
  "div",
@@ -169,8 +137,7 @@ function ensureContainer(position) {
169
137
  if (!tigercatCore.isBrowser()) {
170
138
  return;
171
139
  }
172
- const containerId = `${NOTIFICATION_CONTAINER_ID_PREFIX}-${position}`;
173
- const rootId = `${containerId}-root`;
140
+ const rootId = `${NOTIFICATION_CONTAINER_ID_PREFIX}-${position}-root`;
174
141
  const existingRootEl = document.getElementById(rootId);
175
142
  if (containerRoots[position] && !existingRootEl) {
176
143
  containerRoots[position] = null;
@@ -188,6 +155,17 @@ function ensureContainer(position) {
188
155
  containerRoots[position] = client.createRoot(rootEl);
189
156
  containerRoots[position].render(/* @__PURE__ */ jsxRuntime.jsx(NotificationContainer, { position }));
190
157
  }
158
+ function destroyContainer(position) {
159
+ const rootId = `${NOTIFICATION_CONTAINER_ID_PREFIX}-${position}-root`;
160
+ if (containerRoots[position]) {
161
+ containerRoots[position].unmount();
162
+ containerRoots[position] = null;
163
+ }
164
+ updateCallbacks[position] = null;
165
+ if (tigercatCore.isBrowser()) {
166
+ document.getElementById(rootId)?.remove();
167
+ }
168
+ }
191
169
  function addNotification(config) {
192
170
  const position = config.position || "top-right";
193
171
  ensureContainer(position);
@@ -206,9 +184,7 @@ function addNotification(config) {
206
184
  position
207
185
  };
208
186
  notificationInstancesByPosition[position].push(instance);
209
- if (updateCallbacks[position]) {
210
- updateCallbacks[position]();
211
- }
187
+ updateCallbacks[position]?.();
212
188
  if (instance.duration > 0) {
213
189
  setTimeout(() => {
214
190
  removeNotification(id, position);
@@ -222,78 +198,51 @@ function removeNotification(id, position) {
222
198
  if (index !== -1) {
223
199
  const instance = instances[index];
224
200
  instances.splice(index, 1);
225
- if (instance.onClose) {
226
- instance.onClose();
227
- }
228
- if (updateCallbacks[position]) {
229
- updateCallbacks[position]();
230
- }
201
+ instance.onClose?.();
202
+ updateCallbacks[position]?.();
203
+ }
204
+ if (notificationInstancesByPosition[position].length === 0) {
205
+ destroyContainer(position);
231
206
  }
232
207
  }
233
208
  function clearAll(position) {
234
209
  if (position) {
235
210
  notificationInstancesByPosition[position].forEach((instance) => {
236
- if (instance.onClose) {
237
- instance.onClose();
238
- }
211
+ instance.onClose?.();
239
212
  });
240
213
  notificationInstancesByPosition[position] = [];
241
- if (updateCallbacks[position]) {
242
- updateCallbacks[position]();
243
- }
214
+ destroyContainer(position);
244
215
  } else {
245
216
  Object.keys(notificationInstancesByPosition).forEach((pos) => {
246
217
  const p = pos;
247
218
  notificationInstancesByPosition[p].forEach((instance) => {
248
- if (instance.onClose) {
249
- instance.onClose();
250
- }
219
+ instance.onClose?.();
251
220
  });
252
221
  notificationInstancesByPosition[p] = [];
253
- if (updateCallbacks[p]) {
254
- updateCallbacks[p]();
255
- }
222
+ destroyContainer(p);
256
223
  });
257
224
  }
258
225
  }
259
226
  function normalizeOptions(options) {
260
- if (typeof options === "string") {
261
- return { title: options };
262
- }
263
- return options;
227
+ return tigercatCore.normalizeStringOption(options, "title");
264
228
  }
265
229
  var notification = {
266
- /**
267
- * Show an info notification
268
- */
269
230
  info(options) {
270
231
  const config = normalizeOptions(options);
271
232
  return addNotification({ ...config, type: "info" });
272
233
  },
273
- /**
274
- * Show a success notification
275
- */
276
234
  success(options) {
277
235
  const config = normalizeOptions(options);
278
236
  return addNotification({ ...config, type: "success" });
279
237
  },
280
- /**
281
- * Show a warning notification
282
- */
283
238
  warning(options) {
284
239
  const config = normalizeOptions(options);
285
240
  return addNotification({ ...config, type: "warning" });
286
241
  },
287
- /**
288
- * Show an error notification
289
- */
290
242
  error(options) {
291
243
  const config = normalizeOptions(options);
292
244
  return addNotification({ ...config, type: "error" });
293
245
  },
294
- /**
295
- * Clear all notifications
296
- */
297
246
  clear(position) {
298
247
  clearAll(position);
299
248
  }
@@ -1,5 +1,5 @@
1
- import { useState, useRef, useEffect } from 'react';
2
- import { injectShakeStyle, getInputClasses, classNames, getInputAffixClasses, getInputErrorClasses, getInputWrapperClasses, SHAKE_CLASS } from '@expcat/tigercat-core';
1
+ import { useRef, useState, useEffect, useCallback } from 'react';
2
+ import { injectShakeStyle, SHAKE_CLASS, getInputClasses, classNames, getInputAffixClasses, getInputErrorClasses, getInputWrapperClasses, parseInputValue } from '@expcat/tigercat-core';
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
4
 
5
5
  // src/components/Input.tsx
@@ -8,6 +8,7 @@ var Input = ({
8
8
  type = "text",
9
9
  status = "default",
10
10
  errorMessage,
11
+ _shakeTrigger,
11
12
  prefix,
12
13
  suffix,
13
14
  value,
@@ -31,39 +32,30 @@ var Input = ({
31
32
  ...props
32
33
  }) => {
33
34
  injectShakeStyle();
34
- const [isShaking, setIsShaking] = useState(false);
35
- const inputRef = useRef(null);
35
+ const wrapperRef = useRef(null);
36
36
  const [internalValue, setInternalValue] = useState(defaultValue ?? "");
37
37
  useEffect(() => {
38
- if (status === "error") {
39
- setIsShaking(true);
38
+ if (status === "error" && wrapperRef.current) {
39
+ const el = wrapperRef.current;
40
+ el.classList.remove(SHAKE_CLASS);
41
+ void el.offsetWidth;
42
+ el.classList.add(SHAKE_CLASS);
40
43
  }
41
- }, [status]);
42
- const handleAnimationEnd = () => {
43
- setIsShaking(false);
44
- };
44
+ }, [status, _shakeTrigger]);
45
+ const handleAnimationEnd = useCallback(() => {
46
+ wrapperRef.current?.classList.remove(SHAKE_CLASS);
47
+ }, []);
45
48
  const isControlled = value !== void 0;
46
49
  const inputValue = isControlled ? value : internalValue;
47
- useEffect(() => {
48
- if (autoFocus && inputRef.current) {
49
- inputRef.current.focus();
50
- }
51
- }, [autoFocus]);
52
- const getNextValue = (target) => {
53
- if (type === "number") {
54
- return Number.isNaN(target.valueAsNumber) ? target.value : target.valueAsNumber;
55
- }
56
- return target.value;
57
- };
58
50
  const handleInput = (event) => {
59
51
  if (!isControlled) {
60
- setInternalValue(getNextValue(event.currentTarget));
52
+ setInternalValue(parseInputValue(event.currentTarget, type));
61
53
  }
62
54
  onInput?.(event);
63
55
  };
64
56
  const handleChange = (event) => {
65
57
  if (!isControlled) {
66
- setInternalValue(getNextValue(event.currentTarget));
58
+ setInternalValue(parseInputValue(event.currentTarget, type));
67
59
  }
68
60
  onChange?.(event);
69
61
  };
@@ -79,7 +71,8 @@ var Input = ({
79
71
  return /* @__PURE__ */ jsxs(
80
72
  "div",
81
73
  {
82
- className: classNames(getInputWrapperClasses(), className, isShaking && SHAKE_CLASS),
74
+ ref: wrapperRef,
75
+ className: classNames(getInputWrapperClasses(), className),
83
76
  style,
84
77
  onAnimationEnd: handleAnimationEnd,
85
78
  children: [
@@ -88,7 +81,6 @@ var Input = ({
88
81
  "input",
89
82
  {
90
83
  ...props,
91
- ref: inputRef,
92
84
  className: inputClasses,
93
85
  type,
94
86
  value: inputValue,
@@ -21,21 +21,17 @@ var Badge = ({
21
21
  const isDot = type === "dot";
22
22
  const isHidden = tigercatCore.shouldHideBadge(content, type, showZero);
23
23
  const displayContent = tigercatCore.formatBadgeContent(content, max, showZero);
24
- const sizeClass = isDot ? tigercatCore.dotSizeClasses[size] : tigercatCore.badgeSizeClasses[size];
25
24
  const badgeClasses = tigercatCore.classNames(
26
25
  tigercatCore.badgeBaseClasses,
27
26
  tigercatCore.getBadgeVariantClasses(variant),
28
- sizeClass,
27
+ isDot ? tigercatCore.dotSizeClasses[size] : tigercatCore.badgeSizeClasses[size],
29
28
  tigercatCore.badgeTypeClasses[type],
30
29
  !standalone && tigercatCore.badgePositionClasses[position],
31
30
  className
32
31
  );
33
32
  const computedAriaLabel = ariaLabelProp ?? (isDot ? "notification" : type === "number" ? `${displayContent} notifications` : `${displayContent ?? ""}`);
34
33
  if (isHidden) {
35
- if (standalone) {
36
- return null;
37
- }
38
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
34
+ return standalone ? null : /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
39
35
  }
40
36
  const badgeElement = /* @__PURE__ */ jsxRuntime.jsx("span", { ...props, className: badgeClasses, role: "status", "aria-label": computedAriaLabel, children: !isDot && displayContent });
41
37
  if (standalone) {