vft 0.0.20 → 0.0.21

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 (226) hide show
  1. package/dist/index.css +1 -1
  2. package/es/component.mjs +32 -30
  3. package/es/component.mjs.map +1 -1
  4. package/es/components/back-top/back-top.vue2.mjs +8 -6
  5. package/es/components/back-top/back-top.vue2.mjs.map +1 -1
  6. package/es/components/config-provider/config-provider.vue.d.ts +9 -0
  7. package/es/components/config-provider/config-provider.vue2.mjs +32 -23
  8. package/es/components/config-provider/config-provider.vue2.mjs.map +1 -1
  9. package/es/components/config-provider/constants.d.ts +2 -0
  10. package/es/components/config-provider/constants.mjs +3 -2
  11. package/es/components/config-provider/constants.mjs.map +1 -1
  12. package/es/components/config-provider/index.d.ts +8 -0
  13. package/es/components/config-provider/index.mjs +7 -6
  14. package/es/components/context-menu/context-menu.vue2.mjs +17 -10
  15. package/es/components/context-menu/context-menu.vue2.mjs.map +1 -1
  16. package/es/components/index.d.ts +3 -0
  17. package/es/components/index.mjs +87 -71
  18. package/es/components/index.mjs.map +1 -1
  19. package/es/components/loading/directive.d.ts +18 -0
  20. package/es/components/loading/directive.mjs +50 -0
  21. package/es/components/loading/directive.mjs.map +1 -0
  22. package/es/components/loading/index.d.ts +39 -0
  23. package/es/components/loading/index.mjs +19 -0
  24. package/es/components/loading/index.mjs.map +1 -0
  25. package/es/components/loading/loading.d.ts +27 -0
  26. package/es/components/loading/loading.mjs +122 -0
  27. package/es/components/loading/loading.mjs.map +1 -0
  28. package/es/components/loading/service.d.ts +3 -0
  29. package/es/components/loading/service.mjs +68 -0
  30. package/es/components/loading/service.mjs.map +1 -0
  31. package/es/components/loading/style/css.d.ts +0 -0
  32. package/es/components/loading/style/css.mjs +3 -0
  33. package/es/components/loading/style/css.mjs.map +1 -0
  34. package/es/components/loading/style/index.d.ts +0 -0
  35. package/es/components/loading/style/index.mjs +3 -0
  36. package/es/components/loading/style/index.mjs.map +1 -0
  37. package/es/components/loading/types.d.ts +25 -0
  38. package/es/components/loading/types.mjs +2 -0
  39. package/es/components/loading/types.mjs.map +1 -0
  40. package/es/components/menu/menu-item.vue2.mjs +4 -2
  41. package/es/components/menu/menu-item.vue2.mjs.map +1 -1
  42. package/es/components/menu/sub-menu.vue2.mjs +4 -2
  43. package/es/components/menu/sub-menu.vue2.mjs.map +1 -1
  44. package/es/components/message/index.d.ts +3 -0
  45. package/es/components/message/index.mjs +14 -0
  46. package/es/components/message/index.mjs.map +1 -0
  47. package/es/components/message/instance.d.ts +17 -0
  48. package/es/components/message/instance.mjs +16 -0
  49. package/es/components/message/instance.mjs.map +1 -0
  50. package/es/components/message/message.vue.d.ts +129 -0
  51. package/es/components/message/message.vue.mjs +5 -0
  52. package/es/components/message/message.vue.mjs.map +1 -0
  53. package/es/components/message/message.vue2.mjs +129 -0
  54. package/es/components/message/message.vue2.mjs.map +1 -0
  55. package/es/components/message/method.d.ts +4 -0
  56. package/es/components/message/method.mjs +98 -0
  57. package/es/components/message/method.mjs.map +1 -0
  58. package/es/components/message/style/css.d.ts +0 -0
  59. package/es/components/message/style/css.mjs +3 -0
  60. package/es/components/message/style/css.mjs.map +1 -0
  61. package/es/components/message/style/index.d.ts +0 -0
  62. package/es/components/message/style/index.mjs +3 -0
  63. package/es/components/message/style/index.mjs.map +1 -0
  64. package/es/components/message/types.d.ts +63 -0
  65. package/es/components/message/types.mjs +23 -0
  66. package/es/components/message/types.mjs.map +1 -0
  67. package/es/components/multiple-tabs/multiple-tabs.vue2.mjs +4 -2
  68. package/es/components/multiple-tabs/multiple-tabs.vue2.mjs.map +1 -1
  69. package/es/components/multiple-tabs/tab-content.vue2.mjs +18 -11
  70. package/es/components/multiple-tabs/tab-content.vue2.mjs.map +1 -1
  71. package/es/components/page-wrapper/index.d.ts +12 -0
  72. package/es/components/page-wrapper/index.mjs +11 -0
  73. package/es/components/page-wrapper/index.mjs.map +1 -0
  74. package/es/components/page-wrapper/page-wrapper.vue.d.ts +13 -0
  75. package/es/components/page-wrapper/page-wrapper.vue.mjs +5 -0
  76. package/es/components/page-wrapper/page-wrapper.vue.mjs.map +1 -0
  77. package/es/components/page-wrapper/page-wrapper.vue2.mjs +43 -0
  78. package/es/components/page-wrapper/page-wrapper.vue2.mjs.map +1 -0
  79. package/es/components/page-wrapper/style/css.d.ts +0 -0
  80. package/es/components/page-wrapper/style/css.mjs +3 -0
  81. package/es/components/page-wrapper/style/css.mjs.map +1 -0
  82. package/es/components/page-wrapper/style/index.d.ts +0 -0
  83. package/es/components/page-wrapper/style/index.mjs +3 -0
  84. package/es/components/page-wrapper/style/index.mjs.map +1 -0
  85. package/es/components/result/result.vue2.mjs +4 -2
  86. package/es/components/result/result.vue2.mjs.map +1 -1
  87. package/es/components/side-menu/side-menu.vue2.mjs +4 -2
  88. package/es/components/side-menu/side-menu.vue2.mjs.map +1 -1
  89. package/es/components/tabs/tab-nav.vue2.mjs +19 -17
  90. package/es/components/tabs/tab-nav.vue2.mjs.map +1 -1
  91. package/es/defaults.d.ts +1 -1
  92. package/es/defaults.mjs +4 -3
  93. package/es/defaults.mjs.map +1 -1
  94. package/es/index.d.ts +1 -1
  95. package/es/index.mjs +135 -119
  96. package/es/index.mjs.map +1 -1
  97. package/es/make-installer.d.ts +2 -1
  98. package/es/make-installer.mjs +8 -6
  99. package/es/make-installer.mjs.map +1 -1
  100. package/es/package.json.mjs +1 -1
  101. package/es/plugin.d.ts +3 -0
  102. package/es/plugin.mjs +10 -0
  103. package/es/plugin.mjs.map +1 -0
  104. package/es/style.css +1 -1
  105. package/es/theme-style/src/loading.scss.mjs +5 -0
  106. package/es/theme-style/src/loading.scss.mjs.map +1 -0
  107. package/es/theme-style/src/message.scss.mjs +5 -0
  108. package/es/theme-style/src/message.scss.mjs.map +1 -0
  109. package/es/theme-style/src/page-wrapper.scss.mjs +5 -0
  110. package/es/theme-style/src/page-wrapper.scss.mjs.map +1 -0
  111. package/lib/component.js +1 -1
  112. package/lib/component.js.map +1 -1
  113. package/lib/components/back-top/back-top.vue2.js +1 -1
  114. package/lib/components/back-top/back-top.vue2.js.map +1 -1
  115. package/lib/components/config-provider/config-provider.vue.d.ts +9 -0
  116. package/lib/components/config-provider/config-provider.vue2.js +1 -1
  117. package/lib/components/config-provider/config-provider.vue2.js.map +1 -1
  118. package/lib/components/config-provider/constants.d.ts +2 -0
  119. package/lib/components/config-provider/constants.js +1 -1
  120. package/lib/components/config-provider/constants.js.map +1 -1
  121. package/lib/components/config-provider/index.d.ts +8 -0
  122. package/lib/components/config-provider/index.js +1 -1
  123. package/lib/components/context-menu/context-menu.vue2.js +1 -1
  124. package/lib/components/context-menu/context-menu.vue2.js.map +1 -1
  125. package/lib/components/index.d.ts +3 -0
  126. package/lib/components/index.js +1 -1
  127. package/lib/components/loading/directive.d.ts +18 -0
  128. package/lib/components/loading/directive.js +2 -0
  129. package/lib/components/loading/directive.js.map +1 -0
  130. package/lib/components/loading/index.d.ts +39 -0
  131. package/lib/components/loading/index.js +2 -0
  132. package/lib/components/loading/index.js.map +1 -0
  133. package/lib/components/loading/loading.d.ts +27 -0
  134. package/lib/components/loading/loading.js +2 -0
  135. package/lib/components/loading/loading.js.map +1 -0
  136. package/lib/components/loading/service.d.ts +3 -0
  137. package/lib/components/loading/service.js +2 -0
  138. package/lib/components/loading/service.js.map +1 -0
  139. package/lib/components/loading/style/css.d.ts +0 -0
  140. package/lib/components/loading/style/css.js +2 -0
  141. package/lib/components/loading/style/css.js.map +1 -0
  142. package/lib/components/loading/style/index.d.ts +0 -0
  143. package/lib/components/loading/style/index.js +2 -0
  144. package/lib/components/loading/style/index.js.map +1 -0
  145. package/lib/components/loading/types.d.ts +25 -0
  146. package/lib/components/loading/types.js +2 -0
  147. package/lib/components/loading/types.js.map +1 -0
  148. package/lib/components/menu/menu-item.vue2.js +1 -1
  149. package/lib/components/menu/menu-item.vue2.js.map +1 -1
  150. package/lib/components/menu/sub-menu.vue2.js +1 -1
  151. package/lib/components/menu/sub-menu.vue2.js.map +1 -1
  152. package/lib/components/message/index.d.ts +3 -0
  153. package/lib/components/message/index.js +2 -0
  154. package/lib/components/message/index.js.map +1 -0
  155. package/lib/components/message/instance.d.ts +17 -0
  156. package/lib/components/message/instance.js +2 -0
  157. package/lib/components/message/instance.js.map +1 -0
  158. package/lib/components/message/message.vue.d.ts +129 -0
  159. package/lib/components/message/message.vue.js +2 -0
  160. package/lib/components/message/message.vue.js.map +1 -0
  161. package/lib/components/message/message.vue2.js +2 -0
  162. package/lib/components/message/message.vue2.js.map +1 -0
  163. package/lib/components/message/method.d.ts +4 -0
  164. package/lib/components/message/method.js +2 -0
  165. package/lib/components/message/method.js.map +1 -0
  166. package/lib/components/message/style/css.d.ts +0 -0
  167. package/lib/components/message/style/css.js +2 -0
  168. package/lib/components/message/style/css.js.map +1 -0
  169. package/lib/components/message/style/index.d.ts +0 -0
  170. package/lib/components/message/style/index.js +2 -0
  171. package/lib/components/message/style/index.js.map +1 -0
  172. package/lib/components/message/types.d.ts +63 -0
  173. package/lib/components/message/types.js +2 -0
  174. package/lib/components/message/types.js.map +1 -0
  175. package/lib/components/multiple-tabs/multiple-tabs.vue2.js +1 -1
  176. package/lib/components/multiple-tabs/multiple-tabs.vue2.js.map +1 -1
  177. package/lib/components/multiple-tabs/tab-content.vue2.js +1 -1
  178. package/lib/components/multiple-tabs/tab-content.vue2.js.map +1 -1
  179. package/lib/components/page-wrapper/index.d.ts +12 -0
  180. package/lib/components/page-wrapper/index.js +2 -0
  181. package/lib/components/page-wrapper/index.js.map +1 -0
  182. package/lib/components/page-wrapper/page-wrapper.vue.d.ts +13 -0
  183. package/lib/components/page-wrapper/page-wrapper.vue.js +2 -0
  184. package/lib/components/page-wrapper/page-wrapper.vue.js.map +1 -0
  185. package/lib/components/page-wrapper/page-wrapper.vue2.js +2 -0
  186. package/lib/components/page-wrapper/page-wrapper.vue2.js.map +1 -0
  187. package/lib/components/page-wrapper/style/css.d.ts +0 -0
  188. package/lib/components/page-wrapper/style/css.js +2 -0
  189. package/lib/components/page-wrapper/style/css.js.map +1 -0
  190. package/lib/components/page-wrapper/style/index.d.ts +0 -0
  191. package/lib/components/page-wrapper/style/index.js +2 -0
  192. package/lib/components/page-wrapper/style/index.js.map +1 -0
  193. package/lib/components/result/result.vue2.js +1 -1
  194. package/lib/components/result/result.vue2.js.map +1 -1
  195. package/lib/components/side-menu/side-menu.vue2.js +1 -1
  196. package/lib/components/side-menu/side-menu.vue2.js.map +1 -1
  197. package/lib/components/tabs/tab-nav.vue2.js +1 -1
  198. package/lib/components/tabs/tab-nav.vue2.js.map +1 -1
  199. package/lib/defaults.d.ts +1 -1
  200. package/lib/defaults.js +1 -1
  201. package/lib/defaults.js.map +1 -1
  202. package/lib/index.d.ts +1 -1
  203. package/lib/index.js +1 -1
  204. package/lib/index.js.map +1 -1
  205. package/lib/make-installer.d.ts +2 -1
  206. package/lib/make-installer.js +1 -1
  207. package/lib/make-installer.js.map +1 -1
  208. package/lib/package.json.js +1 -1
  209. package/lib/plugin.d.ts +3 -0
  210. package/lib/plugin.js +2 -0
  211. package/lib/plugin.js.map +1 -0
  212. package/lib/theme-style/src/loading.scss.js +2 -0
  213. package/lib/theme-style/src/loading.scss.js.map +1 -0
  214. package/lib/theme-style/src/message.scss.js +2 -0
  215. package/lib/theme-style/src/message.scss.js.map +1 -0
  216. package/lib/theme-style/src/page-wrapper.scss.js +2 -0
  217. package/lib/theme-style/src/page-wrapper.scss.js.map +1 -0
  218. package/package.json +1 -1
  219. package/theme-style/index.css +1 -1
  220. package/theme-style/src/index.scss +3 -0
  221. package/theme-style/src/loading.scss +112 -0
  222. package/theme-style/src/message.scss +111 -0
  223. package/theme-style/src/page-wrapper.scss +28 -0
  224. package/theme-style/vft-loading.css +1 -0
  225. package/theme-style/vft-message.css +1 -0
  226. package/theme-style/vft-page-wrapper.css +1 -0
@@ -1,4 +1,4 @@
1
- import { defineComponent as m, computed as u, watch as d, onActivated as f, onDeactivated as h, onBeforeUnmount as p, getCurrentInstance as v, openBlock as V, createElementBlock as g, normalizeClass as k, unref as a, normalizeStyle as C, renderSlot as b } from "vue";
1
+ import { defineComponent as s, watch as r, computed as d, onActivated as f, onDeactivated as h, onBeforeUnmount as g, getCurrentInstance as p, openBlock as v, createElementBlock as C, normalizeClass as V, unref as o, normalizeStyle as b, renderSlot as k } from "vue";
2
2
  import { inBrowser as B, kebabCase as D } from "@vft/utils";
3
3
  import { useNamespace as E } from "../../hooks/use-namespace/index.mjs";
4
4
  import "@popperjs/core";
@@ -7,13 +7,14 @@ import "../../hooks/use-z-index/index.mjs";
7
7
  import "@vueuse/core";
8
8
  import "@vue/shared";
9
9
  import { provideGlobalConfig as L } from "./hooks/use-global-config.mjs";
10
- const s = (
10
+ import { messageConfig as S } from "./constants.mjs";
11
+ const i = (
11
12
  /* hoist-static*/
12
13
  E("config-provider")
13
- ), S = m({
14
- name: s.b()
15
- }), G = /* @__PURE__ */ m({
16
- ...S,
14
+ ), T = s({
15
+ name: i.b()
16
+ }), N = /* @__PURE__ */ s({
17
+ ...T,
17
18
  props: {
18
19
  theme: { default: "light" },
19
20
  themeVars: null,
@@ -22,12 +23,20 @@ const s = (
22
23
  iconPrefix: null,
23
24
  namespace: { default: "vft" },
24
25
  zIndex: null,
26
+ message: null,
25
27
  projectCfg: null
26
28
  },
27
29
  setup(t) {
28
- const c = u(() => {
30
+ r(
31
+ () => t.message,
32
+ (e) => {
33
+ Object.assign(S, e ?? {});
34
+ },
35
+ { immediate: !0, deep: !0 }
36
+ );
37
+ const c = d(() => {
29
38
  const e = t.theme === "dark";
30
- return i({
39
+ return l({
31
40
  ...t.themeVars,
32
41
  ...e ? t.themeVarsDark : t.themeVarsLight
33
42
  });
@@ -35,33 +44,33 @@ const s = (
35
44
  if (B) {
36
45
  const e = () => {
37
46
  document.documentElement.classList.add(t.theme);
38
- }, n = (o = t.theme) => {
39
- document.documentElement.classList.remove(o);
47
+ }, n = (m = t.theme) => {
48
+ document.documentElement.classList.remove(m);
40
49
  };
41
- d(
50
+ r(
42
51
  () => t.theme,
43
- (o, r) => {
44
- r && n(r), e();
52
+ (m, a) => {
53
+ a && n(a), e();
45
54
  },
46
55
  { immediate: !0 }
47
- ), f(e), h(n), p(n);
56
+ ), f(e), h(n), g(n);
48
57
  }
49
- function i(e) {
58
+ function l(e) {
50
59
  const n = {};
51
- return Object.keys(e).forEach((o) => {
52
- n[`--${t.namespace}-${D(o)}`] = e[o];
60
+ return Object.keys(e).forEach((m) => {
61
+ n[`--${t.namespace}-${D(m)}`] = e[m];
53
62
  }), n;
54
63
  }
55
- const l = v();
56
- return L(l.props), (e, n) => (V(), g("div", {
57
- class: k(a(s).b()),
58
- style: C(a(c))
64
+ const u = p();
65
+ return L(u.props), (e, n) => (v(), C("div", {
66
+ class: V(o(i).b()),
67
+ style: b(o(c))
59
68
  }, [
60
- b(e.$slots, "default")
69
+ k(e.$slots, "default")
61
70
  ], 6));
62
71
  }
63
72
  });
64
73
  export {
65
- G as default
74
+ N as default
66
75
  };
67
76
  //# sourceMappingURL=config-provider.vue2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-provider.vue2.mjs","sources":["../../../../../packages/components/config-provider/config-provider.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('config-provider')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport { inBrowser, kebabCase } from '@vft/utils';\nimport { computed, watch, onActivated, onDeactivated, onBeforeUnmount, getCurrentInstance } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { provideGlobalConfig } from './hooks/use-global-config';\n// import type { MessageConfigContext } from '../message/message';\n// import { messageConfig } from './types';\n\ninterface ConfigProviderProps {\n /** 主题风格 */\n theme?: Theme;\n /** 自定义主题变量 */\n themeVars?: Record<string, Numberish>;\n /** 仅在深色模式下生效的主题变量 */\n themeVarsDark?: Record<string, Numberish>;\n /** 仅在浅色模式下生效的主题变量 */\n themeVarsLight?: Record<string, Numberish>;\n /** 所有图标的类名前缀 */\n iconPrefix?: string;\n /** 组件公共命名 */\n namespace?: string;\n /** 设置所有弹窗类组件的 z-index */\n zIndex?: number;\n /** 可同时显示的消息最大数量 */\n // message?: MessageConfigContext;\n projectCfg?: Record<string, any>;\n}\n\ndefineProps({\n \"theme\": { default: 'light' },\n \"themeVars\": null,\n \"themeVarsDark\": null,\n \"themeVarsLight\": null,\n \"iconPrefix\": null,\n \"namespace\": { default: 'vft' },\n \"zIndex\": null,\n \"projectCfg\": null\n})\n\n\n\n;\n\n// 将外部传入的 message 的配置进行合并处理\n// watch(\n// () => message,\n// (val) => {\n// Object.assign(messageConfig, val ?? {});\n// },\n// { immediate: true, deep: true }\n// );\n\n// 合并传入的主题变量传入到 style 中\nconst style = computed(() => {\n const isDark = __props.theme === 'dark';\n return mapThemeVarsToCSSVars({\n ...__props.themeVars,\n ...(isDark ? __props.themeVarsDark : __props.themeVarsLight)\n });\n});\n\nif (inBrowser) {\n const addTheme = () => {\n document.documentElement.classList.add(__props.theme);\n };\n const removeTheme = (_theme = __props.theme) => {\n document.documentElement.classList.remove(_theme);\n };\n\n // 监听 theme 主题的变化,移除旧的,添加新的在 document.body 上\n watch(\n () => __props.theme,\n (newVal, oldVal) => {\n if (oldVal) {\n removeTheme(oldVal);\n }\n addTheme();\n },\n { immediate: true }\n );\n\n onActivated(addTheme);\n onDeactivated(removeTheme);\n onBeforeUnmount(removeTheme);\n}\n\nfunction mapThemeVarsToCSSVars(themeVars: Record<string, Numberish>) {\n const cssVars: Record<string, Numberish> = {};\n Object.keys(themeVars).forEach((key) => {\n cssVars[`--${__props.namespace}-${kebabCase(key)}`] = themeVars[key];\n });\n return cssVars;\n}\n\nconst instance = getCurrentInstance()!;\n\nprovideGlobalConfig(instance.props);\n</script>\n\n<template>\n <div :class=\"ns.b()\" :style=\"style\">\n <slot />\n </div>\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","style","computed","isDark","__props","mapThemeVarsToCSSVars","inBrowser","addTheme","removeTheme","_theme","watch","newVal","oldVal","onActivated","onDeactivated","onBeforeUnmount","themeVars","cssVars","key","kebabCase","instance","getCurrentInstance","provideGlobalConfig"],"mappings":";;;;;;;;;AACA,MAAMA;AAAA;AAAA,EAAuBC,EAAa,iBAAiB;AAAA,GAG3DC,IAA6BC,EAAmB;AAAA,EAC9C,MAAMH,EAAG,EAAE;AACb,CAAC;;;;;;;;;;;;;AAsDK,UAAAI,IAAQC,EAAS,MAAM;AACrB,YAAAC,IAASC,EAAQ,UAAU;AACjC,aAAOC,EAAsB;AAAA,QAC3B,GAAGD,EAAQ;AAAA,QACX,GAAID,IAASC,EAAQ,gBAAgBA,EAAQ;AAAA,MAAA,CAC9C;AAAA,IAAA,CACF;AAED,QAAIE,GAAW;AACb,YAAMC,IAAW,MAAM;AACrB,iBAAS,gBAAgB,UAAU,IAAIH,EAAQ,KAAK;AAAA,MAAA,GAEhDI,IAAc,CAACC,IAASL,EAAQ,UAAU;AACrC,iBAAA,gBAAgB,UAAU,OAAOK,CAAM;AAAA,MAAA;AAIlD,MAAAC;AAAA,QACE,MAAMN,EAAQ;AAAA,QACd,CAACO,GAAQC,MAAW;AAClB,UAAIA,KACFJ,EAAYI,CAAM,GAEXL;QACX;AAAA,QACA,EAAE,WAAW,GAAK;AAAA,MAAA,GAGpBM,EAAYN,CAAQ,GACpBO,EAAcN,CAAW,GACzBO,EAAgBP,CAAW;AAAA,IAC7B;AAEA,aAASH,EAAsBW,GAAsC;AACnE,YAAMC,IAAqC,CAAA;AAC3C,oBAAO,KAAKD,CAAS,EAAE,QAAQ,CAACE,MAAQ;AAC9B,QAAAD,EAAA,KAAKb,EAAQ,aAAae,EAAUD,CAAG,GAAG,IAAIF,EAAUE,CAAG;AAAA,MAAA,CACpE,GACMD;AAAA,IACT;AAEA,UAAMG,IAAWC;AAEjB,WAAAC,EAAoBF,EAAS,KAAK;;;;;;;;"}
1
+ {"version":3,"file":"config-provider.vue2.mjs","sources":["../../../../../packages/components/config-provider/config-provider.vue"],"sourcesContent":["<script lang=\"ts\">\nconst ns = /* hoist-static*/ useNamespace('config-provider')\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n name: ns.b()\n});</script>\n<script lang=\"ts\" setup>\nimport { inBrowser, kebabCase } from '@vft/utils';\nimport { computed, watch, onActivated, onDeactivated, onBeforeUnmount, getCurrentInstance } from 'vue';\nimport { useNamespace } from '@vft-ui/hooks';\nimport { provideGlobalConfig } from './hooks/use-global-config';\nimport type { MessageConfigContext } from '@vft-ui/components/message';\nimport { messageConfig } from './constants';\n\ninterface ConfigProviderProps {\n /** 主题风格 */\n theme?: Theme;\n /** 自定义主题变量 */\n themeVars?: Record<string, Numberish>;\n /** 仅在深色模式下生效的主题变量 */\n themeVarsDark?: Record<string, Numberish>;\n /** 仅在浅色模式下生效的主题变量 */\n themeVarsLight?: Record<string, Numberish>;\n /** 所有图标的类名前缀 */\n iconPrefix?: string;\n /** 组件公共命名 */\n namespace?: string;\n /** 设置所有弹窗类组件的 z-index */\n zIndex?: number;\n /** 可同时显示的消息最大数量 */\n message?: MessageConfigContext;\n projectCfg?: Record<string, any>;\n}\n\ndefineProps({\n \"theme\": { default: 'light' },\n \"themeVars\": null,\n \"themeVarsDark\": null,\n \"themeVarsLight\": null,\n \"iconPrefix\": null,\n \"namespace\": { default: 'vft' },\n \"zIndex\": null,\n \"message\": null,\n \"projectCfg\": null\n})\n\n\n\n;\n\n// 将外部传入的 message 的配置进行合并处理\nwatch(\n () => __props.message,\n (val) => {\n Object.assign(messageConfig, val ?? {});\n },\n { immediate: true, deep: true }\n);\n\n// 合并传入的主题变量传入到 style 中\nconst style = computed(() => {\n const isDark = __props.theme === 'dark';\n return mapThemeVarsToCSSVars({\n ...__props.themeVars,\n ...(isDark ? __props.themeVarsDark : __props.themeVarsLight)\n });\n});\n\nif (inBrowser) {\n const addTheme = () => {\n document.documentElement.classList.add(__props.theme);\n };\n const removeTheme = (_theme = __props.theme) => {\n document.documentElement.classList.remove(_theme);\n };\n\n // 监听 theme 主题的变化,移除旧的,添加新的在 document.body 上\n watch(\n () => __props.theme,\n (newVal, oldVal) => {\n if (oldVal) {\n removeTheme(oldVal);\n }\n addTheme();\n },\n { immediate: true }\n );\n\n onActivated(addTheme);\n onDeactivated(removeTheme);\n onBeforeUnmount(removeTheme);\n}\n\nfunction mapThemeVarsToCSSVars(themeVars: Record<string, Numberish>) {\n const cssVars: Record<string, Numberish> = {};\n Object.keys(themeVars).forEach((key) => {\n cssVars[`--${__props.namespace}-${kebabCase(key)}`] = themeVars[key];\n });\n return cssVars;\n}\n\nconst instance = getCurrentInstance()!;\n\nprovideGlobalConfig(instance.props);\n</script>\n\n<template>\n <div :class=\"ns.b()\" :style=\"style\">\n <slot />\n </div>\n</template>\n"],"names":["ns","useNamespace","__default__","DO_defineComponent","watch","__props","val","messageConfig","style","computed","isDark","mapThemeVarsToCSSVars","inBrowser","addTheme","removeTheme","_theme","newVal","oldVal","onActivated","onDeactivated","onBeforeUnmount","themeVars","cssVars","key","kebabCase","instance","getCurrentInstance","provideGlobalConfig"],"mappings":";;;;;;;;;;AACA,MAAMA;AAAA;AAAA,EAAuBC,EAAa,iBAAiB;AAAA,GAG3DC,IAA6BC,EAAmB;AAAA,EAC9C,MAAMH,EAAG,EAAE;AACb,CAAC;;;;;;;;;;;;;;AA8CD,IAAAI;AAAA,MACE,MAAMC,EAAQ;AAAA,MACd,CAACC,MAAQ;AACP,eAAO,OAAOC,GAAeD,KAAO,CAAE,CAAA;AAAA,MACxC;AAAA,MACA,EAAE,WAAW,IAAM,MAAM,GAAK;AAAA,IAAA;AAI1B,UAAAE,IAAQC,EAAS,MAAM;AACrB,YAAAC,IAASL,EAAQ,UAAU;AACjC,aAAOM,EAAsB;AAAA,QAC3B,GAAGN,EAAQ;AAAA,QACX,GAAIK,IAASL,EAAQ,gBAAgBA,EAAQ;AAAA,MAAA,CAC9C;AAAA,IAAA,CACF;AAED,QAAIO,GAAW;AACb,YAAMC,IAAW,MAAM;AACrB,iBAAS,gBAAgB,UAAU,IAAIR,EAAQ,KAAK;AAAA,MAAA,GAEhDS,IAAc,CAACC,IAASV,EAAQ,UAAU;AACrC,iBAAA,gBAAgB,UAAU,OAAOU,CAAM;AAAA,MAAA;AAIlD,MAAAX;AAAA,QACE,MAAMC,EAAQ;AAAA,QACd,CAACW,GAAQC,MAAW;AAClB,UAAIA,KACFH,EAAYG,CAAM,GAEXJ;QACX;AAAA,QACA,EAAE,WAAW,GAAK;AAAA,MAAA,GAGpBK,EAAYL,CAAQ,GACpBM,EAAcL,CAAW,GACzBM,EAAgBN,CAAW;AAAA,IAC7B;AAEA,aAASH,EAAsBU,GAAsC;AACnE,YAAMC,IAAqC,CAAA;AAC3C,oBAAO,KAAKD,CAAS,EAAE,QAAQ,CAACE,MAAQ;AAC9B,QAAAD,EAAA,KAAKjB,EAAQ,aAAamB,EAAUD,CAAG,GAAG,IAAIF,EAAUE,CAAG;AAAA,MAAA,CACpE,GACMD;AAAA,IACT;AAEA,UAAMG,IAAWC;AAEjB,WAAAC,EAAoBF,EAAS,KAAK;;;;;;;;"}
@@ -1,4 +1,6 @@
1
1
  import type { ConfigProviderProps } from './types';
2
2
  import type { InjectionKey, Ref } from 'vue';
3
+ import type { MessageConfigContext } from 'vft/es/components/message';
3
4
  export type ConfigProviderContext = Partial<ConfigProviderProps>;
4
5
  export declare const configProviderContextKey: InjectionKey<Ref<ConfigProviderContext>>;
6
+ export declare const messageConfig: MessageConfigContext;
@@ -1,5 +1,6 @@
1
- const o = Symbol();
1
+ const o = Symbol(), e = {};
2
2
  export {
3
- o as configProviderContextKey
3
+ o as configProviderContextKey,
4
+ e as messageConfig
4
5
  };
5
6
  //# sourceMappingURL=constants.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.mjs","sources":["../../../../../packages/components/config-provider/constants.ts"],"sourcesContent":["import type { ConfigProviderProps } from './types';\nimport type { InjectionKey, Ref } from 'vue';\n\nexport type ConfigProviderContext = Partial<ConfigProviderProps>\n\nexport const configProviderContextKey: InjectionKey<Ref<ConfigProviderContext>> = Symbol();\n"],"names":["configProviderContextKey"],"mappings":"AAKO,MAAMA,IAAqE,OAAO;"}
1
+ {"version":3,"file":"constants.mjs","sources":["../../../../../packages/components/config-provider/constants.ts"],"sourcesContent":["import type { ConfigProviderProps } from './types';\nimport type { InjectionKey, Ref } from 'vue';\nimport type { MessageConfigContext } from '@vft-ui/components/message';\n\nexport type ConfigProviderContext = Partial<ConfigProviderProps>\n\nexport const configProviderContextKey: InjectionKey<Ref<ConfigProviderContext>> = Symbol();\n\nexport const messageConfig: MessageConfigContext = {};\n"],"names":["configProviderContextKey","messageConfig"],"mappings":"AAMO,MAAMA,IAAqE,OAAO,GAE5EC,IAAsC,CAAA;"}
@@ -27,6 +27,10 @@ export declare const VftConfigProvider: import("vft/es/utils").SFCWithInstall<im
27
27
  type: import("vue").PropType<number | undefined>;
28
28
  required: false;
29
29
  };
30
+ message: {
31
+ type: import("vue").PropType<import("..").MessageConfigContext | undefined>;
32
+ required: false;
33
+ };
30
34
  projectCfg: {
31
35
  type: import("vue").PropType<Record<string, any> | undefined>;
32
36
  required: false;
@@ -60,6 +64,10 @@ export declare const VftConfigProvider: import("vft/es/utils").SFCWithInstall<im
60
64
  type: import("vue").PropType<number | undefined>;
61
65
  required: false;
62
66
  };
67
+ message: {
68
+ type: import("vue").PropType<import("..").MessageConfigContext | undefined>;
69
+ required: false;
70
+ };
63
71
  projectCfg: {
64
72
  type: import("vue").PropType<Record<string, any> | undefined>;
65
73
  required: false;
@@ -3,15 +3,16 @@ import "vue";
3
3
  import "@vue/shared";
4
4
  import "@vft/utils";
5
5
  import t from "./config-provider.vue2.mjs";
6
- import { configProviderContextKey as a } from "./constants.mjs";
7
- import { provideGlobalConfig as g, useGlobalComponentSettings as C, useGlobalConfig as d } from "./hooks/use-global-config.mjs";
6
+ import { configProviderContextKey as s, messageConfig as a } from "./constants.mjs";
7
+ import { provideGlobalConfig as C, useGlobalComponentSettings as d, useGlobalConfig as x } from "./hooks/use-global-config.mjs";
8
8
  const n = o(t);
9
9
  export {
10
10
  n as VftConfigProvider,
11
- a as configProviderContextKey,
11
+ s as configProviderContextKey,
12
12
  n as default,
13
- g as provideGlobalConfig,
14
- C as useGlobalComponentSettings,
15
- d as useGlobalConfig
13
+ a as messageConfig,
14
+ C as provideGlobalConfig,
15
+ d as useGlobalComponentSettings,
16
+ x as useGlobalConfig
16
17
  };
17
18
  //# sourceMappingURL=index.mjs.map
@@ -1,4 +1,4 @@
1
- import { defineComponent as w, ref as u, computed as y, openBlock as s, createBlock as d, Transition as k, withCtx as C, withDirectives as b, createElementVNode as c, normalizeStyle as g, unref as m, withModifiers as M, createElementBlock as $, Fragment as z, renderList as B, vShow as E } from "vue";
1
+ import { defineComponent as w, ref as u, computed as y, openBlock as m, createBlock as d, Transition as k, withCtx as C, withDirectives as b, createElementVNode as c, normalizeStyle as g, unref as p, withModifiers as M, createElementBlock as $, Fragment as z, renderList as B, vShow as E } from "vue";
2
2
  import { useTimeoutFn as S, useClickAway as A, useEventListener as a } from "@vft/use";
3
3
  import "../divider/index.mjs";
4
4
  import "../icon/index.mjs";
@@ -34,7 +34,14 @@ import "../qrcode/index.mjs";
34
34
  import "../overlay/index.mjs";
35
35
  import "../clamp/index.mjs";
36
36
  import "../clamp-toggle/index.mjs";
37
- const H = { class: "vft-sub-menu" }, xt = /* @__PURE__ */ w({
37
+ import "../page-wrapper/index.mjs";
38
+ import "../message/index.mjs";
39
+ import "@popperjs/core";
40
+ import "lodash";
41
+ import "../../hooks/use-z-index/index.mjs";
42
+ import "@vueuse/core";
43
+ import "@vue/shared";
44
+ const H = { class: "vft-sub-menu" }, bt = /* @__PURE__ */ w({
38
45
  __name: "context-menu",
39
46
  props: {
40
47
  axis: null,
@@ -43,7 +50,7 @@ const H = { class: "vft-sub-menu" }, xt = /* @__PURE__ */ w({
43
50
  items: null
44
51
  },
45
52
  setup(o) {
46
- let p = u();
53
+ let s = u();
47
54
  const f = y(() => {
48
55
  const { x: t, y: e } = o.axis || { x: 0, y: 0 }, i = (o.items || []).length * 40, n = o.width || 0, l = document.body, v = l.clientWidth < t + n ? t - n : t, h = l.clientHeight < e + i ? e - i : e;
49
56
  return {
@@ -58,7 +65,7 @@ const H = { class: "vft-sub-menu" }, xt = /* @__PURE__ */ w({
58
65
  let r = u(!1);
59
66
  S(() => {
60
67
  r.value = !0;
61
- }, 0), A(p, () => {
68
+ }, 0), A(s, () => {
62
69
  r.value = !1;
63
70
  }, {
64
71
  listenerOptions: {
@@ -77,18 +84,18 @@ const H = { class: "vft-sub-menu" }, xt = /* @__PURE__ */ w({
77
84
  var e;
78
85
  t != null && t.disabled || ((e = t.handler) == null || e.call(t), r.value = !1);
79
86
  }
80
- return (t, e) => (s(), d(k, { name: "vft-zoom-in-top" }, {
87
+ return (t, e) => (m(), d(k, { name: "vft-zoom-in-top" }, {
81
88
  default: C(() => [
82
89
  b(c("div", {
83
90
  ref_key: "contextMenuRef",
84
- ref: p,
85
- style: g(m(f)),
91
+ ref: s,
92
+ style: g(p(f)),
86
93
  onClick: e[0] || (e[0] = M(() => {
87
94
  }, ["stop"])),
88
95
  class: "vft-menu"
89
96
  }, [
90
97
  c("div", H, [
91
- (s(!0), $(z, null, B(o.items, (i, n) => (s(), d(m(F), {
98
+ (m(!0), $(z, null, B(o.items, (i, n) => (m(), d(p(F), {
92
99
  onClick: (l) => x(i),
93
100
  index: n + i.text,
94
101
  title: i.text,
@@ -100,7 +107,7 @@ const H = { class: "vft-sub-menu" }, xt = /* @__PURE__ */ w({
100
107
  }, null, 8, ["onClick", "index", "title", "divider", "disabled", "icon"]))), 128))
101
108
  ])
102
109
  ], 4), [
103
- [E, m(r)]
110
+ [E, p(r)]
104
111
  ])
105
112
  ]),
106
113
  _: 1
@@ -108,6 +115,6 @@ const H = { class: "vft-sub-menu" }, xt = /* @__PURE__ */ w({
108
115
  }
109
116
  });
110
117
  export {
111
- xt as default
118
+ bt as default
112
119
  };
113
120
  //# sourceMappingURL=context-menu.vue2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-menu.vue2.mjs","sources":["../../../../../packages/components/context-menu/context-menu.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useClickAway, useEventListener, useTimeoutFn } from '@vft/use';\nimport { computed, ref, type CSSProperties } from 'vue';\nimport type { Axis, ContextMenuItem } from './types';\nimport { VftMenuItem as MenuItem } from '@vft-ui/components';\n\ninterface Props {\n axis?: Axis;\n styles?: CSSProperties;\n width?: number;\n items?: ContextMenuItem[];\n}\n\ndefineProps({\n \"axis\": null,\n \"styles\": null,\n \"width\": null,\n \"items\": null\n})\n\nlet contextMenuRef = ref();\n\nconst getStyle = computed((): CSSProperties => {\n const { x, y } = __props.axis || { x: 0, y: 0 };\n const menuHeight = (__props.items || []).length * 40;\n const menuWidth = __props.width || 0;\n const body = document.body;\n\n const left = body.clientWidth < x + menuWidth ? x - menuWidth : x;\n const top = body.clientHeight < y + menuHeight ? y - menuHeight : y;\n return {\n zIndex: 3000,\n ...__props.styles,\n position: 'fixed',\n width: `${__props.width}px`,\n left: `${left + 1}px`,\n top: `${top + 1}px`\n };\n});\n\nlet show = ref(false);\n\nuseTimeoutFn(() => {\n show.value = true;\n}, 0);\n\nuseClickAway(contextMenuRef, () => {\n show.value = false;\n}, {\n listenerOptions: {\n capture: true\n }\n});\n\nuseEventListener(window, 'scroll', () => {\n show.value = false;\n}, {\n capture: true\n});\n\nuseEventListener(window, 'drag', () => {\n show.value = false;\n}, {\n capture: true\n});\n\nfunction handleClick (item: ContextMenuItem) {\n if (!item?.disabled) {\n item.handler?.();\n show.value = false;\n }\n}\n</script>\n\n<template>\n <transition name=\"vft-zoom-in-top\">\n <div ref=\"contextMenuRef\" v-show=\"show\" :style=\"getStyle\" @click.stop class=\"vft-menu\">\n <div class=\"vft-sub-menu\">\n <menu-item v-for=\"(item, index) in items\"\n @click=\"handleClick(item)\"\n :index=\"index + item.text\"\n :title=\"item.text\"\n :divider=\"item.divider\"\n :disabled=\"item.disabled\"\n :icon=\"item.iconCfg\"\n isAloneUse\n :key=\"index\" />\n </div>\n </div>\n </transition>\n</template>\n\n"],"names":["contextMenuRef","ref","getStyle","computed","x","y","__props","menuHeight","menuWidth","body","left","top","show","useTimeoutFn","useClickAway","useEventListener","handleClick","item","_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,QAAIA,IAAiBC;AAEf,UAAAC,IAAWC,EAAS,MAAqB;AACvC,YAAA,EAAE,GAAAC,GAAG,GAAAC,EAAM,IAAAC,EAAQ,QAAQ,EAAE,GAAG,GAAG,GAAG,KACtCC,KAAcD,EAAQ,SAAS,IAAI,SAAS,IAC5CE,IAAYF,EAAQ,SAAS,GAC7BG,IAAO,SAAS,MAEhBC,IAAOD,EAAK,cAAcL,IAAII,IAAYJ,IAAII,IAAYJ,GAC1DO,IAAMF,EAAK,eAAeJ,IAAIE,IAAaF,IAAIE,IAAaF;AAC3D,aAAA;AAAA,QACL,QAAQ;AAAA,QACR,GAAGC,EAAQ;AAAA,QACX,UAAU;AAAA,QACV,OAAO,GAAGA,EAAQ;AAAA,QAClB,MAAM,GAAGI,IAAO;AAAA,QAChB,KAAK,GAAGC,IAAM;AAAA,MAAA;AAAA,IAChB,CACD;AAEG,QAAAC,IAAOX,EAAI,EAAK;AAEpB,IAAAY,EAAa,MAAM;AACjB,MAAAD,EAAK,QAAQ;AAAA,OACZ,CAAC,GAEJE,EAAad,GAAgB,MAAM;AACjC,MAAAY,EAAK,QAAQ;AAAA,IAAA,GACZ;AAAA,MACD,iBAAiB;AAAA,QACf,SAAS;AAAA,MACX;AAAA,IAAA,CACD,GAEgBG,EAAA,QAAQ,UAAU,MAAM;AACvC,MAAAH,EAAK,QAAQ;AAAA,IAAA,GACZ;AAAA,MACD,SAAS;AAAA,IAAA,CACV,GAEgBG,EAAA,QAAQ,QAAQ,MAAM;AACrC,MAAAH,EAAK,QAAQ;AAAA,IAAA,GACZ;AAAA,MACD,SAAS;AAAA,IAAA,CACV;AAED,aAASI,EAAaC,GAAuB;;AACvC,MAACA,KAAA,QAAAA,EAAM,cACTC,IAAAD,EAAK,YAAL,QAAAC,EAAA,KAAAD,IACAL,EAAK,QAAQ;AAAA,IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"context-menu.vue2.mjs","sources":["../../../../../packages/components/context-menu/context-menu.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useClickAway, useEventListener, useTimeoutFn } from '@vft/use';\nimport { computed, ref, type CSSProperties } from 'vue';\nimport type { Axis, ContextMenuItem } from './types';\nimport { VftMenuItem as MenuItem } from '@vft-ui/components';\n\ninterface Props {\n axis?: Axis;\n styles?: CSSProperties;\n width?: number;\n items?: ContextMenuItem[];\n}\n\ndefineProps({\n \"axis\": null,\n \"styles\": null,\n \"width\": null,\n \"items\": null\n})\n\nlet contextMenuRef = ref();\n\nconst getStyle = computed((): CSSProperties => {\n const { x, y } = __props.axis || { x: 0, y: 0 };\n const menuHeight = (__props.items || []).length * 40;\n const menuWidth = __props.width || 0;\n const body = document.body;\n\n const left = body.clientWidth < x + menuWidth ? x - menuWidth : x;\n const top = body.clientHeight < y + menuHeight ? y - menuHeight : y;\n return {\n zIndex: 3000,\n ...__props.styles,\n position: 'fixed',\n width: `${__props.width}px`,\n left: `${left + 1}px`,\n top: `${top + 1}px`\n };\n});\n\nlet show = ref(false);\n\nuseTimeoutFn(() => {\n show.value = true;\n}, 0);\n\nuseClickAway(contextMenuRef, () => {\n show.value = false;\n}, {\n listenerOptions: {\n capture: true\n }\n});\n\nuseEventListener(window, 'scroll', () => {\n show.value = false;\n}, {\n capture: true\n});\n\nuseEventListener(window, 'drag', () => {\n show.value = false;\n}, {\n capture: true\n});\n\nfunction handleClick (item: ContextMenuItem) {\n if (!item?.disabled) {\n item.handler?.();\n show.value = false;\n }\n}\n</script>\n\n<template>\n <transition name=\"vft-zoom-in-top\">\n <div ref=\"contextMenuRef\" v-show=\"show\" :style=\"getStyle\" @click.stop class=\"vft-menu\">\n <div class=\"vft-sub-menu\">\n <menu-item v-for=\"(item, index) in items\"\n @click=\"handleClick(item)\"\n :index=\"index + item.text\"\n :title=\"item.text\"\n :divider=\"item.divider\"\n :disabled=\"item.disabled\"\n :icon=\"item.iconCfg\"\n isAloneUse\n :key=\"index\" />\n </div>\n </div>\n </transition>\n</template>\n\n"],"names":["contextMenuRef","ref","getStyle","computed","x","y","__props","menuHeight","menuWidth","body","left","top","show","useTimeoutFn","useClickAway","useEventListener","handleClick","item","_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,QAAIA,IAAiBC;AAEf,UAAAC,IAAWC,EAAS,MAAqB;AACvC,YAAA,EAAE,GAAAC,GAAG,GAAAC,EAAM,IAAAC,EAAQ,QAAQ,EAAE,GAAG,GAAG,GAAG,KACtCC,KAAcD,EAAQ,SAAS,IAAI,SAAS,IAC5CE,IAAYF,EAAQ,SAAS,GAC7BG,IAAO,SAAS,MAEhBC,IAAOD,EAAK,cAAcL,IAAII,IAAYJ,IAAII,IAAYJ,GAC1DO,IAAMF,EAAK,eAAeJ,IAAIE,IAAaF,IAAIE,IAAaF;AAC3D,aAAA;AAAA,QACL,QAAQ;AAAA,QACR,GAAGC,EAAQ;AAAA,QACX,UAAU;AAAA,QACV,OAAO,GAAGA,EAAQ;AAAA,QAClB,MAAM,GAAGI,IAAO;AAAA,QAChB,KAAK,GAAGC,IAAM;AAAA,MAAA;AAAA,IAChB,CACD;AAEG,QAAAC,IAAOX,EAAI,EAAK;AAEpB,IAAAY,EAAa,MAAM;AACjB,MAAAD,EAAK,QAAQ;AAAA,OACZ,CAAC,GAEJE,EAAad,GAAgB,MAAM;AACjC,MAAAY,EAAK,QAAQ;AAAA,IAAA,GACZ;AAAA,MACD,iBAAiB;AAAA,QACf,SAAS;AAAA,MACX;AAAA,IAAA,CACD,GAEgBG,EAAA,QAAQ,UAAU,MAAM;AACvC,MAAAH,EAAK,QAAQ;AAAA,IAAA,GACZ;AAAA,MACD,SAAS;AAAA,IAAA,CACV,GAEgBG,EAAA,QAAQ,QAAQ,MAAM;AACrC,MAAAH,EAAK,QAAQ;AAAA,IAAA,GACZ;AAAA,MACD,SAAS;AAAA,IAAA,CACV;AAED,aAASI,EAAaC,GAAuB;;AACvC,MAACA,KAAA,QAAAA,EAAM,cACTC,IAAAD,EAAK,YAAL,QAAAC,EAAA,KAAAD,IACAL,EAAK,QAAQ;AAAA,IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -32,3 +32,6 @@ export * from './qrcode';
32
32
  export * from './overlay';
33
33
  export * from './clamp';
34
34
  export * from './clamp-toggle';
35
+ export * from './page-wrapper';
36
+ export * from './message';
37
+ export * from './loading';
@@ -1,105 +1,121 @@
1
1
  import { VftDivider as r } from "./divider/index.mjs";
2
2
  import { VftIcon as f } from "./icon/index.mjs";
3
3
  import { VftAvatar as m } from "./avatar/index.mjs";
4
- import { VftEmpty as n } from "./empty/index.mjs";
5
- import { VftResult as V } from "./result/index.mjs";
6
- import { VftException as u } from "./exception/index.mjs";
7
- import { VftTabPane as l, VftTabs as g } from "./tabs/index.mjs";
8
- import { VftPopper as T } from "./popper/index.mjs";
9
- import { VftCollapseTransition as b } from "./collapse-transition/index.mjs";
10
- import { VftTooltip as c } from "./tooltip/index.mjs";
11
- import { VftPopover as M } from "./popover/index.mjs";
12
- import { VftMenu as v, VftMenuItem as D, VftMenuItemGroup as E, VftSubMenu as L } from "./menu/index.mjs";
13
- import { createContextMenu as S, destroyContextMenu as w } from "./context-menu/createContextMenu.mjs";
4
+ import { VftEmpty as a } from "./empty/index.mjs";
5
+ import { VftResult as i } from "./result/index.mjs";
6
+ import { VftException as s } from "./exception/index.mjs";
7
+ import { VftTabPane as u, VftTabs as l } from "./tabs/index.mjs";
8
+ import { VftPopper as C } from "./popper/index.mjs";
9
+ import { VftCollapseTransition as c } from "./collapse-transition/index.mjs";
10
+ import { VftTooltip as L } from "./tooltip/index.mjs";
11
+ import { VftPopover as b } from "./popover/index.mjs";
12
+ import { VftMenu as M, VftMenuItem as D, VftMenuItemGroup as I, VftSubMenu as E } from "./menu/index.mjs";
13
+ import { createContextMenu as G, destroyContextMenu as w } from "./context-menu/createContextMenu.mjs";
14
14
  import { useContextMenu as K } from "./context-menu/useContextMenu.mjs";
15
15
  import { VftMultipleTabs as k } from "./multiple-tabs/index.mjs";
16
16
  import { VftHeaderLayout as B } from "./header-layout/index.mjs";
17
17
  import { VftFooterLayout as O } from "./footer-layout/index.mjs";
18
- import { VftIframeLayout as h } from "./iframe-layout/index.mjs";
19
- import { VftRouterViewContent as q } from "./router-view-content/index.mjs";
20
- import { VftLogo as J } from "./logo/index.mjs";
21
- import { VftBackTop as U } from "./back-top/index.mjs";
18
+ import { VftIframeLayout as W } from "./iframe-layout/index.mjs";
19
+ import { VftRouterViewContent as j } from "./router-view-content/index.mjs";
20
+ import { VftLogo as z } from "./logo/index.mjs";
21
+ import { VftBackTop as N } from "./back-top/index.mjs";
22
22
  import { VftConfigProvider as X } from "./config-provider/index.mjs";
23
23
  import { VftDescriptions as Z, VftDescriptionsItem as _ } from "./descriptions/index.mjs";
24
24
  import { VftFullScreen as oo } from "./full-screen/index.mjs";
25
25
  import { VftIconText as ro } from "./icon-text/index.mjs";
26
26
  import { VftImage as fo } from "./image/index.mjs";
27
27
  import { VftInput as mo } from "./input/index.mjs";
28
- import { VftLink as no } from "./link/index.mjs";
29
- import { VftPagination as Vo } from "./pagination/index.mjs";
30
- import { VftTag as uo } from "./tag/index.mjs";
31
- import { VftSideMenu as lo } from "./side-menu/index.mjs";
28
+ import { VftLink as ao } from "./link/index.mjs";
29
+ import { VftPagination as io } from "./pagination/index.mjs";
30
+ import { VftTag as so } from "./tag/index.mjs";
31
+ import { VftSideMenu as uo } from "./side-menu/index.mjs";
32
32
  import { VftQrcode as Co } from "./qrcode/index.mjs";
33
- import { VftOverlay as bo } from "./overlay/index.mjs";
34
- import { VftClamp as co } from "./clamp/index.mjs";
35
- import { VftClampToggle as Mo } from "./clamp-toggle/index.mjs";
36
- import { EmptyEnum as vo } from "./empty/constants.mjs";
37
- import { TabsRootContextKey as Eo } from "./tabs/types.mjs";
38
- import { default as Go } from "./popper/arrow.vue2.mjs";
39
- import { default as wo } from "./popper/trigger.vue2.mjs";
40
- import { default as Ko } from "./popper/content.vue2.mjs";
41
- import { useTabDropdown as ko } from "./multiple-tabs/use/use-tab-dropdown.mjs";
42
- import { initAffixTabs as Bo, useTabsDrag as Ho } from "./multiple-tabs/use/use-multiple-tabs.mjs";
43
- import { configProviderContextKey as Qo } from "./config-provider/constants.mjs";
44
- import { provideGlobalConfig as jo, useGlobalComponentSettings as qo, useGlobalConfig as zo } from "./config-provider/hooks/use-global-config.mjs";
45
- import { paginationEmits as No } from "./pagination/pagination.mjs";
46
- import { elPaginationKey as Wo, usePagination as Xo } from "./pagination/usePagination.mjs";
33
+ import { VftOverlay as co } from "./overlay/index.mjs";
34
+ import { VftClamp as Lo } from "./clamp/index.mjs";
35
+ import { VftClampToggle as bo } from "./clamp-toggle/index.mjs";
36
+ import { VftPageWrapper as Mo } from "./page-wrapper/index.mjs";
37
+ import { VftMessage as Io } from "./message/index.mjs";
38
+ import { VftLoading as So } from "./loading/index.mjs";
39
+ import { EmptyEnum as wo } from "./empty/constants.mjs";
40
+ import { TabsRootContextKey as Ko } from "./tabs/types.mjs";
41
+ import { default as ko } from "./popper/arrow.vue2.mjs";
42
+ import { default as Bo } from "./popper/trigger.vue2.mjs";
43
+ import { default as Oo } from "./popper/content.vue2.mjs";
44
+ import { useTabDropdown as Wo } from "./multiple-tabs/use/use-tab-dropdown.mjs";
45
+ import { initAffixTabs as jo, useTabsDrag as qo } from "./multiple-tabs/use/use-multiple-tabs.mjs";
46
+ import { configProviderContextKey as Jo, messageConfig as No } from "./config-provider/constants.mjs";
47
+ import { provideGlobalConfig as Xo, useGlobalComponentSettings as Yo, useGlobalConfig as Zo } from "./config-provider/hooks/use-global-config.mjs";
48
+ import { paginationEmits as $o } from "./pagination/pagination.mjs";
49
+ import { elPaginationKey as tt, usePagination as rt } from "./pagination/usePagination.mjs";
50
+ import { messageDefaults as ft, messageTypes as pt } from "./message/types.mjs";
51
+ import { vLoading as xt, createLoadingDirective as at, vLoading as nt } from "./loading/directive.mjs";
52
+ import { Loading as Vt } from "./loading/service.mjs";
47
53
  export {
48
- vo as EmptyEnum,
49
- Eo as TabsRootContextKey,
54
+ wo as EmptyEnum,
55
+ Ko as TabsRootContextKey,
50
56
  m as VftAvatar,
51
- U as VftBackTop,
52
- co as VftClamp,
53
- Mo as VftClampToggle,
54
- b as VftCollapseTransition,
57
+ N as VftBackTop,
58
+ Lo as VftClamp,
59
+ bo as VftClampToggle,
60
+ c as VftCollapseTransition,
55
61
  X as VftConfigProvider,
56
62
  Z as VftDescriptions,
57
63
  _ as VftDescriptionsItem,
58
64
  r as VftDivider,
59
- n as VftEmpty,
60
- u as VftException,
65
+ a as VftEmpty,
66
+ s as VftException,
61
67
  O as VftFooterLayout,
62
68
  oo as VftFullScreen,
63
69
  B as VftHeaderLayout,
64
70
  f as VftIcon,
65
71
  ro as VftIconText,
66
- h as VftIframeLayout,
72
+ W as VftIframeLayout,
67
73
  fo as VftImage,
68
74
  mo as VftInput,
69
- no as VftLink,
70
- J as VftLogo,
71
- v as VftMenu,
75
+ ao as VftLink,
76
+ So as VftLoading,
77
+ xt as VftLoadingDirective,
78
+ Vt as VftLoadingService,
79
+ z as VftLogo,
80
+ M as VftMenu,
72
81
  D as VftMenuItem,
73
- E as VftMenuItemGroup,
82
+ I as VftMenuItemGroup,
83
+ Io as VftMessage,
74
84
  k as VftMultipleTabs,
75
- bo as VftOverlay,
76
- Vo as VftPagination,
77
- M as VftPopover,
78
- T as VftPopper,
79
- Go as VftPopperArrow,
80
- Ko as VftPopperContent,
81
- wo as VftPopperTrigger,
85
+ co as VftOverlay,
86
+ Mo as VftPageWrapper,
87
+ io as VftPagination,
88
+ b as VftPopover,
89
+ C as VftPopper,
90
+ ko as VftPopperArrow,
91
+ Oo as VftPopperContent,
92
+ Bo as VftPopperTrigger,
82
93
  Co as VftQrcode,
83
- V as VftResult,
84
- q as VftRouterViewContent,
85
- lo as VftSideMenu,
86
- L as VftSubMenu,
87
- l as VftTabPane,
88
- g as VftTabs,
89
- uo as VftTag,
90
- c as VftTooltip,
91
- Qo as configProviderContextKey,
92
- S as createContextMenu,
94
+ i as VftResult,
95
+ j as VftRouterViewContent,
96
+ uo as VftSideMenu,
97
+ E as VftSubMenu,
98
+ u as VftTabPane,
99
+ l as VftTabs,
100
+ so as VftTag,
101
+ L as VftTooltip,
102
+ Jo as configProviderContextKey,
103
+ G as createContextMenu,
104
+ at as createLoadingDirective,
93
105
  w as destroyContextMenu,
94
- Wo as elPaginationKey,
95
- Bo as initAffixTabs,
96
- No as paginationEmits,
97
- jo as provideGlobalConfig,
106
+ tt as elPaginationKey,
107
+ jo as initAffixTabs,
108
+ No as messageConfig,
109
+ ft as messageDefaults,
110
+ pt as messageTypes,
111
+ $o as paginationEmits,
112
+ Xo as provideGlobalConfig,
98
113
  K as useContextMenu,
99
- qo as useGlobalComponentSettings,
100
- zo as useGlobalConfig,
101
- Xo as usePagination,
102
- ko as useTabDropdown,
103
- Ho as useTabsDrag
114
+ Yo as useGlobalComponentSettings,
115
+ Zo as useGlobalConfig,
116
+ rt as usePagination,
117
+ Wo as useTabDropdown,
118
+ qo as useTabsDrag,
119
+ nt as vLoading
104
120
  };
105
121
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,18 @@
1
+ import type { Directive, DirectiveBinding, UnwrapRef } from 'vue';
2
+ import type { LoadingOptions } from './types';
3
+ import type { LoadingInstance } from './loading';
4
+ declare const INSTANCE_KEY: unique symbol;
5
+ export type LoadingBinding = boolean | UnwrapRef<LoadingOptions>;
6
+ export interface VriLoading extends HTMLElement {
7
+ [INSTANCE_KEY]?: {
8
+ instance: LoadingInstance;
9
+ options: LoadingOptions;
10
+ };
11
+ }
12
+ export declare const vLoading: Directive<VriLoading, LoadingBinding>;
13
+ export declare function createLoadingDirective(defaultLoadingCfg?: UnwrapRef<LoadingOptions>): {
14
+ mounted(el: VriLoading, binding: DirectiveBinding<LoadingBinding>): void;
15
+ updated(el: VriLoading, binding: DirectiveBinding<LoadingBinding>): void;
16
+ unmounted(el: VriLoading): void;
17
+ };
18
+ export {};
@@ -0,0 +1,50 @@
1
+ import { isRef as x, ref as V } from "vue";
2
+ import { isObject as m, isString as k } from "@vft/utils";
3
+ import { Loading as y } from "./service.mjs";
4
+ const c = Symbol("VriLoading"), f = (l, o) => {
5
+ const e = o.instance, s = (a) => m(o.value) ? o.value[a] : void 0, p = (a) => {
6
+ const r = k(a) && (e == null ? void 0 : e[a]) || a;
7
+ return r && V(r);
8
+ }, t = (a) => p(s(a)), u = s("fullscreen") ?? o.modifiers.fullscreen, v = {
9
+ text: t("text"),
10
+ svg: t("svg"),
11
+ svgViewBox: t("svgViewBox"),
12
+ spinner: t("spinner"),
13
+ visible: t("visible"),
14
+ background: t("background"),
15
+ customClass: t("customClass"),
16
+ rotate: t("rotate"),
17
+ img: t("img"),
18
+ fullscreen: u,
19
+ target: s("target") ?? (u ? void 0 : l),
20
+ body: s("body") ?? o.modifiers.body,
21
+ lock: s("lock") ?? o.modifiers.lock
22
+ };
23
+ l[c] = {
24
+ options: v,
25
+ instance: y(v)
26
+ };
27
+ }, B = (l, o) => {
28
+ for (const e of Object.keys(o))
29
+ x(o[e]) && (o[e].value = l[e]);
30
+ }, I = E();
31
+ function E(l) {
32
+ return {
33
+ mounted(o, e) {
34
+ e.value.visible === !1 ? e.value = void 0 : e.value = { ...l, ...e.value }, e.value && f(o, e);
35
+ },
36
+ updated(o, e) {
37
+ const s = o[c];
38
+ e.oldValue !== e.value && (e.value && !e.oldValue ? (e.value = { ...l, ...e.value }, f(o, e)) : e.value && e.oldValue ? m(e.value) && (e.value = { ...l, ...e.value }, B(e.value, s.options)) : s == null || s.instance.close());
39
+ },
40
+ unmounted(o) {
41
+ var e;
42
+ (e = o[c]) == null || e.instance.close();
43
+ }
44
+ };
45
+ }
46
+ export {
47
+ E as createLoadingDirective,
48
+ I as vLoading
49
+ };
50
+ //# sourceMappingURL=directive.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directive.mjs","sources":["../../../../../packages/components/loading/directive.ts"],"sourcesContent":["import { isRef, ref } from 'vue';\nimport { isObject, isString } from '@vft/utils';\nimport { Loading } from './service';\nimport type { Directive, DirectiveBinding, UnwrapRef } from 'vue';\nimport type { LoadingOptions } from './types';\nimport type { LoadingInstance } from './loading';\n\nconst INSTANCE_KEY = Symbol('VriLoading');\n\nexport type LoadingBinding = boolean | UnwrapRef<LoadingOptions>;\n\nexport interface VriLoading extends HTMLElement {\n [INSTANCE_KEY]?: {\n instance: LoadingInstance;\n options: LoadingOptions;\n };\n}\n\nconst createInstance = (el: VriLoading, binding: DirectiveBinding<LoadingBinding>) => {\n const vm = binding.instance;\n\n // @ts-ignore\n const getBindingProp = <K extends keyof LoadingOptions>(key: K): LoadingOptions[K] => (isObject(binding.value) ? binding.value[key] : undefined);\n\n const resolveExpression = (key: any) => {\n // @ts-ignore\n const data = (isString(key) && vm?.[key]) || key;\n if (data) return ref(data);\n else return data;\n };\n\n const getProp = <K extends keyof LoadingOptions>(name: K) => resolveExpression(getBindingProp(name));\n\n const fullscreen = getBindingProp('fullscreen') ?? binding.modifiers.fullscreen;\n\n const options: LoadingOptions = {\n text: getProp('text'),\n svg: getProp('svg'),\n svgViewBox: getProp('svgViewBox'),\n spinner: getProp('spinner'),\n visible: getProp('visible'),\n background: getProp('background'),\n customClass: getProp('customClass'),\n rotate: getProp('rotate'),\n img: getProp('img'),\n fullscreen,\n target: getBindingProp('target') ?? (fullscreen ? undefined : el),\n body: getBindingProp('body') ?? binding.modifiers.body,\n lock: getBindingProp('lock') ?? binding.modifiers.lock\n };\n\n el[INSTANCE_KEY] = {\n options,\n instance: Loading(options)\n };\n};\n\nconst updateOptions = (newOptions: UnwrapRef<LoadingOptions>, originalOptions: LoadingOptions) => {\n for (const key of Object.keys(originalOptions)) {\n // @ts-ignore\n if (isRef(originalOptions[key])) originalOptions[key].value = newOptions[key];\n }\n};\n\nexport const vLoading: Directive<VriLoading, LoadingBinding> = createLoadingDirective();\n\nexport function createLoadingDirective(defaultLoadingCfg?: UnwrapRef<LoadingOptions>) {\n return {\n mounted(el: VriLoading, binding: DirectiveBinding<LoadingBinding>) {\n // @ts-ignore\n if (binding.value.visible === false) {\n binding.value = undefined;\n } else {\n binding.value = { ...defaultLoadingCfg, ...binding.value };\n }\n\n if (binding.value) {\n createInstance(el, binding);\n }\n },\n updated(el: VriLoading, binding: DirectiveBinding<LoadingBinding>) {\n const instance = el[INSTANCE_KEY];\n if (binding.oldValue !== binding.value) {\n if (binding.value && !binding.oldValue) {\n // @ts-ignore\n binding.value = { ...defaultLoadingCfg, ...binding.value };\n\n createInstance(el, binding);\n } else if (binding.value && binding.oldValue) {\n if (isObject(binding.value)) {\n binding.value = { ...defaultLoadingCfg, ...binding.value };\n updateOptions(binding.value, instance!.options);\n }\n } else {\n instance?.instance.close();\n }\n }\n },\n unmounted(el: VriLoading) {\n el[INSTANCE_KEY]?.instance.close();\n }\n };\n}\n"],"names":["INSTANCE_KEY","createInstance","el","binding","vm","getBindingProp","key","isObject","resolveExpression","data","isString","ref","getProp","name","fullscreen","options","Loading","updateOptions","newOptions","originalOptions","isRef","vLoading","createLoadingDirective","defaultLoadingCfg","instance","_a"],"mappings":";;;AAOA,MAAMA,IAAe,OAAO,YAAY,GAWlCC,IAAiB,CAACC,GAAgBC,MAA8C;AACpF,QAAMC,IAAKD,EAAQ,UAGbE,IAAiB,CAAiCC,MAA+BC,EAASJ,EAAQ,KAAK,IAAIA,EAAQ,MAAMG,CAAG,IAAI,QAEhIE,IAAoB,CAACF,MAAa;AAEtC,UAAMG,IAAQC,EAASJ,CAAG,MAAKF,KAAA,gBAAAA,EAAKE,OAASA;AACzC,WAAAG,KAAaE,EAAIF,CAAI;AAAA,EACb,GAGRG,IAAU,CAAiCC,MAAYL,EAAkBH,EAAeQ,CAAI,CAAC,GAE7FC,IAAaT,EAAe,YAAY,KAAKF,EAAQ,UAAU,YAE/DY,IAA0B;AAAA,IAC9B,MAAMH,EAAQ,MAAM;AAAA,IACpB,KAAKA,EAAQ,KAAK;AAAA,IAClB,YAAYA,EAAQ,YAAY;AAAA,IAChC,SAASA,EAAQ,SAAS;AAAA,IAC1B,SAASA,EAAQ,SAAS;AAAA,IAC1B,YAAYA,EAAQ,YAAY;AAAA,IAChC,aAAaA,EAAQ,aAAa;AAAA,IAClC,QAAQA,EAAQ,QAAQ;AAAA,IACxB,KAAKA,EAAQ,KAAK;AAAA,IAClB,YAAAE;AAAA,IACA,QAAQT,EAAe,QAAQ,MAAMS,IAAa,SAAYZ;AAAA,IAC9D,MAAMG,EAAe,MAAM,KAAKF,EAAQ,UAAU;AAAA,IAClD,MAAME,EAAe,MAAM,KAAKF,EAAQ,UAAU;AAAA,EAAA;AAGpD,EAAAD,EAAGF,CAAY,IAAI;AAAA,IACjB,SAAAe;AAAA,IACA,UAAUC,EAAQD,CAAO;AAAA,EAAA;AAE7B,GAEME,IAAgB,CAACC,GAAuCC,MAAoC;AAChG,aAAWb,KAAO,OAAO,KAAKa,CAAe;AAEvC,IAAAC,EAAMD,EAAgBb,CAAG,CAAC,MAAGa,EAAgBb,CAAG,EAAE,QAAQY,EAAWZ,CAAG;AAEhF,GAEae,IAAkDC,EAAuB;AAE/E,SAASA,EAAuBC,GAA+C;AAC7E,SAAA;AAAA,IACL,QAAQrB,GAAgBC,GAA2C;AAE7D,MAAAA,EAAQ,MAAM,YAAY,KAC5BA,EAAQ,QAAQ,SAEhBA,EAAQ,QAAQ,EAAE,GAAGoB,GAAmB,GAAGpB,EAAQ,SAGjDA,EAAQ,SACVF,EAAeC,GAAIC,CAAO;AAAA,IAE9B;AAAA,IACA,QAAQD,GAAgBC,GAA2C;AAC3D,YAAAqB,IAAWtB,EAAGF,CAAY;AAC5B,MAAAG,EAAQ,aAAaA,EAAQ,UAC3BA,EAAQ,SAAS,CAACA,EAAQ,YAE5BA,EAAQ,QAAQ,EAAE,GAAGoB,GAAmB,GAAGpB,EAAQ,SAEnDF,EAAeC,GAAIC,CAAO,KACjBA,EAAQ,SAASA,EAAQ,WAC9BI,EAASJ,EAAQ,KAAK,MACxBA,EAAQ,QAAQ,EAAE,GAAGoB,GAAmB,GAAGpB,EAAQ,SACrCc,EAAAd,EAAQ,OAAOqB,EAAU,OAAO,KAGhDA,KAAA,QAAAA,EAAU,SAAS;AAAA,IAGzB;AAAA,IACA,UAAUtB,GAAgB;;AACrB,OAAAuB,IAAAvB,EAAAF,CAAY,MAAZ,QAAAyB,EAAe,SAAS;AAAA,IAC7B;AAAA,EAAA;AAEJ;"}
@@ -0,0 +1,39 @@
1
+ import { Loading } from './service';
2
+ import { vLoading } from './directive';
3
+ import type { App } from 'vue';
4
+ export declare const VftLoading: {
5
+ install(app: App): void;
6
+ directive: import("vue").Directive<import("./directive").VriLoading, import("./directive").LoadingBinding>;
7
+ service: (options?: Partial<Omit<import("./types").LoadingOptionsResolved, "target" | "parent"> & {
8
+ target: string | HTMLElement;
9
+ body: boolean;
10
+ }>) => {
11
+ setText: (text: string) => void;
12
+ removeVriLoadingChild: () => void;
13
+ close: () => void;
14
+ handleAfterLeave: () => void;
15
+ vm: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
16
+ $el: HTMLElement;
17
+ originalPosition: import("vue").Ref<string>;
18
+ originalOverflow: import("vue").Ref<string>;
19
+ visible: import("vue").Ref<boolean>;
20
+ parent: import("vue").Ref<import("./types").LoadingParentElement>;
21
+ background: import("vue").Ref<string>;
22
+ svg: import("vue").Ref<string>;
23
+ svgViewBox: import("vue").Ref<string>;
24
+ spinner: import("vue").Ref<string | boolean>;
25
+ img: import("vue").Ref<string | boolean>;
26
+ text: import("vue").Ref<string>;
27
+ fullscreen: import("vue").Ref<boolean>;
28
+ rotate: import("vue").Ref<string | boolean>;
29
+ lock: import("vue").Ref<boolean>;
30
+ customClass: import("vue").Ref<string>;
31
+ target: import("vue").Ref<HTMLElement>;
32
+ beforeClose?: import("vue").Ref<(() => boolean) | undefined> | undefined;
33
+ closed?: import("vue").Ref<(() => void) | undefined> | undefined;
34
+ };
35
+ };
36
+ export default VftLoading;
37
+ export { vLoading, vLoading as VftLoadingDirective, Loading as VftLoadingService };
38
+ export * from './types';
39
+ export { createLoadingDirective } from './directive';