You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
8.2 KiB

var j=(e,a,f)=>new Promise((g,i)=>{var p=t=>{try{n(f.next(t))}catch(c){i(c)}},w=t=>{try{n(f.throw(t))}catch(c){i(c)}},n=t=>t.done?g(t.value):Promise.resolve(t.value).then(p,w);n((f=f.apply(e,a)).next())});import W from"./Cropper-cba84681.js";import{M as q,d as Y,da as H,f as B,r as U,O as J,e_ as K,R as Z,T as P,Q as F,dw as x,b as o,F as ee,V as E,dd as G,bL as ae,m as oe,e as te,aj as re,aT as le,aU as T,o as M,a as D,w as v,j as I,x as k,i as V,h as ne,g as X,aP as ie}from"./index-f4658ae7.js";import{U as se}from"./index-dc88db7c.js";import"./index-9eb90d49.js";import{A as pe}from"./index-0ff95629.js";import{BasicModal as ce}from"./index-5a53dd49.js";import{dataURLtoBlob as de}from"./base64Conver-f3be3d44.js";import{u as ue}from"./Col-dfe054f2.js";import{useModalInner as me}from"./useModal-fca6ba59.js";import"./_createAggregator-c692fd07.js";import"./_baseEach-1e26df34.js";import"./_baseFor-37716d03.js";import"./DeleteOutlined-872fe62f.js";import"./index-d51f1b4b.js";import"./FormItem-a040ce00.js";import"./index-2c9d82ce.js";import"./useSize-90c5eaba.js";import"./useRefs-2f4603d7.js";import"./eagerComputed-1ea78af6.js";import"./BasicModal-649ceacc.js";import"./props-7e339a09.js";import"./useModalDrag-cd2b369a.js";import"./ModalWrapper-3b9dd855.js";import"./useModalContext-bf554b39.js";import"./ModalClose-f74589aa.js";import"./FullscreenOutlined-71d2eabf.js";import"./ModalFooter-308afa08.js";import"./ModalHeader-8905dc99.js";import"./useModalFullScreen-941437b0.js";var ve={small:8,middle:16,large:24},fe=function(){return{prefixCls:String,size:{type:[String,Number,Array]},direction:E.oneOf(G("horizontal","vertical")).def("horizontal"),align:E.oneOf(G("start","end","center","baseline")),wrap:{type:Boolean,default:void 0}}};function ge(e){return typeof e=="string"?ve[e]:e||0}var be=Y({name:"ASpace",props:fe(),slots:["split"],setup:function(a,f){var g=f.slots,i=H("space",a),p=i.prefixCls,w=i.space,n=i.direction,t=ue(),c=B(function(){var r,u,z;return(z=(r=a.size)!==null&&r!==void 0?r:(u=w.value)===null||u===void 0?void 0:u.size)!==null&&z!==void 0?z:"small"}),h=U(),d=U();J(c,function(){var r=(Array.isArray(c.value)?c.value:[c.value,c.value]).map(function(z){return ge(z)}),u=K(r,2);h.value=u[0],d.value=u[1]},{immediate:!0});var $=B(function(){return a.align===void 0&&a.direction==="horizontal"?"center":a.align}),b=B(function(){var r;return Z(p.value,"".concat(p.value,"-").concat(a.direction),(r={},P(r,"".concat(p.value,"-rtl"),n.value==="rtl"),P(r,"".concat(p.value,"-align-").concat($.value),$.value),r))}),N=B(function(){return n.value==="rtl"?"marginLeft":"marginRight"}),_=B(function(){var r={};return t.value&&(r.columnGap="".concat(h.value,"px"),r.rowGap="".concat(d.value,"px")),F(F({},r),a.wrap&&{flexWrap:"wrap",marginBottom:"".concat(-d.value,"px")})});return function(){var r,u,z=a.wrap,l=a.direction,m=l===void 0?"horizontal":l,s=x((r=g.default)===null||r===void 0?void 0:r.call(g)),y=s.length;if(y===0)return null;var C=(u=g.split)===null||u===void 0?void 0:u.call(g),S="".concat(p.value,"-item"),A=h.value,L=y-1;return o("div",{class:b.value,style:_.value},[s.map(function(Q,O){var R={};return t.value||(m==="vertical"?O<L&&(R={marginBottom:"".concat(A/(C?2:1),"px")}):R=F(F({},O<L&&P({},N.value,"".concat(A/(C?2:1),"px"))),z&&{paddingBottom:"".concat(d.value,"px")})),o(ee,null,[o("div",{class:S,style:R},[Q]),O<L&&C&&o("span",{class:"".concat(S,"-split"),style:R},[C])])})])}}});const ye=q(be);const Ce={circled:{type:Boolean,default:!0},uploadApi:{type:Function}},ze=Y({name:"CropperModal",components:{BasicModal:ce,Space:ye,CropperImage:W,Upload:se,Avatar:pe,Tooltip:ae},props:Ce,emits:["uploadSuccess","register"],setup(e,{emit:a}){let f="";const g=U(""),i=U(""),p=U();let w=1,n=1;const{prefixCls:t}=oe("cropper-am"),[c,{closeModal:h,setModalProps:d}]=me(),{t:$}=te();function b(l){const m=new FileReader;return m.readAsDataURL(l),g.value="",i.value="",m.onload=function(s){var y,C;g.value=(C=(y=s.target)==null?void 0:y.result)!=null?C:"",f=l.name},!1}function N({imgBase64:l}){i.value=l}function _(l){p.value=l}function r(l,m){var s,y;l==="scaleX"&&(w=m=w===-1?1:-1),l==="scaleY"&&(n=m=n===-1?1:-1),(y=(s=p==null?void 0:p.value)==null?void 0:s[l])==null||y.call(s,m)}function u(l,m){const s=l.split(","),y=s[0].match(/:(.*?);/)[1],C=atob(s[1]);let S=C.length,A=new Uint8Array(S);for(;S--;)A[S]=C.charCodeAt(S);return new File([A],m,{type:y})}function z(){return j(this,null,function*(){const l=e.uploadApi;if(l&&re(l)){const m=de(i.value);try{d({confirmLoading:!0});const s=yield l({name:"file",file:m,filename:f,fileSrc:u(i.value,f)});a("uploadSuccess",{source:i.value,data:s.data}),h()}finally{d({confirmLoading:!1})}}})}return{t:$,prefixCls:t,src:g,register:c,previewSource:i,handleBeforeUpload:b,handleCropend:N,handleReady:_,handlerToolbar:r,handleOk:z}}});const we=["src","alt"];function he(e,a,f,g,i,p){const w=T("CropperImage"),n=T("a-button"),t=T("Tooltip"),c=T("Upload"),h=T("Space"),d=T("Avatar"),$=T("BasicModal");return M(),D($,ie(e.$attrs,{onRegister:e.register,title:e.t("component.cropper.modalTitle"),width:"800px",canFullscreen:!1,onOk:e.handleOk,okText:e.t("component.cropper.okText")}),{default:v(()=>[I("div",{class:k(e.prefixCls)},[I("div",{class:k(`${e.prefixCls}-left`)},[I("div",{class:k(`${e.prefixCls}-cropper`)},[e.src?(M(),D(w,{key:0,src:e.src,height:"300px",circled:e.circled,onCropend:e.handleCropend,onReady:e.handleReady},null,8,["src","circled","onCropend","onReady"])):V("",!0)],2),I("div",{class:k(`${e.prefixCls}-toolbar`)},[o(c,{fileList:[],accept:"image/*",beforeUpload:e.handleBeforeUpload},{default:v(()=>[o(t,{title:e.t("component.cropper.selectImage"),placement:"bottom"},{default:v(()=>[o(n,{size:"small",preIcon:"ant-design:upload-outlined",type:"primary"},{default:v(()=>[ne("\u9009\u62E9\u56FE\u7247")]),_:1})]),_:1},8,["title"])]),_:1},8,["beforeUpload"]),o(h,null,{default:v(()=>[o(t,{title:e.t("component.cropper.btn_reset"),placement:"bottom"},{default:v(()=>[o(n,{type:"primary",preIcon:"ant-design:reload-outlined",size:"small",disabled:!e.src,onClick:a[0]||(a[0]=b=>e.handlerToolbar("reset"))},null,8,["disabled"])]),_:1},8,["title"]),o(t,{title:e.t("component.cropper.btn_rotate_left"),placement:"bottom"},{default:v(()=>[o(n,{type:"primary",preIcon:"ant-design:rotate-left-outlined",size:"small",disabled:!e.src,onClick:a[1]||(a[1]=b=>e.handlerToolbar("rotate",-45))},null,8,["disabled"])]),_:1},8,["title"]),o(t,{title:e.t("component.cropper.btn_rotate_right"),placement:"bottom"},{default:v(()=>[o(n,{type:"primary",preIcon:"ant-design:rotate-right-outlined",size:"small",disabled:!e.src,onClick:a[2]||(a[2]=b=>e.handlerToolbar("rotate",45))},null,8,["disabled"])]),_:1},8,["title"]),o(t,{title:e.t("component.cropper.btn_scale_x"),placement:"bottom"},{default:v(()=>[o(n,{type:"primary",preIcon:"vaadin:arrows-long-h",size:"small",disabled:!e.src,onClick:a[3]||(a[3]=b=>e.handlerToolbar("scaleX"))},null,8,["disabled"])]),_:1},8,["title"]),o(t,{title:e.t("component.cropper.btn_scale_y"),placement:"bottom"},{default:v(()=>[o(n,{type:"primary",preIcon:"vaadin:arrows-long-v",size:"small",disabled:!e.src,onClick:a[4]||(a[4]=b=>e.handlerToolbar("scaleY"))},null,8,["disabled"])]),_:1},8,["title"]),o(t,{title:e.t("component.cropper.btn_zoom_in"),placement:"bottom"},{default:v(()=>[o(n,{type:"primary",preIcon:"ant-design:zoom-in-outlined",size:"small",disabled:!e.src,onClick:a[5]||(a[5]=b=>e.handlerToolbar("zoom",.1))},null,8,["disabled"])]),_:1},8,["title"]),o(t,{title:e.t("component.cropper.btn_zoom_out"),placement:"bottom"},{default:v(()=>[o(n,{type:"primary",preIcon:"ant-design:zoom-out-outlined",size:"small",disabled:!e.src,onClick:a[6]||(a[6]=b=>e.handlerToolbar("zoom",-.1))},null,8,["disabled"])]),_:1},8,["title"])]),_:1})],2)],2),I("div",{class:k(`${e.prefixCls}-right`)},[I("div",{class:k(`${e.prefixCls}-preview`)},[e.previewSource?(M(),X("img",{key:0,src:e.previewSource,alt:e.t("component.cropper.preview")},null,8,we)):V("",!0)],2),e.previewSource?(M(),X("div",{key:0,class:k(`${e.prefixCls}-group`)},[o(d,{src:e.previewSource,size:"large"},null,8,["src"]),o(d,{src:e.previewSource,size:48},null,8,["src"]),o(d,{src:e.previewSource,size:64},null,8,["src"]),o(d,{src:e.previewSource,size:80},null,8,["src"])],2)):V("",!0)],2)],2)]),_:1},16,["onRegister","title","onOk","okText"])}const xe=le(ze,[["render",he]]);export{xe as default};