@expcat/tigercat-react 1.0.4 → 1.1.0

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 (449) hide show
  1. package/dist/chunk-2EC4F7VG.js +134 -0
  2. package/dist/{chunk-NZNSUKPT.js → chunk-2HDQRMGU.js} +3 -21
  3. package/dist/{chunk-LVC43YX2.mjs → chunk-2IUTFPQQ.mjs} +6 -6
  4. package/dist/{chunk-LPNHBHS2.mjs → chunk-2LER76UK.mjs} +40 -5
  5. package/dist/{chunk-PXPUPQRO.js → chunk-2N3CQT4X.js} +23 -4
  6. package/dist/{chunk-BJ2GUKPU.mjs → chunk-2PLPUM5J.mjs} +7 -17
  7. package/dist/{chunk-C443YA4U.js → chunk-2QV56L36.js} +15 -11
  8. package/dist/{chunk-M375I56K.js → chunk-36ATCHP4.js} +5 -5
  9. package/dist/{chunk-AUP3PMDD.mjs → chunk-36WZNVQ5.mjs} +59 -50
  10. package/dist/{chunk-VHHEP5G7.js → chunk-3E76U2RG.js} +22 -2
  11. package/dist/chunk-3HPDLIX3.mjs +108 -0
  12. package/dist/{chunk-QHG7KJH6.js → chunk-3RRYDYVB.js} +23 -27
  13. package/dist/{chunk-3GW3UAKB.js → chunk-466OSPRM.js} +48 -8
  14. package/dist/{chunk-RUROWRB5.mjs → chunk-4G74P6YD.mjs} +4 -3
  15. package/dist/{chunk-AY5Z3NIW.js → chunk-4LIDROT4.js} +11 -7
  16. package/dist/chunk-4R5YXNU4.mjs +42 -0
  17. package/dist/{chunk-VVO4V4IK.js → chunk-4TEILQSN.js} +1 -1
  18. package/dist/{chunk-MQ5ZP5RW.mjs → chunk-4V2HSSQN.mjs} +5 -2
  19. package/dist/{chunk-D6BHFGTN.js → chunk-4YVXF45R.js} +3 -2
  20. package/dist/{chunk-HSHVLIEL.mjs → chunk-564WBQ77.mjs} +11 -11
  21. package/dist/{chunk-QO3GGQAV.mjs → chunk-5HFHHFQS.mjs} +25 -28
  22. package/dist/{chunk-SDWJSALH.js → chunk-5OLE7XM3.js} +156 -137
  23. package/dist/chunk-5OMSQ5PV.mjs +401 -0
  24. package/dist/{chunk-YLZEOXFS.mjs → chunk-6GU5NH5F.mjs} +22 -2
  25. package/dist/{chunk-XEYP62CR.js → chunk-6LDJSFUQ.js} +71 -14
  26. package/dist/{chunk-RYW4CV7U.js → chunk-6N6CWBPP.js} +16 -6
  27. package/dist/{chunk-6P3JIUSI.mjs → chunk-6OOGL43U.mjs} +3 -2
  28. package/dist/{chunk-3CDAG4HD.mjs → chunk-6QML6T3Y.mjs} +20 -6
  29. package/dist/{chunk-BALJCZ62.mjs → chunk-6QQBMZQ6.mjs} +34 -43
  30. package/dist/{chunk-2XOFRGY6.js → chunk-6YBLWFP5.js} +34 -2
  31. package/dist/{chunk-VILZFNR7.js → chunk-7KNOOFRA.js} +70 -21
  32. package/dist/{chunk-ET5YJELZ.js → chunk-7P4MIU6I.js} +9 -8
  33. package/dist/{chunk-5CGXFQND.mjs → chunk-7Y5XUZJ4.mjs} +27 -11
  34. package/dist/{chunk-HU3VDVH6.js → chunk-A4PPPGJ5.js} +87 -60
  35. package/dist/{chunk-HCZA4LV6.mjs → chunk-A7DZX5X5.mjs} +2 -2
  36. package/dist/{chunk-VONFSF4S.mjs → chunk-AAI6EZZA.mjs} +19 -16
  37. package/dist/{chunk-KNBNE74O.js → chunk-ACQLSECT.js} +32 -4
  38. package/dist/{chunk-KQJYSG23.js → chunk-AIYOQ5MX.js} +8 -8
  39. package/dist/{chunk-EIMAQHCQ.mjs → chunk-AZDNGGV7.mjs} +14 -3
  40. package/dist/{chunk-67FVBKBC.js → chunk-B5TUTAVX.js} +72 -9
  41. package/dist/{chunk-2UQC3WOI.mjs → chunk-C745DPLU.mjs} +13 -4
  42. package/dist/chunk-CBWRSICK.mjs +929 -0
  43. package/dist/{chunk-N66WEQ6M.js → chunk-CBYJXDW4.js} +12 -13
  44. package/dist/{chunk-2EOXY2LP.mjs → chunk-CCDZLSOL.mjs} +70 -3
  45. package/dist/{chunk-4GV7UQJJ.js → chunk-CHPJPIW6.js} +26 -35
  46. package/dist/{chunk-ZD4BVRYG.mjs → chunk-CPQS3IFF.mjs} +1 -1
  47. package/dist/chunk-CVXDKGNX.mjs +312 -0
  48. package/dist/{chunk-YJ4W6DMX.mjs → chunk-D45GM4YH.mjs} +51 -29
  49. package/dist/{chunk-FXX3GD35.mjs → chunk-DAMJCFFS.mjs} +119 -15
  50. package/dist/{chunk-WK5QJO57.js → chunk-DBGPINKE.js} +74 -52
  51. package/dist/chunk-DKNVSQSV.mjs +64 -0
  52. package/dist/{chunk-CDT3P2ZN.js → chunk-DSLKTIPD.js} +20 -17
  53. package/dist/{chunk-4QJZT6QK.js → chunk-DUZM2SKR.js} +124 -99
  54. package/dist/chunk-DVL53XDJ.mjs +22 -0
  55. package/dist/{chunk-H3NLKNR4.mjs → chunk-DVUND2QM.mjs} +69 -46
  56. package/dist/{chunk-TMQA74FM.js → chunk-EF5ZTNHX.js} +34 -29
  57. package/dist/{chunk-RWZIWKZR.js → chunk-F7VY6ATM.js} +54 -32
  58. package/dist/{chunk-UBKOITHT.mjs → chunk-FQW26554.mjs} +30 -11
  59. package/dist/{chunk-DEQWHJLQ.mjs → chunk-FW3O54GP.mjs} +11 -7
  60. package/dist/chunk-G3PBQ4B4.mjs +60 -0
  61. package/dist/{chunk-HWWNBCFB.js → chunk-GAT4ZATZ.js} +17 -1
  62. package/dist/chunk-GDONQIOK.mjs +470 -0
  63. package/dist/{chunk-3KMKMAE3.mjs → chunk-GKJNQUTW.mjs} +20 -18
  64. package/dist/{chunk-TVJZB7ZC.js → chunk-GOGLPCUH.js} +122 -18
  65. package/dist/chunk-GOQ6ZG7H.mjs +56 -0
  66. package/dist/{chunk-BCNKTT5C.js → chunk-GRXBGL6Q.js} +18 -16
  67. package/dist/{chunk-XNMSECO4.mjs → chunk-GUHNLUZ3.mjs} +66 -16
  68. package/dist/{chunk-B3MNIAM5.mjs → chunk-GYQJJUJP.mjs} +29 -9
  69. package/dist/{chunk-IWP22YTF.js → chunk-HCKV7ONR.js} +3 -0
  70. package/dist/{chunk-I4SKKEU3.js → chunk-HR5GBE3P.js} +24 -27
  71. package/dist/{chunk-HUCBHFSL.mjs → chunk-HTXUF4RH.mjs} +6 -20
  72. package/dist/{chunk-EOYJLBFD.js → chunk-ITLA7OLQ.js} +6 -20
  73. package/dist/{chunk-INBSKSZG.mjs → chunk-ITVLIR7T.mjs} +57 -12
  74. package/dist/{chunk-FNDPGSEW.mjs → chunk-IXQAECFP.mjs} +87 -33
  75. package/dist/{chunk-34DLDOGP.mjs → chunk-IZTNHCIO.mjs} +5 -2
  76. package/dist/{chunk-73BP3WQN.mjs → chunk-J4OQ2VRH.mjs} +13 -31
  77. package/dist/{chunk-AJQPGAYL.js → chunk-JFOSDCCG.js} +5 -5
  78. package/dist/{chunk-6744DTEB.mjs → chunk-JSUDEK2D.mjs} +159 -140
  79. package/dist/{chunk-U3JOBIDU.js → chunk-K64M7IMP.js} +69 -2
  80. package/dist/{chunk-FPURO6QB.mjs → chunk-KGWPSVEQ.mjs} +5 -6
  81. package/dist/{chunk-OHIZYM65.mjs → chunk-KPACLRQH.mjs} +3 -6
  82. package/dist/chunk-KPRUZCKN.js +318 -0
  83. package/dist/{chunk-UE234MW4.mjs → chunk-KR3EVG7G.mjs} +4 -4
  84. package/dist/chunk-L5HVRTUO.js +935 -0
  85. package/dist/chunk-L6CL63GI.js +93 -0
  86. package/dist/{chunk-RNEL4XIO.js → chunk-LA3CJOWA.js} +13 -2
  87. package/dist/{chunk-EBLAM3YP.mjs → chunk-LE5VFMRR.mjs} +21 -12
  88. package/dist/{chunk-4QQZ5H4V.mjs → chunk-LQT6ZGME.mjs} +35 -30
  89. package/dist/{chunk-VAQDUVBP.mjs → chunk-LY2OTQ4E.mjs} +17 -1
  90. package/dist/{chunk-RRJTIKU6.mjs → chunk-M5GSLKUX.mjs} +13 -14
  91. package/dist/{chunk-TZNTHABR.js → chunk-M73NMNZX.js} +37 -6
  92. package/dist/{chunk-TKZO5UBH.js → chunk-MB3QU3US.js} +47 -2
  93. package/dist/{chunk-6E7FPBRR.mjs → chunk-ME5BLIFX.mjs} +73 -16
  94. package/dist/{chunk-ZDL3GE3Q.mjs → chunk-MO3V34YL.mjs} +67 -18
  95. package/dist/chunk-MOSVX52I.js +408 -0
  96. package/dist/{chunk-2GKTVAAB.js → chunk-MPO7Y76D.js} +9 -3
  97. package/dist/{chunk-JLM4LBUS.js → chunk-MU6Z5DCI.js} +6 -3
  98. package/dist/{chunk-5MALB34H.js → chunk-MUUOE2NT.js} +31 -11
  99. package/dist/chunk-N2JYU4JI.js +62 -0
  100. package/dist/{chunk-C6WJ4GQW.js → chunk-NHBNPK5J.js} +40 -37
  101. package/dist/{chunk-JUWFVIDP.mjs → chunk-NQV2H4SC.mjs} +25 -6
  102. package/dist/{chunk-WAIXKROS.mjs → chunk-NSEO2B74.mjs} +12 -8
  103. package/dist/{chunk-2WBPUW75.mjs → chunk-O4JI4FC6.mjs} +39 -36
  104. package/dist/{chunk-SQ7OL2X5.mjs → chunk-OFTLPYYC.mjs} +30 -10
  105. package/dist/{chunk-JQK354YN.js → chunk-OFWK2B23.js} +234 -10
  106. package/dist/chunk-ONTRGV5T.js +159 -0
  107. package/dist/{chunk-IVGKPD2L.mjs → chunk-OPHYFC5W.mjs} +5 -5
  108. package/dist/{chunk-2LUDQBVY.mjs → chunk-OUARQFZ7.mjs} +4 -4
  109. package/dist/{chunk-DAR2BMMV.js → chunk-PFYK2V3E.js} +32 -41
  110. package/dist/{chunk-ZYPEO2KY.js → chunk-PGBKMW4Q.js} +30 -0
  111. package/dist/{chunk-DXXYPVJJ.js → chunk-PR5ZPB6J.js} +3 -3
  112. package/dist/{chunk-QVZTZHCJ.mjs → chunk-PSYDHEXN.mjs} +52 -33
  113. package/dist/{chunk-CMGI5WHZ.js → chunk-PTWCIG3Y.js} +2 -2
  114. package/dist/{chunk-FHE4D56E.js → chunk-PVNHW3PY.js} +26 -9
  115. package/dist/{chunk-QLHFXYWA.mjs → chunk-QOEE2PW5.mjs} +73 -10
  116. package/dist/{chunk-AQ72JVUG.js → chunk-QQKP437L.js} +5 -5
  117. package/dist/{chunk-IOHPB4CF.js → chunk-QYJBMQ5P.js} +29 -10
  118. package/dist/{chunk-NZLOLMT2.mjs → chunk-RFB4M3WM.mjs} +50 -10
  119. package/dist/{chunk-TFPIRBHL.js → chunk-RLQITKTC.js} +26 -10
  120. package/dist/{chunk-7CAJK2ZK.mjs → chunk-RPSHILHD.mjs} +2 -2
  121. package/dist/{chunk-GX74TC62.js → chunk-RTHC4KWM.js} +2 -5
  122. package/dist/{chunk-65VXCN5N.js → chunk-SKMZTW3K.js} +56 -11
  123. package/dist/{chunk-VHWTMNQN.js → chunk-SO6POTSO.js} +10 -10
  124. package/dist/chunk-SQGFNVYT.js +222 -0
  125. package/dist/{chunk-45H3JEI3.js → chunk-SR5OHSI7.js} +50 -31
  126. package/dist/{chunk-GBTKAKUD.mjs → chunk-SRNBEFJO.mjs} +24 -28
  127. package/dist/{chunk-SQK2CPSV.mjs → chunk-SXNHXUUF.mjs} +16 -5
  128. package/dist/{chunk-OE6WTZES.js → chunk-TLJD4GFY.js} +69 -19
  129. package/dist/{chunk-R5XY4EQL.js → chunk-TQOWIDQT.js} +8 -15
  130. package/dist/{chunk-IPLK4AIE.mjs → chunk-TR4DGL3U.mjs} +7 -6
  131. package/dist/{chunk-QAO5KANE.mjs → chunk-TULQETJ5.mjs} +4 -3
  132. package/dist/{chunk-4APNERYR.js → chunk-U356F7GU.js} +12 -30
  133. package/dist/{chunk-AGR3FM3V.js → chunk-UB6SHKPR.js} +8 -7
  134. package/dist/{chunk-Z6F67MJE.mjs → chunk-UBP7HZSU.mjs} +4 -3
  135. package/dist/{chunk-HZ5Z5Y2J.mjs → chunk-UJ5NMLZN.mjs} +13 -31
  136. package/dist/chunk-UKLVOR4E.js +67 -0
  137. package/dist/{chunk-CKFE2B36.js → chunk-ULODU52Q.js} +9 -19
  138. package/dist/{chunk-QQDKQLHJ.mjs → chunk-UPO4LLNK.mjs} +71 -49
  139. package/dist/chunk-V4JIZN3E.mjs +156 -0
  140. package/dist/{chunk-R3QWJ7GT.mjs → chunk-V5557VIB.mjs} +23 -6
  141. package/dist/chunk-VBBOH5HA.js +25 -0
  142. package/dist/chunk-VBZE77VM.mjs +65 -0
  143. package/dist/{chunk-XLVEI7GS.js → chunk-VE3SYUMH.js} +3 -2
  144. package/dist/{chunk-SWF7GJYT.mjs → chunk-VHW7NWXM.mjs} +85 -58
  145. package/dist/{chunk-YHFBPSMF.js → chunk-VTOMFVSF.js} +72 -49
  146. package/dist/{chunk-QPGL4YEO.mjs → chunk-W7UGU2O6.mjs} +12 -24
  147. package/dist/{chunk-AYDTXJOR.mjs → chunk-WDRYAP7T.mjs} +18 -15
  148. package/dist/{chunk-AMOH5AMN.mjs → chunk-WFIQIBLC.mjs} +2 -2
  149. package/dist/{chunk-BR5OSUZT.mjs → chunk-WI4N5DD3.mjs} +38 -7
  150. package/dist/{chunk-TQEIMVJD.mjs → chunk-WK45IRP7.mjs} +28 -37
  151. package/dist/{chunk-HLJQZUIY.mjs → chunk-WNX4TH7U.mjs} +32 -4
  152. package/dist/{chunk-7MASYF4S.mjs → chunk-WT6CULN3.mjs} +12 -13
  153. package/dist/{chunk-6PBNFLM7.js → chunk-WV5XHYW6.js} +4 -3
  154. package/dist/{chunk-CQGAZ5JQ.js → chunk-X7WESYRG.js} +15 -4
  155. package/dist/{chunk-PUYT62KC.js → chunk-XAALCDGD.js} +5 -6
  156. package/dist/{chunk-YPHOVEVU.mjs → chunk-XATXFVKR.mjs} +8 -2
  157. package/dist/chunk-XHF3L4ET.mjs +132 -0
  158. package/dist/{chunk-QPOH6SOO.mjs → chunk-XISZACMA.mjs} +126 -101
  159. package/dist/{chunk-QYGBT4NL.js → chunk-XN43YK75.js} +16 -28
  160. package/dist/{chunk-H5MZ54PM.js → chunk-XPA2YCQO.js} +58 -49
  161. package/dist/{chunk-CHH7DWIO.js → chunk-XRNKHQTL.js} +7 -1
  162. package/dist/{chunk-WLIFEALE.mjs → chunk-XTSG362L.mjs} +29 -2
  163. package/dist/{chunk-KQZ4F7FZ.js → chunk-XTV5JLLC.js} +18 -4
  164. package/dist/{chunk-AHF6JE43.js → chunk-YACOKYDW.js} +21 -18
  165. package/dist/{chunk-4Q4GADHJ.js → chunk-YI6ORD3U.js} +40 -5
  166. package/dist/{chunk-ASALMHFI.js → chunk-YMKA4L3Z.js} +1 -6
  167. package/dist/{chunk-3JGOTJZM.js → chunk-YTLJPWXL.js} +4 -4
  168. package/dist/{chunk-XR6B2URW.js → chunk-Z52PUIAH.js} +22 -13
  169. package/dist/{chunk-AVUXDQYO.mjs → chunk-Z5B7VNEG.mjs} +10 -4
  170. package/dist/{chunk-3USEV7EV.js → chunk-ZDK4LEPB.js} +12 -13
  171. package/dist/chunk-ZDXIP33Y.js +58 -0
  172. package/dist/{chunk-XFJ5Q5PF.mjs → chunk-ZJWUBR2X.mjs} +2 -7
  173. package/dist/components/ActivityFeed.js +5 -4
  174. package/dist/components/ActivityFeed.mjs +3 -2
  175. package/dist/components/Affix.js +2 -2
  176. package/dist/components/Affix.mjs +1 -1
  177. package/dist/components/Anchor.d.mts +20 -1
  178. package/dist/components/Anchor.d.ts +20 -1
  179. package/dist/components/Anchor.js +8 -4
  180. package/dist/components/Anchor.mjs +1 -1
  181. package/dist/components/AnchorLink.d.mts +3 -23
  182. package/dist/components/AnchorLink.d.ts +3 -23
  183. package/dist/components/AnchorLink.js +3 -4
  184. package/dist/components/AnchorLink.mjs +1 -2
  185. package/dist/components/AreaChart.d.mts +2 -0
  186. package/dist/components/AreaChart.d.ts +2 -0
  187. package/dist/components/AreaChart.js +7 -7
  188. package/dist/components/AreaChart.mjs +5 -5
  189. package/dist/components/AutoComplete.js +2 -2
  190. package/dist/components/AutoComplete.mjs +1 -1
  191. package/dist/components/AvatarGroup.js +3 -3
  192. package/dist/components/AvatarGroup.mjs +1 -1
  193. package/dist/components/BackTop.js +3 -3
  194. package/dist/components/BackTop.mjs +1 -1
  195. package/dist/components/BarChart.js +7 -7
  196. package/dist/components/BarChart.mjs +5 -5
  197. package/dist/components/Breadcrumb.d.mts +18 -2
  198. package/dist/components/Breadcrumb.d.ts +18 -2
  199. package/dist/components/Breadcrumb.js +7 -3
  200. package/dist/components/Breadcrumb.mjs +1 -1
  201. package/dist/components/BreadcrumbItem.d.mts +3 -21
  202. package/dist/components/BreadcrumbItem.d.ts +3 -21
  203. package/dist/components/BreadcrumbItem.js +2 -3
  204. package/dist/components/BreadcrumbItem.mjs +1 -2
  205. package/dist/components/Button.js +2 -2
  206. package/dist/components/Button.mjs +1 -1
  207. package/dist/components/ButtonGroup.js +4 -4
  208. package/dist/components/ButtonGroup.mjs +1 -1
  209. package/dist/components/Carousel.js +2 -2
  210. package/dist/components/Carousel.mjs +1 -1
  211. package/dist/components/Cascader.js +2 -2
  212. package/dist/components/Cascader.mjs +1 -1
  213. package/dist/components/ChartCanvas.js +3 -3
  214. package/dist/components/ChartCanvas.mjs +1 -1
  215. package/dist/components/ChartLegend.js +3 -3
  216. package/dist/components/ChartLegend.mjs +1 -1
  217. package/dist/components/ChartTooltip.js +3 -3
  218. package/dist/components/ChartTooltip.mjs +1 -1
  219. package/dist/components/ChatWindow.js +5 -4
  220. package/dist/components/ChatWindow.mjs +3 -2
  221. package/dist/components/Code.js +3 -3
  222. package/dist/components/Code.mjs +1 -1
  223. package/dist/components/CodeEditor.d.mts +8 -1
  224. package/dist/components/CodeEditor.d.ts +8 -1
  225. package/dist/components/CodeEditor.js +3 -3
  226. package/dist/components/CodeEditor.mjs +1 -1
  227. package/dist/components/Col.js +3 -3
  228. package/dist/components/Col.mjs +2 -2
  229. package/dist/components/CollapsePanel.js +3 -3
  230. package/dist/components/CollapsePanel.mjs +1 -1
  231. package/dist/components/CommentThread.js +4 -4
  232. package/dist/components/CommentThread.mjs +2 -2
  233. package/dist/components/ConfigProvider.d.mts +3 -2
  234. package/dist/components/ConfigProvider.d.ts +3 -2
  235. package/dist/components/ConfigProvider.js +3 -3
  236. package/dist/components/ConfigProvider.mjs +1 -1
  237. package/dist/components/CropUpload.js +6 -6
  238. package/dist/components/CropUpload.mjs +5 -5
  239. package/dist/components/DataTableWithToolbar.d.mts +2 -7
  240. package/dist/components/DataTableWithToolbar.d.ts +2 -7
  241. package/dist/components/DataTableWithToolbar.js +6 -7
  242. package/dist/components/DataTableWithToolbar.mjs +4 -5
  243. package/dist/components/DatePicker.js +2 -2
  244. package/dist/components/DatePicker.mjs +1 -1
  245. package/dist/components/DonutChart.js +8 -8
  246. package/dist/components/DonutChart.mjs +6 -6
  247. package/dist/components/Drawer.js +3 -3
  248. package/dist/components/Drawer.mjs +2 -2
  249. package/dist/components/Dropdown.d.mts +10 -2
  250. package/dist/components/Dropdown.d.ts +10 -2
  251. package/dist/components/Dropdown.js +8 -5
  252. package/dist/components/Dropdown.mjs +2 -3
  253. package/dist/components/DropdownItem.js +4 -5
  254. package/dist/components/DropdownItem.mjs +3 -4
  255. package/dist/components/DropdownMenu.d.mts +3 -13
  256. package/dist/components/DropdownMenu.d.ts +3 -13
  257. package/dist/components/DropdownMenu.js +9 -2
  258. package/dist/components/DropdownMenu.mjs +2 -1
  259. package/dist/components/FileManager.js +3 -3
  260. package/dist/components/FileManager.mjs +1 -1
  261. package/dist/components/Form.d.mts +1 -0
  262. package/dist/components/Form.d.ts +1 -0
  263. package/dist/components/Form.js +3 -3
  264. package/dist/components/Form.mjs +1 -1
  265. package/dist/components/FormItem.js +3 -3
  266. package/dist/components/FormItem.mjs +2 -2
  267. package/dist/components/FormWizard.js +6 -6
  268. package/dist/components/FormWizard.mjs +4 -4
  269. package/dist/components/FunnelChart.js +6 -6
  270. package/dist/components/FunnelChart.mjs +5 -5
  271. package/dist/components/GaugeChart.js +3 -3
  272. package/dist/components/GaugeChart.mjs +2 -2
  273. package/dist/components/HeatmapChart.js +5 -5
  274. package/dist/components/HeatmapChart.mjs +4 -4
  275. package/dist/components/Image.js +5 -5
  276. package/dist/components/Image.mjs +4 -4
  277. package/dist/components/ImageCropper.js +2 -2
  278. package/dist/components/ImageCropper.mjs +1 -1
  279. package/dist/components/ImageGroup.js +5 -5
  280. package/dist/components/ImageGroup.mjs +3 -3
  281. package/dist/components/ImagePreview.js +3 -3
  282. package/dist/components/ImagePreview.mjs +2 -2
  283. package/dist/components/ImageViewer.js +2 -2
  284. package/dist/components/ImageViewer.mjs +1 -1
  285. package/dist/components/InfiniteScroll.js +3 -3
  286. package/dist/components/InfiniteScroll.mjs +1 -1
  287. package/dist/components/InputNumber.js +2 -2
  288. package/dist/components/InputNumber.mjs +1 -1
  289. package/dist/components/Kanban.d.mts +3 -2
  290. package/dist/components/Kanban.d.ts +3 -2
  291. package/dist/components/Kanban.js +5 -4
  292. package/dist/components/Kanban.mjs +3 -2
  293. package/dist/components/LineChart.js +7 -7
  294. package/dist/components/LineChart.mjs +5 -5
  295. package/dist/components/List.d.mts +22 -1
  296. package/dist/components/List.d.ts +22 -1
  297. package/dist/components/List.js +3 -2
  298. package/dist/components/List.mjs +2 -1
  299. package/dist/components/Loading.js +3 -2
  300. package/dist/components/Loading.mjs +2 -1
  301. package/dist/components/Mentions.js +3 -3
  302. package/dist/components/Mentions.mjs +1 -1
  303. package/dist/components/Menu.d.mts +43 -2
  304. package/dist/components/Menu.d.ts +43 -2
  305. package/dist/components/Menu.js +15 -3
  306. package/dist/components/Menu.mjs +1 -1
  307. package/dist/components/MenuItem.d.mts +3 -20
  308. package/dist/components/MenuItem.d.ts +3 -20
  309. package/dist/components/MenuItem.js +8 -3
  310. package/dist/components/MenuItem.mjs +1 -2
  311. package/dist/components/MenuItemGroup.d.mts +3 -16
  312. package/dist/components/MenuItemGroup.d.ts +3 -16
  313. package/dist/components/MenuItemGroup.js +8 -4
  314. package/dist/components/MenuItemGroup.mjs +1 -3
  315. package/dist/components/Modal.js +4 -4
  316. package/dist/components/Modal.mjs +3 -3
  317. package/dist/components/Notification.js +4 -4
  318. package/dist/components/Notification.mjs +1 -1
  319. package/dist/components/NotificationCenter.js +9 -7
  320. package/dist/components/NotificationCenter.mjs +7 -5
  321. package/dist/components/Pagination.d.mts +2 -2
  322. package/dist/components/Pagination.d.ts +2 -2
  323. package/dist/components/Pagination.js +3 -3
  324. package/dist/components/Pagination.mjs +1 -1
  325. package/dist/components/PieChart.js +7 -7
  326. package/dist/components/PieChart.mjs +5 -5
  327. package/dist/components/Popconfirm.js +4 -4
  328. package/dist/components/Popconfirm.mjs +3 -3
  329. package/dist/components/Popover.js +4 -4
  330. package/dist/components/Popover.mjs +3 -3
  331. package/dist/components/RadarChart.d.mts +3 -0
  332. package/dist/components/RadarChart.d.ts +3 -0
  333. package/dist/components/RadarChart.js +7 -7
  334. package/dist/components/RadarChart.mjs +5 -5
  335. package/dist/components/Resizable.js +3 -3
  336. package/dist/components/Resizable.mjs +1 -1
  337. package/dist/components/RichTextEditor.d.mts +10 -3
  338. package/dist/components/RichTextEditor.d.ts +10 -3
  339. package/dist/components/RichTextEditor.js +3 -3
  340. package/dist/components/RichTextEditor.mjs +1 -1
  341. package/dist/components/Row.js +3 -3
  342. package/dist/components/Row.mjs +1 -1
  343. package/dist/components/ScatterChart.js +7 -7
  344. package/dist/components/ScatterChart.mjs +5 -5
  345. package/dist/components/Segmented.js +2 -2
  346. package/dist/components/Segmented.mjs +1 -1
  347. package/dist/components/Select.js +2 -2
  348. package/dist/components/Select.mjs +1 -1
  349. package/dist/components/Splitter.js +3 -3
  350. package/dist/components/Splitter.mjs +1 -1
  351. package/dist/components/Statistic.js +2 -2
  352. package/dist/components/Statistic.mjs +1 -1
  353. package/dist/components/Stepper.js +2 -2
  354. package/dist/components/Stepper.mjs +1 -1
  355. package/dist/components/Steps.d.mts +32 -1
  356. package/dist/components/Steps.d.ts +32 -1
  357. package/dist/components/Steps.js +7 -3
  358. package/dist/components/Steps.mjs +1 -1
  359. package/dist/components/StepsItem.d.mts +3 -36
  360. package/dist/components/StepsItem.d.ts +3 -36
  361. package/dist/components/StepsItem.js +2 -2
  362. package/dist/components/StepsItem.mjs +1 -1
  363. package/dist/components/SubMenu.d.mts +3 -20
  364. package/dist/components/SubMenu.d.ts +3 -20
  365. package/dist/components/SubMenu.js +8 -5
  366. package/dist/components/SubMenu.mjs +1 -4
  367. package/dist/components/SunburstChart.js +6 -6
  368. package/dist/components/SunburstChart.mjs +5 -5
  369. package/dist/components/Switch.js +2 -2
  370. package/dist/components/Switch.mjs +1 -1
  371. package/dist/components/TabPane.d.mts +3 -57
  372. package/dist/components/TabPane.d.ts +3 -57
  373. package/dist/components/TabPane.js +2 -2
  374. package/dist/components/TabPane.mjs +1 -1
  375. package/dist/components/Table.d.mts +4 -59
  376. package/dist/components/Table.d.ts +4 -59
  377. package/dist/components/Table.js +2 -2
  378. package/dist/components/Table.mjs +1 -1
  379. package/dist/components/Tabs.d.mts +54 -1
  380. package/dist/components/Tabs.d.ts +54 -1
  381. package/dist/components/Tabs.js +7 -3
  382. package/dist/components/Tabs.mjs +1 -1
  383. package/dist/components/TaskBoard.js +4 -4
  384. package/dist/components/TaskBoard.mjs +2 -2
  385. package/dist/components/TimePicker.js +2 -2
  386. package/dist/components/TimePicker.mjs +1 -1
  387. package/dist/components/Tooltip.js +4 -4
  388. package/dist/components/Tooltip.mjs +3 -3
  389. package/dist/components/Transfer.js +2 -2
  390. package/dist/components/Transfer.mjs +1 -1
  391. package/dist/components/Tree.d.mts +19 -0
  392. package/dist/components/Tree.d.ts +19 -0
  393. package/dist/components/Tree.js +4 -3
  394. package/dist/components/Tree.mjs +2 -1
  395. package/dist/components/TreeMapChart.js +6 -6
  396. package/dist/components/TreeMapChart.mjs +5 -5
  397. package/dist/components/TreeSelect.js +2 -2
  398. package/dist/components/TreeSelect.mjs +1 -1
  399. package/dist/components/Upload.js +3 -3
  400. package/dist/components/Upload.mjs +2 -2
  401. package/dist/components/VirtualList.js +2 -2
  402. package/dist/components/VirtualList.mjs +1 -1
  403. package/dist/components/VirtualTable.js +3 -3
  404. package/dist/components/VirtualTable.mjs +1 -1
  405. package/dist/components/Watermark.js +2 -2
  406. package/dist/components/Watermark.mjs +1 -1
  407. package/dist/index.d.mts +32 -18
  408. package/dist/index.d.ts +32 -18
  409. package/dist/index.js +362 -213
  410. package/dist/index.mjs +243 -95
  411. package/dist/types-BT4oTXQ_.d.mts +31 -0
  412. package/dist/types-BT4oTXQ_.d.ts +31 -0
  413. package/package.json +13 -8
  414. package/dist/chunk-24RUEJWB.js +0 -293
  415. package/dist/chunk-3NE6VZRY.js +0 -67
  416. package/dist/chunk-7YLVAZJQ.mjs +0 -47
  417. package/dist/chunk-A3PYG3D6.js +0 -107
  418. package/dist/chunk-B3LRUKXM.mjs +0 -65
  419. package/dist/chunk-B53R2U2R.mjs +0 -86
  420. package/dist/chunk-BKYE77F2.js +0 -171
  421. package/dist/chunk-CRSMECWE.mjs +0 -33
  422. package/dist/chunk-D5KYIQWB.mjs +0 -105
  423. package/dist/chunk-DUWAV47E.js +0 -42
  424. package/dist/chunk-DZGDCRBH.mjs +0 -30
  425. package/dist/chunk-EHU3J4B2.mjs +0 -536
  426. package/dist/chunk-EQWQXURG.js +0 -18
  427. package/dist/chunk-F6KHZNRS.js +0 -32
  428. package/dist/chunk-GJEWBALW.js +0 -38
  429. package/dist/chunk-GOUMB34F.mjs +0 -168
  430. package/dist/chunk-H36CWHUP.mjs +0 -30
  431. package/dist/chunk-HZHFFVP7.mjs +0 -63
  432. package/dist/chunk-IBYIPXIO.js +0 -88
  433. package/dist/chunk-IS467WAO.mjs +0 -39
  434. package/dist/chunk-MB7CJ32C.mjs +0 -878
  435. package/dist/chunk-OFBK35TK.mjs +0 -32
  436. package/dist/chunk-OWUGXP6K.js +0 -37
  437. package/dist/chunk-QBZODEIG.js +0 -49
  438. package/dist/chunk-R5P72RIT.js +0 -180
  439. package/dist/chunk-RARHRSPQ.js +0 -72
  440. package/dist/chunk-SIVJX7VU.mjs +0 -16
  441. package/dist/chunk-SMC2RV3V.mjs +0 -250
  442. package/dist/chunk-T5FAKJ6C.mjs +0 -49
  443. package/dist/chunk-WGPUGPYE.js +0 -543
  444. package/dist/chunk-XID6T65A.js +0 -163
  445. package/dist/chunk-XO6NSGV3.js +0 -884
  446. package/dist/chunk-Y3NDP56G.mjs +0 -174
  447. package/dist/chunk-YXWRSEP5.mjs +0 -286
  448. package/dist/chunk-Z6CRXABX.js +0 -88
  449. package/dist/chunk-ZIUOENTL.mjs +0 -85
@@ -0,0 +1,401 @@
1
+ import { useTigerConfig } from './chunk-VBZE77VM.mjs';
2
+ import React, { useMemo, useState, useEffect, useRef, useCallback } from 'react';
3
+ import { classNames, taskBoardCardClasses, taskBoardCardDraggingClasses, isWipExceeded, getColumnCardCount, taskBoardColumnClasses, taskBoardColumnDropTargetClasses, taskBoardColumnDraggingClasses, taskBoardDropIndicatorClasses, resolveLocaleText, taskBoardEmptyClasses, taskBoardColumnHeaderClasses, taskBoardWipExceededClasses, kanbanCardCountClasses, taskBoardColumnBodyClasses, taskBoardAddCardClasses, mergeTigerLocale, getTaskBoardLabels, filterColumns, createDefaultDragSnapshot, moveCard, reorderColumns, createTaskBoardDragController, taskBoardBaseClasses, kanbanAddColumnClasses } from '@expcat/tigercat-core';
4
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
+
6
+ var CardItem = React.memo(
7
+ ({
8
+ card,
9
+ column,
10
+ isDragging,
11
+ isKbGrabbed,
12
+ draggable,
13
+ dragHintText,
14
+ renderCard,
15
+ dragCtrl
16
+ }) => {
17
+ const cardClasses = classNames(
18
+ taskBoardCardClasses,
19
+ isDragging && taskBoardCardDraggingClasses,
20
+ isKbGrabbed && "ring-2 ring-[var(--tiger-primary,#2563eb)]"
21
+ );
22
+ return /* @__PURE__ */ jsx(
23
+ "div",
24
+ {
25
+ className: cardClasses,
26
+ draggable,
27
+ tabIndex: 0,
28
+ role: "listitem",
29
+ "aria-roledescription": dragHintText,
30
+ "aria-grabbed": isKbGrabbed ? "true" : void 0,
31
+ "data-tiger-taskboard-card": "",
32
+ "data-tiger-taskboard-card-id": String(card.id),
33
+ onDragStart: (e) => {
34
+ if (e.dataTransfer) dragCtrl.cardDragStart(e.dataTransfer, card, column);
35
+ },
36
+ onDragEnd: () => dragCtrl.dragEnd(),
37
+ onTouchStart: (e) => dragCtrl.cardTouchStart(e.nativeEvent, e.currentTarget, card, column),
38
+ onTouchMove: (e) => dragCtrl.cardTouchMove(e.nativeEvent),
39
+ onTouchEnd: () => dragCtrl.cardTouchEnd(),
40
+ onKeyDown: (e) => {
41
+ if (dragCtrl.cardKeyDown(e.key, card, column)) e.preventDefault();
42
+ },
43
+ children: renderCard ? renderCard(card, column.id) : /* @__PURE__ */ jsxs(Fragment, { children: [
44
+ /* @__PURE__ */ jsx("div", { className: "font-medium text-sm text-[var(--tiger-text,#1f2937)]", children: card.title }),
45
+ card.description && /* @__PURE__ */ jsx("div", { className: "mt-1 text-xs text-[var(--tiger-text-muted,#6b7280)] line-clamp-2", children: card.description })
46
+ ] })
47
+ }
48
+ );
49
+ },
50
+ (prev, next) => prev.card.id === next.card.id && prev.isDragging === next.isDragging && prev.isKbGrabbed === next.isKbGrabbed && prev.draggable === next.draggable && prev.card === next.card
51
+ );
52
+ CardItem.displayName = "TaskBoardCardItem";
53
+ var ColumnItem = React.memo(
54
+ ({
55
+ column,
56
+ colIndex,
57
+ isDropTarget,
58
+ isColDragging,
59
+ dropIdx,
60
+ draggable,
61
+ columnDraggable,
62
+ labels,
63
+ renderCardProp,
64
+ renderColumnHeader,
65
+ renderColumnFooter,
66
+ renderEmptyColumn,
67
+ onCardAdd,
68
+ dragType,
69
+ dragCtrl,
70
+ dragStateId,
71
+ kbDragStateId,
72
+ showCardCount,
73
+ allowAddCard
74
+ }) => {
75
+ const wipOver = isWipExceeded(column);
76
+ const cardCount = showCardCount ? getColumnCardCount(column) : null;
77
+ const colClasses = classNames(
78
+ taskBoardColumnClasses,
79
+ isDropTarget && taskBoardColumnDropTargetClasses,
80
+ isColDragging && taskBoardColumnDraggingClasses
81
+ );
82
+ let cardsContent;
83
+ if (column.cards.length > 0) {
84
+ const nodes = [];
85
+ column.cards.forEach((card, i) => {
86
+ if (isDropTarget && dropIdx === i) {
87
+ nodes.push(/* @__PURE__ */ jsx("div", { className: taskBoardDropIndicatorClasses }, `drop-${i}`));
88
+ }
89
+ const isDragging = dragStateId === card.id;
90
+ const isKbGrabbed = kbDragStateId === card.id;
91
+ nodes.push(
92
+ /* @__PURE__ */ jsx(
93
+ CardItem,
94
+ {
95
+ card,
96
+ column,
97
+ isDragging,
98
+ isKbGrabbed,
99
+ draggable,
100
+ dragHintText: labels.dragHintText,
101
+ renderCard: renderCardProp,
102
+ dragCtrl
103
+ },
104
+ String(card.id)
105
+ )
106
+ );
107
+ });
108
+ if (isDropTarget && dropIdx >= column.cards.length) {
109
+ nodes.push(/* @__PURE__ */ jsx("div", { className: taskBoardDropIndicatorClasses }, "drop-end"));
110
+ }
111
+ cardsContent = nodes;
112
+ } else {
113
+ cardsContent = isDropTarget ? /* @__PURE__ */ jsx("div", { className: taskBoardDropIndicatorClasses }, "drop-empty") : renderEmptyColumn ? renderEmptyColumn(column) : /* @__PURE__ */ jsx("div", { className: taskBoardEmptyClasses, children: resolveLocaleText(labels.emptyColumnText) });
114
+ }
115
+ const wipTitle = column.wipLimit != null ? resolveLocaleText(labels.wipLimitText.replace("{limit}", String(column.wipLimit))) : void 0;
116
+ return /* @__PURE__ */ jsxs(
117
+ "div",
118
+ {
119
+ className: colClasses,
120
+ "data-tiger-taskboard-column": "",
121
+ "data-tiger-taskboard-column-id": String(column.id),
122
+ onDragOver: dragType === "column" ? (e) => {
123
+ e.preventDefault();
124
+ dragCtrl.columnDragOver();
125
+ } : void 0,
126
+ onDrop: dragType === "column" ? (e) => {
127
+ e.preventDefault();
128
+ if (e.dataTransfer) dragCtrl.columnDrop(e.dataTransfer, e.clientX);
129
+ } : void 0,
130
+ children: [
131
+ /* @__PURE__ */ jsx(
132
+ "div",
133
+ {
134
+ className: taskBoardColumnHeaderClasses,
135
+ draggable: columnDraggable,
136
+ onDragStart: (e) => {
137
+ if (e.dataTransfer) dragCtrl.columnDragStart(e.dataTransfer, column, colIndex);
138
+ },
139
+ onDragEnd: () => dragCtrl.dragEnd(),
140
+ onTouchStart: (e) => dragCtrl.columnTouchStart(e.nativeEvent, e.currentTarget, column, colIndex),
141
+ onTouchMove: (e) => dragCtrl.columnTouchMove(e.nativeEvent),
142
+ onTouchEnd: () => dragCtrl.columnTouchEnd(),
143
+ style: columnDraggable ? { cursor: "grab" } : void 0,
144
+ children: renderColumnHeader ? renderColumnHeader(column) : /* @__PURE__ */ jsxs(Fragment, { children: [
145
+ /* @__PURE__ */ jsxs("span", { className: wipOver ? taskBoardWipExceededClasses : void 0, children: [
146
+ column.title,
147
+ showCardCount && cardCount ? null : column.wipLimit != null ? /* @__PURE__ */ jsxs("span", { className: "ml-2 text-xs font-normal opacity-70", title: wipTitle, children: [
148
+ "(",
149
+ column.cards.length,
150
+ "/",
151
+ column.wipLimit,
152
+ ")"
153
+ ] }) : /* @__PURE__ */ jsx("span", { className: "ml-2 text-xs font-normal opacity-50", children: column.cards.length })
154
+ ] }),
155
+ showCardCount && cardCount && /* @__PURE__ */ jsx(
156
+ "span",
157
+ {
158
+ className: classNames(
159
+ kanbanCardCountClasses,
160
+ wipOver && taskBoardWipExceededClasses
161
+ ),
162
+ children: cardCount.limit ? `${cardCount.count}/${cardCount.limit}` : `${cardCount.count}`
163
+ }
164
+ ),
165
+ column.description && /* @__PURE__ */ jsx("span", { className: "text-xs font-normal text-[var(--tiger-text-muted,#6b7280)] truncate max-w-[120px]", children: column.description })
166
+ ] })
167
+ }
168
+ ),
169
+ /* @__PURE__ */ jsx(
170
+ "div",
171
+ {
172
+ className: taskBoardColumnBodyClasses,
173
+ role: "list",
174
+ "aria-label": column.title,
175
+ onDragOver: (e) => {
176
+ e.preventDefault();
177
+ dragCtrl.cardDragOver(e.clientY, e.currentTarget, column);
178
+ },
179
+ onDrop: (e) => {
180
+ e.preventDefault();
181
+ if (e.dataTransfer) dragCtrl.cardDrop(e.dataTransfer, column);
182
+ },
183
+ onDragLeave: (e) => dragCtrl.dragLeave(e.currentTarget, e.relatedTarget),
184
+ children: cardsContent
185
+ }
186
+ ),
187
+ renderColumnFooter ? renderColumnFooter(column) : onCardAdd || allowAddCard ? /* @__PURE__ */ jsxs(
188
+ "div",
189
+ {
190
+ className: classNames(
191
+ "border-t border-[var(--tiger-border,#e5e7eb)]",
192
+ taskBoardAddCardClasses
193
+ ),
194
+ role: "button",
195
+ tabIndex: 0,
196
+ onClick: () => onCardAdd?.(column.id),
197
+ onKeyDown: (e) => {
198
+ if (e.key === "Enter" || e.key === " ") {
199
+ e.preventDefault();
200
+ onCardAdd?.(column.id);
201
+ }
202
+ },
203
+ children: [
204
+ /* @__PURE__ */ jsx("span", { children: "+" }),
205
+ /* @__PURE__ */ jsx("span", { children: resolveLocaleText(labels.addCardText) })
206
+ ]
207
+ }
208
+ ) : null
209
+ ]
210
+ }
211
+ );
212
+ },
213
+ (prev, next) => prev.column === next.column && prev.colIndex === next.colIndex && prev.isDropTarget === next.isDropTarget && prev.isColDragging === next.isColDragging && prev.dropIdx === next.dropIdx && prev.draggable === next.draggable && prev.columnDraggable === next.columnDraggable && prev.dragType === next.dragType && prev.dragStateId === next.dragStateId && prev.kbDragStateId === next.kbDragStateId && prev.onCardAdd === next.onCardAdd && prev.showCardCount === next.showCardCount && prev.allowAddCard === next.allowAddCard
214
+ );
215
+ ColumnItem.displayName = "TaskBoardColumnItem";
216
+ var TaskBoard = ({
217
+ columns: controlledColumns,
218
+ defaultColumns = [],
219
+ draggable = true,
220
+ columnDraggable = true,
221
+ enforceWipLimit = false,
222
+ beforeCardMove,
223
+ beforeColumnMove,
224
+ onCardMove,
225
+ onColumnMove,
226
+ onColumnsChange,
227
+ onCardAdd,
228
+ filterText = "",
229
+ hiddenColumns,
230
+ showCardCount = false,
231
+ allowAddCard = false,
232
+ allowAddColumn = false,
233
+ onColumnAdd,
234
+ renderCard: renderCardProp,
235
+ renderColumnHeader,
236
+ renderColumnFooter,
237
+ renderEmptyColumn,
238
+ locale,
239
+ className,
240
+ style,
241
+ ...rest
242
+ }) => {
243
+ const config = useTigerConfig();
244
+ const mergedLocale = useMemo(
245
+ () => mergeTigerLocale(config.locale, locale),
246
+ [config.locale, locale]
247
+ );
248
+ const labels = useMemo(() => getTaskBoardLabels(mergedLocale), [mergedLocale]);
249
+ const [innerColumns, setInnerColumns] = useState(defaultColumns);
250
+ useEffect(() => {
251
+ if (controlledColumns !== void 0) setInnerColumns(controlledColumns);
252
+ }, [controlledColumns]);
253
+ const currentColumns = controlledColumns ?? innerColumns;
254
+ const visibleColumns = useMemo(() => {
255
+ if (!filterText && (!hiddenColumns || hiddenColumns.length === 0)) {
256
+ return currentColumns;
257
+ }
258
+ return filterColumns(currentColumns, filterText, hiddenColumns);
259
+ }, [currentColumns, filterText, hiddenColumns]);
260
+ const columnsRef = useRef(currentColumns);
261
+ columnsRef.current = currentColumns;
262
+ const updateColumns = useCallback(
263
+ (next) => {
264
+ setInnerColumns(next);
265
+ onColumnsChange?.(next);
266
+ },
267
+ [onColumnsChange]
268
+ );
269
+ const [dragSnap, setDragSnap] = useState(createDefaultDragSnapshot);
270
+ const boardRef = useRef(null);
271
+ const beforeCardMoveRef = useRef(beforeCardMove);
272
+ beforeCardMoveRef.current = beforeCardMove;
273
+ const beforeColumnMoveRef = useRef(beforeColumnMove);
274
+ beforeColumnMoveRef.current = beforeColumnMove;
275
+ const onCardMoveRef = useRef(onCardMove);
276
+ onCardMoveRef.current = onCardMove;
277
+ const onColumnMoveRef = useRef(onColumnMove);
278
+ onColumnMoveRef.current = onColumnMove;
279
+ const enforceWipLimitRef = useRef(enforceWipLimit);
280
+ enforceWipLimitRef.current = enforceWipLimit;
281
+ const applyCardMove = useCallback(
282
+ async (cardId, fromColumnId, toColumnId, toIdx) => {
283
+ const result = moveCard(columnsRef.current, cardId, fromColumnId, toColumnId, toIdx, {
284
+ enforceWipLimit: enforceWipLimitRef.current
285
+ });
286
+ if (!result) return;
287
+ if (beforeCardMoveRef.current) {
288
+ const ok = await beforeCardMoveRef.current(result.event);
289
+ if (!ok) return;
290
+ }
291
+ updateColumns(result.columns);
292
+ onCardMoveRef.current?.(result.event);
293
+ },
294
+ [updateColumns]
295
+ );
296
+ const applyColumnMove = useCallback(
297
+ async (fromIdx, toIdx) => {
298
+ const cols = columnsRef.current;
299
+ const result = reorderColumns(cols, fromIdx, Math.min(toIdx, cols.length - 1));
300
+ if (!result) return;
301
+ if (beforeColumnMoveRef.current) {
302
+ const ok = await beforeColumnMoveRef.current(result.event);
303
+ if (!ok) return;
304
+ }
305
+ updateColumns(result.columns);
306
+ onColumnMoveRef.current?.(result.event);
307
+ },
308
+ [updateColumns]
309
+ );
310
+ const dragCtrlRef = useRef(null);
311
+ if (!dragCtrlRef.current) {
312
+ dragCtrlRef.current = createTaskBoardDragController(
313
+ {
314
+ onStateChange: setDragSnap,
315
+ applyCardMove: (...args) => applyCardMoveRef.current(...args),
316
+ applyColumnMove: (...args) => applyColumnMoveRef.current(...args),
317
+ getBoardEl: () => boardRef.current,
318
+ getColumnCount: () => columnsRef.current.length
319
+ },
320
+ { draggable, columnDraggable }
321
+ );
322
+ }
323
+ const dragCtrl = dragCtrlRef.current;
324
+ const applyCardMoveRef = useRef(applyCardMove);
325
+ applyCardMoveRef.current = applyCardMove;
326
+ const applyColumnMoveRef = useRef(applyColumnMove);
327
+ applyColumnMoveRef.current = applyColumnMove;
328
+ useEffect(() => {
329
+ dragCtrl.setOptions({ draggable, columnDraggable });
330
+ }, [draggable, columnDraggable, dragCtrl]);
331
+ useEffect(() => {
332
+ dragCtrl.init();
333
+ return () => dragCtrl.dispose();
334
+ }, [dragCtrl]);
335
+ const wrapperClasses = useMemo(() => classNames(taskBoardBaseClasses, className), [className]);
336
+ const dragType = dragSnap.drag?.type ?? null;
337
+ const dragStateId = dragSnap.drag?.type === "card" ? dragSnap.drag.id : null;
338
+ const kbDragStateId = dragSnap.kbDrag?.id ?? null;
339
+ return /* @__PURE__ */ jsxs(
340
+ "div",
341
+ {
342
+ ref: boardRef,
343
+ className: wrapperClasses,
344
+ style,
345
+ role: "region",
346
+ "aria-label": resolveLocaleText(labels.boardAriaLabel),
347
+ "data-tiger-task-board": "",
348
+ ...rest,
349
+ children: [
350
+ visibleColumns.map((col, i) => {
351
+ const isDropTarget = dragSnap.drag?.type === "card" && dragSnap.dropTargetColumnId === col.id;
352
+ const isColDragging = dragSnap.drag?.type === "column" && dragSnap.drag.id === col.id;
353
+ return /* @__PURE__ */ jsx(
354
+ ColumnItem,
355
+ {
356
+ column: col,
357
+ colIndex: i,
358
+ isDropTarget,
359
+ isColDragging,
360
+ dropIdx: isDropTarget ? dragSnap.dropIndex : -1,
361
+ draggable,
362
+ columnDraggable,
363
+ labels,
364
+ renderCardProp,
365
+ renderColumnHeader,
366
+ renderColumnFooter,
367
+ renderEmptyColumn,
368
+ onCardAdd,
369
+ dragType,
370
+ dragCtrl,
371
+ dragStateId,
372
+ kbDragStateId,
373
+ showCardCount,
374
+ allowAddCard
375
+ },
376
+ String(col.id)
377
+ );
378
+ }),
379
+ allowAddColumn && /* @__PURE__ */ jsx(
380
+ "div",
381
+ {
382
+ className: kanbanAddColumnClasses,
383
+ role: "button",
384
+ tabIndex: 0,
385
+ onClick: () => onColumnAdd?.(),
386
+ onKeyDown: (e) => {
387
+ if (e.key === "Enter" || e.key === " ") {
388
+ e.preventDefault();
389
+ onColumnAdd?.();
390
+ }
391
+ },
392
+ children: "+ Add column"
393
+ }
394
+ )
395
+ ]
396
+ }
397
+ );
398
+ };
399
+ var TaskBoard_default = TaskBoard;
400
+
401
+ export { TaskBoard, TaskBoard_default };
@@ -18,7 +18,8 @@ var CodeEditor = ({
18
18
  disabled = false,
19
19
  className,
20
20
  style,
21
- onChange
21
+ onChange,
22
+ highlighter
22
23
  }) => {
23
24
  const [internalValue, setInternalValue] = useState(defaultValue);
24
25
  const textareaRef = useRef(null);
@@ -68,12 +69,24 @@ var CodeEditor = ({
68
69
  return cls ? /* @__PURE__ */ jsx("span", { className: cls, children: token.value }, idx) : /* @__PURE__ */ jsx(React.Fragment, { children: token.value }, idx);
69
70
  };
70
71
  const renderLine = (line, lineIndex) => {
72
+ if (highlighter?.highlightLine) {
73
+ const html = highlighter.highlightLine(line, language, theme) || (line === "" ? "\n" : "");
74
+ return /* @__PURE__ */ jsx(
75
+ "div",
76
+ {
77
+ className: "min-h-[1.625rem]",
78
+ dangerouslySetInnerHTML: { __html: html }
79
+ },
80
+ lineIndex
81
+ );
82
+ }
71
83
  const tokens = tokenizeLine(line, language);
72
84
  return /* @__PURE__ */ jsxs("div", { className: "min-h-[1.625rem]", children: [
73
85
  tokens.map(renderToken),
74
86
  line === "" ? "\n" : null
75
87
  ] }, lineIndex);
76
88
  };
89
+ const blockHtml = highlighter && !highlighter.highlightLine && highlighter.highlightCode ? highlighter.highlightCode(code, language, theme) : null;
77
90
  return /* @__PURE__ */ jsx(
78
91
  "div",
79
92
  {
@@ -84,7 +97,14 @@ var CodeEditor = ({
84
97
  children: /* @__PURE__ */ jsxs("div", { className: "flex h-full", children: [
85
98
  lineNumbers && /* @__PURE__ */ jsx("div", { className: getLineNumberClasses(theme), "aria-hidden": "true", children: lineNums.map((n) => /* @__PURE__ */ jsx("div", { className: "min-h-[1.625rem]", children: n }, n)) }),
86
99
  /* @__PURE__ */ jsxs("div", { className: "relative flex-1 overflow-auto", children: [
87
- /* @__PURE__ */ jsx("div", { className: classNames(codeEditorHighlightClasses, wrapClass), "aria-hidden": "true", children: lines.map(renderLine) }),
100
+ blockHtml !== null ? /* @__PURE__ */ jsx(
101
+ "div",
102
+ {
103
+ className: classNames(codeEditorHighlightClasses, wrapClass),
104
+ "aria-hidden": "true",
105
+ dangerouslySetInnerHTML: { __html: blockHtml }
106
+ }
107
+ ) : /* @__PURE__ */ jsx("div", { className: classNames(codeEditorHighlightClasses, wrapClass), "aria-hidden": "true", children: lines.map(renderLine) }),
88
108
  /* @__PURE__ */ jsx(
89
109
  "textarea",
90
110
  {
@@ -37,28 +37,32 @@ var ImageViewer = ({
37
37
  onIndexChange
38
38
  }) => {
39
39
  const [index, setIndex] = react.useState(currentIndex);
40
- const [zoom, setZoom] = react.useState(1);
41
- const [rotation, setRotation] = react.useState(0);
40
+ const [transform, setTransform] = react.useState(tigercatCore.createDefaultTransform);
41
+ const panRef = react.useRef(tigercatCore.createPanState());
42
+ const pinchRef = react.useRef(tigercatCore.createPinchState());
42
43
  react.useEffect(() => {
43
44
  setIndex(currentIndex);
44
45
  }, [currentIndex]);
46
+ const resetTransform = react.useCallback(() => {
47
+ setTransform(tigercatCore.createDefaultTransform());
48
+ panRef.current = tigercatCore.createPanState();
49
+ pinchRef.current = tigercatCore.createPinchState();
50
+ }, []);
45
51
  const handleClose = react.useCallback(() => {
46
52
  onClose?.();
47
53
  }, [onClose]);
48
54
  const handlePrev = react.useCallback(() => {
49
55
  const newIndex = (index - 1 + images.length) % images.length;
50
56
  setIndex(newIndex);
51
- setZoom(1);
52
- setRotation(0);
57
+ resetTransform();
53
58
  onIndexChange?.(newIndex);
54
- }, [index, images.length, onIndexChange]);
59
+ }, [index, images.length, onIndexChange, resetTransform]);
55
60
  const handleNext = react.useCallback(() => {
56
61
  const newIndex = (index + 1) % images.length;
57
62
  setIndex(newIndex);
58
- setZoom(1);
59
- setRotation(0);
63
+ resetTransform();
60
64
  onIndexChange?.(newIndex);
61
- }, [index, images.length, onIndexChange]);
65
+ }, [index, images.length, onIndexChange, resetTransform]);
62
66
  react.useEffect(() => {
63
67
  if (!open) return;
64
68
  const handler = (e) => {
@@ -136,8 +140,61 @@ var ImageViewer = ({
136
140
  className: tigercatCore.imageViewerImgClasses,
137
141
  src: images[index],
138
142
  alt: `Image ${index + 1}`,
139
- style: { transform: `scale(${zoom}) rotate(${rotation}deg)` },
140
- draggable: false
143
+ style: { transform: tigercatCore.getImageTransformStyle(transform), touchAction: "none" },
144
+ draggable: false,
145
+ onWheel: (e) => {
146
+ if (!zoomable) return;
147
+ e.preventDefault();
148
+ const newScale = tigercatCore.applyWheelZoom(transform.scale, e.deltaY, { minZoom, maxZoom });
149
+ setTransform((t) => ({ ...t, scale: newScale }));
150
+ },
151
+ onMouseDown: (e) => {
152
+ if (e.button !== 0) return;
153
+ e.preventDefault();
154
+ panRef.current = tigercatCore.startPan(e.clientX, e.clientY, transform.translateX, transform.translateY);
155
+ },
156
+ onMouseMove: (e) => {
157
+ if (!panRef.current.isPanning) return;
158
+ const result = tigercatCore.movePan(panRef.current, e.clientX, e.clientY);
159
+ setTransform((t) => ({ ...t, ...result }));
160
+ },
161
+ onMouseUp: () => {
162
+ panRef.current = tigercatCore.createPanState();
163
+ },
164
+ onMouseLeave: () => {
165
+ panRef.current = tigercatCore.createPanState();
166
+ },
167
+ onTouchStart: (e) => {
168
+ if (e.touches.length === 2 && zoomable) {
169
+ e.preventDefault();
170
+ pinchRef.current = tigercatCore.startPinch(e.touches[0], e.touches[1], transform.scale);
171
+ } else if (e.touches.length === 1) {
172
+ panRef.current = tigercatCore.startPan(
173
+ e.touches[0].clientX,
174
+ e.touches[0].clientY,
175
+ transform.translateX,
176
+ transform.translateY
177
+ );
178
+ }
179
+ },
180
+ onTouchMove: (e) => {
181
+ if (e.touches.length === 2 && pinchRef.current.isPinching) {
182
+ e.preventDefault();
183
+ const newScale = tigercatCore.movePinch(pinchRef.current, e.touches[0], e.touches[1], minZoom, maxZoom);
184
+ setTransform((t) => ({ ...t, scale: newScale }));
185
+ } else if (e.touches.length === 1 && panRef.current.isPanning) {
186
+ const result = tigercatCore.movePan(panRef.current, e.touches[0].clientX, e.touches[0].clientY);
187
+ setTransform((t) => ({ ...t, ...result }));
188
+ }
189
+ },
190
+ onTouchEnd: () => {
191
+ pinchRef.current = tigercatCore.createPinchState();
192
+ panRef.current = tigercatCore.createPanState();
193
+ },
194
+ onTouchCancel: () => {
195
+ pinchRef.current = tigercatCore.createPinchState();
196
+ panRef.current = tigercatCore.createPanState();
197
+ }
141
198
  }
142
199
  ),
143
200
  (zoomable || rotatable) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: tigercatCore.imageViewerToolbarClasses, children: [
@@ -146,7 +203,7 @@ var ImageViewer = ({
146
203
  "button",
147
204
  {
148
205
  className: tigercatCore.imageViewerToolbarBtnClasses,
149
- onClick: () => setZoom(tigercatCore.clampZoom(zoom - 0.25, minZoom, maxZoom)),
206
+ onClick: () => setTransform((t) => ({ ...t, scale: tigercatCore.clampZoom(t.scale - 0.25, minZoom, maxZoom) })),
150
207
  "aria-label": "Zoom out",
151
208
  type: "button",
152
209
  children: /* @__PURE__ */ jsxRuntime.jsx(SvgIcon, { pathD: tigercatCore.imageViewerIcons.zoomOut, label: "Zoom out" })
@@ -156,7 +213,7 @@ var ImageViewer = ({
156
213
  "button",
157
214
  {
158
215
  className: tigercatCore.imageViewerToolbarBtnClasses,
159
- onClick: () => setZoom(tigercatCore.clampZoom(zoom + 0.25, minZoom, maxZoom)),
216
+ onClick: () => setTransform((t) => ({ ...t, scale: tigercatCore.clampZoom(t.scale + 0.25, minZoom, maxZoom) })),
160
217
  "aria-label": "Zoom in",
161
218
  type: "button",
162
219
  children: /* @__PURE__ */ jsxRuntime.jsx(SvgIcon, { pathD: tigercatCore.imageViewerIcons.zoomIn, label: "Zoom in" })
@@ -168,7 +225,7 @@ var ImageViewer = ({
168
225
  "button",
169
226
  {
170
227
  className: tigercatCore.imageViewerToolbarBtnClasses,
171
- onClick: () => setRotation(tigercatCore.normalizeRotation(rotation - 90)),
228
+ onClick: () => setTransform((t) => ({ ...t, rotation: tigercatCore.normalizeRotation(t.rotation - 90) })),
172
229
  "aria-label": "Rotate left",
173
230
  type: "button",
174
231
  children: /* @__PURE__ */ jsxRuntime.jsx(SvgIcon, { pathD: tigercatCore.imageViewerIcons.rotateLeft, label: "Rotate left" })
@@ -178,7 +235,7 @@ var ImageViewer = ({
178
235
  "button",
179
236
  {
180
237
  className: tigercatCore.imageViewerToolbarBtnClasses,
181
- onClick: () => setRotation(tigercatCore.normalizeRotation(rotation + 90)),
238
+ onClick: () => setTransform((t) => ({ ...t, rotation: tigercatCore.normalizeRotation(t.rotation + 90) })),
182
239
  "aria-label": "Rotate right",
183
240
  type: "button",
184
241
  children: /* @__PURE__ */ jsxRuntime.jsx(SvgIcon, { pathD: tigercatCore.imageViewerIcons.rotateRight, label: "Rotate right" })
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkEQWQXURG_js = require('./chunk-EQWQXURG.js');
4
- var chunkZYPEO2KY_js = require('./chunk-ZYPEO2KY.js');
3
+ var chunkPGBKMW4Q_js = require('./chunk-PGBKMW4Q.js');
5
4
  var React = require('react');
6
5
  var tigercatCore = require('@expcat/tigercat-core');
7
6
  var jsxRuntime = require('react/jsx-runtime');
@@ -11,6 +10,16 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
10
  var React__default = /*#__PURE__*/_interopDefault(React);
12
11
 
13
12
  var DropdownContext = React.createContext(null);
13
+ var DropdownMenu = ({
14
+ className,
15
+ style,
16
+ children,
17
+ role,
18
+ ...divProps
19
+ }) => {
20
+ const menuClasses = tigercatCore.classNames(tigercatCore.getDropdownMenuClasses(), className);
21
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: menuClasses, style, role: role ?? "menu", ...divProps, children });
22
+ };
14
23
  var Dropdown = ({
15
24
  trigger = "hover",
16
25
  placement: initialPlacement = "bottom-start",
@@ -93,16 +102,16 @@ var Dropdown = ({
93
102
  tigercatCore.handleMenuNavigation(floatingRef.current, event.nativeEvent);
94
103
  }
95
104
  }, []);
96
- chunkZYPEO2KY_js.useClickOutside({
105
+ chunkPGBKMW4Q_js.useClickOutside({
97
106
  enabled: trigger === "click" && visible,
98
107
  refs: [containerRef],
99
108
  onOutsideClick: () => setVisible(false)
100
109
  });
101
- chunkZYPEO2KY_js.useEscapeKey({
110
+ chunkPGBKMW4Q_js.useEscapeKey({
102
111
  enabled: visible,
103
112
  onEscape: () => setVisible(false)
104
113
  });
105
- const { x, y, placement } = chunkZYPEO2KY_js.useFloating({
114
+ const { x, y, placement } = chunkPGBKMW4Q_js.useFloating({
106
115
  referenceRef: triggerRef,
107
116
  floatingRef,
108
117
  enabled: visible,
@@ -143,7 +152,7 @@ var Dropdown = ({
143
152
  if (triggerElement == null) triggerElement = child;
144
153
  return;
145
154
  }
146
- if (child.type === chunkEQWQXURG_js.DropdownMenu) {
155
+ if (child.type === DropdownMenu) {
147
156
  menuElement = child;
148
157
  return;
149
158
  }
@@ -201,3 +210,4 @@ var Dropdown = ({
201
210
 
202
211
  exports.Dropdown = Dropdown;
203
212
  exports.DropdownContext = DropdownContext;
213
+ exports.DropdownMenu = DropdownMenu;
@@ -1,5 +1,5 @@
1
1
  import { Textarea } from './chunk-7QZ4XT2P.mjs';
2
- import { Button } from './chunk-3KMKMAE3.mjs';
2
+ import { Button } from './chunk-GKJNQUTW.mjs';
3
3
  import { Tag } from './chunk-TGKNEMD4.mjs';
4
4
  import { Text } from './chunk-HLS4CHWX.mjs';
5
5
  import { Avatar } from './chunk-FE7PEZTI.mjs';
@@ -178,7 +178,7 @@ var CommentThread = ({
178
178
  ] }),
179
179
  /* @__PURE__ */ jsx("div", { className: "text-sm text-[var(--tiger-text-secondary,#4b5563)] leading-relaxed break-words mt-1.5 mb-2", children: node.content }),
180
180
  actions.length > 0 ? /* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center gap-1", children: actions }) : null,
181
- replyingTo === node.id ? /* @__PURE__ */ jsxs("div", { className: "mt-3 space-y-2 bg-[var(--tiger-surface-muted,#f9fafb)] p-3 rounded-lg", children: [
181
+ replyingTo === node.id ? /* @__PURE__ */ jsxs("div", { className: "mt-3 space-y-2 bg-[var(--tiger-surface-muted,#f9fafb)] p-3 rounded-[var(--tiger-radius-md,0.5rem)]", children: [
182
182
  /* @__PURE__ */ jsx(
183
183
  Textarea,
184
184
  {
@@ -249,6 +249,7 @@ var CommentThread = ({
249
249
  "div",
250
250
  {
251
251
  className: classNames("tiger-comment-thread flex flex-col", className),
252
+ role: divProps.role ?? "feed",
252
253
  "data-tiger-comment-thread": true,
253
254
  "aria-label": divProps["aria-label"] ?? (divProps["aria-labelledby"] ? void 0 : "\u8BC4\u8BBA\u7EBF\u7A0B"),
254
255
  ...divProps,