yc-design-vue 2.0.7 → 2.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.umd.js +1 -1
- package/es/Input/InputSuffix.vue.js +2 -2
- package/es/InputNumber/InputOperaBtn.vue.js +1 -1
- package/es/Progress/ProgressCircle.vue.js +1 -1
- package/es/Transfer/TransferPanel.vue.js +2 -2
- package/es/Typography/TypographyBase.vue.js +2 -2
- package/es/Upload/Upload.vue.d.ts +1 -0
- package/es/Upload/Upload.vue.js +3 -1
- package/es/Upload/UploadFileList.vue2.js +1 -1
- package/es/Upload/UploadPictureCard.vue2.js +2 -2
- package/es/Upload/hooks/useContext.d.ts +5 -3
- package/es/Upload/hooks/useContext.js +20 -3
- package/es/Upload/hooks/useUpload.d.ts +8 -6
- package/es/Upload/hooks/useUpload.js +24 -6
- package/es/Upload/index.d.ts +3 -0
- package/es/Upload/type.d.ts +3 -1
- package/es/_shared/icons/IconCopy.vue.js +19 -1
- package/es/_shared/icons/IconCopy.vue2.js +1 -19
- package/es/_shared/icons/IconDelete.vue.js +19 -1
- package/es/_shared/icons/IconDelete.vue2.js +1 -19
- package/es/_shared/icons/IconEdit.vue.js +19 -1
- package/es/_shared/icons/IconEdit.vue2.js +1 -19
- package/es/_shared/icons/IconExclamation.vue.js +30 -1
- package/es/_shared/icons/IconExclamation.vue2.js +1 -30
- package/es/_shared/icons/IconEyeClose.vue.js +23 -1
- package/es/_shared/icons/IconEyeClose.vue2.js +1 -23
- package/es/_shared/icons/IconEyeOpen.vue.js +20 -1
- package/es/_shared/icons/IconEyeOpen.vue2.js +1 -20
- package/es/_shared/icons/IconMinus.vue.js +19 -1
- package/es/_shared/icons/IconMinus.vue2.js +1 -19
- package/es/_shared/icons/IconSearch.vue.js +19 -1
- package/es/_shared/icons/IconSearch.vue2.js +1 -19
- package/lib/Input/InputSuffix.vue.js +1 -1
- package/lib/InputNumber/InputOperaBtn.vue.js +1 -1
- package/lib/Progress/ProgressCircle.vue.js +1 -1
- package/lib/Transfer/TransferPanel.vue.js +1 -1
- package/lib/Typography/TypographyBase.vue.js +1 -1
- package/lib/Upload/Upload.vue.d.ts +1 -0
- package/lib/Upload/Upload.vue.js +1 -1
- package/lib/Upload/UploadFileList.vue2.js +1 -1
- package/lib/Upload/UploadPictureCard.vue2.js +1 -1
- package/lib/Upload/hooks/useContext.d.ts +5 -3
- package/lib/Upload/hooks/useContext.js +1 -1
- package/lib/Upload/hooks/useUpload.d.ts +8 -6
- package/lib/Upload/hooks/useUpload.js +1 -1
- package/lib/Upload/index.d.ts +3 -0
- package/lib/Upload/type.d.ts +3 -1
- package/lib/_shared/icons/IconCopy.vue.js +1 -1
- package/lib/_shared/icons/IconCopy.vue2.js +1 -1
- package/lib/_shared/icons/IconDelete.vue.js +1 -1
- package/lib/_shared/icons/IconDelete.vue2.js +1 -1
- package/lib/_shared/icons/IconEdit.vue.js +1 -1
- package/lib/_shared/icons/IconEdit.vue2.js +1 -1
- package/lib/_shared/icons/IconExclamation.vue.js +1 -1
- package/lib/_shared/icons/IconExclamation.vue2.js +1 -1
- package/lib/_shared/icons/IconEyeClose.vue.js +1 -1
- package/lib/_shared/icons/IconEyeClose.vue2.js +1 -1
- package/lib/_shared/icons/IconEyeOpen.vue.js +1 -1
- package/lib/_shared/icons/IconEyeOpen.vue2.js +1 -1
- package/lib/_shared/icons/IconMinus.vue.js +1 -1
- package/lib/_shared/icons/IconMinus.vue2.js +1 -1
- package/lib/_shared/icons/IconSearch.vue.js +1 -1
- package/lib/_shared/icons/IconSearch.vue2.js +1 -1
- package/package.json +1 -1
@@ -1,23 +1,4 @@
|
|
1
|
-
import
|
2
|
-
import "../utils/dom.js";
|
3
|
-
/* empty css */
|
4
|
-
/* empty css */
|
5
|
-
import _sfc_main$1 from "../components/Icon/index.vue3.js";
|
6
|
-
/* empty css */
|
7
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
8
|
-
__name: "IconEyeOpen",
|
9
|
-
setup(__props) {
|
10
|
-
return (_ctx, _cache) => {
|
11
|
-
return openBlock(), createBlock(unref(_sfc_main$1), normalizeProps(guardReactiveProps(_ctx.$attrs)), {
|
12
|
-
default: withCtx(() => [..._cache[0] || (_cache[0] = [
|
13
|
-
createElementVNode("path", { d: "M14 14.5c-2.69 2-5.415 5.33-8 9.5 5.373 8.667 11.373 13 18 13 3.325 0 6.491-1.09 9.5-3.271M17.463 12.5C19 11 21.75 11 24 11c6.627 0 12.627 4.333 18 13-1.766 2.848-3.599 5.228-5.5 7.14" }, null, -1),
|
14
|
-
createElementVNode("path", { d: "M29 24a5 5 0 1 1-10 0 5 5 0 0 1 10 0ZM6.852 7.103l34.294 34.294" }, null, -1)
|
15
|
-
])]),
|
16
|
-
_: 1
|
17
|
-
}, 16);
|
18
|
-
};
|
19
|
-
}
|
20
|
-
});
|
1
|
+
import _sfc_main from "./IconEyeOpen.vue.js";
|
21
2
|
export {
|
22
3
|
_sfc_main as default
|
23
4
|
};
|
@@ -1,4 +1,22 @@
|
|
1
|
-
import
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, createElementVNode } from "vue";
|
2
|
+
import "../utils/dom.js";
|
3
|
+
/* empty css */
|
4
|
+
/* empty css */
|
5
|
+
import _sfc_main$1 from "../components/Icon/index.vue3.js";
|
6
|
+
/* empty css */
|
7
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
8
|
+
__name: "IconMinus",
|
9
|
+
setup(__props) {
|
10
|
+
return (_ctx, _cache) => {
|
11
|
+
return openBlock(), createBlock(unref(_sfc_main$1), normalizeProps(guardReactiveProps(_ctx.$attrs)), {
|
12
|
+
default: withCtx(() => [..._cache[0] || (_cache[0] = [
|
13
|
+
createElementVNode("path", { d: "M5 24h38" }, null, -1)
|
14
|
+
])]),
|
15
|
+
_: 1
|
16
|
+
}, 16);
|
17
|
+
};
|
18
|
+
}
|
19
|
+
});
|
2
20
|
export {
|
3
21
|
_sfc_main as default
|
4
22
|
};
|
@@ -1,22 +1,4 @@
|
|
1
|
-
import
|
2
|
-
import "../utils/dom.js";
|
3
|
-
/* empty css */
|
4
|
-
/* empty css */
|
5
|
-
import _sfc_main$1 from "../components/Icon/index.vue3.js";
|
6
|
-
/* empty css */
|
7
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
8
|
-
__name: "IconMinus",
|
9
|
-
setup(__props) {
|
10
|
-
return (_ctx, _cache) => {
|
11
|
-
return openBlock(), createBlock(unref(_sfc_main$1), normalizeProps(guardReactiveProps(_ctx.$attrs)), {
|
12
|
-
default: withCtx(() => [..._cache[0] || (_cache[0] = [
|
13
|
-
createElementVNode("path", { d: "M5 24h38" }, null, -1)
|
14
|
-
])]),
|
15
|
-
_: 1
|
16
|
-
}, 16);
|
17
|
-
};
|
18
|
-
}
|
19
|
-
});
|
1
|
+
import _sfc_main from "./IconMinus.vue.js";
|
20
2
|
export {
|
21
3
|
_sfc_main as default
|
22
4
|
};
|
@@ -1,4 +1,22 @@
|
|
1
|
-
import
|
1
|
+
import { defineComponent, createBlock, openBlock, unref, normalizeProps, guardReactiveProps, withCtx, createElementVNode } from "vue";
|
2
|
+
import "../utils/dom.js";
|
3
|
+
/* empty css */
|
4
|
+
/* empty css */
|
5
|
+
import _sfc_main$1 from "../components/Icon/index.vue3.js";
|
6
|
+
/* empty css */
|
7
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
8
|
+
__name: "IconSearch",
|
9
|
+
setup(__props) {
|
10
|
+
return (_ctx, _cache) => {
|
11
|
+
return openBlock(), createBlock(unref(_sfc_main$1), normalizeProps(guardReactiveProps(_ctx.$attrs)), {
|
12
|
+
default: withCtx(() => [..._cache[0] || (_cache[0] = [
|
13
|
+
createElementVNode("path", { d: "M33.072 33.071c6.248-6.248 6.248-16.379 0-22.627-6.249-6.249-16.38-6.249-22.628 0-6.248 6.248-6.248 16.379 0 22.627 6.248 6.248 16.38 6.248 22.628 0Zm0 0 8.485 8.485" }, null, -1)
|
14
|
+
])]),
|
15
|
+
_: 1
|
16
|
+
}, 16);
|
17
|
+
};
|
18
|
+
}
|
19
|
+
});
|
2
20
|
export {
|
3
21
|
_sfc_main as default
|
4
22
|
};
|
@@ -1,22 +1,4 @@
|
|
1
|
-
import
|
2
|
-
import "../utils/dom.js";
|
3
|
-
/* empty css */
|
4
|
-
/* empty css */
|
5
|
-
import _sfc_main$1 from "../components/Icon/index.vue3.js";
|
6
|
-
/* empty css */
|
7
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
8
|
-
__name: "IconSearch",
|
9
|
-
setup(__props) {
|
10
|
-
return (_ctx, _cache) => {
|
11
|
-
return openBlock(), createBlock(unref(_sfc_main$1), normalizeProps(guardReactiveProps(_ctx.$attrs)), {
|
12
|
-
default: withCtx(() => [..._cache[0] || (_cache[0] = [
|
13
|
-
createElementVNode("path", { d: "M33.072 33.071c6.248-6.248 6.248-16.379 0-22.627-6.249-6.249-16.38-6.249-22.628 0-6.248 6.248-6.248 16.379 0 22.627 6.248 6.248 16.38 6.248 22.628 0Zm0 0 8.485 8.485" }, null, -1)
|
14
|
-
])]),
|
15
|
-
_: 1
|
16
|
-
}, 16);
|
17
|
-
};
|
18
|
-
}
|
19
|
-
});
|
1
|
+
import _sfc_main from "./IconSearch.vue.js";
|
20
2
|
export {
|
21
3
|
_sfc_main as default
|
22
4
|
};
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),o=;/* empty css */;/* empty css */const t=;/* empty css */require("../_shared/utils/dom.js"),/* empty css */;/* empty css */const i=require("../_shared/icons/IconEyeClose.
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),o=;/* empty css */;/* empty css */const t=;/* empty css */require("../_shared/utils/dom.js"),/* empty css */;/* empty css */const i=require("../_shared/icons/IconEyeClose.vue.js"),n=require("../_shared/icons/IconEyeOpen.vue.js"),s={key:0,class:"yc-input-word-limit"},r=e.defineComponent({__name:"InputSuffix",props:{curLength:{},maxLength:{},showWordLimit:{type:Boolean},computedVisibility:{type:Boolean},isPassword:{type:Boolean},invisibleButton:{type:Boolean}},emits:["clear","visibilityChange"],setup:r=>(r,u)=>(e.openBlock(),e.createBlock(e.unref(t.default),{class:"yc-input-suffix"},{default:e.withCtx(()=>[r.showWordLimit?(e.openBlock(),e.createElementBlock("div",s,e.toDisplayString(r.curLength)+"/"+e.toDisplayString(r.maxLength),1)):e.createCommentVNode("",!0),r.isPassword&&r.invisibleButton?(e.openBlock(),e.createBlock(e.unref(o.default),{key:1,size:14,onClick:u[0]||(u[0]=e=>r.$emit("visibilityChange",!r.computedVisibility))},{default:e.withCtx(()=>[r.computedVisibility?(e.openBlock(),e.createBlock(e.unref(n.default),{key:0})):(e.openBlock(),e.createBlock(e.unref(i.default),{key:1}))]),_:1})):e.createCommentVNode("",!0),r.$slots.suffix?e.renderSlot(r.$slots,"suffix",{key:2}):e.createCommentVNode("",!0)]),_:3}))});exports.default=r;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),o=require("../_shared/icons/IconArrowDown.vue.js");require("../_shared/utils/dom.js"),/* empty css */,/* empty css */;/* empty css */const n=require("../_shared/icons/IconMinus.
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),o=require("../_shared/icons/IconArrowDown.vue.js");require("../_shared/utils/dom.js"),/* empty css */,/* empty css */;/* empty css */const n=require("../_shared/icons/IconMinus.vue.js"),u=require("../_shared/icons/IconPlus.vue.js"),s=require("../Button/index.js"),r=e.defineComponent({__name:"InputOperaBtn",props:{mode:{},type:{},disabled:{type:Boolean},computedValue:{},min:{},max:{},size:{}},emits:["click"],setup(r){const t=r,{disabled:l,computedValue:a,min:i,max:c,type:d}=e.toRefs(t),m=e.computed(()=>l.value?l.value:"minus"==d.value?+a.value<=i.value:+a.value>=c.value);return(r,t)=>(e.openBlock(),e.createBlock(e.unref(s.default),{size:r.size,disabled:m.value,class:e.normalizeClass([{"yc-input-number-plus-embed":"embed"==r.mode}]),onClick:t[0]||(t[0]=o=>r.$emit("click",e.unref(d)))},{icon:e.withCtx(()=>[e.renderSlot(r.$slots,"icon",{},()=>["embed"==r.mode?(e.openBlock(),e.createBlock(e.unref(o.default),{key:0,rotate:"plus"==e.unref(d)?180:0},null,8,["rotate"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},["minus"==e.unref(d)?(e.openBlock(),e.createBlock(e.unref(n.default),{key:0})):(e.openBlock(),e.createBlock(e.unref(u.default),{key:1}))],64))])]),_:3},8,["size","disabled","class"]))}});exports.default=r;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),r=require("../_shared/utils/is.js"),l=require("../_shared/utils/dom.js");,/* empty css */,/* empty css */;/* empty css */const t=require("../_shared/icons/IconCheck.vue.js"),o=require("../_shared/icons/IconExclamation.
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),r=require("../_shared/utils/is.js"),l=require("../_shared/utils/dom.js");,/* empty css */,/* empty css */;/* empty css */const t=require("../_shared/icons/IconCheck.vue.js"),o=require("../_shared/icons/IconExclamation.vue.js"),s=require("../_shared/constants/index.js"),a=["aria-valuenow"],c=["viewBox"],n={key:0},u=["id"],i=["offset","stop-color"],d=["cx","cy","r","stroke-width"],p=["cx","cy","r","stroke-width"],m={key:2,class:e.normalizeClass("yc-progress-circle-text")},v=e.defineComponent({__name:"ProgressCircle",props:{type:{},percent:{},status:{},size:{},text:{},showText:{type:Boolean},width:{},strokeWidth:{},pathStrokeWidth:{},color:{},trackColor:{}},setup(v){const k=v,{size:f,width:y,color:h,strokeWidth:x,pathStrokeWidth:B}=e.toRefs(k);let _=0;const g=e.computed(()=>r.isObject(h.value)),C=e.computed(()=>x.value??("mini"===f.value?y.value/2:{mini:4,small:3,medium:4,large:4}[f.value])),E=e.computed(()=>B.value?B.value:"mini"===f.value?C.value:Math.max(2,C.value-2)),w=e.computed(()=>(y.value-C.value)/2),O=e.computed(()=>2*Math.PI*w.value),j=e.computed(()=>y.value/2),z=e.computed(()=>(_+=1,`yc-progress-circle-linear-gradient-${_}`));return(v,k)=>(e.openBlock(),e.createElementBlock("div",{role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":v.percent,class:e.normalizeClass("yc-progress-circle-wrapper"),style:e.normalizeStyle({width:e.unref(l.valueToPx)(e.unref(y)),height:e.unref(l.valueToPx)(e.unref(y))})},["circle"===v.type&&"mini"===e.unref(f)&&"success"===v.status?(e.openBlock(),e.createBlock(e.unref(t.default),{key:0,style:e.normalizeStyle({fontSize:e.unref(y)-2,color:e.unref(h)??e.unref(s.TYPE_ICON_COLOR_MAP).success})},null,8,["style"])):(e.openBlock(),e.createElementBlock("svg",{key:1,viewBox:`0 0 ${e.unref(y)} ${e.unref(y)}`,class:e.normalizeClass("yc-progress-circle-svg")},[e.unref(r.isObject)(e.unref(h))?(e.openBlock(),e.createElementBlock("defs",n,[e.createElementVNode("linearGradient",{id:z.value,x1:"0",y1:"1",x2:"0",y2:"0"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(e.unref(h)),r=>(e.openBlock(),e.createElementBlock("stop",{key:r,offset:r,"stop-color":e.unref(h)[r]},null,8,i))),128))],8,u)])):e.createCommentVNode("",!0),e.createElementVNode("circle",{class:e.normalizeClass("yc-progress-circle-bg"),fill:"none",cx:j.value,cy:j.value,r:w.value,"stroke-width":E.value,style:e.normalizeStyle({stroke:v.trackColor})},null,12,d),e.createElementVNode("circle",{class:e.normalizeClass("yc-progress-circle-bar"),fill:"none",cx:j.value,cy:j.value,r:w.value,"stroke-width":C.value,style:e.normalizeStyle({stroke:g.value?`url(#${z.value})`:e.unref(h),strokeDasharray:O.value,strokeDashoffset:(v.percent>=1?0:1-v.percent)*O.value})},null,12,p)],8,c)),v.showText&&"mini"!==e.unref(f)?(e.openBlock(),e.createElementBlock("div",m,[e.renderSlot(v.$slots,"text",{percent:v.percent},()=>["danger"===v.status?(e.openBlock(),e.createBlock(e.unref(o.default),{key:0,color:e.unref(s.TYPE_ICON_COLOR_MAP).error},null,8,["color"])):"success"===v.status?(e.openBlock(),e.createBlock(e.unref(t.default),{key:1,color:e.unref(s.TYPE_ICON_COLOR_MAP).success},null,8,["color"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createTextVNode(e.toDisplayString(v.text),1)],64))])])):e.createCommentVNode("",!0)],12,a))}});exports.default=v;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=;/* empty css */,/* empty css */require("../_shared/utils/dom.js"),/* empty css */;/* empty css */const t=require("../_shared/icons/IconClose.vue.js"),a=require("../_shared/icons/IconDelete.
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),l=;/* empty css */,/* empty css */require("../_shared/utils/dom.js"),/* empty css */;/* empty css */const t=require("../_shared/icons/IconClose.vue.js"),a=require("../_shared/icons/IconDelete.vue.js"),r=require("../_shared/icons/IconSearch.vue.js"),n=require("./hooks/useContext.js"),o=require("../Checkbox/index.js"),u=require("../Scrollbar/index.js"),c=require("../Input/index.js"),s=require("../Empty/index.js"),i={class:"yc-transfer-view"},d={class:"yc-transfer-view-header"},v={class:"yc-transfer-view-header-title"},m={class:"yc-transfer-view-header-count"},f={key:0,class:"yc-transfer-view-search"},p={class:"yc-transfer-view-body"},k={key:1,role:"list",class:"yc-transfer-list"},h=["onClick"],y={class:"yc-transfer-list-item-content text-ellipsis"},B=e.defineComponent({__name:"TransferPanel",props:{type:{}},setup(B){const g=B,{type:C}=e.toRefs(g),{computedValue:x,computedSelected:V,targetChecked:E,sourceChecked:S,sourceOptions:b,targetOptions:N,disabled:_,oneWay:w,showSearch:j,showSelectAll:q,simple:D,sourceInputSearchProps:I,targetInputSearchProps:T,slots:F,title:P,emits:O}=n.default().inject(),z=e.ref(""),L=e.computed(()=>("source"==C.value?b.value:N.value).filter(e=>{var l;return null==(l=e.label)?void 0:l.toLowerCase().includes(z.value.toLowerCase())})),A=e.computed(()=>"source"==C.value?S.value:E.value),M=e.computed(()=>"source"==C.value?I.value:T.value),U=e.computed(()=>"source"==C.value?P.value[0]:P.value[1]),K=e.computed({get:()=>!!A.value.length&&A.value.length==L.value.length,set(e){if(e)V.value=[...new Set([...V.value,...L.value.map(e=>e.value)])];else{const e=Object.fromEntries(L.value.map(e=>[e.value,e]));V.value=V.value.filter(l=>!e[l])}}}),R=e.computed(()=>!!A.value.length&&A.value.length<=L.value.length),W=()=>{!_.value&&x.value.length&&(x.value=[])},$=()=>{var e;return null==(e=F["source"==C.value?"source-title":"target-title"])?void 0:e.call(F,{countTotal:"source"==C.value?b.value.length:N.value.length,countSelected:"source"==C.value?S.value.length:E.value.length,searchValue:z.value,checked:K.value,indeterminate:R.value,onSelectAllChange:e=>{K.value=e},onClear:W})},G=()=>{var e;return null==(e=F[C.value])?void 0:e.call(F,{selectedKeys:A.value,data:L.value,onSelect:e=>{V.value=e}})},H=e=>()=>{var l;return null==(l=F.item)?void 0:l.call(F,e)};return(n,B)=>(e.openBlock(),e.createElementBlock("div",i,[e.createElementVNode("div",d,[e.unref(F)[`${e.unref(C)}-title`]?(e.openBlock(),e.createBlock(e.resolveDynamicComponent($),{key:0})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("span",v,[!e.unref(q)||e.unref(D)||e.unref(w)&&"target"==e.unref(C)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(U.value),1)],64)):(e.openBlock(),e.createBlock(e.unref(o.default),{key:0,modelValue:K.value,"onUpdate:modelValue":B[0]||(B[0]=e=>K.value=e),indeterminate:R.value,disabled:!L.value.length||e.unref(_)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(U.value),1)]),_:1},8,["modelValue","indeterminate","disabled"]))]),e.createElementVNode("span",m,[e.unref(D)||e.unref(w)&&"target"==e.unref(C)?"target"!=e.unref(C)||e.unref(D)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(l.default),{key:1,size:14,onClick:W},{default:e.withCtx(()=>[e.createVNode(e.unref(a.default))]),_:1})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(A.value.length)+" / "+e.toDisplayString(L.value.length),1)],64))])],64))]),e.unref(j)?(e.openBlock(),e.createElementBlock("div",f,[e.createVNode(e.unref(c.default),e.mergeProps({modelValue:z.value,"onUpdate:modelValue":B[1]||(B[1]=e=>z.value=e)},M.value,{onInput:B[2]||(B[2]=l=>e.unref(O)("search",l,e.unref(C)))}),{suffix:e.withCtx(()=>[e.createVNode(e.unref(r.default))]),_:1},16,["modelValue"])])):e.createCommentVNode("",!0),e.createElementVNode("div",p,[L.value.length?(e.openBlock(),e.createBlock(e.unref(u.default),{key:0},{default:e.withCtx(()=>[e.unref(F)[e.unref(C)]?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(G),{key:0})):(e.openBlock(),e.createElementBlock("div",k,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(L.value,a=>(e.openBlock(),e.createElementBlock("div",{key:a.value,role:"listitem",class:e.normalizeClass(["yc-transfer-list-item",{"yc-transfer-list-item-disabled":a.disabled||e.unref(_)}]),onClick:e=>(e=>{const{value:l}=e;_.value||e.disabled||(w.value&&"source"!=C.value||D.value)&&(x.value="source"==C.value?[...x.value,l]:x.value.filter(e=>e!=l))})(a)},[e.unref(w)&&(!e.unref(w)||"source"!=e.unref(C))||e.unref(D)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("span",y,[e.unref(F).item?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(H(a)),{key:0})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(a.label),1)],64))]),"target"!=e.unref(C)||e.unref(D)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(l.default),{key:0,"hover-size":20},{default:e.withCtx(()=>[e.createVNode(e.unref(t.default))]),_:1}))],64)):(e.openBlock(),e.createBlock(e.unref(o.default),{key:0,"model-value":A.value.includes(a.value),disabled:a.disabled||e.unref(_),onChange:e=>((e,l)=>{V.value=e?[...V.value,l]:V.value.filter(e=>e!=l),O("select",V.value)})(e,a.value)},{default:e.withCtx(()=>[e.unref(F).item?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(H(a)),{key:0})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(a.label),1)],64))]),_:2},1032,["model-value","disabled","onChange"]))],10,h))),128))]))]),_:1})):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(s.default))))])]))}});exports.default=B;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("../_shared/utils/dom.js"),o=require("../_shared/utils/locale.js"),l=require("../_shared/utils/control.js"),a=require("../node_modules/@vueuse/core/index.js");,/* empty css */,/* empty css */;/* empty css */const n=require("../_shared/icons/IconCopy.
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("../_shared/utils/dom.js"),o=require("../_shared/utils/locale.js"),l=require("../_shared/utils/control.js"),a=require("../node_modules/@vueuse/core/index.js");,/* empty css */,/* empty css */;/* empty css */const n=require("../_shared/icons/IconCopy.vue.js"),r=require("../_shared/icons/IconEdit.vue.js"),u=require("../_shared/icons/IconInfo.vue.js"),d=require("../Input/index.js"),p=require("../Tooltip/index.js"),s=e.defineComponent({name:"TypographyBase",__name:"TypographyBase",props:{tag:{default:"span"},type:{default:void 0},bold:{type:Boolean,default:!1},disabled:{type:Boolean},mark:{type:Boolean,default:!1},underline:{type:Boolean,default:!1},delete:{type:Boolean,default:!1},code:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},editing:{type:Boolean,default:void 0},defaultEditing:{type:Boolean,default:!1},editText:{default:""},copyable:{type:Boolean,default:!1},copyText:{default:""},copyDelay:{default:3e3},editTooltiProps:{default:()=>({})},copyTooltiProps:{default:()=>({})}},emits:["update:editing","update:editText","edit-start","change","copy","edit-end"],setup(s,{emit:i}){const c=s,y=i,{editing:f,defaultEditing:v,editText:g,copyText:m,copyable:h,copyDelay:B,code:k,mark:x,delete:_,underline:T,bold:C}=e.toRefs(c),{t:b}=o.useI18n(),{isSupported:j,copy:q}=a.useClipboard(),V=e.ref(!1),E=e.ref(),I=e.ref(),N=l.useControlValue(f,v.value,e=>{y("update:editing",e)}),w=l.useControlValue(g,"",e=>{y("update:editText",e),y("change",e)}),P=e.computed(()=>{const e=[x.value,k.value,_.value,T.value,C.value];return["mark","code","del","u","b"].filter((t,o)=>e[o])}),S=e.defineComponent({props:{tags:{type:Array,default:()=>[]}},setup:(t,{slots:o})=>()=>{var l;const{tags:a}=e.toRefs(t),n=(t,o)=>o>=a.value.length?t:e.h(a.value[o],null,n(t,o+1));return n(null==(l=o.default)?void 0:l.call(o),0)}}),D=async()=>{var e;N.value=!0,w.value=w.value?w.value:t.getDomText(E),y("edit-start"),await t.sleep(0),null==(e=I.value)||e.focus()},R=()=>{N.value=!1,y("edit-end")},$=async()=>{if(!h.value||!j.value||V.value)return;const e=m.value||t.getDomText(E);q(e),y("copy",e),V.value=!0,await t.sleep(B.value),V.value=!1};return(t,o)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),{class:e.normalizeClass(["yc-typography",{[`yc-typography-${t.type}`]:t.type,"yc-typography-bold":e.unref(C),"yc-typography-disabled":t.disabled,"yc-typography-underline":e.unref(T),"yc-typography-delete":e.unref(_)}]),ref_key:"contentRef",ref:E},{default:e.withCtx(()=>[e.unref(N)?(e.openBlock(),e.createBlock(e.unref(d.default),{key:0,modelValue:e.unref(w),"onUpdate:modelValue":o[0]||(o[0]=t=>e.isRef(w)?w.value=t:null),ref_key:"inputRef",ref:I,onBlur:R},null,8,["modelValue"])):(e.openBlock(),e.createBlock(e.unref(S),{key:1,tags:P.value},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},8,["tags"])),t.editable&&!e.unref(N)?(e.openBlock(),e.createElementBlock("span",{key:2,class:"yc-typography-operation-edit",onClick:D},[e.createVNode(e.unref(p.default),e.mergeProps({content:e.unref(b)("typography.edit"),position:"top"},t.editTooltiProps),{default:e.withCtx(()=>[e.createElementVNode("span",null,[e.createVNode(e.unref(r.default))])]),_:1},16,["content"])])):e.createCommentVNode("",!0),e.unref(h)?(e.openBlock(),e.createElementBlock("span",{key:3,class:"yc-typography-operation-copy",onClick:$},[e.createVNode(e.unref(p.default),e.mergeProps({position:"top"},t.copyTooltiProps),{content:e.withCtx(()=>[e.renderSlot(t.$slots,"copy-tooltip",{copied:V.value},()=>[e.createTextVNode(e.toDisplayString(e.unref(b)("typography."+(V.value?"copied":"copy"))),1)])]),default:e.withCtx(()=>[e.createElementVNode("span",null,[e.renderSlot(t.$slots,"copy-icon",{copied:V.value},()=>[V.value?(e.openBlock(),e.createBlock(e.unref(u.default),{key:0,color:"rgb(0, 180, 42)"})):(e.openBlock(),e.createBlock(e.unref(n.default),{key:1}))])])]),_:3},16)])):e.createCommentVNode("",!0)]),_:3},8,["class"]))}});exports.default=s;
|
@@ -43,6 +43,7 @@ declare const __VLS_component: import('vue').DefineComponent<UploadProps, {
|
|
43
43
|
showUploadButton: boolean;
|
44
44
|
onBeforeUpload: import('./type').OnBeforeUpload;
|
45
45
|
onBeforeRemove: import('./type').OnBeforeRemove;
|
46
|
+
onButtonClick: import('./type').OnButtonClick;
|
46
47
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
47
48
|
uploadRef: HTMLDivElement;
|
48
49
|
}, HTMLDivElement>;
|
package/lib/Upload/Upload.vue.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("./hooks/useUpload.js"),o=require("./UploadButton.vue.js");;/* empty css */const l=require("./UploadDrag.vue.js");;/* empty css */const a=require("./UploadFileList.vue.js"),u=require("./UploadPictureCard.vue.js"),
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("./hooks/useUpload.js"),o=require("./UploadButton.vue.js");;/* empty css */const l=require("./UploadDrag.vue.js");;/* empty css */const a=require("./UploadFileList.vue.js"),u=require("./UploadPictureCard.vue.js"),n=e.defineComponent({name:"Upload",__name:"Upload",props:{fileList:{default:void 0},defaultFileList:{default:()=>[]},accept:{default:void 0},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},directory:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},tip:{default:""},name:{type:[String,Function],default:void 0},limit:{default:0},showFileList:{type:Boolean,default:!0},showRemoveButton:{type:Boolean,default:!0},showUploadButton:{type:Boolean,default:!0},showPreviewButton:{type:Boolean,default:!0},download:{type:Boolean,default:!1},showLink:{type:Boolean,default:!0},imageLoading:{default:"lazy"},listType:{default:"text"},customIcon:{default:()=>({})},imagePreview:{type:Boolean},onBeforeUpload:{type:Function,default:()=>!0},onBeforeRemove:{type:Function,default:()=>Promise.resolve(!0)},onButtonClick:{type:Function,default:()=>{}}},emits:["update:fileList","exceed-limit","change","preview"],setup(n,{expose:d,emit:r}){const i=e.useSlots(),p=n,s=r,c=e.ref(),{computedFileList:f,limit:m,draggable:y,disabled:B,handleFiles:k,handleUpload:v}=t.default(c,p,s);return d({updateFile(e,t){const o=f.value.findIndex(t=>t.uid==e);-1!=o&&(f.value[o]={...f.value[o],name:t.name,file:t,status:"init",percent:0,url:URL.createObjectURL(t)})},upload(e){k(e)}}),(t,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["yc-upload-wrapper",`yc-upload-wrapper-type-${t.listType}`,{"yc-upload-disabled":e.unref(B)}])},["picture-card"!=t.listType?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.showUploadButton?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["yc-upload",{"yc-upload-draggable":e.unref(y)}]),ref_key:"uploadRef",ref:c,onClick:n[0]||(n[0]=(...t)=>e.unref(v)&&e.unref(v)(...t))},[e.unref(m)<=0||e.unref(f).length<e.unref(m)?e.renderSlot(t.$slots,"upload-button",{key:0},()=>[e.unref(y)?(e.openBlock(),e.createBlock(l.default,{key:0})):(e.openBlock(),e.createBlock(o.default,{key:1}))]):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),t.showFileList&&e.unref(f).length?(e.openBlock(),e.createBlock(a.default,{key:1},e.createSlots({_:2},[i["extra-button"]?{name:"extra-button",fn:e.withCtx(o=>[e.renderSlot(t.$slots,"extra-button",e.normalizeProps(e.guardReactiveProps(o)))]),key:"0"}:void 0,i["upload-item"]?{name:"upload-item",fn:e.withCtx(o=>[e.renderSlot(t.$slots,"upload-item",e.normalizeProps(e.guardReactiveProps(o)))]),key:"1"}:void 0]),1024)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createBlock(u.default,{key:1}))],2))}});exports.default=n;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),o=require("./hooks/useContext.js"),l=;/* empty css */,/* empty css */require("../_shared/utils/dom.js"),/* empty css */;/* empty css */const t=require("../_shared/icons/IconDelete.
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),o=require("./hooks/useContext.js"),l=;/* empty css */,/* empty css */require("../_shared/utils/dom.js"),/* empty css */;/* empty css */const t=require("../_shared/icons/IconDelete.vue.js"),n=require("../_shared/icons/IconFile.vue2.js"),a={class:"yc-upload-list-item-content"},c={key:0,class:"yc-upload-list-item-thumbnail"},i=["src","alt","loading"],r={class:"yc-upload-list-item-name"},s={key:0,class:"yc-upload-list-item-file-icon"},u={class:"yc-upload-list-item-name-text text-ellipsis"},d=["href","download"],m={key:0,class:"yc-upload-list-item-operation"},p=e.defineComponent({__name:"UploadFileList",setup(p){const{computedFileList:k,showRemoveButton:f,listType:v,imageLoading:B,showLink:y,download:h,customIcon:x,slots:C,handleDelFile:_}=o.default().inject(),E=e=>C["file-name"]?C["file-name"]({fileItem:e}):()=>{var o,l;return(null==(l=(o=x.value).fileName)?void 0:l.call(o,e))||e.name};return(o,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["yc-upload-list",`yc-upload-list-type-${e.unref(v)}`])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(p,k)=>(e.openBlock(),e.createElementBlock("div",{key:p.uid,class:"yc-upload-list-item"},[e.renderSlot(o.$slots,"upload-item",{fileItem:p,index:k},()=>{return[e.createElementVNode("div",a,["picture"==e.unref(v)?(e.openBlock(),e.createElementBlock("span",c,[e.createElementVNode("img",{src:p.url,alt:p.name,loading:e.unref(B)},null,8,i)])):e.createCommentVNode("",!0),e.createElementVNode("div",r,["text"==e.unref(v)?(e.openBlock(),e.createElementBlock("span",s,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((o=p,C["file-icon"]?C["file-icon"]({fileItem:o}):(null==(t=(l=x.value).fileIcon)?void 0:t.call(l,o))||n.default))))])):e.createCommentVNode("",!0),e.createElementVNode("span",u,[e.unref(y)?(e.openBlock(),e.createElementBlock("a",{key:0,href:p.url,download:e.unref(h)?p.name:void 0,class:"yc-upload-list-item-name-link",target:"_blank"},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(E(p))))],8,d)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(E(p)),{key:1}))])])])];var o,l,t},!0),o.$slots["extra-button"]||e.unref(f)?(e.openBlock(),e.createElementBlock("span",m,[e.createVNode(e.unref(l.default),{onClick:o=>e.unref(_)(p)},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(C["remove-icon"]??(x.value.removeIcon||t.default))))]),_:1},8,["onClick"]),e.renderSlot(o.$slots,"extra-button",{fileItem:p},void 0,!0)])):e.createCommentVNode("",!0)]))),128))],2))}});exports.default=p;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),o=require("./hooks/useUpload.js");require("../_shared/utils/dom.js"),/* empty css */,/* empty css */;/* empty css */const l=require("../_shared/icons/IconDelete.
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),o=require("./hooks/useUpload.js");require("../_shared/utils/dom.js"),/* empty css */,/* empty css */;/* empty css */const l=require("../_shared/icons/IconDelete.vue.js"),r=require("../_shared/icons/IconEyeClose.vue.js"),n=require("../_shared/icons/IconPlus.vue.js");require("../Image/index.js");const a=require("../Image/ImagePreview.vue.js");;/* empty css */const c=["src","alt"],t={class:"yc-upload-list-picture-mask"},s={class:"yc-upload-list-picture-operation"},i=["onClick"],u=["onClick"],d={class:"yc-upload-picture-card-text"},p={key:0,class:"yc-upload-tip"},m=e.defineComponent({__name:"UploadPictureCard",setup(m){const v=e.ref(),k=e.ref(!1),f=e.ref(""),{computedFileList:y,limit:B,tip:C,slots:E,customIcon:h,disabled:I,imagePreview:g,showPreviewButton:j,showRemoveButton:q,listType:_,handleUpload:N,handleDelFile:V,emits:w}=o.default(v);return(o,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["yc-upload-list",`yc-upload-list-type-${e.unref(_)}`,{"yc-upload-list-disabled":e.unref(I)}])},[e.createVNode(e.unref(a.default),{visible:k.value,"onUpdate:visible":m[0]||(m[0]=e=>k.value=e),src:f.value},null,8,["visible","src"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),o=>(e.openBlock(),e.createElementBlock("div",{key:o.uid,class:"yc-upload-list-picture"},[e.createElementVNode("img",{src:o.url,alt:o.name},null,8,c),e.createElementVNode("div",t,[e.createElementVNode("div",s,[e.unref(j)?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["yc-upload-icon","yc-upload-icon-preview"]),onClick:e=>{return l=o,f.value=l.url,w("preview",l),void(g.value&&(k.value=!0));var l}},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(E["preview-icon"]??(h.value.previewIcon||r.default))))],8,i)):e.createCommentVNode("",!0),e.unref(q)?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["yc-upload-icon","yc-upload-icon-remove"]),onClick:l=>e.unref(V)(o)},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(E["remove-icon"]??(h.value.removeIcon||l.default))))],8,u)):e.createCommentVNode("",!0)])])]))),128)),e.unref(B)<=0||e.unref(y).length<e.unref(B)?(e.openBlock(),e.createElementBlock("span",{key:0,class:"yc-upload",ref_key:"uploadRef",ref:v,onClick:m[1]||(m[1]=(...o)=>e.unref(N)&&e.unref(N)(...o))},[e.createElementVNode("div",{class:e.normalizeClass(["yc-upload-picture-card",{"yc-upload-picture-card-disabled":e.unref(I)}])},[e.createElementVNode("div",d,[e.createVNode(e.unref(n.default))]),e.unref(C)?(e.openBlock(),e.createElementBlock("div",p,e.toDisplayString(e.unref(C)),1)):e.createCommentVNode("",!0)],2)],512)):e.createCommentVNode("",!0)],2))}});exports.default=m;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Ref } from 'vue';
|
2
|
-
import { UploadEmits, FileItem, FileListType, ImageLoading, UploadSlots, CustomIcon, FileName, OnBeforeUpload } from '../type';
|
2
|
+
import { UploadEmits, FileItem, FileListType, ImageLoading, UploadSlots, CustomIcon, FileName, OnBeforeUpload, OnButtonClick } from '../type';
|
3
3
|
import { RecordType } from '../../_shared/type';
|
4
4
|
type UploadContext = {
|
5
5
|
computedFileList: Ref<FileItem[]>;
|
@@ -21,6 +21,7 @@ type UploadContext = {
|
|
21
21
|
imagePreview: Ref<boolean>;
|
22
22
|
slots: UploadSlots;
|
23
23
|
onBeforeUpload: OnBeforeUpload;
|
24
|
+
onButtonClick: OnButtonClick;
|
24
25
|
handleDelFile: (fileItem: FileItem) => Promise<void>;
|
25
26
|
emits: UploadEmits;
|
26
27
|
};
|
@@ -42,9 +43,10 @@ export default function useUploadContext(): {
|
|
42
43
|
imagePreview: Ref<boolean, boolean>;
|
43
44
|
showRemoveButton: Ref<boolean, boolean>;
|
44
45
|
showPreviewButton: Ref<boolean, boolean>;
|
45
|
-
name:
|
46
|
+
name: FileName;
|
46
47
|
slots: UploadSlots;
|
47
|
-
onBeforeUpload:
|
48
|
+
onBeforeUpload: OnBeforeUpload;
|
49
|
+
onButtonClick: OnButtonClick;
|
48
50
|
handleDelFile: (fileItem: FileItem) => Promise<void>;
|
49
51
|
emits: UploadEmits;
|
50
52
|
};
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("../../_shared/utils/control.js"),o="upload-context";exports.default=function(){return{provide:(
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("../../_shared/utils/control.js"),o=require("../../_shared/utils/is.js"),i="upload-context";exports.default=function(){return{provide:(l,r)=>{const{fileList:a,defaultFileList:u,disabled:n,multiple:s,draggable:c,directory:d,limit:f,tip:m,listType:v,imageLoading:p,download:g,showLink:w,customIcon:h,imagePreview:L,showRemoveButton:B,showPreviewButton:b,accept:R}=e.toRefs(l),{name:y,onBeforeUpload:U,onBeforeRemove:j,onButtonClick:k}=l,P=e.useSlots(),F=t.useControlValue(a,u.value,e=>{F.value.forEach(e=>{e.url&&URL.revokeObjectURL(e.url)}),e.forEach(e=>{e.url=e.file?URL.createObjectURL(e.file):""}),r("update:fileList",e)}),x=e.computed(()=>"text"!=v.value?"image/*":R.value);e.onBeforeUnmount(()=>{F.value.forEach(e=>{e.url&&URL.revokeObjectURL(e.url)})});const C={computedFileList:F,accept:x,disabled:n,directory:d,multiple:s,draggable:c,limit:f,tip:m,listType:v,imageLoading:p,showLink:w,download:g,customIcon:h,imagePreview:L,showRemoveButton:B,showPreviewButton:b,name:y,slots:P,onBeforeUpload:U,onButtonClick:k,handleDelFile:async e=>{let t=!0;try{t=await(null==j?void 0:j(e))}catch{t=!1}!t&&o.isFunction(j)||(F.value=F.value.filter(t=>t.uid!=e.uid),r("change",F.value,[]))},emits:r};return e.provide(i,C),C},inject:()=>e.inject(i,{computedFileList:e.ref([]),accept:e.ref(""),disabled:e.ref(!1),directory:e.ref(!1),multiple:e.ref(!1),draggable:e.ref(!1),limit:e.ref(0),tip:e.ref(""),listType:e.ref("text"),imageLoading:e.ref("lazy"),showLink:e.ref(!0),download:e.ref(!1),customIcon:e.ref({}),imagePreview:e.ref(!0),showRemoveButton:e.ref(!0),showPreviewButton:e.ref(!0),name:"",slots:{},handleDelFile:()=>Promise.resolve(),onButtonClick:()=>{},onBeforeUpload:()=>!0,emits:()=>{}})}};
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { FileItem, UploadEmits, UploadProps } from '../type';
|
2
2
|
import { Ref } from 'vue';
|
3
3
|
export default function useUpload(uploadRef: Ref<HTMLDivElement | undefined>, _props?: UploadProps, _emits?: UploadEmits): {
|
4
|
-
handleUpload: () => void
|
5
|
-
handleFiles: (fileData: File[] | FileList | null) => void
|
4
|
+
handleUpload: (e: MouseEvent) => Promise<void>;
|
5
|
+
handleFiles: (fileData: File[] | FileList | null) => Promise<void>;
|
6
6
|
computedFileList: Ref<FileItem[]>;
|
7
7
|
disabled: Ref<boolean>;
|
8
8
|
tip: Ref<string>;
|
@@ -22,11 +22,12 @@ export default function useUpload(uploadRef: Ref<HTMLDivElement | undefined>, _p
|
|
22
22
|
imagePreview: Ref<boolean>;
|
23
23
|
slots: import('..').UploadSlots;
|
24
24
|
onBeforeUpload: import('..').OnBeforeUpload;
|
25
|
+
onButtonClick: import('..').OnButtonClick;
|
25
26
|
handleDelFile: (fileItem: FileItem) => Promise<void>;
|
26
27
|
emits: UploadEmits;
|
27
28
|
} | {
|
28
|
-
handleUpload: () => void
|
29
|
-
handleFiles: (fileData: File[] | FileList | null) => void
|
29
|
+
handleUpload: (e: MouseEvent) => Promise<void>;
|
30
|
+
handleFiles: (fileData: File[] | FileList | null) => Promise<void>;
|
30
31
|
computedFileList: import('vue').WritableComputedRef<FileItem[], FileItem[]>;
|
31
32
|
accept: import('vue').ComputedRef<string>;
|
32
33
|
disabled: Ref<boolean, boolean>;
|
@@ -43,9 +44,10 @@ export default function useUpload(uploadRef: Ref<HTMLDivElement | undefined>, _p
|
|
43
44
|
imagePreview: Ref<boolean, boolean>;
|
44
45
|
showRemoveButton: Ref<boolean, boolean>;
|
45
46
|
showPreviewButton: Ref<boolean, boolean>;
|
46
|
-
name:
|
47
|
+
name: import('..').FileName;
|
47
48
|
slots: import('..').UploadSlots;
|
48
|
-
onBeforeUpload:
|
49
|
+
onBeforeUpload: import('..').OnBeforeUpload;
|
50
|
+
onButtonClick: import('..').OnButtonClick;
|
49
51
|
handleDelFile: (fileItem: FileItem) => Promise<void>;
|
50
52
|
emits: UploadEmits;
|
51
53
|
};
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../node_modules/nanoid/index.browser.js");require("vue");const
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../../node_modules/nanoid/index.browser.js");require("vue");const t=require("../../_shared/utils/is.js"),l=require("../../node_modules/@vueuse/core/index.js"),n=require("./useContext.js");exports.default=function(u,i,a){let o;o=i&&a?n.default().provide(i,a):n.default().inject();const{computedFileList:r,disabled:s,limit:d,accept:c,directory:v,multiple:p,name:m,onBeforeUpload:f,onButtonClick:h,emits:g}=o,{onChange:y,open:j}=l.useFileDialog({directory:v.value,multiple:p.value,accept:c.value,reset:!0});y(e=>q(e)),l.useDropZone(u,{dataTypes:c.value?c.value.split(","):void 0,multiple:p.value,preventDefaultForUnhandled:!0,onDrop:e=>q(e)});const x=(e=0)=>d.value>0&&e+r.value.length>d.value,b=e=>m?t.isString(m)?m:m(e):e.name,q=async l=>{const n=[...l||[]],u=[];for(const e of n){let l=!0;try{l=await(null==f?void 0:f(e))}catch{l=!1}!l&&t.isFunction(f)||u.push(e)}if(!u.length||s.value||x(u.length)){if(!x(null==u?void 0:u.length))return;g("exceed-limit",r.value,u)}else r.value=[...r.value,...u.map(t=>{const l={name:t.name,uid:e.nanoid(),file:t,status:"init",percent:0,url:URL.createObjectURL(t)};return{...l,name:b(l)}})],g("change",r.value,[...u])};return{...o,handleUpload:async e=>{if(s.value)return;let t;try{if(t=null==h?void 0:h(e),t instanceof Promise)return;j()}catch(l){throw l}},handleFiles:q}};
|
package/lib/Upload/index.d.ts
CHANGED
@@ -38,6 +38,7 @@ declare const Upload: {
|
|
38
38
|
showUploadButton: boolean;
|
39
39
|
onBeforeUpload: import('./type').OnBeforeUpload;
|
40
40
|
onBeforeRemove: import('./type').OnBeforeRemove;
|
41
|
+
onButtonClick: import('./type').OnButtonClick;
|
41
42
|
}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
|
42
43
|
uploadRef: HTMLDivElement;
|
43
44
|
}, HTMLDivElement, import('vue').ComponentProvideOptions, {
|
@@ -77,6 +78,7 @@ declare const Upload: {
|
|
77
78
|
showUploadButton: boolean;
|
78
79
|
onBeforeUpload: import('./type').OnBeforeUpload;
|
79
80
|
onBeforeRemove: import('./type').OnBeforeRemove;
|
81
|
+
onButtonClick: import('./type').OnButtonClick;
|
80
82
|
}>;
|
81
83
|
__isFragment?: never;
|
82
84
|
__isTeleport?: never;
|
@@ -116,6 +118,7 @@ declare const Upload: {
|
|
116
118
|
showUploadButton: boolean;
|
117
119
|
onBeforeUpload: import('./type').OnBeforeUpload;
|
118
120
|
onBeforeRemove: import('./type').OnBeforeRemove;
|
121
|
+
onButtonClick: import('./type').OnButtonClick;
|
119
122
|
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
|
120
123
|
$slots: any;
|
121
124
|
}) & {
|
package/lib/Upload/type.d.ts
CHANGED
@@ -22,6 +22,7 @@ export interface UploadProps {
|
|
22
22
|
imagePreview?: boolean;
|
23
23
|
onBeforeUpload?: OnBeforeUpload;
|
24
24
|
onBeforeRemove?: OnBeforeRemove;
|
25
|
+
onButtonClick?: OnButtonClick;
|
25
26
|
}
|
26
27
|
export interface UploadEmits {
|
27
28
|
(e: 'update:fileList', value: FileItem[]): void;
|
@@ -58,8 +59,9 @@ export type FileStatus = 'init' | 'uploading' | 'done' | 'error' | 'removed';
|
|
58
59
|
export type FileName = string | ((fileItem: FileItem) => string);
|
59
60
|
export type FileListType = 'text' | 'picture' | 'picture-card';
|
60
61
|
export type ImageLoading = 'eager' | 'lazy';
|
61
|
-
export type OnBeforeUpload = (file: File) => boolean
|
62
|
+
export type OnBeforeUpload = (file: File) => boolean | Promise<boolean>;
|
62
63
|
export type OnBeforeRemove = (fileItem: FileItem) => Promise<boolean>;
|
64
|
+
export type OnButtonClick = (event: Event) => Promise<FileList> | void;
|
63
65
|
export type FileItem = {
|
64
66
|
uid: string;
|
65
67
|
name: string;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../utils/dom.js"),/* empty css */;/* empty css */const o=require("../components/Icon/index.vue3.js");;/* empty css */const n=e.defineComponent({__name:"IconCopy",setup:n=>(n,t)=>(e.openBlock(),e.createBlock(e.unref(o.default),e.normalizeProps(e.guardReactiveProps(n.$attrs)),{default:e.withCtx(()=>[...t[0]||(t[0]=[e.createElementVNode("path",{d:"M20 6h18a2 2 0 0 1 2 2v22M8 16v24c0 1.105.891 2 1.996 2h20.007A1.99 1.99 0 0 0 32 40.008V15.997A1.997 1.997 0 0 0 30 14H10a2 2 0 0 0-2 2Z"},null,-1)])]),_:1},16))});exports.default=n;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./IconCopy.vue.js");exports.default=e.default;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../utils/dom.js"),/* empty css */;/* empty css */const n=require("../components/Icon/index.vue3.js");;/* empty css */const o=e.defineComponent({__name:"IconDelete",setup:o=>(o,t)=>(e.openBlock(),e.createBlock(e.unref(n.default),e.normalizeProps(e.guardReactiveProps(o.$attrs)),{default:e.withCtx(()=>[...t[0]||(t[0]=[e.createElementVNode("path",{d:"M5 11h5.5m0 0v29a1 1 0 0 0 1 1h25a1 1 0 0 0 1-1V11m-27 0H16m21.5 0H43m-5.5 0H32m-16 0V7h16v4m-16 0h16M20 18v15m8-15v15"},null,-1)])]),_:1},16))});exports.default=o;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./IconDelete.vue.js");exports.default=e.default;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../utils/dom.js"),/* empty css */;/* empty css */const n=require("../components/Icon/index.vue3.js");;/* empty css */const o=e.defineComponent({__name:"IconEdit",setup:o=>(o,t)=>(e.openBlock(),e.createBlock(e.unref(n.default),e.normalizeProps(e.guardReactiveProps(o.$attrs)),{default:e.withCtx(()=>[...t[0]||(t[0]=[e.createElementVNode("path",{d:"m30.48 19.038 5.733-5.734a1 1 0 0 0 0-1.414l-5.586-5.586a1 1 0 0 0-1.414 0l-5.734 5.734m7 7L15.763 33.754a1 1 0 0 1-.59.286l-6.048.708a1 1 0 0 1-1.113-1.069l.477-6.31a1 1 0 0 1 .29-.631l14.7-14.7m7 7-7-7M6 42h36"},null,-1)])]),_:1},16))});exports.default=o;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./IconEdit.vue.js");exports.default=e.default;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../utils/dom.js"),/* empty css */;/* empty css */const n=require("../components/Icon/index.vue3.js");;/* empty css */const t=e.defineComponent({__name:"IconExclamation",setup:t=>(t,o)=>(e.openBlock(),e.createBlock(e.unref(n.default),e.normalizeProps(e.guardReactiveProps(t.$attrs)),{default:e.withCtx(()=>[...o[0]||(o[0]=[e.createElementVNode("path",{d:"M23 9h2v21h-2z"},null,-1),e.createElementVNode("path",{fill:"currentColor",stroke:"none",d:"M23 9h2v21h-2z"},null,-1),e.createElementVNode("path",{d:"M23 37h2v2h-2z"},null,-1),e.createElementVNode("path",{fill:"currentColor",stroke:"none",d:"M23 37h2v2h-2z"},null,-1)])]),_:1},16))});exports.default=t;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./IconExclamation.vue.js");exports.default=e.default;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../utils/dom.js"),/* empty css */;/* empty css */const n=require("../components/Icon/index.vue3.js");;/* empty css */const o=e.defineComponent({__name:"IconEyeClose",setup:o=>(o,t)=>(e.openBlock(),e.createBlock(e.unref(n.default),e.normalizeProps(e.guardReactiveProps(o.$attrs)),{default:e.withCtx(()=>[...t[0]||(t[0]=[e.createElementVNode("path",{d:"M24 37c6.627 0 12.627-4.333 18-13-5.373-8.667-11.373-13-18-13-6.627 0-12.627 4.333-18 13 5.373 8.667 11.373 13 18 13Z","clip-rule":"evenodd"},null,-1),e.createElementVNode("path",{d:"M29 24a5 5 0 1 1-10 0 5 5 0 0 1 10 0Z"},null,-1)])]),_:1},16))});exports.default=o;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./IconEyeClose.vue.js");exports.default=e.default;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../utils/dom.js"),/* empty css */;/* empty css */const n=require("../components/Icon/index.vue3.js");;/* empty css */const t=e.defineComponent({__name:"IconEyeOpen",setup:t=>(t,o)=>(e.openBlock(),e.createBlock(e.unref(n.default),e.normalizeProps(e.guardReactiveProps(t.$attrs)),{default:e.withCtx(()=>[...o[0]||(o[0]=[e.createElementVNode("path",{d:"M14 14.5c-2.69 2-5.415 5.33-8 9.5 5.373 8.667 11.373 13 18 13 3.325 0 6.491-1.09 9.5-3.271M17.463 12.5C19 11 21.75 11 24 11c6.627 0 12.627 4.333 18 13-1.766 2.848-3.599 5.228-5.5 7.14"},null,-1),e.createElementVNode("path",{d:"M29 24a5 5 0 1 1-10 0 5 5 0 0 1 10 0ZM6.852 7.103l34.294 34.294"},null,-1)])]),_:1},16))});exports.default=t;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./IconEyeOpen.vue.js");exports.default=e.default;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../utils/dom.js"),/* empty css */;/* empty css */const n=require("../components/Icon/index.vue3.js");;/* empty css */const o=e.defineComponent({__name:"IconMinus",setup:o=>(o,t)=>(e.openBlock(),e.createBlock(e.unref(n.default),e.normalizeProps(e.guardReactiveProps(o.$attrs)),{default:e.withCtx(()=>[...t[0]||(t[0]=[e.createElementVNode("path",{d:"M5 24h38"},null,-1)])]),_:1},16))});exports.default=o;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./IconMinus.vue.js");exports.default=e.default;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../utils/dom.js"),/* empty css */;/* empty css */const n=require("../components/Icon/index.vue3.js");;/* empty css */const o=e.defineComponent({__name:"IconSearch",setup:o=>(o,t)=>(e.openBlock(),e.createBlock(e.unref(n.default),e.normalizeProps(e.guardReactiveProps(o.$attrs)),{default:e.withCtx(()=>[...t[0]||(t[0]=[e.createElementVNode("path",{d:"M33.072 33.071c6.248-6.248 6.248-16.379 0-22.627-6.249-6.249-16.38-6.249-22.628 0-6.248 6.248-6.248 16.379 0 22.627 6.248 6.248 16.38 6.248 22.628 0Zm0 0 8.485 8.485"},null,-1)])]),_:1},16))});exports.default=o;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./IconSearch.vue.js");exports.default=e.default;
|