@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,4 +1,4 @@
1
- import { DropdownContext } from './chunk-YGOTPK2W.mjs';
1
+ import { DropdownContext } from './chunk-WGRYO5HX.mjs';
2
2
  import { useContext } from 'react';
3
3
  import { classNames, getDropdownItemClasses } from '@expcat/tigercat-core';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -5,8 +5,8 @@ import { ChartLegend } from './chunk-Z6F67MJE.mjs';
5
5
  import { ChartSeries } from './chunk-SDLMB34Y.mjs';
6
6
  import { ChartTooltip } from './chunk-LVC43YX2.mjs';
7
7
  import { ChartAxis } from './chunk-RQSQXQN6.mjs';
8
- import { useMemo, useCallback } from 'react';
9
- import { getChartInnerRect, getNumberExtent, createLinearScale, DEFAULT_CHART_COLORS, getChartElementOpacity, classNames } from '@expcat/tigercat-core';
8
+ import { useRef, useState, useEffect, useMemo } from 'react';
9
+ import { getScatterGradientPrefix, getChartInnerRect, getNumberExtent, createLinearScale, resolveChartPalette, getChartElementOpacity, getScatterHoverSize, buildChartLegendItems, resolveChartTooltipContent, classNames, SCATTER_ENTRANCE_KEYFRAMES, getScatterHoverShadow, SCATTER_ENTRANCE_CLASS, scatterPointTransitionClasses, getScatterPointPath } from '@expcat/tigercat-core';
10
10
  import { jsxs, jsx } from 'react/jsx-runtime';
11
11
 
12
12
  var ScatterChart = ({
@@ -16,9 +16,14 @@ var ScatterChart = ({
16
16
  data,
17
17
  xScale,
18
18
  yScale,
19
- pointSize = 4,
19
+ pointSize = 6,
20
20
  pointColor = "var(--tiger-primary,#2563eb)",
21
21
  pointOpacity,
22
+ pointStyle = "circle",
23
+ gradient = false,
24
+ animated = false,
25
+ pointBorderWidth = 0,
26
+ pointBorderColor = "white",
22
27
  showGrid = true,
23
28
  showAxis = true,
24
29
  showXAxis = true,
@@ -34,7 +39,7 @@ var ScatterChart = ({
34
39
  yTickFormat,
35
40
  gridLineStyle = "solid",
36
41
  gridStrokeWidth = 1,
37
- // Interaction props
42
+ // Interaction
38
43
  hoverable = false,
39
44
  hoveredIndex: hoveredIndexProp,
40
45
  onHoveredIndexChange,
@@ -45,13 +50,13 @@ var ScatterChart = ({
45
50
  onSelectedIndexChange,
46
51
  onPointClick,
47
52
  onPointHover,
48
- // Legend props
53
+ // Legend
49
54
  showLegend = false,
50
55
  legendPosition = "bottom",
51
56
  legendMarkerSize = 10,
52
57
  legendGap = 8,
53
58
  legendFormatter,
54
- // Tooltip props
59
+ // Tooltip
55
60
  showTooltip = true,
56
61
  tooltipFormatter,
57
62
  // Other
@@ -60,6 +65,12 @@ var ScatterChart = ({
60
65
  desc,
61
66
  className
62
67
  }) => {
68
+ const gradientPrefixRef = useRef(getScatterGradientPrefix());
69
+ const gradientPrefix = gradientPrefixRef.current;
70
+ const [mounted, setMounted] = useState(false);
71
+ useEffect(() => {
72
+ if (animated) setMounted(true);
73
+ }, [animated]);
63
74
  const {
64
75
  tooltipPosition,
65
76
  resolvedHoveredIndex,
@@ -87,9 +98,7 @@ var ScatterChart = ({
87
98
  onPointHover?.(index, index !== null ? data[index] : null);
88
99
  },
89
100
  onSelectedIndexChange,
90
- callbacks: {
91
- onClick: onPointClick
92
- }
101
+ callbacks: { onClick: onPointClick }
93
102
  });
94
103
  const innerRect = useMemo(
95
104
  () => getChartInnerRect(width, height, padding),
@@ -107,10 +116,7 @@ var ScatterChart = ({
107
116
  const extent = getNumberExtent(yValues, { includeZero });
108
117
  return createLinearScale(extent, [innerRect.height, 0]);
109
118
  }, [yScale, yValues, includeZero, innerRect.height]);
110
- const palette = useMemo(
111
- () => colors && colors.length > 0 ? colors : pointColor ? [pointColor] : [...DEFAULT_CHART_COLORS],
112
- [colors, pointColor]
113
- );
119
+ const palette = useMemo(() => resolveChartPalette(colors, pointColor), [colors, pointColor]);
114
120
  const points = useMemo(
115
121
  () => data.map((item, index) => {
116
122
  const color = item.color ?? palette[index % palette.length];
@@ -118,12 +124,17 @@ var ScatterChart = ({
118
124
  activeOpacity,
119
125
  inactiveOpacity
120
126
  });
127
+ const isHovered = resolvedHoveredIndex === index;
128
+ const baseSize = item.size ?? pointSize;
129
+ const r = isHovered ? getScatterHoverSize(baseSize) : baseSize;
121
130
  return {
122
131
  cx: resolvedXScale.map(item.x),
123
132
  cy: resolvedYScale.map(item.y),
124
- r: item.size ?? pointSize,
133
+ r,
134
+ baseSize,
125
135
  color,
126
136
  opacity: pointOpacity ?? opacity,
137
+ isHovered,
127
138
  datum: item
128
139
  };
129
140
  }),
@@ -133,6 +144,7 @@ var ScatterChart = ({
133
144
  activeIndex,
134
145
  activeOpacity,
135
146
  inactiveOpacity,
147
+ resolvedHoveredIndex,
136
148
  resolvedXScale,
137
149
  resolvedYScale,
138
150
  pointSize,
@@ -140,29 +152,25 @@ var ScatterChart = ({
140
152
  ]
141
153
  );
142
154
  const legendItems = useMemo(
143
- () => data.map((item, index) => ({
144
- index,
145
- label: legendFormatter ? legendFormatter(item, index) : item.label ?? `(${item.x}, ${item.y})`,
146
- color: item.color ?? palette[index % palette.length],
147
- active: activeIndex === null || activeIndex === index
148
- })),
155
+ () => buildChartLegendItems({
156
+ data,
157
+ palette,
158
+ activeIndex,
159
+ getLabel: (d, i) => legendFormatter ? legendFormatter(d, i) : d.label ?? `(${d.x}, ${d.y})`,
160
+ getColor: (d, i) => d.color ?? palette[i % palette.length]
161
+ }),
149
162
  [data, legendFormatter, palette, activeIndex]
150
163
  );
151
- const formatTooltip = useCallback(
152
- (datum, index) => {
153
- if (tooltipFormatter) return tooltipFormatter(datum, index);
164
+ const tooltipContent = useMemo(
165
+ () => resolveChartTooltipContent(resolvedHoveredIndex, data, tooltipFormatter, (datum, index) => {
154
166
  const label = datum.label ?? `Point ${index + 1}`;
155
167
  return `${label}: (${datum.x}, ${datum.y})`;
156
- },
157
- [tooltipFormatter]
168
+ }),
169
+ [resolvedHoveredIndex, data, tooltipFormatter]
158
170
  );
159
- const tooltipContent = useMemo(() => {
160
- if (resolvedHoveredIndex === null) return "";
161
- const datum = data[resolvedHoveredIndex];
162
- return datum ? formatTooltip(datum, resolvedHoveredIndex) : "";
163
- }, [resolvedHoveredIndex, data, formatTooltip]);
164
171
  const shouldShowXAxis = showAxis && showXAxis;
165
172
  const shouldShowYAxis = showAxis && showYAxis;
173
+ const interactive = hoverable || selectable;
166
174
  const chart = /* @__PURE__ */ jsxs(
167
175
  ChartCanvas,
168
176
  {
@@ -173,6 +181,22 @@ var ScatterChart = ({
173
181
  desc,
174
182
  className: classNames(className),
175
183
  children: [
184
+ gradient && /* @__PURE__ */ jsx("defs", { children: palette.map((color, i) => /* @__PURE__ */ jsxs(
185
+ "radialGradient",
186
+ {
187
+ id: `${gradientPrefix}-${i}`,
188
+ cx: "35%",
189
+ cy: "35%",
190
+ r: "65%",
191
+ children: [
192
+ /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: "#fff", stopOpacity: 0.5 }),
193
+ /* @__PURE__ */ jsx("stop", { offset: "50%", stopColor: color, stopOpacity: 0.95 }),
194
+ /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: color, stopOpacity: 1 })
195
+ ]
196
+ },
197
+ `grad-${i}`
198
+ )) }),
199
+ animated && mounted && /* @__PURE__ */ jsx("style", { children: SCATTER_ENTRANCE_KEYFRAMES }),
176
200
  showGrid && /* @__PURE__ */ jsx(
177
201
  ChartGrid,
178
202
  {
@@ -210,18 +234,24 @@ var ScatterChart = ({
210
234
  label: yAxisLabel
211
235
  }
212
236
  ),
213
- /* @__PURE__ */ jsx(ChartSeries, { data, type: "scatter", children: points.map((point, index) => /* @__PURE__ */ jsx(
214
- "circle",
215
- {
216
- cx: point.cx,
217
- cy: point.cy,
218
- r: point.r,
219
- fill: point.color,
237
+ /* @__PURE__ */ jsx(ChartSeries, { data, type: "scatter", children: points.map((point, index) => {
238
+ const paletteIdx = index % palette.length;
239
+ const fill = gradient ? `url(#${gradientPrefix}-${paletteIdx})` : point.color;
240
+ const filterStyle = point.isHovered ? getScatterHoverShadow(point.color) : void 0;
241
+ const animDelay = animated && mounted ? `${index * 60}ms` : void 0;
242
+ const styleObj = {
243
+ ...filterStyle ? { filter: filterStyle } : {},
244
+ ...animDelay ? {
245
+ animation: `${SCATTER_ENTRANCE_CLASS} 500ms cubic-bezier(.34,1.56,.64,1) ${animDelay} both`
246
+ } : {}
247
+ };
248
+ const sharedProps = {
249
+ fill,
220
250
  opacity: point.opacity,
221
- className: classNames(
222
- "transition-opacity duration-150",
223
- (hoverable || selectable) && "cursor-pointer"
224
- ),
251
+ stroke: pointBorderColor,
252
+ strokeWidth: pointBorderWidth,
253
+ className: classNames(scatterPointTransitionClasses, interactive && "cursor-pointer"),
254
+ style: Object.keys(styleObj).length > 0 ? styleObj : void 0,
225
255
  tabIndex: selectable ? 0 : void 0,
226
256
  role: selectable ? "button" : "img",
227
257
  "aria-label": point.datum.label ?? `Point ${index + 1}: (${point.datum.x}, ${point.datum.y})`,
@@ -231,9 +261,29 @@ var ScatterChart = ({
231
261
  onMouseLeave: handleMouseLeave,
232
262
  onClick: () => handleClick(index),
233
263
  onKeyDown: (e) => handleKeyDown(e, index)
234
- },
235
- `point-${index}`
236
- )) })
264
+ };
265
+ if (pointStyle === "circle") {
266
+ return /* @__PURE__ */ jsx(
267
+ "circle",
268
+ {
269
+ cx: point.cx,
270
+ cy: point.cy,
271
+ r: point.r,
272
+ ...sharedProps
273
+ },
274
+ `point-${index}`
275
+ );
276
+ }
277
+ return /* @__PURE__ */ jsx(
278
+ "path",
279
+ {
280
+ d: getScatterPointPath(pointStyle, point.r),
281
+ transform: `translate(${point.cx},${point.cy})`,
282
+ ...sharedProps
283
+ },
284
+ `point-${index}`
285
+ );
286
+ }) })
237
287
  ]
238
288
  }
239
289
  );
@@ -261,7 +311,7 @@ var ScatterChart = ({
261
311
  position: legendPosition,
262
312
  markerSize: legendMarkerSize,
263
313
  gap: legendGap,
264
- interactive: hoverable || selectable,
314
+ interactive,
265
315
  onItemClick: handleLegendClick,
266
316
  onItemHover: handleLegendHover,
267
317
  onItemLeave: handleLegendLeave
@@ -0,0 +1,353 @@
1
+ import { forwardRef, useRef, useState, useEffect, useImperativeHandle, useCallback, useMemo } from 'react';
2
+ import { getInitialCropRect, cropCanvas, classNames, imageCropperContainerClasses, CROP_HANDLES, imageCropperImgClasses, imageCropperMaskClasses, imageCropperSelectionClasses, imageCropperDragAreaClasses, imageCropperGuideClasses, getCropperHandleClasses, moveCropRect, resizeCropRect } from '@expcat/tigercat-core';
3
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
+
5
+ // src/components/ImageCropper.tsx
6
+ var ImageCropper = forwardRef(
7
+ ({
8
+ src,
9
+ aspectRatio,
10
+ minWidth = 20,
11
+ minHeight = 20,
12
+ outputType = "image/png",
13
+ quality = 0.92,
14
+ guides = true,
15
+ className,
16
+ style,
17
+ onCropChange,
18
+ onReady
19
+ }, ref) => {
20
+ const containerRef = useRef(null);
21
+ const imageRef = useRef(null);
22
+ const [imageLoaded, setImageLoaded] = useState(false);
23
+ const [displayWidth, setDisplayWidth] = useState(0);
24
+ const [displayHeight, setDisplayHeight] = useState(0);
25
+ const [cropRect, setCropRect] = useState({ x: 0, y: 0, width: 0, height: 0 });
26
+ const dragModeRef = useRef("none");
27
+ const activeHandleRef = useRef(null);
28
+ const dragStartPosRef = useRef({ x: 0, y: 0 });
29
+ const dragStartRectRef = useRef({ x: 0, y: 0, width: 0, height: 0 });
30
+ const displayDimsRef = useRef({ w: 0, h: 0 });
31
+ useEffect(() => {
32
+ displayDimsRef.current = { w: displayWidth, h: displayHeight };
33
+ }, [displayWidth, displayHeight]);
34
+ useEffect(() => {
35
+ setImageLoaded(false);
36
+ const img = new window.Image();
37
+ img.crossOrigin = "anonymous";
38
+ img.onload = () => {
39
+ imageRef.current = img;
40
+ const container = containerRef.current;
41
+ const containerW = container ? container.clientWidth : img.naturalWidth;
42
+ const containerH = container ? container.clientHeight || 400 : img.naturalHeight;
43
+ const ratio = Math.min(containerW / img.naturalWidth, containerH / img.naturalHeight, 1);
44
+ const dw = img.naturalWidth * ratio;
45
+ const dh = img.naturalHeight * ratio;
46
+ setDisplayWidth(dw);
47
+ setDisplayHeight(dh);
48
+ displayDimsRef.current = { w: dw, h: dh };
49
+ const initial = getInitialCropRect(dw, dh, aspectRatio);
50
+ setCropRect(initial);
51
+ setImageLoaded(true);
52
+ onReady?.();
53
+ };
54
+ img.src = src;
55
+ }, [src, aspectRatio, onReady]);
56
+ useImperativeHandle(
57
+ ref,
58
+ () => ({
59
+ getCropResult: () => {
60
+ return new Promise((resolve, reject) => {
61
+ if (!imageRef.current) {
62
+ reject(new Error("Image not loaded"));
63
+ return;
64
+ }
65
+ const { canvas, dataUrl } = cropCanvas(
66
+ imageRef.current,
67
+ cropRect,
68
+ displayWidth,
69
+ displayHeight,
70
+ outputType,
71
+ quality
72
+ );
73
+ canvas.toBlob(
74
+ (blob) => {
75
+ if (blob) {
76
+ resolve({ canvas, blob, dataUrl, cropRect: { ...cropRect } });
77
+ } else {
78
+ reject(new Error("Failed to create blob"));
79
+ }
80
+ },
81
+ outputType,
82
+ quality
83
+ );
84
+ });
85
+ }
86
+ }),
87
+ [cropRect, displayWidth, displayHeight, outputType, quality]
88
+ );
89
+ const handleMouseDown = useCallback(
90
+ (e, mode, handle) => {
91
+ e.preventDefault();
92
+ e.stopPropagation();
93
+ dragModeRef.current = mode;
94
+ activeHandleRef.current = handle || null;
95
+ dragStartPosRef.current = { x: e.clientX, y: e.clientY };
96
+ dragStartRectRef.current = { ...cropRect };
97
+ const onMouseMove = (ev) => {
98
+ const dx = ev.clientX - dragStartPosRef.current.x;
99
+ const dy = ev.clientY - dragStartPosRef.current.y;
100
+ const dims = displayDimsRef.current;
101
+ let newRect;
102
+ if (dragModeRef.current === "move") {
103
+ newRect = moveCropRect(dragStartRectRef.current, dx, dy, dims.w, dims.h);
104
+ } else {
105
+ newRect = resizeCropRect(
106
+ dragStartRectRef.current,
107
+ activeHandleRef.current,
108
+ dx,
109
+ dy,
110
+ dims.w,
111
+ dims.h,
112
+ aspectRatio,
113
+ minWidth,
114
+ minHeight
115
+ );
116
+ }
117
+ setCropRect(newRect);
118
+ onCropChange?.(newRect);
119
+ };
120
+ const onMouseUp = () => {
121
+ dragModeRef.current = "none";
122
+ activeHandleRef.current = null;
123
+ document.removeEventListener("mousemove", onMouseMove);
124
+ document.removeEventListener("mouseup", onMouseUp);
125
+ };
126
+ document.addEventListener("mousemove", onMouseMove);
127
+ document.addEventListener("mouseup", onMouseUp);
128
+ },
129
+ [cropRect, aspectRatio, minWidth, minHeight, onCropChange]
130
+ );
131
+ const handleTouchStart = useCallback(
132
+ (e, mode, handle) => {
133
+ if (e.touches.length !== 1) return;
134
+ e.preventDefault();
135
+ e.stopPropagation();
136
+ const touch = e.touches[0];
137
+ dragModeRef.current = mode;
138
+ activeHandleRef.current = handle || null;
139
+ dragStartPosRef.current = { x: touch.clientX, y: touch.clientY };
140
+ dragStartRectRef.current = { ...cropRect };
141
+ const onTouchMove = (ev) => {
142
+ if (ev.touches.length !== 1) return;
143
+ const t = ev.touches[0];
144
+ const dx = t.clientX - dragStartPosRef.current.x;
145
+ const dy = t.clientY - dragStartPosRef.current.y;
146
+ const dims = displayDimsRef.current;
147
+ let newRect;
148
+ if (dragModeRef.current === "move") {
149
+ newRect = moveCropRect(dragStartRectRef.current, dx, dy, dims.w, dims.h);
150
+ } else {
151
+ newRect = resizeCropRect(
152
+ dragStartRectRef.current,
153
+ activeHandleRef.current,
154
+ dx,
155
+ dy,
156
+ dims.w,
157
+ dims.h,
158
+ aspectRatio,
159
+ minWidth,
160
+ minHeight
161
+ );
162
+ }
163
+ setCropRect(newRect);
164
+ onCropChange?.(newRect);
165
+ };
166
+ const onTouchEnd = () => {
167
+ dragModeRef.current = "none";
168
+ activeHandleRef.current = null;
169
+ document.removeEventListener("touchmove", onTouchMove);
170
+ document.removeEventListener("touchend", onTouchEnd);
171
+ };
172
+ document.addEventListener("touchmove", onTouchMove, { passive: false });
173
+ document.addEventListener("touchend", onTouchEnd);
174
+ },
175
+ [cropRect, aspectRatio, minWidth, minHeight, onCropChange]
176
+ );
177
+ const containerClasses = useMemo(
178
+ () => classNames(imageCropperContainerClasses, className),
179
+ [className]
180
+ );
181
+ const cr = cropRect;
182
+ if (!imageLoaded) {
183
+ return /* @__PURE__ */ jsx(
184
+ "div",
185
+ {
186
+ ref: containerRef,
187
+ className: classNames(containerClasses, "flex items-center justify-center"),
188
+ style: { ...style, minHeight: "200px" },
189
+ role: "img",
190
+ "aria-label": "Loading image for cropping",
191
+ children: /* @__PURE__ */ jsx("div", { className: "w-8 h-8 border-2 border-white/30 border-t-white rounded-full animate-spin" })
192
+ }
193
+ );
194
+ }
195
+ return /* @__PURE__ */ jsxs(
196
+ "div",
197
+ {
198
+ ref: containerRef,
199
+ className: containerClasses,
200
+ style: {
201
+ ...style,
202
+ width: `${displayWidth}px`,
203
+ height: `${displayHeight}px`
204
+ },
205
+ role: "application",
206
+ "aria-label": "Image cropper",
207
+ "aria-roledescription": "image cropper",
208
+ children: [
209
+ /* @__PURE__ */ jsx(
210
+ "img",
211
+ {
212
+ src,
213
+ className: imageCropperImgClasses,
214
+ style: { width: `${displayWidth}px`, height: `${displayHeight}px` },
215
+ draggable: false,
216
+ alt: "Image to crop"
217
+ }
218
+ ),
219
+ /* @__PURE__ */ jsxs(
220
+ "svg",
221
+ {
222
+ className: imageCropperMaskClasses,
223
+ width: displayWidth,
224
+ height: displayHeight,
225
+ xmlns: "http://www.w3.org/2000/svg",
226
+ children: [
227
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("mask", { id: "crop-mask", children: [
228
+ /* @__PURE__ */ jsx("rect", { width: displayWidth, height: displayHeight, fill: "white" }),
229
+ /* @__PURE__ */ jsx("rect", { x: cr.x, y: cr.y, width: cr.width, height: cr.height, fill: "black" })
230
+ ] }) }),
231
+ /* @__PURE__ */ jsx(
232
+ "rect",
233
+ {
234
+ width: displayWidth,
235
+ height: displayHeight,
236
+ fill: "var(--tiger-image-cropper-mask, rgba(0,0,0,0.55))",
237
+ mask: "url(#crop-mask)"
238
+ }
239
+ )
240
+ ]
241
+ }
242
+ ),
243
+ /* @__PURE__ */ jsx(
244
+ "div",
245
+ {
246
+ className: imageCropperSelectionClasses,
247
+ style: {
248
+ left: `${cr.x}px`,
249
+ top: `${cr.y}px`,
250
+ width: `${cr.width}px`,
251
+ height: `${cr.height}px`
252
+ }
253
+ }
254
+ ),
255
+ /* @__PURE__ */ jsx(
256
+ "div",
257
+ {
258
+ className: imageCropperDragAreaClasses,
259
+ style: {
260
+ left: `${cr.x}px`,
261
+ top: `${cr.y}px`,
262
+ width: `${cr.width}px`,
263
+ height: `${cr.height}px`
264
+ },
265
+ onMouseDown: (e) => handleMouseDown(e, "move"),
266
+ onTouchStart: (e) => handleTouchStart(e, "move")
267
+ }
268
+ ),
269
+ guides && /* @__PURE__ */ jsxs(Fragment, { children: [
270
+ /* @__PURE__ */ jsx(
271
+ "div",
272
+ {
273
+ className: imageCropperGuideClasses,
274
+ style: {
275
+ left: `${cr.x}px`,
276
+ top: `${cr.y + cr.height / 3}px`,
277
+ width: `${cr.width}px`,
278
+ height: 0,
279
+ borderTopWidth: "1px",
280
+ borderTopStyle: "dashed"
281
+ }
282
+ }
283
+ ),
284
+ /* @__PURE__ */ jsx(
285
+ "div",
286
+ {
287
+ className: imageCropperGuideClasses,
288
+ style: {
289
+ left: `${cr.x}px`,
290
+ top: `${cr.y + cr.height * 2 / 3}px`,
291
+ width: `${cr.width}px`,
292
+ height: 0,
293
+ borderTopWidth: "1px",
294
+ borderTopStyle: "dashed"
295
+ }
296
+ }
297
+ ),
298
+ /* @__PURE__ */ jsx(
299
+ "div",
300
+ {
301
+ className: imageCropperGuideClasses,
302
+ style: {
303
+ left: `${cr.x + cr.width / 3}px`,
304
+ top: `${cr.y}px`,
305
+ width: 0,
306
+ height: `${cr.height}px`,
307
+ borderLeftWidth: "1px",
308
+ borderLeftStyle: "dashed"
309
+ }
310
+ }
311
+ ),
312
+ /* @__PURE__ */ jsx(
313
+ "div",
314
+ {
315
+ className: imageCropperGuideClasses,
316
+ style: {
317
+ left: `${cr.x + cr.width * 2 / 3}px`,
318
+ top: `${cr.y}px`,
319
+ width: 0,
320
+ height: `${cr.height}px`,
321
+ borderLeftWidth: "1px",
322
+ borderLeftStyle: "dashed"
323
+ }
324
+ }
325
+ )
326
+ ] }),
327
+ CROP_HANDLES.map((handle) => {
328
+ const pos = {};
329
+ if (handle.includes("n")) pos.top = `${cr.y}px`;
330
+ if (handle.includes("s")) pos.top = `${cr.y + cr.height}px`;
331
+ if (handle === "e" || handle === "w") pos.top = `${cr.y + cr.height / 2}px`;
332
+ if (handle.includes("w")) pos.left = `${cr.x}px`;
333
+ if (handle.includes("e")) pos.left = `${cr.x + cr.width}px`;
334
+ if (handle === "n" || handle === "s") pos.left = `${cr.x + cr.width / 2}px`;
335
+ return /* @__PURE__ */ jsx(
336
+ "div",
337
+ {
338
+ className: getCropperHandleClasses(handle),
339
+ style: pos,
340
+ onMouseDown: (e) => handleMouseDown(e, "resize", handle),
341
+ onTouchStart: (e) => handleTouchStart(e, "resize", handle)
342
+ },
343
+ handle
344
+ );
345
+ })
346
+ ]
347
+ }
348
+ );
349
+ }
350
+ );
351
+ ImageCropper.displayName = "ImageCropper";
352
+
353
+ export { ImageCropper };
@@ -14,35 +14,41 @@ var Loading = ({
14
14
  delay = 0,
15
15
  background = "rgba(255, 255, 255, 0.9)",
16
16
  customColor,
17
- className = "",
17
+ className,
18
18
  style,
19
19
  ...props
20
20
  }) => {
21
21
  react.useEffect(() => {
22
22
  tigercatCore.injectLoadingAnimationStyles();
23
23
  }, []);
24
- const [visible, setVisible] = react.useState(delay === 0);
24
+ const [visible, setVisible] = react.useState(delay <= 0);
25
25
  react.useEffect(() => {
26
- if (delay > 0) {
27
- const timer = setTimeout(() => {
28
- setVisible(true);
29
- }, delay);
30
- return () => clearTimeout(timer);
26
+ if (delay <= 0) {
27
+ setVisible(true);
28
+ return;
31
29
  }
30
+ setVisible(false);
31
+ const timer = setTimeout(() => setVisible(true), delay);
32
+ return () => clearTimeout(timer);
32
33
  }, [delay]);
33
- const spinnerClasses = tigercatCore.getLoadingClasses(variant, size, color, customColor);
34
- const textClasses = tigercatCore.getLoadingTextClasses(size, color, customColor);
35
- const containerClasses = tigercatCore.classNames(
36
- fullscreen ? tigercatCore.loadingFullscreenBaseClasses : tigercatCore.loadingContainerBaseClasses,
37
- className
34
+ const containerClasses = react.useMemo(
35
+ () => tigercatCore.classNames(
36
+ fullscreen ? tigercatCore.loadingFullscreenBaseClasses : tigercatCore.loadingContainerBaseClasses,
37
+ className
38
+ ),
39
+ [fullscreen, className]
40
+ );
41
+ const mergedStyle = react.useMemo(
42
+ () => ({
43
+ ...customColor ? { color: customColor } : null,
44
+ ...fullscreen ? { backgroundColor: background } : null,
45
+ ...style
46
+ }),
47
+ [customColor, fullscreen, background, style]
38
48
  );
39
- const mergedStyle = {
40
- ...customColor ? { color: customColor } : null,
41
- ...fullscreen ? { backgroundColor: background } : null,
42
- ...style
43
- };
44
49
  const renderSpinner = () => {
45
50
  const svg = tigercatCore.getSpinnerSVG(variant);
51
+ const spinnerClasses = tigercatCore.getLoadingClasses(variant, size, color, customColor);
46
52
  return /* @__PURE__ */ jsxRuntime.jsx(
47
53
  "svg",
48
54
  {
@@ -99,7 +105,7 @@ var Loading = ({
99
105
  ...props,
100
106
  children: [
101
107
  renderIndicator(),
102
- text && /* @__PURE__ */ jsxRuntime.jsx("div", { className: textClasses, children: text })
108
+ text && /* @__PURE__ */ jsxRuntime.jsx("div", { className: tigercatCore.getLoadingTextClasses(size, color, customColor), children: text })
103
109
  ]
104
110
  }
105
111
  );