@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
@@ -0,0 +1,48 @@
1
+ import { defineComponent, provide, h } from 'vue';
2
+ import { classNames, buttonGroupBaseClasses, buttonGroupVerticalClasses, buttonGroupHorizontalClasses, buttonGroupItemVerticalClasses, buttonGroupItemClasses, coerceClassValue } from '@expcat/tigercat-core';
3
+
4
+ // src/components/ButtonGroup.ts
5
+ var BUTTON_GROUP_INJECTION_KEY = /* @__PURE__ */ Symbol("TigerButtonGroup");
6
+ var ButtonGroup = defineComponent({
7
+ name: "TigerButtonGroup",
8
+ inheritAttrs: false,
9
+ props: {
10
+ size: {
11
+ type: String,
12
+ default: void 0
13
+ },
14
+ vertical: Boolean,
15
+ className: {
16
+ type: String,
17
+ default: void 0
18
+ }
19
+ },
20
+ setup(props, { slots, attrs }) {
21
+ provide(BUTTON_GROUP_INJECTION_KEY, {
22
+ get size() {
23
+ return props.size;
24
+ }
25
+ });
26
+ return () => {
27
+ const classes = classNames(
28
+ buttonGroupBaseClasses,
29
+ props.vertical ? buttonGroupVerticalClasses : buttonGroupHorizontalClasses,
30
+ props.vertical ? buttonGroupItemVerticalClasses : buttonGroupItemClasses,
31
+ props.className,
32
+ coerceClassValue(attrs.class)
33
+ );
34
+ return h(
35
+ "div",
36
+ {
37
+ ...attrs,
38
+ class: classes,
39
+ role: "group"
40
+ },
41
+ slots.default?.()
42
+ );
43
+ };
44
+ }
45
+ });
46
+ var ButtonGroup_default = ButtonGroup;
47
+
48
+ export { BUTTON_GROUP_INJECTION_KEY, ButtonGroup, ButtonGroup_default };
@@ -0,0 +1,207 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var tigercatCore = require('@expcat/tigercat-core');
5
+
6
+ // src/components/RichTextEditor.ts
7
+ var RichTextEditor = vue.defineComponent({
8
+ name: "TigerRichTextEditor",
9
+ props: {
10
+ value: { type: String, default: void 0 },
11
+ defaultValue: { type: String, default: "" },
12
+ placeholder: { type: String, default: void 0 },
13
+ mode: {
14
+ type: String,
15
+ default: "html"
16
+ },
17
+ toolbar: {
18
+ type: Array,
19
+ default: void 0
20
+ },
21
+ height: {
22
+ type: [Number, String],
23
+ default: 300
24
+ },
25
+ readOnly: { type: Boolean, default: false },
26
+ disabled: { type: Boolean, default: false },
27
+ className: { type: String, default: void 0 }
28
+ },
29
+ emits: ["update:value", "change"],
30
+ setup(props, { emit, attrs }) {
31
+ const editorRef = vue.ref(null);
32
+ const internalValue = vue.ref(props.defaultValue || "");
33
+ const activeFormats = vue.ref(/* @__PURE__ */ new Set());
34
+ const isControlled = vue.computed(() => props.value !== void 0);
35
+ const currentContent = vue.computed(() => isControlled.value ? props.value : internalValue.value);
36
+ const toolbarButtons = vue.computed(() => props.toolbar ?? tigercatCore.defaultToolbar);
37
+ const isEmpty = vue.computed(() => tigercatCore.isContentEmpty(currentContent.value));
38
+ vue.watch(
39
+ () => props.value,
40
+ (newVal) => {
41
+ if (newVal !== void 0 && editorRef.value) {
42
+ const sanitized = tigercatCore.sanitizeHtml(newVal);
43
+ if (editorRef.value.innerHTML !== sanitized) {
44
+ editorRef.value.innerHTML = sanitized;
45
+ }
46
+ }
47
+ }
48
+ );
49
+ vue.onMounted(() => {
50
+ if (editorRef.value) {
51
+ const initial = tigercatCore.sanitizeHtml(currentContent.value);
52
+ if (initial) {
53
+ editorRef.value.innerHTML = initial;
54
+ }
55
+ }
56
+ });
57
+ function updateActiveFormats() {
58
+ if (typeof document === "undefined") return;
59
+ const next = /* @__PURE__ */ new Set();
60
+ if (document.queryCommandState("bold")) next.add("bold");
61
+ if (document.queryCommandState("italic")) next.add("italic");
62
+ if (document.queryCommandState("underline")) next.add("underline");
63
+ if (document.queryCommandState("strikeThrough")) next.add("strikethrough");
64
+ if (document.queryCommandState("insertUnorderedList")) next.add("bulletList");
65
+ if (document.queryCommandState("insertOrderedList")) next.add("orderedList");
66
+ activeFormats.value = next;
67
+ }
68
+ function execAction(actionName) {
69
+ if (props.readOnly || props.disabled) return;
70
+ editorRef.value?.focus();
71
+ const mapping = tigercatCore.mapToolbarAction(actionName);
72
+ if (mapping) {
73
+ document.execCommand(mapping.command, false, mapping.argument);
74
+ handleInput();
75
+ updateActiveFormats();
76
+ return;
77
+ }
78
+ if (actionName === "codeBlock") {
79
+ document.execCommand("formatBlock", false, "PRE");
80
+ handleInput();
81
+ return;
82
+ }
83
+ if (actionName === "link") {
84
+ const url = typeof window !== "undefined" ? window.prompt("Enter URL:") : null;
85
+ if (url && tigercatCore.isValidUrl(url)) {
86
+ document.execCommand("createLink", false, url);
87
+ handleInput();
88
+ }
89
+ return;
90
+ }
91
+ if (actionName === "image") {
92
+ const url = typeof window !== "undefined" ? window.prompt("Enter image URL:") : null;
93
+ if (url && tigercatCore.isValidUrl(url)) {
94
+ document.execCommand("insertImage", false, url);
95
+ handleInput();
96
+ }
97
+ }
98
+ }
99
+ function handleInput() {
100
+ if (!editorRef.value) return;
101
+ const html = editorRef.value.innerHTML;
102
+ const sanitized = tigercatCore.sanitizeHtml(html);
103
+ if (!isControlled.value) {
104
+ internalValue.value = sanitized;
105
+ }
106
+ emit("update:value", sanitized);
107
+ emit("change", sanitized);
108
+ }
109
+ function handleKeydown(e) {
110
+ const match = tigercatCore.findHotkeyMatch(toolbarButtons.value, e);
111
+ if (match) {
112
+ e.preventDefault();
113
+ execAction(match);
114
+ }
115
+ }
116
+ let selectionHandler = null;
117
+ vue.onMounted(() => {
118
+ if (typeof document !== "undefined") {
119
+ selectionHandler = updateActiveFormats;
120
+ document.addEventListener("selectionchange", selectionHandler);
121
+ }
122
+ });
123
+ vue.onBeforeUnmount(() => {
124
+ if (selectionHandler && typeof document !== "undefined") {
125
+ document.removeEventListener("selectionchange", selectionHandler);
126
+ }
127
+ });
128
+ const containerClasses = vue.computed(
129
+ () => tigercatCore.classNames(
130
+ tigercatCore.getRichTextContainerClasses(props.disabled, props.className),
131
+ tigercatCore.coerceClassValue(attrs.class)
132
+ )
133
+ );
134
+ const editorAreaClasses = vue.computed(() => tigercatCore.getEditorAreaClasses(props.readOnly));
135
+ const containerStyle = vue.computed(() => {
136
+ const ht = tigercatCore.parseHeight(props.height);
137
+ if (!ht) return void 0;
138
+ return { height: ht };
139
+ });
140
+ return () => {
141
+ const toolbarEl = vue.h(
142
+ "div",
143
+ {
144
+ class: tigercatCore.richTextToolbarClasses,
145
+ role: "toolbar",
146
+ "aria-label": "Text formatting"
147
+ },
148
+ toolbarButtons.value.map(
149
+ (btn) => vue.h(
150
+ "button",
151
+ {
152
+ key: btn.name,
153
+ type: "button",
154
+ class: tigercatCore.getToolbarButtonClasses(activeFormats.value.has(btn.name)),
155
+ title: btn.tooltip ?? btn.label,
156
+ "aria-label": btn.label,
157
+ "aria-pressed": tigercatCore.isInlineFormat(btn.name) ? activeFormats.value.has(btn.name) : void 0,
158
+ disabled: props.disabled || props.readOnly,
159
+ onClick: (e) => {
160
+ e.preventDefault();
161
+ execAction(btn.name);
162
+ }
163
+ },
164
+ btn.label
165
+ )
166
+ )
167
+ );
168
+ const editorEl = vue.h("div", {
169
+ ref: editorRef,
170
+ class: editorAreaClasses.value,
171
+ contenteditable: !(props.readOnly || props.disabled),
172
+ role: "textbox",
173
+ "aria-multiline": true,
174
+ "aria-readonly": props.readOnly || void 0,
175
+ "aria-disabled": props.disabled || void 0,
176
+ "aria-placeholder": props.placeholder,
177
+ "data-placeholder": props.placeholder,
178
+ onInput: handleInput,
179
+ onKeydown: handleKeydown
180
+ });
181
+ const placeholderEl = isEmpty.value && props.placeholder ? vue.h(
182
+ "div",
183
+ {
184
+ class: `${tigercatCore.richTextPlaceholderClasses} absolute top-0 left-0 p-4 pointer-events-none text-sm`,
185
+ "aria-hidden": true
186
+ },
187
+ props.placeholder
188
+ ) : null;
189
+ const editorWrapper = vue.h("div", { class: "relative flex-1 overflow-hidden" }, [
190
+ editorEl,
191
+ placeholderEl
192
+ ]);
193
+ return vue.h(
194
+ "div",
195
+ {
196
+ class: containerClasses.value,
197
+ style: containerStyle.value
198
+ },
199
+ [toolbarEl, editorWrapper]
200
+ );
201
+ };
202
+ }
203
+ });
204
+ var RichTextEditor_default = RichTextEditor;
205
+
206
+ exports.RichTextEditor = RichTextEditor;
207
+ exports.RichTextEditor_default = RichTextEditor_default;
@@ -0,0 +1,93 @@
1
+ import { defineComponent, computed, h } from 'vue';
2
+ import { getEmptyDescription, emptyImageClasses, emptyIllustrationPaths, emptyIllustrationViewBox, emptyDescriptionClasses, emptyActionsClasses, mergeStyleValues, classNames, emptyBaseClasses, coerceClassValue } from '@expcat/tigercat-core';
3
+
4
+ // src/components/Empty.ts
5
+ var Empty = defineComponent({
6
+ name: "TigerEmpty",
7
+ inheritAttrs: false,
8
+ props: {
9
+ preset: {
10
+ type: String,
11
+ default: "default"
12
+ },
13
+ description: {
14
+ type: String,
15
+ default: void 0
16
+ },
17
+ showImage: {
18
+ type: Boolean,
19
+ default: true
20
+ },
21
+ className: {
22
+ type: String,
23
+ default: void 0
24
+ },
25
+ style: {
26
+ type: Object,
27
+ default: void 0
28
+ }
29
+ },
30
+ setup(props, { slots, attrs }) {
31
+ const descText = computed(() => props.description ?? getEmptyDescription(props.preset));
32
+ return () => {
33
+ const attrsRecord = attrs;
34
+ const children = [];
35
+ if (props.showImage) {
36
+ if (slots.image) {
37
+ children.push(h("div", { class: emptyImageClasses }, slots.image()));
38
+ } else {
39
+ const paths = emptyIllustrationPaths.map(
40
+ (p, i) => h("path", {
41
+ key: i,
42
+ d: p.d,
43
+ fill: p.fill ?? "none",
44
+ stroke: p.stroke,
45
+ "stroke-width": p.strokeWidth,
46
+ opacity: p.opacity
47
+ })
48
+ );
49
+ children.push(
50
+ h("div", { class: emptyImageClasses }, [
51
+ h(
52
+ "svg",
53
+ {
54
+ xmlns: "http://www.w3.org/2000/svg",
55
+ viewBox: emptyIllustrationViewBox,
56
+ class: "mx-auto h-24 w-24"
57
+ },
58
+ paths
59
+ )
60
+ ])
61
+ );
62
+ }
63
+ }
64
+ if (slots.description || descText.value) {
65
+ children.push(
66
+ h(
67
+ "div",
68
+ { class: emptyDescriptionClasses },
69
+ slots.description ? slots.description() : descText.value
70
+ )
71
+ );
72
+ }
73
+ if (slots.extra) {
74
+ children.push(h("div", { class: emptyActionsClasses }, slots.extra()));
75
+ }
76
+ if (slots.default) {
77
+ children.push(h("div", null, slots.default()));
78
+ }
79
+ return h(
80
+ "div",
81
+ {
82
+ ...attrs,
83
+ class: classNames(emptyBaseClasses, props.className, coerceClassValue(attrsRecord.class)),
84
+ style: mergeStyleValues(attrsRecord.style, props.style)
85
+ },
86
+ children
87
+ );
88
+ };
89
+ }
90
+ });
91
+ var Empty_default = Empty;
92
+
93
+ export { Empty, Empty_default };
@@ -0,0 +1,120 @@
1
+ import { defineComponent, ref, computed, watch, onBeforeUnmount, h } from 'vue';
2
+ import { classNames, coerceClassValue, getMentionsInputClasses, mentionsDropdownClasses, getMentionsOptionClasses, extractMentionQuery } from '@expcat/tigercat-core';
3
+
4
+ // src/components/Mentions.ts
5
+ var Mentions = defineComponent({
6
+ name: "TigerMentions",
7
+ props: {
8
+ modelValue: { type: String, default: "" },
9
+ prefix: { type: String, default: "@" },
10
+ options: { type: Array, default: () => [] },
11
+ placeholder: { type: String, default: void 0 },
12
+ disabled: { type: Boolean, default: false },
13
+ size: { type: String, default: "md" },
14
+ rows: { type: Number, default: 3 }
15
+ },
16
+ emits: ["update:modelValue", "change", "select"],
17
+ setup(props, { emit, attrs }) {
18
+ const isOpen = ref(false);
19
+ const activeIndex = ref(0);
20
+ const mentionStartPos = ref(-1);
21
+ const query = ref("");
22
+ const textareaRef = ref(null);
23
+ const containerRef = ref(null);
24
+ const filteredOptions = computed(() => {
25
+ if (!query.value) return props.options || [];
26
+ const q = query.value.toLowerCase();
27
+ return (props.options || []).filter((o) => !o.disabled && o.label.toLowerCase().includes(q));
28
+ });
29
+ function handleInput(e) {
30
+ const target = e.target;
31
+ const value = target.value;
32
+ emit("update:modelValue", value);
33
+ emit("change", value);
34
+ const cursorPos = target.selectionStart ?? value.length;
35
+ const result = extractMentionQuery(value, cursorPos, props.prefix);
36
+ if (result && filteredOptions.value.length > 0) {
37
+ query.value = result.query;
38
+ mentionStartPos.value = result.startPos;
39
+ isOpen.value = true;
40
+ activeIndex.value = 0;
41
+ } else {
42
+ isOpen.value = false;
43
+ }
44
+ }
45
+ function selectOption(option) {
46
+ if (option.disabled) return;
47
+ const val = props.modelValue || "";
48
+ const before = val.slice(0, mentionStartPos.value);
49
+ const after = val.slice(textareaRef.value?.selectionStart ?? val.length);
50
+ const newValue = `${before}${props.prefix}${option.value} ${after}`;
51
+ emit("update:modelValue", newValue);
52
+ emit("change", newValue);
53
+ emit("select", option);
54
+ isOpen.value = false;
55
+ }
56
+ function handleKeydown(e) {
57
+ if (!isOpen.value) return;
58
+ if (e.key === "ArrowDown") {
59
+ e.preventDefault();
60
+ activeIndex.value = (activeIndex.value + 1) % filteredOptions.value.length;
61
+ } else if (e.key === "ArrowUp") {
62
+ e.preventDefault();
63
+ activeIndex.value = (activeIndex.value - 1 + filteredOptions.value.length) % filteredOptions.value.length;
64
+ } else if (e.key === "Enter") {
65
+ e.preventDefault();
66
+ const opt = filteredOptions.value[activeIndex.value];
67
+ if (opt) selectOption(opt);
68
+ } else if (e.key === "Escape") {
69
+ isOpen.value = false;
70
+ }
71
+ }
72
+ function onClickOutside(e) {
73
+ if (containerRef.value && !containerRef.value.contains(e.target)) {
74
+ isOpen.value = false;
75
+ }
76
+ }
77
+ watch(isOpen, (val) => {
78
+ if (val) document.addEventListener("mousedown", onClickOutside);
79
+ else document.removeEventListener("mousedown", onClickOutside);
80
+ });
81
+ onBeforeUnmount(() => {
82
+ document.removeEventListener("mousedown", onClickOutside);
83
+ });
84
+ return () => {
85
+ const wrapperClass = classNames("relative", coerceClassValue(attrs.class));
86
+ return h("div", { ref: containerRef, class: wrapperClass }, [
87
+ h("textarea", {
88
+ ref: textareaRef,
89
+ value: props.modelValue,
90
+ class: getMentionsInputClasses(props.size, props.disabled),
91
+ placeholder: props.placeholder,
92
+ disabled: props.disabled,
93
+ rows: props.rows,
94
+ onInput: handleInput,
95
+ onKeydown: handleKeydown
96
+ }),
97
+ isOpen.value && filteredOptions.value.length > 0 ? h(
98
+ "div",
99
+ { class: mentionsDropdownClasses, role: "listbox" },
100
+ filteredOptions.value.map(
101
+ (opt, i) => h(
102
+ "div",
103
+ {
104
+ key: opt.value,
105
+ class: getMentionsOptionClasses(i === activeIndex.value, !!opt.disabled),
106
+ role: "option",
107
+ "aria-selected": i === activeIndex.value,
108
+ onClick: () => selectOption(opt)
109
+ },
110
+ opt.label
111
+ )
112
+ )
113
+ ) : null
114
+ ]);
115
+ };
116
+ }
117
+ });
118
+ var Mentions_default = Mentions;
119
+
120
+ export { Mentions, Mentions_default };
@@ -1,5 +1,5 @@
1
- import { defineComponent, reactive, computed, provide, h } from 'vue';
2
- import { classNames, validateForm, getValueByPath, validateField } from '@expcat/tigercat-core';
1
+ import { defineComponent, reactive, ref, computed, provide, h } from 'vue';
2
+ import { createFormHistory, canUndo, canRedo, classNames, getDependentFields, pushFormHistory, redoFormHistory, undoFormHistory, validateForm, getValueByPath, validateField } from '@expcat/tigercat-core';
3
3
 
4
4
  // src/components/Form.ts
5
5
  var FormContextKey = /* @__PURE__ */ Symbol("FormContext");
@@ -73,6 +73,27 @@ var Form = defineComponent({
73
73
  disabled: {
74
74
  type: Boolean,
75
75
  default: false
76
+ },
77
+ /**
78
+ * Whether the form is in a loading state (prevents submit)
79
+ * @default false
80
+ */
81
+ loading: {
82
+ type: Boolean,
83
+ default: false
84
+ },
85
+ // v0.6.0 props
86
+ fieldDependencies: {
87
+ type: Object,
88
+ default: void 0
89
+ },
90
+ undoable: {
91
+ type: Boolean,
92
+ default: false
93
+ },
94
+ maxHistorySize: {
95
+ type: Number,
96
+ default: 50
76
97
  }
77
98
  },
78
99
  emits: {
@@ -88,6 +109,9 @@ var Form = defineComponent({
88
109
  setup(props, { slots, emit, expose }) {
89
110
  const errors = reactive([]);
90
111
  const fieldRules = reactive({});
112
+ const history = ref(
113
+ createFormHistory(props.model ?? {}, props.maxHistorySize)
114
+ );
91
115
  const registerFieldRules = (fieldName, rules) => {
92
116
  if (!fieldName) {
93
117
  return;
@@ -118,24 +142,29 @@ var Form = defineComponent({
118
142
  };
119
143
  const validateField$1 = async (fieldName, rulesOverride, trigger) => {
120
144
  const effectiveFieldRules = resolveFieldRules(fieldName, rulesOverride);
121
- if (!effectiveFieldRules) {
122
- return;
123
- }
124
- const error = await runFieldValidation(fieldName, rulesOverride, trigger);
125
- const existingIndex = errors.findIndex((e) => e.field === fieldName);
126
- const existingMessage = existingIndex !== -1 ? errors[existingIndex].message : null;
127
- if (!error && existingMessage === null) ; else if (error && error === existingMessage) ; else {
128
- if (existingIndex !== -1) {
129
- errors.splice(existingIndex, 1);
145
+ if (effectiveFieldRules) {
146
+ const error = await runFieldValidation(fieldName, rulesOverride, trigger);
147
+ const existingIndex = errors.findIndex((e) => e.field === fieldName);
148
+ const existingMessage = existingIndex !== -1 ? errors[existingIndex].message : null;
149
+ if (!error && existingMessage === null) ; else if (error && error === existingMessage) ; else {
150
+ if (existingIndex !== -1) {
151
+ errors.splice(existingIndex, 1);
152
+ }
153
+ if (error) {
154
+ errors.push({
155
+ field: fieldName,
156
+ message: error
157
+ });
158
+ }
130
159
  }
131
- if (error) {
132
- errors.push({
133
- field: fieldName,
134
- message: error
135
- });
160
+ emit("validate", fieldName, !error, error || void 0);
161
+ }
162
+ if (props.fieldDependencies) {
163
+ const dependents = getDependentFields(fieldName, props.fieldDependencies);
164
+ for (const dep of dependents) {
165
+ await validateField$1(dep);
136
166
  }
137
167
  }
138
- emit("validate", fieldName, !error, error || void 0);
139
168
  };
140
169
  const validate = async () => {
141
170
  errors.splice(0, errors.length);
@@ -189,8 +218,44 @@ var Form = defineComponent({
189
218
  const resetFields = () => {
190
219
  clearValidate();
191
220
  };
221
+ const addField = (fieldName, defaultValue) => {
222
+ if (props.model && fieldName) {
223
+ props.model[fieldName] = defaultValue ?? null;
224
+ }
225
+ };
226
+ const removeField = (fieldName) => {
227
+ if (props.model && fieldName) {
228
+ delete props.model[fieldName];
229
+ clearValidate(fieldName);
230
+ }
231
+ };
232
+ const snapshotHistory = () => {
233
+ if (!props.undoable || !props.model) return;
234
+ history.value = pushFormHistory(history.value, props.model);
235
+ };
236
+ const undo = () => {
237
+ if (!props.undoable) return;
238
+ const result = undoFormHistory(history.value);
239
+ if (result && props.model) {
240
+ history.value = result;
241
+ Object.keys(props.model).forEach((k) => delete props.model[k]);
242
+ Object.assign(props.model, { ...result.present });
243
+ }
244
+ };
245
+ const redo = () => {
246
+ if (!props.undoable) return;
247
+ const result = redoFormHistory(history.value);
248
+ if (result && props.model) {
249
+ history.value = result;
250
+ Object.keys(props.model).forEach((k) => delete props.model[k]);
251
+ Object.assign(props.model, { ...result.present });
252
+ }
253
+ };
254
+ const canUndoNow = computed(() => props.undoable && canUndo(history.value));
255
+ const canRedoNow = computed(() => props.undoable && canRedo(history.value));
192
256
  const handleSubmit = async (event) => {
193
257
  event.preventDefault();
258
+ if (props.loading) return;
194
259
  const valid = await validate();
195
260
  emit("submit", { valid, values: props.model, errors });
196
261
  };
@@ -204,6 +269,7 @@ var Form = defineComponent({
204
269
  inlineMessage: props.inlineMessage,
205
270
  showRequiredAsterisk: props.showRequiredAsterisk,
206
271
  disabled: props.disabled,
272
+ loading: props.loading,
207
273
  errors,
208
274
  registerFieldRules,
209
275
  validateField: validateField$1,
@@ -215,13 +281,21 @@ var Form = defineComponent({
215
281
  validateFields,
216
282
  validateField: validateField$1,
217
283
  clearValidate,
218
- resetFields
284
+ resetFields,
285
+ addField,
286
+ removeField,
287
+ undo,
288
+ redo,
289
+ snapshotHistory,
290
+ canUndo: canUndoNow,
291
+ canRedo: canRedoNow
219
292
  });
220
293
  const formClasses = computed(() => {
221
294
  return classNames(
222
295
  "tiger-form",
223
296
  `tiger-form--label-${props.labelPosition}`,
224
- props.disabled && "tiger-form--disabled"
297
+ props.disabled && "tiger-form--disabled",
298
+ props.loading && "tiger-form--loading"
225
299
  );
226
300
  });
227
301
  return () => {
@@ -1,4 +1,4 @@
1
- import { useTigerConfig } from './chunk-TRDG56CB.mjs';
1
+ import { useTigerConfig } from './chunk-XP5M2GK7.mjs';
2
2
  import { defineComponent, computed, ref, watch, onMounted, onBeforeUnmount, h } from 'vue';
3
3
  import { mergeTigerLocale, getTaskBoardLabels, classNames, taskBoardBaseClasses, coerceClassValue, mergeStyleValues, resolveLocaleText, createTouchDragTracker, isWipExceeded, taskBoardColumnClasses, taskBoardColumnDropTargetClasses, taskBoardColumnDraggingClasses, taskBoardWipExceededClasses, taskBoardColumnHeaderClasses, taskBoardDropIndicatorClasses, taskBoardEmptyClasses, taskBoardColumnBodyClasses, taskBoardAddCardClasses, getColumnDropIndex, setDragData, createColumnDragData, taskBoardCardClasses, taskBoardCardDraggingClasses, parseDragData, getDropIndex, reorderColumns, findColumnFromPoint, createCardDragData, moveCard } from '@expcat/tigercat-core';
4
4