@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
2 lines (1 loc) • 42.2 kB
JavaScript
(function(Z,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js"],i):(Z=typeof globalThis<"u"?globalThis:Z||self,i(Z["image-cropper"]={},Z.Vue,Z.LodashES,Z.dynamicResolver))})(this,function(Z,i,re,ke){"use strict";function ve(e,t){let a;function p(c){const{properties:o,title:l,ignore:u}=c,s=u&&Array.isArray(u),v=Object.keys(o).reduce((T,P)=>((!s||!u.find($=>$===P))&&(T[P]=o[P].type==="object"&&o[P].properties?p(o[P]):re.cloneDeep(o[P].default)),T),{});if(l&&(!s||!u.find(T=>T==="id"))){const T=l.toLowerCase().replace(/-/g,"_");v.id=`${T}_${Math.random().toString().slice(2,6)}`}return v}function w(c){const{properties:o,title:l,required:u}=c;if(u&&Array.isArray(u)){const s=u.reduce((v,T)=>(v[T]=o[T].type==="object"&&o[T].properties?p(o[T]):re.cloneDeep(o[T].default),v),{});if(l&&u.find(v=>v==="id")){const v=l.toLowerCase().replace(/-/g,"_");s.id=`${v}_${Math.random().toString().slice(2,6)}`}return s}return{type:l}}function r(c,o={},l){const u=e[c];if(u){let s=w(u);const v=t[c];return s=v?v({getSchemaByType:r},s,o,l):s,a!=null&&a.appendIdentifyForNewControl&&a.appendIdentifyForNewControl(s),s}return null}function x(c,o){const l=p(o);return Object.keys(l).reduce((u,s)=>(Object.prototype.hasOwnProperty.call(c,s)&&(u[s]&&re.isPlainObject(u[s])&&re.isPlainObject(c[s]||!c[s])?Object.assign(u[s],c[s]||{}):u[s]=c[s]),u),l),l}function F(c,o){return Object.keys(c).filter(u=>c[u]!=null).reduce((u,s)=>{if(o.has(s)){const v=o.get(s);if(typeof v=="string")u[v]=c[s];else{const T=v(s,c[s],c);Object.assign(u,T)}}else u[s]=c[s];return u},{})}function k(c,o,l=new Map){const u=x(c,o);return F(u,l)}function m(c){var l;const o=c.type;if(o){const u=e[o];if(!u)return c;const s=x(c,u),v=((l=c.editor)==null?void 0:l.type)||"";if(v){const T=e[v],P=x(c.editor,T);s.editor=P}return s}return c}function S(c){a=c}return{getSchemaByType:r,resolveSchemaWithDefaultValue:m,resolveSchemaToProps:k,mappingSchemaToProps:F,setDesignerContext:S}}const pe={},he={},{getSchemaByType:Ut,resolveSchemaWithDefaultValue:Be,resolveSchemaToProps:$e,mappingSchemaToProps:ze,setDesignerContext:qt}=ve(pe,he);function Oe(e={}){function t(m,S,c,o){if(typeof c=="number")return o[m].length===c;if(typeof c=="object"){const l=Object.keys(c)[0],u=c[l];if(l==="not")return Number(o[m].length)!==Number(u);if(l==="moreThan")return Number(o[m].length)>=Number(u);if(l==="lessThan")return Number(o[m].length)<=Number(u)}return!1}function a(m,S,c,o){return o[m]&&o[m].propertyValue&&String(o[m].propertyValue.value)===String(c)}const p=new Map([["length",t],["getProperty",a]]);Object.keys(e).reduce((m,S)=>(m.set(S,e[S]),m),p);function w(m,S){const c=m;return typeof S=="number"?[{target:c,operator:"length",param:null,value:Number(S)}]:typeof S=="boolean"?[{target:c,operator:"getProperty",param:m,value:!!S}]:typeof S=="object"?Object.keys(S).map(o=>{if(o==="length")return{target:c,operator:"length",param:null,value:S[o]};const l=o,u=S[o];return{target:c,operator:"getProperty",param:l,value:u}}):[]}function r(m){return Object.keys(m).reduce((c,o)=>{const l=w(o,m[o]);return c.push(...l),c},[])}function x(m,S){if(p.has(m.operator)){const c=p.get(m.operator);return c&&c(m.target,m.param,m.value,S)||!1}return!1}function F(m,S){return r(m).reduce((l,u)=>l&&x(u,S),!0)}function k(m,S){const c=Object.keys(m),o=c.includes("allOf"),l=c.includes("anyOf"),u=o||l,T=(u?m[u?o?"allOf":"anyOf":"allOf"]:[m]).map($=>F($,S));return o?!T.includes(!1):T.includes(!0)}return{parseValueSchema:k}}const je={convertTo:(e,t,a,p)=>{e.appearance||(e.appearance={}),e.appearance[t]=a},convertFrom:(e,t,a)=>e.appearance?e.appearance[t]:e[t]},Ve={convertFrom:(e,t,a)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},Re={convertTo:(e,t,a,p)=>{e.editor&&(e.editor[t]=a)},convertFrom:(e,t,a)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,t)?e.editor[t]:e[t]},ge={button:{type:"button",name:"按钮"},"response-toolbar":{type:"response-toolbar",name:"工具栏"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮"},"content-container":{type:"content-container",name:"容器"},"input-group":{type:"input-group",name:"文本"},textarea:{type:"textarea",name:"多行文本"},lookup:{type:"lookup",name:"帮助"},"number-spinner":{type:"number-spinner",name:"数值"},"date-picker":{type:"date-picker",name:"日期"},switch:{type:"switch",name:"开关"},"radio-group":{type:"radio-group",name:"单选组"},"check-box":{type:"check-box",name:"复选框"},"check-group":{type:"check-group",name:"复选框组"},"combo-list":{type:"combo-list",name:"下拉列表"},"response-form":{type:"response-form",name:"卡片面板"},"response-layout":{type:"response-layout",name:"布局容器",icon:"response-layout-3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"response-layout-1"},"tree-grid":{type:"tree-grid",name:"树表格"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块"},component:{type:"component",name:"组件"},tabs:{type:"tabs",name:"标签页"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮"},"html-template":{type:"html-template",name:"模板容器"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"}},He={convertFrom:(e,t,a)=>{var w;const p=e.editor&&e.editor[t]?e.editor[t]:e[t];return((w=ge[p])==null?void 0:w.name)||p}},We={convertTo:(e,t,a,p)=>{e[t]=e[t]},convertFrom:(e,t,a)=>e.editor?a.getRealEditorType(e.editor.type):""},Le={convertTo:(e,t,a,p)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e.formatter?e.formatter[t]=a:e.formatter={[t]:a})},convertFrom:(e,t,a)=>{if(e.formatter){if(t==="trueText")return e.formatter.trueText;if(t==="falseText")return e.formatter.falseText;if(t==="prefix")return e.formatter.prefix;if(t==="suffix")return e.formatter.suffix;if(t==="precision")return e.formatter.precision;if(t==="decimal")return e.formatter.decimal;if(t==="thousand")return e.formatter.thousand;if(t==="tempDateFormat")return e.formatter.dateFormat==="yyyy年MM月dd日"?"yearMonthDay":e.formatter.dateFormat==="yyyy-MM-dd HH:mm:ss"?"yyyy-MM-ddTHH:mm:ss":e.formatter.dateFormat==="yyyy/MM/dd HH:mm:ss"?"yyyy/MM/ddTHH:mm:ss":e.formatter.dateFormat==="yyyy年MM月dd日 HH时mm分ss秒"?"yearMonthDayHourMinuteSecond":e.formatter.tempDateFormat||e.formatter.dateFormat||"yyyy-MM-dd";if(t==="customFormat")return e.formatter.customFormat;if(t==="type")return e.formatter.type||"none"}return"none"}},_e={convertTo:(e,t,a,p)=>{e.command?e.command[t]=a:e.command={[t]:a},t==="enable"&&a&&(e.command.commands||(e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]))},convertFrom:(e,t,a)=>e.command&&t==="enable"?e.command.enable:""},Ue={convertTo:(e,t,a,p)=>{e.column?e.column[t]=a:e.column={[t]:a},t==="fitColumns"&&a&&(e.column.fitMode||(e.column.fitMode="average"))},convertFrom:(e,t,a)=>{if(e.column){if(t==="fitColumns")return e.column.fitColumns;if(t==="fitMode")return e.column.fitMode}return""}},qe={convertTo:(e,t,a,p)=>{e.summary?e.summary[t]=a:e.summary={[t]:a},t==="enable"&&a&&(e.summary?e.summary.groupFields||(e.summary.groupFields=[]):e.summary={enable:a,groupFields:[]})},convertFrom:(e,t,a)=>e.summary&&t==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""},Qe={convertTo:(e,t,a,p)=>{e.group?e.group[t]=a:e.group={[t]:a},t==="enable"&&a&&(e.group?e.group.groupFields||(e.group.groupFields=[]):e.group={enable:a,groupFields:[],showSummary:!1})},convertFrom:(e,t,a)=>{if(e.group){if(t==="enable")return e.group.enable;if(t==="showSummary")return e.group.showSummary}}},Ge={convertFrom:(e,t)=>e.binding?e.binding.path:"",convertTo:(e,t,a)=>{if(a&&a.length>0){const p=a[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=p.bindingField,e.binding.field=p.id,e.binding.fullPath=p.path,e.path=p.bindingPath}}},Je={convertTo:(e,t,a,p)=>{e.pagination||(e.pagination={}),e.pagination[t]=a},convertFrom:(e,t,a)=>e.pagination?e.pagination[t]:e[t]},Ze={convertTo:(e,t,a,p)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[t]=a},convertFrom:(e,t,a)=>e.rowNumber?e.rowNumber[t]:e[t]},Ie={convertTo:(e,t,a,p)=>{e.selection||(e.selection={}),e.selection[t]=a},convertFrom:(e,t,a)=>e.selection?e.selection[t]:e[t]},Ye={convertFrom:(e,t,a)=>e[t]&&e[t].length?`共 ${e[t].length} 项`:""},Xe={convertFrom:(e,t)=>e[t]||"",convertTo:(e,t,a)=>{e[t]=a}},Ke={convertTo:(e,t,a,p)=>{e.size||(e.size={}),e.size[t]=a},convertFrom:(e,t,a)=>e.size?e.size[t]:e[t]},et={convertFrom:(e,t,a)=>{var p,w;return(p=e.formatter)!=null&&p.data&&t==="formatterEnumData"&&!e.formatterEnumData?(w=e.formatter)==null?void 0:w.data:e.formatterEnumData}},tt={convertTo:(e,t,a,p)=>{e.sort||(e.sort={}),e.sort[t]=a},convertFrom:(e,t,a)=>{var p,w;if(t==="mode")return((p=e.sort)==null?void 0:p.mode)||"client";if(t==="multiSort")return!!((w=e.sort)!=null&&w.multiSort)}},at={convertTo:(e,t,a,p)=>{e.filter||(e.filter={}),e.filter[t]=a},convertFrom:(e,t,a)=>{var p;if(t==="mode")return((p=e.filter)==null?void 0:p.mode)||"client"}},rt={convertTo:(e,t,a,p)=>{e.rowOption?e.rowOption[t]=a:e.rowOption={[t]:a}},convertFrom:(e,t,a)=>{if(e.rowOption){if(t==="customRowStyle")return e.rowOption.customRowStyle;if(t==="customCellStyle")return e.rowOption.customCellStyle}return""}};function ye(e,t,a){const p=new Map([["/converter/appearance.converter",je],["/converter/buttons.converter",Ve],["/converter/property-editor.converter",Re],["/converter/items-count.converter",Ye],["/converter/type.converter",He],["/converter/change-editor.converter",We],["/converter/change-formatter.converter",Le],["/converter/column-command.converter",_e],["/converter/column-option.converter",Ue],["/converter/summary.converter",qe],["/converter/group.converter",Qe],["/converter/form-group-label.converter",Xe],["/converter/field-selector.converter",Ge],["/converter/pagination.converter",Je],["/converter/row-number.converter",Ze],["/converter/grid-selection.converter",Ie],["/converter/size.converter",Ke],["/converter/change-formatter-enum.converter",et],["/converter/grid-sort.converter",tt],["/converter/grid-filter.converter",at],["/converter/row-option.converter",rt]]),w=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),r=Oe();function x(u,s){return()=>r.parseValueSchema(u,s)}function F(u,s,v){return u.includes("visible")&&s.visible!==void 0?typeof s.visible=="boolean"?()=>!!s.visible:s.visible===void 0?!0:x(s.visible,v):()=>!0}function k(u,s,v){return u.includes("readonly")&&s.readonly!==void 0?typeof s.readonly=="boolean"?()=>!!s.readonly:x(s.readonly,v):()=>!1}function m(u,s){const v=u.$converter||s;return typeof v=="string"&&v&&p.has(v)?p.get(v)||null:v||null}function S(u,s,v,T,P,$="",V=""){return Object.keys(u).map(N=>{const b=i.ref(1),D=N,h=u[N],R=Object.keys(h),O=h.title,d=h.type,M=w.get(d)||{type:"input-group",enableClear:!1},g=h.editor?Object.assign({},M,h.editor):Object.assign({},M),C=F(R,h,s),j=k(R,h,s);g.readonly=g.readonly===void 0?j():g.readonly;const z=h.type==="cascade"?S(h.properties,s,v,T,P,$,V):[],E=!0;let L=m(h,V);const G=i.computed({get(){if(b.value){if(["class","style"].find(ee=>ee===D)&&!L&&(L=p.get("/converter/appearance.converter")||null),L&&L.convertFrom)return L.convertFrom(v,N,P,$);const I=v[N];return Object.prototype.hasOwnProperty.call(h,"defaultValue")&&(I===void 0||typeof I=="string"&&I==="")?h.type==="boolean"?h.defaultValue:h.defaultValue||"":I}return null},set(I){b.value+=1,L&&L.convertTo?(L.convertTo(T,N,I,P,$),L.convertTo(v,N,I,P,$)):(T[N]=I,v[N]=I)}}),{refreshPanelAfterChanged:W,description:U,isExpand:_,parentPropertyID:Q}=h,A={propertyID:D,propertyName:O,propertyType:d,propertyValue:G,editor:g,visible:C,readonly:j,cascadeConfig:z,hideCascadeTitle:E,refreshPanelAfterChanged:W,description:U,isExpand:_,parentPropertyID:Q};return s[D]=A,A})}function c(u,s,v={}){const T={},P=e[u];return P&&P.categories?Object.keys(P.categories).map(V=>{const B=P.categories[V],N=B==null?void 0:B.title,b=S(B.properties||{},T,{},v,s);return{categoryId:V,categoryName:N,properties:b}}):[]}function o(u,s,v,T,P=""){const $=s.$ref.schema,V=s.$ref.converter,B=v[$],N=B.type,b=a(B),D={},h=e[N];if(h&&h.categories){const R=h.categories[u],O=R==null?void 0:R.title;V&&Object.keys(R.properties).forEach(g=>{R.properties[g].$converter=V});const d=(R==null?void 0:R.properties)||{},M=S(d,D,b,B,T,P);return{categoryId:u,categoryName:O,properties:M}}return{categoryId:u,categoryName:"",properties:[]}}function l(u,s,v,T,P){const $=u.type,V=a(u),B={};let N=P||e[$];if(N&&Object.keys(N).length===0&&v&&v.getPropConfig&&(N=v.getPropConfig(T)),N&&N.categories){const b=[];return Object.keys(N.categories).map(D=>{const h=N.categories[D];if(h.$ref){b.push(o(D,h,u,s,T));return}const R=h==null?void 0:h.title,O=h==null?void 0:h.tabId,d=h==null?void 0:h.tabName,M=h==null?void 0:h.hide,g=h==null?void 0:h.hideTitle,C=S(h.properties||{},B,V,u,s,T,h.$converter),{setPropertyRelates:j}=h,z=h==null?void 0:h.parentPropertyID;b.push({categoryId:D,categoryName:R,tabId:O,tabName:d,hide:M,properties:C,hideTitle:g,setPropertyRelates:j,parentPropertyID:z})}),b}return[]}return{getPropertyConfigBySchema:l,getPropertyConfigByType:c,propertyConverterMap:p}}const be={},Me={};ye(be,Me,Be);const xe={},we={},{getSchemaByType:Qt,resolveSchemaWithDefaultValue:nt,resolveSchemaToProps:Gt,mappingSchemaToProps:Jt,setDesignerContext:Zt}=ve(xe,we),Te={},Se={};ye(Te,Se,nt);function it(e,t,a=new Map,p=(x,F,k,m)=>F,w={},r=x=>x){return pe[t.title]=t,he[t.title]=p,be[t.title]=w,Me[t.title]=r,xe[t.title]=t,we[t.title]=p,Te[t.title]=w,Se[t.title]=r,(x={},F=!0)=>{if(!F)return ze(x,a);const k=$e(x,t,a),m=Object.keys(e).reduce((S,c)=>(S[c]=e[c].default,S),{});return Object.assign(m,k)}}function ot(e,t){return{customClass:t.class,customStyle:t.style}}function lt(e,t,a){return t}const st=new Map([["appearance",ot]]),ut={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/image-cropper.schema.json",title:"image-cropper",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for image-cropper",type:"string"},type:{description:"The type string of image-cropper",type:"string",default:"image-cropper"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},ct={title:"image-cropper",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"}}}}},ne={format:{type:String,default:"png"},maintainAspectRatio:{type:Boolean,default:!0},transform:{type:Object,default:{scale:0,rotate:0,flipH:!1,flipV:!1}},aspectRatio:{type:Number,default:1},resizeToWidth:{type:Number,default:0},resizeToHeight:{type:Number,default:0},cropperMinWidth:{type:Number,default:0},cropperMinHeight:{type:Number,default:0},canvasRotation:{type:Number,default:0},roundCropper:{type:Boolean,default:!0},onlyScaleDown:{type:Boolean,default:!1},imageQuality:{type:Number,default:92},autoCrop:{type:Boolean,default:!0},backgroundColor:{type:String,default:""},containWithinAspectRatio:{type:Boolean,default:!1},hideResizeSquares:{type:Boolean,default:!1},loadImageErrorText:{type:String,default:"图片加载错误"},alignImage:{type:String,default:"center"},disabled:{type:Boolean,default:!1},imageURL:{type:String,default:"./src/assets/image01.png"},imageChangedEvent:{type:Object,default:null},imageBase64:{type:String,default:""},imageFile:{type:Object,default:null},cropper:{type:Object,default:{x1:-100,y1:-100,x2:1e4,y2:1e4}}},le=it(ne,ut,st,lt,ct);var ie=(e=>(e.Move="move",e.Resize="resize",e))(ie||{});function ft(){function e(w){switch(typeof w=="string"&&(w=t(w)),w){case 2:return{rotate:0,flip:!0};case 3:return{rotate:2,flip:!1};case 4:return{rotate:2,flip:!0};case 5:return{rotate:1,flip:!0};case 6:return{rotate:1,flip:!1};case 7:return{rotate:3,flip:!0};case 8:return{rotate:3,flip:!1};default:return{rotate:0,flip:!1}}}function t(w){const r=new DataView(a(w));if(r.getUint16(0,!1)!==65496)return-2;const x=r.byteLength;let F=2;for(;F<x;){if(r.getUint16(F+2,!1)<=8)return-1;const k=r.getUint16(F,!1);if(F+=2,k===65505){if(r.getUint32(F+=2,!1)!==1165519206)return-1;const m=r.getUint16(F+=6,!1)===18761;F+=r.getUint32(F+4,m);const S=r.getUint16(F,m);F+=2;for(let c=0;c<S;c++)if(r.getUint16(F+c*12,m)===274)return r.getUint16(F+c*12+8,m)}else{if((k&65280)!==65280)break;F+=r.getUint16(F,!1)}}return-1}function a(w){w=w.replace(/^data:([^;]+);base64,/gmi,"");const r=atob(w),x=r.length,F=new Uint8Array(x);for(let k=0;k<x;k++)F[k]=r.charCodeAt(k);return F.buffer}function p(w,r,x){const F=w.width,k=w.height;r=Math.round(r),x=Math.round(x);const m=F/r,S=k/x,c=Math.ceil(m/2),o=Math.ceil(S/2),l=w.getContext("2d");if(l){const u=l.getImageData(0,0,F,k),s=l.createImageData(r,x),{data:v}=u,T=s.data;for(let P=0;P<x;P++)for(let $=0;$<r;$++){const V=($+P*r)*4,B=P*S;let N=0,b=0,D=0,h=0,R=0,O=0,d=0;const M=Math.floor($*m),g=Math.floor(P*S);let C=Math.ceil(($+1)*m),j=Math.ceil((P+1)*S);C=Math.min(C,F),j=Math.min(j,k);for(let z=g;z<j;z++){const E=Math.abs(B-z)/o,L=$*m,G=E*E;for(let W=M;W<C;W++){const U=Math.abs(L-W)/c,_=Math.sqrt(G+U*U);if(_>=1)continue;N=2*_*_*_-3*_*_+1;const Q=4*(W+z*F);d+=N*v[Q+3],D+=N,v[Q+3]<255&&(N=N*v[Q+3]/250),h+=N*v[Q],R+=N*v[Q+1],O+=N*v[Q+2],b+=N}}T[V]=h/b,T[V+1]=R/b,T[V+2]=O/b,T[V+3]=d/D}w.width=r,w.height=x,l.putImageData(s,0,0)}}return{resizeCanvas:p,getTransformationsFromExifData:e}}function dt(e,t,a,p){function w(o,l){e.value.x2=e.value.x1+(e.value.y2-e.value.y1)*a.value,o=Math.max(e.value.x2-t.value.width,0),l=Math.max(0-e.value.y1,0),(o>0||l>0)&&(e.value.x2-=l*a.value>o?l*a.value:o,e.value.y1+=l*a.value>o?l:o/a.value)}function r(o,l){e.value.x2=e.value.x1+(e.value.y2-e.value.y1)*a.value,o=Math.max(e.value.x2-t.value.width,0),l=Math.max(e.value.y2-t.value.height,0),(o>0||l>0)&&(e.value.x2-=l*a.value>o?l*a.value:o,e.value.y2-=l*a.value>o?l:o/a.value)}function x(o,l){e.value.y1=e.value.y2-(e.value.x2-e.value.x1)/a.value,o=Math.max(0-e.value.x1,0),l=Math.max(0-e.value.y1,0),(o>0||l>0)&&(e.value.x1+=l*a.value>o?l*a.value:o,e.value.y1+=l*a.value>o?l:o/a.value)}function F(o,l){e.value.y1=e.value.y2-(e.value.x2-e.value.x1)/a.value,o=Math.max(e.value.x2-t.value.width,0),l=Math.max(0-e.value.y1,0),(o>0||l>0)&&(e.value.x2-=l*a.value>o?l*a.value:o,e.value.y1+=l*a.value>o?l:o/a.value)}function k(o,l){e.value.y2=e.value.y1+(e.value.x2-e.value.x1)/a.value,o=Math.max(e.value.x2-t.value.width,0),l=Math.max(e.value.y2-t.value.height,0),(o>0||l>0)&&(e.value.x2-=l*a.value>o?l*a.value:o,e.value.y2-=l*a.value>o?l:o/a.value)}function m(o,l){e.value.y2=e.value.y1+(e.value.x2-e.value.x1)/a.value,o=Math.max(0-e.value.x1,0),l=Math.max(e.value.y2-t.value.height,0),(o>0||l>0)&&(e.value.x1+=l*a.value>o?l*a.value:o,e.value.y2-=l*a.value>o?l:o/a.value)}function S(){e.value.x2=e.value.x1+(e.value.y2-e.value.y1)*a.value,e.value.y2=e.value.y1+(e.value.x2-e.value.x1)/a.value;const o=Math.max(0-e.value.x1,0),l=Math.max(e.value.x2-t.value.width,0),u=Math.max(e.value.y2-t.value.height,0),s=Math.max(0-e.value.y1,0);(o>0||l>0||u>0||s>0)&&(e.value.x1+=u*a.value>o?u*a.value:o,e.value.x2-=s*a.value>l?s*a.value:l,e.value.y1+=s*a.value>l?s:l/a.value,e.value.y2-=u*a.value>o?u:o/a.value)}function c(){if(t.value.width&&t.value.height)switch(p.position){case"top":w(0,0);break;case"bottom":r(0,0);break;case"topleft":x(0,0);break;case"topright":F(0,0);break;case"right":case"bottomright":k(0,0);break;case"left":case"bottomleft":m(0,0);break;case"center":S();break}}return{checkAspectRatio:c}}function Fe(e,t){const{resizeCanvas:a,getTransformationsFromExifData:p}=ft(),w=i.inject("NotifyService"),r=i.ref(e.cropper),x=i.ref(e.transform),F=i.ref(e.cropperMinWidth),k=i.ref(e.maintainAspectRatio),m=i.ref(e.aspectRatio),S=i.ref(e.autoCrop),c=i.ref(e.backgroundColor),o=i.ref(e.resizeToWidth),l=i.ref(e.onlyScaleDown),u=i.ref(e.containWithinAspectRatio),s=i.ref(e.canvasRotation),v=i.ref(e.format),T=i.ref(e.imageQuality),P=i.ref(e.resizeToHeight),$=i.ref(e.cropperMinHeight),V=i.ref(""),B=i.ref(!0),N=i.ref(!0);let b,D,h=0,R,O,d;const M=i.ref(null),g=i.ref(""),C=i.ref(""),j=i.ref("0px"),z=i.ref(),E=i.ref({width:100,height:100}),L=ie;let G,W=20,U=20,_=!1,Q={rotate:0,flip:!1},A={active:!1,type:null,position:null,x1:0,y1:0,x2:0,y2:0,clientX:0,clientY:0};const I=i.ref(e.imageChangedEvent),ee=i.ref(e.imageURL),pt=i.ref(e.imageBase64),ht=i.ref(e.imageFile);function gt(){C.value="scaleX("+(x.value.scale||1)*(x.value.flipH?-1:1)+")scaleY("+(x.value.scale||1)*(x.value.flipV?-1:1)+")rotate("+(x.value.rotate||0)+"deg)"}function te(){N.value=!1,z.value=null,V.value="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=",A={active:!1,type:null,position:null,x1:0,y1:0,x2:0,y2:0,clientX:0,clientY:0},E.value={width:0,height:0},b={width:0,height:0},D={width:0,height:0},r.value.x1=-100,r.value.y1=-100,r.value.x2=1e4,r.value.y2=1e4}function yt(n){return/image\/(png|jpg|jpeg|bmp|gif|tiff|webp)/.test(n)}function bt(){if(s.value+=Q.rotate,u.value&&b.width&&b.height){if(s.value%2){const y=b.width*m.value,H=b.height/m.value;return{width:Math.max(b.height,y),height:Math.max(b.width,H)}}const n=b.height*m.value,f=b.width/m.value;return{width:Math.max(b.width,n),height:Math.max(b.height,f)}}return s.value%2?{height:b.width,width:b.height}:{width:b.width,height:b.height}}function Mt(){s.value+=Q.rotate;const n=bt(),f=document.createElement("canvas");n.width&&n.height&&(f.width=n.width,f.height=n.height);const y=f.getContext("2d");return b.width&&b.height&&d&&(y==null||y.setTransform(Q.flip?-1:1,0,0,1,f.width/2,f.height/2),y==null||y.rotate(Math.PI*(s.value/2)),y==null||y.drawImage(d,-b.width/2,-b.height/2)),f.toDataURL()}function xt(n){return new Promise(f=>{G=n,V.value=n,z.value=new Image,z.value.onload=()=>{var y,H;D.width=(y=z.value)==null?void 0:y.naturalWidth,D.height=(H=z.value)==null?void 0:H.naturalHeight,f()},z.value.src=G})}function Ne(){if(!d||!d.complete||!Q)return Promise.reject(new Error("No image loaded"));const n=Mt();return xt(n)}function se(n){const f=y=>{w.show({showCloseButton:!1,timeout:3e3,animate:"fadeIn",toasts:[{type:"string",title:"提示",msg:"图片上传错误,请重试"}]}),B.value=!1,_=!0,t.emit("loadImageFailed"),d=null,g.value=""};d=new Image,d.onload=()=>{g.value=n,Q=p(n),b.width=d==null?void 0:d.naturalWidth,b.height=d==null?void 0:d.naturalHeight,Ne().then(()=>{_=!1}).catch(f)},d.onerror=f,d.src=n}function wt(n,f){yt(f)?(_=!1,se(n)):(w.show({showCloseButton:!1,timeout:3e3,animate:"fadeIn",toasts:[{type:"string",title:"提示",msg:"图片类型不正确,请重试"}]}),B.value=!1,_=!0,t.emit("loadImageFailed"))}function De(n){const f=new FileReader;f.onload=y=>wt(y.target.result,n.type),f.readAsDataURL(n)}function Ae(n){const f=new Image;f.onerror=()=>{w.show({showCloseButton:!1,timeout:3e3,animate:"fadeIn",toasts:[{type:"string",title:"提示",msg:"图片加载错误,请重试"}]}),B.value=!1,_=!0,t.emit("loadImageFailed")},f.onload=()=>{_=!1;const y=document.createElement("canvas"),H=y.getContext("2d");y.width=f.width,y.height=f.height,H==null||H.drawImage(f,0,0),se(y.toDataURL())},f.crossOrigin="anonymous",f.src=n}function Tt(){return M.value&&M.value&&M.value.offsetWidth>0}function ue(){if(M.value){const n=M.value;E.value.width=n.offsetWidth,E.value.height=n.offsetHeight,j.value="calc(50% - "+E.value.width/2+"px)"}}function St(){z.value&&E.value.width&&(W=F.value>0?Math.max(20,F.value/z.value.width*E.value.width):20)}function Ft(){k.value?U=Math.max(20,W/m.value):$.value>0&&z.value&&E.value.height?U=Math.max(20,$.value/z.value.height*E.value.height):U=20}function ce(){z.value?(St(),Ft()):(W=20,U=20)}function Nt(){const n=M.value,f=i.ref({x1:0,x2:0,y1:0,y2:0});if(n&&D.width&&D.height){const y=D.width/n.offsetWidth;f.value={x1:Math.round(r.value.x1*y),y1:Math.round(r.value.y1*y),x2:Math.round(r.value.x2*y),y2:Math.round(r.value.y2*y)},u.value||(f.value.x1=Math.max(f.value.x1,0),f.value.y1=Math.max(f.value.y1,0),f.value.x2=Math.min(f.value.x2,D.width),f.value.y2=Math.min(f.value.y2,D.height))}return f.value}function Dt(){s.value+=Q.rotate;const n=M.value,f=i.ref({x1:0,x2:0,y1:0,y2:0});if(n&&D.height&&D.width&&b.height&&b.width){const y=D.width/n.offsetWidth;let H,q;s.value%2?(H=(D.width-b.height)/2,q=(D.height-b.width)/2):(H=(D.width-b.width)/2,q=(D.height-b.height)/2),f.value={x1:Math.round(r.value.x1*y)-H,y1:Math.round(r.value.y1*y)-q,x2:Math.round(r.value.x2*y)-H,y2:Math.round(r.value.y2*y)-q},u.value||(f.value.x1=Math.max(f.value.x1,0),f.value.y1=Math.max(f.value.y1,0),f.value.x2=Math.min(f.value.x2,D.width),f.value.y2=Math.min(f.value.y2,D.height))}return f.value}function At(n,f){if(o.value>0){if(!l.value||n>o.value)return o.value/n}else if(P.value>0&&(!l.value||f>P.value))return P.value/f;return 1}function Pt(){return Math.min(1,Math.max(0,T.value/100))}function Ct(n){return n.toDataURL("image/"+v.value,Pt())}function Et(){if(M.value&&M.value&&z.value!=null){const n=Nt(),f=n.x2-n.x1,y=n.y2-n.y1,H=document.createElement("canvas");H.width=f,H.height=y;const q=H.getContext("2d");if(q){c.value!=null&&(q.fillStyle=c.value,q.fillRect(0,0,f,y));const X=(x.value.scale||1)*(x.value.flipH?-1:1),K=(x.value.scale||1)*(x.value.flipV?-1:1);D.width&&D.height&&(q.setTransform(X,0,0,K,D.width/2,D.height/2),q.translate(-n.x1/X,-n.y1/K),q.rotate((x.value.rotate||0)*Math.PI/180),q.drawImage(z.value,-D.width/2,-D.height/2));const J={width:f,height:y,imagePosition:n,cropperPosition:{...r.value}};u.value&&(J.offsetImagePosition=Dt());const ae=At(f,y);return ae!==1&&(J.width=Math.round(f*ae),J.height=k.value?Math.round(J.width/m.value):Math.round(y*ae),a(H,J.width,J.height)),J.base64=Ct(H),t.emit("imageCropped",J),J}}return null}function oe(){S.value&&Et()}function Pe(){const n=M.value;if(n){if(!k.value)r.value.x1=0,r.value.x2=n.offsetWidth,r.value.y1=0,r.value.y2=n.offsetHeight;else if(n.offsetWidth/m.value<n.offsetHeight){r.value.x1=0,r.value.x2=n.offsetWidth;const f=n.offsetWidth/m.value;r.value.y1=(n.offsetHeight-f)/2,r.value.y2=r.value.y1+f}else{r.value.y1=0,r.value.y2=n.offsetHeight;const f=n.offsetHeight*m.value;r.value.x1=(n.offsetWidth-f)/2,r.value.x2=r.value.x1+f}oe(),N.value=!0}}function Ce(){h>40?(w.show({showCloseButton:!1,timeout:3e3,animate:"fadeIn",toasts:[{type:"string",title:"提示",msg:"图片加载超时,请重试"}]}),_=!0,B.value=!1,t.emit("loadImageFailed")):Tt()?(_=!1,ue(),ce(),Pe(),t.emit("cropperReady",{...E.value})):(h++,setTimeout(()=>Ce(),50))}function kt(){z.value!=null&&(B.value=!1,t.emit("imageLoaded"),h=0,setTimeout(()=>Ce()))}function Bt(){const n=M.value;(E.value.width!==(n==null?void 0:n.offsetWidth)||E.value.height!==(n==null?void 0:n.offsetHeight))&&E.value.width&&E.value.height&&n&&(r.value.x1=r.value.x1*n.offsetWidth/E.value.width,r.value.x2=r.value.x2*n.offsetWidth/E.value.width,r.value.y1=r.value.y1*n.offsetHeight/E.value.height,r.value.y2=r.value.y2*n.offsetHeight/E.value.height)}const $t=()=>{Bt(),ue(),ce()},Ee=()=>{clearTimeout(O),O=setTimeout($t,300)};i.onMounted(()=>{window.addEventListener("resize",Ee),ee.value&&(te(),B.value=!0,Ae(ee.value))}),i.onUnmounted(()=>{window.removeEventListener("resize",Ee)});function zt(){A.active&&(A.active=!1,oe())}function fe(n){return(n.touches&&n.touches[0]?n.touches[0].clientX:n.clientX)||0}function de(n){return(n.touches&&n.touches[0]?n.touches[0].clientY:n.clientY)||0}function Ot(n,f,y=null){A&&A.active||(n.preventDefault&&n.preventDefault(),A={active:!0,type:f,position:y,clientX:fe(n),clientY:de(n),...r.value})}function me(n=!1){r.value.x1<0&&(r.value.x2-=n?r.value.x1:0,r.value.x1=0),r.value.y1<0&&(r.value.y2-=n?r.value.y1:0,r.value.y1=0),r.value.x2>E.value.width&&(r.value.x1-=n?r.value.x2-E.value.width:0,r.value.x2=E.value.width),r.value.y2>E.value.height&&(r.value.y1-=n?r.value.y2-E.value.height:0,r.value.y2=E.value.height)}function jt(n){const f=fe(n)-A.clientX,y=de(n)-A.clientY;r.value.x1=A.x1+f,r.value.y1=A.y1+y,r.value.x2=A.x2+f,r.value.y2=A.y2+y}const{checkAspectRatio:Vt}=dt(r,E,m,A);function Rt(n){const f=fe(n)-A.clientX,y=de(n)-A.clientY;switch(A.position){case"left":r.value.x1=Math.min(A.x1+f,r.value.x2-W);break;case"topleft":r.value.x1=Math.min(A.x1+f,r.value.x2-W),r.value.y1=Math.min(A.y1+y,r.value.y2-U);break;case"top":r.value.y1=Math.min(A.y1+y,r.value.y2-U);break;case"topright":r.value.x2=Math.max(A.x2+f,r.value.x1+W),r.value.y1=Math.min(A.y1+y,r.value.y2-U);break;case"right":r.value.x2=Math.max(A.x2+f,r.value.x1+W);break;case"bottomright":r.value.x2=Math.max(A.x2+f,r.value.x1+W),r.value.y2=Math.max(A.y2+y,r.value.y1+U);break;case"bottom":r.value.y2=Math.max(A.y2+y,r.value.y1+U);break;case"bottomleft":r.value.x1=Math.min(A.x1+f,r.value.x2-W),r.value.y2=Math.max(A.y2+y,r.value.y1+U);break;case"center":const{scale:H}=n,q=Math.abs(A.x2-A.x1)*H,X=Math.abs(A.y2-A.y1)*H,{x1:K}=r.value,{y1:J}=r.value;r.value.x1=Math.min(A.clientX-q/2,r.value.x2-W),r.value.y1=Math.min(A.clientY-X/2,r.value.y2-U),r.value.x2=Math.max(A.clientX+q/2,K+W),r.value.y2=Math.max(A.clientY+X/2,J+U);break}k.value&&Vt()}function Ht(n){A&&A.active&&(n.stopPropagation&&n.stopPropagation(),n.preventDefault&&n.preventDefault(),clearTimeout(R),R=setTimeout(()=>{A.type===ie.Move?(jt(n),me(!0)):A.type===ie.Resize&&(Rt(n),me(!1))},300))}return i.watch(I,n=>{te(),n&&n.target&&n.target.files&&n.target.files.length>0&&(B.value=!0,De(n.target.files[0]))}),i.watch(ee,n=>{n?(te(),B.value=!0,Ae(n)):(w.show({showCloseButton:!1,timeout:3e3,animate:"fadeIn",toasts:[{type:"string",title:"提示",msg:"图片路径为空"}]}),B.value=!1,_=!0)}),i.watch(pt,n=>{te(),B.value=!0,se(n)}),i.watch(ht,n=>{te(),n&&(B.value=!0,De(n))}),i.watch(()=>[e.containWithinAspectRatio,e.canvasRotation,e.cropper,e.aspectRatio,e.transform,e.imageChangedEvent],([n,f,y,H,q,X],[K,J,ae,Wt,Lt,_t])=>{d&&d.complete&&Q&&(n!==K||f!==J)&&Ne(),y!==ae&&(ue(),ce(),me(!1),oe()),H!==Wt&&N.value&&Pe(),q!==Lt&&(gt(),oe()),X!==_t&&(I.value=X)}),{uploadError:_,imageVisible:N,backgroundColor:c,sourceImage:M,safeImgDataUrl:V,safeTransformStyle:C,maxSize:E,cropper:r,marginLeft:j,moveTypes:L,isLoading:B,startMove:Ot,imageLoadedInView:kt,moveStop:zt,moveImg:Ht}}const Y=i.defineComponent({name:"FImageCropper",props:ne,emits:["imageCropped","imageLoaded","cropperReady","loadImageFailed"],setup(e,t){const a=i.ref(e.alignImage),p=i.ref(e.roundCropper),w=i.ref(e.hideResizeSquares),r=i.ref(e.loadImageErrorText),x=i.ref(e.disabled),F=i.ref(null),{uploadError:k,imageVisible:m,backgroundColor:S,sourceImage:c,safeImgDataUrl:o,safeTransformStyle:l,maxSize:u,cropper:s,marginLeft:v,moveTypes:T,isLoading:P,startMove:$,imageLoadedInView:V,moveStop:B,moveImg:N}=Fe(e,t);function b(O){return i.createVNode("span",{class:`farris-image-cropper-resize-bar ${O}`,onMousedown:i.withModifiers(d=>$(d,T.Resize,O),["prevent"])},null)}function D(O){return i.createVNode("div",null,[i.createVNode("span",{class:`farris-image-cropper-resize-bar ${O}`,onMousedown:i.withModifiers(d=>$(d,T.Resize,O),["prevent"])},[i.createVNode("span",{class:"farris-image-cropper-square"},null)]),i.createVNode("span",{class:"farris-image-cropper-resize top"},[i.createVNode("span",{class:"farris-image-cropper-square"},null)])])}const h=["top","right","bottom","left"].map(O=>b(O)),R=["topleft","topright","bottomright","bottomleft"].map(O=>D(O));return()=>i.createVNode("div",{class:["farris-image-cropper-frame",{"farris-image-cropper-disabled":x.value}],style:{"text-align":a.value},onMousemove:i.withModifiers(O=>N(O),["prevent"]),onTouchmove:i.withModifiers(O=>N(O),["prevent"]),onMouseup:i.withModifiers(()=>B(),["prevent"]),onTouchend:i.withModifiers(()=>B(),["prevent"])},[!k&&i.createVNode("div",{ref:F,class:"farris-image-cropper",style:[{background:m.value?S.value:""}]},[o.value&&i.createVNode("img",{title:"farris-source-image",ref:c,class:"farris-source-image",style:[{visibility:m.value?"visible":"hidden"},{transform:l.value}],src:o.value,onLoad:()=>V()},null),u.value&&i.createVNode("div",{class:"farris-image-overlay",style:[{width:`${u.value.width||0}px`},{height:`${u.value.height||0}px`},{"margin-left":a.value==="center"?v.value:""}]},null),m.value&&i.createVNode("div",{class:["farris-image-cropper-wrapper",{"farris-image-cropper-rounded":p.value}],style:[{top:`${s.value.y1}px`},{left:`${s.value.x1}px`},{width:`${s.value.x2-s.value.x1}px`},{height:`${s.value.y2-s.value.y1}px`},{visibility:m.value?"visible":"hidden"},{"margin-left":a.value==="center"?v.value:""}],tabindex:"0"},[i.createVNode("div",{class:"farris-image-cropper-move",onMousedown:i.withModifiers(O=>$(O,T.Move,"topleft"),["prevent"])},null),!w.value&&i.createVNode("div",null,[R,h])])]),P.value&&i.createVNode("div",{class:"farris-image-cropper-loading"},[i.createVNode("div",{class:"farris-image-cropper-loading-spinner"},null)]),k&&i.createVNode("div",{class:"farris-image-cropper-error"},[r.value])])}});function mt(e,t,a){var O;const p="",w="",r=i.ref();let x;function F(){return(t==null?void 0:t.schema.componentType)!=="frame"}function k(){return!1}function m(){return(t==null?void 0:t.schema.componentType)!=="frame"}function S(){return(t==null?void 0:t.schema.componentType)==="frame"}function c(d){if(!d||!d.value)return null;if(d.value.schema&&d.value.schema.type==="component")return d.value;const M=i.ref(d==null?void 0:d.value.parent),g=c(M);return g||null}function o(d=t){var j;const{componentInstance:M,designerItemElementRef:g}=d;if(!M||!M.value)return null;const{getCustomButtons:C}=M.value;return M.value.canMove||C&&((j=C())!=null&&j.length)?g:o(d.parent)}function l(d){return!!a}function u(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function s(){}function v(d,M){var g;!d||!M||(g=t==null?void 0:t.setupContext)==null||g.emit("dragEnd")}function T(d,M){const{componentType:g}=d;let C=ke.getSchemaByTypeForDesigner(g,d,M);const j=g.toLowerCase().replace(/-/g,"_");return C&&!C.id&&C.type===g&&(C.id=`${j}_${Math.random().toString().slice(2,6)}`),C}function P(d){}function $(...d){}function V(d){if(!d)return;const M=t==null?void 0:t.schema,{formSchemaUtils:g}=d;if(M&&g.getExpressions().length){const C=g.getExpressions().findIndex(j=>j.target===M.id);C>-1&&g.getExpressions().splice(C,1)}}function B(d){if(!d||!(t!=null&&t.schema))return;const M=t.schema,{formSchemaUtils:g}=d;g.removeCommunicationInComponent(M)}function N(d){V(d),B(d),t!=null&&t.schema.contents&&t.schema.contents.map(M=>{let g=M.id;M.type==="component-ref"&&(g=M.component);const C=e.value.querySelectorAll(`#${g}-design-item`);C!=null&&C.length&&Array.from(C).map(j=>{var z;(z=j==null?void 0:j.componentInstance)!=null&&z.value.onRemoveComponent&&j.componentInstance.value.onRemoveComponent(d)})})}function b(){}function D(d){var g,C;if(!((g=t==null?void 0:t.schema)!=null&&g.id))return;!x&&d&&(x=d.formSchemaUtils);let M="";{const{text:j,title:z,label:E,mainTitle:L,name:G,type:W}=t.schema;M=j||z||E||L||G||((C=ge[W])==null?void 0:C.name)}M&&x.getControlBasicInfoMap().set(t.schema.id,{componentTitle:M,parentPathName:M})}function h(d){var j;const{changeObject:M}=d,{propertyID:g,propertyValue:C}=M;if(["text","title","label","name","mainTitle"].includes((j=d==null?void 0:d.changeObject)==null?void 0:j.propertyID)&&g&&C&&(D(),x)){const z=x.getControlBasicInfoMap(),E=z.keys().toArray().filter(L=>{var G,W;return((G=z.get(L))==null?void 0:G.reliedComponentId)===((W=t==null?void 0:t.schema)==null?void 0:W.id)});E!=null&&E.length&&E.forEach(L=>{const G=z.get(L).parentPathName.split(" > ");G[0]=C,z.get(L).parentPathName=G.join(" > ")})}}function R(d){h(d)}return r.value={canMove:F(),canSelectParent:k(),canDelete:m(),canNested:!S(),contents:t==null?void 0:t.schema.contents,elementRef:e,parent:(O=t==null?void 0:t.parent)==null?void 0:O.componentInstance,schema:t==null?void 0:t.schema,styles:p,designerClass:w,canAccepts:l,getBelongedComponentInstance:c,getDraggableDesignItemElement:o,getDraggingDisplayText:u,getPropConfig:$,getDragScopeElement:s,onAcceptMovedChildElement:v,onChildElementMovedOut:P,addNewChildComponentSchema:T,triggerBelongedComponentToMoveWhenMoved:i.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:i.ref(!1),onRemoveComponent:N,getCustomButtons:b,onPropertyChanged:R,setComponentBasicInfoMap:D,updateContextSchema:t==null?void 0:t.updateContextSchema},r}const vt=i.defineComponent({name:"FImageCropperDesign",props:ne,emits:["imageCropped","imageLoaded","cropperReady","loadImageFailed"],setup(e,t){const a=i.ref(e.alignImage),p=i.ref(e.roundCropper),w=i.ref(e.hideResizeSquares),r=i.ref(e.loadImageErrorText),x=i.ref(e.disabled),F=i.ref(null),{uploadError:k,imageVisible:m,backgroundColor:S,sourceImage:c,safeImgDataUrl:o,safeTransformStyle:l,maxSize:u,cropper:s,marginLeft:v,moveTypes:T,isLoading:P,startMove:$,imageLoadedInView:V,moveStop:B,moveImg:N}=Fe(e,t),b=i.ref(),D=i.inject("design-item-context"),h=mt(b,D);i.onMounted(()=>{b.value.componentInstance=h}),t.expose(h.value);function R(g){return i.createVNode("span",{class:`farris-image-cropper-resize-bar ${g}`,onMousedown:i.withModifiers(C=>$(C,T.Resize,g),["prevent"])},null)}function O(g){return i.createVNode("div",null,[i.createVNode("span",{class:`farris-image-cropper-resize-bar ${g}`,onMousedown:i.withModifiers(C=>$(C,T.Resize,g),["prevent"])},[i.createVNode("span",{class:"farris-image-cropper-square"},null)]),i.createVNode("span",{class:"farris-image-cropper-resize top"},[i.createVNode("span",{class:"farris-image-cropper-square"},null)])])}const d=["top","right","bottom","left"].map(g=>R(g)),M=["topleft","topright","bottomright","bottomleft"].map(g=>O(g));return()=>i.createVNode("div",{ref:b,class:["farris-image-cropper-frame",{"farris-image-cropper-disabled":x.value}],style:{"text-align":a.value},onMousemove:i.withModifiers(g=>N(g),["prevent"]),onTouchmove:i.withModifiers(g=>N(g),["prevent"]),onMouseup:i.withModifiers(()=>B(),["prevent"]),onTouchend:i.withModifiers(()=>B(),["prevent"])},[!k&&i.createVNode("div",{ref:F,class:"farris-image-cropper",style:[{background:m.value?S.value:""}]},[o.value&&i.createVNode("img",{title:"farris-source-image",ref:c,class:"farris-source-image",style:[{visibility:m.value?"visible":"hidden"},{transform:l.value}],src:o.value,onLoad:()=>V()},null),u.value&&i.createVNode("div",{class:"farris-image-overlay",style:[{width:`${u.value.width||0}px`},{height:`${u.value.height||0}px`},{"margin-left":a.value==="center"?v.value:""}]},null),m.value&&i.createVNode("div",{class:["farris-image-cropper-wrapper",{"farris-image-cropper-rounded":p.value}],style:[{top:`${s.value.y1}px`},{left:`${s.value.x1}px`},{width:`${s.value.x2-s.value.x1}px`},{height:`${s.value.y2-s.value.y1}px`},{visibility:m.value?"visible":"hidden"},{"margin-left":a.value==="center"?v.value:""}],tabindex:"0"},[i.createVNode("div",{class:"farris-image-cropper-move",onMousedown:i.withModifiers(g=>$(g,T.Move,"topleft"),["prevent"])},null),!w.value&&i.createVNode("div",null,[M,d])])]),P.value&&i.createVNode("div",{class:"farris-image-cropper-loading"},[i.createVNode("div",{class:"farris-image-cropper-loading-spinner"},null)]),k&&i.createVNode("div",{class:"farris-image-cropper-error"},[r.value])])}});Y.install=e=>{e.component(Y.name,Y)},Y.register=(e,t,a,p)=>{e["image-cropper"]=Y,t["image-cropper"]=le},Y.registerDesigner=(e,t,a)=>{e["image-cropper"]=vt,t["image-cropper"]=le},Z.ImageCropper=Y,Z.default=Y,Z.imageCropperProps=ne,Z.propsResolver=le,Object.defineProperties(Z,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});