@expcat/tigercat-vue 0.4.2 → 1.0.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 (475) hide show
  1. package/dist/{chunk-ATGOHL6L.mjs → chunk-243JSTYQ.mjs} +6 -6
  2. package/dist/chunk-2S5CNU36.js +163 -0
  3. package/dist/{chunk-ROKUXJBS.js → chunk-2SK6T4WB.js} +3 -3
  4. package/dist/{chunk-7RRA3TIG.mjs → chunk-2TNZ4JNT.mjs} +20 -2
  5. package/dist/chunk-2WJADO6O.mjs +298 -0
  6. package/dist/{chunk-BFNHRBWN.js → chunk-2WZGK7XJ.js} +6 -6
  7. package/dist/chunk-33C5E3AQ.mjs +328 -0
  8. package/dist/chunk-34ZZLKQ4.js +184 -0
  9. package/dist/chunk-3FVWZYBQ.js +196 -0
  10. package/dist/chunk-3G7QYQYL.js +95 -0
  11. package/dist/chunk-3MC45EXP.mjs +86 -0
  12. package/dist/{chunk-LGRUMMOG.js → chunk-3YWYAQR6.js} +9 -9
  13. package/dist/chunk-43BLH7DE.js +154 -0
  14. package/dist/{chunk-GWJSBFLF.js → chunk-46XPSPG4.js} +21 -6
  15. package/dist/chunk-4BMFV4CH.mjs +204 -0
  16. package/dist/chunk-4F5ABXXM.js +248 -0
  17. package/dist/{chunk-J5J4UYGP.mjs → chunk-4K2CCBFT.mjs} +65 -5
  18. package/dist/{chunk-HTMTOXUO.mjs → chunk-4KCCUIGO.mjs} +4 -4
  19. package/dist/chunk-4Y2SJZB5.js +262 -0
  20. package/dist/{chunk-YCI7GRQY.mjs → chunk-564LMZQL.mjs} +6 -6
  21. package/dist/{chunk-QLK4ZC2B.js → chunk-5AXCKK6Z.js} +4 -4
  22. package/dist/{chunk-EAMHOEAJ.js → chunk-5DXIYS7U.js} +11 -11
  23. package/dist/{chunk-CEAMHLIL.js → chunk-5JSU44MQ.js} +12 -0
  24. package/dist/chunk-5XF5IAUD.mjs +193 -0
  25. package/dist/chunk-5Y3HYEQD.js +64 -0
  26. package/dist/{chunk-LDCTSE6Y.mjs → chunk-665NGSV3.mjs} +3 -3
  27. package/dist/{chunk-WIPPSHI6.mjs → chunk-6A57RY3H.mjs} +6 -6
  28. package/dist/{chunk-7AFJ7TKW.js → chunk-6DP7XE77.js} +7 -6
  29. package/dist/chunk-6VG6ARQG.js +206 -0
  30. package/dist/chunk-6XU5PSC2.js +195 -0
  31. package/dist/{chunk-MJ7RGL34.mjs → chunk-7DGAOCPX.mjs} +64 -3
  32. package/dist/{chunk-W36SYMVH.js → chunk-7VSD3NPI.js} +91 -43
  33. package/dist/{chunk-D5CR2P7K.mjs → chunk-A64AWAOW.mjs} +44 -14
  34. package/dist/{chunk-F5AI7CPC.js → chunk-AAO2B46J.js} +44 -3
  35. package/dist/{chunk-ZREPAOSW.mjs → chunk-ABPOLQLE.mjs} +1 -1
  36. package/dist/chunk-AFKNO6SF.js +76 -0
  37. package/dist/chunk-AGQNHT65.mjs +92 -0
  38. package/dist/{chunk-YQGKXFV5.js → chunk-BDMWFNTC.js} +2 -2
  39. package/dist/chunk-BFS7XO3E.js +318 -0
  40. package/dist/{chunk-7TGLZQV5.js → chunk-BNIUWON3.js} +9 -5
  41. package/dist/chunk-BPAN6T7H.mjs +135 -0
  42. package/dist/{chunk-K6HDRMPN.js → chunk-BUTNEKFD.js} +6 -5
  43. package/dist/chunk-BYNMOQBB.js +301 -0
  44. package/dist/chunk-BZBVSB43.js +138 -0
  45. package/dist/{chunk-5BAN4GHQ.mjs → chunk-C76CIM26.mjs} +2 -1
  46. package/dist/chunk-CG3AMK5U.mjs +38 -0
  47. package/dist/chunk-CQPHZU3H.mjs +73 -0
  48. package/dist/chunk-CXJUEG75.js +331 -0
  49. package/dist/{chunk-ATOLZW76.js → chunk-D6AWPRGV.js} +91 -17
  50. package/dist/{chunk-MYF3ZRV3.mjs → chunk-DBPY5M7Y.mjs} +23 -8
  51. package/dist/chunk-DC5J25FH.mjs +245 -0
  52. package/dist/chunk-DYSLYJ2W.js +88 -0
  53. package/dist/chunk-E2GQSWHK.mjs +93 -0
  54. package/dist/{chunk-XEU42TLP.js → chunk-ECUROLZ7.js} +64 -3
  55. package/dist/chunk-ELEAQEMV.mjs +61 -0
  56. package/dist/{chunk-GNKXBRXH.js → chunk-ESTA5C5P.js} +7 -7
  57. package/dist/chunk-EXQSRZJX.mjs +315 -0
  58. package/dist/chunk-EZXW4HIZ.mjs +149 -0
  59. package/dist/chunk-FIV4PKWT.js +89 -0
  60. package/dist/chunk-FOF7UBMU.js +180 -0
  61. package/dist/{chunk-SKV2HHBC.js → chunk-FUGSQXFR.js} +64 -4
  62. package/dist/chunk-G3SWTL27.js +103 -0
  63. package/dist/{chunk-6PZZNM3S.js → chunk-G4ZD6COW.js} +26 -15
  64. package/dist/{chunk-B6ER2B2D.js → chunk-GA5S2KNZ.js} +2 -2
  65. package/dist/chunk-GHPSCR6M.js +69 -0
  66. package/dist/{chunk-3WM7WK7E.js → chunk-GJFT5IQR.js} +32 -36
  67. package/dist/chunk-GMYSHJCU.mjs +143 -0
  68. package/dist/{chunk-U7MDGSCQ.mjs → chunk-HKYYO326.mjs} +12 -0
  69. package/dist/chunk-HRIKUP6R.js +106 -0
  70. package/dist/chunk-HSXB2ASL.mjs +265 -0
  71. package/dist/{chunk-DEFEAEYE.mjs → chunk-HTOCKV2N.mjs} +306 -105
  72. package/dist/{chunk-327O6FN7.mjs → chunk-HXLCWM2J.mjs} +36 -24
  73. package/dist/chunk-I5K3R4FN.mjs +149 -0
  74. package/dist/chunk-I6RGE7XQ.js +152 -0
  75. package/dist/{chunk-3ZHQJ4W6.mjs → chunk-IOBJYUUO.mjs} +31 -35
  76. package/dist/chunk-IZF4VHJ2.mjs +100 -0
  77. package/dist/{chunk-OOKS4KMK.js → chunk-JCMGBKS6.js} +19 -0
  78. package/dist/{chunk-R7DMRLHV.mjs → chunk-JGUXQMYL.mjs} +1 -1
  79. package/dist/chunk-JIMDJWZZ.js +52 -0
  80. package/dist/chunk-JM3ZZYTE.mjs +181 -0
  81. package/dist/{chunk-UWVUDZVA.js → chunk-JN63Z5E5.js} +3 -21
  82. package/dist/chunk-JSIQIWYP.js +41 -0
  83. package/dist/{chunk-UKJSG75K.js → chunk-KFE7T7CN.js} +3 -3
  84. package/dist/{chunk-YXN3YY5Y.mjs → chunk-KOTSKHPQ.mjs} +30 -12
  85. package/dist/chunk-KYQAAQKV.mjs +192 -0
  86. package/dist/{chunk-KCJPJQIS.js → chunk-LFV3KYO2.js} +7 -7
  87. package/dist/chunk-LGVPLGK3.mjs +361 -0
  88. package/dist/chunk-LHPBK4MG.js +92 -0
  89. package/dist/{chunk-AO4QQVBB.mjs → chunk-LJJ3VTR3.mjs} +5 -5
  90. package/dist/{chunk-EBTLMVDJ.js → chunk-LLU76X6I.js} +3 -3
  91. package/dist/{chunk-WMM3FR3W.mjs → chunk-LV3BMS4U.mjs} +1 -1
  92. package/dist/{chunk-P47EXOAW.mjs → chunk-M6PEW6V5.mjs} +89 -41
  93. package/dist/{chunk-D6MR5YRE.mjs → chunk-M7JUNLA7.mjs} +25 -12
  94. package/dist/chunk-MADOTDW7.mjs +129 -0
  95. package/dist/{chunk-N3T6BQGK.js → chunk-MI5EG5QX.js} +3 -2
  96. package/dist/{chunk-QERCB3HM.mjs → chunk-MKLJ2LJW.mjs} +17 -3
  97. package/dist/chunk-MNH3KNSN.js +152 -0
  98. package/dist/chunk-MX2KCWM2.js +193 -0
  99. package/dist/chunk-NAHD6ZRR.mjs +65 -0
  100. package/dist/chunk-NOZ65AMO.js +96 -0
  101. package/dist/chunk-NXGCLBVG.js +268 -0
  102. package/dist/{chunk-TCJBN2DA.mjs → chunk-OEHCRIVT.mjs} +4 -4
  103. package/dist/chunk-OMYSFPX6.mjs +173 -0
  104. package/dist/{chunk-W2OCMRRH.mjs → chunk-OXOCGMPN.mjs} +1 -1
  105. package/dist/{chunk-RVEEEDJQ.mjs → chunk-P4X7GS2X.mjs} +1 -1
  106. package/dist/{chunk-HNQZ5JRB.js → chunk-PBWSBNDS.js} +31 -2
  107. package/dist/{chunk-6MJBCXPO.js → chunk-PUALBK3Y.js} +42 -12
  108. package/dist/chunk-PXRF4IJO.mjs +159 -0
  109. package/dist/chunk-Q57TYGO4.js +123 -0
  110. package/dist/{chunk-TQOMX62N.js → chunk-Q6CGPWQF.js} +7 -7
  111. package/dist/{chunk-ZZ5LMO3X.js → chunk-QDFUM2QT.js} +35 -23
  112. package/dist/{chunk-YCUO6ZKS.mjs → chunk-QDNTISP7.mjs} +25 -6
  113. package/dist/{chunk-GALASVSG.mjs → chunk-QNODDATK.mjs} +31 -2
  114. package/dist/chunk-RB7KVVWE.mjs +259 -0
  115. package/dist/{chunk-LNWRZKX2.js → chunk-RDV4BMTK.js} +5 -5
  116. package/dist/{chunk-ENVHCXM5.js → chunk-RQREJGY3.js} +2 -2
  117. package/dist/chunk-RSBAFDUA.mjs +89 -0
  118. package/dist/chunk-S276SM7L.mjs +146 -0
  119. package/dist/{chunk-S4GFEADD.js → chunk-SEKYX56R.js} +18 -4
  120. package/dist/chunk-SI3JIHH4.js +184 -0
  121. package/dist/chunk-T52TU2RW.mjs +190 -0
  122. package/dist/{chunk-VBXPDCRX.js → chunk-TDL4BUUB.js} +7 -7
  123. package/dist/{chunk-NTUGEHEI.mjs → chunk-TW64ZNZY.mjs} +2 -2
  124. package/dist/{chunk-Y5AZNO2W.js → chunk-U2K7CF67.js} +28 -9
  125. package/dist/chunk-U5ABMOOV.js +364 -0
  126. package/dist/{chunk-DELTFEEJ.js → chunk-U7CCKZAG.js} +24 -11
  127. package/dist/{chunk-WV3Y45YK.js → chunk-UG6XPJ2N.js} +305 -104
  128. package/dist/chunk-UPPRQ3ZS.js +132 -0
  129. package/dist/chunk-UQK22ZMC.mjs +151 -0
  130. package/dist/{chunk-NV6GZPJP.mjs → chunk-UWL2XUAH.mjs} +4 -22
  131. package/dist/{chunk-LUN3PRLX.js → chunk-V4PBWEAU.js} +25 -1
  132. package/dist/chunk-VDNAGLQJ.js +176 -0
  133. package/dist/chunk-VIIGYWUY.mjs +83 -0
  134. package/dist/chunk-W2WGLETE.mjs +177 -0
  135. package/dist/chunk-W3Y22PMU.mjs +48 -0
  136. package/dist/chunk-W6TMZ7ZT.js +207 -0
  137. package/dist/chunk-WFISP42H.mjs +93 -0
  138. package/dist/chunk-WLKOJFOC.mjs +120 -0
  139. package/dist/{chunk-5XY7MXWC.mjs → chunk-WNF7XUX4.mjs} +93 -19
  140. package/dist/{chunk-HFBRO2IF.mjs → chunk-XA5QMUZX.mjs} +1 -1
  141. package/dist/chunk-XFZZWZ6Q.js +149 -0
  142. package/dist/{chunk-WEFQCJAG.js → chunk-XGXGAK27.js} +29 -11
  143. package/dist/{chunk-EVOLGCGW.mjs → chunk-XNORTTVQ.mjs} +44 -3
  144. package/dist/{chunk-TRDG56CB.mjs → chunk-XP5M2GK7.mjs} +27 -3
  145. package/dist/chunk-XQKIMRRF.js +146 -0
  146. package/dist/chunk-XTMGF5YP.js +97 -0
  147. package/dist/chunk-XYIAHZNM.mjs +181 -0
  148. package/dist/{chunk-7J44XQKW.mjs → chunk-YFD6RD7P.mjs} +26 -15
  149. package/dist/{chunk-MB7W46IY.mjs → chunk-YH7N5GZF.mjs} +5 -4
  150. package/dist/chunk-YUEBMBOH.mjs +103 -0
  151. package/dist/chunk-YYZBVHVC.mjs +203 -0
  152. package/dist/{chunk-LLK2OK3K.mjs → chunk-Z2NMFYF4.mjs} +1 -1
  153. package/dist/{chunk-MMQ34S5M.mjs → chunk-ZUVR5UZL.mjs} +7 -6
  154. package/dist/{chunk-37WD7WPC.mjs → chunk-ZXR4DAAO.mjs} +9 -5
  155. package/dist/components/ActivityFeed.d.mts +1 -1
  156. package/dist/components/ActivityFeed.d.ts +1 -1
  157. package/dist/components/ActivityFeed.js +4 -4
  158. package/dist/components/ActivityFeed.mjs +2 -2
  159. package/dist/components/Affix.d.mts +75 -0
  160. package/dist/components/Affix.d.ts +75 -0
  161. package/dist/components/Affix.js +17 -0
  162. package/dist/components/Affix.mjs +2 -0
  163. package/dist/components/Alert.d.mts +51 -0
  164. package/dist/components/Alert.d.ts +51 -0
  165. package/dist/components/Alert.js +4 -4
  166. package/dist/components/Alert.mjs +2 -2
  167. package/dist/components/AreaChart.js +5 -5
  168. package/dist/components/AreaChart.mjs +3 -3
  169. package/dist/components/AutoComplete.d.mts +108 -0
  170. package/dist/components/AutoComplete.d.ts +108 -0
  171. package/dist/components/AutoComplete.js +17 -0
  172. package/dist/components/AutoComplete.mjs +2 -0
  173. package/dist/components/AvatarGroup.d.mts +49 -0
  174. package/dist/components/AvatarGroup.d.ts +49 -0
  175. package/dist/components/AvatarGroup.js +21 -0
  176. package/dist/components/AvatarGroup.mjs +2 -0
  177. package/dist/components/BarChart.js +5 -5
  178. package/dist/components/BarChart.mjs +3 -3
  179. package/dist/components/BreadcrumbItem.d.mts +3 -3
  180. package/dist/components/BreadcrumbItem.d.ts +3 -3
  181. package/dist/components/Button.d.mts +35 -7
  182. package/dist/components/Button.d.ts +35 -7
  183. package/dist/components/Button.js +3 -3
  184. package/dist/components/Button.mjs +1 -1
  185. package/dist/components/ButtonGroup.d.mts +42 -0
  186. package/dist/components/ButtonGroup.d.ts +42 -0
  187. package/dist/components/ButtonGroup.js +21 -0
  188. package/dist/components/ButtonGroup.mjs +2 -0
  189. package/dist/components/Calendar.d.mts +58 -0
  190. package/dist/components/Calendar.d.ts +58 -0
  191. package/dist/components/Calendar.js +17 -0
  192. package/dist/components/Calendar.mjs +2 -0
  193. package/dist/components/Card.d.mts +19 -1
  194. package/dist/components/Card.d.ts +19 -1
  195. package/dist/components/Card.js +3 -3
  196. package/dist/components/Card.mjs +1 -1
  197. package/dist/components/Cascader.d.mts +127 -0
  198. package/dist/components/Cascader.d.ts +127 -0
  199. package/dist/components/Cascader.js +17 -0
  200. package/dist/components/Cascader.mjs +2 -0
  201. package/dist/components/ChatWindow.js +5 -5
  202. package/dist/components/ChatWindow.mjs +3 -3
  203. package/dist/components/CodeEditor.d.mts +167 -0
  204. package/dist/components/CodeEditor.d.ts +167 -0
  205. package/dist/components/CodeEditor.js +17 -0
  206. package/dist/components/CodeEditor.mjs +2 -0
  207. package/dist/components/ColorPicker.d.mts +70 -0
  208. package/dist/components/ColorPicker.d.ts +70 -0
  209. package/dist/components/ColorPicker.js +17 -0
  210. package/dist/components/ColorPicker.mjs +2 -0
  211. package/dist/components/CommentThread.d.mts +2 -2
  212. package/dist/components/CommentThread.d.ts +2 -2
  213. package/dist/components/CommentThread.js +4 -4
  214. package/dist/components/CommentThread.mjs +2 -2
  215. package/dist/components/ConfigProvider.d.mts +21 -1
  216. package/dist/components/ConfigProvider.d.ts +21 -1
  217. package/dist/components/ConfigProvider.js +5 -5
  218. package/dist/components/ConfigProvider.mjs +1 -1
  219. package/dist/components/CropUpload.js +5 -5
  220. package/dist/components/CropUpload.mjs +3 -3
  221. package/dist/components/DataTableWithToolbar.d.mts +1 -1
  222. package/dist/components/DataTableWithToolbar.d.ts +1 -1
  223. package/dist/components/DataTableWithToolbar.js +7 -7
  224. package/dist/components/DataTableWithToolbar.mjs +5 -5
  225. package/dist/components/DatePicker.d.mts +16 -1
  226. package/dist/components/DatePicker.d.ts +16 -1
  227. package/dist/components/DatePicker.js +4 -3
  228. package/dist/components/DatePicker.mjs +2 -1
  229. package/dist/components/Descriptions.d.mts +7 -9
  230. package/dist/components/Descriptions.d.ts +7 -9
  231. package/dist/components/Descriptions.js +3 -3
  232. package/dist/components/Descriptions.mjs +1 -1
  233. package/dist/components/DonutChart.js +5 -5
  234. package/dist/components/DonutChart.mjs +3 -3
  235. package/dist/components/Drawer.d.mts +23 -8
  236. package/dist/components/Drawer.d.ts +23 -8
  237. package/dist/components/Drawer.js +3 -3
  238. package/dist/components/Drawer.mjs +1 -1
  239. package/dist/components/Dropdown.d.mts +13 -13
  240. package/dist/components/Dropdown.d.ts +13 -13
  241. package/dist/components/Dropdown.js +4 -4
  242. package/dist/components/Dropdown.mjs +1 -1
  243. package/dist/components/DropdownItem.js +4 -4
  244. package/dist/components/DropdownItem.mjs +2 -2
  245. package/dist/components/Empty.d.mts +64 -0
  246. package/dist/components/Empty.d.ts +64 -0
  247. package/dist/components/Empty.js +17 -0
  248. package/dist/components/Empty.mjs +2 -0
  249. package/dist/components/FileManager.d.mts +161 -0
  250. package/dist/components/FileManager.d.ts +161 -0
  251. package/dist/components/FileManager.js +17 -0
  252. package/dist/components/FileManager.mjs +2 -0
  253. package/dist/components/FloatButton.d.mts +156 -0
  254. package/dist/components/FloatButton.d.ts +156 -0
  255. package/dist/components/FloatButton.js +21 -0
  256. package/dist/components/FloatButton.mjs +2 -0
  257. package/dist/components/Form.d.mts +45 -0
  258. package/dist/components/Form.d.ts +45 -0
  259. package/dist/components/Form.js +4 -4
  260. package/dist/components/Form.mjs +1 -1
  261. package/dist/components/FormItem.d.mts +18 -1
  262. package/dist/components/FormItem.d.ts +18 -1
  263. package/dist/components/FormItem.js +4 -4
  264. package/dist/components/FormItem.mjs +2 -2
  265. package/dist/components/FormWizard.d.mts +9 -0
  266. package/dist/components/FormWizard.d.ts +9 -0
  267. package/dist/components/FormWizard.js +5 -5
  268. package/dist/components/FormWizard.mjs +3 -3
  269. package/dist/components/FunnelChart.d.mts +212 -0
  270. package/dist/components/FunnelChart.d.ts +212 -0
  271. package/dist/components/FunnelChart.js +22 -0
  272. package/dist/components/FunnelChart.mjs +7 -0
  273. package/dist/components/GaugeChart.d.mts +173 -0
  274. package/dist/components/GaugeChart.d.ts +173 -0
  275. package/dist/components/GaugeChart.js +18 -0
  276. package/dist/components/GaugeChart.mjs +3 -0
  277. package/dist/components/HeatmapChart.d.mts +209 -0
  278. package/dist/components/HeatmapChart.d.ts +209 -0
  279. package/dist/components/HeatmapChart.js +20 -0
  280. package/dist/components/HeatmapChart.mjs +5 -0
  281. package/dist/components/Image.d.mts +2 -1
  282. package/dist/components/Image.d.ts +2 -1
  283. package/dist/components/Image.js +5 -5
  284. package/dist/components/Image.mjs +2 -2
  285. package/dist/components/ImageGroup.js +5 -5
  286. package/dist/components/ImageGroup.mjs +2 -2
  287. package/dist/components/ImagePreview.d.mts +6 -6
  288. package/dist/components/ImagePreview.d.ts +6 -6
  289. package/dist/components/ImagePreview.js +4 -4
  290. package/dist/components/ImagePreview.mjs +2 -2
  291. package/dist/components/ImageViewer.d.mts +126 -0
  292. package/dist/components/ImageViewer.d.ts +126 -0
  293. package/dist/components/ImageViewer.js +17 -0
  294. package/dist/components/ImageViewer.mjs +2 -0
  295. package/dist/components/InfiniteScroll.d.mts +105 -0
  296. package/dist/components/InfiniteScroll.d.ts +105 -0
  297. package/dist/components/InfiniteScroll.js +17 -0
  298. package/dist/components/InfiniteScroll.mjs +2 -0
  299. package/dist/components/Input.d.mts +32 -0
  300. package/dist/components/Input.d.ts +32 -0
  301. package/dist/components/Input.js +3 -3
  302. package/dist/components/Input.mjs +1 -1
  303. package/dist/components/InputGroup.d.mts +77 -0
  304. package/dist/components/InputGroup.d.ts +77 -0
  305. package/dist/components/InputGroup.js +25 -0
  306. package/dist/components/InputGroup.mjs +2 -0
  307. package/dist/components/Kanban.d.mts +180 -0
  308. package/dist/components/Kanban.d.ts +180 -0
  309. package/dist/components/Kanban.js +18 -0
  310. package/dist/components/Kanban.mjs +3 -0
  311. package/dist/components/LineChart.js +5 -5
  312. package/dist/components/LineChart.mjs +3 -3
  313. package/dist/components/List.d.mts +18 -2
  314. package/dist/components/List.d.ts +18 -2
  315. package/dist/components/List.js +3 -3
  316. package/dist/components/List.mjs +1 -1
  317. package/dist/components/Mentions.d.mts +88 -0
  318. package/dist/components/Mentions.d.ts +88 -0
  319. package/dist/components/Mentions.js +17 -0
  320. package/dist/components/Mentions.mjs +2 -0
  321. package/dist/components/Menu.d.mts +1 -1
  322. package/dist/components/Menu.d.ts +1 -1
  323. package/dist/components/MenuItem.d.mts +1 -1
  324. package/dist/components/MenuItem.d.ts +1 -1
  325. package/dist/components/Message.js +5 -5
  326. package/dist/components/Message.mjs +2 -2
  327. package/dist/components/Modal.d.mts +40 -8
  328. package/dist/components/Modal.d.ts +40 -8
  329. package/dist/components/Modal.js +4 -4
  330. package/dist/components/Modal.mjs +2 -2
  331. package/dist/components/Notification.js +5 -5
  332. package/dist/components/Notification.mjs +2 -2
  333. package/dist/components/NotificationCenter.d.mts +1 -1
  334. package/dist/components/NotificationCenter.d.ts +1 -1
  335. package/dist/components/NotificationCenter.js +8 -8
  336. package/dist/components/NotificationCenter.mjs +6 -6
  337. package/dist/components/PieChart.js +4 -4
  338. package/dist/components/PieChart.mjs +2 -2
  339. package/dist/components/Popconfirm.d.mts +14 -14
  340. package/dist/components/Popconfirm.d.ts +14 -14
  341. package/dist/components/Popconfirm.js +4 -4
  342. package/dist/components/Popconfirm.mjs +2 -2
  343. package/dist/components/Popover.d.mts +13 -13
  344. package/dist/components/Popover.d.ts +13 -13
  345. package/dist/components/Popover.js +4 -4
  346. package/dist/components/Popover.mjs +2 -2
  347. package/dist/components/PrintLayout.d.mts +97 -0
  348. package/dist/components/PrintLayout.d.ts +97 -0
  349. package/dist/components/PrintLayout.js +21 -0
  350. package/dist/components/PrintLayout.mjs +2 -0
  351. package/dist/components/QRCode.d.mts +75 -0
  352. package/dist/components/QRCode.d.ts +75 -0
  353. package/dist/components/QRCode.js +17 -0
  354. package/dist/components/QRCode.mjs +2 -0
  355. package/dist/components/RadarChart.js +4 -4
  356. package/dist/components/RadarChart.mjs +2 -2
  357. package/dist/components/Rate.d.mts +80 -0
  358. package/dist/components/Rate.d.ts +80 -0
  359. package/dist/components/Rate.js +17 -0
  360. package/dist/components/Rate.mjs +2 -0
  361. package/dist/components/Resizable.d.mts +138 -0
  362. package/dist/components/Resizable.d.ts +138 -0
  363. package/dist/components/Resizable.js +17 -0
  364. package/dist/components/Resizable.mjs +2 -0
  365. package/dist/components/Result.d.mts +64 -0
  366. package/dist/components/Result.d.ts +64 -0
  367. package/dist/components/Result.js +18 -0
  368. package/dist/components/Result.mjs +3 -0
  369. package/dist/components/RichTextEditor.d.mts +107 -0
  370. package/dist/components/RichTextEditor.d.ts +107 -0
  371. package/dist/components/RichTextEditor.js +17 -0
  372. package/dist/components/RichTextEditor.mjs +2 -0
  373. package/dist/components/ScatterChart.js +5 -5
  374. package/dist/components/ScatterChart.mjs +3 -3
  375. package/dist/components/Segmented.d.mts +61 -0
  376. package/dist/components/Segmented.d.ts +61 -0
  377. package/dist/components/Segmented.js +17 -0
  378. package/dist/components/Segmented.mjs +2 -0
  379. package/dist/components/Select.d.mts +47 -0
  380. package/dist/components/Select.d.ts +47 -0
  381. package/dist/components/Select.js +3 -3
  382. package/dist/components/Select.mjs +1 -1
  383. package/dist/components/Splitter.d.mts +99 -0
  384. package/dist/components/Splitter.d.ts +99 -0
  385. package/dist/components/Splitter.js +17 -0
  386. package/dist/components/Splitter.mjs +2 -0
  387. package/dist/components/Statistic.d.mts +76 -0
  388. package/dist/components/Statistic.d.ts +76 -0
  389. package/dist/components/Statistic.js +17 -0
  390. package/dist/components/Statistic.mjs +2 -0
  391. package/dist/components/Stepper.d.mts +79 -0
  392. package/dist/components/Stepper.d.ts +79 -0
  393. package/dist/components/Stepper.js +17 -0
  394. package/dist/components/Stepper.mjs +2 -0
  395. package/dist/components/StepsItem.d.mts +1 -1
  396. package/dist/components/StepsItem.d.ts +1 -1
  397. package/dist/components/SubMenu.d.mts +1 -1
  398. package/dist/components/SubMenu.d.ts +1 -1
  399. package/dist/components/SunburstChart.d.mts +203 -0
  400. package/dist/components/SunburstChart.d.ts +203 -0
  401. package/dist/components/SunburstChart.js +22 -0
  402. package/dist/components/SunburstChart.mjs +7 -0
  403. package/dist/components/TabPane.js +4 -4
  404. package/dist/components/TabPane.mjs +2 -2
  405. package/dist/components/Table.d.mts +127 -4
  406. package/dist/components/Table.d.ts +127 -4
  407. package/dist/components/Table.js +3 -3
  408. package/dist/components/Table.mjs +1 -1
  409. package/dist/components/Tabs.d.mts +20 -0
  410. package/dist/components/Tabs.d.ts +20 -0
  411. package/dist/components/Tabs.js +4 -4
  412. package/dist/components/Tabs.mjs +1 -1
  413. package/dist/components/TaskBoard.d.mts +1 -1
  414. package/dist/components/TaskBoard.d.ts +1 -1
  415. package/dist/components/TaskBoard.js +4 -4
  416. package/dist/components/TaskBoard.mjs +2 -2
  417. package/dist/components/TimePicker.js +4 -3
  418. package/dist/components/TimePicker.mjs +2 -1
  419. package/dist/components/Tooltip.d.mts +13 -13
  420. package/dist/components/Tooltip.d.ts +13 -13
  421. package/dist/components/Tooltip.js +4 -4
  422. package/dist/components/Tooltip.mjs +2 -2
  423. package/dist/components/Tour.d.mts +109 -0
  424. package/dist/components/Tour.d.ts +109 -0
  425. package/dist/components/Tour.js +18 -0
  426. package/dist/components/Tour.mjs +3 -0
  427. package/dist/components/Transfer.d.mts +97 -0
  428. package/dist/components/Transfer.d.ts +97 -0
  429. package/dist/components/Transfer.js +17 -0
  430. package/dist/components/Transfer.mjs +2 -0
  431. package/dist/components/Tree.d.mts +34 -3
  432. package/dist/components/Tree.d.ts +34 -3
  433. package/dist/components/Tree.js +3 -3
  434. package/dist/components/Tree.mjs +1 -1
  435. package/dist/components/TreeMapChart.d.mts +212 -0
  436. package/dist/components/TreeMapChart.d.ts +212 -0
  437. package/dist/components/TreeMapChart.js +22 -0
  438. package/dist/components/TreeMapChart.mjs +7 -0
  439. package/dist/components/TreeSelect.d.mts +106 -0
  440. package/dist/components/TreeSelect.d.ts +106 -0
  441. package/dist/components/TreeSelect.js +17 -0
  442. package/dist/components/TreeSelect.mjs +2 -0
  443. package/dist/components/Upload.js +4 -4
  444. package/dist/components/Upload.mjs +2 -2
  445. package/dist/components/VirtualList.d.mts +49 -0
  446. package/dist/components/VirtualList.d.ts +49 -0
  447. package/dist/components/VirtualList.js +17 -0
  448. package/dist/components/VirtualList.mjs +2 -0
  449. package/dist/components/VirtualTable.d.mts +157 -0
  450. package/dist/components/VirtualTable.d.ts +157 -0
  451. package/dist/components/VirtualTable.js +17 -0
  452. package/dist/components/VirtualTable.mjs +2 -0
  453. package/dist/components/Watermark.d.mts +144 -0
  454. package/dist/components/Watermark.d.ts +144 -0
  455. package/dist/components/Watermark.js +17 -0
  456. package/dist/components/Watermark.mjs +2 -0
  457. package/dist/index.d.mts +75 -2
  458. package/dist/index.d.ts +75 -2
  459. package/dist/index.js +448 -163
  460. package/dist/index.mjs +186 -61
  461. package/package.json +2 -2
  462. package/dist/chunk-VURU7TLN.mjs +0 -203
  463. package/dist/chunk-WC4B72TZ.js +0 -206
  464. package/dist/{chunk-GCKACSWD.js → chunk-2J54DRDA.js} +2 -2
  465. package/dist/{chunk-TGLAMZ4N.js → chunk-35VYCSVH.js} +2 -2
  466. package/dist/{chunk-OO5UMN5M.js → chunk-5NOZXKMU.js} +2 -2
  467. package/dist/{chunk-IIU6FINW.mjs → chunk-FK2XBMC3.mjs} +1 -1
  468. package/dist/{chunk-ZLYXAZUY.mjs → chunk-HFCVHAQ6.mjs} +2 -2
  469. package/dist/{chunk-P2ASDGNV.mjs → chunk-MYFQ3B2D.mjs} +2 -2
  470. package/dist/{chunk-DATFV22V.mjs → chunk-NVJRZYES.mjs} +1 -1
  471. package/dist/{chunk-3L36R3UN.js → chunk-THEYWGOT.js} +1 -1
  472. package/dist/{chunk-LDN2MZEU.mjs → chunk-TYFUO6PE.mjs} +2 -2
  473. package/dist/{chunk-BS45PHVI.mjs → chunk-UNR5RUET.mjs} +2 -2
  474. package/dist/{chunk-R7S7O3YU.js → chunk-VITTXNTD.js} +1 -1
  475. package/dist/{chunk-4NSRGKRB.js → chunk-W5A4E4C7.js} +2 -2
@@ -33,6 +33,20 @@ var LockIcon = (locked) => {
33
33
  [vue.h("path", { d: locked ? tigercatCore.lockClosedIcon24PathD : tigercatCore.lockOpenIcon24PathD })]
34
34
  );
35
35
  };
36
+ var ExpandIcon = (expanded) => {
37
+ return vue.h(
38
+ "svg",
39
+ {
40
+ class: tigercatCore.getExpandIconClasses(expanded),
41
+ width: "16",
42
+ height: "16",
43
+ viewBox: tigercatCore.icon16ViewBox,
44
+ fill: "currentColor",
45
+ "aria-hidden": "true"
46
+ },
47
+ [vue.h("path", { d: tigercatCore.expandChevronIcon16PathD })]
48
+ );
49
+ };
36
50
  var LoadingSpinner = () => {
37
51
  return vue.h(
38
52
  "svg",
@@ -198,7 +212,20 @@ var Table = vue.defineComponent({
198
212
  tableLayout: {
199
213
  type: String,
200
214
  default: "auto"
201
- }
215
+ },
216
+ // --- v0.6.0 props ---
217
+ virtual: { type: Boolean, default: false },
218
+ virtualHeight: { type: Number, default: 400 },
219
+ virtualItemHeight: { type: Number, default: 40 },
220
+ editable: { type: Boolean, default: false },
221
+ editableCells: { type: Object },
222
+ filterMode: { type: String, default: "basic" },
223
+ advancedFilterRules: { type: Array, default: () => [] },
224
+ columnDraggable: { type: Boolean, default: false },
225
+ summaryRow: { type: Object },
226
+ groupBy: { type: String },
227
+ exportable: { type: Boolean, default: false },
228
+ exportFilename: { type: String, default: "export" }
202
229
  },
203
230
  emits: [
204
231
  "change",
@@ -207,7 +234,10 @@ var Table = vue.defineComponent({
207
234
  "sort-change",
208
235
  "filter-change",
209
236
  "page-change",
210
- "expanded-rows-change"
237
+ "expand-change",
238
+ "cell-change",
239
+ "column-order-change",
240
+ "export"
211
241
  ],
212
242
  setup(props, { emit, slots }) {
213
243
  const paginationConfig = vue.computed(() => {
@@ -247,7 +277,6 @@ var Table = vue.defineComponent({
247
277
  const expandedRowKeys = vue.computed(() => {
248
278
  return props.expandable?.expandedRowKeys ?? uncontrolledExpandedRowKeys.value;
249
279
  });
250
- const expandedRowKeySet = vue.computed(() => new Set(expandedRowKeys.value));
251
280
  vue.watch(
252
281
  () => props.sort,
253
282
  (next) => {
@@ -288,6 +317,14 @@ var Table = vue.defineComponent({
288
317
  }
289
318
  }
290
319
  );
320
+ vue.watch(
321
+ () => props.expandable?.expandedRowKeys,
322
+ (next) => {
323
+ if (next !== void 0) {
324
+ uncontrolledExpandedRowKeys.value = next;
325
+ }
326
+ }
327
+ );
291
328
  const fixedOverrides = vue.ref({});
292
329
  const displayColumns = vue.computed(() => {
293
330
  return props.columns.map((column) => {
@@ -317,7 +354,11 @@ var Table = vue.defineComponent({
317
354
  }
318
355
  const processedData = vue.computed(() => {
319
356
  let data = props.dataSource;
320
- data = tigercatCore.filterData(data, filterState.value);
357
+ if (props.filterMode === "advanced" && props.advancedFilterRules.length > 0) {
358
+ data = tigercatCore.filterDataAdvanced(data, props.advancedFilterRules);
359
+ } else {
360
+ data = tigercatCore.filterData(data, filterState.value);
361
+ }
321
362
  if (sortState.value.key && sortState.value.direction) {
322
363
  const column = columnByKey.value[sortState.value.key];
323
364
  data = tigercatCore.sortData(data, sortState.value.key, sortState.value.direction, column?.sortFn);
@@ -336,6 +377,15 @@ var Table = vue.defineComponent({
336
377
  const selectedRowKeySet = vue.computed(() => {
337
378
  return new Set(selectedRowKeys.value);
338
379
  });
380
+ const expandedRowKeySet = vue.computed(() => {
381
+ return new Set(expandedRowKeys.value);
382
+ });
383
+ const totalColumnCount = vue.computed(() => {
384
+ let count = displayColumns.value.length;
385
+ if (props.rowSelection) count += 1;
386
+ if (props.expandable) count += 1;
387
+ return count;
388
+ });
339
389
  const paginationInfo = vue.computed(() => {
340
390
  if (props.pagination === false) {
341
391
  return null;
@@ -419,6 +469,21 @@ var Table = vue.defineComponent({
419
469
  }
420
470
  function handleRowClick(record, index) {
421
471
  emit("row-click", record, index);
472
+ if (props.expandable?.expandRowByClick) {
473
+ const key = tigercatCore.getRowKey(record, props.rowKey, index);
474
+ const isExpandable = props.expandable?.rowExpandable ? props.expandable.rowExpandable(record) : true;
475
+ if (isExpandable) {
476
+ handleToggleExpand(key, record);
477
+ }
478
+ }
479
+ }
480
+ function handleToggleExpand(key, record) {
481
+ const isExpanded = expandedRowKeySet.value.has(key);
482
+ const newKeys = isExpanded ? expandedRowKeys.value.filter((k) => k !== key) : [...expandedRowKeys.value, key];
483
+ if (!isExpandControlled.value) {
484
+ uncontrolledExpandedRowKeys.value = newKeys;
485
+ }
486
+ emit("expand-change", newKeys, record, !isExpanded);
422
487
  }
423
488
  function handleSelectRow(key, checked) {
424
489
  let newKeys;
@@ -459,24 +524,100 @@ var Table = vue.defineComponent({
459
524
  const someSelected = vue.computed(() => {
460
525
  return selectedRowKeys.value.length > 0 && !allSelected.value;
461
526
  });
462
- function handleToggleExpand(key) {
463
- const isExp = expandedRowKeySet.value.has(key);
464
- const next = isExp ? expandedRowKeys.value.filter((k) => k !== key) : [...expandedRowKeys.value, key];
465
- if (!isExpandControlled.value) {
466
- uncontrolledExpandedRowKeys.value = next;
527
+ const editingCell = vue.ref(null);
528
+ const editingValue = vue.ref("");
529
+ function isCellEditable(columnKey, rowIndex) {
530
+ if (!props.editable) return false;
531
+ if (!props.editableCells) return true;
532
+ return !!props.editableCells.get(columnKey)?.has(rowIndex);
533
+ }
534
+ function startEditing(rowIndex, columnKey, currentValue) {
535
+ editingCell.value = { rowIndex, columnKey };
536
+ editingValue.value = String(currentValue ?? "");
537
+ }
538
+ function commitEdit() {
539
+ if (editingCell.value) {
540
+ emit(
541
+ "cell-change",
542
+ editingCell.value.rowIndex,
543
+ editingCell.value.columnKey,
544
+ editingValue.value
545
+ );
546
+ editingCell.value = null;
467
547
  }
468
- emit("expanded-rows-change", next);
469
548
  }
470
- const totalColumnCount = vue.computed(() => {
471
- let count = displayColumns.value.length;
472
- if (props.rowSelection && props.rowSelection.showCheckbox !== false) count++;
473
- if (props.expandable) count++;
474
- return count;
549
+ function cancelEdit() {
550
+ editingCell.value = null;
551
+ }
552
+ function handleExport() {
553
+ const csv = tigercatCore.exportTableToCsv(displayColumns.value, processedData.value);
554
+ tigercatCore.downloadCsv(csv, props.exportFilename);
555
+ emit("export", csv);
556
+ }
557
+ const dragColumnKey = vue.ref(null);
558
+ function handleDragStart(columnKey) {
559
+ dragColumnKey.value = columnKey;
560
+ }
561
+ function handleDrop(targetKey) {
562
+ if (!dragColumnKey.value || dragColumnKey.value === targetKey) return;
563
+ const cols = [...displayColumns.value];
564
+ const fromIdx = cols.findIndex((c) => c.key === dragColumnKey.value);
565
+ const toIdx = cols.findIndex((c) => c.key === targetKey);
566
+ if (fromIdx >= 0 && toIdx >= 0) {
567
+ const [moved] = cols.splice(fromIdx, 1);
568
+ cols.splice(toIdx, 0, moved);
569
+ emit("column-order-change", cols);
570
+ }
571
+ dragColumnKey.value = null;
572
+ }
573
+ const virtualScrollTop = vue.ref(0);
574
+ vue.computed(() => {
575
+ if (!props.virtual) return null;
576
+ return tigercatCore.getFixedVirtualRange(
577
+ virtualScrollTop.value,
578
+ props.virtualHeight,
579
+ props.virtualItemHeight,
580
+ paginatedData.value.length,
581
+ 5
582
+ );
475
583
  });
584
+ const groupedData = vue.computed(() => {
585
+ if (!props.groupBy) return null;
586
+ return tigercatCore.groupDataByColumn(paginatedData.value, props.groupBy);
587
+ });
588
+ function renderSummaryRow() {
589
+ if (!props.summaryRow?.show) return null;
590
+ const emptyCells = [];
591
+ if (props.rowSelection) {
592
+ emptyCells.push(vue.h("td", { class: tigercatCore.getTableCellClasses(props.size, "left") }));
593
+ }
594
+ if (props.expandable) {
595
+ emptyCells.push(vue.h("td", { class: tigercatCore.getTableCellClasses(props.size, "left") }));
596
+ }
597
+ const dataCells = displayColumns.value.map((col) => {
598
+ const dataKey = col.dataKey || col.key;
599
+ const val = props.summaryRow.data[dataKey];
600
+ return vue.h(
601
+ "td",
602
+ {
603
+ key: col.key,
604
+ class: tigercatCore.getTableCellClasses(props.size, col.align || "left", col.className)
605
+ },
606
+ val != null ? String(val) : ""
607
+ );
608
+ });
609
+ return vue.h("tfoot", [vue.h("tr", { class: tigercatCore.tableSummaryRowClasses }, [...emptyCells, ...dataCells])]);
610
+ }
476
611
  function renderTableHeader() {
477
612
  const headerCells = [];
478
- if (props.expandable && props.expandable.expandIconPosition !== "end") {
479
- headerCells.push(vue.h("th", { class: tigercatCore.getExpandCellClasses(props.size) }));
613
+ const expandAtStart = props.expandable && props.expandable.expandIconPosition !== "end";
614
+ const expandAtEnd = props.expandable && props.expandable.expandIconPosition === "end";
615
+ const expandHeaderTh = props.expandable ? vue.h("th", {
616
+ class: tigercatCore.getExpandIconCellClasses(props.size),
617
+ "aria-label": "Expand"
618
+ }) : null;
619
+ if (expandAtStart && expandHeaderTh) {
620
+ headerCells.push(expandHeaderTh);
480
621
  }
481
622
  if (props.rowSelection && props.rowSelection.showCheckbox !== false && props.rowSelection.type !== "radio") {
482
623
  headerCells.push(
@@ -564,6 +705,10 @@ var Table = vue.defineComponent({
564
705
  (isFixedLeft || isFixedRight) && "bg-[var(--tiger-surface-muted,#f9fafb)]"
565
706
  ),
566
707
  style,
708
+ draggable: props.columnDraggable ? "true" : void 0,
709
+ onDragstart: props.columnDraggable ? () => handleDragStart(column.key) : void 0,
710
+ onDragover: props.columnDraggable ? (e) => e.preventDefault() : void 0,
711
+ onDrop: props.columnDraggable ? () => handleDrop(column.key) : void 0,
567
712
  onClick: column.sortable ? () => handleSort(column.key) : void 0
568
713
  },
569
714
  [
@@ -597,8 +742,8 @@ var Table = vue.defineComponent({
597
742
  )
598
743
  );
599
744
  });
600
- if (props.expandable && props.expandable.expandIconPosition === "end") {
601
- headerCells.push(vue.h("th", { class: tigercatCore.getExpandCellClasses(props.size) }));
745
+ if (expandAtEnd && expandHeaderTh) {
746
+ headerCells.push(expandHeaderTh);
602
747
  }
603
748
  return vue.h("thead", { class: tigercatCore.getTableHeaderClasses(props.stickyHeader) }, [
604
749
  vue.h("tr", headerCells)
@@ -631,44 +776,38 @@ var Table = vue.defineComponent({
631
776
  ])
632
777
  ]);
633
778
  }
634
- const rows = paginatedData.value.flatMap((record, index) => {
635
- const key = paginatedRowKeys.value[index];
779
+ function renderDataRow(record, index) {
780
+ const key = tigercatCore.getRowKey(record, props.rowKey, index);
636
781
  const isSelected = selectedRowKeySet.value.has(key);
637
782
  const isExpanded = expandedRowKeySet.value.has(key);
638
- const isExpandable = props.expandable ? props.expandable.rowExpandable?.(record) ?? true : false;
783
+ const isRowExpandable = props.expandable ? props.expandable.rowExpandable ? props.expandable.rowExpandable(record) : true : false;
639
784
  const rowClass = typeof props.rowClassName === "function" ? props.rowClassName(record, index) : props.rowClassName;
640
785
  const cells = [];
641
- if (props.expandable && props.expandable.expandIconPosition !== "end") {
642
- cells.push(
643
- vue.h("td", { class: tigercatCore.getExpandCellClasses(props.size) }, [
644
- isExpandable ? vue.h(
645
- "button",
646
- {
647
- class: tigercatCore.classNames(
648
- tigercatCore.expandIconButtonClasses,
649
- tigercatCore.getExpandIconRotationClasses(isExpanded)
650
- ),
651
- "aria-label": isExpanded ? "Collapse row" : "Expand row",
652
- onClick: (e) => {
653
- e.stopPropagation();
654
- handleToggleExpand(key);
655
- }
656
- },
657
- [
658
- vue.h(
659
- "svg",
660
- tigercatCore.normalizeSvgAttrs({
661
- xmlns: "http://www.w3.org/2000/svg",
662
- viewBox: tigercatCore.icon16ViewBox,
663
- fill: "currentColor",
664
- class: "w-4 h-4"
665
- }),
666
- [vue.h("path", { d: "M6 3l6 5-6 5V3z" })]
667
- )
668
- ]
669
- ) : null
670
- ])
671
- );
786
+ const expandAtStart = props.expandable && props.expandable.expandIconPosition !== "end";
787
+ const expandToggleCell = props.expandable ? vue.h(
788
+ "td",
789
+ {
790
+ class: tigercatCore.getExpandIconCellClasses(props.size)
791
+ },
792
+ isRowExpandable ? [
793
+ vue.h(
794
+ "button",
795
+ {
796
+ type: "button",
797
+ class: "inline-flex items-center justify-center",
798
+ "aria-label": isExpanded ? "Collapse row" : "Expand row",
799
+ "aria-expanded": isExpanded,
800
+ onClick: (e) => {
801
+ e.stopPropagation();
802
+ handleToggleExpand(key, record);
803
+ }
804
+ },
805
+ [ExpandIcon(isExpanded)]
806
+ )
807
+ ] : []
808
+ ) : null;
809
+ if (expandAtStart && expandToggleCell) {
810
+ cells.push(expandToggleCell);
672
811
  }
673
812
  if (props.rowSelection && props.rowSelection.showCheckbox !== false) {
674
813
  const checkboxProps = props.rowSelection?.getCheckboxProps?.(record) || {};
@@ -714,6 +853,22 @@ var Table = vue.defineComponent({
714
853
  stickyBgClass,
715
854
  props.hoverable && "group-hover:bg-[var(--tiger-surface-muted,#f9fafb)]"
716
855
  ) : void 0;
856
+ const isEditing = editingCell.value?.rowIndex === index && editingCell.value?.columnKey === column.key;
857
+ const isEditableCell = isCellEditable(column.key, index);
858
+ const cellContent = isEditing ? vue.h("input", {
859
+ type: "text",
860
+ class: tigercatCore.editableCellInputClasses,
861
+ value: editingValue.value,
862
+ autofocus: true,
863
+ onInput: (e) => {
864
+ editingValue.value = e.target.value;
865
+ },
866
+ onBlur: () => commitEdit(),
867
+ onKeydown: (e) => {
868
+ if (e.key === "Enter") commitEdit();
869
+ if (e.key === "Escape") cancelEdit();
870
+ }
871
+ }) : slots[`cell-${column.key}`]?.({ record, index }) ?? (column.render ? column.render(record, index) : cellValue);
717
872
  cells.push(
718
873
  vue.h(
719
874
  "td",
@@ -721,49 +876,20 @@ var Table = vue.defineComponent({
721
876
  key: column.key,
722
877
  class: tigercatCore.classNames(
723
878
  tigercatCore.getTableCellClasses(props.size, column.align || "left", column.className),
724
- stickyCellClass
879
+ stickyCellClass,
880
+ isEditableCell && !isEditing && tigercatCore.getEditableCellClasses(false)
725
881
  ),
726
- style
882
+ style,
883
+ onDblclick: isEditableCell && !isEditing ? () => startEditing(index, column.key, cellValue) : void 0
727
884
  },
728
- [
729
- slots[`cell-${column.key}`]?.({ record, index }) ?? (column.render ? column.render(record, index) : cellValue)
730
- ]
885
+ [cellContent]
731
886
  )
732
887
  );
733
888
  });
734
- if (props.expandable && props.expandable.expandIconPosition === "end") {
735
- cells.push(
736
- vue.h("td", { class: tigercatCore.getExpandCellClasses(props.size) }, [
737
- isExpandable ? vue.h(
738
- "button",
739
- {
740
- class: tigercatCore.classNames(
741
- tigercatCore.expandIconButtonClasses,
742
- tigercatCore.getExpandIconRotationClasses(isExpanded)
743
- ),
744
- "aria-label": isExpanded ? "Collapse row" : "Expand row",
745
- onClick: (e) => {
746
- e.stopPropagation();
747
- handleToggleExpand(key);
748
- }
749
- },
750
- [
751
- vue.h(
752
- "svg",
753
- tigercatCore.normalizeSvgAttrs({
754
- xmlns: "http://www.w3.org/2000/svg",
755
- viewBox: tigercatCore.icon16ViewBox,
756
- fill: "currentColor",
757
- class: "w-4 h-4"
758
- }),
759
- [vue.h("path", { d: "M6 3l6 5-6 5V3z" })]
760
- )
761
- ]
762
- ) : null
763
- ])
764
- );
889
+ if (!expandAtStart && expandToggleCell) {
890
+ cells.push(expandToggleCell);
765
891
  }
766
- const row = vue.h(
892
+ const rowNode = vue.h(
767
893
  "tr",
768
894
  {
769
895
  key,
@@ -775,18 +901,57 @@ var Table = vue.defineComponent({
775
901
  },
776
902
  cells
777
903
  );
778
- const result = [row];
779
- if (props.expandable && isExpanded && isExpandable) {
780
- result.push(
781
- vue.h("tr", { key: `${key}-expanded`, class: tigercatCore.expandedRowContentClasses }, [
782
- vue.h("td", { colspan: totalColumnCount.value }, [
783
- props.expandable.expandedRowRender(record, index)
784
- ])
904
+ if (props.expandable && isExpanded && isRowExpandable) {
905
+ const expandedContent = slots["expanded-row"]?.({ record, index }) || (props.expandable.expandedRowRender ? props.expandable.expandedRowRender(record, index) : null);
906
+ const expandedRow = vue.h(
907
+ "tr",
908
+ {
909
+ key: `${key}-expanded`,
910
+ class: tigercatCore.getExpandedRowClasses()
911
+ },
912
+ [
913
+ vue.h(
914
+ "td",
915
+ {
916
+ colspan: totalColumnCount.value,
917
+ class: tigercatCore.getExpandedRowContentClasses(props.size)
918
+ },
919
+ [expandedContent]
920
+ )
921
+ ]
922
+ );
923
+ return [rowNode, expandedRow];
924
+ }
925
+ return rowNode;
926
+ }
927
+ if (groupedData.value) {
928
+ const groupRows = [];
929
+ for (const [groupKey, groupItems] of groupedData.value) {
930
+ groupRows.push(
931
+ vue.h("tr", { key: `group-${groupKey}`, class: tigercatCore.tableGroupHeaderClasses }, [
932
+ vue.h(
933
+ "td",
934
+ {
935
+ colspan: totalColumnCount.value,
936
+ class: tigercatCore.getGroupHeaderCellClasses(props.size)
937
+ },
938
+ `${props.groupBy}: ${groupKey} (${groupItems.length})`
939
+ )
785
940
  ])
786
941
  );
942
+ groupItems.forEach((record, i) => {
943
+ const globalIndex = paginatedData.value.indexOf(record);
944
+ const result = renderDataRow(record, globalIndex >= 0 ? globalIndex : i);
945
+ if (Array.isArray(result)) {
946
+ groupRows.push(...result);
947
+ } else {
948
+ groupRows.push(result);
949
+ }
950
+ });
787
951
  }
788
- return result;
789
- });
952
+ return vue.h("tbody", groupRows);
953
+ }
954
+ const rows = paginatedData.value.flatMap((record, index) => renderDataRow(record, index));
790
955
  return vue.h("tbody", rows);
791
956
  }
792
957
  function renderPagination() {
@@ -853,12 +1018,14 @@ var Table = vue.defineComponent({
853
1018
  const wrapperStyle = props.maxHeight ? {
854
1019
  maxHeight: typeof props.maxHeight === "number" ? `${props.maxHeight}px` : props.maxHeight
855
1020
  } : void 0;
856
- return vue.h(
1021
+ const tableChildren = [renderTableHeader(), renderTableBody(), renderSummaryRow()];
1022
+ const tableContent = props.virtual ? vue.h(
857
1023
  "div",
858
1024
  {
859
- class: tigercatCore.getTableWrapperClasses(props.bordered, props.maxHeight),
860
- style: wrapperStyle,
861
- "aria-busy": props.loading
1025
+ style: { height: `${props.virtualHeight}px`, overflow: "auto" },
1026
+ onScroll: (e) => {
1027
+ virtualScrollTop.value = e.target.scrollTop;
1028
+ }
862
1029
  },
863
1030
  [
864
1031
  vue.h(
@@ -870,8 +1037,42 @@ var Table = vue.defineComponent({
870
1037
  ),
871
1038
  style: fixedColumnsInfo.value.hasFixedColumns && fixedColumnsInfo.value.minTableWidth ? { minWidth: `${fixedColumnsInfo.value.minTableWidth}px` } : void 0
872
1039
  },
873
- [renderTableHeader(), renderTableBody()]
1040
+ tableChildren
1041
+ )
1042
+ ]
1043
+ ) : vue.h(
1044
+ "table",
1045
+ {
1046
+ class: tigercatCore.classNames(
1047
+ tigercatCore.tableBaseClasses,
1048
+ props.tableLayout === "fixed" ? "table-fixed" : "table-auto"
874
1049
  ),
1050
+ style: fixedColumnsInfo.value.hasFixedColumns && fixedColumnsInfo.value.minTableWidth ? { minWidth: `${fixedColumnsInfo.value.minTableWidth}px` } : void 0
1051
+ },
1052
+ tableChildren
1053
+ );
1054
+ return vue.h(
1055
+ "div",
1056
+ {
1057
+ class: tigercatCore.getTableWrapperClasses(props.bordered, props.maxHeight),
1058
+ style: wrapperStyle,
1059
+ "aria-busy": props.loading
1060
+ },
1061
+ [
1062
+ // Export button
1063
+ props.exportable && vue.h("div", { class: "flex justify-end p-2" }, [
1064
+ vue.h(
1065
+ "button",
1066
+ {
1067
+ type: "button",
1068
+ class: tigercatCore.tableExportButtonClasses,
1069
+ onClick: handleExport,
1070
+ "aria-label": "Export to CSV"
1071
+ },
1072
+ "Export CSV"
1073
+ )
1074
+ ]),
1075
+ tableContent,
875
1076
  // Loading overlay
876
1077
  props.loading && vue.h(
877
1078
  "div",
@@ -0,0 +1,132 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var tigercatCore = require('@expcat/tigercat-core');
5
+
6
+ // src/components/Watermark.ts
7
+ var Watermark = vue.defineComponent({
8
+ name: "TigerWatermark",
9
+ inheritAttrs: false,
10
+ props: {
11
+ content: {
12
+ type: [String, Array],
13
+ default: void 0
14
+ },
15
+ image: {
16
+ type: String,
17
+ default: void 0
18
+ },
19
+ width: { type: Number, default: tigercatCore.watermarkDefaults.width },
20
+ height: { type: Number, default: tigercatCore.watermarkDefaults.height },
21
+ rotate: { type: Number, default: tigercatCore.watermarkDefaults.rotate },
22
+ zIndex: { type: Number, default: tigercatCore.watermarkDefaults.zIndex },
23
+ gapX: { type: Number, default: tigercatCore.watermarkDefaults.gapX },
24
+ gapY: { type: Number, default: tigercatCore.watermarkDefaults.gapY },
25
+ offsetX: { type: Number, default: tigercatCore.watermarkDefaults.offsetX },
26
+ offsetY: { type: Number, default: tigercatCore.watermarkDefaults.offsetY },
27
+ font: {
28
+ type: Object,
29
+ default: void 0
30
+ },
31
+ className: { type: String, default: void 0 },
32
+ style: {
33
+ type: Object,
34
+ default: void 0
35
+ }
36
+ },
37
+ setup(props, { slots, attrs }) {
38
+ const base64 = vue.ref();
39
+ const resolvedFont = vue.computed(() => tigercatCore.resolveWatermarkFont(props.font));
40
+ const generate = () => {
41
+ if (props.image) {
42
+ const img = new Image();
43
+ img.crossOrigin = "anonymous";
44
+ img.onload = () => {
45
+ const canvas = document.createElement("canvas");
46
+ const dpr = window.devicePixelRatio || 1;
47
+ canvas.width = props.width * dpr;
48
+ canvas.height = props.height * dpr;
49
+ const ctx = canvas.getContext("2d");
50
+ if (!ctx) return;
51
+ ctx.scale(dpr, dpr);
52
+ ctx.translate(props.width / 2, props.height / 2);
53
+ ctx.rotate(props.rotate * Math.PI / 180);
54
+ ctx.translate(-props.width / 2, -props.height / 2);
55
+ ctx.drawImage(img, 0, 0, props.width, props.height);
56
+ base64.value = canvas.toDataURL();
57
+ };
58
+ img.src = props.image;
59
+ } else {
60
+ base64.value = tigercatCore.renderWatermarkCanvas({
61
+ content: props.content,
62
+ width: props.width,
63
+ height: props.height,
64
+ rotate: props.rotate,
65
+ font: resolvedFont.value
66
+ });
67
+ }
68
+ };
69
+ vue.onMounted(generate);
70
+ vue.watch(
71
+ () => [props.content, props.image, props.width, props.height, props.rotate, props.font],
72
+ generate
73
+ );
74
+ const wrapperRef = vue.ref(null);
75
+ let observer;
76
+ vue.onMounted(() => {
77
+ if (typeof MutationObserver === "undefined" || !wrapperRef.value) return;
78
+ observer = new MutationObserver((mutations) => {
79
+ for (const m of mutations) {
80
+ for (const node of Array.from(m.removedNodes)) {
81
+ if (node.dataset?.watermark === "true") {
82
+ generate();
83
+ return;
84
+ }
85
+ }
86
+ }
87
+ });
88
+ observer.observe(wrapperRef.value, { childList: true });
89
+ });
90
+ vue.onBeforeUnmount(() => observer?.disconnect());
91
+ const overlayStyle = vue.computed(
92
+ () => tigercatCore.getWatermarkOverlayStyle({
93
+ base64Url: base64.value,
94
+ width: props.width,
95
+ height: props.height,
96
+ gapX: props.gapX,
97
+ gapY: props.gapY,
98
+ offsetX: props.offsetX,
99
+ offsetY: props.offsetY,
100
+ zIndex: props.zIndex
101
+ })
102
+ );
103
+ return () => {
104
+ const attrsRecord = attrs;
105
+ return vue.h(
106
+ "div",
107
+ {
108
+ ...attrs,
109
+ ref: wrapperRef,
110
+ class: tigercatCore.classNames(
111
+ tigercatCore.watermarkWrapperClasses,
112
+ props.className,
113
+ tigercatCore.coerceClassValue(attrsRecord.class)
114
+ ),
115
+ style: tigercatCore.mergeStyleValues(attrsRecord.style, props.style)
116
+ },
117
+ [
118
+ slots.default?.(),
119
+ vue.h("div", {
120
+ "data-watermark": "true",
121
+ "aria-hidden": "true",
122
+ style: overlayStyle.value
123
+ })
124
+ ]
125
+ );
126
+ };
127
+ }
128
+ });
129
+ var Watermark_default = Watermark;
130
+
131
+ exports.Watermark = Watermark;
132
+ exports.Watermark_default = Watermark_default;