@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,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkCIL2AC3F_js = require('./chunk-CIL2AC3F.js');
4
- var chunkR7MS42PL_js = require('./chunk-R7MS42PL.js');
5
- var chunkA3DJSVTE_js = require('./chunk-A3DJSVTE.js');
6
- var chunkTZ26HQAW_js = require('./chunk-TZ26HQAW.js');
3
+ var chunkOYCMGKQ7_js = require('./chunk-OYCMGKQ7.js');
4
+ var chunkVCOBBJLP_js = require('./chunk-VCOBBJLP.js');
5
+ var chunkF24IF2QL_js = require('./chunk-F24IF2QL.js');
6
+ var chunkCI2WHAT2_js = require('./chunk-CI2WHAT2.js');
7
7
  var react = require('react');
8
8
  var tigercatCore = require('@expcat/tigercat-core');
9
9
  var jsxRuntime = require('react/jsx-runtime');
@@ -104,7 +104,7 @@ var ChatWindow = ({
104
104
  role: "listitem",
105
105
  children: [
106
106
  showAvatar && message.user ? /* @__PURE__ */ jsxRuntime.jsx(
107
- chunkTZ26HQAW_js.Avatar,
107
+ chunkCI2WHAT2_js.Avatar,
108
108
  {
109
109
  size: "sm",
110
110
  src: message.user.avatar,
@@ -159,7 +159,7 @@ var ChatWindow = ({
159
159
  statusText && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-4 py-1.5 border-t border-[var(--tiger-border,#e5e7eb)] text-xs italic text-[var(--tiger-text-muted,#6b7280)]", children: statusText }),
160
160
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-end gap-3 px-4 py-3 border-t border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] rounded-b-lg", children: [
161
161
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children: inputType === "input" ? /* @__PURE__ */ jsxRuntime.jsx(
162
- chunkCIL2AC3F_js.Input,
162
+ chunkOYCMGKQ7_js.Input,
163
163
  {
164
164
  value: inputValue,
165
165
  placeholder,
@@ -170,7 +170,7 @@ var ChatWindow = ({
170
170
  onKeyDown: handleKeyDown
171
171
  }
172
172
  ) : /* @__PURE__ */ jsxRuntime.jsx(
173
- chunkR7MS42PL_js.Textarea,
173
+ chunkVCOBBJLP_js.Textarea,
174
174
  {
175
175
  value: inputValue,
176
176
  placeholder,
@@ -182,7 +182,7 @@ var ChatWindow = ({
182
182
  onKeyDown: handleKeyDown
183
183
  }
184
184
  ) }),
185
- /* @__PURE__ */ jsxRuntime.jsx(chunkA3DJSVTE_js.Button, { disabled: !canSend, onClick: handleSend, "aria-label": sendAriaLabel ?? sendText, children: sendText })
185
+ /* @__PURE__ */ jsxRuntime.jsx(chunkF24IF2QL_js.Button, { disabled: !canSend, onClick: handleSend, "aria-label": sendAriaLabel ?? sendText, children: sendText })
186
186
  ] })
187
187
  ] });
188
188
  };
@@ -16,20 +16,22 @@ var Row = ({
16
16
  style,
17
17
  ...divProps
18
18
  }) => {
19
- const { rowStyle } = tigercatCore.getGutterStyles(gutter);
20
- const rowClasses = tigercatCore.classNames(
21
- "flex",
22
- "w-full",
23
- wrap && "flex-wrap",
24
- tigercatCore.getAlignClasses(align),
25
- tigercatCore.getJustifyClasses(justify),
26
- className
19
+ const rowClasses = react.useMemo(
20
+ () => tigercatCore.classNames(
21
+ "flex",
22
+ "w-full",
23
+ wrap && "flex-wrap",
24
+ tigercatCore.getAlignClasses(align),
25
+ tigercatCore.getJustifyClasses(justify),
26
+ className
27
+ ),
28
+ [wrap, align, justify, className]
27
29
  );
28
- const mergedStyle = {
29
- ...rowStyle,
30
- ...style
31
- };
32
- const contextValue = { gutter };
30
+ const mergedStyle = react.useMemo(
31
+ () => ({ ...tigercatCore.getGutterStyles(gutter).rowStyle, ...style }),
32
+ [gutter, style]
33
+ );
34
+ const contextValue = react.useMemo(() => ({ gutter }), [gutter]);
33
35
  return /* @__PURE__ */ jsxRuntime.jsx(RowContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: rowClasses, style: mergedStyle, ...divProps, children }) });
34
36
  };
35
37
 
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkHDDBBZQH_js = require('./chunk-HDDBBZQH.js');
4
- var chunkOZLGNWET_js = require('./chunk-OZLGNWET.js');
5
- var chunkA3DJSVTE_js = require('./chunk-A3DJSVTE.js');
6
- var chunk6MGEGOYJ_js = require('./chunk-6MGEGOYJ.js');
7
- var chunkYYGTJKP5_js = require('./chunk-YYGTJKP5.js');
8
- var chunkVO4WDK4K_js = require('./chunk-VO4WDK4K.js');
3
+ var chunkYV6Y7C43_js = require('./chunk-YV6Y7C43.js');
4
+ var chunkQ57BYUUW_js = require('./chunk-Q57BYUUW.js');
5
+ var chunkF24IF2QL_js = require('./chunk-F24IF2QL.js');
6
+ var chunk2GKTVAAB_js = require('./chunk-2GKTVAAB.js');
7
+ var chunkI5TCE5E7_js = require('./chunk-I5TCE5E7.js');
8
+ var chunkSSQOCZ6O_js = require('./chunk-SSQOCZ6O.js');
9
9
  var react = require('react');
10
10
  var tigercatCore = require('@expcat/tigercat-core');
11
11
  var jsxRuntime = require('react/jsx-runtime');
@@ -158,13 +158,13 @@ var NotificationCenter = ({
158
158
  children: [
159
159
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
160
160
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-baseline justify-between gap-2", children: [
161
- /* @__PURE__ */ jsxRuntime.jsx(chunkYYGTJKP5_js.Text, { tag: "span", size: "sm", weight: isRead ? "normal" : "semibold", children: item.title }),
161
+ /* @__PURE__ */ jsxRuntime.jsx(chunkI5TCE5E7_js.Text, { tag: "span", size: "sm", weight: isRead ? "normal" : "semibold", children: item.title }),
162
162
  timeText ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-[var(--tiger-text-muted,#6b7280)] whitespace-nowrap flex-shrink-0", children: timeText }) : null
163
163
  ] }),
164
164
  item.description ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-0.5 text-xs text-[var(--tiger-text-muted,#6b7280)] line-clamp-2 leading-relaxed", children: item.description }) : null
165
165
  ] }),
166
166
  /* @__PURE__ */ jsxRuntime.jsx(
167
- chunkA3DJSVTE_js.Button,
167
+ chunkF24IF2QL_js.Button,
168
168
  {
169
169
  size: "sm",
170
170
  variant: "ghost",
@@ -187,7 +187,7 @@ var NotificationCenter = ({
187
187
  );
188
188
  };
189
189
  const renderList = (listItems) => /* @__PURE__ */ jsxRuntime.jsx(
190
- chunkOZLGNWET_js.List,
190
+ chunkQ57BYUUW_js.List,
191
191
  {
192
192
  dataSource: listItems,
193
193
  split: true,
@@ -203,7 +203,7 @@ var NotificationCenter = ({
203
203
  { key: "unread", label: unreadLabel },
204
204
  { key: "read", label: readLabel }
205
205
  ];
206
- const content = loading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(chunk6MGEGOYJ_js.Loading, { text: loadingText }) }) : resolvedGroups.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "-mx-4 -mb-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkHDDBBZQH_js.Tabs, { type: "line", size: "small", activeKey: currentGroupKey, onChange: handleGroupChange, children: resolvedGroups.map((group, index) => {
206
+ const content = loading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(chunk2GKTVAAB_js.Loading, { text: loadingText }) }) : resolvedGroups.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "-mx-4 -mb-4", children: /* @__PURE__ */ jsxRuntime.jsx(chunkYV6Y7C43_js.Tabs, { type: "line", size: "small", activeKey: currentGroupKey, onChange: handleGroupChange, children: resolvedGroups.map((group, index) => {
207
207
  const effectiveGroup = effectiveGroups.find(
208
208
  (eg, ei) => getGroupKey(eg, ei) === getGroupKey(group, index)
209
209
  );
@@ -212,7 +212,7 @@ var NotificationCenter = ({
212
212
  const labelBase = group.title || String(group.key ?? index);
213
213
  const label = unreadCount > 0 ? `${labelBase} (${unreadCount})` : labelBase;
214
214
  return /* @__PURE__ */ jsxRuntime.jsx(
215
- chunkHDDBBZQH_js.TabPane,
215
+ chunkYV6Y7C43_js.TabPane,
216
216
  {
217
217
  tabKey: getGroupKey(group, index),
218
218
  label,
@@ -222,17 +222,17 @@ var NotificationCenter = ({
222
222
  );
223
223
  }) }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "-mx-4 -mb-4 max-h-[380px] overflow-y-auto", children: renderList(filterItems(effectiveItems, currentReadFilter)) });
224
224
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: wrapperClasses, ...props, "data-tiger-notification-center": true, children: /* @__PURE__ */ jsxRuntime.jsx(
225
- chunkVO4WDK4K_js.Card,
225
+ chunkSSQOCZ6O_js.Card,
226
226
  {
227
227
  variant: "bordered",
228
228
  className: "w-full",
229
229
  header: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-3", children: [
230
230
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
231
231
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2.5", children: [
232
- /* @__PURE__ */ jsxRuntime.jsx(chunkYYGTJKP5_js.Text, { tag: "div", size: "base", weight: "bold", children: title }),
232
+ /* @__PURE__ */ jsxRuntime.jsx(chunkI5TCE5E7_js.Text, { tag: "div", size: "base", weight: "bold", children: title }),
233
233
  totalUnread > 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center justify-center min-w-[20px] h-5 px-1.5 text-xs font-semibold rounded-full bg-[var(--tiger-primary,#2563eb)] text-white", children: totalUnread }) : null
234
234
  ] }),
235
- /* @__PURE__ */ jsxRuntime.jsx(chunkA3DJSVTE_js.Button, { size: "sm", variant: "ghost", disabled: !hasUnread, onClick: handleMarkAllRead, children: markAllReadText })
235
+ /* @__PURE__ */ jsxRuntime.jsx(chunkF24IF2QL_js.Button, { size: "sm", variant: "ghost", disabled: !hasUnread, onClick: handleMarkAllRead, children: markAllReadText })
236
236
  ] }),
237
237
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-flex rounded-md border border-[var(--tiger-border,#e5e7eb)] overflow-hidden self-start", children: filterButtons.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
238
238
  "button",
@@ -35,9 +35,11 @@ var Form = React.forwardRef(
35
35
  const [errors, setErrors] = React.useState([]);
36
36
  const [formValues, setFormValues] = React.useState(model);
37
37
  const fieldRulesRef = React__default.default.useRef({});
38
+ const formValuesRef = React__default.default.useRef(model);
38
39
  React__default.default.useEffect(() => {
39
40
  setFormValues(model);
40
41
  }, [model]);
42
+ formValuesRef.current = model;
41
43
  const registerFieldRules = React.useCallback(
42
44
  (fieldName, nextRules) => {
43
45
  if (!fieldName) {
@@ -57,15 +59,36 @@ var Form = React.forwardRef(
57
59
  const merged = { ...fromForm, ...fromItems };
58
60
  return Object.keys(merged).length > 0 ? merged : void 0;
59
61
  }, [rules]);
62
+ const resolveFieldRules = React.useCallback(
63
+ (fieldName, rulesOverride) => {
64
+ return rulesOverride ?? fieldRulesRef.current[fieldName] ?? rules?.[fieldName];
65
+ },
66
+ [rules]
67
+ );
68
+ const runFieldValidation = React.useCallback(
69
+ async (fieldName, rulesOverride, trigger) => {
70
+ const fieldRules = resolveFieldRules(fieldName, rulesOverride);
71
+ if (!fieldRules) {
72
+ return null;
73
+ }
74
+ const currentValues = formValuesRef.current;
75
+ const value = tigercatCore.getValueByPath(currentValues, fieldName);
76
+ return tigercatCore.validateField(fieldName, value, fieldRules, currentValues, trigger);
77
+ },
78
+ [resolveFieldRules]
79
+ );
60
80
  const validateField = React.useCallback(
61
81
  async (fieldName, rulesOverride, trigger) => {
62
- const fieldRules = rulesOverride ?? fieldRulesRef.current[fieldName] ?? rules?.[fieldName];
82
+ const fieldRules = resolveFieldRules(fieldName, rulesOverride);
63
83
  if (!fieldRules) {
64
84
  return;
65
85
  }
66
- const value = tigercatCore.getValueByPath(formValues, fieldName);
67
- const error = await tigercatCore.validateField(fieldName, value, fieldRules, formValues, trigger);
86
+ const error = await runFieldValidation(fieldName, rulesOverride, trigger);
68
87
  setErrors((prevErrors) => {
88
+ const existing = prevErrors.find((e) => e.field === fieldName);
89
+ const existingMessage = existing?.message ?? null;
90
+ if (!error && !existingMessage) return prevErrors;
91
+ if (error && error === existingMessage) return prevErrors;
69
92
  const filtered = prevErrors.filter((e) => e.field !== fieldName);
70
93
  if (error) {
71
94
  return [...filtered, { field: fieldName, message: error }];
@@ -74,18 +97,49 @@ var Form = React.forwardRef(
74
97
  });
75
98
  onValidate?.(fieldName, !error, error);
76
99
  },
77
- [rules, formValues, onValidate]
100
+ [resolveFieldRules, runFieldValidation, onValidate]
78
101
  );
79
- const validate = React.useCallback(async () => {
102
+ const runValidation = React.useCallback(async () => {
80
103
  const effectiveRules = getEffectiveRules();
81
104
  if (!effectiveRules) {
82
105
  setErrors([]);
83
- return true;
106
+ return { valid: true, errors: [] };
84
107
  }
85
- const result = await tigercatCore.validateForm(formValues, effectiveRules);
108
+ const result = await tigercatCore.validateForm(formValuesRef.current, effectiveRules);
86
109
  setErrors(result.errors);
110
+ return result;
111
+ }, [getEffectiveRules]);
112
+ const validate = React.useCallback(async () => {
113
+ const result = await runValidation();
87
114
  return result.valid;
88
- }, [getEffectiveRules, formValues]);
115
+ }, [runValidation]);
116
+ const validateFields = React.useCallback(
117
+ async (fieldNames) => {
118
+ if (!fieldNames || fieldNames.length === 0) {
119
+ return true;
120
+ }
121
+ const nextErrors = [];
122
+ const fieldSet = new Set(fieldNames);
123
+ for (const fieldName of fieldNames) {
124
+ const fieldRules = resolveFieldRules(fieldName);
125
+ if (!fieldRules) {
126
+ onValidate?.(fieldName, true, null);
127
+ continue;
128
+ }
129
+ const error = await runFieldValidation(fieldName);
130
+ if (error) {
131
+ nextErrors.push({ field: fieldName, message: error });
132
+ }
133
+ onValidate?.(fieldName, !error, error);
134
+ }
135
+ setErrors((prevErrors) => {
136
+ const filtered = prevErrors.filter((entry) => !fieldSet.has(entry.field));
137
+ return [...filtered, ...nextErrors];
138
+ });
139
+ return nextErrors.length === 0;
140
+ },
141
+ [resolveFieldRules, runFieldValidation, onValidate]
142
+ );
89
143
  const clearValidate = React.useCallback((fieldNames) => {
90
144
  if (!fieldNames) {
91
145
  setErrors([]);
@@ -135,31 +189,21 @@ var Form = React.forwardRef(
135
189
  const handleSubmit = React.useCallback(
136
190
  async (event) => {
137
191
  event.preventDefault();
138
- const effectiveRules = getEffectiveRules();
139
- if (!effectiveRules) {
140
- setErrors([]);
141
- onSubmit?.({ valid: true, values: formValues, errors: [] });
142
- return;
143
- }
144
- const result = await tigercatCore.validateForm(formValues, effectiveRules);
145
- setErrors(result.errors);
146
- onSubmit?.({
147
- valid: result.valid,
148
- values: formValues,
149
- errors: result.errors
150
- });
192
+ const result = await runValidation();
193
+ onSubmit?.({ ...result, values: formValuesRef.current });
151
194
  },
152
- [getEffectiveRules, formValues, onSubmit]
195
+ [runValidation, onSubmit]
153
196
  );
154
197
  React.useImperativeHandle(
155
198
  ref,
156
199
  () => ({
157
200
  validate,
201
+ validateFields,
158
202
  validateField,
159
203
  clearValidate,
160
204
  resetFields
161
205
  }),
162
- [validate, validateField, clearValidate, resetFields]
206
+ [validate, validateFields, validateField, clearValidate, resetFields]
163
207
  );
164
208
  const contextValue = React.useMemo(
165
209
  () => ({
@@ -43,39 +43,26 @@ var Tabs = ({
43
43
  const tabNavListClasses = React.useMemo(() => {
44
44
  return tigercatCore.getTabNavListClasses(tabPosition, centered);
45
45
  }, [tabPosition, centered]);
46
- const tabContentClasses = React.useMemo(() => {
47
- return tigercatCore.tabContentBaseClasses;
48
- }, []);
49
46
  const { tabItems, tabPanes, firstTabKey } = React.useMemo(() => {
50
47
  const items = [];
51
48
  const panes = [];
52
49
  let firstKey;
53
- const childrenArray = [];
54
50
  React__default.default.Children.forEach(children, (child) => {
55
- if (React__default.default.isValidElement(child) && child.type === TabPane) {
56
- childrenArray.push(child);
57
- }
58
- });
59
- const resolvedFirstKey = childrenArray[0]?.props.tabKey;
60
- if (resolvedFirstKey !== void 0) {
61
- firstKey = resolvedFirstKey;
62
- }
63
- const resolvedActiveKey = controlledActiveKey !== void 0 ? controlledActiveKey : defaultActiveKey !== void 0 ? defaultActiveKey : firstKey;
64
- childrenArray.forEach((child) => {
65
- if (React__default.default.isValidElement(child) && child.type === TabPane) {
66
- const key = child.props.tabKey;
67
- const tabId = `${idBase}-tab-${String(key)}`;
68
- const panelId = `${idBase}-panel-${String(key)}`;
69
- items.push(
70
- React__default.default.cloneElement(child, {
71
- renderMode: "tab",
72
- tabId,
73
- panelId,
74
- tabIndex: key === resolvedActiveKey ? 0 : -1
75
- })
76
- );
77
- panes.push(React__default.default.cloneElement(child, { renderMode: "pane", tabId, panelId }));
78
- }
51
+ if (!React__default.default.isValidElement(child) || child.type !== TabPane) return;
52
+ const key = child.props.tabKey;
53
+ if (firstKey === void 0) firstKey = key;
54
+ const resolvedActiveKey = controlledActiveKey ?? defaultActiveKey ?? firstKey;
55
+ const tabId = `${idBase}-tab-${String(key)}`;
56
+ const panelId = `${idBase}-panel-${String(key)}`;
57
+ items.push(
58
+ React__default.default.cloneElement(child, {
59
+ renderMode: "tab",
60
+ tabId,
61
+ panelId,
62
+ tabIndex: key === resolvedActiveKey ? 0 : -1
63
+ })
64
+ );
65
+ panes.push(React__default.default.cloneElement(child, { renderMode: "pane", tabId, panelId }));
79
66
  });
80
67
  return { tabItems: items, tabPanes: panes, firstTabKey: firstKey };
81
68
  }, [children, controlledActiveKey, defaultActiveKey, idBase]);
@@ -127,38 +114,35 @@ var Tabs = ({
127
114
  handleTabClose
128
115
  ]
129
116
  );
130
- const tabNavContent = /* @__PURE__ */ jsxRuntime.jsx("div", { className: tabNavClasses, role: "tablist", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: tabNavListClasses, children: [
131
- tabItems,
132
- type === "editable-card" && /* @__PURE__ */ jsxRuntime.jsx(
133
- "button",
134
- {
135
- type: "button",
136
- className: tigercatCore.tabAddButtonClasses,
137
- onClick: handleTabAdd,
138
- "aria-label": "Add tab",
139
- children: "+"
140
- }
141
- )
142
- ] }) });
143
- const tabContent = /* @__PURE__ */ jsxRuntime.jsx("div", { className: tabContentClasses, children: tabPanes });
144
- let content;
145
- if (tabPosition === "left" || tabPosition === "right") {
146
- content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
147
- tabNavContent,
148
- tabContent
149
- ] });
150
- } else if (tabPosition === "bottom") {
151
- content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
152
- tabContent,
153
- tabNavContent
154
- ] });
155
- } else {
156
- content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
157
- tabNavContent,
158
- tabContent
159
- ] });
160
- }
161
- return /* @__PURE__ */ jsxRuntime.jsx(TabsContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerClasses, style, children: content }) });
117
+ const tabNavContent = /* @__PURE__ */ jsxRuntime.jsx(
118
+ "div",
119
+ {
120
+ className: tabNavClasses,
121
+ role: "tablist",
122
+ "aria-orientation": tabPosition === "left" || tabPosition === "right" ? "vertical" : "horizontal",
123
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: tabNavListClasses, children: [
124
+ tabItems,
125
+ type === "editable-card" && /* @__PURE__ */ jsxRuntime.jsx(
126
+ "button",
127
+ {
128
+ type: "button",
129
+ className: tigercatCore.tabAddButtonClasses,
130
+ onClick: handleTabAdd,
131
+ "aria-label": "Add tab",
132
+ children: "+"
133
+ }
134
+ )
135
+ ] })
136
+ }
137
+ );
138
+ const tabContent = /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.tabContentBaseClasses, children: tabPanes });
139
+ return /* @__PURE__ */ jsxRuntime.jsx(TabsContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerClasses, style, children: tabPosition === "bottom" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
140
+ tabContent,
141
+ tabNavContent
142
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
143
+ tabNavContent,
144
+ tabContent
145
+ ] }) }) });
162
146
  };
163
147
  var TabPane = ({
164
148
  tabKey,
@@ -185,7 +169,7 @@ var TabPane = ({
185
169
  return closable !== void 0 ? closable : tabsContext.closable && tabsContext.type === "editable-card";
186
170
  }, [closable, tabsContext.closable, tabsContext.type]);
187
171
  const tabItemClasses = React.useMemo(() => {
188
- return tigercatCore.classNames(tigercatCore.getTabItemClasses(isActive, disabled, tabsContext.type, tabsContext.size));
172
+ return tigercatCore.getTabItemClasses(isActive, disabled, tabsContext.type, tabsContext.size);
189
173
  }, [isActive, disabled, tabsContext.type, tabsContext.size]);
190
174
  const tabPaneClasses = React.useMemo(() => {
191
175
  return tigercatCore.classNames(tigercatCore.getTabPaneClasses(isActive), className);
@@ -286,9 +270,9 @@ var TabPane = ({
286
270
  children: /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: tigercatCore.closeIconViewBox, children: /* @__PURE__ */ jsxRuntime.jsx(
287
271
  "path",
288
272
  {
289
- strokeLinecap: tigercatCore.closeIconPathStrokeLinecap,
290
- strokeLinejoin: tigercatCore.closeIconPathStrokeLinejoin,
291
- strokeWidth: tigercatCore.closeIconPathStrokeWidth,
273
+ strokeLinecap: "round",
274
+ strokeLinejoin: "round",
275
+ strokeWidth: "2",
292
276
  d: tigercatCore.closeIconPathD
293
277
  }
294
278
  ) })
@@ -0,0 +1,171 @@
1
+ 'use strict';
2
+
3
+ var chunkNV3JUZ3N_js = require('./chunk-NV3JUZ3N.js');
4
+ var chunkGNMOOYHG_js = require('./chunk-GNMOOYHG.js');
5
+ var react = require('react');
6
+ var tigercatCore = require('@expcat/tigercat-core');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ var SvgIcon = ({ d, className = "w-8 h-8" }) => /* @__PURE__ */ jsxRuntime.jsx(
10
+ "svg",
11
+ {
12
+ className,
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ fill: "none",
15
+ viewBox: "0 0 24 24",
16
+ stroke: "currentColor",
17
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", d })
18
+ }
19
+ );
20
+ var Image = ({
21
+ src,
22
+ alt = "",
23
+ width,
24
+ height,
25
+ fit = "cover",
26
+ fallbackSrc,
27
+ preview = true,
28
+ lazy = false,
29
+ className,
30
+ errorRender,
31
+ placeholderRender,
32
+ onPreviewVisibleChange,
33
+ onClick,
34
+ onKeyDown,
35
+ style,
36
+ ...props
37
+ }) => {
38
+ const [loading, setLoading] = react.useState(true);
39
+ const [error, setError] = react.useState(false);
40
+ const [actualSrc, setActualSrc] = react.useState(lazy ? "" : src);
41
+ const [previewVisible, setPreviewVisible] = react.useState(false);
42
+ const containerRef = react.useRef(null);
43
+ const group = react.useContext(chunkNV3JUZ3N_js.ImageGroupContext);
44
+ const registeredIndexRef = react.useRef(-1);
45
+ react.useEffect(() => {
46
+ if (group && src) {
47
+ registeredIndexRef.current = group.register(src);
48
+ return () => {
49
+ group.unregister(src);
50
+ };
51
+ }
52
+ }, [group, src]);
53
+ react.useEffect(() => {
54
+ if (!lazy || !containerRef.current) return;
55
+ const observer = new IntersectionObserver(
56
+ (entries) => {
57
+ if (entries[0]?.isIntersecting) {
58
+ setActualSrc(src);
59
+ observer.disconnect();
60
+ }
61
+ },
62
+ { threshold: 0.01 }
63
+ );
64
+ observer.observe(containerRef.current);
65
+ return () => observer.disconnect();
66
+ }, [lazy, src]);
67
+ react.useEffect(() => {
68
+ if (!lazy) {
69
+ setActualSrc(src);
70
+ setError(false);
71
+ setLoading(true);
72
+ }
73
+ }, [src, lazy]);
74
+ const handleLoad = react.useCallback(() => {
75
+ setLoading(false);
76
+ setError(false);
77
+ }, []);
78
+ const handleError = react.useCallback(() => {
79
+ setLoading(false);
80
+ setError(true);
81
+ if (fallbackSrc && actualSrc !== fallbackSrc) {
82
+ setActualSrc(fallbackSrc);
83
+ setError(false);
84
+ setLoading(true);
85
+ }
86
+ }, [fallbackSrc, actualSrc]);
87
+ const handleClick = react.useCallback(
88
+ (e) => {
89
+ onClick?.(e);
90
+ if (!preview) return;
91
+ if (group) {
92
+ group.openPreview(registeredIndexRef.current >= 0 ? registeredIndexRef.current : 0);
93
+ } else {
94
+ setPreviewVisible(true);
95
+ onPreviewVisibleChange?.(true);
96
+ }
97
+ },
98
+ [preview, group, onClick, onPreviewVisibleChange]
99
+ );
100
+ const handleKeyDown = react.useCallback(
101
+ (e) => {
102
+ onKeyDown?.(e);
103
+ if (preview && (e.key === "Enter" || e.key === " ")) {
104
+ e.preventDefault();
105
+ handleClick(e);
106
+ }
107
+ },
108
+ [preview, handleClick, onKeyDown]
109
+ );
110
+ const containerClasses = react.useMemo(
111
+ () => tigercatCore.classNames(tigercatCore.imageBaseClasses, preview && tigercatCore.imagePreviewCursorClass, className),
112
+ [preview, className]
113
+ );
114
+ const imgClasses = react.useMemo(() => tigercatCore.getImageImgClasses(fit), [fit]);
115
+ const containerStyle = react.useMemo(() => {
116
+ const s = { ...style };
117
+ const w = tigercatCore.toCSSSize(width);
118
+ const h = tigercatCore.toCSSSize(height);
119
+ if (w) s.width = w;
120
+ if (h) s.height = h;
121
+ return s;
122
+ }, [width, height, style]);
123
+ let content;
124
+ if (error && !fallbackSrc) {
125
+ content = errorRender || /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.imageErrorClasses, children: /* @__PURE__ */ jsxRuntime.jsx(SvgIcon, { d: tigercatCore.imageErrorIconPath }) });
126
+ } else if (loading && !actualSrc) {
127
+ content = placeholderRender || /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.imageLoadingClasses, children: /* @__PURE__ */ jsxRuntime.jsx(SvgIcon, { d: tigercatCore.imageErrorIconPath }) });
128
+ } else {
129
+ content = /* @__PURE__ */ jsxRuntime.jsx(
130
+ "img",
131
+ {
132
+ src: actualSrc,
133
+ alt,
134
+ className: imgClasses,
135
+ onLoad: handleLoad,
136
+ onError: handleError
137
+ }
138
+ );
139
+ }
140
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
141
+ /* @__PURE__ */ jsxRuntime.jsx(
142
+ "div",
143
+ {
144
+ ...props,
145
+ ref: containerRef,
146
+ className: containerClasses,
147
+ style: containerStyle,
148
+ role: preview ? "button" : void 0,
149
+ tabIndex: preview ? 0 : void 0,
150
+ "aria-label": preview ? `Preview ${alt || "image"}` : void 0,
151
+ onClick: handleClick,
152
+ onKeyDown: handleKeyDown,
153
+ children: content
154
+ }
155
+ ),
156
+ !group && previewVisible && src && /* @__PURE__ */ jsxRuntime.jsx(
157
+ chunkGNMOOYHG_js.ImagePreview,
158
+ {
159
+ visible: previewVisible,
160
+ images: [src],
161
+ currentIndex: 0,
162
+ onVisibleChange: (val) => {
163
+ setPreviewVisible(val);
164
+ onPreviewVisibleChange?.(val);
165
+ }
166
+ }
167
+ )
168
+ ] });
169
+ };
170
+
171
+ exports.Image = Image;