@expcat/tigercat-vue 0.4.3 → 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 (473) 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-HBZHIEDV.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-BS52UCMT.mjs → chunk-HTOCKV2N.mjs} +205 -17
  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-CWDBL5YC.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-NUFSJMVC.js → chunk-UG6XPJ2N.js} +204 -16
  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.js +4 -4
  212. package/dist/components/CommentThread.mjs +2 -2
  213. package/dist/components/ConfigProvider.d.mts +21 -1
  214. package/dist/components/ConfigProvider.d.ts +21 -1
  215. package/dist/components/ConfigProvider.js +5 -5
  216. package/dist/components/ConfigProvider.mjs +1 -1
  217. package/dist/components/CropUpload.js +5 -5
  218. package/dist/components/CropUpload.mjs +3 -3
  219. package/dist/components/DataTableWithToolbar.d.mts +1 -1
  220. package/dist/components/DataTableWithToolbar.d.ts +1 -1
  221. package/dist/components/DataTableWithToolbar.js +7 -7
  222. package/dist/components/DataTableWithToolbar.mjs +5 -5
  223. package/dist/components/DatePicker.d.mts +16 -1
  224. package/dist/components/DatePicker.d.ts +16 -1
  225. package/dist/components/DatePicker.js +4 -3
  226. package/dist/components/DatePicker.mjs +2 -1
  227. package/dist/components/Descriptions.d.mts +7 -9
  228. package/dist/components/Descriptions.d.ts +7 -9
  229. package/dist/components/Descriptions.js +3 -3
  230. package/dist/components/Descriptions.mjs +1 -1
  231. package/dist/components/DonutChart.js +5 -5
  232. package/dist/components/DonutChart.mjs +3 -3
  233. package/dist/components/Drawer.d.mts +23 -8
  234. package/dist/components/Drawer.d.ts +23 -8
  235. package/dist/components/Drawer.js +3 -3
  236. package/dist/components/Drawer.mjs +1 -1
  237. package/dist/components/Dropdown.d.mts +13 -13
  238. package/dist/components/Dropdown.d.ts +13 -13
  239. package/dist/components/Dropdown.js +4 -4
  240. package/dist/components/Dropdown.mjs +1 -1
  241. package/dist/components/DropdownItem.js +4 -4
  242. package/dist/components/DropdownItem.mjs +2 -2
  243. package/dist/components/Empty.d.mts +64 -0
  244. package/dist/components/Empty.d.ts +64 -0
  245. package/dist/components/Empty.js +17 -0
  246. package/dist/components/Empty.mjs +2 -0
  247. package/dist/components/FileManager.d.mts +161 -0
  248. package/dist/components/FileManager.d.ts +161 -0
  249. package/dist/components/FileManager.js +17 -0
  250. package/dist/components/FileManager.mjs +2 -0
  251. package/dist/components/FloatButton.d.mts +156 -0
  252. package/dist/components/FloatButton.d.ts +156 -0
  253. package/dist/components/FloatButton.js +21 -0
  254. package/dist/components/FloatButton.mjs +2 -0
  255. package/dist/components/Form.d.mts +45 -0
  256. package/dist/components/Form.d.ts +45 -0
  257. package/dist/components/Form.js +4 -4
  258. package/dist/components/Form.mjs +1 -1
  259. package/dist/components/FormItem.d.mts +18 -1
  260. package/dist/components/FormItem.d.ts +18 -1
  261. package/dist/components/FormItem.js +4 -4
  262. package/dist/components/FormItem.mjs +2 -2
  263. package/dist/components/FormWizard.d.mts +9 -0
  264. package/dist/components/FormWizard.d.ts +9 -0
  265. package/dist/components/FormWizard.js +5 -5
  266. package/dist/components/FormWizard.mjs +3 -3
  267. package/dist/components/FunnelChart.d.mts +212 -0
  268. package/dist/components/FunnelChart.d.ts +212 -0
  269. package/dist/components/FunnelChart.js +22 -0
  270. package/dist/components/FunnelChart.mjs +7 -0
  271. package/dist/components/GaugeChart.d.mts +173 -0
  272. package/dist/components/GaugeChart.d.ts +173 -0
  273. package/dist/components/GaugeChart.js +18 -0
  274. package/dist/components/GaugeChart.mjs +3 -0
  275. package/dist/components/HeatmapChart.d.mts +209 -0
  276. package/dist/components/HeatmapChart.d.ts +209 -0
  277. package/dist/components/HeatmapChart.js +20 -0
  278. package/dist/components/HeatmapChart.mjs +5 -0
  279. package/dist/components/Image.d.mts +2 -1
  280. package/dist/components/Image.d.ts +2 -1
  281. package/dist/components/Image.js +5 -5
  282. package/dist/components/Image.mjs +2 -2
  283. package/dist/components/ImageGroup.js +5 -5
  284. package/dist/components/ImageGroup.mjs +2 -2
  285. package/dist/components/ImagePreview.d.mts +6 -6
  286. package/dist/components/ImagePreview.d.ts +6 -6
  287. package/dist/components/ImagePreview.js +4 -4
  288. package/dist/components/ImagePreview.mjs +2 -2
  289. package/dist/components/ImageViewer.d.mts +126 -0
  290. package/dist/components/ImageViewer.d.ts +126 -0
  291. package/dist/components/ImageViewer.js +17 -0
  292. package/dist/components/ImageViewer.mjs +2 -0
  293. package/dist/components/InfiniteScroll.d.mts +105 -0
  294. package/dist/components/InfiniteScroll.d.ts +105 -0
  295. package/dist/components/InfiniteScroll.js +17 -0
  296. package/dist/components/InfiniteScroll.mjs +2 -0
  297. package/dist/components/Input.d.mts +32 -0
  298. package/dist/components/Input.d.ts +32 -0
  299. package/dist/components/Input.js +3 -3
  300. package/dist/components/Input.mjs +1 -1
  301. package/dist/components/InputGroup.d.mts +77 -0
  302. package/dist/components/InputGroup.d.ts +77 -0
  303. package/dist/components/InputGroup.js +25 -0
  304. package/dist/components/InputGroup.mjs +2 -0
  305. package/dist/components/Kanban.d.mts +180 -0
  306. package/dist/components/Kanban.d.ts +180 -0
  307. package/dist/components/Kanban.js +18 -0
  308. package/dist/components/Kanban.mjs +3 -0
  309. package/dist/components/LineChart.js +5 -5
  310. package/dist/components/LineChart.mjs +3 -3
  311. package/dist/components/List.d.mts +18 -2
  312. package/dist/components/List.d.ts +18 -2
  313. package/dist/components/List.js +3 -3
  314. package/dist/components/List.mjs +1 -1
  315. package/dist/components/Mentions.d.mts +88 -0
  316. package/dist/components/Mentions.d.ts +88 -0
  317. package/dist/components/Mentions.js +17 -0
  318. package/dist/components/Mentions.mjs +2 -0
  319. package/dist/components/Menu.d.mts +1 -1
  320. package/dist/components/Menu.d.ts +1 -1
  321. package/dist/components/MenuItem.d.mts +1 -1
  322. package/dist/components/MenuItem.d.ts +1 -1
  323. package/dist/components/Message.js +5 -5
  324. package/dist/components/Message.mjs +2 -2
  325. package/dist/components/Modal.d.mts +40 -8
  326. package/dist/components/Modal.d.ts +40 -8
  327. package/dist/components/Modal.js +4 -4
  328. package/dist/components/Modal.mjs +2 -2
  329. package/dist/components/Notification.js +5 -5
  330. package/dist/components/Notification.mjs +2 -2
  331. package/dist/components/NotificationCenter.d.mts +1 -1
  332. package/dist/components/NotificationCenter.d.ts +1 -1
  333. package/dist/components/NotificationCenter.js +8 -8
  334. package/dist/components/NotificationCenter.mjs +6 -6
  335. package/dist/components/PieChart.js +4 -4
  336. package/dist/components/PieChart.mjs +2 -2
  337. package/dist/components/Popconfirm.d.mts +14 -14
  338. package/dist/components/Popconfirm.d.ts +14 -14
  339. package/dist/components/Popconfirm.js +4 -4
  340. package/dist/components/Popconfirm.mjs +2 -2
  341. package/dist/components/Popover.d.mts +13 -13
  342. package/dist/components/Popover.d.ts +13 -13
  343. package/dist/components/Popover.js +4 -4
  344. package/dist/components/Popover.mjs +2 -2
  345. package/dist/components/PrintLayout.d.mts +97 -0
  346. package/dist/components/PrintLayout.d.ts +97 -0
  347. package/dist/components/PrintLayout.js +21 -0
  348. package/dist/components/PrintLayout.mjs +2 -0
  349. package/dist/components/QRCode.d.mts +75 -0
  350. package/dist/components/QRCode.d.ts +75 -0
  351. package/dist/components/QRCode.js +17 -0
  352. package/dist/components/QRCode.mjs +2 -0
  353. package/dist/components/RadarChart.js +4 -4
  354. package/dist/components/RadarChart.mjs +2 -2
  355. package/dist/components/Rate.d.mts +80 -0
  356. package/dist/components/Rate.d.ts +80 -0
  357. package/dist/components/Rate.js +17 -0
  358. package/dist/components/Rate.mjs +2 -0
  359. package/dist/components/Resizable.d.mts +138 -0
  360. package/dist/components/Resizable.d.ts +138 -0
  361. package/dist/components/Resizable.js +17 -0
  362. package/dist/components/Resizable.mjs +2 -0
  363. package/dist/components/Result.d.mts +64 -0
  364. package/dist/components/Result.d.ts +64 -0
  365. package/dist/components/Result.js +18 -0
  366. package/dist/components/Result.mjs +3 -0
  367. package/dist/components/RichTextEditor.d.mts +107 -0
  368. package/dist/components/RichTextEditor.d.ts +107 -0
  369. package/dist/components/RichTextEditor.js +17 -0
  370. package/dist/components/RichTextEditor.mjs +2 -0
  371. package/dist/components/ScatterChart.js +5 -5
  372. package/dist/components/ScatterChart.mjs +3 -3
  373. package/dist/components/Segmented.d.mts +61 -0
  374. package/dist/components/Segmented.d.ts +61 -0
  375. package/dist/components/Segmented.js +17 -0
  376. package/dist/components/Segmented.mjs +2 -0
  377. package/dist/components/Select.d.mts +47 -0
  378. package/dist/components/Select.d.ts +47 -0
  379. package/dist/components/Select.js +3 -3
  380. package/dist/components/Select.mjs +1 -1
  381. package/dist/components/Splitter.d.mts +99 -0
  382. package/dist/components/Splitter.d.ts +99 -0
  383. package/dist/components/Splitter.js +17 -0
  384. package/dist/components/Splitter.mjs +2 -0
  385. package/dist/components/Statistic.d.mts +76 -0
  386. package/dist/components/Statistic.d.ts +76 -0
  387. package/dist/components/Statistic.js +17 -0
  388. package/dist/components/Statistic.mjs +2 -0
  389. package/dist/components/Stepper.d.mts +79 -0
  390. package/dist/components/Stepper.d.ts +79 -0
  391. package/dist/components/Stepper.js +17 -0
  392. package/dist/components/Stepper.mjs +2 -0
  393. package/dist/components/StepsItem.d.mts +1 -1
  394. package/dist/components/StepsItem.d.ts +1 -1
  395. package/dist/components/SubMenu.d.mts +1 -1
  396. package/dist/components/SubMenu.d.ts +1 -1
  397. package/dist/components/SunburstChart.d.mts +203 -0
  398. package/dist/components/SunburstChart.d.ts +203 -0
  399. package/dist/components/SunburstChart.js +22 -0
  400. package/dist/components/SunburstChart.mjs +7 -0
  401. package/dist/components/TabPane.js +4 -4
  402. package/dist/components/TabPane.mjs +2 -2
  403. package/dist/components/Table.d.mts +126 -3
  404. package/dist/components/Table.d.ts +126 -3
  405. package/dist/components/Table.js +3 -3
  406. package/dist/components/Table.mjs +1 -1
  407. package/dist/components/Tabs.d.mts +20 -0
  408. package/dist/components/Tabs.d.ts +20 -0
  409. package/dist/components/Tabs.js +4 -4
  410. package/dist/components/Tabs.mjs +1 -1
  411. package/dist/components/TaskBoard.d.mts +1 -1
  412. package/dist/components/TaskBoard.d.ts +1 -1
  413. package/dist/components/TaskBoard.js +4 -4
  414. package/dist/components/TaskBoard.mjs +2 -2
  415. package/dist/components/TimePicker.js +4 -3
  416. package/dist/components/TimePicker.mjs +2 -1
  417. package/dist/components/Tooltip.d.mts +13 -13
  418. package/dist/components/Tooltip.d.ts +13 -13
  419. package/dist/components/Tooltip.js +4 -4
  420. package/dist/components/Tooltip.mjs +2 -2
  421. package/dist/components/Tour.d.mts +109 -0
  422. package/dist/components/Tour.d.ts +109 -0
  423. package/dist/components/Tour.js +18 -0
  424. package/dist/components/Tour.mjs +3 -0
  425. package/dist/components/Transfer.d.mts +97 -0
  426. package/dist/components/Transfer.d.ts +97 -0
  427. package/dist/components/Transfer.js +17 -0
  428. package/dist/components/Transfer.mjs +2 -0
  429. package/dist/components/Tree.d.mts +34 -3
  430. package/dist/components/Tree.d.ts +34 -3
  431. package/dist/components/Tree.js +3 -3
  432. package/dist/components/Tree.mjs +1 -1
  433. package/dist/components/TreeMapChart.d.mts +212 -0
  434. package/dist/components/TreeMapChart.d.ts +212 -0
  435. package/dist/components/TreeMapChart.js +22 -0
  436. package/dist/components/TreeMapChart.mjs +7 -0
  437. package/dist/components/TreeSelect.d.mts +106 -0
  438. package/dist/components/TreeSelect.d.ts +106 -0
  439. package/dist/components/TreeSelect.js +17 -0
  440. package/dist/components/TreeSelect.mjs +2 -0
  441. package/dist/components/Upload.js +4 -4
  442. package/dist/components/Upload.mjs +2 -2
  443. package/dist/components/VirtualList.d.mts +49 -0
  444. package/dist/components/VirtualList.d.ts +49 -0
  445. package/dist/components/VirtualList.js +17 -0
  446. package/dist/components/VirtualList.mjs +2 -0
  447. package/dist/components/VirtualTable.d.mts +157 -0
  448. package/dist/components/VirtualTable.d.ts +157 -0
  449. package/dist/components/VirtualTable.js +17 -0
  450. package/dist/components/VirtualTable.mjs +2 -0
  451. package/dist/components/Watermark.d.mts +144 -0
  452. package/dist/components/Watermark.d.ts +144 -0
  453. package/dist/components/Watermark.js +17 -0
  454. package/dist/components/Watermark.mjs +2 -0
  455. package/dist/index.d.mts +75 -2
  456. package/dist/index.d.ts +75 -2
  457. package/dist/index.js +448 -163
  458. package/dist/index.mjs +186 -61
  459. package/package.json +2 -2
  460. package/dist/chunk-VURU7TLN.mjs +0 -203
  461. package/dist/chunk-WC4B72TZ.js +0 -206
  462. package/dist/{chunk-GCKACSWD.js → chunk-2J54DRDA.js} +2 -2
  463. package/dist/{chunk-TGLAMZ4N.js → chunk-35VYCSVH.js} +2 -2
  464. package/dist/{chunk-OO5UMN5M.js → chunk-5NOZXKMU.js} +2 -2
  465. package/dist/{chunk-IIU6FINW.mjs → chunk-FK2XBMC3.mjs} +1 -1
  466. package/dist/{chunk-ZLYXAZUY.mjs → chunk-HFCVHAQ6.mjs} +2 -2
  467. package/dist/{chunk-P2ASDGNV.mjs → chunk-MYFQ3B2D.mjs} +2 -2
  468. package/dist/{chunk-DATFV22V.mjs → chunk-NVJRZYES.mjs} +1 -1
  469. package/dist/{chunk-3L36R3UN.js → chunk-THEYWGOT.js} +1 -1
  470. package/dist/{chunk-LDN2MZEU.mjs → chunk-TYFUO6PE.mjs} +2 -2
  471. package/dist/{chunk-BS45PHVI.mjs → chunk-UNR5RUET.mjs} +2 -2
  472. package/dist/{chunk-R7S7O3YU.js → chunk-VITTXNTD.js} +1 -1
  473. package/dist/{chunk-4NSRGKRB.js → chunk-W5A4E4C7.js} +2 -2
@@ -212,7 +212,20 @@ var Table = vue.defineComponent({
212
212
  tableLayout: {
213
213
  type: String,
214
214
  default: "auto"
215
- }
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" }
216
229
  },
217
230
  emits: [
218
231
  "change",
@@ -221,7 +234,10 @@ var Table = vue.defineComponent({
221
234
  "sort-change",
222
235
  "filter-change",
223
236
  "page-change",
224
- "expand-change"
237
+ "expand-change",
238
+ "cell-change",
239
+ "column-order-change",
240
+ "export"
225
241
  ],
226
242
  setup(props, { emit, slots }) {
227
243
  const paginationConfig = vue.computed(() => {
@@ -338,7 +354,11 @@ var Table = vue.defineComponent({
338
354
  }
339
355
  const processedData = vue.computed(() => {
340
356
  let data = props.dataSource;
341
- 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
+ }
342
362
  if (sortState.value.key && sortState.value.direction) {
343
363
  const column = columnByKey.value[sortState.value.key];
344
364
  data = tigercatCore.sortData(data, sortState.value.key, sortState.value.direction, column?.sortFn);
@@ -504,6 +524,90 @@ var Table = vue.defineComponent({
504
524
  const someSelected = vue.computed(() => {
505
525
  return selectedRowKeys.value.length > 0 && !allSelected.value;
506
526
  });
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;
547
+ }
548
+ }
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
+ );
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
+ }
507
611
  function renderTableHeader() {
508
612
  const headerCells = [];
509
613
  const expandAtStart = props.expandable && props.expandable.expandIconPosition !== "end";
@@ -601,6 +705,10 @@ var Table = vue.defineComponent({
601
705
  (isFixedLeft || isFixedRight) && "bg-[var(--tiger-surface-muted,#f9fafb)]"
602
706
  ),
603
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,
604
712
  onClick: column.sortable ? () => handleSort(column.key) : void 0
605
713
  },
606
714
  [
@@ -668,8 +776,8 @@ var Table = vue.defineComponent({
668
776
  ])
669
777
  ]);
670
778
  }
671
- const rows = paginatedData.value.flatMap((record, index) => {
672
- const key = paginatedRowKeys.value[index];
779
+ function renderDataRow(record, index) {
780
+ const key = tigercatCore.getRowKey(record, props.rowKey, index);
673
781
  const isSelected = selectedRowKeySet.value.has(key);
674
782
  const isExpanded = expandedRowKeySet.value.has(key);
675
783
  const isRowExpandable = props.expandable ? props.expandable.rowExpandable ? props.expandable.rowExpandable(record) : true : false;
@@ -745,6 +853,22 @@ var Table = vue.defineComponent({
745
853
  stickyBgClass,
746
854
  props.hoverable && "group-hover:bg-[var(--tiger-surface-muted,#f9fafb)]"
747
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);
748
872
  cells.push(
749
873
  vue.h(
750
874
  "td",
@@ -752,13 +876,13 @@ var Table = vue.defineComponent({
752
876
  key: column.key,
753
877
  class: tigercatCore.classNames(
754
878
  tigercatCore.getTableCellClasses(props.size, column.align || "left", column.className),
755
- stickyCellClass
879
+ stickyCellClass,
880
+ isEditableCell && !isEditing && tigercatCore.getEditableCellClasses(false)
756
881
  ),
757
- style
882
+ style,
883
+ onDblclick: isEditableCell && !isEditing ? () => startEditing(index, column.key, cellValue) : void 0
758
884
  },
759
- [
760
- slots[`cell-${column.key}`]?.({ record, index }) ?? (column.render ? column.render(record, index) : cellValue)
761
- ]
885
+ [cellContent]
762
886
  )
763
887
  );
764
888
  });
@@ -799,7 +923,35 @@ var Table = vue.defineComponent({
799
923
  return [rowNode, expandedRow];
800
924
  }
801
925
  return rowNode;
802
- });
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
+ )
940
+ ])
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
+ });
951
+ }
952
+ return vue.h("tbody", groupRows);
953
+ }
954
+ const rows = paginatedData.value.flatMap((record, index) => renderDataRow(record, index));
803
955
  return vue.h("tbody", rows);
804
956
  }
805
957
  function renderPagination() {
@@ -866,12 +1018,14 @@ var Table = vue.defineComponent({
866
1018
  const wrapperStyle = props.maxHeight ? {
867
1019
  maxHeight: typeof props.maxHeight === "number" ? `${props.maxHeight}px` : props.maxHeight
868
1020
  } : void 0;
869
- return vue.h(
1021
+ const tableChildren = [renderTableHeader(), renderTableBody(), renderSummaryRow()];
1022
+ const tableContent = props.virtual ? vue.h(
870
1023
  "div",
871
1024
  {
872
- class: tigercatCore.getTableWrapperClasses(props.bordered, props.maxHeight),
873
- style: wrapperStyle,
874
- "aria-busy": props.loading
1025
+ style: { height: `${props.virtualHeight}px`, overflow: "auto" },
1026
+ onScroll: (e) => {
1027
+ virtualScrollTop.value = e.target.scrollTop;
1028
+ }
875
1029
  },
876
1030
  [
877
1031
  vue.h(
@@ -883,8 +1037,42 @@ var Table = vue.defineComponent({
883
1037
  ),
884
1038
  style: fixedColumnsInfo.value.hasFixedColumns && fixedColumnsInfo.value.minTableWidth ? { minWidth: `${fixedColumnsInfo.value.minTableWidth}px` } : void 0
885
1039
  },
886
- [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"
887
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,
888
1076
  // Loading overlay
889
1077
  props.loading && vue.h(
890
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;
@@ -0,0 +1,151 @@
1
+ import { defineComponent, ref, computed, watch, onBeforeUnmount, h } from 'vue';
2
+ import { hexToRgb, rgbToHsv, classNames, colorPickerBaseClasses, coerceClassValue, getColorPickerTriggerClasses, colorPickerPanelClasses, colorPickerInputClasses, colorPickerPresetClasses, hsvToRgb, rgbToHex, isValidHex } from '@expcat/tigercat-core';
3
+
4
+ // src/components/ColorPicker.ts
5
+ var ColorPicker = defineComponent({
6
+ name: "TigerColorPicker",
7
+ props: {
8
+ modelValue: { type: String, default: "#2563eb" },
9
+ disabled: { type: Boolean, default: false },
10
+ size: { type: String, default: "md" },
11
+ showAlpha: { type: Boolean, default: false },
12
+ format: { type: String, default: "hex" },
13
+ presets: { type: Array, default: void 0 }
14
+ },
15
+ emits: ["update:modelValue", "change"],
16
+ setup(props, { emit, attrs }) {
17
+ const isOpen = ref(false);
18
+ const containerRef = ref(null);
19
+ const inputValue = ref(props.modelValue);
20
+ const hsv = computed(() => {
21
+ const rgb = hexToRgb(props.modelValue);
22
+ return rgbToHsv(rgb.r, rgb.g, rgb.b);
23
+ });
24
+ watch(
25
+ () => props.modelValue,
26
+ (v) => {
27
+ inputValue.value = v;
28
+ }
29
+ );
30
+ function togglePanel() {
31
+ if (props.disabled) return;
32
+ isOpen.value = !isOpen.value;
33
+ }
34
+ function closePanel() {
35
+ isOpen.value = false;
36
+ }
37
+ function handleHueChange(e) {
38
+ const hue = Number(e.target.value);
39
+ const { r, g, b } = hsvToRgb(hue, hsv.value.s, hsv.value.v);
40
+ const hex = rgbToHex(r, g, b);
41
+ emit("update:modelValue", hex);
42
+ emit("change", hex);
43
+ }
44
+ function handleInputChange(e) {
45
+ const val = e.target.value;
46
+ inputValue.value = val;
47
+ if (isValidHex(val)) {
48
+ const hex = val.startsWith("#") ? val : `#${val}`;
49
+ emit("update:modelValue", hex);
50
+ emit("change", hex);
51
+ }
52
+ }
53
+ function handlePresetClick(color) {
54
+ emit("update:modelValue", color);
55
+ emit("change", color);
56
+ }
57
+ function handleClickOutside(e) {
58
+ if (containerRef.value && !containerRef.value.contains(e.target)) {
59
+ closePanel();
60
+ }
61
+ }
62
+ watch(isOpen, (val) => {
63
+ if (val) document.addEventListener("click", handleClickOutside);
64
+ else document.removeEventListener("click", handleClickOutside);
65
+ });
66
+ onBeforeUnmount(() => {
67
+ document.removeEventListener("click", handleClickOutside);
68
+ });
69
+ return () => h(
70
+ "div",
71
+ {
72
+ ref: containerRef,
73
+ class: classNames(colorPickerBaseClasses, coerceClassValue(attrs.class))
74
+ },
75
+ [
76
+ // Color trigger swatch
77
+ h("div", {
78
+ class: getColorPickerTriggerClasses(props.size, props.disabled),
79
+ style: { backgroundColor: props.modelValue },
80
+ role: "button",
81
+ "aria-label": "Pick color",
82
+ tabindex: 0,
83
+ onClick: togglePanel
84
+ }),
85
+ // Panel
86
+ isOpen.value ? h("div", { class: colorPickerPanelClasses }, [
87
+ // Hue slider
88
+ h("div", { class: "mb-2" }, [
89
+ h(
90
+ "label",
91
+ { class: "block text-xs text-[var(--tiger-text-muted,#6b7280)] mb-1" },
92
+ "Hue"
93
+ ),
94
+ h("input", {
95
+ type: "range",
96
+ min: 0,
97
+ max: 360,
98
+ value: hsv.value.h,
99
+ class: "w-full h-2 rounded-full cursor-pointer accent-[var(--tiger-primary,#2563eb)]",
100
+ "aria-label": "Hue",
101
+ onInput: handleHueChange
102
+ })
103
+ ]),
104
+ // Hex input
105
+ h("div", { class: "mb-2" }, [
106
+ h(
107
+ "label",
108
+ { class: "block text-xs text-[var(--tiger-text-muted,#6b7280)] mb-1" },
109
+ "Hex"
110
+ ),
111
+ h("input", {
112
+ type: "text",
113
+ class: colorPickerInputClasses,
114
+ value: inputValue.value,
115
+ "aria-label": "Color value",
116
+ onInput: handleInputChange
117
+ })
118
+ ]),
119
+ // Preview
120
+ h("div", { class: "flex items-center gap-2 mb-2" }, [
121
+ h("div", {
122
+ class: "w-8 h-8 rounded border border-[var(--tiger-border,#d1d5db)]",
123
+ style: { backgroundColor: props.modelValue },
124
+ "aria-label": "Color preview"
125
+ }),
126
+ h(
127
+ "span",
128
+ { class: "text-xs font-mono text-[var(--tiger-text,#111827)]" },
129
+ props.modelValue
130
+ )
131
+ ]),
132
+ // Presets
133
+ props.presets && props.presets.length > 0 ? h("div", { class: "flex flex-wrap gap-1" }, [
134
+ ...props.presets.map(
135
+ (color) => h("div", {
136
+ key: color,
137
+ class: colorPickerPresetClasses,
138
+ style: { backgroundColor: color },
139
+ "aria-label": `Select ${color}`,
140
+ onClick: () => handlePresetClick(color)
141
+ })
142
+ )
143
+ ]) : null
144
+ ]) : null
145
+ ]
146
+ );
147
+ }
148
+ });
149
+ var ColorPicker_default = ColorPicker;
150
+
151
+ export { ColorPicker, ColorPicker_default };
@@ -1,27 +1,9 @@
1
+ import { createFilledIcon } from './chunk-2TNZ4JNT.mjs';
1
2
  import { defineComponent, ref, computed, watch, nextTick, onMounted, onBeforeUnmount, h } from 'vue';
2
- import { parseTime, getTimePickerLabels, getTimePeriodLabels, classNames, timePickerBaseClasses, coerceClassValue, mergeStyleValues, formatTimeDisplayWithLocale, generateHours, generateMinutes, generateSeconds, getTimePickerInputClasses, getTimePickerIconButtonClasses, timePickerInputWrapperClasses, timePickerClearButtonClasses, timePickerPanelClasses, timePickerRangeHeaderClasses, getTimePickerRangeTabButtonClasses, timePickerPanelContentClasses, timePickerColumnClasses, timePickerColumnHeaderClasses, timePickerColumnListClasses, to24HourFormat, getTimePickerOptionAriaLabel, getTimePickerItemClasses, getTimePickerPeriodButtonClasses, timePickerFooterClasses, timePickerFooterButtonClasses, icon20ViewBox, to12HourFormat, TimePickerCloseIconPath, ClockIconPath, isTimeInRange, getCurrentTime, formatTime } from '@expcat/tigercat-core';
3
+ import { ClockIconPath, TimePickerCloseIconPath, parseTime, getTimePickerLabels, getTimePeriodLabels, classNames, timePickerBaseClasses, coerceClassValue, mergeStyleValues, formatTimeDisplayWithLocale, generateHours, generateMinutes, generateSeconds, getTimePickerInputClasses, getTimePickerIconButtonClasses, timePickerInputWrapperClasses, timePickerClearButtonClasses, timePickerPanelClasses, timePickerRangeHeaderClasses, getTimePickerRangeTabButtonClasses, timePickerPanelContentClasses, timePickerColumnClasses, timePickerColumnHeaderClasses, timePickerColumnListClasses, to24HourFormat, getTimePickerOptionAriaLabel, getTimePickerItemClasses, getTimePickerPeriodButtonClasses, timePickerFooterClasses, timePickerFooterButtonClasses, to12HourFormat, isTimeInRange, getCurrentTime, formatTime } from '@expcat/tigercat-core';
3
4
 
4
- // src/components/TimePicker.ts
5
- var createIcon = (path, className) => {
6
- return h(
7
- "svg",
8
- {
9
- class: className,
10
- xmlns: "http://www.w3.org/2000/svg",
11
- viewBox: icon20ViewBox,
12
- fill: "currentColor"
13
- },
14
- [
15
- h("path", {
16
- "fill-rule": "evenodd",
17
- d: path,
18
- "clip-rule": "evenodd"
19
- })
20
- ]
21
- );
22
- };
23
- var ClockIcon = createIcon(ClockIconPath, "w-5 h-5");
24
- var CloseIcon = createIcon(TimePickerCloseIconPath, "w-4 h-4");
5
+ var ClockIcon = createFilledIcon(ClockIconPath, "w-5 h-5");
6
+ var CloseIcon = createFilledIcon(TimePickerCloseIconPath, "w-4 h-4");
25
7
  var TimePicker = defineComponent({
26
8
  name: "TigerTimePicker",
27
9
  inheritAttrs: false,
@@ -17,15 +17,39 @@ var ConfigProvider = vue.defineComponent({
17
17
  locale: {
18
18
  type: Object,
19
19
  default: void 0
20
+ },
21
+ theme: {
22
+ type: String,
23
+ default: void 0
24
+ },
25
+ colorScheme: {
26
+ type: String,
27
+ default: void 0
20
28
  }
21
29
  },
22
30
  setup(props, { slots }) {
23
31
  const parent = useTigerConfig();
24
32
  const merged = vue.computed(() => {
25
33
  return {
26
- locale: tigercatCore.mergeTigerLocale(parent.value.locale, props.locale)
34
+ locale: tigercatCore.mergeTigerLocale(parent.value.locale, props.locale),
35
+ theme: props.theme ?? parent.value.theme,
36
+ colorScheme: props.colorScheme ?? parent.value.colorScheme
27
37
  };
28
38
  });
39
+ vue.watch(
40
+ () => merged.value.theme,
41
+ (name) => {
42
+ if (name) tigercatCore.ThemeManager.setTheme(name);
43
+ },
44
+ { immediate: true }
45
+ );
46
+ vue.watch(
47
+ () => merged.value.colorScheme,
48
+ (scheme) => {
49
+ if (scheme) tigercatCore.ThemeManager.setColorScheme(scheme);
50
+ },
51
+ { immediate: true }
52
+ );
29
53
  vue.provide(TigerConfigKey, merged);
30
54
  return () => slots.default?.();
31
55
  }