vft 0.0.280 → 0.0.281
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/input/input.vue2.js +4 -4
- package/es/components/upload/index.d.ts +129 -0
- package/es/components/upload/upload.vue.d.ts +43 -0
- package/es/components/upload/upload.vue2.js +25 -24
- 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/upload/index.d.ts +129 -0
- package/lib/components/upload/upload.vue.d.ts +43 -0
- package/lib/components/upload/upload.vue2.cjs +1 -1
- package/lib/package.json.cjs +1 -1
- package/lib/package.json.d.ts +1 -1
- package/package.json +3 -3
- package/web-types.json +1 -1
|
@@ -10,7 +10,7 @@ import "../../hooks/use-model-toggle/index.js";
|
|
|
10
10
|
import { useOrderedChildren as Ie } from "../../hooks/use-ordered-children/index.js";
|
|
11
11
|
import "@popperjs/core";
|
|
12
12
|
import "../../hooks/use-z-index/index.js";
|
|
13
|
-
import {
|
|
13
|
+
import { carouselContextKey as ge, CAROUSEL_ITEM_NAME as H } from "./constants.js";
|
|
14
14
|
const L = 300, _e = (t, O, M) => {
|
|
15
15
|
const {
|
|
16
16
|
children: o,
|
|
@@ -13,8 +13,8 @@ import "../../hooks/use-model-toggle/index.js";
|
|
|
13
13
|
import "@popperjs/core";
|
|
14
14
|
import "../../hooks/use-z-index/index.js";
|
|
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", h.value)
|
|
86
86
|
]), d = Je({
|
|
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(), p = ot(), o = pe("input"), Z = pe("textarea"), K = H(), y = H(), h = S(!1), D = S(!1), g = S(!1), M = S(!1), _ = S(), O = H(e.inputStyle), C = l(() => K.value || y.value), T = l(() => J(e.prefixIcon, "icon", { size: 16 })), ee = l(() => J(e.suffixIcon, "icon", { size: 16 })), Ie = l(() => J(e.clearIcon, "icon", {
|
|
91
91
|
icon: "icon-circle-close",
|
|
92
92
|
size: 16
|
|
93
93
|
})), te = l(() => Ce?.statusIcon ?? !1), k = l(() => F?.validateState || ""), ae = l(
|
|
@@ -96,6 +96,49 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
|
|
|
96
96
|
clearFiles: (states?: import("./types").UploadStatus[]) => void;
|
|
97
97
|
handleStart: (rawFile: import("./types").UploadRawFile) => void;
|
|
98
98
|
handleRemove: (file: import("./types").UploadFile | import("./types").UploadRawFile, rawFile?: import("./types").UploadRawFile) => void;
|
|
99
|
+
fileList: import("vue").Ref<{
|
|
100
|
+
name: string;
|
|
101
|
+
percentage?: number | undefined;
|
|
102
|
+
status: import("./types").UploadStatus;
|
|
103
|
+
size?: number | undefined;
|
|
104
|
+
response?: unknown;
|
|
105
|
+
uid: number;
|
|
106
|
+
url?: string | undefined;
|
|
107
|
+
raw?: {
|
|
108
|
+
uid: number;
|
|
109
|
+
readonly lastModified: number;
|
|
110
|
+
readonly name: string;
|
|
111
|
+
readonly webkitRelativePath: string;
|
|
112
|
+
readonly size: number;
|
|
113
|
+
readonly type: string;
|
|
114
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
115
|
+
bytes: () => Promise<Uint8Array>;
|
|
116
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
117
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
118
|
+
text: () => Promise<string>;
|
|
119
|
+
} | undefined;
|
|
120
|
+
}[], {
|
|
121
|
+
name: string;
|
|
122
|
+
percentage?: number | undefined;
|
|
123
|
+
status: import("./types").UploadStatus;
|
|
124
|
+
size?: number | undefined;
|
|
125
|
+
response?: unknown;
|
|
126
|
+
uid: number;
|
|
127
|
+
url?: string | undefined;
|
|
128
|
+
raw?: {
|
|
129
|
+
uid: number;
|
|
130
|
+
readonly lastModified: number;
|
|
131
|
+
readonly name: string;
|
|
132
|
+
readonly webkitRelativePath: string;
|
|
133
|
+
readonly size: number;
|
|
134
|
+
readonly type: string;
|
|
135
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
136
|
+
bytes: () => Promise<Uint8Array>;
|
|
137
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
138
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
139
|
+
text: () => Promise<string>;
|
|
140
|
+
} | undefined;
|
|
141
|
+
}[]>;
|
|
99
142
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
|
|
100
143
|
drag: boolean;
|
|
101
144
|
name: string;
|
|
@@ -213,6 +256,49 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
|
|
|
213
256
|
clearFiles: (states?: import("./types").UploadStatus[]) => void;
|
|
214
257
|
handleStart: (rawFile: import("./types").UploadRawFile) => void;
|
|
215
258
|
handleRemove: (file: import("./types").UploadFile | import("./types").UploadRawFile, rawFile?: import("./types").UploadRawFile) => void;
|
|
259
|
+
fileList: import("vue").Ref<{
|
|
260
|
+
name: string;
|
|
261
|
+
percentage?: number | undefined;
|
|
262
|
+
status: import("./types").UploadStatus;
|
|
263
|
+
size?: number | undefined;
|
|
264
|
+
response?: unknown;
|
|
265
|
+
uid: number;
|
|
266
|
+
url?: string | undefined;
|
|
267
|
+
raw?: {
|
|
268
|
+
uid: number;
|
|
269
|
+
readonly lastModified: number;
|
|
270
|
+
readonly name: string;
|
|
271
|
+
readonly webkitRelativePath: string;
|
|
272
|
+
readonly size: number;
|
|
273
|
+
readonly type: string;
|
|
274
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
275
|
+
bytes: () => Promise<Uint8Array>;
|
|
276
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
277
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
278
|
+
text: () => Promise<string>;
|
|
279
|
+
} | undefined;
|
|
280
|
+
}[], {
|
|
281
|
+
name: string;
|
|
282
|
+
percentage?: number | undefined;
|
|
283
|
+
status: import("./types").UploadStatus;
|
|
284
|
+
size?: number | undefined;
|
|
285
|
+
response?: unknown;
|
|
286
|
+
uid: number;
|
|
287
|
+
url?: string | undefined;
|
|
288
|
+
raw?: {
|
|
289
|
+
uid: number;
|
|
290
|
+
readonly lastModified: number;
|
|
291
|
+
readonly name: string;
|
|
292
|
+
readonly webkitRelativePath: string;
|
|
293
|
+
readonly size: number;
|
|
294
|
+
readonly type: string;
|
|
295
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
296
|
+
bytes: () => Promise<Uint8Array>;
|
|
297
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
298
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
299
|
+
text: () => Promise<string>;
|
|
300
|
+
} | undefined;
|
|
301
|
+
}[]>;
|
|
216
302
|
}, {}, {}, {}, {
|
|
217
303
|
drag: boolean;
|
|
218
304
|
name: string;
|
|
@@ -327,6 +413,49 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
|
|
|
327
413
|
clearFiles: (states?: import("./types").UploadStatus[]) => void;
|
|
328
414
|
handleStart: (rawFile: import("./types").UploadRawFile) => void;
|
|
329
415
|
handleRemove: (file: import("./types").UploadFile | import("./types").UploadRawFile, rawFile?: import("./types").UploadRawFile) => void;
|
|
416
|
+
fileList: import("vue").Ref<{
|
|
417
|
+
name: string;
|
|
418
|
+
percentage?: number | undefined;
|
|
419
|
+
status: import("./types").UploadStatus;
|
|
420
|
+
size?: number | undefined;
|
|
421
|
+
response?: unknown;
|
|
422
|
+
uid: number;
|
|
423
|
+
url?: string | undefined;
|
|
424
|
+
raw?: {
|
|
425
|
+
uid: number;
|
|
426
|
+
readonly lastModified: number;
|
|
427
|
+
readonly name: string;
|
|
428
|
+
readonly webkitRelativePath: string;
|
|
429
|
+
readonly size: number;
|
|
430
|
+
readonly type: string;
|
|
431
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
432
|
+
bytes: () => Promise<Uint8Array>;
|
|
433
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
434
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
435
|
+
text: () => Promise<string>;
|
|
436
|
+
} | undefined;
|
|
437
|
+
}[], {
|
|
438
|
+
name: string;
|
|
439
|
+
percentage?: number | undefined;
|
|
440
|
+
status: import("./types").UploadStatus;
|
|
441
|
+
size?: number | undefined;
|
|
442
|
+
response?: unknown;
|
|
443
|
+
uid: number;
|
|
444
|
+
url?: string | undefined;
|
|
445
|
+
raw?: {
|
|
446
|
+
uid: number;
|
|
447
|
+
readonly lastModified: number;
|
|
448
|
+
readonly name: string;
|
|
449
|
+
readonly webkitRelativePath: string;
|
|
450
|
+
readonly size: number;
|
|
451
|
+
readonly type: string;
|
|
452
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
453
|
+
bytes: () => Promise<Uint8Array>;
|
|
454
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
455
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
456
|
+
text: () => Promise<string>;
|
|
457
|
+
} | undefined;
|
|
458
|
+
}[]>;
|
|
330
459
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
|
|
331
460
|
drag: boolean;
|
|
332
461
|
name: string;
|
|
@@ -26,6 +26,49 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
26
26
|
clearFiles: (states?: import("./types").UploadStatus[]) => void;
|
|
27
27
|
handleStart: (rawFile: import("./types").UploadRawFile) => void;
|
|
28
28
|
handleRemove: (file: import("./types").UploadFile | import("./types").UploadRawFile, rawFile?: import("./types").UploadRawFile) => void;
|
|
29
|
+
fileList: import("vue").Ref<{
|
|
30
|
+
name: string;
|
|
31
|
+
percentage?: number | undefined;
|
|
32
|
+
status: import("./types").UploadStatus;
|
|
33
|
+
size?: number | undefined;
|
|
34
|
+
response?: unknown;
|
|
35
|
+
uid: number;
|
|
36
|
+
url?: string | undefined;
|
|
37
|
+
raw?: {
|
|
38
|
+
uid: number;
|
|
39
|
+
readonly lastModified: number;
|
|
40
|
+
readonly name: string;
|
|
41
|
+
readonly webkitRelativePath: string;
|
|
42
|
+
readonly size: number;
|
|
43
|
+
readonly type: string;
|
|
44
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
45
|
+
bytes: () => Promise<Uint8Array>;
|
|
46
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
47
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
48
|
+
text: () => Promise<string>;
|
|
49
|
+
} | undefined;
|
|
50
|
+
}[], {
|
|
51
|
+
name: string;
|
|
52
|
+
percentage?: number | undefined;
|
|
53
|
+
status: import("./types").UploadStatus;
|
|
54
|
+
size?: number | undefined;
|
|
55
|
+
response?: unknown;
|
|
56
|
+
uid: number;
|
|
57
|
+
url?: string | undefined;
|
|
58
|
+
raw?: {
|
|
59
|
+
uid: number;
|
|
60
|
+
readonly lastModified: number;
|
|
61
|
+
readonly name: string;
|
|
62
|
+
readonly webkitRelativePath: string;
|
|
63
|
+
readonly size: number;
|
|
64
|
+
readonly type: string;
|
|
65
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
66
|
+
bytes: () => Promise<Uint8Array>;
|
|
67
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
68
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
69
|
+
text: () => Promise<string>;
|
|
70
|
+
} | undefined;
|
|
71
|
+
}[]>;
|
|
29
72
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<UploadProps>, {
|
|
30
73
|
action: string;
|
|
31
74
|
method: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as w, useSlots as U, shallowRef as T, computed as h, onBeforeUnmount as j, provide as N, toRef as V, createElementBlock as q, openBlock as f, createBlock as m, createCommentVNode as t, renderSlot as l, unref as o, createSlots as g, withCtx as
|
|
1
|
+
import { defineComponent as w, useSlots as U, shallowRef as T, computed as h, onBeforeUnmount as j, provide as N, toRef as V, createElementBlock as q, openBlock as f, createBlock as m, createCommentVNode as t, renderSlot as l, unref as o, createSlots as g, withCtx as r, createVNode as D, mergeProps as k } from "vue";
|
|
2
2
|
import "../form/index.js";
|
|
3
3
|
import { ajaxUpload as H } from "./ajax.js";
|
|
4
4
|
import { uploadContextKey as K } from "./constants.js";
|
|
@@ -39,52 +39,53 @@ const z = w({
|
|
|
39
39
|
onExceed: {}
|
|
40
40
|
},
|
|
41
41
|
setup($, { expose: B }) {
|
|
42
|
-
const
|
|
43
|
-
abort:
|
|
44
|
-
submit:
|
|
45
|
-
clearFiles:
|
|
46
|
-
uploadFiles:
|
|
42
|
+
const i = $, s = U(), v = W(), u = T(), {
|
|
43
|
+
abort: L,
|
|
44
|
+
submit: P,
|
|
45
|
+
clearFiles: C,
|
|
46
|
+
uploadFiles: a,
|
|
47
47
|
handleStart: y,
|
|
48
|
-
handleError:
|
|
48
|
+
handleError: F,
|
|
49
49
|
handleRemove: n,
|
|
50
50
|
handleSuccess: S,
|
|
51
51
|
handleProgress: E
|
|
52
|
-
} = O(
|
|
53
|
-
...
|
|
54
|
-
fileList:
|
|
52
|
+
} = O(i, u), d = h(() => i.listType === "picture-card"), c = h(() => ({
|
|
53
|
+
...i,
|
|
54
|
+
fileList: a.value,
|
|
55
55
|
onStart: y,
|
|
56
56
|
onProgress: E,
|
|
57
57
|
onSuccess: S,
|
|
58
|
-
onError:
|
|
58
|
+
onError: F,
|
|
59
59
|
onRemove: n
|
|
60
60
|
}));
|
|
61
61
|
return j(() => {
|
|
62
|
-
|
|
62
|
+
a.value.forEach(({ url: e }) => {
|
|
63
63
|
e?.startsWith("blob:") && URL.revokeObjectURL(e);
|
|
64
64
|
});
|
|
65
65
|
}), N(K, {
|
|
66
|
-
accept: V(
|
|
66
|
+
accept: V(i, "accept")
|
|
67
67
|
}), B({
|
|
68
|
-
abort:
|
|
69
|
-
submit:
|
|
70
|
-
clearFiles:
|
|
68
|
+
abort: L,
|
|
69
|
+
submit: P,
|
|
70
|
+
clearFiles: C,
|
|
71
71
|
handleStart: y,
|
|
72
|
-
handleRemove: n
|
|
72
|
+
handleRemove: n,
|
|
73
|
+
fileList: a
|
|
73
74
|
}), (e, A) => (f(), q("div", null, [
|
|
74
75
|
d.value && e.showFileList ? (f(), m(b, {
|
|
75
76
|
key: 0,
|
|
76
77
|
disabled: o(v),
|
|
77
78
|
"list-type": e.listType,
|
|
78
|
-
files: o(
|
|
79
|
+
files: o(a),
|
|
79
80
|
"handle-preview": e.onPreview,
|
|
80
81
|
onRemove: o(n)
|
|
81
82
|
}, g({
|
|
82
|
-
append:
|
|
83
|
+
append: r(() => [
|
|
83
84
|
D(R, k({
|
|
84
85
|
ref_key: "uploadRef",
|
|
85
86
|
ref: u
|
|
86
87
|
}, c.value), {
|
|
87
|
-
default:
|
|
88
|
+
default: r(() => [
|
|
88
89
|
o(s).trigger ? l(e.$slots, "trigger", { key: 0 }) : t("", !0),
|
|
89
90
|
!o(s).trigger && o(s).default ? l(e.$slots, "default", { key: 1 }) : t("", !0)
|
|
90
91
|
]),
|
|
@@ -95,7 +96,7 @@ const z = w({
|
|
|
95
96
|
}, [
|
|
96
97
|
e.$slots.file ? {
|
|
97
98
|
name: "default",
|
|
98
|
-
fn:
|
|
99
|
+
fn: r(({ file: p }) => [
|
|
99
100
|
l(e.$slots, "file", { file: p })
|
|
100
101
|
]),
|
|
101
102
|
key: "0"
|
|
@@ -106,7 +107,7 @@ const z = w({
|
|
|
106
107
|
ref_key: "uploadRef",
|
|
107
108
|
ref: u
|
|
108
109
|
}, c.value), {
|
|
109
|
-
default:
|
|
110
|
+
default: r(() => [
|
|
110
111
|
o(s).trigger ? l(e.$slots, "trigger", { key: 0 }) : t("", !0),
|
|
111
112
|
!o(s).trigger && o(s).default ? l(e.$slots, "default", { key: 1 }) : t("", !0)
|
|
112
113
|
]),
|
|
@@ -118,13 +119,13 @@ const z = w({
|
|
|
118
119
|
key: 3,
|
|
119
120
|
disabled: o(v),
|
|
120
121
|
"list-type": e.listType,
|
|
121
|
-
files: o(
|
|
122
|
+
files: o(a),
|
|
122
123
|
"handle-preview": e.onPreview,
|
|
123
124
|
onRemove: o(n)
|
|
124
125
|
}, g({ _: 2 }, [
|
|
125
126
|
e.$slots.file ? {
|
|
126
127
|
name: "default",
|
|
127
|
-
fn:
|
|
128
|
+
fn: r(({ file: p }) => [
|
|
128
129
|
l(e.$slots, "file", { file: p })
|
|
129
130
|
]),
|
|
130
131
|
key: "0"
|
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"),T=require("@vft/constants"),Y=require("@vft/use"),s=require("@vft/utils");require("../form/index.cjs");const b=require("../icon/index.cjs"),Z=require("@vueuse/core"),q=require("../../utils/error.cjs");require("../../utils/ns-cover.cjs");const Be=require("lodash-es"),_=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const 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:{[T.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,p=e.useAttrs(),i=e.useSlots(),F=e.computed(()=>{const o={};return t.containerRole==="combobox"&&(o["aria-haspopup"]=p["aria-haspopup"],o["aria-owns"]=p["aria-owns"],o["aria-expanded"]=p["aria-expanded"]),o}),le=e.computed(()=>[t.type==="textarea"?A.b():n.b(),n.m(ie.value),n.is("disabled",c.value),n.is("exceed",fe.value),n.is("focus",m.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},p.class]),se=e.getCurrentInstance(),re=e.computed(()=>[n.e("wrapper"),n.is("focus",m.value)]),r=Y.useAttrs({excludeKeys:e.computed(()=>Object.keys(F.value))}),{form:ue,formItem:C}=oe.useFormItem(),{inputId:M}=oe.useFormItemInputId(se.props,{formItemContext:C}),ie=te.useFormSize(),c=te.useFormDisabled(),n=_.useNamespace("input"),A=_.useNamespace("textarea"),w=e.shallowRef(),d=e.shallowRef(),m=e.ref(!1),V=e.ref(!1),v=e.ref(!1),x=e.ref(!1),D=e.ref(),I=e.shallowRef(t.inputStyle),y=e.computed(()=>w.value||d.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),h=e.computed(()=>C?.validateState||""),K=e.computed(()=>h.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[h.value]),de=e.computed(()=>x.value?{icon:"icon-view",size:16}:{icon:"icon-hide",size:16}),me=e.computed(()=>[p.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&&!c.value&&!t.readonly&&!!u.value&&(m.value||V.value)),z=e.computed(()=>t.showPassword&&!c.value&&!t.readonly&&!!u.value&&(!!u.value||m.value)),f=e.computed(()=>t.showWordLimit&&!!r.value.maxlength&&(t.type==="text"||t.type==="textarea")&&!c.value&&!t.readonly&&!t.showPassword),N=e.computed(()=>Array.from(u.value).length),fe=e.computed(()=>!!f.value&&N.value>Number(r.value.maxlength)),pe=e.computed(()=>!!i.suffix||!!t.suffixIcon||E.value||t.showPassword||f.value||!!h.value&&R.value),[ve,ye]=Y.useCursor(w);Z.useResizeObserver(d,o=>{if(!f.value||t.resize!=="both")return;const a=o[0],{width:k}=a.contentRect;D.value={right:`calc(100% - ${k+15+6}px)`}});const B=()=>{if(!(!Z.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(d.value,o,a)}}else I.value={minHeight:ee.calcTextareaHeight(d.value).minHeight}},g=()=>{const o=y.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)),!v.value){if(a===u.value){g();return}l(T.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),g(),ye()}},j=o=>{l("change",o.target.value)},he=()=>{l("suffixClick",t.modelValue)},ge=()=>{l("prefixClick",t.modelValue)},L=o=>{l("compositionstart",o),v.value=!0},ke=o=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(o),W=o=>{l("compositionupdate",o);const a=o.target?.value,k=a[a.length-1]||"";v.value=!ke(k)},H=o=>{l("compositionend",o),v.value&&(v.value=!1,P(o))},be=()=>{x.value=!x.value,U()},U=async()=>{await e.nextTick(),y.value?.focus()},Ce=()=>y.value?.blur(),G=o=>{m.value=!0,l("focus",o)},J=o=>{m.value=!1,l("blur",o),t.validateEvent&&C?.validate?.("blur").catch(a=>q.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=()=>{y.value?.select()},X=()=>{l(T.UPDATE_MODEL_EVENT,""),l("change",""),l("clear"),l("input","")};return e.watch(()=>t.modelValue,()=>{e.nextTick(()=>B()),t.validateEvent&&C?.validate?.("change").catch(o=>q.debugWarn(o))}),e.watch(u,()=>g()),e.watch(()=>t.type,async()=>{await e.nextTick(),g(),B()}),e.onMounted(()=>{!t.formatter&&t.parser&&q.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),g(),e.nextTick(B)}),ne({input:w,textarea:d,ref:y,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(F.value,{class:le.value,style:me.value,role:o.containerRole,onMouseenter:xe,onMouseleave:we}),[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(b.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(M),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(c),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(k=>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||!f.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(o.$slots,"suffix"),O.value?.icon?(e.openBlock(),e.createBlock(e.unref(b.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(b.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(b.VftIcon),e.mergeProps({key:2},de.value,{class:[e.unref(n).e("icon"),e.unref(n).e("password")],onClick:be}),null,16,["class"])):e.createCommentVNode("",!0),f.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),h.value&&K.value&&R.value?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),{key:4,icon:K.value,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("validateIcon"),e.unref(n).is("loading",h.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(M),ref_key:"textarea",ref:d,class:e.unref(A).e("inner")},e.unref(r),{tabindex:o.tabindex,disabled:e.unref(c),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),f.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"),T=require("@vft/constants"),Y=require("@vft/use"),s=require("@vft/utils");require("../form/index.cjs");const b=require("../icon/index.cjs"),Z=require("@vueuse/core"),q=require("../../utils/error.cjs");require("../../utils/ns-cover.cjs");const Be=require("lodash-es"),_=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const 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:{[T.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,p=e.useAttrs(),i=e.useSlots(),F=e.computed(()=>{const o={};return t.containerRole==="combobox"&&(o["aria-haspopup"]=p["aria-haspopup"],o["aria-owns"]=p["aria-owns"],o["aria-expanded"]=p["aria-expanded"]),o}),le=e.computed(()=>[t.type==="textarea"?A.b():n.b(),n.m(ie.value),n.is("disabled",c.value),n.is("exceed",fe.value),n.is("focus",m.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},p.class]),se=e.getCurrentInstance(),re=e.computed(()=>[n.e("wrapper"),n.is("focus",m.value)]),r=Y.useAttrs({excludeKeys:e.computed(()=>Object.keys(F.value))}),{form:ue,formItem:C}=te.useFormItem(),{inputId:M}=te.useFormItemInputId(se.props,{formItemContext:C}),ie=oe.useFormSize(),c=oe.useFormDisabled(),n=_.useNamespace("input"),A=_.useNamespace("textarea"),w=e.shallowRef(),d=e.shallowRef(),m=e.ref(!1),V=e.ref(!1),v=e.ref(!1),x=e.ref(!1),D=e.ref(),I=e.shallowRef(t.inputStyle),y=e.computed(()=>w.value||d.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),h=e.computed(()=>C?.validateState||""),K=e.computed(()=>h.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[h.value]),de=e.computed(()=>x.value?{icon:"icon-view",size:16}:{icon:"icon-hide",size:16}),me=e.computed(()=>[p.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&&!c.value&&!t.readonly&&!!u.value&&(m.value||V.value)),z=e.computed(()=>t.showPassword&&!c.value&&!t.readonly&&!!u.value&&(!!u.value||m.value)),f=e.computed(()=>t.showWordLimit&&!!r.value.maxlength&&(t.type==="text"||t.type==="textarea")&&!c.value&&!t.readonly&&!t.showPassword),N=e.computed(()=>Array.from(u.value).length),fe=e.computed(()=>!!f.value&&N.value>Number(r.value.maxlength)),pe=e.computed(()=>!!i.suffix||!!t.suffixIcon||E.value||t.showPassword||f.value||!!h.value&&R.value),[ve,ye]=Y.useCursor(w);Z.useResizeObserver(d,o=>{if(!f.value||t.resize!=="both")return;const a=o[0],{width:k}=a.contentRect;D.value={right:`calc(100% - ${k+15+6}px)`}});const B=()=>{if(!(!Z.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(d.value,o,a)}}else I.value={minHeight:ee.calcTextareaHeight(d.value).minHeight}},g=()=>{const o=y.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)),!v.value){if(a===u.value){g();return}l(T.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),g(),ye()}},j=o=>{l("change",o.target.value)},he=()=>{l("suffixClick",t.modelValue)},ge=()=>{l("prefixClick",t.modelValue)},L=o=>{l("compositionstart",o),v.value=!0},ke=o=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(o),W=o=>{l("compositionupdate",o);const a=o.target?.value,k=a[a.length-1]||"";v.value=!ke(k)},H=o=>{l("compositionend",o),v.value&&(v.value=!1,P(o))},be=()=>{x.value=!x.value,U()},U=async()=>{await e.nextTick(),y.value?.focus()},Ce=()=>y.value?.blur(),G=o=>{m.value=!0,l("focus",o)},J=o=>{m.value=!1,l("blur",o),t.validateEvent&&C?.validate?.("blur").catch(a=>q.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=()=>{y.value?.select()},X=()=>{l(T.UPDATE_MODEL_EVENT,""),l("change",""),l("clear"),l("input","")};return e.watch(()=>t.modelValue,()=>{e.nextTick(()=>B()),t.validateEvent&&C?.validate?.("change").catch(o=>q.debugWarn(o))}),e.watch(u,()=>g()),e.watch(()=>t.type,async()=>{await e.nextTick(),g(),B()}),e.onMounted(()=>{!t.formatter&&t.parser&&q.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),g(),e.nextTick(B)}),ne({input:w,textarea:d,ref:y,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(F.value,{class:le.value,style:me.value,role:o.containerRole,onMouseenter:xe,onMouseleave:we}),[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(b.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(M),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(c),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(k=>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||!f.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(o.$slots,"suffix"),O.value?.icon?(e.openBlock(),e.createBlock(e.unref(b.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(b.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(b.VftIcon),e.mergeProps({key:2},de.value,{class:[e.unref(n).e("icon"),e.unref(n).e("password")],onClick:be}),null,16,["class"])):e.createCommentVNode("",!0),f.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),h.value&&K.value&&R.value?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),{key:4,icon:K.value,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("validateIcon"),e.unref(n).is("loading",h.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(M),ref_key:"textarea",ref:d,class:e.unref(A).e("inner")},e.unref(r),{tabindex:o.tabindex,disabled:e.unref(c),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),f.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;
|
|
@@ -96,6 +96,49 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
|
|
|
96
96
|
clearFiles: (states?: import("./types").UploadStatus[]) => void;
|
|
97
97
|
handleStart: (rawFile: import("./types").UploadRawFile) => void;
|
|
98
98
|
handleRemove: (file: import("./types").UploadFile | import("./types").UploadRawFile, rawFile?: import("./types").UploadRawFile) => void;
|
|
99
|
+
fileList: import("vue").Ref<{
|
|
100
|
+
name: string;
|
|
101
|
+
percentage?: number | undefined;
|
|
102
|
+
status: import("./types").UploadStatus;
|
|
103
|
+
size?: number | undefined;
|
|
104
|
+
response?: unknown;
|
|
105
|
+
uid: number;
|
|
106
|
+
url?: string | undefined;
|
|
107
|
+
raw?: {
|
|
108
|
+
uid: number;
|
|
109
|
+
readonly lastModified: number;
|
|
110
|
+
readonly name: string;
|
|
111
|
+
readonly webkitRelativePath: string;
|
|
112
|
+
readonly size: number;
|
|
113
|
+
readonly type: string;
|
|
114
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
115
|
+
bytes: () => Promise<Uint8Array>;
|
|
116
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
117
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
118
|
+
text: () => Promise<string>;
|
|
119
|
+
} | undefined;
|
|
120
|
+
}[], {
|
|
121
|
+
name: string;
|
|
122
|
+
percentage?: number | undefined;
|
|
123
|
+
status: import("./types").UploadStatus;
|
|
124
|
+
size?: number | undefined;
|
|
125
|
+
response?: unknown;
|
|
126
|
+
uid: number;
|
|
127
|
+
url?: string | undefined;
|
|
128
|
+
raw?: {
|
|
129
|
+
uid: number;
|
|
130
|
+
readonly lastModified: number;
|
|
131
|
+
readonly name: string;
|
|
132
|
+
readonly webkitRelativePath: string;
|
|
133
|
+
readonly size: number;
|
|
134
|
+
readonly type: string;
|
|
135
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
136
|
+
bytes: () => Promise<Uint8Array>;
|
|
137
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
138
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
139
|
+
text: () => Promise<string>;
|
|
140
|
+
} | undefined;
|
|
141
|
+
}[]>;
|
|
99
142
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
|
|
100
143
|
drag: boolean;
|
|
101
144
|
name: string;
|
|
@@ -213,6 +256,49 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
|
|
|
213
256
|
clearFiles: (states?: import("./types").UploadStatus[]) => void;
|
|
214
257
|
handleStart: (rawFile: import("./types").UploadRawFile) => void;
|
|
215
258
|
handleRemove: (file: import("./types").UploadFile | import("./types").UploadRawFile, rawFile?: import("./types").UploadRawFile) => void;
|
|
259
|
+
fileList: import("vue").Ref<{
|
|
260
|
+
name: string;
|
|
261
|
+
percentage?: number | undefined;
|
|
262
|
+
status: import("./types").UploadStatus;
|
|
263
|
+
size?: number | undefined;
|
|
264
|
+
response?: unknown;
|
|
265
|
+
uid: number;
|
|
266
|
+
url?: string | undefined;
|
|
267
|
+
raw?: {
|
|
268
|
+
uid: number;
|
|
269
|
+
readonly lastModified: number;
|
|
270
|
+
readonly name: string;
|
|
271
|
+
readonly webkitRelativePath: string;
|
|
272
|
+
readonly size: number;
|
|
273
|
+
readonly type: string;
|
|
274
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
275
|
+
bytes: () => Promise<Uint8Array>;
|
|
276
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
277
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
278
|
+
text: () => Promise<string>;
|
|
279
|
+
} | undefined;
|
|
280
|
+
}[], {
|
|
281
|
+
name: string;
|
|
282
|
+
percentage?: number | undefined;
|
|
283
|
+
status: import("./types").UploadStatus;
|
|
284
|
+
size?: number | undefined;
|
|
285
|
+
response?: unknown;
|
|
286
|
+
uid: number;
|
|
287
|
+
url?: string | undefined;
|
|
288
|
+
raw?: {
|
|
289
|
+
uid: number;
|
|
290
|
+
readonly lastModified: number;
|
|
291
|
+
readonly name: string;
|
|
292
|
+
readonly webkitRelativePath: string;
|
|
293
|
+
readonly size: number;
|
|
294
|
+
readonly type: string;
|
|
295
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
296
|
+
bytes: () => Promise<Uint8Array>;
|
|
297
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
298
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
299
|
+
text: () => Promise<string>;
|
|
300
|
+
} | undefined;
|
|
301
|
+
}[]>;
|
|
216
302
|
}, {}, {}, {}, {
|
|
217
303
|
drag: boolean;
|
|
218
304
|
name: string;
|
|
@@ -327,6 +413,49 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
|
|
|
327
413
|
clearFiles: (states?: import("./types").UploadStatus[]) => void;
|
|
328
414
|
handleStart: (rawFile: import("./types").UploadRawFile) => void;
|
|
329
415
|
handleRemove: (file: import("./types").UploadFile | import("./types").UploadRawFile, rawFile?: import("./types").UploadRawFile) => void;
|
|
416
|
+
fileList: import("vue").Ref<{
|
|
417
|
+
name: string;
|
|
418
|
+
percentage?: number | undefined;
|
|
419
|
+
status: import("./types").UploadStatus;
|
|
420
|
+
size?: number | undefined;
|
|
421
|
+
response?: unknown;
|
|
422
|
+
uid: number;
|
|
423
|
+
url?: string | undefined;
|
|
424
|
+
raw?: {
|
|
425
|
+
uid: number;
|
|
426
|
+
readonly lastModified: number;
|
|
427
|
+
readonly name: string;
|
|
428
|
+
readonly webkitRelativePath: string;
|
|
429
|
+
readonly size: number;
|
|
430
|
+
readonly type: string;
|
|
431
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
432
|
+
bytes: () => Promise<Uint8Array>;
|
|
433
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
434
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
435
|
+
text: () => Promise<string>;
|
|
436
|
+
} | undefined;
|
|
437
|
+
}[], {
|
|
438
|
+
name: string;
|
|
439
|
+
percentage?: number | undefined;
|
|
440
|
+
status: import("./types").UploadStatus;
|
|
441
|
+
size?: number | undefined;
|
|
442
|
+
response?: unknown;
|
|
443
|
+
uid: number;
|
|
444
|
+
url?: string | undefined;
|
|
445
|
+
raw?: {
|
|
446
|
+
uid: number;
|
|
447
|
+
readonly lastModified: number;
|
|
448
|
+
readonly name: string;
|
|
449
|
+
readonly webkitRelativePath: string;
|
|
450
|
+
readonly size: number;
|
|
451
|
+
readonly type: string;
|
|
452
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
453
|
+
bytes: () => Promise<Uint8Array>;
|
|
454
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
455
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
456
|
+
text: () => Promise<string>;
|
|
457
|
+
} | undefined;
|
|
458
|
+
}[]>;
|
|
330
459
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
|
|
331
460
|
drag: boolean;
|
|
332
461
|
name: string;
|
|
@@ -26,6 +26,49 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
26
26
|
clearFiles: (states?: import("./types").UploadStatus[]) => void;
|
|
27
27
|
handleStart: (rawFile: import("./types").UploadRawFile) => void;
|
|
28
28
|
handleRemove: (file: import("./types").UploadFile | import("./types").UploadRawFile, rawFile?: import("./types").UploadRawFile) => void;
|
|
29
|
+
fileList: import("vue").Ref<{
|
|
30
|
+
name: string;
|
|
31
|
+
percentage?: number | undefined;
|
|
32
|
+
status: import("./types").UploadStatus;
|
|
33
|
+
size?: number | undefined;
|
|
34
|
+
response?: unknown;
|
|
35
|
+
uid: number;
|
|
36
|
+
url?: string | undefined;
|
|
37
|
+
raw?: {
|
|
38
|
+
uid: number;
|
|
39
|
+
readonly lastModified: number;
|
|
40
|
+
readonly name: string;
|
|
41
|
+
readonly webkitRelativePath: string;
|
|
42
|
+
readonly size: number;
|
|
43
|
+
readonly type: string;
|
|
44
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
45
|
+
bytes: () => Promise<Uint8Array>;
|
|
46
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
47
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
48
|
+
text: () => Promise<string>;
|
|
49
|
+
} | undefined;
|
|
50
|
+
}[], {
|
|
51
|
+
name: string;
|
|
52
|
+
percentage?: number | undefined;
|
|
53
|
+
status: import("./types").UploadStatus;
|
|
54
|
+
size?: number | undefined;
|
|
55
|
+
response?: unknown;
|
|
56
|
+
uid: number;
|
|
57
|
+
url?: string | undefined;
|
|
58
|
+
raw?: {
|
|
59
|
+
uid: number;
|
|
60
|
+
readonly lastModified: number;
|
|
61
|
+
readonly name: string;
|
|
62
|
+
readonly webkitRelativePath: string;
|
|
63
|
+
readonly size: number;
|
|
64
|
+
readonly type: string;
|
|
65
|
+
arrayBuffer: () => Promise<ArrayBuffer>;
|
|
66
|
+
bytes: () => Promise<Uint8Array>;
|
|
67
|
+
slice: (start?: number, end?: number, contentType?: string) => Blob;
|
|
68
|
+
stream: () => ReadableStream<Uint8Array>;
|
|
69
|
+
text: () => Promise<string>;
|
|
70
|
+
} | undefined;
|
|
71
|
+
}[]>;
|
|
29
72
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<UploadProps>, {
|
|
30
73
|
action: string;
|
|
31
74
|
method: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../form/index.cjs");const S=require("./ajax.cjs"),b=require("./constants.cjs"),p=require("./upload-content.vue2.cjs"),c=require("./upload-list.vue2.cjs"),R=require("./use-handlers.cjs"),B=require("../form/hooks/use-form-common-props.cjs"),P=e.defineComponent({name:"vft-upload"}),_=e.defineComponent({...P,props:{action:{default:"#"},headers:{},method:{default:"post"},data:{},multiple:{type:Boolean,default:!1},name:{default:"file"},drag:{type:Boolean,default:!1},withCredentials:{type:Boolean},showFileList:{type:Boolean,default:!0},accept:{default:""},type:{default:"select"},fileList:{default:[]},autoUpload:{type:Boolean,default:!1},listType:{default:"text"},httpRequest:{type:Function,default:S.ajaxUpload},disabled:{type:Boolean},limit:{},beforeUpload:{},beforeRemove:{},onRemove:{},onChange:{},onPreview:{},onSuccess:{},onProgress:{},onError:{},onExceed:{}},setup(m,{expose:v}){const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../form/index.cjs");const S=require("./ajax.cjs"),b=require("./constants.cjs"),p=require("./upload-content.vue2.cjs"),c=require("./upload-list.vue2.cjs"),R=require("./use-handlers.cjs"),B=require("../form/hooks/use-form-common-props.cjs"),P=e.defineComponent({name:"vft-upload"}),_=e.defineComponent({...P,props:{action:{default:"#"},headers:{},method:{default:"post"},data:{},multiple:{type:Boolean,default:!1},name:{default:"file"},drag:{type:Boolean,default:!1},withCredentials:{type:Boolean},showFileList:{type:Boolean,default:!0},accept:{default:""},type:{default:"select"},fileList:{default:[]},autoUpload:{type:Boolean,default:!1},listType:{default:"text"},httpRequest:{type:Function,default:S.ajaxUpload},disabled:{type:Boolean},limit:{},beforeUpload:{},beforeRemove:{},onRemove:{},onChange:{},onPreview:{},onSuccess:{},onProgress:{},onError:{},onExceed:{}},setup(m,{expose:v}){const l=m,o=e.useSlots(),d=B.useFormDisabled(),n=e.shallowRef(),{abort:y,submit:h,clearFiles:g,uploadFiles:r,handleStart:i,handleError:C,handleRemove:s,handleSuccess:k,handleProgress:w}=R.useHandlers(l,n),a=e.computed(()=>l.listType==="picture-card"),f=e.computed(()=>({...l,fileList:r.value,onStart:i,onProgress:w,onSuccess:k,onError:C,onRemove:s}));return e.onBeforeUnmount(()=>{r.value.forEach(({url:t})=>{t?.startsWith("blob:")&&URL.revokeObjectURL(t)})}),e.provide(b.uploadContextKey,{accept:e.toRef(l,"accept")}),v({abort:y,submit:h,clearFiles:g,handleStart:i,handleRemove:s,fileList:r}),(t,$)=>(e.openBlock(),e.createElementBlock("div",null,[a.value&&t.showFileList?(e.openBlock(),e.createBlock(c.default,{key:0,disabled:e.unref(d),"list-type":t.listType,files:e.unref(r),"handle-preview":t.onPreview,onRemove:e.unref(s)},e.createSlots({append:e.withCtx(()=>[e.createVNode(p.default,e.mergeProps({ref_key:"uploadRef",ref:n},f.value),{default:e.withCtx(()=>[e.unref(o).trigger?e.renderSlot(t.$slots,"trigger",{key:0}):e.createCommentVNode("",!0),!e.unref(o).trigger&&e.unref(o).default?e.renderSlot(t.$slots,"default",{key:1}):e.createCommentVNode("",!0)]),_:3},16)]),_:2},[t.$slots.file?{name:"default",fn:e.withCtx(({file:u})=>[e.renderSlot(t.$slots,"file",{file:u})]),key:"0"}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):e.createCommentVNode("",!0),!a.value||a.value&&!t.showFileList?(e.openBlock(),e.createBlock(p.default,e.mergeProps({key:1,ref_key:"uploadRef",ref:n},f.value),{default:e.withCtx(()=>[e.unref(o).trigger?e.renderSlot(t.$slots,"trigger",{key:0}):e.createCommentVNode("",!0),!e.unref(o).trigger&&e.unref(o).default?e.renderSlot(t.$slots,"default",{key:1}):e.createCommentVNode("",!0)]),_:3},16)):e.createCommentVNode("",!0),t.$slots.trigger?e.renderSlot(t.$slots,"default",{key:2}):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"tip"),!a.value&&t.showFileList?(e.openBlock(),e.createBlock(c.default,{key:3,disabled:e.unref(d),"list-type":t.listType,files:e.unref(r),"handle-preview":t.onPreview,onRemove:e.unref(s)},e.createSlots({_:2},[t.$slots.file?{name:"default",fn:e.withCtx(({file:u})=>[e.renderSlot(t.$slots,"file",{file:u})]),key:"0"}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):e.createCommentVNode("",!0)]))}});exports.default=_;
|