vft 0.0.419 → 0.0.422

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 (54) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/es/components/carousel/use-carousel.js +1 -1
  4. package/es/components/drawer/drawer.vue.d.ts +3 -2
  5. package/es/components/drawer/types.d.ts +1 -2
  6. package/es/components/full-screen/full-screen.vue2.js +9 -8
  7. package/es/components/full-screen/index.d.ts +6 -0
  8. package/es/components/icon-text/icon-text.vue2.js +35 -30
  9. package/es/components/icon-text/index.d.ts +6 -0
  10. package/es/components/icon-text/types.d.ts +1 -0
  11. package/es/components/input/input.vue2.js +4 -4
  12. package/es/components/input-tag/composables/use-input-tag.js +1 -1
  13. package/es/components/logo/index.d.ts +0 -4
  14. package/es/components/logo/logo.vue.d.ts +1 -6
  15. package/es/components/logo/logo.vue2.js +29 -26
  16. package/es/components/logo/types.d.ts +4 -2
  17. package/es/components/multiple-tabs/tab-content.vue2.js +1 -1
  18. package/es/components/multiple-tabs/use/use-multiple-tabs.js +1 -1
  19. package/es/components/super-form/super-form-item.vue2.js +1 -1
  20. package/es/package.json.d.ts +1 -1
  21. package/es/package.json.js +1 -1
  22. package/es/utils/vue/vnode.js +1 -1
  23. package/lib/components/drawer/drawer.vue.d.ts +3 -2
  24. package/lib/components/drawer/types.d.ts +1 -2
  25. package/lib/components/full-screen/full-screen.vue2.cjs +1 -1
  26. package/lib/components/full-screen/index.d.ts +6 -0
  27. package/lib/components/icon-text/icon-text.vue2.cjs +1 -1
  28. package/lib/components/icon-text/index.d.ts +6 -0
  29. package/lib/components/icon-text/types.d.ts +1 -0
  30. package/lib/components/input/input.vue2.cjs +1 -1
  31. package/lib/components/logo/index.d.ts +0 -4
  32. package/lib/components/logo/logo.vue.d.ts +1 -6
  33. package/lib/components/logo/logo.vue2.cjs +1 -1
  34. package/lib/components/logo/types.d.ts +4 -2
  35. package/lib/components/multiple-tabs/tab-content.vue2.cjs +1 -1
  36. package/lib/components/multiple-tabs/use/use-multiple-tabs.cjs +1 -1
  37. package/lib/package.json.cjs +1 -1
  38. package/lib/package.json.d.ts +1 -1
  39. package/package.json +6 -6
  40. package/tags.json +1 -1
  41. package/theme-style/index.css +1 -1
  42. package/theme-style/src/icon-text.scss +7 -3
  43. package/theme-style/src/input.scss +0 -2
  44. package/theme-style/src/md-container.scss +0 -1
  45. package/theme-style/src/mixins/mixins.scss +54 -51
  46. package/theme-style/src/scrollbar.scss +16 -16
  47. package/theme-style/src/side-menu.scss +0 -1
  48. package/theme-style/src/tabs.scss +0 -1
  49. package/theme-style/vft-icon-text.css +1 -1
  50. package/theme-style/vft-input.css +1 -1
  51. package/theme-style/vft-md-container.css +1 -1
  52. package/theme-style/vft-scrollbar.css +1 -1
  53. package/theme-style/vft-side-menu.css +1 -1
  54. package/web-types.json +1 -1
@@ -11,7 +11,7 @@ import "../../hooks/use-model-toggle/index.js";
11
11
  import { useOrderedChildren as ge } from "../../hooks/use-ordered-children/index.js";
12
12
  import "@popperjs/core";
13
13
  import "../../hooks/use-z-index/index.js";
14
- import { carouselContextKey as Se, CAROUSEL_ITEM_NAME as H } from "./constants.js";
14
+ import { CAROUSEL_ITEM_NAME as H, carouselContextKey as Se } from "./constants.js";
15
15
  const L = 300, ze = (t, O, M) => {
16
16
  const {
17
17
  children: o,
@@ -1,3 +1,4 @@
1
+ import { type DialogProps } from 'vft/es/components/dialog';
1
2
  import type { DrawerProps } from './types';
2
3
  declare function __VLS_template(): {
3
4
  header?(_: {
@@ -9,7 +10,7 @@ declare function __VLS_template(): {
9
10
  default?(_: {}): any;
10
11
  footer?(_: {}): any;
11
12
  };
12
- declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<DrawerProps>>, {
13
+ declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<DrawerProps & DialogProps>>, {
13
14
  close: () => void;
14
15
  afterEnter: () => void;
15
16
  afterLeave: () => void;
@@ -21,7 +22,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
21
22
  closed: () => void;
22
23
  openAutoFocus: () => void;
23
24
  closeAutoFocus: () => void;
24
- }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<DrawerProps>>> & Readonly<{
25
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<DrawerProps & DialogProps>>> & Readonly<{
25
26
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
26
27
  onClose?: (() => any) | undefined;
27
28
  onOpen?: (() => any) | undefined;
@@ -1,5 +1,4 @@
1
- import type { DialogProps } from 'vft/es/components/dialog';
2
- export interface DrawerProps extends DialogProps {
1
+ export interface DrawerProps {
3
2
  /** 抽屉的弹出方向 */
4
3
  direction?: 'ltr' | 'rtl' | 'ttb' | 'btt';
5
4
  /** 抽屉的尺寸 */
@@ -4,22 +4,23 @@ import { delObjAttrNotExist as u } from "@vft/utils";
4
4
  import { VftIconText as f } from "../icon-text/index.js";
5
5
  import "@vueuse/core";
6
6
  import "../config-provider/hooks/use-global-config.js";
7
- import { primaryColor as x } from "../../utils/ns-cover.js";
7
+ import { primaryColor as d } from "../../utils/ns-cover.js";
8
8
  import "lodash-es";
9
9
  import "../form/index.js";
10
- import { useNamespace as _ } from "../../hooks/use-namespace/index.js";
10
+ import { useNamespace as x } from "../../hooks/use-namespace/index.js";
11
11
  import "../../hooks/use-model-toggle/index.js";
12
12
  import "@popperjs/core";
13
13
  import "../../hooks/use-z-index/index.js";
14
- const d = r({
14
+ const _ = r({
15
15
  name: "full-screen"
16
- }), A = /* @__PURE__ */ r({
17
- ...d,
16
+ }), z = /* @__PURE__ */ r({
17
+ ..._,
18
18
  props: {
19
19
  text: {},
20
20
  icon: {},
21
21
  color: {},
22
22
  hoverColor: {},
23
+ disableIconHover: { type: Boolean },
23
24
  distance: {},
24
25
  reverse: { type: Boolean },
25
26
  size: {},
@@ -32,8 +33,8 @@ const d = r({
32
33
  useClamp: { type: Boolean }
33
34
  },
34
35
  setup(t) {
35
- const n = t, l = _("full-screen"), { toggle: i, isFullscreen: e } = a(), c = x().value;
36
- return (C, y) => (s(), p(o(f), m({
36
+ const n = t, l = x("full-screen"), { toggle: i, isFullscreen: e } = a(), c = d().value;
37
+ return (y, B) => (s(), p(o(f), m({
37
38
  class: o(l).b(),
38
39
  distance: 2,
39
40
  "hover-color": o(c),
@@ -44,5 +45,5 @@ const d = r({
44
45
  }
45
46
  });
46
47
  export {
47
- A as default
48
+ z as default
48
49
  };
@@ -11,6 +11,9 @@ export declare const VftFullScreen: import("vft/es/utils").SFCWithInstall<import
11
11
  hoverColor: {
12
12
  type: import("vue").PropType<string>;
13
13
  };
14
+ disableIconHover: {
15
+ type: import("vue").PropType<boolean>;
16
+ };
14
17
  distance: {
15
18
  type: import("vue").PropType<string | number>;
16
19
  };
@@ -54,6 +57,9 @@ export declare const VftFullScreen: import("vft/es/utils").SFCWithInstall<import
54
57
  hoverColor: {
55
58
  type: import("vue").PropType<string>;
56
59
  };
60
+ disableIconHover: {
61
+ type: import("vue").PropType<boolean>;
62
+ };
57
63
  distance: {
58
64
  type: import("vue").PropType<string | number>;
59
65
  };
@@ -1,25 +1,26 @@
1
- import { defineComponent as C, computed as t, createElementBlock as d, openBlock as r, normalizeStyle as T, normalizeClass as k, unref as l, createBlock as s, createCommentVNode as y, mergeProps as u, normalizeProps as S, toDisplayString as w } from "vue";
2
- import { VftClampTooltip as L } from "../clamp-tooltip/index.js";
3
- import { VftIcon as g } from "../icon/index.js";
1
+ import { defineComponent as g, computed as t, createElementBlock as f, openBlock as r, normalizeStyle as k, normalizeClass as S, unref as l, createBlock as c, createCommentVNode as h, mergeProps as u, normalizeProps as b, toDisplayString as x } from "vue";
2
+ import { VftClampTooltip as I } from "../clamp-tooltip/index.js";
3
+ import { VftIcon as y } from "../icon/index.js";
4
4
  import "@vueuse/core";
5
- import { singleAttrToObj as O, removeUnit as V } from "@vft/utils";
6
- import { addUnit as h } from "../../utils/helper.js";
7
- import { generateCssVars as j } from "../../utils/ns-cover.js";
5
+ import { singleAttrToObj as w, removeUnit as H } from "@vft/utils";
6
+ import { addUnit as C } from "../../utils/helper.js";
7
+ import { generateCssVars as L } from "../../utils/ns-cover.js";
8
8
  import "lodash-es";
9
9
  import "../form/index.js";
10
- import { useNamespace as b } from "../../hooks/use-namespace/index.js";
10
+ import { useNamespace as O } from "../../hooks/use-namespace/index.js";
11
11
  import "../../hooks/use-model-toggle/index.js";
12
12
  import "@popperjs/core";
13
13
  import "../../hooks/use-z-index/index.js";
14
- const N = { key: 2 }, P = C({
14
+ const V = { key: 2 }, j = g({
15
15
  name: "vft-icon-text"
16
- }), M = /* @__PURE__ */ C({
17
- ...P,
16
+ }), M = /* @__PURE__ */ g({
17
+ ...j,
18
18
  props: {
19
19
  text: {},
20
20
  icon: {},
21
21
  color: {},
22
22
  hoverColor: {},
23
+ disableIconHover: { type: Boolean },
23
24
  distance: { default: 3 },
24
25
  reverse: { type: Boolean },
25
26
  size: {},
@@ -32,43 +33,47 @@ const N = { key: 2 }, P = C({
32
33
  useClamp: { type: Boolean }
33
34
  },
34
35
  setup(e) {
35
- const m = b("icon-text"), i = t(() => e.hoverColor ? e.hoverColor : e.color), n = t(() => O(e.icon, "icon", { size: e.size, color: e.color })), v = t(() => e.direction === "col"), f = t(() => {
36
- const o = h(e.distance);
36
+ const m = O("icon-text"), i = t(() => e.hoverColor ? e.hoverColor : e.color), n = t(() => w(e.icon, "icon", { size: e.size, color: e.color })), v = t(() => e.direction === "col"), d = t(() => {
37
+ const o = C(e.distance);
37
38
  return v.value ? e.reverse ? { marginTop: o } : { marginBottom: o } : e.reverse ? { marginLeft: o } : { marginRight: o };
38
- }), a = t(() => V(e.size)), c = t(() => a.value < 12), p = t(() => a.value && c.value ? { transform: `scale(${a.value / 12})` } : {}), x = t(() => {
39
- const o = j(
39
+ }), a = t(() => H(e.size)), s = t(() => a.value < 12), p = t(() => a.value && s.value ? { transform: `scale(${a.value / 12})` } : {}), z = t(() => {
40
+ const o = L(
40
41
  {
41
42
  cursor: e.pointer ? "pointer" : void 0,
42
43
  color: e.color,
43
- "hover-color": i.value,
44
- fontSize: c.value ? "12px" : h(e.size)
44
+ "hover-color": e.hoverColor ? i.value : void 0,
45
+ fontSize: s.value ? "12px" : C(e.size)
45
46
  },
46
47
  "icon-text"
47
48
  );
48
49
  return {
49
- ...c.value && e.adjustOrigin ? { transformOrigin: "left top" } : {},
50
+ ...s.value && e.adjustOrigin ? { transformOrigin: "left top" } : {},
50
51
  ...o,
51
52
  ...p.value
52
53
  };
53
- }), z = t(() => ({
54
+ }), B = t(() => ({
54
55
  text: e.text,
55
56
  maxLines: e.maxLines,
56
57
  showTooltip: e.showTooltip,
57
58
  ...e.clampTooltipCfg
58
59
  }));
59
- return (o, B) => (r(), d("span", {
60
- class: k([l(m).b(), l(m).is("col", v.value)]),
61
- style: T(x.value)
60
+ return (o, T) => (r(), f("span", {
61
+ class: S([
62
+ l(m).b(),
63
+ l(m).is("col", v.value),
64
+ { "disable-icon-hover": o.disableIconHover }
65
+ ]),
66
+ style: k(z.value)
62
67
  }, [
63
- !o.reverse && n.value?.icon ? (r(), s(l(g), u({ key: 0 }, n.value, {
64
- "hover-color": i.value,
65
- style: f.value
66
- }), null, 16, ["hover-color", "style"])) : y("", !0),
67
- o.useClamp ? (r(), s(l(L), S(u({ key: 1 }, z.value)), null, 16)) : (r(), d("span", N, w(o.text), 1)),
68
- o.reverse && n.value?.icon ? (r(), s(l(g), u({ key: 3 }, n.value, {
69
- style: f.value,
70
- "hover-color": i.value
71
- }), null, 16, ["style", "hover-color"])) : y("", !0)
68
+ !o.reverse && n.value?.icon ? (r(), c(l(y), u({ key: 0 }, n.value, {
69
+ "hover-color": o.hoverColor && !o.disableIconHover ? i.value : void 0,
70
+ style: d.value
71
+ }), null, 16, ["hover-color", "style"])) : h("", !0),
72
+ o.useClamp ? (r(), c(l(I), b(u({ key: 1 }, B.value)), null, 16)) : (r(), f("span", V, x(o.text), 1)),
73
+ o.reverse && n.value?.icon ? (r(), c(l(y), u({ key: 3 }, n.value, {
74
+ style: d.value,
75
+ "hover-color": o.hoverColor && !o.disableIconHover ? i.value : void 0
76
+ }), null, 16, ["style", "hover-color"])) : h("", !0)
72
77
  ], 6));
73
78
  }
74
79
  });
@@ -12,6 +12,9 @@ export declare const VftIconText: import("vft/es/utils").SFCWithInstall<import("
12
12
  hoverColor: {
13
13
  type: import("vue").PropType<string>;
14
14
  };
15
+ disableIconHover: {
16
+ type: import("vue").PropType<boolean>;
17
+ };
15
18
  distance: {
16
19
  type: import("vue").PropType<string | number>;
17
20
  };
@@ -56,6 +59,9 @@ export declare const VftIconText: import("vft/es/utils").SFCWithInstall<import("
56
59
  hoverColor: {
57
60
  type: import("vue").PropType<string>;
58
61
  };
62
+ disableIconHover: {
63
+ type: import("vue").PropType<boolean>;
64
+ };
59
65
  distance: {
60
66
  type: import("vue").PropType<string | number>;
61
67
  };
@@ -5,6 +5,7 @@ export interface IconTextProps {
5
5
  icon?: IconProps | string;
6
6
  color?: string;
7
7
  hoverColor?: string;
8
+ disableIconHover?: boolean;
8
9
  distance?: string | number;
9
10
  reverse?: boolean;
10
11
  size?: string | number;
@@ -13,8 +13,8 @@ import "../../hooks/use-z-index/index.js";
13
13
  import { UPDATE_MODEL_EVENT as Q } from "@vft/constants";
14
14
  import { useAttrs as Ze, useCursor as _e } from "@vft/use";
15
15
  import { calcTextareaHeight as ye } from "./utils.js";
16
- import { useFormItem as et, useFormItemInputId as tt } from "../form/hooks/use-form-item.js";
17
- import { useFormSize as at, useFormDisabled as ot } from "../form/hooks/use-form-common-props.js";
16
+ import { useFormSize as et, useFormDisabled as tt } from "../form/hooks/use-form-common-props.js";
17
+ import { useFormItem as at, useFormItemInputId as ot } from "../form/hooks/use-form-item.js";
18
18
  const nt = ["role"], lt = ["id", "type", "disabled", "formatter", "parser", "readonly", "autocomplete", "tabindex", "aria-label", "placeholder", "form"], st = ["id", "tabindex", "disabled", "readonly", "autocomplete", "aria-label", "placeholder", "form"], It = /* @__PURE__ */ Oe({
19
19
  __name: "input",
20
20
  props: {
@@ -85,9 +85,9 @@ const nt = ["role"], lt = ["id", "type", "disabled", "formatter", "parser", "rea
85
85
  o.is("focus", v.value)
86
86
  ]), d = Ze({
87
87
  excludeKeys: l(() => Object.keys(X.value))
88
- }), { form: Ce, formItem: F } = et(), { inputId: Y } = tt(xe.props, {
88
+ }), { form: Ce, formItem: F } = at(), { inputId: Y } = ot(xe.props, {
89
89
  formItemContext: F
90
- }), ke = at(), h = ot(), o = pe("input"), Z = pe("textarea"), M = H(), b = H(), v = S(!1), N = S(!1), C = S(!1), K = S(!1), _ = S(), O = H(e.inputStyle), k = l(() => M.value || b.value), T = l(() => G(e.prefixIcon, "icon", { size: 16 })), ee = l(() => G(e.suffixIcon, "icon", { size: 16 })), Ie = l(() => G(e.clearIcon, "icon", {
90
+ }), ke = et(), h = tt(), o = pe("input"), Z = pe("textarea"), M = H(), b = H(), v = S(!1), N = S(!1), C = S(!1), K = S(!1), _ = S(), O = H(e.inputStyle), k = l(() => M.value || b.value), T = l(() => G(e.prefixIcon, "icon", { size: 16 })), ee = l(() => G(e.suffixIcon, "icon", { size: 16 })), Ie = l(() => G(e.clearIcon, "icon", {
91
91
  icon: "icon-circle-close",
92
92
  size: 16
93
93
  })), te = l(() => Ce?.statusIcon ?? !1), I = l(() => F?.validateState || ""), ae = l(
@@ -1,6 +1,6 @@
1
1
  import { shallowRef as B, ref as L, computed as c, watch as G } from "vue";
2
2
  import { EVENT_CODE as g } from "../../../constants/aria.js";
3
- import { CHANGE_EVENT as i, UPDATE_MODEL_EVENT as d, INPUT_EVENT as H } from "../../../constants/event.js";
3
+ import { CHANGE_EVENT as i, INPUT_EVENT as H, UPDATE_MODEL_EVENT as d } from "../../../constants/event.js";
4
4
  import "@vueuse/core";
5
5
  import { isUndefined as K } from "@vft/utils";
6
6
  import { debugWarn as C } from "../../../utils/error.js";
@@ -1,11 +1,9 @@
1
1
  export declare const VftLogo: import("vft/es/utils").SFCWithInstall<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
2
  title: {
3
3
  type: import("vue").PropType<string>;
4
- required: true;
5
4
  };
6
5
  logo: {
7
6
  type: import("vue").PropType<string>;
8
- required: true;
9
7
  };
10
8
  jumpPath: {
11
9
  type: import("vue").PropType<string>;
@@ -13,11 +11,9 @@ export declare const VftLogo: import("vft/es/utils").SFCWithInstall<import("vue"
13
11
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
14
12
  title: {
15
13
  type: import("vue").PropType<string>;
16
- required: true;
17
14
  };
18
15
  logo: {
19
16
  type: import("vue").PropType<string>;
20
- required: true;
21
17
  };
22
18
  jumpPath: {
23
19
  type: import("vue").PropType<string>;
@@ -1,9 +1,4 @@
1
- export interface LogoProps {
2
- title: string;
3
- logo: string;
4
- /** 点击 logo 跳转路径 */
5
- jumpPath?: string;
6
- }
1
+ import type { LogoProps } from './types';
7
2
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<LogoProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<LogoProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
8
3
  export default _default;
9
4
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
@@ -1,47 +1,50 @@
1
- import { defineComponent as i, computed as n, getCurrentInstance as g, createElementBlock as f, openBlock as d, normalizeStyle as C, normalizeClass as e, createElementVNode as s, unref as l, toDisplayString as h } from "vue";
2
- import { useRouterHelper as k } from "@vft/router";
1
+ import { defineComponent as m, computed as i, getCurrentInstance as d, createElementBlock as r, createCommentVNode as l, openBlock as n, normalizeStyle as k, normalizeClass as s, unref as a, toDisplayString as C } from "vue";
3
2
  import "@vueuse/core";
4
3
  import "@vft/utils";
5
4
  import "../config-provider/hooks/use-global-config.js";
6
5
  import "lodash-es";
7
6
  import "../form/index.js";
8
- import { useNamespace as v } from "../../hooks/use-namespace/index.js";
7
+ import { useNamespace as h } from "../../hooks/use-namespace/index.js";
9
8
  import "../../hooks/use-model-toggle/index.js";
10
9
  import "@popperjs/core";
11
10
  import "../../hooks/use-z-index/index.js";
12
- const P = ["src"], _ = i({
11
+ import { useRouterHelper as y } from "@vft/router";
12
+ const v = ["src"], P = m({
13
13
  name: "vft-logo"
14
- }), I = /* @__PURE__ */ i({
15
- ..._,
14
+ }), _ = /* @__PURE__ */ m({
15
+ ...P,
16
16
  props: {
17
17
  title: {},
18
18
  logo: {},
19
- jumpPath: {}
19
+ jumpPath: { default: "/" }
20
20
  },
21
- setup(o) {
22
- const t = v("logo"), a = n(() => [t.b()]), c = g().appContext.config.globalProperties.$router, { go: m } = k(c);
23
- function p() {
24
- o.jumpPath && m(o.jumpPath);
21
+ setup(e) {
22
+ const t = h("logo"), c = i(() => [t.b()]), u = d().appContext.config.globalProperties.$router, { go: p } = y(u);
23
+ function g() {
24
+ e.jumpPath && p(e.jumpPath);
25
25
  }
26
- const u = n(
27
- () => o.jumpPath ? {} : t.cssVarBlock({ cursor: "inital" })
26
+ const f = i(
27
+ () => e.jumpPath ? {} : t.cssVarBlock({ cursor: "inital" })
28
28
  );
29
- return (r, y) => (d(), f("div", {
30
- class: e(a.value),
31
- onClick: p,
32
- style: C(u.value)
29
+ return (o, B) => o.logo || o.title ? (n(), r("div", {
30
+ key: 0,
31
+ class: s(c.value),
32
+ onClick: g,
33
+ style: k(f.value)
33
34
  }, [
34
- s("img", {
35
- class: e(l(t).e("img")),
36
- src: r.logo,
35
+ o.logo ? (n(), r("img", {
36
+ key: 0,
37
+ class: s(a(t).e("img")),
38
+ src: o.logo,
37
39
  alt: ""
38
- }, null, 10, P),
39
- s("div", {
40
- class: e(l(t).e("title"))
41
- }, h(r.title), 3)
42
- ], 6));
40
+ }, null, 10, v)) : l("", !0),
41
+ o.title ? (n(), r("div", {
42
+ key: 1,
43
+ class: s(a(t).e("title"))
44
+ }, C(o.title), 3)) : l("", !0)
45
+ ], 6)) : l("", !0);
43
46
  }
44
47
  });
45
48
  export {
46
- I as default
49
+ _ as default
47
50
  };
@@ -1,6 +1,8 @@
1
1
  export interface LogoProps {
2
- title: string;
3
- logo: string;
2
+ /** logo 标题文本 */
3
+ title?: string;
4
+ /** logo 图片地址 */
5
+ logo?: string;
4
6
  /** 点击 logo 跳转路径 */
5
7
  jumpPath?: string;
6
8
  }
@@ -34,7 +34,7 @@ const S = /* @__PURE__ */ l({
34
34
  class: "vft-multiple-tabs__title",
35
35
  title: n.value,
36
36
  icon: r.value,
37
- text: n.value,
37
+ text: n.value || "",
38
38
  onContextmenu: b(o, ["stop"])
39
39
  }, null, 8, ["title", "icon", "text"]));
40
40
  }
@@ -12,7 +12,7 @@ function g(o) {
12
12
  }
13
13
  function r() {
14
14
  const t = i(o.getRoutes());
15
- b(t, ["meta", "order"]), n.value = t;
15
+ b(t, ["meta", "order"], !1), n.value = t;
16
16
  for (const a of t)
17
17
  f.addTab({
18
18
  meta: a.meta,
@@ -1,4 +1,4 @@
1
- import { defineComponent as Q, computed as v, ref as re, unref as c, useSlots as oe, createVNode as s, mergeProps as L, withDirectives as ie, vShow as ne, createTextVNode as G, isVNode as le, resolveComponent as V } from "vue";
1
+ import { defineComponent as Q, computed as v, ref as re, unref as c, useSlots as oe, createVNode as s, mergeProps as L, withDirectives as ie, vShow as ne, isVNode as le, createTextVNode as G, resolveComponent as V } from "vue";
2
2
  import "../alert/index.js";
3
3
  import "../avatar/index.js";
4
4
  import "../avatar-stack/index.js";
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.419",
3
+ "version": "0.0.422",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
@@ -1,4 +1,4 @@
1
- const o = "0.0.419";
1
+ const o = "0.0.422";
2
2
  export {
3
3
  o as version
4
4
  };
@@ -1,4 +1,4 @@
1
- import { hasOwn as m, camelize as N, isArray as E } from "@vft/utils";
1
+ import { isArray as E, hasOwn as m, camelize as N } from "@vft/utils";
2
2
  import { isVNode as o, Fragment as S, Comment as A, Text as s, createCommentVNode as L, createBlock as _, openBlock as C } from "vue";
3
3
  import { debugWarn as O } from "../error.js";
4
4
  const R = "utils/vue/vnode";
@@ -1,3 +1,4 @@
1
+ import { type DialogProps } from 'vft/es/components/dialog';
1
2
  import type { DrawerProps } from './types';
2
3
  declare function __VLS_template(): {
3
4
  header?(_: {
@@ -9,7 +10,7 @@ declare function __VLS_template(): {
9
10
  default?(_: {}): any;
10
11
  footer?(_: {}): any;
11
12
  };
12
- declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<DrawerProps>>, {
13
+ declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<DrawerProps & DialogProps>>, {
13
14
  close: () => void;
14
15
  afterEnter: () => void;
15
16
  afterLeave: () => void;
@@ -21,7 +22,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
21
22
  closed: () => void;
22
23
  openAutoFocus: () => void;
23
24
  closeAutoFocus: () => void;
24
- }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<DrawerProps>>> & Readonly<{
25
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<DrawerProps & DialogProps>>> & Readonly<{
25
26
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
26
27
  onClose?: (() => any) | undefined;
27
28
  onOpen?: (() => any) | undefined;
@@ -1,5 +1,4 @@
1
- import type { DialogProps } from 'vft/es/components/dialog';
2
- export interface DrawerProps extends DialogProps {
1
+ export interface DrawerProps {
3
2
  /** 抽屉的弹出方向 */
4
3
  direction?: 'ltr' | 'rtl' | 'ttb' | 'btt';
5
4
  /** 抽屉的尺寸 */
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("@vft/use"),l=require("@vft/utils"),c=require("../icon-text/index.cjs");require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");const a=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const p=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const f=e.defineComponent({name:"full-screen"}),d=e.defineComponent({...f,props:{text:{},icon:{},color:{},hoverColor:{},distance:{},reverse:{type:Boolean},size:{},direction:{},pointer:{type:Boolean},adjustOrigin:{type:Boolean},maxLines:{},showTooltip:{type:Boolean},clampTooltipCfg:{},useClamp:{type:Boolean}},setup(o){const n=o,t=p.useNamespace("full-screen"),{toggle:s,isFullscreen:r}=i.useFullscreen(),u=a.primaryColor().value;return(q,m)=>(e.openBlock(),e.createBlock(e.unref(c.VftIconText),e.mergeProps({class:e.unref(t).b(),distance:2,"hover-color":e.unref(u),onClick:e.unref(s),icon:e.unref(r)?"icon-exit-full-screen":"icon-full-screen",text:e.unref(r)?"退出全屏":"全屏"},e.unref(l.delObjAttrNotExist)(n,!0,!0),{pointer:""}),null,16,["class","hover-color","onClick","icon","text"]))}});exports.default=d;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=require("@vft/use"),u=require("@vft/utils"),c=require("../icon-text/index.cjs");require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");const a=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const p=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const f=e.defineComponent({name:"full-screen"}),d=e.defineComponent({...f,props:{text:{},icon:{},color:{},hoverColor:{},disableIconHover:{type:Boolean},distance:{},reverse:{type:Boolean},size:{},direction:{},pointer:{type:Boolean},adjustOrigin:{type:Boolean},maxLines:{},showTooltip:{type:Boolean},clampTooltipCfg:{},useClamp:{type:Boolean}},setup(o){const n=o,t=p.useNamespace("full-screen"),{toggle:s,isFullscreen:r}=l.useFullscreen(),i=a.primaryColor().value;return(q,m)=>(e.openBlock(),e.createBlock(e.unref(c.VftIconText),e.mergeProps({class:e.unref(t).b(),distance:2,"hover-color":e.unref(i),onClick:e.unref(s),icon:e.unref(r)?"icon-exit-full-screen":"icon-full-screen",text:e.unref(r)?"退出全屏":"全屏"},e.unref(u.delObjAttrNotExist)(n,!0,!0),{pointer:""}),null,16,["class","hover-color","onClick","icon","text"]))}});exports.default=d;
@@ -11,6 +11,9 @@ export declare const VftFullScreen: import("vft/es/utils").SFCWithInstall<import
11
11
  hoverColor: {
12
12
  type: import("vue").PropType<string>;
13
13
  };
14
+ disableIconHover: {
15
+ type: import("vue").PropType<boolean>;
16
+ };
14
17
  distance: {
15
18
  type: import("vue").PropType<string | number>;
16
19
  };
@@ -54,6 +57,9 @@ export declare const VftFullScreen: import("vft/es/utils").SFCWithInstall<import
54
57
  hoverColor: {
55
58
  type: import("vue").PropType<string>;
56
59
  };
60
+ disableIconHover: {
61
+ type: import("vue").PropType<boolean>;
62
+ };
57
63
  distance: {
58
64
  type: import("vue").PropType<string | number>;
59
65
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),h=require("../clamp-tooltip/index.cjs"),s=require("../icon/index.cjs");require("@vueuse/core");const m=require("@vft/utils"),v=require("../../utils/helper.cjs"),C=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const p=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const B={key:2},k=e.defineComponent({name:"vft-icon-text"}),q=e.defineComponent({...k,props:{text:{},icon:{},color:{},hoverColor:{},distance:{default:3},reverse:{type:Boolean},size:{},direction:{default:"row"},pointer:{type:Boolean},adjustOrigin:{type:Boolean,default:!0},maxLines:{},showTooltip:{type:Boolean},clampTooltipCfg:{},useClamp:{type:Boolean}},setup(o){const c=p.useNamespace("icon-text"),n=e.computed(()=>o.hoverColor?o.hoverColor:o.color),r=e.computed(()=>m.singleAttrToObj(o.icon,"icon",{size:o.size,color:o.color})),u=e.computed(()=>o.direction==="col"),a=e.computed(()=>{const t=v.addUnit(o.distance);return u.value?o.reverse?{marginTop:t}:{marginBottom:t}:o.reverse?{marginLeft:t}:{marginRight:t}}),l=e.computed(()=>m.removeUnit(o.size)),i=e.computed(()=>l.value<12),d=e.computed(()=>l.value&&i.value?{transform:`scale(${l.value/12})`}:{}),f=e.computed(()=>{const t=C.generateCssVars({cursor:o.pointer?"pointer":void 0,color:o.color,"hover-color":n.value,fontSize:i.value?"12px":v.addUnit(o.size)},"icon-text");return{...i.value&&o.adjustOrigin?{transformOrigin:"left top"}:{},...t,...d.value}}),g=e.computed(()=>({text:o.text,maxLines:o.maxLines,showTooltip:o.showTooltip,...o.clampTooltipCfg}));return(t,y)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass([e.unref(c).b(),e.unref(c).is("col",u.value)]),style:e.normalizeStyle(f.value)},[!t.reverse&&r.value?.icon?(e.openBlock(),e.createBlock(e.unref(s.VftIcon),e.mergeProps({key:0},r.value,{"hover-color":n.value,style:a.value}),null,16,["hover-color","style"])):e.createCommentVNode("",!0),t.useClamp?(e.openBlock(),e.createBlock(e.unref(h.VftClampTooltip),e.normalizeProps(e.mergeProps({key:1},g.value)),null,16)):(e.openBlock(),e.createElementBlock("span",B,e.toDisplayString(t.text),1)),t.reverse&&r.value?.icon?(e.openBlock(),e.createBlock(e.unref(s.VftIcon),e.mergeProps({key:3},r.value,{style:a.value,"hover-color":n.value}),null,16,["style","hover-color"])):e.createCommentVNode("",!0)],6))}});exports.default=q;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),g=require("../clamp-tooltip/index.cjs"),s=require("../icon/index.cjs");require("@vueuse/core");const v=require("@vft/utils"),d=require("../../utils/helper.cjs"),C=require("../../utils/ns-cover.cjs");require("lodash-es");require("../form/index.cjs");const B=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const p={key:2},k=e.defineComponent({name:"vft-icon-text"}),q=e.defineComponent({...k,props:{text:{},icon:{},color:{},hoverColor:{},disableIconHover:{type:Boolean},distance:{default:3},reverse:{type:Boolean},size:{},direction:{default:"row"},pointer:{type:Boolean},adjustOrigin:{type:Boolean,default:!0},maxLines:{},showTooltip:{type:Boolean},clampTooltipCfg:{},useClamp:{type:Boolean}},setup(o){const c=B.useNamespace("icon-text"),n=e.computed(()=>o.hoverColor?o.hoverColor:o.color),r=e.computed(()=>v.singleAttrToObj(o.icon,"icon",{size:o.size,color:o.color})),a=e.computed(()=>o.direction==="col"),u=e.computed(()=>{const t=d.addUnit(o.distance);return a.value?o.reverse?{marginTop:t}:{marginBottom:t}:o.reverse?{marginLeft:t}:{marginRight:t}}),l=e.computed(()=>v.removeUnit(o.size)),i=e.computed(()=>l.value<12),m=e.computed(()=>l.value&&i.value?{transform:`scale(${l.value/12})`}:{}),f=e.computed(()=>{const t=C.generateCssVars({cursor:o.pointer?"pointer":void 0,color:o.color,"hover-color":o.hoverColor?n.value:void 0,fontSize:i.value?"12px":d.addUnit(o.size)},"icon-text");return{...i.value&&o.adjustOrigin?{transformOrigin:"left top"}:{},...t,...m.value}}),h=e.computed(()=>({text:o.text,maxLines:o.maxLines,showTooltip:o.showTooltip,...o.clampTooltipCfg}));return(t,y)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass([e.unref(c).b(),e.unref(c).is("col",a.value),{"disable-icon-hover":t.disableIconHover}]),style:e.normalizeStyle(f.value)},[!t.reverse&&r.value?.icon?(e.openBlock(),e.createBlock(e.unref(s.VftIcon),e.mergeProps({key:0},r.value,{"hover-color":t.hoverColor&&!t.disableIconHover?n.value:void 0,style:u.value}),null,16,["hover-color","style"])):e.createCommentVNode("",!0),t.useClamp?(e.openBlock(),e.createBlock(e.unref(g.VftClampTooltip),e.normalizeProps(e.mergeProps({key:1},h.value)),null,16)):(e.openBlock(),e.createElementBlock("span",p,e.toDisplayString(t.text),1)),t.reverse&&r.value?.icon?(e.openBlock(),e.createBlock(e.unref(s.VftIcon),e.mergeProps({key:3},r.value,{style:u.value,"hover-color":t.hoverColor&&!t.disableIconHover?n.value:void 0}),null,16,["style","hover-color"])):e.createCommentVNode("",!0)],6))}});exports.default=q;
@@ -12,6 +12,9 @@ export declare const VftIconText: import("vft/es/utils").SFCWithInstall<import("
12
12
  hoverColor: {
13
13
  type: import("vue").PropType<string>;
14
14
  };
15
+ disableIconHover: {
16
+ type: import("vue").PropType<boolean>;
17
+ };
15
18
  distance: {
16
19
  type: import("vue").PropType<string | number>;
17
20
  };
@@ -56,6 +59,9 @@ export declare const VftIconText: import("vft/es/utils").SFCWithInstall<import("
56
59
  hoverColor: {
57
60
  type: import("vue").PropType<string>;
58
61
  };
62
+ disableIconHover: {
63
+ type: import("vue").PropType<boolean>;
64
+ };
59
65
  distance: {
60
66
  type: import("vue").PropType<string | number>;
61
67
  };
@@ -5,6 +5,7 @@ export interface IconTextProps {
5
5
  icon?: IconProps | string;
6
6
  color?: string;
7
7
  hoverColor?: string;
8
+ disableIconHover?: boolean;
8
9
  distance?: string | number;
9
10
  reverse?: boolean;
10
11
  size?: string | number;