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.
@@ -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 { CAROUSEL_ITEM_NAME as H, carouselContextKey as ge } from "./constants.js";
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 { useFormSize as et, useFormDisabled as tt } from "../form/hooks/use-form-common-props.js";
17
- import { useFormItem as at, useFormItemInputId as ot } from "../form/hooks/use-form-item.js";
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 } = at(), { inputId: Y } = ot(xe.props, {
88
+ }), { form: Ce, formItem: F } = et(), { inputId: Y } = tt(xe.props, {
89
89
  formItemContext: F
90
- }), ke = et(), p = tt(), 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", {
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 a, createVNode as D, mergeProps as k } from "vue";
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 r = $, s = U(), v = W(), u = T(), {
43
- abort: P,
44
- submit: C,
45
- clearFiles: F,
46
- uploadFiles: i,
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: L,
48
+ handleError: F,
49
49
  handleRemove: n,
50
50
  handleSuccess: S,
51
51
  handleProgress: E
52
- } = O(r, u), d = h(() => r.listType === "picture-card"), c = h(() => ({
53
- ...r,
54
- fileList: i.value,
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: L,
58
+ onError: F,
59
59
  onRemove: n
60
60
  }));
61
61
  return j(() => {
62
- i.value.forEach(({ url: e }) => {
62
+ a.value.forEach(({ url: e }) => {
63
63
  e?.startsWith("blob:") && URL.revokeObjectURL(e);
64
64
  });
65
65
  }), N(K, {
66
- accept: V(r, "accept")
66
+ accept: V(i, "accept")
67
67
  }), B({
68
- abort: P,
69
- submit: C,
70
- clearFiles: F,
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(i),
79
+ files: o(a),
79
80
  "handle-preview": e.onPreview,
80
81
  onRemove: o(n)
81
82
  }, g({
82
- append: a(() => [
83
+ append: r(() => [
83
84
  D(R, k({
84
85
  ref_key: "uploadRef",
85
86
  ref: u
86
87
  }, c.value), {
87
- default: a(() => [
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: a(({ file: p }) => [
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: a(() => [
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(i),
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: a(({ file: p }) => [
128
+ fn: r(({ file: p }) => [
128
129
  l(e.$slots, "file", { file: p })
129
130
  ]),
130
131
  key: "0"
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.280",
3
+ "version": "0.0.281",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
@@ -1,4 +1,4 @@
1
- const o = "0.0.280";
1
+ const o = "0.0.281";
2
2
  export {
3
3
  o as version
4
4
  };
@@ -1,4 +1,4 @@
1
- import { isArray as E, hasOwn as m, camelize as N } from "@vft/utils";
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 r=m,o=e.useSlots(),d=B.useFormDisabled(),n=e.shallowRef(),{abort:y,submit:h,clearFiles:g,uploadFiles:l,handleStart:i,handleError:C,handleRemove:a,handleSuccess:k,handleProgress:w}=R.useHandlers(r,n),s=e.computed(()=>r.listType==="picture-card"),f=e.computed(()=>({...r,fileList:l.value,onStart:i,onProgress:w,onSuccess:k,onError:C,onRemove:a}));return e.onBeforeUnmount(()=>{l.value.forEach(({url:t})=>{t?.startsWith("blob:")&&URL.revokeObjectURL(t)})}),e.provide(b.uploadContextKey,{accept:e.toRef(r,"accept")}),v({abort:y,submit:h,clearFiles:g,handleStart:i,handleRemove:a}),(t,$)=>(e.openBlock(),e.createElementBlock("div",null,[s.value&&t.showFileList?(e.openBlock(),e.createBlock(c.default,{key:0,disabled:e.unref(d),"list-type":t.listType,files:e.unref(l),"handle-preview":t.onPreview,onRemove:e.unref(a)},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),!s.value||s.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"),!s.value&&t.showFileList?(e.openBlock(),e.createBlock(c.default,{key:3,disabled:e.unref(d),"list-type":t.listType,files:e.unref(l),"handle-preview":t.onPreview,onRemove:e.unref(a)},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=_;
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=_;