vft 0.0.170 → 0.0.172

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 (36) hide show
  1. package/dist/index.css +1 -1
  2. package/es/components/card/index.d.ts +4 -4
  3. package/es/components/carousel/carousel.vue.d.ts +3 -3
  4. package/es/components/carousel/index.d.ts +14 -14
  5. package/es/components/checkbox/index.d.ts +16 -16
  6. package/es/components/date-picker/date-picker.d.ts +3 -3
  7. package/es/components/date-picker/index.d.ts +6 -6
  8. package/es/components/menu/menu.vue2.js +17 -16
  9. package/es/components/menu/sub-menu.vue2.js +30 -28
  10. package/es/components/menu/types.d.ts +1 -0
  11. package/es/components/time-picker/common/picker.vue.d.ts +3 -3
  12. package/es/components/time-picker/index.d.ts +6 -6
  13. package/es/components/time-picker/time-picker.d.ts +3 -3
  14. package/es/package.json.d.ts +1 -1
  15. package/es/package.json.js +1 -1
  16. package/es/utils/ns-cover.d.ts +16 -0
  17. package/lib/components/card/index.d.ts +4 -4
  18. package/lib/components/carousel/carousel.vue.d.ts +3 -3
  19. package/lib/components/carousel/index.d.ts +14 -14
  20. package/lib/components/checkbox/index.d.ts +16 -16
  21. package/lib/components/date-picker/date-picker.d.ts +3 -3
  22. package/lib/components/date-picker/index.d.ts +6 -6
  23. package/lib/components/menu/menu.vue2.cjs +1 -1
  24. package/lib/components/menu/sub-menu.vue2.cjs +1 -1
  25. package/lib/components/menu/types.d.ts +1 -0
  26. package/lib/components/time-picker/common/picker.vue.d.ts +3 -3
  27. package/lib/components/time-picker/index.d.ts +6 -6
  28. package/lib/components/time-picker/time-picker.d.ts +3 -3
  29. package/lib/package.json.cjs +1 -1
  30. package/lib/package.json.d.ts +1 -1
  31. package/lib/utils/ns-cover.d.ts +16 -0
  32. package/package.json +4 -4
  33. package/theme-style/index.css +1 -1
  34. package/theme-style/src/icon-text.scss +2 -1
  35. package/theme-style/vft-icon-text.css +1 -1
  36. package/web-types.json +1 -1
@@ -7,7 +7,7 @@ export declare const VftCard: import("vft/es/utils").SFCWithInstall<{
7
7
  type: globalThis.PropType<string | object | any[]>;
8
8
  };
9
9
  shadow: {
10
- type: globalThis.PropType<"always" | "never" | "hover">;
10
+ type: globalThis.PropType<"always" | "hover" | "never">;
11
11
  };
12
12
  }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<globalThis.ExtractPropTypes<{
13
13
  header: {
@@ -17,7 +17,7 @@ export declare const VftCard: import("vft/es/utils").SFCWithInstall<{
17
17
  type: globalThis.PropType<string | object | any[]>;
18
18
  };
19
19
  shadow: {
20
- type: globalThis.PropType<"always" | "never" | "hover">;
20
+ type: globalThis.PropType<"always" | "hover" | "never">;
21
21
  };
22
22
  }>>, {}, true, {}, {}, {
23
23
  P: {};
@@ -34,7 +34,7 @@ export declare const VftCard: import("vft/es/utils").SFCWithInstall<{
34
34
  type: globalThis.PropType<string | object | any[]>;
35
35
  };
36
36
  shadow: {
37
- type: globalThis.PropType<"always" | "never" | "hover">;
37
+ type: globalThis.PropType<"always" | "hover" | "never">;
38
38
  };
39
39
  }>>, {}, {}, {}, {}, {}>;
40
40
  __isFragment?: undefined;
@@ -48,7 +48,7 @@ export declare const VftCard: import("vft/es/utils").SFCWithInstall<{
48
48
  type: globalThis.PropType<string | object | any[]>;
49
49
  };
50
50
  shadow: {
51
- type: globalThis.PropType<"always" | "never" | "hover">;
51
+ type: globalThis.PropType<"always" | "hover" | "never">;
52
52
  };
53
53
  }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
54
54
  $slots: {
@@ -1,5 +1,5 @@
1
1
  export interface CarouselProps {
2
- initialIndex?: number;
2
+ initialIndex?: number | string;
3
3
  height?: string;
4
4
  trigger?: 'hover' | 'click';
5
5
  autoplay?: boolean;
@@ -50,10 +50,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
50
50
  direction: "vertical" | "horizontal";
51
51
  height: string;
52
52
  type: "" | "card";
53
- arrow: "always" | "never" | "hover";
53
+ arrow: "always" | "hover" | "never";
54
54
  loop: boolean;
55
55
  trigger: "click" | "hover";
56
- initialIndex: number;
56
+ initialIndex: string | number;
57
57
  interval: number;
58
58
  autoplay: boolean;
59
59
  indicatorPosition: "" | "none" | "outside";
@@ -13,7 +13,7 @@ export declare const VftCarousel: import("vft/es/utils").SFCWithInstall<{
13
13
  default: string;
14
14
  };
15
15
  arrow: {
16
- type: globalThis.PropType<"always" | "never" | "hover">;
16
+ type: globalThis.PropType<"always" | "hover" | "never">;
17
17
  default: string;
18
18
  };
19
19
  loop: {
@@ -25,7 +25,7 @@ export declare const VftCarousel: import("vft/es/utils").SFCWithInstall<{
25
25
  default: string;
26
26
  };
27
27
  initialIndex: {
28
- type: globalThis.PropType<number>;
28
+ type: globalThis.PropType<string | number>;
29
29
  default: number;
30
30
  };
31
31
  interval: {
@@ -66,7 +66,7 @@ export declare const VftCarousel: import("vft/es/utils").SFCWithInstall<{
66
66
  default: string;
67
67
  };
68
68
  arrow: {
69
- type: globalThis.PropType<"always" | "never" | "hover">;
69
+ type: globalThis.PropType<"always" | "hover" | "never">;
70
70
  default: string;
71
71
  };
72
72
  loop: {
@@ -78,7 +78,7 @@ export declare const VftCarousel: import("vft/es/utils").SFCWithInstall<{
78
78
  default: string;
79
79
  };
80
80
  initialIndex: {
81
- type: globalThis.PropType<number>;
81
+ type: globalThis.PropType<string | number>;
82
82
  default: number;
83
83
  };
84
84
  interval: {
@@ -103,10 +103,10 @@ export declare const VftCarousel: import("vft/es/utils").SFCWithInstall<{
103
103
  direction: "vertical" | "horizontal";
104
104
  height: string;
105
105
  type: "" | "card";
106
- arrow: "always" | "never" | "hover";
106
+ arrow: "always" | "hover" | "never";
107
107
  loop: boolean;
108
108
  trigger: "click" | "hover";
109
- initialIndex: number;
109
+ initialIndex: string | number;
110
110
  interval: number;
111
111
  autoplay: boolean;
112
112
  indicatorPosition: "" | "none" | "outside";
@@ -132,7 +132,7 @@ export declare const VftCarousel: import("vft/es/utils").SFCWithInstall<{
132
132
  default: string;
133
133
  };
134
134
  arrow: {
135
- type: globalThis.PropType<"always" | "never" | "hover">;
135
+ type: globalThis.PropType<"always" | "hover" | "never">;
136
136
  default: string;
137
137
  };
138
138
  loop: {
@@ -144,7 +144,7 @@ export declare const VftCarousel: import("vft/es/utils").SFCWithInstall<{
144
144
  default: string;
145
145
  };
146
146
  initialIndex: {
147
- type: globalThis.PropType<number>;
147
+ type: globalThis.PropType<string | number>;
148
148
  default: number;
149
149
  };
150
150
  interval: {
@@ -173,10 +173,10 @@ export declare const VftCarousel: import("vft/es/utils").SFCWithInstall<{
173
173
  direction: "vertical" | "horizontal";
174
174
  height: string;
175
175
  type: "" | "card";
176
- arrow: "always" | "never" | "hover";
176
+ arrow: "always" | "hover" | "never";
177
177
  loop: boolean;
178
178
  trigger: "click" | "hover";
179
- initialIndex: number;
179
+ initialIndex: string | number;
180
180
  interval: number;
181
181
  autoplay: boolean;
182
182
  indicatorPosition: "" | "none" | "outside";
@@ -199,7 +199,7 @@ export declare const VftCarousel: import("vft/es/utils").SFCWithInstall<{
199
199
  default: string;
200
200
  };
201
201
  arrow: {
202
- type: globalThis.PropType<"always" | "never" | "hover">;
202
+ type: globalThis.PropType<"always" | "hover" | "never">;
203
203
  default: string;
204
204
  };
205
205
  loop: {
@@ -211,7 +211,7 @@ export declare const VftCarousel: import("vft/es/utils").SFCWithInstall<{
211
211
  default: string;
212
212
  };
213
213
  initialIndex: {
214
- type: globalThis.PropType<number>;
214
+ type: globalThis.PropType<string | number>;
215
215
  default: number;
216
216
  };
217
217
  interval: {
@@ -242,10 +242,10 @@ export declare const VftCarousel: import("vft/es/utils").SFCWithInstall<{
242
242
  direction: "vertical" | "horizontal";
243
243
  height: string;
244
244
  type: "" | "card";
245
- arrow: "always" | "never" | "hover";
245
+ arrow: "always" | "hover" | "never";
246
246
  loop: boolean;
247
247
  trigger: "click" | "hover";
248
- initialIndex: number;
248
+ initialIndex: string | number;
249
249
  interval: number;
250
250
  autoplay: boolean;
251
251
  indicatorPosition: "" | "none" | "outside";
@@ -27,10 +27,6 @@ export declare const VftCheckbox: import("vft/es/utils").SFCWithInstall<{
27
27
  tabindex: {
28
28
  type: globalThis.PropType<string | number>;
29
29
  };
30
- validateEvent: {
31
- type: globalThis.PropType<boolean>;
32
- default: boolean;
33
- };
34
30
  checked: {
35
31
  type: globalThis.PropType<boolean>;
36
32
  };
@@ -46,6 +42,10 @@ export declare const VftCheckbox: import("vft/es/utils").SFCWithInstall<{
46
42
  controls: {
47
43
  type: globalThis.PropType<string>;
48
44
  };
45
+ validateEvent: {
46
+ type: globalThis.PropType<boolean>;
47
+ default: boolean;
48
+ };
49
49
  }>> & {
50
50
  onChange?: ((...args: any[]) => any) | undefined;
51
51
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
@@ -80,10 +80,6 @@ export declare const VftCheckbox: import("vft/es/utils").SFCWithInstall<{
80
80
  tabindex: {
81
81
  type: globalThis.PropType<string | number>;
82
82
  };
83
- validateEvent: {
84
- type: globalThis.PropType<boolean>;
85
- default: boolean;
86
- };
87
83
  checked: {
88
84
  type: globalThis.PropType<boolean>;
89
85
  };
@@ -99,6 +95,10 @@ export declare const VftCheckbox: import("vft/es/utils").SFCWithInstall<{
99
95
  controls: {
100
96
  type: globalThis.PropType<string>;
101
97
  };
98
+ validateEvent: {
99
+ type: globalThis.PropType<boolean>;
100
+ default: boolean;
101
+ };
102
102
  }>> & {
103
103
  onChange?: ((...args: any[]) => any) | undefined;
104
104
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
@@ -139,10 +139,6 @@ export declare const VftCheckbox: import("vft/es/utils").SFCWithInstall<{
139
139
  tabindex: {
140
140
  type: globalThis.PropType<string | number>;
141
141
  };
142
- validateEvent: {
143
- type: globalThis.PropType<boolean>;
144
- default: boolean;
145
- };
146
142
  checked: {
147
143
  type: globalThis.PropType<boolean>;
148
144
  };
@@ -158,6 +154,10 @@ export declare const VftCheckbox: import("vft/es/utils").SFCWithInstall<{
158
154
  controls: {
159
155
  type: globalThis.PropType<string>;
160
156
  };
157
+ validateEvent: {
158
+ type: globalThis.PropType<boolean>;
159
+ default: boolean;
160
+ };
161
161
  }>> & {
162
162
  onChange?: ((...args: any[]) => any) | undefined;
163
163
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
@@ -195,10 +195,6 @@ export declare const VftCheckbox: import("vft/es/utils").SFCWithInstall<{
195
195
  tabindex: {
196
196
  type: globalThis.PropType<string | number>;
197
197
  };
198
- validateEvent: {
199
- type: globalThis.PropType<boolean>;
200
- default: boolean;
201
- };
202
198
  checked: {
203
199
  type: globalThis.PropType<boolean>;
204
200
  };
@@ -214,6 +210,10 @@ export declare const VftCheckbox: import("vft/es/utils").SFCWithInstall<{
214
210
  controls: {
215
211
  type: globalThis.PropType<string>;
216
212
  };
213
+ validateEvent: {
214
+ type: globalThis.PropType<boolean>;
215
+ default: boolean;
216
+ };
217
217
  }>> & {
218
218
  onChange?: ((...args: any[]) => any) | undefined;
219
219
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
@@ -167,12 +167,12 @@ declare const _default: import("vue").DefineComponent<{
167
167
  readonly disabled: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
168
168
  readonly tabindex: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
169
169
  readonly placeholder: string;
170
- readonly clearable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
171
- readonly prefixIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
172
- readonly clearIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
173
170
  readonly validateEvent: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
174
171
  readonly popperOptions: Partial<import("@popperjs/core").Options>;
175
172
  readonly popperClass: string;
173
+ readonly clearable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
174
+ readonly prefixIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
175
+ readonly clearIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
176
176
  readonly editable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
177
177
  readonly rangeSeparator: string;
178
178
  readonly isRange: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -167,12 +167,12 @@ declare const _DatePicker: import("vue").DefineComponent<{
167
167
  readonly disabled: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
168
168
  readonly tabindex: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
169
169
  readonly placeholder: string;
170
- readonly clearable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
171
- readonly prefixIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
172
- readonly clearIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
173
170
  readonly validateEvent: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
174
171
  readonly popperOptions: Partial<import("@popperjs/core").Options>;
175
172
  readonly popperClass: string;
173
+ readonly clearable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
174
+ readonly prefixIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
175
+ readonly clearIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
176
176
  readonly editable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
177
177
  readonly rangeSeparator: string;
178
178
  readonly isRange: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -350,12 +350,12 @@ export declare const VftDatePicker: import("vue").DefineComponent<{
350
350
  readonly disabled: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
351
351
  readonly tabindex: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
352
352
  readonly placeholder: string;
353
- readonly clearable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
354
- readonly prefixIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
355
- readonly clearIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
356
353
  readonly validateEvent: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
357
354
  readonly popperOptions: Partial<import("@popperjs/core").Options>;
358
355
  readonly popperClass: string;
356
+ readonly clearable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
357
+ readonly prefixIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
358
+ readonly clearIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
359
359
  readonly editable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
360
360
  readonly rangeSeparator: string;
361
361
  readonly isRange: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -33,7 +33,7 @@ const b = (
33
33
  },
34
34
  emits: ["update:collapse", "sub-menu-click", "select", "close", "open"],
35
35
  setup(n, { expose: V, emit: $ }) {
36
- const v = $, y = Y(), h = Z(), O = h.appContext.config.globalProperties.$router, s = i(), z = W("sub-menu"), m = i(-1), u = i(
36
+ const v = $, y = Y(), h = Z(), O = h.appContext.config.globalProperties.$router, s = i(), z = W("sub-menu"), f = i(-1), u = i(
37
37
  n.defaultOpeneds && !n.collapse ? n.defaultOpeneds.slice(0) : []
38
38
  ), a = i(n.defaultActive), r = i({}), p = i({}), q = _(() => n.mode === "horizontal" || n.mode === "vertical" && n.collapse), D = () => {
39
39
  const e = a.value && r.value[a.value];
@@ -53,16 +53,17 @@ const b = (
53
53
  }, L = ({
54
54
  e,
55
55
  index: t,
56
- indexPath: l
56
+ indexPath: l,
57
+ isFirstLevel: o = !1
57
58
  }) => {
58
- u.value.includes(t) ? C(t, l, e) : g(t, l, e), v("sub-menu-click", { e, index: t, indexPath: l });
59
+ o || (u.value.includes(t) ? C(t, l, e) : g(t, l, e)), v("sub-menu-click", { e, index: t, indexPath: l });
59
60
  }, F = (e) => {
60
61
  (n.mode === "horizontal" || n.collapse) && (u.value = []);
61
62
  const { index: t, indexPath: l } = e;
62
63
  if (!(B(t) || B(l))) {
63
64
  if (n.router && O) {
64
- const o = e.route || t, f = O.push(o).then((c) => (c || (a.value = t), c));
65
- v("select", e, f);
65
+ const o = e.route || t, d = O.push(o).then((c) => (c || (a.value = t), c));
66
+ v("select", e, d);
66
67
  } else
67
68
  a.value = t, v("select", e);
68
69
  oe() && setTimeout(() => {
@@ -73,10 +74,10 @@ const b = (
73
74
  const t = r.value, l = t[e] || a.value && t[a.value] || t[n.defaultActive];
74
75
  l ? a.value = l.index : a.value = e;
75
76
  }, j = () => {
76
- var d;
77
+ var m;
77
78
  if (!s.value)
78
79
  return -1;
79
- const e = Array.from(((d = s.value) == null ? void 0 : d.childNodes) ?? []).filter(
80
+ const e = Array.from(((m = s.value) == null ? void 0 : m.childNodes) ?? []).filter(
80
81
  (x) => x.nodeName !== "#text" || x.nodeValue
81
82
  ), t = 64, l = Number.parseInt(
82
83
  getComputedStyle(s.value).paddingLeft,
@@ -84,10 +85,10 @@ const b = (
84
85
  ), o = Number.parseInt(
85
86
  getComputedStyle(s.value).paddingRight,
86
87
  10
87
- ), f = s.value.clientWidth - l - o;
88
+ ), d = s.value.clientWidth - l - o;
88
89
  let c = 0, M = 0;
89
90
  return e.forEach((x, X) => {
90
- c += x.offsetWidth || 0, c <= f - t && (M = X + 1);
91
+ c += x.offsetWidth || 0, c <= d - t && (M = X + 1);
91
92
  }), M === e.length ? -1 : M;
92
93
  }, G = (e, t = 33.34) => {
93
94
  let l;
@@ -100,8 +101,8 @@ const b = (
100
101
  let k = !0;
101
102
  const P = () => {
102
103
  const e = () => {
103
- m.value = -1, le(() => {
104
- m.value = j();
104
+ f.value = -1, le(() => {
105
+ f.value = j();
105
106
  });
106
107
  };
107
108
  k ? e() : G(e)(), k = !1;
@@ -169,12 +170,12 @@ const b = (
169
170
  menu: s,
170
171
  inSubMenu: w
171
172
  }), () => {
172
- var f;
173
- let e = ((f = y.default) == null ? void 0 : f.call(y)) ?? [];
173
+ var d;
174
+ let e = ((d = y.default) == null ? void 0 : d.call(y)) ?? [];
174
175
  const t = [];
175
176
  if (n.mode === "horizontal" && s.value) {
176
- const c = ie(e), M = m.value === -1 ? c : c.slice(0, m.value), d = m.value === -1 ? [] : c.slice(m.value);
177
- d != null && d.length && n.ellipsis && (e = M, t.push(
177
+ const c = ie(e), M = f.value === -1 ? c : c.slice(0, f.value), m = f.value === -1 ? [] : c.slice(f.value);
178
+ m != null && m.length && n.ellipsis && (e = M, t.push(
178
179
  I(
179
180
  ce,
180
181
  {
@@ -187,7 +188,7 @@ const b = (
187
188
  icon: "icon-menu-line",
188
189
  class: z.e("icon-more")
189
190
  }),
190
- default: () => d
191
+ default: () => m
191
192
  }
192
193
  )
193
194
  ));
@@ -1,4 +1,4 @@
1
- import { defineComponent as G, getCurrentInstance as ne, computed as i, inject as L, ref as g, reactive as le, watch as ue, provide as ae, onMounted as se, onBeforeUnmount as pe, useSlots as me, h as s, Fragment as ce, withDirectives as de, vShow as ve } from "vue";
1
+ import { defineComponent as G, getCurrentInstance as ne, computed as i, inject as H, ref as g, reactive as le, watch as ue, provide as ae, onMounted as se, onBeforeUnmount as pe, useSlots as me, h as s, Fragment as ce, withDirectives as de, vShow as ve } from "vue";
2
2
  import { singleAttrToObj as I, renderTNode as fe, isMobile as Me } from "@vft/utils";
3
3
  import "../alert/index.js";
4
4
  import "../avatar/index.js";
@@ -98,14 +98,11 @@ import "../infinite-scroll/index.js";
98
98
  import "../progress-i/index.js";
99
99
  import Te from "./use-menu.js";
100
100
  import { useMenuCssVar as Ce } from "./use-menu-css-var.js";
101
- const z = (
102
- /* hoist-static*/
103
- k("sub-menu")
104
- ), xe = G({
105
- name: z.b(),
101
+ const Se = G({
102
+ name: "vft-sub-menu",
106
103
  inheritAttrs: !1
107
104
  }), ft = /* @__PURE__ */ G({
108
- ...xe,
105
+ ...Se,
109
106
  props: {
110
107
  index: {},
111
108
  showTimeout: {
@@ -144,21 +141,21 @@ const z = (
144
141
  expose: J,
145
142
  emit: K
146
143
  }) {
147
- const E = K, f = ne(), {
144
+ const z = k("sub-menu"), E = K, f = ne(), {
148
145
  indexPath: T,
149
146
  parentMenu: A
150
- } = Te(f, i(() => o.index)), p = k("menu"), a = k("sub-menu"), e = L("rootMenu");
147
+ } = Te(f, i(() => o.index)), p = k("menu"), a = k("sub-menu"), e = H("rootMenu");
151
148
  e || q(z.b(), "can not inject root menu");
152
- const u = L(`subMenu:${A.value.uid}`);
149
+ const u = H(`subMenu:${A.value.uid}`);
153
150
  u || q(z.b(), "can not inject sub menu");
154
151
  const w = g({});
155
152
  let m;
156
- const B = g(!1), Q = g(), P = g(null), j = i(() => d.value === "horizontal" && C.value ? "bottom-start" : "right-start"), C = i(() => u.level === 0), y = i(() => o.teleported === void 0 ? C.value : o.teleported), W = i(() => e.props.collapse ? `${p.namespace.value}-zoom-in-left` : `${p.namespace.value}-zoom-in-top`), X = i(() => d.value === "horizontal" && C.value ? ["bottom-start", "bottom-end", "top-start", "top-end", "right-start", "left-start"] : ["right-start", "left-start", "bottom-start", "bottom-end", "top-start", "top-end"]), c = i(() => e.openedMenus.includes(o.index)), M = i(() => {
153
+ const B = g(!1), Q = g(), P = g(null), F = i(() => d.value === "horizontal" && C.value ? "bottom-start" : "right-start"), C = i(() => u.level === 0), y = i(() => o.teleported === void 0 ? C.value : o.teleported), W = i(() => e.props.collapse ? `${p.namespace.value}-zoom-in-left` : `${p.namespace.value}-zoom-in-top`), X = i(() => d.value === "horizontal" && C.value ? ["bottom-start", "bottom-end", "top-start", "top-end", "right-start", "left-start"] : ["right-start", "left-start", "bottom-start", "bottom-end", "top-start", "top-end"]), c = i(() => e.openedMenus.includes(o.index)), M = i(() => {
157
154
  let t = !1;
158
155
  return Object.values(w.value).forEach((l) => {
159
156
  l.active && (t = !0);
160
157
  }), o.index === e.activeIndex && (t = !0), t;
161
- }), F = i(() => e.props.backgroundColor || ""), $ = i(() => e.props.activeTextColor || ""), O = i(() => e.props.textColor || ""), d = i(() => e.props.mode), x = le({
158
+ }), j = i(() => e.props.backgroundColor || ""), $ = i(() => e.props.activeTextColor || ""), O = i(() => e.props.textColor || ""), d = i(() => e.props.mode), S = le({
162
159
  index: o.index,
163
160
  indexPath: T,
164
161
  active: M
@@ -173,14 +170,19 @@ const z = (
173
170
  }, _ = (t) => {
174
171
  t || Y();
175
172
  }, R = (t) => {
176
- if (e.props.menuTrigger === "hover" && e.props.mode === "horizontal" && !Me() || e.props.collapse && e.props.mode === "vertical" || o.disabled)
177
- return;
178
173
  const l = {
179
174
  e: t,
180
175
  index: o.index,
181
176
  indexPath: T.value,
182
177
  active: M.value
183
178
  };
179
+ if (e.props.menuTrigger === "hover" && e.props.mode === "horizontal" && !Me() || e.props.collapse && e.props.mode === "vertical" || o.disabled) {
180
+ e.handleSubMenuClick({
181
+ ...l,
182
+ isFirstLevel: !0
183
+ });
184
+ return;
185
+ }
184
186
  e.handleSubMenuClick(l);
185
187
  }, b = (t, l = o.showTimeout) => {
186
188
  var n;
@@ -197,7 +199,7 @@ const z = (
197
199
  e.inSubMenuMouseEnterTimer && clearTimeout(e.inSubMenuMouseEnterTimer), e.inSubMenuMouseleaveTimer && clearTimeout(e.inSubMenuMouseleaveTimer), e.inSubMenuMouseleaveTimer = setTimeout(() => {
198
200
  e.inSubMenu = !1;
199
201
  }, o.hideTimeout - 10);
200
- }, S = (t, l = !1) => {
202
+ }, x = (t, l = !1) => {
201
203
  var n, r;
202
204
  e.props.menuTrigger === "click" && e.props.mode === "horizontal" || !e.props.collapse && e.props.mode === "vertical" || (m == null || m(), u.mouseInChild.value = !1, {
203
205
  stop: m
@@ -215,7 +217,7 @@ const z = (
215
217
  ae(`subMenu:${f.uid}`, {
216
218
  addSubMenu: t,
217
219
  removeSubMenu: l,
218
- handleMouseleave: S,
220
+ handleMouseleave: x,
219
221
  mouseInChild: B,
220
222
  level: u.level + 1
221
223
  });
@@ -223,9 +225,9 @@ const z = (
223
225
  J({
224
226
  opened: c
225
227
  }), se(() => {
226
- e.addSubMenu(x), u.addSubMenu(x);
228
+ e.addSubMenu(S), u.addSubMenu(S);
227
229
  }), pe(() => {
228
- u.removeSubMenu(x), e.removeSubMenu(x);
230
+ u.removeSubMenu(S), e.removeSubMenu(S);
229
231
  });
230
232
  const v = me(), D = i(() => I(o.icon, "icon")), te = i(() => I(o.expandIcon, "icon")), re = i(() => I(o.collapseIcon, "icon")), ie = i(() => d.value === "horizontal" && C.value || d.value === "vertical" && !e.props.collapse ? {
231
233
  icon: "icon-arrow-down",
@@ -235,7 +237,7 @@ const z = (
235
237
  icon: "icon-arrow-right",
236
238
  size: 18,
237
239
  ...re.value
238
- }), H = i(() => fe(f, "title"));
240
+ }), L = i(() => fe(f, "title"));
239
241
  return () => {
240
242
  var n;
241
243
  const t = [(n = D.value) != null && n.icon ? s(U, {
@@ -243,7 +245,7 @@ const z = (
243
245
  }) : null, s("span", {
244
246
  class: [a.e("text"), a.is("arrow", o.showArrow)],
245
247
  title: f.props.title
246
- }, H.value), o.showArrow ? s(U, {
248
+ }, L.value), o.showArrow ? s(U, {
247
249
  class: a.e("icon-arrow"),
248
250
  ...ie.value,
249
251
  style: {
@@ -258,7 +260,7 @@ const z = (
258
260
  showArrow: !1,
259
261
  persistent: !0,
260
262
  popperClass: o.popperClass,
261
- placement: j.value,
263
+ placement: F.value,
262
264
  teleported: y.value,
263
265
  fallbackPlacements: X.value,
264
266
  transition: W.value,
@@ -270,28 +272,28 @@ const z = (
270
272
  return s("div", {
271
273
  class: [p.m(d.value), p.m("popup-container"), o.popperClass],
272
274
  onMouseenter: (h) => b(h, 100),
273
- onMouseleave: (h) => S(h, !0),
275
+ onMouseleave: (h) => x(h, !0),
274
276
  onFocus: (h) => b(h, 100)
275
277
  }, [s("ul", {
276
- class: [p.b(), p.m("popup"), p.m(`popup-${j.value}`)],
278
+ class: [p.b(), p.m("popup"), p.m(`popup-${F.value}`)],
277
279
  style: V.value
278
280
  }, [(r = v.default) == null ? void 0 : r.call(v)])]);
279
281
  },
280
282
  default: () => s("div", {
281
283
  class: a.e("title"),
282
284
  style: [N.value, {
283
- backgroundColor: F.value
285
+ backgroundColor: j.value
284
286
  }],
285
287
  onMouseenter: (r) => b(r),
286
- onMouseleave: (r) => S(r, !0),
288
+ onMouseleave: (r) => x(r, !0),
287
289
  onClick: (r) => R(r)
288
290
  }, t)
289
291
  }) : (
290
292
  // 以下是无需 tooltip 渲染的组件,通常是侧边栏没有折叠的时候
291
- s(ce, {}, [H.value ? s("div", {
293
+ s(ce, {}, [L.value ? s("div", {
292
294
  class: a.e("title"),
293
295
  style: [N.value, {
294
- backgroundColor: F.value
296
+ backgroundColor: j.value
295
297
  }],
296
298
  ref: Q,
297
299
  onClick: R
@@ -312,7 +314,7 @@ const z = (
312
314
  ariaHaspopup: !0,
313
315
  ariaExpanded: c.value,
314
316
  onMouseenter: [ee, (r) => b(r)],
315
- onMouseleave: [oe, (r) => S(r, !0)],
317
+ onMouseleave: [oe, (r) => x(r, !0)],
316
318
  onFocus: b
317
319
  }, [l]);
318
320
  };
@@ -5,6 +5,7 @@ export interface MenuItemRegistered {
5
5
  index: string;
6
6
  indexPath: string[];
7
7
  active: boolean;
8
+ isFirstLevel?: boolean;
8
9
  }
9
10
  export interface MenuItemClicked {
10
11
  index: string;
@@ -211,12 +211,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
211
211
  readonly disabled: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
212
212
  readonly tabindex: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
213
213
  readonly placeholder: string;
214
- readonly clearable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
215
- readonly prefixIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
216
- readonly clearIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
217
214
  readonly validateEvent: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
218
215
  readonly popperOptions: Partial<Options>;
219
216
  readonly popperClass: string;
217
+ readonly clearable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
218
+ readonly prefixIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
219
+ readonly clearIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
220
220
  readonly editable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
221
221
  readonly rangeSeparator: string;
222
222
  readonly isRange: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
@@ -178,12 +178,12 @@ declare const _TimePicker: import("vue").DefineComponent<{
178
178
  disabled: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
179
179
  tabindex: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
180
180
  placeholder: string;
181
- clearable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
182
- prefixIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
183
- clearIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
184
181
  validateEvent: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
185
182
  popperOptions: Partial<import("@popperjs/core").Options>;
186
183
  popperClass: string;
184
+ clearable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
185
+ prefixIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
186
+ clearIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
187
187
  editable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
188
188
  rangeSeparator: string;
189
189
  isRange: boolean;
@@ -368,12 +368,12 @@ export declare const VftTimePicker: import("vue").DefineComponent<{
368
368
  disabled: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
369
369
  tabindex: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown>;
370
370
  placeholder: string;
371
- clearable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
372
- prefixIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
373
- clearIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
374
371
  validateEvent: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
375
372
  popperOptions: Partial<import("@popperjs/core").Options>;
376
373
  popperClass: string;
374
+ clearable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
375
+ prefixIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
376
+ clearIcon: import("vft/es/utils").EpPropMergeType<(new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component) | ((new (...args: any[]) => (string | globalThis.Component) & {}) | (() => string | globalThis.Component))[], unknown, unknown>;
377
377
  editable: import("vft/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
378
378
  rangeSeparator: string;
379
379
  isRange: boolean;