vft 0.0.334 → 0.0.337

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/index.css +1 -1
  2. package/es/components/carousel/use-carousel.js +1 -1
  3. package/es/components/input/input.vue2.js +4 -4
  4. package/es/components/input-tag/composables/use-input-tag.js +1 -1
  5. package/es/components/search/style/css.d.ts +1 -0
  6. package/es/components/search/style/css.js +1 -0
  7. package/es/components/search/style/index.d.ts +1 -0
  8. package/es/components/search/style/index.js +1 -0
  9. package/es/components/super-form/index.d.ts +15 -0
  10. package/es/components/super-form/super-form-item.vue2.js +1 -1
  11. package/es/components/super-form/super-form.vue.d.ts +1 -0
  12. package/es/components/super-form/super-form.vue2.js +3 -3
  13. package/es/components/super-form/types.d.ts +1 -0
  14. package/es/components/super-form/use/helper.js +53 -137
  15. package/es/components/upload/index.d.ts +72 -18
  16. package/es/components/upload/types.d.ts +17 -2
  17. package/es/components/upload/upload-content.vue.d.ts +10 -1
  18. package/es/components/upload/upload-content.vue2.js +103 -80
  19. package/es/components/upload/upload.vue.d.ts +22 -13
  20. package/es/components/upload/upload.vue2.js +201 -73
  21. package/es/components/upload/use-handlers.js +69 -61
  22. package/es/package.json.d.ts +1 -1
  23. package/es/package.json.js +1 -1
  24. package/es/utils/vue/vnode.js +1 -1
  25. package/lib/components/input/input.vue2.cjs +1 -1
  26. package/lib/components/search/style/css.cjs +1 -1
  27. package/lib/components/search/style/css.d.ts +1 -0
  28. package/lib/components/search/style/index.cjs +1 -1
  29. package/lib/components/search/style/index.d.ts +1 -0
  30. package/lib/components/super-form/index.d.ts +15 -0
  31. package/lib/components/super-form/super-form.vue.d.ts +1 -0
  32. package/lib/components/super-form/super-form.vue2.cjs +1 -1
  33. package/lib/components/super-form/types.d.ts +1 -0
  34. package/lib/components/super-form/use/helper.cjs +1 -1
  35. package/lib/components/upload/index.d.ts +72 -18
  36. package/lib/components/upload/types.d.ts +17 -2
  37. package/lib/components/upload/upload-content.vue.d.ts +10 -1
  38. package/lib/components/upload/upload-content.vue2.cjs +1 -1
  39. package/lib/components/upload/upload.vue.d.ts +22 -13
  40. package/lib/components/upload/upload.vue2.cjs +1 -1
  41. package/lib/components/upload/use-handlers.cjs +1 -1
  42. package/lib/package.json.cjs +1 -1
  43. package/lib/package.json.d.ts +1 -1
  44. package/package.json +5 -5
  45. package/theme-style/index.css +1 -1
  46. package/theme-style/src/checkbox.scss +46 -45
  47. package/theme-style/vft-checkbox.css +1 -1
  48. package/web-types.json +1 -1
@@ -4,6 +4,10 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
4
4
  type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
5
5
  default: string;
6
6
  };
7
+ labelPosition: {
8
+ type: import("vue").PropType<"top" | "left" | "right">;
9
+ default: string;
10
+ };
7
11
  showResetButton: {
8
12
  type: import("vue").PropType<boolean>;
9
13
  default: boolean;
@@ -141,6 +145,7 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
141
145
  "field-value-change": () => void;
142
146
  }, import("vue").PublicProps, {
143
147
  size: import("vft/es/constants").ComponentSize;
148
+ labelPosition: "left" | "right" | "top";
144
149
  showResetButton: boolean;
145
150
  showSubmitButton: boolean;
146
151
  showCommonButton: boolean;
@@ -166,6 +171,10 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
166
171
  type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
167
172
  default: string;
168
173
  };
174
+ labelPosition: {
175
+ type: import("vue").PropType<"top" | "left" | "right">;
176
+ default: string;
177
+ };
169
178
  showResetButton: {
170
179
  type: import("vue").PropType<boolean>;
171
180
  default: boolean;
@@ -298,6 +307,7 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
298
307
  formModel: import("vue").ComputedRef<import("../types").Recordable>;
299
308
  }, {}, {}, {}, {
300
309
  size: import("vft/es/constants").ComponentSize;
310
+ labelPosition: "left" | "right" | "top";
301
311
  showResetButton: boolean;
302
312
  showSubmitButton: boolean;
303
313
  showCommonButton: boolean;
@@ -320,6 +330,10 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
320
330
  type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
321
331
  default: string;
322
332
  };
333
+ labelPosition: {
334
+ type: import("vue").PropType<"top" | "left" | "right">;
335
+ default: string;
336
+ };
323
337
  showResetButton: {
324
338
  type: import("vue").PropType<boolean>;
325
339
  default: boolean;
@@ -457,6 +471,7 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
457
471
  "field-value-change": () => void;
458
472
  }, string, {
459
473
  size: import("vft/es/constants").ComponentSize;
474
+ labelPosition: "left" | "right" | "top";
460
475
  showResetButton: boolean;
461
476
  showSubmitButton: boolean;
462
477
  showCommonButton: boolean;
@@ -79,6 +79,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
79
79
  "onField-value-change"?: (() => any) | undefined;
80
80
  }>, {
81
81
  size: import("vft/es/constants").ComponentSize;
82
+ labelPosition: "left" | "right" | "top";
82
83
  showResetButton: boolean;
83
84
  showSubmitButton: boolean;
84
85
  showCommonButton: boolean;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),U=require("../col/index.cjs"),W=require("../form/index.cjs"),J=require("../row/index.cjs"),D=require("@vueuse/core"),m=require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const Q=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const X=require("./super-form-action.vue2.cjs"),Y=require("./super-form-item.vue2.cjs"),Z=require("./use/use-auto-focus.cjs"),ee=require("./use/use-form-context.cjs"),te=require("./use/use-form-events.cjs"),oe=require("./use/use-form-values.cjs"),ne=e.defineComponent({name:"vft-super-form"}),re=e.defineComponent({...ne,props:{size:{default:"default"},rowProps:{default:{gutter:20}},baseColProps:{},quickColSpan:{default:3},autoSetPlaceHolder:{type:Boolean,default:!0},schemas:{},autoFocusFirstItem:{type:Boolean,default:!1},submitOnReset:{type:Boolean},mergeDynamicData:{},fieldMapToTime:{},autoSubmitOnEnter:{type:Boolean,default:!0},rulesMessageJoinLabel:{type:Boolean,default:!0},submitOnChange:{type:Boolean},showActionButtonGroup:{type:Boolean,default:!0},autoCleanErrorMessage:{type:Boolean},beforeSubmitFunc:{},submitFunc:{},watchDataIsChange:{type:Boolean},compFullWidth:{type:Boolean,default:!1},actionInline:{type:Boolean,default:!1},resetFunc:{},customLayout:{type:Boolean,default:!1},showResetButton:{type:Boolean,default:!1},showSubmitButton:{type:Boolean,default:!0},showCommonButton:{type:Boolean,default:!1},resetButtonOptions:{},submitButtonOptions:{},commonButtonOptions:{},actionRowOptions:{},inputMaxLength:{},submitResetReverse:{type:Boolean},disabled:{type:Boolean},model:{},rules:{},labelPosition:{default:"right"},requireAsteriskPosition:{default:"left"},labelWidth:{default:"auto"},labelSuffix:{},inline:{type:Boolean},inlineMessage:{type:Boolean},statusIcon:{type:Boolean},showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:!1},scrollToError:{type:Boolean},scrollIntoViewOptions:{type:Boolean}},emits:["register","reset","submit","field-value-change"],setup(x,{expose:T,emit:L}){const $=Q.useNamespace("super-form"),F=x,k=L,N=e.useAttrs(),s=e.reactive({}),p=e.ref({}),i=e.ref(!1),c=e.ref({}),w=e.ref(),d=e.ref(null),C=e.ref(),o=e.computed(()=>({...F,...e.unref(c)})),a=e.computed(()=>({...N,...F,...e.unref(o)})),u=e.computed(()=>{const t=e.unref(w);return m.cloneDeep(t)}),{handleFormValues:S,initDefault:q}=oe.useFormValues({getProps:o,defaultValueRef:p,getSchema:u,formModel:s});Z.useAutoFocus({getSchema:u,getProps:o,isInitedDefault:i,formElRef:d});const{handleSubmit:l,setFieldsValue:B,clearValidate:_,validate:R,validateField:P,getFieldsValue:h,updateSchema:v,resetSchema:f,appendSchemaByField:A,removeSchemaByField:O,resetFields:y,scrollToField:G,getFieldValue:V}=te.useFormEvents({emit:k,getProps:o,formModel:s,getSchema:u,defaultValueRef:p,formElRef:d,schemaRef:w,handleFormValues:S,initValues:C});ee.createFormContext({resetAction:y,submitAction:l}),e.watch(()=>e.unref(o).model,()=>{const{model:t}=e.unref(o);t&&B(t)},{immediate:!0}),e.watch(()=>e.unref(o).schemas,(t,n)=>{m.isEqual(t,n)||f(t??[])}),e.watch(()=>u.value,t=>{e.nextTick(()=>{}),!e.unref(i)&&t?.length&&(q(),i.value=!0,o.value?.watchDataIsChange&&D.useTimeoutFn(()=>{C.value=h()},40))}),e.watch(()=>s,D.useDebounceFn(()=>{e.unref(o).submitOnChange&&l()},300),{deep:!0});async function E(t){c.value=m.deepMerge(e.unref(c)||{},t),i.value||(f(c.value?.schemas??[]),q())}function z(t,n,r){s[t]=n,r&&r.itemProps}function H(t){const{autoSubmitOnEnter:n}=e.unref(o);if(n&&t.key==="Enter"&&t.target&&t.target instanceof HTMLElement){const r=t.target;r&&r.tagName&&r.tagName.toUpperCase()==="INPUT"&&l()}}const M={getFieldsValue:h,getFieldValue:V,setFieldsValue:B,resetFields:y,updateSchema:v,resetSchema:f,setProps:E,removeSchemaByField:O,appendSchemaByField:A,clearValidate:_,validateField:P,validate:R,submit:l,scrollToField:G};k("register",M);const j=e.computed(()=>m.pick(o.value,["showResetButton","showCommonButton","showSubmitButton","resetButtonOptions","submitButtonOptions","commonButtonOptions","actionRowOptions","actionSpan","submitResetReverse"])),g=e.useSlots(),b=t=>t?e.h(X.default,j.value,{resetBefore:n=>g.resetBefore?.(n),submitBefore:n=>g.submitBefore?.(n),submitAfter:n=>g.submitAfter?.(n)}):null;return T({getFieldsValue:h,getFieldValue:V,setFieldsValue:B,resetFields:y,updateSchema:v,resetSchema:f,setProps:E,removeSchemaByField:O,appendSchemaByField:A,clearValidate:_,validateField:P,validate:R,submit:l,getSchema:u,formModel:e.computed(()=>S(s))}),(t,n)=>u.value?.length?(e.openBlock(),e.createBlock(e.unref(W.VftForm),e.mergeProps({key:0},a.value,{ref_key:"formElRef",ref:d,class:e.unref($).b(),model:s,onSubmit:n[0]||(n[0]=e.withModifiers(()=>{},["prevent"])),onKeypress:e.withKeys(H,["enter"])}),{default:e.withCtx(()=>[u.value?.length?(e.openBlock(),e.createBlock(e.unref(J.VftRow),e.normalizeProps(e.mergeProps({key:0},a.value?.rowProps)),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"formHeader"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,r=>(e.openBlock(),e.createBlock(Y.default,{key:r.field,"form-action-type":M,schema:r,"form-props":o.value,"all-default-values":p.value,"form-model":s,"set-form-model":z,"update-schema":e.unref(v)},e.createSlots({_:2},[e.renderList(Object.keys(t.$slots),I=>({name:I,fn:e.withCtx(K=>[e.renderSlot(t.$slots,I,e.mergeProps({ref_for:!0},K||{}))])}))]),1032,["schema","form-props","all-default-values","form-model","update-schema"]))),128)),o.value?.customLayout?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b(o.value?.showActionButtonGroup&&o.value?.actionInline)),{key:1})):(e.openBlock(),e.createBlock(e.unref(U.VftCol),e.normalizeProps(e.mergeProps({key:0},a.value?.quickColSpan?{span:Math.ceil(24/a.value?.quickColSpan),...a.value?.baseColProps}:{})),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b(o.value?.showActionButtonGroup&&o.value?.actionInline))))]),_:1},16))]),_:3},16)):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b(o.value?.showActionButtonGroup&&!o.value?.actionInline)))),e.renderSlot(t.$slots,"formFooter")]),_:3},16,["class","model"])):e.createCommentVNode("",!0)}});exports.default=re;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),U=require("../col/index.cjs"),W=require("../form/index.cjs"),J=require("../row/index.cjs"),D=require("@vueuse/core"),m=require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const Q=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const X=require("./super-form-action.vue2.cjs"),Y=require("./super-form-item.vue2.cjs"),Z=require("./use/use-auto-focus.cjs"),ee=require("./use/use-form-context.cjs"),te=require("./use/use-form-events.cjs"),oe=require("./use/use-form-values.cjs"),ne=e.defineComponent({name:"vft-super-form"}),re=e.defineComponent({...ne,props:{size:{default:"default"},rowProps:{default:{gutter:20}},baseColProps:{},quickColSpan:{default:3},autoSetPlaceHolder:{type:Boolean,default:!0},schemas:{},autoFocusFirstItem:{type:Boolean,default:!1},submitOnReset:{type:Boolean},mergeDynamicData:{},fieldMapToTime:{},autoSubmitOnEnter:{type:Boolean,default:!0},rulesMessageJoinLabel:{type:Boolean,default:!0},submitOnChange:{type:Boolean},showActionButtonGroup:{type:Boolean,default:!0},autoCleanErrorMessage:{type:Boolean},beforeSubmitFunc:{},submitFunc:{},watchDataIsChange:{type:Boolean},compFullWidth:{type:Boolean,default:!1},actionInline:{type:Boolean,default:!1},resetFunc:{},customLayout:{type:Boolean,default:!1},showResetButton:{type:Boolean,default:!1},showSubmitButton:{type:Boolean,default:!0},showCommonButton:{type:Boolean,default:!1},resetButtonOptions:{},submitButtonOptions:{},commonButtonOptions:{},actionRowOptions:{},inputMaxLength:{},submitResetReverse:{type:Boolean},labelPosition:{default:"right"},disabled:{type:Boolean},model:{},rules:{},requireAsteriskPosition:{default:"left"},labelWidth:{default:"auto"},labelSuffix:{},inline:{type:Boolean},inlineMessage:{type:Boolean},statusIcon:{type:Boolean},showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:!1},scrollToError:{type:Boolean},scrollIntoViewOptions:{type:Boolean}},emits:["register","reset","submit","field-value-change"],setup(x,{expose:T,emit:L}){const $=Q.useNamespace("super-form"),F=x,k=L,N=e.useAttrs(),s=e.reactive({}),p=e.ref({}),i=e.ref(!1),c=e.ref({}),w=e.ref(),d=e.ref(null),C=e.ref(),o=e.computed(()=>({...F,...e.unref(c)})),a=e.computed(()=>({...N,...F,...e.unref(o)})),u=e.computed(()=>{const t=e.unref(w);return m.cloneDeep(t)}),{handleFormValues:S,initDefault:q}=oe.useFormValues({getProps:o,defaultValueRef:p,getSchema:u,formModel:s});Z.useAutoFocus({getSchema:u,getProps:o,isInitedDefault:i,formElRef:d});const{handleSubmit:l,setFieldsValue:B,clearValidate:_,validate:R,validateField:P,getFieldsValue:h,updateSchema:v,resetSchema:f,appendSchemaByField:A,removeSchemaByField:O,resetFields:y,scrollToField:G,getFieldValue:V}=te.useFormEvents({emit:k,getProps:o,formModel:s,getSchema:u,defaultValueRef:p,formElRef:d,schemaRef:w,handleFormValues:S,initValues:C});ee.createFormContext({resetAction:y,submitAction:l}),e.watch(()=>e.unref(o).model,()=>{const{model:t}=e.unref(o);t&&B(t)},{immediate:!0}),e.watch(()=>e.unref(o).schemas,(t,n)=>{m.isEqual(t,n)||f(t??[])}),e.watch(()=>u.value,t=>{e.nextTick(()=>{}),!e.unref(i)&&t?.length&&(q(),i.value=!0,o.value?.watchDataIsChange&&D.useTimeoutFn(()=>{C.value=h()},40))}),e.watch(()=>s,D.useDebounceFn(()=>{e.unref(o).submitOnChange&&l()},300),{deep:!0});async function E(t){c.value=m.deepMerge(e.unref(c)||{},t),i.value||(f(c.value?.schemas??[]),q())}function z(t,n,r){s[t]=n,r&&r.itemProps}function H(t){const{autoSubmitOnEnter:n}=e.unref(o);if(n&&t.key==="Enter"&&t.target&&t.target instanceof HTMLElement){const r=t.target;r&&r.tagName&&r.tagName.toUpperCase()==="INPUT"&&l()}}const M={getFieldsValue:h,getFieldValue:V,setFieldsValue:B,resetFields:y,updateSchema:v,resetSchema:f,setProps:E,removeSchemaByField:O,appendSchemaByField:A,clearValidate:_,validateField:P,validate:R,submit:l,scrollToField:G};k("register",M);const j=e.computed(()=>m.pick(o.value,["showResetButton","showCommonButton","showSubmitButton","resetButtonOptions","submitButtonOptions","commonButtonOptions","actionRowOptions","actionSpan","submitResetReverse"])),g=e.useSlots(),b=t=>t?e.h(X.default,j.value,{resetBefore:n=>g.resetBefore?.(n),submitBefore:n=>g.submitBefore?.(n),submitAfter:n=>g.submitAfter?.(n)}):null;return T({getFieldsValue:h,getFieldValue:V,setFieldsValue:B,resetFields:y,updateSchema:v,resetSchema:f,setProps:E,removeSchemaByField:O,appendSchemaByField:A,clearValidate:_,validateField:P,validate:R,submit:l,getSchema:u,formModel:e.computed(()=>S(s))}),(t,n)=>u.value?.length?(e.openBlock(),e.createBlock(e.unref(W.VftForm),e.mergeProps({key:0},a.value,{ref_key:"formElRef",ref:d,class:e.unref($).b(),model:s,onSubmit:n[0]||(n[0]=e.withModifiers(()=>{},["prevent"])),onKeypress:e.withKeys(H,["enter"])}),{default:e.withCtx(()=>[u.value?.length?(e.openBlock(),e.createBlock(e.unref(J.VftRow),e.normalizeProps(e.mergeProps({key:0},a.value?.rowProps)),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"formHeader"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,r=>(e.openBlock(),e.createBlock(Y.default,{key:r.field,"form-action-type":M,schema:r,"form-props":o.value,"all-default-values":p.value,"form-model":s,"set-form-model":z,"update-schema":e.unref(v)},e.createSlots({_:2},[e.renderList(Object.keys(t.$slots),I=>({name:I,fn:e.withCtx(K=>[e.renderSlot(t.$slots,I,e.mergeProps({ref_for:!0},K||{}))])}))]),1032,["schema","form-props","all-default-values","form-model","update-schema"]))),128)),o.value?.customLayout?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b(o.value?.showActionButtonGroup&&o.value?.actionInline)),{key:1})):(e.openBlock(),e.createBlock(e.unref(U.VftCol),e.normalizeProps(e.mergeProps({key:0},a.value?.quickColSpan?{span:Math.ceil(24/a.value?.quickColSpan),...a.value?.baseColProps}:{})),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b(o.value?.showActionButtonGroup&&o.value?.actionInline))))]),_:1},16))]),_:3},16)):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b(o.value?.showActionButtonGroup&&!o.value?.actionInline)))),e.renderSlot(t.$slots,"formFooter")]),_:3},16,["class","model"])):e.createCommentVNode("",!0)}});exports.default=re;
@@ -174,6 +174,7 @@ export interface SuperFormProps extends FormInnerProps {
174
174
  inputMaxLength?: number;
175
175
  /** 重置与提交按钮互换位置 */
176
176
  submitResetReverse?: boolean;
177
+ labelPosition?: 'left' | 'right' | 'top';
177
178
  }
178
179
  /** 表单配置模式接口 */
179
180
  export interface FormSchema {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../alert/index.cjs");require("../../avatar/index.cjs");require("../../avatar-stack/index.cjs");require("../../backtop/index.cjs");require("../../button/index.cjs");require("../../card/index.cjs");require("../../cascader/index.cjs");require("../../cascader-panel/index.cjs");require("../../check-tag/index.cjs");require("../../checkbox/index.cjs");require("../../clamp/index.cjs");require("../../clamp-toggle/index.cjs");require("../../clamp-tooltip/index.cjs");require("../../col/index.cjs");require("../../collapse-transition/index.cjs");require("../../color-picker/index.cjs");require("../../config-provider/index.cjs");require("../../container/index.cjs");const i=require("@vft/utils");require("vue");require("../../context-menu/context-menu.vue2.cjs");require("../../icon/index.cjs");require("../../date-picker/index.cjs");require("../../date-time-select/index.cjs");require("../../descriptions/index.cjs");require("../../dialog/index.cjs");require("../../divider/index.cjs");require("../../drawer/index.cjs");require("../../dropdown/index.cjs");require("../../empty/index.cjs");require("../../footer-layout/index.cjs");require("../../form/index.cjs");require("../../full-screen/index.cjs");require("../../header-layout/index.cjs");require("../../horizontal-menu/index.cjs");require("../../icon-text/index.cjs");require("../../iframe-layout/index.cjs");require("../../image/index.cjs");require("../../image-viewer/index.cjs");require("../../input/index.cjs");require("../../input-number/index.cjs");require("../../link/index.cjs");require("../../list-cell/index.cjs");require("../../logo/index.cjs");require("../../menu/index.cjs");require("../../multiple-tabs/index.cjs");require("../../notification/index.cjs");require("../../overlay/index.cjs");require("../../page-wrapper/index.cjs");require("../../pagination/index.cjs");require("../../popconfirm/index.cjs");require("../../popover/index.cjs");require("../../popper/index.cjs");require("../../qrcode/index.cjs");require("../../radio/index.cjs");require("../../result/index.cjs");require("../../router-view-content/index.cjs");require("../../row/index.cjs");require("../../scrollbar/index.cjs");require("../../search/index.cjs");require("../../select/index.cjs");require("../../side-menu/index.cjs");require("../../skeleton/index.cjs");require("../../slider/index.cjs");require("../../space/index.cjs");require("../../steps/index.cjs");require("../../switch/index.cjs");require("../../table/index.cjs");require("../../tabs/index.cjs");require("../../tag/index.cjs");require("../../time-picker/index.cjs");require("../../tooltip/index.cjs");require("../../tree/index.cjs");require("../../verify-code/index.cjs");require("../../virtual-list/components/fixed-size-list.cjs");require("../../virtual-list/components/dynamic-size-list.cjs");require("../../virtual-list/components/fixed-size-grid.cjs");require("../../virtual-list/components/dynamic-size-grid.cjs");require("../../virtual-list/props.cjs");require("../../autocomplete/index.cjs");require("../../breadcrumb/index.cjs");require("../../carousel/index.cjs");require("../../collapse/index.cjs");require("../../countdown/index.cjs");require("../../input-tag/index.cjs");require("../../modal/index.cjs");require("../../progress/index.cjs");require("../../segmented/index.cjs");require("../../statistic/index.cjs");require("../index.cjs");require("../../timeline/index.cjs");require("../../transfer/index.cjs");require("../../upload/index.cjs");require("../../watermark/index.cjs");require("../../md-code-demo/index.cjs");require("../../md-code-tabs/index.cjs");require("../../md-comment/index.cjs");require("../../md-container/index.cjs");require("../../md-tabs/index.cjs");require("../../md-vue-playground/index.cjs");require("../../infinite-scroll/index.cjs");require("@vueuse/core");require("../../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../../hooks/use-z-index/index.cjs");require("../../message/index.cjs");require("../../progress-i/index.cjs");const r=require("../component-map.cjs");function q(e,u=""){return u=(u||"").replace(":",""),[r.FormCompEnum.INPUT,r.FormCompEnum.INPUT_NUMBER,r.FormCompEnum.TEXTAREA,r.FormCompEnum.AUTOCOMPLETE].includes(e)?"请输入"+u:[r.FormCompEnum.PASSWORD].includes(e)?"请输入密码":[r.FormCompEnum.SELECT,r.FormCompEnum.RADIO,r.FormCompEnum.Cascader,r.FormCompEnum.ColorPicker].includes(e)?"请选择"+u:[r.FormCompEnum.SEARCH].includes(e)?"请输入要搜索的内容":[r.FormCompEnum.INPUT_TAG].includes(e)?"请输入标签内容":[r.FormCompEnum.Upload].includes(e)?"请选择上传文件":[r.FormCompEnum.Slider].includes(e)?"请拖动滑块":[r.FormCompEnum.TIME_PICKER,r.FormCompEnum.YEAR_PICKER,r.FormCompEnum.MONTH_PICKER,r.FormCompEnum.DATE_PICKER,r.FormCompEnum.DATES_PICKER,r.FormCompEnum.DATETIME_PICKER,r.FormCompEnum.WEEK_PICKER,r.FormCompEnum.DATETIMERANGE_PICKER,r.FormCompEnum.DATERANGE_PICKER,r.FormCompEnum.MONTHRANGE_PICKER].includes(e)?"请选择时间":""}function m(e,u){return e&&r.isInput(e)&&u&&i.isNumber(u)?`${u}`:u}exports.createPlaceholderMessage=q;exports.handleInputNumberValue=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@vft/utils"),m=require("../component-map.cjs");function n(r,o=""){if(o=(o||"").replace(":",""),[m.FormCompEnum.INPUT,m.FormCompEnum.INPUT_NUMBER,m.FormCompEnum.TEXTAREA,m.FormCompEnum.AUTOCOMPLETE].includes(r))return"请输入"+o;if([m.FormCompEnum.PASSWORD].includes(r))return"请输入密码";if([m.FormCompEnum.SELECT,m.FormCompEnum.RADIO,m.FormCompEnum.RADIO_SINGLE,m.FormCompEnum.RADIO_BUTTON,m.FormCompEnum.Cascader,m.FormCompEnum.ColorPicker,m.FormCompEnum.CHECKBOX,m.FormCompEnum.CHECKBOX_BUTTON].includes(r))return"请选择"+o;if([m.FormCompEnum.CHECKBOX_SINGLE].includes(r))return"请勾选"+o;if(![m.FormCompEnum.INPUT_TAG].includes(r)){if([m.FormCompEnum.SEARCH].includes(r))return"请输入要搜索的内容";if([m.FormCompEnum.INPUT_TAG].includes(r))return"请输入标签内容";if([m.FormCompEnum.Upload].includes(r))return"请选择上传文件";if([m.FormCompEnum.Slider].includes(r))return"请拖动滑块";if([m.FormCompEnum.TIME_PICKER,m.FormCompEnum.YEAR_PICKER,m.FormCompEnum.MONTH_PICKER,m.FormCompEnum.DATE_PICKER,m.FormCompEnum.DATES_PICKER,m.FormCompEnum.DATETIME_PICKER,m.FormCompEnum.WEEK_PICKER,m.FormCompEnum.DATETIMERANGE_PICKER,m.FormCompEnum.DATERANGE_PICKER,m.FormCompEnum.MONTHRANGE_PICKER].includes(r))return"请选择时间"}return""}function E(r,o){return r&&m.isInput(r)&&o&&u.isNumber(o)?`${o}`:o}exports.createPlaceholderMessage=n;exports.handleInputNumberValue=E;
@@ -14,7 +14,7 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
14
14
  type: import("vue").PropType<(evt: import("./types").UploadProgressEvent, uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
15
15
  };
16
16
  onChange: {
17
- type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
17
+ type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles, uploadInstance?: any) => void>;
18
18
  };
19
19
  onError: {
20
20
  type: import("vue").PropType<(error: Error, uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
@@ -42,6 +42,10 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
42
42
  type: import("vue").PropType<string>;
43
43
  default: string;
44
44
  };
45
+ fileList: {
46
+ type: import("vue").PropType<import("./types").UploadUserFile[]>;
47
+ default: never[];
48
+ };
45
49
  withCredentials: {
46
50
  type: import("vue").PropType<boolean>;
47
51
  };
@@ -53,10 +57,6 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
53
57
  type: import("vue").PropType<string>;
54
58
  default: string;
55
59
  };
56
- fileList: {
57
- type: import("vue").PropType<import("./types").UploadUserFile[]>;
58
- default: never[];
59
- };
60
60
  autoUpload: {
61
61
  type: import("vue").PropType<boolean>;
62
62
  default: boolean;
@@ -72,6 +72,18 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
72
72
  limit: {
73
73
  type: import("vue").PropType<number>;
74
74
  };
75
+ replaceOnLimit: {
76
+ type: import("vue").PropType<boolean>;
77
+ default: boolean;
78
+ };
79
+ maxSize: {
80
+ type: import("vue").PropType<number>;
81
+ default: undefined;
82
+ };
83
+ sizeExceedMessage: {
84
+ type: import("vue").PropType<string>;
85
+ default: string;
86
+ };
75
87
  beforeUpload: {
76
88
  type: import("vue").PropType<(rawFile: import("./types").UploadRawFile) => import("../types").Awaitable<void | undefined | null | boolean | File | Blob>>;
77
89
  };
@@ -85,6 +97,9 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
85
97
  type: import("vue").PropType<(files: File[], uploadFiles: import("./types").UploadUserFile[]) => void>;
86
98
  default: () => void;
87
99
  };
100
+ onSizeExceed: {
101
+ type: import("vue").PropType<(file: File, maxSize: number) => void>;
102
+ };
88
103
  beforeRemove: {
89
104
  type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => import("../types").Awaitable<boolean>>;
90
105
  };
@@ -147,12 +162,15 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
147
162
  method: string;
148
163
  multiple: boolean;
149
164
  action: string;
165
+ fileList: import("./types").UploadUserFile[];
150
166
  showFileList: boolean;
151
167
  accept: string;
152
- fileList: import("./types").UploadUserFile[];
153
168
  autoUpload: boolean;
154
169
  listType: import("./types").ListType;
155
170
  httpRequest: import("./types").UploadRequestHandler;
171
+ replaceOnLimit: boolean;
172
+ maxSize: number;
173
+ sizeExceedMessage: string;
156
174
  onExceed: import("./types").UploadHooks["onExceed"];
157
175
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
158
176
  P: {};
@@ -176,7 +194,7 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
176
194
  type: import("vue").PropType<(evt: import("./types").UploadProgressEvent, uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
177
195
  };
178
196
  onChange: {
179
- type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
197
+ type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles, uploadInstance?: any) => void>;
180
198
  };
181
199
  onError: {
182
200
  type: import("vue").PropType<(error: Error, uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
@@ -204,6 +222,10 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
204
222
  type: import("vue").PropType<string>;
205
223
  default: string;
206
224
  };
225
+ fileList: {
226
+ type: import("vue").PropType<import("./types").UploadUserFile[]>;
227
+ default: never[];
228
+ };
207
229
  withCredentials: {
208
230
  type: import("vue").PropType<boolean>;
209
231
  };
@@ -215,10 +237,6 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
215
237
  type: import("vue").PropType<string>;
216
238
  default: string;
217
239
  };
218
- fileList: {
219
- type: import("vue").PropType<import("./types").UploadUserFile[]>;
220
- default: never[];
221
- };
222
240
  autoUpload: {
223
241
  type: import("vue").PropType<boolean>;
224
242
  default: boolean;
@@ -234,6 +252,18 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
234
252
  limit: {
235
253
  type: import("vue").PropType<number>;
236
254
  };
255
+ replaceOnLimit: {
256
+ type: import("vue").PropType<boolean>;
257
+ default: boolean;
258
+ };
259
+ maxSize: {
260
+ type: import("vue").PropType<number>;
261
+ default: undefined;
262
+ };
263
+ sizeExceedMessage: {
264
+ type: import("vue").PropType<string>;
265
+ default: string;
266
+ };
237
267
  beforeUpload: {
238
268
  type: import("vue").PropType<(rawFile: import("./types").UploadRawFile) => import("../types").Awaitable<void | undefined | null | boolean | File | Blob>>;
239
269
  };
@@ -247,6 +277,9 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
247
277
  type: import("vue").PropType<(files: File[], uploadFiles: import("./types").UploadUserFile[]) => void>;
248
278
  default: () => void;
249
279
  };
280
+ onSizeExceed: {
281
+ type: import("vue").PropType<(file: File, maxSize: number) => void>;
282
+ };
250
283
  beforeRemove: {
251
284
  type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => import("../types").Awaitable<boolean>>;
252
285
  };
@@ -309,12 +342,15 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
309
342
  method: string;
310
343
  multiple: boolean;
311
344
  action: string;
345
+ fileList: import("./types").UploadUserFile[];
312
346
  showFileList: boolean;
313
347
  accept: string;
314
- fileList: import("./types").UploadUserFile[];
315
348
  autoUpload: boolean;
316
349
  listType: import("./types").ListType;
317
350
  httpRequest: import("./types").UploadRequestHandler;
351
+ replaceOnLimit: boolean;
352
+ maxSize: number;
353
+ sizeExceedMessage: string;
318
354
  onExceed: import("./types").UploadHooks["onExceed"];
319
355
  }>;
320
356
  __isFragment?: never;
@@ -335,7 +371,7 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
335
371
  type: import("vue").PropType<(evt: import("./types").UploadProgressEvent, uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
336
372
  };
337
373
  onChange: {
338
- type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
374
+ type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles, uploadInstance?: any) => void>;
339
375
  };
340
376
  onError: {
341
377
  type: import("vue").PropType<(error: Error, uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => void>;
@@ -363,6 +399,10 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
363
399
  type: import("vue").PropType<string>;
364
400
  default: string;
365
401
  };
402
+ fileList: {
403
+ type: import("vue").PropType<import("./types").UploadUserFile[]>;
404
+ default: never[];
405
+ };
366
406
  withCredentials: {
367
407
  type: import("vue").PropType<boolean>;
368
408
  };
@@ -374,10 +414,6 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
374
414
  type: import("vue").PropType<string>;
375
415
  default: string;
376
416
  };
377
- fileList: {
378
- type: import("vue").PropType<import("./types").UploadUserFile[]>;
379
- default: never[];
380
- };
381
417
  autoUpload: {
382
418
  type: import("vue").PropType<boolean>;
383
419
  default: boolean;
@@ -393,6 +429,18 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
393
429
  limit: {
394
430
  type: import("vue").PropType<number>;
395
431
  };
432
+ replaceOnLimit: {
433
+ type: import("vue").PropType<boolean>;
434
+ default: boolean;
435
+ };
436
+ maxSize: {
437
+ type: import("vue").PropType<number>;
438
+ default: undefined;
439
+ };
440
+ sizeExceedMessage: {
441
+ type: import("vue").PropType<string>;
442
+ default: string;
443
+ };
396
444
  beforeUpload: {
397
445
  type: import("vue").PropType<(rawFile: import("./types").UploadRawFile) => import("../types").Awaitable<void | undefined | null | boolean | File | Blob>>;
398
446
  };
@@ -406,6 +454,9 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
406
454
  type: import("vue").PropType<(files: File[], uploadFiles: import("./types").UploadUserFile[]) => void>;
407
455
  default: () => void;
408
456
  };
457
+ onSizeExceed: {
458
+ type: import("vue").PropType<(file: File, maxSize: number) => void>;
459
+ };
409
460
  beforeRemove: {
410
461
  type: import("vue").PropType<(uploadFile: import("./types").UploadFile, uploadFiles: import("./types").UploadFiles) => import("../types").Awaitable<boolean>>;
411
462
  };
@@ -468,12 +519,15 @@ export declare const VftUpload: import("vft/es/utils").SFCWithInstall<{
468
519
  method: string;
469
520
  multiple: boolean;
470
521
  action: string;
522
+ fileList: import("./types").UploadUserFile[];
471
523
  showFileList: boolean;
472
524
  accept: string;
473
- fileList: import("./types").UploadUserFile[];
474
525
  autoUpload: boolean;
475
526
  listType: import("./types").ListType;
476
527
  httpRequest: import("./types").UploadRequestHandler;
528
+ replaceOnLimit: boolean;
529
+ maxSize: number;
530
+ sizeExceedMessage: string;
477
531
  onExceed: import("./types").UploadHooks["onExceed"];
478
532
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
479
533
  $slots: {
@@ -38,12 +38,14 @@ export interface UploadHooks {
38
38
  beforeUpload: (rawFile: UploadRawFile) => Awaitable<void | undefined | null | boolean | File | Blob>;
39
39
  beforeRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => Awaitable<boolean>;
40
40
  onRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
41
- onChange: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
41
+ onChange: (uploadFile: UploadFile, uploadFiles: UploadFiles, uploadInstance?: any) => void;
42
42
  onPreview: (uploadFile: UploadFile) => void;
43
43
  onSuccess: (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
44
44
  onProgress: (evt: UploadProgressEvent, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
45
45
  onError: (error: Error, uploadFile: UploadFile, uploadFiles: UploadFiles) => void;
46
46
  onExceed: (files: File[], uploadFiles: UploadUserFile[]) => void;
47
+ /** 文件大小超出限制时的回调 */
48
+ onSizeExceed?: (file: File, maxSize: number) => void;
47
49
  }
48
50
  export interface UploadBasicProps {
49
51
  action?: string;
@@ -63,6 +65,12 @@ export interface UploadBasicProps {
63
65
  httpRequest?: UploadRequestHandler;
64
66
  disabled?: boolean;
65
67
  limit?: number;
68
+ /** 当 limit 为 1 时,是否覆盖之前的文件 */
69
+ replaceOnLimit?: boolean;
70
+ /** 文件大小限制(字节) */
71
+ maxSize?: number;
72
+ /** 超出文件大小时的提示信息 */
73
+ sizeExceedMessage?: string;
66
74
  }
67
75
  export interface UploadEventProps {
68
76
  beforeUpload?: UploadHooks['beforeUpload'];
@@ -74,6 +82,7 @@ export interface UploadEventProps {
74
82
  onProgress?: UploadHooks['onProgress'];
75
83
  onError?: UploadHooks['onError'];
76
84
  onExceed?: UploadHooks['onExceed'];
85
+ onSizeExceed?: UploadHooks['onSizeExceed'];
77
86
  }
78
87
  export interface UploadContentEventProps {
79
88
  beforeUpload?: UploadHooks['beforeUpload'];
@@ -83,9 +92,15 @@ export interface UploadContentEventProps {
83
92
  onProgress?: (evt: UploadProgressEvent, rawFile: UploadRawFile) => void;
84
93
  onError?: (err: UploadAjaxError, rawFile: UploadRawFile) => void;
85
94
  onExceed?: UploadHooks['onExceed'];
95
+ onSizeExceed?: UploadHooks['onSizeExceed'];
96
+ }
97
+ export interface UploadContentBasicProps extends Omit<UploadBasicProps, 'fileList'> {
98
+ fileList?: UploadUserFile[];
99
+ /** 当 limit 为 1 时,是否覆盖之前的文件 */
100
+ replaceOnLimit?: boolean;
86
101
  }
87
102
  export type UploadProps = UploadBasicProps & UploadEventProps;
88
- export type UploadContentProps = UploadBasicProps & UploadContentEventProps;
103
+ export type UploadContentProps = UploadContentBasicProps & UploadContentEventProps;
89
104
  export type UploadContentInstance = InstanceType<typeof UploadContent>;
90
105
  export interface UploadDraggerProps {
91
106
  disabled?: boolean;
@@ -15,6 +15,9 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
15
15
  listType: string;
16
16
  httpRequest: import("./types").UploadRequestHandler;
17
17
  fileList: never[];
18
+ replaceOnLimit: boolean;
19
+ maxSize: undefined;
20
+ sizeExceedMessage: string;
18
21
  }>>, {
19
22
  abort: (file?: UploadFile) => void;
20
23
  upload: (rawFile: UploadRawFile) => Promise<void>;
@@ -31,6 +34,9 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
31
34
  listType: string;
32
35
  httpRequest: import("./types").UploadRequestHandler;
33
36
  fileList: never[];
37
+ replaceOnLimit: boolean;
38
+ maxSize: undefined;
39
+ sizeExceedMessage: string;
34
40
  }>>> & Readonly<{}>, {
35
41
  drag: boolean;
36
42
  name: string;
@@ -38,12 +44,15 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
38
44
  method: string;
39
45
  multiple: boolean;
40
46
  action: string;
47
+ fileList: import("./types").UploadUserFile[];
41
48
  showFileList: boolean;
42
49
  accept: string;
43
- fileList: import("./types").UploadUserFile[];
44
50
  autoUpload: boolean;
45
51
  listType: import("./types").ListType;
46
52
  httpRequest: import("./types").UploadRequestHandler;
53
+ replaceOnLimit: boolean;
54
+ maxSize: number;
55
+ sizeExceedMessage: string;
47
56
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
48
57
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
49
58
  export default _default;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue");require("@vueuse/core");const q=require("@vft/utils"),M=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const b=require("lodash-es");require("../form/index.cjs");const O=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const I=require("./ajax.cjs"),K=require("./constants.cjs"),L=require("./upload-dragger.vue2.cjs"),T=require("../form/hooks/use-form-common-props.cjs"),x=require("../form/hooks/use-form-item.cjs"),z=["onKeydown"],A=["name","multiple","accept"],F=t.defineComponent({name:"VftUploadContent",inheritAttrs:!1}),N=t.defineComponent({...F,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:I.ajaxUpload},disabled:{type:Boolean},limit:{},beforeUpload:{},onRemove:{},onStart:{},onSuccess:{},onProgress:{},onError:{},onExceed:{}},setup(E,{expose:S}){const a=E,c=O.useNamespace("upload"),v=T.useFormDisabled(),{formItem:R}=x.useFormItem(),r=t.shallowRef({}),f=t.shallowRef(),_=e=>{if(e.length===0)return;const{autoUpload:o,limit:n,fileList:s,multiple:l,onStart:i,onExceed:p}=a;if(n&&s.length+e.length>n){p(e,s);return}l||(e=e.slice(0,1));for(const m of e){const u=m;u.uid=K.genFileId(),i(u),o&&C(u)}},C=async e=>{if(f.value.value="",!a.beforeUpload)return k(e);let o,n={};try{const l=a.data,i=a.beforeUpload(e);n=q.isObject(a.data)?b.cloneDeep(a.data):a.data,o=await i,q.isObject(a.data)&&b.isEqual(l,n)&&(n=b.cloneDeep(a.data))}catch{o=!1}if(o===!1){a.onRemove(e);return}let s=e;o instanceof Blob&&(o instanceof File?s=o:s=new File([o],e.name,{type:e.type})),k(Object.assign(s,{uid:e.uid}),n)},k=(e,o)=>{const{headers:n,data:s,method:l,withCredentials:i,name:p,action:m,onProgress:u,onSuccess:j,onError:D,httpRequest:w}=a,{uid:h}=e,y={headers:n||{},withCredentials:i,file:e,data:o??s,method:l,filename:p,action:m,onProgress:d=>{u(d,e)},onSuccess:d=>{j(d,e),delete r.value[h]},onError:d=>{D(d,e),delete r.value[h]}},g=w(y);r.value[h]=g,g instanceof Promise&&g.then(y.onSuccess,y.onError)},U=e=>{const o=e.target.files;o&&(_(Array.from(o)),t.nextTick(()=>{R?.validate("change").catch(n=>M.debugWarn(n))}))},B=()=>{v.value||(f.value.value="",f.value.click())},P=()=>{B()};return S({abort:e=>{q.entriesOf(r.value).filter(e?([n])=>String(e.uid)===n:()=>!0).forEach(([n,s])=>{s instanceof XMLHttpRequest&&s.abort(),delete r.value[n]})},upload:C}),(e,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass([t.unref(c).b(),t.unref(c).m(e.listType),t.unref(c).is("drag",e.drag)]),tabindex:"0",onClick:B,onKeydown:t.withKeys(t.withModifiers(P,["self"]),["enter","space"])},[e.drag?(t.openBlock(),t.createBlock(L.default,{key:0,disabled:t.unref(v),onFile:_},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"default")]),_:3},8,["disabled"])):t.renderSlot(e.$slots,"default",{key:1}),t.createElementVNode("input",{ref_key:"inputRef",ref:f,class:t.normalizeClass(t.unref(c).e("input")),name:e.name,multiple:e.multiple,accept:e.accept,type:"file",onChange:U,onClick:o[0]||(o[0]=t.withModifiers(()=>{},["stop"]))},null,42,A)],42,z))}});exports.default=N;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue");require("../form/index.cjs");require("../message/index.cjs");require("@vueuse/core");const v=require("@vft/utils"),P=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const E=require("lodash-es"),j=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const D=require("./ajax.cjs"),L=require("./constants.cjs"),w=require("./upload-dragger.vue2.cjs"),I=require("../form/hooks/use-form-common-props.cjs"),K=require("../form/hooks/use-form-item.cjs"),T=["onKeydown"],F=["name","multiple","accept"],A=t.defineComponent({name:"VftUploadContent",inheritAttrs:!1}),N=t.defineComponent({...A,props:{fileList:{default:[]},replaceOnLimit:{type:Boolean,default:!1},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"},autoUpload:{type:Boolean,default:!1},listType:{default:"text"},httpRequest:{type:Function,default:D.ajaxUpload},disabled:{type:Boolean},limit:{},maxSize:{default:void 0},sizeExceedMessage:{default:"文件大小超出限制"},beforeUpload:{},onRemove:{},onStart:{},onSuccess:{},onProgress:{},onError:{},onExceed:{},onSizeExceed:{}},setup(R,{expose:x}){const s=R,p=j.useNamespace("upload"),S=I.useFormDisabled(),{formItem:U}=K.useFormItem(),u=t.shallowRef({}),m=t.shallowRef(),C=e=>{if(e.length===0)return;const{autoUpload:o,limit:n,fileList:r,multiple:d,onStart:c,onExceed:g,replaceOnLimit:y,maxSize:l,sizeExceedMessage:z,onSizeExceed:h}=s;if(l){const i=e.filter(a=>a.size>l);if(i.length>0&&(i.forEach(a=>{h&&h(a,l)}),e=e.filter(a=>a.size<=l),e.length===0))return}if(n&&r.length+e.length>n&&!(n===1&&y)){g(e,r);return}d||(e=e.slice(0,1));for(const i of e){const a=i;a.uid=L.genFileId(),c(a),o&&k(a)}},k=async e=>{if(m.value.value="",!s.beforeUpload)return _(e);let o,n={};try{const d=s.data,c=s.beforeUpload(e);n=v.isObject(s.data)?E.cloneDeep(s.data):s.data,o=await c,v.isObject(s.data)&&E.isEqual(d,n)&&(n=E.cloneDeep(s.data))}catch{o=!1}if(o===!1){s.onRemove(e);return}let r=e;o instanceof Blob&&(o instanceof File?r=o:r=new File([o],e.name,{type:e.type})),_(Object.assign(r,{uid:e.uid}),n)},_=(e,o)=>{const{headers:n,data:r,method:d,withCredentials:c,name:g,action:y,onProgress:l,onSuccess:z,onError:h,httpRequest:i}=s,{uid:a}=e,q={headers:n||{},withCredentials:c,file:e,data:o??r,method:d,filename:g,action:y,onProgress:f=>{l(f,e)},onSuccess:f=>{z(f,e),delete u.value[a]},onError:f=>{h(f,e),delete u.value[a]}},b=i(q);u.value[a]=b,b instanceof Promise&&b.then(q.onSuccess,q.onError)},M=e=>{const o=e.target.files;o&&(C(Array.from(o)),t.nextTick(()=>{U?.validate("change").catch(n=>P.debugWarn(n))}))},B=()=>{S.value||(m.value.value="",m.value.click())},O=()=>{B()};return x({abort:e=>{v.entriesOf(u.value).filter(e?([n])=>String(e.uid)===n:()=>!0).forEach(([n,r])=>{r instanceof XMLHttpRequest&&r.abort(),delete u.value[n]})},upload:k}),(e,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass([t.unref(p).b(),t.unref(p).m(e.listType),t.unref(p).is("drag",e.drag)]),tabindex:"0",onClick:B,onKeydown:t.withKeys(t.withModifiers(O,["self"]),["enter","space"])},[e.drag?(t.openBlock(),t.createBlock(w.default,{key:0,disabled:t.unref(S),onFile:o[0]||(o[0]=n=>C(n.file))},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"default")]),_:3},8,["disabled"])):t.renderSlot(e.$slots,"default",{key:1}),t.createElementVNode("input",{ref_key:"inputRef",ref:m,class:t.normalizeClass(t.unref(p).e("input")),name:e.name,multiple:e.multiple,accept:e.accept,type:"file",onChange:M,onClick:o[1]||(o[1]=t.withModifiers(()=>{},["stop"]))},null,42,F)],42,T))}});exports.default=N;
@@ -1,7 +1,7 @@
1
1
  import type { UploadProps } from './types';
2
2
  declare function __VLS_template(): {
3
3
  file?(_: {
4
- file: import("./types").UploadFile;
4
+ file: import("vft/es/components").UploadFile;
5
5
  }): any;
6
6
  trigger?(_: {}): any;
7
7
  default?(_: {}): any;
@@ -18,19 +18,22 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
18
18
  type: string;
19
19
  autoUpload: boolean;
20
20
  listType: string;
21
- httpRequest: import("./types").UploadRequestHandler;
21
+ httpRequest: import("vft/es/components").UploadRequestHandler;
22
22
  fileList: never[];
23
+ replaceOnLimit: boolean;
24
+ maxSize: undefined;
25
+ sizeExceedMessage: string;
23
26
  onExceed: () => void;
24
27
  }>>, {
25
- abort: (file: import("./types").UploadFile) => void;
28
+ abort: (file: import("vft/es/components").UploadFile) => void;
26
29
  submit: () => void;
27
- clearFiles: (states?: import("./types").UploadStatus[]) => void;
28
- handleStart: (rawFile: import("./types").UploadRawFile) => void;
29
- handleRemove: (file: import("./types").UploadFile | import("./types").UploadRawFile, rawFile?: import("./types").UploadRawFile) => void;
30
+ clearFiles: (states?: import("vft/es/components").UploadStatus[]) => void;
31
+ handleStart: (rawFile: import("vft/es/components").UploadRawFile) => void;
32
+ handleRemove: (file: import("vft/es/components").UploadFile | import("vft/es/components").UploadRawFile, rawFile?: import("vft/es/components").UploadRawFile) => void;
30
33
  fileList: import("vue").Ref<{
31
34
  name: string;
32
35
  percentage?: number | undefined;
33
- status: import("./types").UploadStatus;
36
+ status: import("vft/es/components").UploadStatus;
34
37
  size?: number | undefined;
35
38
  response?: unknown;
36
39
  uid: number;
@@ -51,7 +54,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
51
54
  }[], {
52
55
  name: string;
53
56
  percentage?: number | undefined;
54
- status: import("./types").UploadStatus;
57
+ status: import("vft/es/components").UploadStatus;
55
58
  size?: number | undefined;
56
59
  response?: unknown;
57
60
  uid: number;
@@ -81,8 +84,11 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
81
84
  type: string;
82
85
  autoUpload: boolean;
83
86
  listType: string;
84
- httpRequest: import("./types").UploadRequestHandler;
87
+ httpRequest: import("vft/es/components").UploadRequestHandler;
85
88
  fileList: never[];
89
+ replaceOnLimit: boolean;
90
+ maxSize: undefined;
91
+ sizeExceedMessage: string;
86
92
  onExceed: () => void;
87
93
  }>>> & Readonly<{}>, {
88
94
  drag: boolean;
@@ -91,13 +97,16 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
91
97
  method: string;
92
98
  multiple: boolean;
93
99
  action: string;
100
+ fileList: import("vft/es/components").UploadUserFile[];
94
101
  showFileList: boolean;
95
102
  accept: string;
96
- fileList: import("./types").UploadUserFile[];
97
103
  autoUpload: boolean;
98
- listType: import("./types").ListType;
99
- httpRequest: import("./types").UploadRequestHandler;
100
- onExceed: import("./types").UploadHooks["onExceed"];
104
+ listType: import("vft/es/components").ListType;
105
+ httpRequest: import("vft/es/components").UploadRequestHandler;
106
+ replaceOnLimit: boolean;
107
+ maxSize: number;
108
+ sizeExceedMessage: string;
109
+ onExceed: import("vft/es/components").UploadHooks["onExceed"];
101
110
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
102
111
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
103
112
  export default _default;
@@ -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:{type:Function,default:()=>{}}},setup(m,{expose:v}){const l=m,o=e.useSlots(),n=B.useFormDisabled(),u=e.shallowRef(),{abort:y,submit:h,clearFiles:g,uploadFiles:r,handleStart:i,handleError:C,handleRemove:a,handleSuccess:k,handleProgress:w}=R.useHandlers(l,u),s=e.computed(()=>l.listType==="picture-card"),f=e.computed(()=>({...l,fileList:r.value,onStart:i,onProgress:w,onSuccess:k,onError:C,onRemove:a}));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:a,fileList:r}),(t,$)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vft-upload-wrapper",{disabled:e.unref(n)}])},[s.value&&t.showFileList?(e.openBlock(),e.createBlock(c.default,{key:0,disabled:e.unref(n),"list-type":t.listType,files:e.unref(r),"handle-preview":t.onPreview,onRemove:e.unref(a)},e.createSlots({append:e.withCtx(()=>[e.createVNode(p.default,e.mergeProps({ref_key:"uploadRef",ref:u},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:d})=>[e.renderSlot(t.$slots,"file",{file:d})]),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:u},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(n),"list-type":t.listType,files:e.unref(r),"handle-preview":t.onPreview,onRemove:e.unref(a)},e.createSlots({_:2},[t.$slots.file?{name:"default",fn:e.withCtx(({file:d})=>[e.renderSlot(t.$slots,"file",{file:d})]),key:"0"}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):e.createCommentVNode("",!0)],2))}});exports.default=_;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../alert/index.cjs");require("../avatar/index.cjs");require("../avatar-stack/index.cjs");require("../backtop/index.cjs");require("../button/index.cjs");require("../card/index.cjs");require("../cascader/index.cjs");require("../cascader-panel/index.cjs");require("../check-tag/index.cjs");require("../checkbox/index.cjs");require("../clamp/index.cjs");require("../clamp-toggle/index.cjs");require("../clamp-tooltip/index.cjs");require("../col/index.cjs");require("../collapse-transition/index.cjs");require("../color-picker/index.cjs");require("../config-provider/index.cjs");require("../container/index.cjs");require("@vft/utils");require("../context-menu/context-menu.vue2.cjs");require("../icon/index.cjs");require("../date-picker/index.cjs");require("../date-time-select/index.cjs");require("../descriptions/index.cjs");require("../dialog/index.cjs");require("../divider/index.cjs");require("../drawer/index.cjs");require("../dropdown/index.cjs");require("../empty/index.cjs");require("../footer-layout/index.cjs");require("../form/index.cjs");require("../full-screen/index.cjs");require("../header-layout/index.cjs");require("../horizontal-menu/index.cjs");require("../icon-text/index.cjs");require("../iframe-layout/index.cjs");require("../image/index.cjs");require("../image-viewer/index.cjs");require("../input/index.cjs");require("../input-number/index.cjs");require("../link/index.cjs");require("../list-cell/index.cjs");require("../logo/index.cjs");require("../menu/index.cjs");require("../multiple-tabs/index.cjs");require("../notification/index.cjs");require("../overlay/index.cjs");require("../page-wrapper/index.cjs");require("../pagination/index.cjs");require("../popconfirm/index.cjs");require("../popover/index.cjs");require("../popper/index.cjs");require("../qrcode/index.cjs");require("../radio/index.cjs");require("../result/index.cjs");require("../router-view-content/index.cjs");require("../row/index.cjs");require("../scrollbar/index.cjs");require("../search/index.cjs");require("../select/index.cjs");require("../side-menu/index.cjs");require("../skeleton/index.cjs");require("../slider/index.cjs");require("../space/index.cjs");require("../steps/index.cjs");require("../switch/index.cjs");require("../table/index.cjs");require("../tabs/index.cjs");require("../tag/index.cjs");require("../time-picker/index.cjs");require("../tooltip/index.cjs");require("../tree/index.cjs");require("../verify-code/index.cjs");require("../virtual-list/components/fixed-size-list.cjs");require("../virtual-list/components/dynamic-size-list.cjs");require("../virtual-list/components/fixed-size-grid.cjs");require("../virtual-list/components/dynamic-size-grid.cjs");require("../virtual-list/props.cjs");require("../autocomplete/index.cjs");require("../breadcrumb/index.cjs");require("../carousel/index.cjs");require("../collapse/index.cjs");require("../countdown/index.cjs");require("../input-tag/index.cjs");require("../modal/index.cjs");require("../progress/index.cjs");require("../segmented/index.cjs");require("../statistic/index.cjs");require("../super-form/index.cjs");require("../timeline/index.cjs");require("../transfer/index.cjs");require("./index.cjs");require("../watermark/index.cjs");require("../md-code-demo/index.cjs");require("../md-code-tabs/index.cjs");require("../md-comment/index.cjs");require("../md-container/index.cjs");require("../md-tabs/index.cjs");require("../md-vue-playground/index.cjs");require("../infinite-scroll/index.cjs");require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const b=require("../message/index.cjs");require("../progress-i/index.cjs");const R=require("./ajax.cjs"),P=require("./constants.cjs"),y=require("./upload-content.vue2.cjs"),g=require("./upload-list.vue2.cjs"),_=require("./use-handlers.cjs"),$=require("../form/hooks/use-form-common-props.cjs"),E=e.defineComponent({name:"vft-upload"}),F=e.defineComponent({...E,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:R.ajaxUpload},disabled:{type:Boolean},limit:{},replaceOnLimit:{type:Boolean,default:!1},maxSize:{default:void 0},sizeExceedMessage:{default:"文件大小超出限制"},beforeUpload:{},beforeRemove:{},onRemove:{},onChange:{},onPreview:{},onSuccess:{},onProgress:{},onError:{},onExceed:{type:Function,default:()=>{}},onSizeExceed:{}},setup(h,{expose:C}){const u=h,i=e.useSlots(),d=$.useFormDisabled(),l=e.shallowRef(),{abort:q,submit:f,clearFiles:p,uploadFiles:t,handleStart:c,handleError:S,handleRemove:a,handleSuccess:k,handleProgress:w}=_.useHandlers(u,l),s=e.computed(()=>u.listType==="picture-card"),B={abort:q,submit:f,clearFiles:p,uploadFiles:t,uploadRef:l},m=e.computed(()=>({...u,fileList:t.value,onStart:c,onProgress:w,onSuccess:k,onError:S,onRemove:a,onChange:(r,o)=>{u.onChange?.(r,o,B)},onSizeExceed:(r,o)=>{if(u.onSizeExceed)u.onSizeExceed?.(r,o);else{const v=`文件大小不能超过 ${(o/1048576).toFixed(2)}MB`;console.warn("默认文件大小超出提示:",v),b.VftMessage.warning(v)}}}));return e.onBeforeUnmount(()=>{t.value.forEach(({url:r})=>{r?.startsWith("blob:")&&URL.revokeObjectURL(r)})}),e.provide(P.uploadContextKey,{accept:e.toRef(u,"accept")}),C({abort:q,submit:f,clearFiles:p,handleStart:c,handleRemove:a,fileList:t}),(r,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["vft-upload-wrapper",{disabled:e.unref(d)}])},[s.value&&r.showFileList?(e.openBlock(),e.createBlock(g.default,{key:0,disabled:e.unref(d),"list-type":r.listType,files:e.unref(t),"handle-preview":r.onPreview,onRemove:e.unref(a)},e.createSlots({append:e.withCtx(()=>[e.createVNode(y.default,e.mergeProps({ref_key:"uploadRef",ref:l},m.value),{default:e.withCtx(()=>[e.unref(i).trigger?e.renderSlot(r.$slots,"trigger",{key:0}):e.createCommentVNode("",!0),!e.unref(i).trigger&&e.unref(i).default?e.renderSlot(r.$slots,"default",{key:1}):e.createCommentVNode("",!0)]),_:3},16)]),_:2},[r.$slots.file?{name:"default",fn:e.withCtx(({file:n})=>[e.renderSlot(r.$slots,"file",{file:n})]),key:"0"}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):e.createCommentVNode("",!0),!s.value||s.value&&!r.showFileList?(e.openBlock(),e.createBlock(y.default,e.mergeProps({key:1,ref_key:"uploadRef",ref:l},m.value),{default:e.withCtx(()=>[e.unref(i).trigger?e.renderSlot(r.$slots,"trigger",{key:0}):e.createCommentVNode("",!0),!e.unref(i).trigger&&e.unref(i).default?e.renderSlot(r.$slots,"default",{key:1}):e.createCommentVNode("",!0)]),_:3},16)):e.createCommentVNode("",!0),r.$slots.trigger?e.renderSlot(r.$slots,"default",{key:2}):e.createCommentVNode("",!0),e.renderSlot(r.$slots,"tip"),!s.value&&r.showFileList?(e.openBlock(),e.createBlock(g.default,{key:3,disabled:e.unref(d),"list-type":r.listType,files:e.unref(t),"handle-preview":r.onPreview,onRemove:e.unref(a)},e.createSlots({_:2},[r.$slots.file?{name:"default",fn:e.withCtx(({file:n})=>[e.renderSlot(r.$slots,"file",{file:n})]),key:"0"}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):e.createCommentVNode("",!0)],2))}});exports.default=F;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("@vueuse/core");require("@vft/utils");const l=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const d=require("vue"),F=require("lodash-es"),v=require("./constants.cjs"),f="VftUpload",O=a=>{a.url?.startsWith("blob:")&&URL.revokeObjectURL(a.url)},U=(a,c)=>{const u=E.useVModel(a,"fileList",void 0,{passive:!0}),o=e=>u.value.find(t=>t.uid===e.uid);function i(e){c.value?.abort(e)}function b(e=["ready","uploading","success","fail"]){u.value=u.value.filter(t=>!e.includes(t.status))}const h=(e,t)=>{const r=o(t);r&&(console.error(e),r.status="fail",u.value.splice(u.value.indexOf(r),1),a.onError?.(e,r,u.value),a.onChange?.(r,u.value))},g=(e,t)=>{const r=o(t);r&&(a.onProgress?.(e,r,u.value),r.status="uploading",r.percentage=Math.round(e.percent))},m=(e,t)=>{const r=o(t);r&&(r.status="success",r.response=e,a.onSuccess?.(e,r,u.value),a.onChange?.(r,u.value))},y=e=>{F.isNil(e.uid)&&(e.uid=v.genFileId());const t={name:e.name,percentage:0,status:"ready",size:e.size,raw:e,uid:e.uid};if(a.listType==="picture-card"||a.listType==="picture")try{t.url=URL.createObjectURL(e)}catch(r){l.debugWarn(f,r.message),a.onError?.(r,t,u.value)}u.value=[...u.value,t],a.onChange?.(t,u.value)},R=async e=>{const t=e instanceof File?o(e):e;t||l.throwError(f,"file to be removed not found");const r=n=>{i(n);const s=u.value;s.splice(s.indexOf(n),1),a.onRemove?.(n,s),O(n)};a.beforeRemove?await a.beforeRemove(t,u.value)!==!1&&r(t):r(t)};function L(){u.value.filter(({status:e})=>e==="ready").forEach(({raw:e})=>e&&c.value?.upload(e))}return d.watch(()=>a.listType,e=>{e!=="picture-card"&&e!=="picture"||(u.value=u.value.map(t=>{const{raw:r,url:n}=t;if(!n&&r)try{t.url=URL.createObjectURL(r)}catch(s){a.onError?.(s,t,u.value)}return t}))}),d.watch(u,e=>{if(e)for(const t of e)t.uid||=v.genFileId(),t.status||="success"},{immediate:!0,deep:!0}),{uploadFiles:u,abort:i,clearFiles:b,handleError:h,handleProgress:g,handleStart:y,handleSuccess:m,handleRemove:R,submit:L}};exports.useHandlers=U;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F=require("@vueuse/core");require("@vft/utils");const f=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");const h=require("vue"),U=require("lodash-es"),b=require("./constants.cjs"),g="VftUpload",m=u=>{u.url?.startsWith("blob:")&&URL.revokeObjectURL(u.url)},q=(u,o)=>{const a=F.useVModel(u,"fileList",void 0,{passive:!0}),s=e=>a.value.find(t=>t.uid===e.uid),i={abort:l,submit:v,clearFiles:d,uploadFiles:a,uploadRef:o};function l(e){o.value?.abort(e)}function d(e=["ready","uploading","success","fail"]){a.value=a.value.filter(t=>!e.includes(t.status))}const y=(e,t)=>{const r=s(t);r&&(console.error(e),r.status="fail",a.value.splice(a.value.indexOf(r),1),u.onError?.(e,r,a.value),u.onChange?.(r,a.value,i))},L=(e,t)=>{const r=s(t);r&&(u.onProgress?.(e,r,a.value),r.status="uploading",r.percentage=Math.round(e.percent))},R=(e,t)=>{const r=s(t);r&&(r.status="success",r.response=e,u.onSuccess?.(e,r,a.value),u.onChange?.(r,a.value,i))},E=e=>{U.isNil(e.uid)&&(e.uid=b.genFileId());const t={name:e.name,percentage:0,status:"ready",size:e.size,raw:e,uid:e.uid};if(u.listType==="picture-card"||u.listType==="picture")try{t.url=URL.createObjectURL(e)}catch(r){f.debugWarn(g,r.message),u.onError?.(r,t,a.value)}u.limit===1&&u.replaceOnLimit&&a.value.length>0&&(a.value.forEach(r=>{m(r)}),a.value=[]),a.value=[...a.value,t],u.onChange?.(t,a.value,i)},O=async e=>{const t=e instanceof File?s(e):e;t||f.throwError(g,"file to be removed not found");const r=n=>{l(n);const c=a.value;c.splice(c.indexOf(n),1),u.onRemove?.(n,c),m(n)};u.beforeRemove?await u.beforeRemove(t,a.value)!==!1&&r(t):r(t)};function v(){a.value.filter(({status:e})=>e==="ready").forEach(({raw:e})=>e&&o.value?.upload(e))}return h.watch(()=>u.listType,e=>{e!=="picture-card"&&e!=="picture"||(a.value=a.value.map(t=>{const{raw:r,url:n}=t;if(!n&&r)try{t.url=URL.createObjectURL(r)}catch(c){u.onError?.(c,t,a.value)}return t}))}),h.watch(a,e=>{if(e)for(const t of e)t.uid||=b.genFileId(),t.status||="success"},{immediate:!0,deep:!0}),{uploadFiles:a,abort:l,clearFiles:d,handleError:y,handleProgress:L,handleStart:E,handleSuccess:R,handleRemove:O,submit:v}};exports.useHandlers=q;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.334";exports.version=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.337";exports.version=e;