vft 0.0.395 → 0.0.396
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.
- package/es/components/carousel/use-carousel.js +1 -1
- package/es/components/config-provider/hooks/use-global-config.js +3 -3
- package/es/components/input/input.vue2.js +4 -4
- package/es/components/input-tag/composables/use-input-tag.js +1 -1
- package/es/components/side-menu/index.d.ts +5 -0
- package/es/components/side-menu/side-menu.vue.d.ts +5 -0
- package/es/components/side-menu/side-menu.vue2.js +103 -92
- package/es/components/super-form/super-form-item.vue2.js +1 -1
- package/es/hooks/use-z-index/index.js +3 -3
- package/es/package.json.d.ts +1 -1
- package/es/package.json.js +1 -1
- package/es/utils/vue/vnode.js +1 -1
- package/lib/components/input/input.vue2.cjs +1 -1
- package/lib/components/side-menu/index.d.ts +5 -0
- package/lib/components/side-menu/side-menu.vue.d.ts +5 -0
- package/lib/components/side-menu/side-menu.vue2.cjs +1 -1
- package/lib/package.json.cjs +1 -1
- package/lib/package.json.d.ts +1 -1
- package/package.json +5 -5
- 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 {
|
|
14
|
+
import { carouselContextKey as Se, CAROUSEL_ITEM_NAME as H } from "./constants.js";
|
|
15
15
|
const L = 300, ze = (t, O, M) => {
|
|
16
16
|
const {
|
|
17
17
|
children: o,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { keysOf as f } from "@vft/utils";
|
|
2
2
|
import "@vueuse/core";
|
|
3
3
|
import { debugWarn as v } from "../../../utils/error.js";
|
|
4
|
-
import {
|
|
4
|
+
import { getCurrentInstance as l, computed as i, unref as p, provide as g, ref as C, inject as x } from "vue";
|
|
5
5
|
import "lodash-es";
|
|
6
6
|
import "../../form/index.js";
|
|
7
7
|
import { namespaceContextKey as I, useNamespace as b, defaultNamespace as y } from "../../../hooks/use-namespace/index.js";
|
|
@@ -9,7 +9,7 @@ import "../../../hooks/use-model-toggle/index.js";
|
|
|
9
9
|
import "@popperjs/core";
|
|
10
10
|
import { zIndexContextKey as G, useZIndex as z, defaultInitialZIndex as K } from "../../../hooks/use-z-index/index.js";
|
|
11
11
|
import { configProviderContextKey as m } from "../constants.js";
|
|
12
|
-
const a =
|
|
12
|
+
const a = C();
|
|
13
13
|
function d(o, e = void 0) {
|
|
14
14
|
const n = l() ? x(m, a) : a;
|
|
15
15
|
return o ? i(() => n?.value?.[o] ?? e) : n;
|
|
@@ -27,7 +27,7 @@ function B(o) {
|
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
const S = (o, e, n = !1) => {
|
|
30
|
-
const t = !!l(), r = t ? d() : void 0, u = e?.provide ?? (t ?
|
|
30
|
+
const t = !!l(), r = t ? d() : void 0, u = e?.provide ?? (t ? g : void 0);
|
|
31
31
|
if (!u) {
|
|
32
32
|
v(
|
|
33
33
|
"provideGlobalConfig",
|
|
@@ -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 {
|
|
17
|
-
import {
|
|
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";
|
|
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 } =
|
|
88
|
+
}), { form: Ce, formItem: F } = et(), { inputId: Y } = tt(xe.props, {
|
|
89
89
|
formItemContext: F
|
|
90
|
-
}), ke =
|
|
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", {
|
|
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,
|
|
3
|
+
import { CHANGE_EVENT as i, UPDATE_MODEL_EVENT as d, INPUT_EVENT as H } 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";
|
|
@@ -77,6 +77,11 @@ export declare const VftSideMenu: import("vft/es/utils").SFCWithInstall<import("
|
|
|
77
77
|
};
|
|
78
78
|
}>, {
|
|
79
79
|
sideRef: import("vue").Ref<any, any>;
|
|
80
|
+
jumpActiveDom: ({ activeDom, offset, delay }?: {
|
|
81
|
+
activeDom?: null | undefined;
|
|
82
|
+
offset?: number | undefined;
|
|
83
|
+
delay?: number | undefined;
|
|
84
|
+
}) => void;
|
|
80
85
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
81
86
|
"update:collapse": (val: boolean) => void;
|
|
82
87
|
"update:width": (val: string | number) => void;
|
|
@@ -61,6 +61,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
61
61
|
useRouterJump: boolean;
|
|
62
62
|
}>>, {
|
|
63
63
|
sideRef: import("vue").Ref<any, any>;
|
|
64
|
+
jumpActiveDom: ({ activeDom, offset, delay }?: {
|
|
65
|
+
activeDom?: null | undefined;
|
|
66
|
+
offset?: number | undefined;
|
|
67
|
+
delay?: number | undefined;
|
|
68
|
+
}) => void;
|
|
64
69
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
65
70
|
"update:collapse": (val: boolean) => void;
|
|
66
71
|
"update:width": (val: string | number) => void;
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { listenerRouteChange as
|
|
3
|
-
import { useSortable as
|
|
4
|
-
import { isUrl as
|
|
1
|
+
import { defineComponent as j, toRefs as le, useSlots as ne, getCurrentInstance as ae, ref as g, computed as m, h as b, createVNode as p, onMounted as ue, nextTick as se, watch as ie, isVNode as de } from "vue";
|
|
2
|
+
import { listenerRouteChange as re, useRouterHelper as ce } from "@vft/router";
|
|
3
|
+
import { useSortable as pe } from "@vft/use/sortable";
|
|
4
|
+
import { isUrl as fe, isNullOrUndefined as W, isNumber as me } from "@vft/utils";
|
|
5
5
|
import "@vueuse/core";
|
|
6
|
-
import { addUnit as
|
|
6
|
+
import { addUnit as I } from "../../utils/helper.js";
|
|
7
7
|
import "lodash-es";
|
|
8
8
|
import "../form/index.js";
|
|
9
|
-
import { VftIcon as
|
|
10
|
-
import { VftMenu as he, VftSubMenu as
|
|
11
|
-
import { useNamespace as
|
|
9
|
+
import { VftIcon as ve } from "../icon/index.js";
|
|
10
|
+
import { VftMenu as he, VftSubMenu as ge, VftMenuItem as V } from "../menu/index.js";
|
|
11
|
+
import { useNamespace as be } from "../../hooks/use-namespace/index.js";
|
|
12
12
|
import "../../hooks/use-model-toggle/index.js";
|
|
13
13
|
import "@popperjs/core";
|
|
14
14
|
import "../../hooks/use-z-index/index.js";
|
|
15
|
-
import { useDragLine as
|
|
16
|
-
function
|
|
17
|
-
return typeof
|
|
15
|
+
import { useDragLine as ye } from "./use-drag-line.js";
|
|
16
|
+
function Ce(v) {
|
|
17
|
+
return typeof v == "function" || Object.prototype.toString.call(v) === "[object Object]" && !de(v);
|
|
18
18
|
}
|
|
19
|
-
const
|
|
19
|
+
const Me = j({
|
|
20
20
|
name: "vft-side-menu"
|
|
21
|
-
}),
|
|
22
|
-
...
|
|
21
|
+
}), je = /* @__PURE__ */ j({
|
|
22
|
+
...Me,
|
|
23
23
|
props: {
|
|
24
24
|
isFixedLeft: {
|
|
25
25
|
type: Boolean,
|
|
@@ -79,17 +79,17 @@ const Ce = V({
|
|
|
79
79
|
defaultOpeneds: {}
|
|
80
80
|
},
|
|
81
81
|
emits: ["update:collapse", "update:width", "dragEnd", "dragWidthEnd", "select", "subMenuClick", "menuItemMouseenter", "menuItemMouseleave"],
|
|
82
|
-
setup(
|
|
82
|
+
setup(v, {
|
|
83
83
|
expose: J,
|
|
84
|
-
emit:
|
|
84
|
+
emit: q
|
|
85
85
|
}) {
|
|
86
|
-
const t =
|
|
86
|
+
const t = v, {
|
|
87
87
|
defaultActive: E,
|
|
88
88
|
collapse: f,
|
|
89
|
-
uniqueOpened:
|
|
90
|
-
defaultOpeneds:
|
|
91
|
-
openMenuCollapse:
|
|
92
|
-
} =
|
|
89
|
+
uniqueOpened: L,
|
|
90
|
+
defaultOpeneds: P,
|
|
91
|
+
openMenuCollapse: H
|
|
92
|
+
} = le(t), r = q, u = be("side-menu"), s = ne(), M = ae(), S = g(), a = m(() => ({
|
|
93
93
|
path: "path",
|
|
94
94
|
children: "children",
|
|
95
95
|
title: "title",
|
|
@@ -98,103 +98,113 @@ const Ce = V({
|
|
|
98
98
|
disabled: "disabled",
|
|
99
99
|
...t.attrMapping
|
|
100
100
|
}));
|
|
101
|
-
|
|
101
|
+
re(({
|
|
102
102
|
route: e
|
|
103
103
|
}) => {
|
|
104
|
-
!e || e.meta?.hideSide && !t.useRouterJump || (
|
|
104
|
+
!e || e.meta?.hideSide && !t.useRouterJump || (S.value = e.path);
|
|
105
105
|
});
|
|
106
|
-
const
|
|
107
|
-
const
|
|
108
|
-
if (t.autoScrollActiveDom &&
|
|
109
|
-
const o =
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
106
|
+
const U = (e) => {
|
|
107
|
+
const n = e.e;
|
|
108
|
+
if (t.autoScrollActiveDom && n) {
|
|
109
|
+
const o = me(t.autoScrollActiveDom) ? t.autoScrollActiveDom : 0, l = n.target;
|
|
110
|
+
O({
|
|
111
|
+
activeDom: l,
|
|
112
|
+
offset: o
|
|
113
|
+
});
|
|
113
114
|
}
|
|
114
115
|
r("subMenuClick", e);
|
|
115
|
-
},
|
|
116
|
-
|
|
116
|
+
}, O = ({
|
|
117
|
+
activeDom: e = null,
|
|
118
|
+
offset: n = 0,
|
|
119
|
+
delay: o = 300
|
|
120
|
+
} = {}) => {
|
|
121
|
+
const l = e || document.querySelector(".vft-menu-item.is-active");
|
|
122
|
+
h.value?.menu && l && setTimeout(() => {
|
|
123
|
+
h.value.menu.scrollTop = h.value.menu.scrollTop + (l.getBoundingClientRect().top - h.value.menu.getBoundingClientRect().top) + n;
|
|
124
|
+
}, o);
|
|
117
125
|
}, F = (e) => {
|
|
126
|
+
r("menuItemMouseenter", e);
|
|
127
|
+
}, Z = (e) => {
|
|
118
128
|
r("menuItemMouseleave", e);
|
|
119
|
-
},
|
|
120
|
-
const o = e[
|
|
129
|
+
}, _ = (e, n) => {
|
|
130
|
+
const o = e[a.value.path], l = e[a.value.title], i = e?.[a.value.children], c = e?.[a.value.index], D = e?.[a.value.icon], T = !!e?.[a.value.disabled], R = t.disabledJudgeTurnOver ? !T : T, k = c || o || n + l;
|
|
121
131
|
return i?.length ? b(
|
|
122
132
|
// @ts-ignore
|
|
123
|
-
|
|
133
|
+
ge,
|
|
124
134
|
{
|
|
125
135
|
...e,
|
|
126
136
|
popperAppendToBody: !0,
|
|
127
|
-
key:
|
|
128
|
-
index:
|
|
137
|
+
key: k,
|
|
138
|
+
index: k,
|
|
129
139
|
title: l,
|
|
130
|
-
icon:
|
|
131
|
-
disabled: t.openDisabled &&
|
|
140
|
+
icon: D,
|
|
141
|
+
disabled: t.openDisabled && R,
|
|
132
142
|
popperClass: u.e("popper")
|
|
133
143
|
},
|
|
134
144
|
{
|
|
135
|
-
default: () => i?.map((d,
|
|
136
|
-
const C = d[
|
|
137
|
-
return d?.[
|
|
145
|
+
default: () => i?.map((d, X) => {
|
|
146
|
+
const C = d[a.value.path], A = d[a.value.index], ee = d[a.value.icon], te = d[a.value.title], N = !!d[a.value.disabled], oe = t.disabledJudgeTurnOver ? !N : N;
|
|
147
|
+
return d?.[a.value.children]?.length ? _(d, X) : (
|
|
138
148
|
// @ts-ignore
|
|
139
|
-
b(
|
|
149
|
+
b(V, {
|
|
140
150
|
...d,
|
|
141
|
-
key:
|
|
142
|
-
index:
|
|
151
|
+
key: A || C,
|
|
152
|
+
index: A || C,
|
|
143
153
|
route: C,
|
|
144
|
-
icon:
|
|
145
|
-
title:
|
|
146
|
-
disabled: t.openDisabled &&
|
|
154
|
+
icon: ee,
|
|
155
|
+
title: te,
|
|
156
|
+
disabled: t.openDisabled && oe
|
|
147
157
|
}, s.menuItem ? () => s.menuItem?.({
|
|
148
158
|
item: d
|
|
149
159
|
}) : "")
|
|
150
160
|
);
|
|
151
161
|
})
|
|
152
162
|
}
|
|
153
|
-
) : b(
|
|
163
|
+
) : b(V, {
|
|
154
164
|
...e,
|
|
155
165
|
key: c || o,
|
|
156
166
|
index: c || o,
|
|
157
167
|
title: l,
|
|
158
168
|
route: o,
|
|
159
|
-
icon:
|
|
160
|
-
disabled: t.openDisabled &&
|
|
161
|
-
onMouseenter: () =>
|
|
162
|
-
onMouseleave: () =>
|
|
169
|
+
icon: D,
|
|
170
|
+
disabled: t.openDisabled && R,
|
|
171
|
+
onMouseenter: () => F(e),
|
|
172
|
+
onMouseleave: () => Z(e)
|
|
163
173
|
}, s.menuItem ? () => s.menuItem?.({
|
|
164
174
|
item: e,
|
|
165
|
-
index:
|
|
175
|
+
index: n
|
|
166
176
|
}) : "");
|
|
167
|
-
},
|
|
177
|
+
}, h = g(), $ = m(() => ({
|
|
168
178
|
...t.collapseWidth === 0 && f.value ? {
|
|
169
179
|
width: 0
|
|
170
180
|
} : {},
|
|
171
181
|
height: `calc(100% - ${t.menuTopBottomHeight}px)`
|
|
172
|
-
})),
|
|
182
|
+
})), z = m(() => {
|
|
173
183
|
let e;
|
|
174
184
|
return b(p(he, {
|
|
175
|
-
ref:
|
|
176
|
-
onSelect:
|
|
177
|
-
onOpen:
|
|
178
|
-
defaultActive: E?.value ||
|
|
179
|
-
defaultOpeneds:
|
|
185
|
+
ref: h,
|
|
186
|
+
onSelect: Y,
|
|
187
|
+
onOpen: U,
|
|
188
|
+
defaultActive: E?.value || S.value,
|
|
189
|
+
defaultOpeneds: P?.value,
|
|
180
190
|
class: [u.e("con"), t.dragOption?.dragClassName ? u.e(t.dragOption?.dragClassName) : ""],
|
|
181
|
-
style:
|
|
182
|
-
collapse:
|
|
183
|
-
uniqueOpened:
|
|
191
|
+
style: $.value,
|
|
192
|
+
collapse: H.value ? f.value : !1,
|
|
193
|
+
uniqueOpened: L.value,
|
|
184
194
|
collapseTransition: !1
|
|
185
|
-
},
|
|
195
|
+
}, Ce(e = t.menus.map((n, o) => _(n, o))) ? e : {
|
|
186
196
|
default: () => [e]
|
|
187
197
|
}));
|
|
188
198
|
}), x = M.appContext.config.globalProperties.$router;
|
|
189
|
-
async function
|
|
199
|
+
async function Y(e) {
|
|
190
200
|
if (t.useRouterJump) {
|
|
191
201
|
const {
|
|
192
|
-
go:
|
|
193
|
-
} =
|
|
202
|
+
go: n
|
|
203
|
+
} = ce(x), o = e.route;
|
|
194
204
|
let l = e.route;
|
|
195
|
-
e.indexPath.some((c) =>
|
|
205
|
+
e.indexPath.some((c) => fe(c)) && (l = e.indexPath.slice(-2).join("/"));
|
|
196
206
|
const i = x.getRoutes().filter((c) => c.path === l)?.[0]?.meta?.linkTarget;
|
|
197
|
-
|
|
207
|
+
n(i ? {
|
|
198
208
|
url: o,
|
|
199
209
|
winOpenOpt: {
|
|
200
210
|
target: i
|
|
@@ -203,65 +213,66 @@ const Ce = V({
|
|
|
203
213
|
}
|
|
204
214
|
r("select", e);
|
|
205
215
|
}
|
|
206
|
-
|
|
207
|
-
|
|
216
|
+
ue(() => {
|
|
217
|
+
se(() => {
|
|
208
218
|
if (t.dragOption?.dragClassName) {
|
|
209
219
|
const e = document.querySelectorAll("." + u.e(t.dragOption?.dragClassName))?.[0], {
|
|
210
|
-
initSortable:
|
|
211
|
-
} =
|
|
220
|
+
initSortable: n
|
|
221
|
+
} = pe(e, {
|
|
212
222
|
draggable: ".vft-menu-item",
|
|
213
223
|
onEnd: (o) => {
|
|
214
224
|
const {
|
|
215
225
|
oldIndex: l,
|
|
216
226
|
newIndex: i
|
|
217
227
|
} = o;
|
|
218
|
-
|
|
228
|
+
W(l) || W(i) || l === i || r("dragEnd", l, i);
|
|
219
229
|
},
|
|
220
230
|
...t.dragOption
|
|
221
231
|
});
|
|
222
|
-
|
|
232
|
+
n();
|
|
223
233
|
}
|
|
224
234
|
});
|
|
225
235
|
});
|
|
226
|
-
const y = g(),
|
|
236
|
+
const y = g(), w = g(), B = g(), G = m(() => ({
|
|
227
237
|
...t.collapseWidth === 0 && f.value ? {
|
|
228
238
|
borderRight: "none"
|
|
229
239
|
} : {},
|
|
230
|
-
width:
|
|
240
|
+
width: I(t.width),
|
|
231
241
|
height: t.height
|
|
232
242
|
}));
|
|
233
|
-
|
|
234
|
-
e ? r("update:width", t.collapseWidth) : r("update:width",
|
|
235
|
-
}), t.dragWidthCfg &&
|
|
236
|
-
const
|
|
237
|
-
left:
|
|
238
|
-
})),
|
|
243
|
+
ie(() => f.value, (e) => {
|
|
244
|
+
e ? r("update:width", t.collapseWidth) : r("update:width", B.value || t.width), B.value = t.width;
|
|
245
|
+
}), t.dragWidthCfg && ye(y, w, M);
|
|
246
|
+
const K = m(() => ({
|
|
247
|
+
left: I(t.width)
|
|
248
|
+
})), Q = m(() => [u.b(), t.isFixedLeft ? u.m("fixed") : ""]);
|
|
239
249
|
return J({
|
|
240
|
-
sideRef: y
|
|
250
|
+
sideRef: y,
|
|
251
|
+
jumpActiveDom: O
|
|
241
252
|
}), () => p("div", {
|
|
242
253
|
ref: y,
|
|
243
|
-
class:
|
|
244
|
-
style:
|
|
254
|
+
class: Q.value,
|
|
255
|
+
style: G.value
|
|
245
256
|
}, [s.top ? p("div", {
|
|
246
257
|
class: u.e("top")
|
|
247
|
-
}, [s.top()]) : null,
|
|
258
|
+
}, [s.top()]) : null, z.value, s.bottom ? p("div", {
|
|
248
259
|
class: u.e("bottom")
|
|
249
260
|
}, [s.bottom()]) : t.showCollapse ? p("div", {
|
|
250
261
|
onClick: () => r("update:collapse", !f.value),
|
|
251
262
|
class: [u.e("bottom"), u.e("collapse")]
|
|
252
|
-
}, [p(
|
|
263
|
+
}, [p(ve, {
|
|
253
264
|
style: {
|
|
254
265
|
transform: f.value ? "rotateY(180deg)" : ""
|
|
255
266
|
},
|
|
256
267
|
size: 20,
|
|
257
268
|
icon: "icon-sidebar-collapse"
|
|
258
269
|
}, null)]) : null, s.default?.(), t.dragWidthCfg ? p("div", {
|
|
259
|
-
ref:
|
|
260
|
-
style:
|
|
270
|
+
ref: w,
|
|
271
|
+
style: K.value,
|
|
261
272
|
class: u.e("drag-bar")
|
|
262
273
|
}, null) : null]);
|
|
263
274
|
}
|
|
264
275
|
});
|
|
265
276
|
export {
|
|
266
|
-
|
|
277
|
+
je as default
|
|
267
278
|
};
|
|
@@ -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,
|
|
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";
|
|
2
2
|
import "../alert/index.js";
|
|
3
3
|
import "../avatar/index.js";
|
|
4
4
|
import "../avatar-stack/index.js";
|
|
@@ -2,14 +2,14 @@ import "@vueuse/core";
|
|
|
2
2
|
import { isNumber as m, isClient as p } from "@vft/utils";
|
|
3
3
|
import { debugWarn as l } from "../../utils/error.js";
|
|
4
4
|
import "../../components/config-provider/hooks/use-global-config.js";
|
|
5
|
-
import {
|
|
5
|
+
import { getCurrentInstance as i, inject as e, computed as c, unref as v, ref as Z } from "vue";
|
|
6
6
|
import "lodash-es";
|
|
7
7
|
import "../../components/form/index.js";
|
|
8
8
|
const s = {
|
|
9
9
|
current: 0
|
|
10
|
-
}, u =
|
|
10
|
+
}, u = Z(0), f = 2e3, d = Symbol("vftZIndexContextKey"), y = Symbol("zIndexContextKey"), K = (I) => {
|
|
11
11
|
const n = i() ? e(d, s) : s, x = I || (i() ? e(y, void 0) : void 0), t = c(() => {
|
|
12
|
-
const r =
|
|
12
|
+
const r = v(x);
|
|
13
13
|
return m(r) ? r : f;
|
|
14
14
|
}), o = c(() => t.value + u.value), a = () => (n.current++, u.value = n.current, o.value);
|
|
15
15
|
return !p && !e(d) && l(
|
package/es/package.json.d.ts
CHANGED
package/es/package.json.js
CHANGED
package/es/utils/vue/vnode.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { hasOwn as m, camelize as N, isArray as E } 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 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../form/index.cjs");const k=require("../icon/index.cjs"),Y=require("@vueuse/core"),s=require("@vft/utils"),T=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const Be=require("lodash-es"),Z=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const q=require("@vft/constants"),_=require("@vft/use"),ee=require("./utils.cjs"),te=require("../form/hooks/use-form-common-props.cjs"),oe=require("../form/hooks/use-form-item.cjs"),Ve=["role"],Ie=["id","type","disabled","formatter","parser","readonly","autocomplete","tabindex","aria-label","placeholder","form"],Se=["id","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form"],ze=e.defineComponent({__name:"input",props:{id:{},size:{default:""},disabled:{type:Boolean},modelValue:{},type:{default:"text"},resize:{},autosize:{type:[Object,Boolean],default:!1},autocomplete:{default:"off"},formatter:{},parser:{},placeholder:{},form:{},readonly:{type:Boolean},clearable:{type:Boolean},showPassword:{type:Boolean},showWordLimit:{type:Boolean},suffixIcon:{},prefixIcon:{},clearIcon:{},containerRole:{},label:{},tabindex:{default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:[Boolean,null,String,Object,Array]}},emits:{[q.UPDATE_MODEL_EVENT]:t=>s.isString(t),input:t=>s.isString(t),change:t=>s.isString(t),suffixClick:t=>s.isString(t),prefixClick:t=>s.isString(t),focus:t=>t instanceof FocusEvent,blur:t=>t instanceof FocusEvent,clear:()=>!0,enter:()=>!0,mouseleave:t=>t instanceof MouseEvent,mouseenter:t=>t instanceof MouseEvent,keydown:t=>t instanceof Event,compositionstart:t=>t instanceof CompositionEvent,compositionupdate:t=>t instanceof CompositionEvent,compositionend:t=>t instanceof CompositionEvent},setup(t,{expose:ne,emit:ae}){const l=ae,v=e.useAttrs(),i=e.useSlots(),M=e.computed(()=>{const o={};return t.containerRole==="combobox"&&(o["aria-haspopup"]=v["aria-haspopup"],o["aria-owns"]=v["aria-owns"],o["aria-expanded"]=v["aria-expanded"]),o}),le=e.computed(()=>[t.type==="textarea"?A.b():n.b(),n.m(ie.value),n.is("disabled",m.value),n.is("exceed",fe.value),n.is("focus",c.value),{[n.b("group")]:i.prepend||i.append,[n.bm("group","append")]:i.append,[n.bm("group","prepend")]:i.prepend,[n.m("prefix")]:i.prefix||t.prefixIcon,[n.m("suffix")]:i.suffix||t.suffixIcon||t.clearable||t.showPassword,[n.bm("suffix","password-clear")]:E.value&&z.value},v.class]),se=e.getCurrentInstance(),re=e.computed(()=>[n.e("wrapper"),n.is("focus",c.value)]),r=_.useAttrs({excludeKeys:e.computed(()=>Object.keys(M.value))}),{form:ue,formItem:C}=oe.useFormItem(),{inputId:F}=oe.useFormItemInputId(se.props,{formItemContext:C}),ie=te.useFormSize(),m=te.useFormDisabled(),n=Z.useNamespace("input"),A=Z.useNamespace("textarea"),w=e.shallowRef(),f=e.shallowRef(),c=e.ref(!1),V=e.ref(!1),y=e.ref(!1),x=e.ref(!1),D=e.ref(),I=e.shallowRef(t.inputStyle),h=e.computed(()=>w.value||f.value),S=e.computed(()=>s.singleAttrToObj(t.prefixIcon,"icon",{size:16})),O=e.computed(()=>s.singleAttrToObj(t.suffixIcon,"icon",{size:16})),ce=e.computed(()=>s.singleAttrToObj(t.clearIcon,"icon",{icon:"icon-circle-close",size:16})),R=e.computed(()=>ue?.statusIcon??!1),g=e.computed(()=>C?.validateState||""),K=e.computed(()=>g.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[g.value]),de=e.computed(()=>x.value?{icon:"icon-view",size:16}:{icon:"icon-hide",size:16}),me=e.computed(()=>[v.style,t.inputStyle]),$=e.computed(()=>[t.inputStyle,I.value,{resize:t.resize}]),u=e.computed(()=>Be.isNil(t.modelValue)?"":String(t.modelValue)),E=e.computed(()=>t.clearable&&!m.value&&!t.readonly&&!!u.value&&(c.value||V.value)),z=e.computed(()=>t.showPassword&&!m.value&&!t.readonly&&!!u.value&&(!!u.value||c.value)),p=e.computed(()=>t.showWordLimit&&!!r.value.maxlength&&(t.type==="text"||t.type==="textarea")&&!m.value&&!t.readonly&&!t.showPassword),N=e.computed(()=>Array.from(u.value).length),fe=e.computed(()=>!!p.value&&N.value>Number(r.value.maxlength)),pe=e.computed(()=>!!i.suffix||!!t.suffixIcon||E.value||t.showPassword||p.value||!!g.value&&R.value),[ve,ye]=_.useCursor(w);Y.useResizeObserver(f,o=>{if(!p.value||t.resize!=="both")return;const a=o[0],{width:d}=a.contentRect;D.value={right:`calc(100% - ${d+15+6}px)`}});const B=()=>{if(!(!Y.isClient||t.type!=="textarea"))if(t.autosize){const o=s.isObject(t.autosize)?t.autosize.minRows:void 0,a=s.isObject(t.autosize)?t.autosize.maxRows:void 0;I.value={...ee.calcTextareaHeight(f.value,o,a)}}else I.value={minHeight:ee.calcTextareaHeight(f.value).minHeight}},b=()=>{const o=h.value;!o||o.value===u.value||(o.value=u.value)},P=async o=>{ve();let{value:a}=o.target;if(r.value.maxlength&&a.length>=r.value.maxlength&&(a=a.slice(0,Number(r.value.maxlength))),t.formatter&&(a=t.parser?t.parser(a):a,a=t.formatter(a)),!y.value){if(a===u.value){b();return}l(q.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),b(),ye()}},j=o=>{l("change",o.target.value)},he=()=>{l("suffixClick",t.modelValue)},ge=()=>{l("prefixClick",t.modelValue)},L=o=>{l("compositionstart",o),y.value=!0},be=o=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(o),W=o=>{l("compositionupdate",o);const a=o.target?.value,d=a[a.length-1]||"";y.value=!be(d)},H=o=>{l("compositionend",o),y.value&&(y.value=!1,P(o))},ke=()=>{x.value=!x.value,U()},U=async()=>{await e.nextTick(),h.value?.focus()},Ce=()=>h.value?.blur(),G=o=>{c.value=!0,l("focus",o)},J=o=>{c.value=!1,l("blur",o),t.validateEvent&&C?.validate?.("blur").catch(a=>T.debugWarn(a))},we=o=>{V.value=!1,l("mouseleave",o)},xe=o=>{V.value=!0,l("mouseenter",o)},Q=o=>{let a=o.key;if(o.target.type==="number"&&["e","+","-0","E"].includes(a))return o.returnValue=!1,!1;l("keydown",o)},Ee=()=>{h.value?.select()},X=()=>{l(q.UPDATE_MODEL_EVENT,""),l("change",""),l("clear"),l("input","")};return e.watch(()=>t.modelValue,()=>{e.nextTick(()=>B()),t.validateEvent&&C?.validate?.("change").catch(o=>T.debugWarn(o))}),e.watch(u,()=>b()),e.watch(()=>t.type,async()=>{await e.nextTick(),b(),B()}),e.onMounted(()=>{!t.formatter&&t.parser&&T.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),b(),e.nextTick(B)}),ne({input:w,textarea:f,ref:h,textareaStyle:$,autosize:t.autosize,focus:U,blur:Ce,select:Ee,clear:X,resizeTextarea:B}),(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps(M.value,{class:le.value,style:me.value,role:o.containerRole,onMouseenter:xe,onMouseleave:we,onMousewheel:a[1]||(a[1]=d=>o.type==="number"&&c.value?d.preventDefault():null)}),[o.type!=="textarea"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.$slots.prepend?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).be("group","prepend"))},[e.renderSlot(o.$slots,"prepend")],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(re.value)},[o.$slots.prefix||S.value?.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("prefix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("prefix-inner")),onClick:ge},[e.renderSlot(o.$slots,"prefix"),S.value?.icon?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:0,pointer:""},S.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(F),ref_key:"input",ref:w,class:e.unref(n).e("inner")},e.unref(r),{type:o.showPassword?x.value?"text":"password":o.type,disabled:e.unref(m),formatter:o.formatter,parser:o.parser,readonly:o.readonly,autocomplete:o.autocomplete,tabindex:o.tabindex,"aria-label":o.label,placeholder:o.placeholder,style:o.inputStyle,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q,onKeyup:a[0]||(a[0]=e.withKeys(d=>l("enter"),["enter"]))}),null,16,Ie),pe.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("suffix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix-inner")),onClick:he},[!E.value||!z.value||!p.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(o.$slots,"suffix"),O.value?.icon?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:0},O.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:1,pointer:"",class:[e.unref(n).e("icon"),e.unref(n).e("clear")]},ce.value,{onMousedown:e.withModifiers(e.unref(s.noop),["prevent"]),onClick:e.withModifiers(X,["stop"])}),null,16,["class","onMousedown"])):e.createCommentVNode("",!0),z.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:2},de.value,{class:[e.unref(n).e("icon"),e.unref(n).e("password")],onClick:ke}),null,16,["class"])):e.createCommentVNode("",!0),p.value?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(e.unref(n).e("count"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("count-inner"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),3)],2)):e.createCommentVNode("",!0),g.value&&K.value&&R.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),{key:4,icon:K.value,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("validateIcon"),e.unref(n).is("loading",g.value==="validating")])},null,8,["icon","class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0)],2),o.$slots.append?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).be("group","append"))},[e.renderSlot(o.$slots,"append")],2)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("textarea",e.mergeProps({id:e.unref(F),ref_key:"textarea",ref:f,class:e.unref(A).e("inner")},e.unref(r),{tabindex:o.tabindex,disabled:e.unref(m),readonly:o.readonly,autocomplete:o.autocomplete,style:$.value,"aria-label":o.label,placeholder:o.placeholder,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q}),null,16,Se),p.value?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(D.value),class:e.normalizeClass(e.unref(n).e("count"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),7)):e.createCommentVNode("",!0)],64))],16,Ve)),[[e.vShow,o.type!=="hidden"]])}});exports.default=ze;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../form/index.cjs");const k=require("../icon/index.cjs"),Y=require("@vueuse/core"),s=require("@vft/utils"),T=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const Be=require("lodash-es"),Z=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const q=require("@vft/constants"),_=require("@vft/use"),ee=require("./utils.cjs"),te=require("../form/hooks/use-form-item.cjs"),oe=require("../form/hooks/use-form-common-props.cjs"),Ve=["role"],Ie=["id","type","disabled","formatter","parser","readonly","autocomplete","tabindex","aria-label","placeholder","form"],Se=["id","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form"],ze=e.defineComponent({__name:"input",props:{id:{},size:{default:""},disabled:{type:Boolean},modelValue:{},type:{default:"text"},resize:{},autosize:{type:[Object,Boolean],default:!1},autocomplete:{default:"off"},formatter:{},parser:{},placeholder:{},form:{},readonly:{type:Boolean},clearable:{type:Boolean},showPassword:{type:Boolean},showWordLimit:{type:Boolean},suffixIcon:{},prefixIcon:{},clearIcon:{},containerRole:{},label:{},tabindex:{default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:[Boolean,null,String,Object,Array]}},emits:{[q.UPDATE_MODEL_EVENT]:t=>s.isString(t),input:t=>s.isString(t),change:t=>s.isString(t),suffixClick:t=>s.isString(t),prefixClick:t=>s.isString(t),focus:t=>t instanceof FocusEvent,blur:t=>t instanceof FocusEvent,clear:()=>!0,enter:()=>!0,mouseleave:t=>t instanceof MouseEvent,mouseenter:t=>t instanceof MouseEvent,keydown:t=>t instanceof Event,compositionstart:t=>t instanceof CompositionEvent,compositionupdate:t=>t instanceof CompositionEvent,compositionend:t=>t instanceof CompositionEvent},setup(t,{expose:ne,emit:ae}){const l=ae,v=e.useAttrs(),i=e.useSlots(),M=e.computed(()=>{const o={};return t.containerRole==="combobox"&&(o["aria-haspopup"]=v["aria-haspopup"],o["aria-owns"]=v["aria-owns"],o["aria-expanded"]=v["aria-expanded"]),o}),le=e.computed(()=>[t.type==="textarea"?A.b():n.b(),n.m(ie.value),n.is("disabled",m.value),n.is("exceed",fe.value),n.is("focus",c.value),{[n.b("group")]:i.prepend||i.append,[n.bm("group","append")]:i.append,[n.bm("group","prepend")]:i.prepend,[n.m("prefix")]:i.prefix||t.prefixIcon,[n.m("suffix")]:i.suffix||t.suffixIcon||t.clearable||t.showPassword,[n.bm("suffix","password-clear")]:E.value&&z.value},v.class]),se=e.getCurrentInstance(),re=e.computed(()=>[n.e("wrapper"),n.is("focus",c.value)]),r=_.useAttrs({excludeKeys:e.computed(()=>Object.keys(M.value))}),{form:ue,formItem:C}=te.useFormItem(),{inputId:F}=te.useFormItemInputId(se.props,{formItemContext:C}),ie=oe.useFormSize(),m=oe.useFormDisabled(),n=Z.useNamespace("input"),A=Z.useNamespace("textarea"),w=e.shallowRef(),f=e.shallowRef(),c=e.ref(!1),V=e.ref(!1),y=e.ref(!1),x=e.ref(!1),D=e.ref(),I=e.shallowRef(t.inputStyle),h=e.computed(()=>w.value||f.value),S=e.computed(()=>s.singleAttrToObj(t.prefixIcon,"icon",{size:16})),O=e.computed(()=>s.singleAttrToObj(t.suffixIcon,"icon",{size:16})),ce=e.computed(()=>s.singleAttrToObj(t.clearIcon,"icon",{icon:"icon-circle-close",size:16})),R=e.computed(()=>ue?.statusIcon??!1),g=e.computed(()=>C?.validateState||""),K=e.computed(()=>g.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[g.value]),de=e.computed(()=>x.value?{icon:"icon-view",size:16}:{icon:"icon-hide",size:16}),me=e.computed(()=>[v.style,t.inputStyle]),$=e.computed(()=>[t.inputStyle,I.value,{resize:t.resize}]),u=e.computed(()=>Be.isNil(t.modelValue)?"":String(t.modelValue)),E=e.computed(()=>t.clearable&&!m.value&&!t.readonly&&!!u.value&&(c.value||V.value)),z=e.computed(()=>t.showPassword&&!m.value&&!t.readonly&&!!u.value&&(!!u.value||c.value)),p=e.computed(()=>t.showWordLimit&&!!r.value.maxlength&&(t.type==="text"||t.type==="textarea")&&!m.value&&!t.readonly&&!t.showPassword),N=e.computed(()=>Array.from(u.value).length),fe=e.computed(()=>!!p.value&&N.value>Number(r.value.maxlength)),pe=e.computed(()=>!!i.suffix||!!t.suffixIcon||E.value||t.showPassword||p.value||!!g.value&&R.value),[ve,ye]=_.useCursor(w);Y.useResizeObserver(f,o=>{if(!p.value||t.resize!=="both")return;const a=o[0],{width:d}=a.contentRect;D.value={right:`calc(100% - ${d+15+6}px)`}});const B=()=>{if(!(!Y.isClient||t.type!=="textarea"))if(t.autosize){const o=s.isObject(t.autosize)?t.autosize.minRows:void 0,a=s.isObject(t.autosize)?t.autosize.maxRows:void 0;I.value={...ee.calcTextareaHeight(f.value,o,a)}}else I.value={minHeight:ee.calcTextareaHeight(f.value).minHeight}},b=()=>{const o=h.value;!o||o.value===u.value||(o.value=u.value)},P=async o=>{ve();let{value:a}=o.target;if(r.value.maxlength&&a.length>=r.value.maxlength&&(a=a.slice(0,Number(r.value.maxlength))),t.formatter&&(a=t.parser?t.parser(a):a,a=t.formatter(a)),!y.value){if(a===u.value){b();return}l(q.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),b(),ye()}},j=o=>{l("change",o.target.value)},he=()=>{l("suffixClick",t.modelValue)},ge=()=>{l("prefixClick",t.modelValue)},L=o=>{l("compositionstart",o),y.value=!0},be=o=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(o),W=o=>{l("compositionupdate",o);const a=o.target?.value,d=a[a.length-1]||"";y.value=!be(d)},H=o=>{l("compositionend",o),y.value&&(y.value=!1,P(o))},ke=()=>{x.value=!x.value,U()},U=async()=>{await e.nextTick(),h.value?.focus()},Ce=()=>h.value?.blur(),G=o=>{c.value=!0,l("focus",o)},J=o=>{c.value=!1,l("blur",o),t.validateEvent&&C?.validate?.("blur").catch(a=>T.debugWarn(a))},we=o=>{V.value=!1,l("mouseleave",o)},xe=o=>{V.value=!0,l("mouseenter",o)},Q=o=>{let a=o.key;if(o.target.type==="number"&&["e","+","-0","E"].includes(a))return o.returnValue=!1,!1;l("keydown",o)},Ee=()=>{h.value?.select()},X=()=>{l(q.UPDATE_MODEL_EVENT,""),l("change",""),l("clear"),l("input","")};return e.watch(()=>t.modelValue,()=>{e.nextTick(()=>B()),t.validateEvent&&C?.validate?.("change").catch(o=>T.debugWarn(o))}),e.watch(u,()=>b()),e.watch(()=>t.type,async()=>{await e.nextTick(),b(),B()}),e.onMounted(()=>{!t.formatter&&t.parser&&T.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),b(),e.nextTick(B)}),ne({input:w,textarea:f,ref:h,textareaStyle:$,autosize:t.autosize,focus:U,blur:Ce,select:Ee,clear:X,resizeTextarea:B}),(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps(M.value,{class:le.value,style:me.value,role:o.containerRole,onMouseenter:xe,onMouseleave:we,onMousewheel:a[1]||(a[1]=d=>o.type==="number"&&c.value?d.preventDefault():null)}),[o.type!=="textarea"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.$slots.prepend?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).be("group","prepend"))},[e.renderSlot(o.$slots,"prepend")],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(re.value)},[o.$slots.prefix||S.value?.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("prefix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("prefix-inner")),onClick:ge},[e.renderSlot(o.$slots,"prefix"),S.value?.icon?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:0,pointer:""},S.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(F),ref_key:"input",ref:w,class:e.unref(n).e("inner")},e.unref(r),{type:o.showPassword?x.value?"text":"password":o.type,disabled:e.unref(m),formatter:o.formatter,parser:o.parser,readonly:o.readonly,autocomplete:o.autocomplete,tabindex:o.tabindex,"aria-label":o.label,placeholder:o.placeholder,style:o.inputStyle,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q,onKeyup:a[0]||(a[0]=e.withKeys(d=>l("enter"),["enter"]))}),null,16,Ie),pe.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("suffix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix-inner")),onClick:he},[!E.value||!z.value||!p.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(o.$slots,"suffix"),O.value?.icon?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:0},O.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:1,pointer:"",class:[e.unref(n).e("icon"),e.unref(n).e("clear")]},ce.value,{onMousedown:e.withModifiers(e.unref(s.noop),["prevent"]),onClick:e.withModifiers(X,["stop"])}),null,16,["class","onMousedown"])):e.createCommentVNode("",!0),z.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),e.mergeProps({key:2},de.value,{class:[e.unref(n).e("icon"),e.unref(n).e("password")],onClick:ke}),null,16,["class"])):e.createCommentVNode("",!0),p.value?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(e.unref(n).e("count"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("count-inner"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),3)],2)):e.createCommentVNode("",!0),g.value&&K.value&&R.value?(e.openBlock(),e.createBlock(e.unref(k.VftIcon),{key:4,icon:K.value,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("validateIcon"),e.unref(n).is("loading",g.value==="validating")])},null,8,["icon","class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0)],2),o.$slots.append?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).be("group","append"))},[e.renderSlot(o.$slots,"append")],2)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("textarea",e.mergeProps({id:e.unref(F),ref_key:"textarea",ref:f,class:e.unref(A).e("inner")},e.unref(r),{tabindex:o.tabindex,disabled:e.unref(m),readonly:o.readonly,autocomplete:o.autocomplete,style:$.value,"aria-label":o.label,placeholder:o.placeholder,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q}),null,16,Se),p.value?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(D.value),class:e.normalizeClass(e.unref(n).e("count"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),7)):e.createCommentVNode("",!0)],64))],16,Ve)),[[e.vShow,o.type!=="hidden"]])}});exports.default=ze;
|
|
@@ -77,6 +77,11 @@ export declare const VftSideMenu: import("vft/es/utils").SFCWithInstall<import("
|
|
|
77
77
|
};
|
|
78
78
|
}>, {
|
|
79
79
|
sideRef: import("vue").Ref<any, any>;
|
|
80
|
+
jumpActiveDom: ({ activeDom, offset, delay }?: {
|
|
81
|
+
activeDom?: null | undefined;
|
|
82
|
+
offset?: number | undefined;
|
|
83
|
+
delay?: number | undefined;
|
|
84
|
+
}) => void;
|
|
80
85
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
81
86
|
"update:collapse": (val: boolean) => void;
|
|
82
87
|
"update:width": (val: string | number) => void;
|
|
@@ -61,6 +61,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
61
61
|
useRouterJump: boolean;
|
|
62
62
|
}>>, {
|
|
63
63
|
sideRef: import("vue").Ref<any, any>;
|
|
64
|
+
jumpActiveDom: ({ activeDom, offset, delay }?: {
|
|
65
|
+
activeDom?: null | undefined;
|
|
66
|
+
offset?: number | undefined;
|
|
67
|
+
delay?: number | undefined;
|
|
68
|
+
}) => void;
|
|
64
69
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
65
70
|
"update:collapse": (val: boolean) => void;
|
|
66
71
|
"update:width": (val: string | number) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("vue"),R=require("@vft/router"),ee=require("@vft/use/sortable"),h=require("@vft/utils");require("@vueuse/core");const k=require("../../utils/helper.cjs");require("lodash-es");require("../form/index.cjs");const te=require("../icon/index.cjs"),g=require("../menu/index.cjs"),ne=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const oe=require("./use-drag-line.cjs");function le(m){return typeof m=="function"||Object.prototype.toString.call(m)==="[object Object]"&&!n.isVNode(m)}const ae=n.defineComponent({name:"vft-side-menu"}),ue=n.defineComponent({...ae,props:{isFixedLeft:{type:Boolean,default:!0},menus:{},width:{default:200},height:{default:"100%"},collapseWidth:{default:50},attrMapping:{},menuTopBottomHeight:{default:0},showCollapse:{type:Boolean,default:!1},dragOption:{},dragWidthCfg:{type:[Boolean,Object],default:!1},useRouterJump:{type:Boolean,default:!1},openDisabled:{type:Boolean},autoScrollActiveDom:{type:[Boolean,Number],default:!0},openMenuCollapse:{type:Boolean,default:!0},collapse:{type:Boolean,default:!1},uniqueOpened:{type:Boolean,default:!0},disabledJudgeTurnOver:{type:Boolean,default:!1},defaultActive:{},defaultOpeneds:{}},emits:["update:collapse","update:width","dragEnd","dragWidthEnd","select","subMenuClick","menuItemMouseenter","menuItemMouseleave"],setup(m,{expose:A,emit:I}){const t=m,{defaultActive:W,collapse:f,uniqueOpened:j,defaultOpeneds:J,openMenuCollapse:E}=n.toRefs(t),c=I,s=ne.useNamespace("side-menu"),i=n.useSlots(),M=n.getCurrentInstance(),C=n.ref(),u=n.computed(()=>({path:"path",children:"children",title:"title",index:"path",icon:"icon",disabled:"disabled",...t.attrMapping}));R.listenerRouteChange(({route:e})=>{!e||e.meta?.hideSide&&!t.useRouterJump||(C.value=e.path)});const L=e=>{const a=e.e;if(t.autoScrollActiveDom&&a){const o=h.isNumber(t.autoScrollActiveDom)?t.autoScrollActiveDom:0,l=a.target;S({activeDom:l,offset:o})}c("subMenuClick",e)},S=({activeDom:e=null,offset:a=0,delay:o=300}={})=>{const l=e||document.querySelector(".vft-menu-item.is-active");v.value?.menu&&l&&setTimeout(()=>{v.value.menu.scrollTop=v.value.menu.scrollTop+(l.getBoundingClientRect().top-v.value.menu.getBoundingClientRect().top)+a},o)},P=e=>{c("menuItemMouseenter",e)},U=e=>{c("menuItemMouseleave",e)},O=(e,a)=>{const o=e[u.value.path],l=e[u.value.title],r=e?.[u.value.children],p=e?.[u.value.index],N=e?.[u.value.icon],w=!!e?.[u.value.disabled],B=t.disabledJudgeTurnOver?!w:w,D=p||o||a+l;return r?.length?n.h(g.VftSubMenu,{...e,popperAppendToBody:!0,key:D,index:D,title:l,icon:N,disabled:t.openDisabled&&B,popperClass:s.e("popper")},{default:()=>r?.map((d,G)=>{const y=d[u.value.path],T=d[u.value.index],K=d[u.value.icon],Q=d[u.value.title],V=!!d[u.value.disabled],X=t.disabledJudgeTurnOver?!V:V;return d?.[u.value.children]?.length?O(d,G):n.h(g.VftMenuItem,{...d,key:T||y,index:T||y,route:y,icon:K,title:Q,disabled:t.openDisabled&&X},i.menuItem?()=>i.menuItem?.({item:d}):"")})}):n.h(g.VftMenuItem,{...e,key:p||o,index:p||o,title:l,route:o,icon:N,disabled:t.openDisabled&&B,onMouseenter:()=>P(e),onMouseleave:()=>U(e)},i.menuItem?()=>i.menuItem?.({item:e,index:a}):"")},v=n.ref(),$=n.computed(()=>({...t.collapseWidth===0&&f.value?{width:0}:{},height:`calc(100% - ${t.menuTopBottomHeight}px)`})),H=n.computed(()=>{let e;return n.h(n.createVNode(g.VftMenu,{ref:v,onSelect:F,onOpen:L,defaultActive:W?.value||C.value,defaultOpeneds:J?.value,class:[s.e("con"),t.dragOption?.dragClassName?s.e(t.dragOption?.dragClassName):""],style:$.value,collapse:E.value?f.value:!1,uniqueOpened:j.value,collapseTransition:!1},le(e=t.menus.map((a,o)=>O(a,o)))?e:{default:()=>[e]}))}),_=M.appContext.config.globalProperties.$router;async function F(e){if(t.useRouterJump){const{go:a}=R.useRouterHelper(_),o=e.route;let l=e.route;e.indexPath.some(p=>h.isUrl(p))&&(l=e.indexPath.slice(-2).join("/"));const r=_.getRoutes().filter(p=>p.path===l)?.[0]?.meta?.linkTarget;a(r?{url:o,winOpenOpt:{target:r}}:o)}c("select",e)}n.onMounted(()=>{n.nextTick(()=>{if(t.dragOption?.dragClassName){const e=document.querySelectorAll("."+s.e(t.dragOption?.dragClassName))?.[0],{initSortable:a}=ee.useSortable(e,{draggable:".vft-menu-item",onEnd:o=>{const{oldIndex:l,newIndex:r}=o;h.isNullOrUndefined(l)||h.isNullOrUndefined(r)||l===r||c("dragEnd",l,r)},...t.dragOption});a()}})});const b=n.ref(),x=n.ref(),q=n.ref(),Z=n.computed(()=>({...t.collapseWidth===0&&f.value?{borderRight:"none"}:{},width:k.addUnit(t.width),height:t.height}));n.watch(()=>f.value,e=>{e?c("update:width",t.collapseWidth):c("update:width",q.value||t.width),q.value=t.width}),t.dragWidthCfg&&oe.useDragLine(b,x,M);const z=n.computed(()=>({left:k.addUnit(t.width)})),Y=n.computed(()=>[s.b(),t.isFixedLeft?s.m("fixed"):""]);return A({sideRef:b,jumpActiveDom:S}),()=>n.createVNode("div",{ref:b,class:Y.value,style:Z.value},[i.top?n.createVNode("div",{class:s.e("top")},[i.top()]):null,H.value,i.bottom?n.createVNode("div",{class:s.e("bottom")},[i.bottom()]):t.showCollapse?n.createVNode("div",{onClick:()=>c("update:collapse",!f.value),class:[s.e("bottom"),s.e("collapse")]},[n.createVNode(te.VftIcon,{style:{transform:f.value?"rotateY(180deg)":""},size:20,icon:"icon-sidebar-collapse"},null)]):null,i.default?.(),t.dragWidthCfg?n.createVNode("div",{ref:x,style:z.value,class:s.e("drag-bar")},null):null])}});exports.default=ue;
|
package/lib/package.json.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.396";exports.version=e;
|
package/lib/package.json.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vft",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.396",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -55,12 +55,12 @@
|
|
|
55
55
|
"resize-detector": "0.3.0",
|
|
56
56
|
"sortablejs": "1.15.0",
|
|
57
57
|
"photoswipe": "5.4.4",
|
|
58
|
-
"@vft/router": "0.0.67",
|
|
59
|
-
"@vft/constants": "0.0.72",
|
|
60
58
|
"@vft/store": "0.0.54",
|
|
61
59
|
"@vft/utils": "0.0.140",
|
|
62
|
-
"@vft/
|
|
63
|
-
"@vft/
|
|
60
|
+
"@vft/use": "0.0.82",
|
|
61
|
+
"@vft/constants": "0.0.72",
|
|
62
|
+
"@vft/router": "0.0.67",
|
|
63
|
+
"@vft/directives": "0.0.36"
|
|
64
64
|
},
|
|
65
65
|
"vetur": {
|
|
66
66
|
"tags": "tags.json",
|
package/web-types.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"http://json.schemastore.org/web-types","framework":"vue","name":"vft","version":"0.0.
|
|
1
|
+
{"$schema":"http://json.schemastore.org/web-types","framework":"vue","name":"vft","version":"0.0.396","js-types-syntax":"typescript","description-markup":"markdown","contributions":{"html":{}}}
|