UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

1 lines 125 kB
(function(ne,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("vue-i18n"),require("../locale/index.umd.js"),require("lodash-es"),require("../accordion/index.umd.js"),require("../avatar/index.umd.js"),require("../../designer/button-edit/index.umd.js"),require("../button-group/index.umd.js"),require("../calendar/index.umd.js"),require("../capsule/index.umd.js"),require("../../designer/checkbox/index.umd.js"),require("../../designer/checkbox-group/index.umd.js"),require("../combo-list/index.umd.js"),require("../combo-tree/index.umd.js"),require("../component/index.umd.js"),require("../color-picker/index.umd.js"),require("../content-container/index.umd.js"),require("../date-picker/index.umd.js"),require("../../designer/data-grid/index.umd.js"),require("../dropdown/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../events-editor/index.umd.js"),require("../filter-bar/index.umd.js"),require("../field-selector/index.umd.js"),require("../binding-selector/index.umd.js"),require("../image-cropper/index.umd.js"),require("../../designer/input-group/index.umd.js"),require("../layout/index.umd.js"),require("../list-nav/index.umd.js"),require("../../designer/list-view/index.umd.js"),require("../lookup/index.umd.js"),require("../mapping-editor/index.umd.js"),require("../nav/index.umd.js"),require("../number-range/index.umd.js"),require("../number-spinner/index.umd.js"),require("../order/index.umd.js"),require("../page-header/index.umd.js"),require("../page-footer/index.umd.js"),require("../pagination/index.umd.js"),require("../progress/index.umd.js"),require("../query-solution/index.umd.js"),require("../../designer/radio-group/index.umd.js"),require("../rate/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../response-layout/index.umd.js"),require("../response-layout-editor/index.umd.js"),require("../search-box/index.umd.js"),require("../section/index.umd.js"),require("../smoke-detector/index.umd.js"),require("../splitter/index.umd.js"),require("../step/index.umd.js"),require("../switch/index.umd.js"),require("../tabs/index.umd.js"),require("../tags/index.umd.js"),require("../text/index.umd.js"),require("../time-picker/index.umd.js"),require("../transfer/index.umd.js"),require("../tree-view/index.umd.js"),require("../uploader/index.umd.js"),require("../verify-detail/index.umd.js"),require("../video/index.umd.js"),require("../textarea/index.umd.js"),require("../schema-selector/index.umd.js"),require("../../designer/tree-grid/index.umd.js"),require("../event-parameter/index.umd.js"),require("../filter-condition-editor/index.umd.js"),require("../fieldset/index.umd.js"),require("../sort-condition-editor/index.umd.js"),require("../menu-lookup/index.umd.js"),require("../../designer/drawer/index.umd.js"),require("../json-editor/index.umd.js"),require("../property-editor/index.umd.js"),require("../expression-editor/index.umd.js"),require("../code-editor/index.umd.js"),require("../html-template/index.umd.js"),require("../collection-property-editor/index.umd.js"),require("../modal/index.umd.js"),require("../external-container/index.umd.js"),require("../language-textbox/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js"),require("@vueuse/core"),require("../data-view/index.umd.js"),require("../property-panel/index.umd.js"),require("../notify/index.umd.js"),require("../popover/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","vue-i18n","../locale/index.umd.js","lodash-es","../accordion/index.umd.js","../avatar/index.umd.js","../../designer/button-edit/index.umd.js","../button-group/index.umd.js","../calendar/index.umd.js","../capsule/index.umd.js","../../designer/checkbox/index.umd.js","../../designer/checkbox-group/index.umd.js","../combo-list/index.umd.js","../combo-tree/index.umd.js","../component/index.umd.js","../color-picker/index.umd.js","../content-container/index.umd.js","../date-picker/index.umd.js","../../designer/data-grid/index.umd.js","../dropdown/index.umd.js","../dynamic-form/index.umd.js","../events-editor/index.umd.js","../filter-bar/index.umd.js","../field-selector/index.umd.js","../binding-selector/index.umd.js","../image-cropper/index.umd.js","../../designer/input-group/index.umd.js","../layout/index.umd.js","../list-nav/index.umd.js","../../designer/list-view/index.umd.js","../lookup/index.umd.js","../mapping-editor/index.umd.js","../nav/index.umd.js","../number-range/index.umd.js","../number-spinner/index.umd.js","../order/index.umd.js","../page-header/index.umd.js","../page-footer/index.umd.js","../pagination/index.umd.js","../progress/index.umd.js","../query-solution/index.umd.js","../../designer/radio-group/index.umd.js","../rate/index.umd.js","../response-toolbar/index.umd.js","../response-layout/index.umd.js","../response-layout-editor/index.umd.js","../search-box/index.umd.js","../section/index.umd.js","../smoke-detector/index.umd.js","../splitter/index.umd.js","../step/index.umd.js","../switch/index.umd.js","../tabs/index.umd.js","../tags/index.umd.js","../text/index.umd.js","../time-picker/index.umd.js","../transfer/index.umd.js","../tree-view/index.umd.js","../uploader/index.umd.js","../verify-detail/index.umd.js","../video/index.umd.js","../textarea/index.umd.js","../schema-selector/index.umd.js","../../designer/tree-grid/index.umd.js","../event-parameter/index.umd.js","../filter-condition-editor/index.umd.js","../fieldset/index.umd.js","../sort-condition-editor/index.umd.js","../menu-lookup/index.umd.js","../../designer/drawer/index.umd.js","../json-editor/index.umd.js","../property-editor/index.umd.js","../expression-editor/index.umd.js","../code-editor/index.umd.js","../html-template/index.umd.js","../collection-property-editor/index.umd.js","../modal/index.umd.js","../external-container/index.umd.js","../language-textbox/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js","@vueuse/core","../data-view/index.umd.js","../property-panel/index.umd.js","../notify/index.umd.js","../popover/index.umd.js"],n):(ne=typeof globalThis<"u"?globalThis:ne||self,n(ne["button-edit"]={},ne.Vue,ne.dynamicResolver,ne.vueI18n,ne.locale,ne.LodashES,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,ne.FTags,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,ne.common,ne.VueUseCore,ne.dataView,null,null,ne.FPopover))})(this,function(ne,n,Ne,pt,at,ve,Jo,Qo,Zo,Ko,er,tr,nr,or,rr,ar,ir,lr,sr,ur,cr,dr,fr,pr,mr,vr,gr,hr,yr,br,wr,Cr,xr,Sr,Tr,Fr,jr,Br,kr,Nr,Mr,Or,Er,Rr,Pr,Vr,Dr,Ir,$r,qr,Hr,Lr,zr,Ar,_r,tn,Wr,Ur,Gr,Xr,Yr,Jr,Qr,Zr,Kr,ea,ta,na,oa,ra,aa,ia,la,sa,ua,ca,da,fa,pa,ma,va,ga,Se,nn,X,ha,ya,on){"use strict";var Xo=Object.defineProperty;var Yo=(ne,n,Ne)=>n in ne?Xo(ne,n,{enumerable:!0,configurable:!0,writable:!0,value:Ne}):ne[n]=Ne;var ye=(ne,n,Ne)=>Yo(ne,typeof n!="symbol"?n+"":n,Ne);const Mt={id:{type:String,default:""},buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:{type:Number},tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupOnClick:{type:Boolean,default:!1},popupClass:{type:String,default:""},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"},keepWidthWithReference:{type:Boolean,default:!0},placement:{type:String,default:"bottom-left"},limitContentBySpace:{type:Boolean,default:!1}},rn={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},an=n.defineComponent({name:"FOverlay",props:rn,emits:["click"],setup(e,t){const o=n.ref(e.popupContentPosition),r=n.ref(e.host),a=n.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function l(u){t.emit("click"),u.preventDefault(),u.stopPropagation()}n.computed(()=>{const u=r.value;if(u){const p=u.getBoundingClientRect(),{left:s,top:v,height:d}=p;return{left:s,top:v+d}}return o.value});const i=n.computed(()=>({}));return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>{var u,p;return[n.createVNode("div",{class:"overlay-container",onClick:s=>l(s),style:a.value},[n.createVNode("div",{style:i.value},[(p=(u=t.slots).default)==null?void 0:p.call(u)])])]}})}});function ln(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function sn(e){const t=document.createElement("div");t.style.display="contents";let o;const r=e.onClickCallback||(()=>{}),a=()=>{r(),o&&o.unmount()};return o=n.createApp({setup(){n.onUnmounted(()=>{document.body.removeChild(t)});const l=ln(e);return()=>n.createVNode(an,{"popup-content-position":e.popupPosition,host:e.host,onClick:a,backgroundColor:e.backgroundColor},{default:()=>[l&&l()]})}}),document.body.appendChild(t),o.mount(t),o}class un{static show(t){return sn(t)}}const cn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/modal.schema.json",title:"modal",description:"弹窗组件",type:"object",properties:{id:{description:"组件唯一标识",type:"string"},type:{description:"组件类型",type:"string",default:"modal"},appearance:{description:"组件外观",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},name:{description:"名称",type:"string",default:null},title:{description:"标题",type:"string"},width:{description:"窗口宽度",type:"number",default:900},height:{description:"窗口高度",type:"number",default:600},contents:{description:"弹窗子组件集合",type:"array",default:[]},modelValue:{description:"是否显示",type:"boolean",default:!1},showCloseButton:{description:"显示关闭按钮",type:"boolean",default:!0},showMaxButton:{description:"显示最大化按钮",type:"boolean",default:!0},enableEsc:{description:"允许ESC关闭",type:"boolean",default:!0},resizeable:{description:"允许调整窗口尺寸",type:"boolean",default:!0},fitContent:{description:"是否自适应",type:"boolean",default:!1},showButtons:{description:"是否显示底部按钮",type:"boolean",default:!0},mask:{description:"是否模态",type:"boolean",default:!0},draggable:{description:"是否允许拖拽调整位置",type:"boolean",default:!0},onAccept:{description:"确定事件",type:"object",default:null},onCancel:{description:"取消事件",type:"object",default:null},beforeClose:{description:"关闭前回调",type:"object",default:null}},required:["id","type"],events:{onAccept:"确定事件",onCancel:"取消事件",beforeClose:"关闭前回调"}},dn=new Map([["appearance",Ne.resolveAppearance]]);function fn(e,t,o){return t}function pn(){function e(t,o){const r={};return r.beforeClose=a=>o.call("beforeClose",[a,t]),r}return{resolve:e}}const Ot={allowClickMaskToClose:{type:Boolean,default:!1},beforeClose:{type:Function,default:()=>!0},class:{type:String,default:""},maskClass:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},mask:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""},footerHeight:{type:Number,default:60},host:{type:Object,default:"body"}},mn=Ne.createPropsResolver(Ot,cn,dn,fn),vn=pn();class re{constructor(t,o){this.x=t,this.y=o}static getTransformInfo(t){const r=window.getComputedStyle(t).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(r.length>=6){const a=parseInt(r[4],10),l=parseInt(r[5],10);return{x:a,y:l}}return{x:0,y:0}}static fromEvent(t,o=null){if(this.isMouseEvent(t))return new re(t.clientX,t.clientY);if(o===null||t.changedTouches.length===1)return new re(t.changedTouches[0].clientX,t.changedTouches[0].clientY);for(let r=0;r<t.changedTouches.length;r++)if(t.changedTouches[r].target===o)return new re(t.changedTouches[r].clientX,t.changedTouches[r].clientY)}static isMouseEvent(t){return Object.prototype.toString.apply(t).indexOf("MouseEvent")===8}static isIPosition(t){return!!t&&"x"in t&&"y"in t}static getCurrent(t){const o=new re(0,0);if(window){const r=window.getComputedStyle(t);if(r){const a=parseInt(r.getPropertyValue("left"),10),l=parseInt(r.getPropertyValue("top"),10);o.x=isNaN(a)?0:a,o.y=isNaN(l)?0:l}return o}return null}static copy(t){return new re(0,0).set(t)}get value(){return{x:this.x,y:this.y}}add(t){return this.x+=t.x,this.y+=t.y,this}subtract(t){return this.x-=t.x,this.y-=t.y,this}multiply(t){this.x*=t,this.y*=t}divide(t){this.x/=t,this.y/=t}reset(){return this.x=0,this.y=0,this}set(t){return this.x=t.x,this.y=t.y,this}}class $e{constructor(t,o){this.width=t,this.height=o}static getCurrent(t){const o=new $e(0,0);if(window){const r=window.getComputedStyle(t);return r&&(o.width=parseInt(r.getPropertyValue("width"),10),o.height=parseInt(r.getPropertyValue("height"),10)),o}return null}static copy(t){return new $e(0,0).set(t)}set(t){return this.width=t.width,this.height=t.height,this}}function gn(e,t){const o=n.ref(),r=n.ref(),a=n.ref(),l=n.ref(),i=n.ref(),u=n.ref(),p=n.ref(),s=n.ref(),v=n.ref(),d=n.ref(),m=n.ref(),f=n.ref(e.resizeable),c=n.ref(),y=n.ref(e.draggable),x=n.ref(!1);function k(){const P=r.value||document.body,R=window.getComputedStyle(P);if(!R||!o.value)return;const W=re.getTransformInfo(o.value),H={};p.value&&(H.deltaL=o.value.offsetLeft-p.value.x,H.deltaT=o.value.offsetTop-p.value.y);const K=R.getPropertyValue("position");H.width=P.clientWidth,H.height=P.clientHeight,H.pr=parseInt(R.getPropertyValue("padding-right"),10),H.pb=parseInt(R.getPropertyValue("padding-bottom"),10),H.position=R.getPropertyValue("position"),K==="static"&&(P.style.position="relative"),H.translateX=W.x,H.translateY=W.y,d.value=H}function M(P){if(o.value){l.value=$e.getCurrent(o.value),i.value=re.getCurrent(o.value),u.value=l.value?$e.copy(l.value):null,p.value=i.value?re.copy(i.value):null,k();const R=P.target.getAttribute("type")||"";s.value={n:!!R.match(/n/),s:!!R.match(/s/),w:!!R.match(/w/),e:!!R.match(/e/)}}}function q(){var P,R,W,H;if(o.value){const K=o.value;s.value&&((s.value.n||s.value.s)&&((P=u.value)!=null&&P.height)&&(K.style.height=u.value.height+"px"),(s.value.w||s.value.e)&&((R=u.value)!=null&&R.width)&&(K.style.width=u.value.width+"px"),p.value&&((W=p.value)!=null&&W.x&&(K.style.left=p.value.x+"px"),(H=p.value)!=null&&H.y&&(K.style.top=p.value.y+"px")))}}function S(){const P=e.minHeight?e.minHeight:1,R=e.minWidth?e.minWidth:1;u.value&&p.value&&s.value&&l.value&&(u.value.height<P&&(u.value.height=P,s.value.n&&i.value&&(p.value.y=i.value.y+(l.value.height-P))),u.value.width<R&&(u.value.width=R,s.value.w&&i.value&&(p.value.x=i.value.x+(l.value.width-R))),e.maxHeight&&u.value.height>e.maxHeight&&(u.value.height=e.maxHeight,i.value&&s.value.n&&(p.value.y=i.value.y+(l.value.height-e.maxHeight))),e.maxWidth&&u.value.width>e.maxWidth&&(u.value.width=e.maxWidth,s.value.w&&i.value&&(p.value.x=i.value.x+(l.value.width-e.maxWidth))))}function b(){if(r.value){const P=d.value;if(p.value&&u.value&&s.value&&l.value){const R=P.width-P.pr-P.deltaL-P.translateX-p.value.x,W=P.height-P.pb-P.deltaT-P.translateY-p.value.y;s.value.n&&p.value.y+P.translateY<0&&i.value&&(p.value.y=-P.translateY,u.value.height=l.value.height+i.value.y+P.translateY),s.value.w&&p.value.x+P.translateX<0&&i.value&&(p.value.x=-P.translateX,u.value.width=l.value.width+i.value.x+P.translateX),u.value.width>R&&(u.value.width=R),u.value.height>W&&(u.value.height=W)}}}function h(P){if(!a.value||!l.value||!i.value||!s.value)return;P.subtract(a.value);const R=P.x,W=P.y;s.value.n?(p.value.y=i.value.y+W,u.value.height=l.value.height-W):s.value.s&&(u.value.height=l.value.height+W),s.value.e?u.value.width=l.value.width+R:s.value.w&&(u.value.width=l.value.width-R,p.value.x=i.value.x+R),b(),S(),q()}function j(P){if(!v.value)return;const R=re.fromEvent(P);R&&h(R)}function F(){if(o.value){const{width:P,height:R,x:W,y:H}=o.value.getBoundingClientRect(),K=re.getTransformInfo(o.value);return{size:{width:P,height:R},position:{x:W-K.x,y:H-K.y}}}return null}function C(P){if(o.value){const R=F();m.value=R}a.value=void 0,l.value=null,i.value=null,u.value=null,p.value=null,s.value=null,v.value=null,document.removeEventListener("mousemove",j),document.removeEventListener("mouseup",C)}function E(){document.addEventListener("mousemove",j),document.addEventListener("mouseup",C)}function g(P){P instanceof MouseEvent&&P.button===2||y.value&&(document.body.click(),P.stopPropagation(),P.preventDefault(),a.value=re.fromEvent(P),v.value=P.target,M(P),E())}function T(P){return o.value=P,f.value&&n.createVNode(n.Fragment,null,[n.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:R=>g(R)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:R=>g(R)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:R=>g(R)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:R=>g(R)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:R=>g(R)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:R=>g(R)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:R=>g(R)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:R=>g(R)},null)])}function B(P=!0){document.body.click();const R=r.value||document.body,W=$e.getCurrent(R),H=o.value;P&&H&&(c.value=F(),c.value.transform=H.style.transform),W&&H&&(u.value=W,u.value.height-=14,u.value.width-=14,H.style.height=u.value.height+"px",H.style.width=u.value.width+"px",H.style.left="7px",H.style.top="7px",H.style.transform="",m.value={size:u.value,position:{x:0,y:0}},y.value=!1,x.value=!0)}function N(){var P,R;if(document.body.click(),c.value){const W={width:c.value.size.width||0,height:c.value.size.height||0},H={x:(window.innerWidth-W.width)/2,y:(window.innerHeight-W.height)/2};(P=u.value)==null||P.set(W),(R=p.value)==null||R.set(H);const K=o.value;K.style.height=W.height+"px",K.style.width=W.width+"px",K.style.left=`${H.x}px`,K.style.top=`${H.y}px`,K.style.transform="",m.value={size:W,position:H},y.value=e.draggable,x.value=!1}}function D(){if(o.value){const P=$e.getCurrent(o.value);if(P){const{width:R,height:W}=P;o.value.style.left=`${(window.innerWidth-R)/2}px`,o.value.style.top=`${(window.innerHeight-W)/2}px`,o.value.style.transform=""}}}function _(){const P=()=>{x.value?B(!1):D(),document.body.click()};return window.addEventListener("resize",P),()=>{window.removeEventListener("resize",P)}}const Z=_();return{renderResizeBar:T,boundingElement:r,resizedEventParam:m,maximize:B,restore:N,allowDrag:y,isMaximized:x,unWindowResizeHandle:Z,moveToCenter:D}}function hn(e,t,o){const r=n.ref(),a=n.ref(e.draggable),l=n.ref(e.lockAxis),i=n.ref(),u=n.ref(),p=n.ref(!1),s=n.ref(new re(0,0)),v=n.ref(new re(0,0)),d=n.ref(new re(0,0)),m=n.ref(new re(0,0));n.watch(()=>o.value,j=>{i.value.style.cursor=j?"move":"default"});function f(j,F){if(F.tagName==="BUTTON")return!1;if(F===j)return!0;for(const C in F.children)if(Object.prototype.hasOwnProperty.call(F.children,C)&&f(j,F.children[C]))return!0;return!1}function c(){var E,g;let j=d.value.x+v.value.x,F=d.value.y+v.value.y;l.value==="x"?(j=((E=s.value)==null?void 0:E.x)||0,d.value.x=0):l.value==="y"&&(F=((g=s.value)==null?void 0:g.y)||0,d.value.y=0);const C=`translate3d(${Math.round(j)}px, ${Math.round(F)}px, 0px)`;r.value&&(r.value.style.transform=C),m.value.x=j,m.value.y=F}function y(){if(!u.value||!r.value)return null;const j=u.value.getBoundingClientRect(),F=r.value.getBoundingClientRect(),C={top:j.top<F.top,right:j.right>F.right,bottom:j.bottom>F.bottom,left:j.left<F.left};return C.top||(d.value.y-=F.top-j.top),C.bottom||(d.value.y-=F.bottom-j.bottom),C.right||(d.value.x-=F.right-j.right),C.left||(d.value.x-=F.left-j.left),c(),C}function x(j){j&&(s.value&&j.subtract(s.value),d.value.set(j),c(),y())}function k(j){p.value&&a.value&&(j.stopPropagation(),j.preventDefault(),x(re.fromEvent(j,i.value)))}function M(){var j;p.value&&(p.value=!1,v.value.add(d.value),d.value.reset(),(j=r.value)==null||j.classList.remove("ng-dragging"),t.emit("stopMove"),document.removeEventListener("mousemove",k),document.removeEventListener("mouseup",M))}function q(){!p.value&&i.value&&(p.value=!0,i.value.classList.add("ng-dragging"),document.addEventListener("mousemove",k),document.addEventListener("mouseup",M))}function S(){if(r.value){const j=re.getTransformInfo(r.value);v.value.set(j);return}v.value.reset()}function b(j){if(!o.value||j instanceof MouseEvent&&j.button===2)return;const F=j.target||j.srcElement;i.value!==void 0&&F&&!f(F,i.value)||a.value!==!1&&(document.body.click(),j.stopPropagation(),j.preventDefault(),s.value=re.fromEvent(j,r.value),S(),q())}function h(j,F,C){if(a.value&&F){if(j)i.value=j;else if(e.dragHandle){if(e.dragHandle instanceof HTMLElement)i.value=e.dragHandle;else if(typeof e.dragHandle=="string"){const E=F.querySelector(e.dragHandle);E&&(i.value=E)}}r.value=F,u.value=C,i.value?(i.value.classList.add("ng-draggable"),i.value.addEventListener("mousedown",b)):a.value=!1}}return{registerDraggle:h,resetTranslate:S}}function Et(e,t){if(e){const o=r=>{r.key.toLowerCase()===e.toLowerCase()&&t({event:r,key:e})};return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}}}function yn(e,t){const o=n.ref(e.enableEsc);let r=null;return o.value?(r=Et("Escape",a=>{t.emit("esc",{event:a.event,type:"esc"})}),{remove:r}):null}function bn(e,t){const o=n.ref(e.enableEnter);let r=null;return o.value?(r=Et("Enter",a=>{t.emit("enter",{event:a.event,type:"enter"})}),{remove:r}):null}const qe=n.defineComponent({name:"FModal",props:Ot,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove"],setup(e,t){const o=n.ref(e.width||300),r=n.ref(e.height||200),a=n.ref(e.modelValue),l=n.ref(""),i=n.ref(e.class),u=n.ref(e.fitContent),p=n.ref(e.showHeader),s=n.ref(""),v=n.ref(e.showCloseButton),d=n.ref(e.showMaxButton),m=n.ref(!1),f=n.ref(e.dialogType),c=n.ref(e.src),y=n.ref(""),x=n.ref(e.showButtons),k=n.ref(e.title),M=n.ref(e.containment||null),q=n.ref(),{t:S}=pt.useI18n();k.value==="错误提示"&&(k.value=S("messageBox.errorTitle"));const b=n.ref(!1);function h(O,Y){const ae=Y?"accept":"cancel";Promise.resolve().then(()=>{var ie;return(ie=e.beforeClose)==null?void 0:ie.call(e,{closeType:ae})}).then(ie=>{ie&&(a.value=!1,t.emit("update:modelValue",!1),Y!=null&&t.emit(Y?"accept":"cancel"),t.emit("closed",O))})}const j=[{name:"cancel",text:S("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:O=>{h(O,!1)}},{name:"accept",text:S("messageBox.ok")||"确定",class:"btn btn-primary",handle:O=>{h(O,!0)}}],F=n.ref(e.buttons&&e.buttons.length?e.buttons:j),C=n.computed(()=>!!s.value),E=n.computed(()=>!!x.value&&!!F.value),g=n.ref(),T=n.ref(),B=n.ref(!1),{renderResizeBar:N,maximize:D,restore:_,boundingElement:Z,resizedEventParam:P,allowDrag:R,unWindowResizeHandle:W,moveToCenter:H}=gn(e),{registerDraggle:K}=hn(e,t,R);function me(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function ge(){const O=document.querySelectorAll(".farris-modal").length;(!O||O-1<=0)&&document.body.classList.remove("modal-open"),q.value&&q.value.classList.remove("show")}n.watch(()=>e.title,(O,Y)=>{O!==Y&&(k.value=O)}),n.watch(()=>e.modelValue,(O,Y)=>{O!==Y&&(a.value=O,a.value&&e.draggable&&n.nextTick(()=>{T.value&&!M.value&&(M.value=T.value.parentElement,Z.value=M.value,K(g.value,T.value,Z.value),H())}),O||(M.value&&(M.value=null),ge())),a.value?b.value=me():(B.value=!1,R.value=e.draggable)}),n.watch(()=>e.showHeader,(O,Y)=>{O!==Y&&(p.value=O)}),n.watch(()=>e.showButtons,(O,Y)=>{O!==Y&&(x.value=O)}),n.watch(()=>P.value,(O,Y)=>{const ae=O||{},ie=Y||{};JSON.stringify(ae)!==JSON.stringify(ie)&&t.emit("resize",{newSize:O,oldSize:Y,isMaximized:B.value})});const G=n.computed(()=>(a.value&&document.body.classList.add("modal-open"),a.value)),oe=n.computed(()=>{var ae;const O={modal:!0,"farris-modal":!0,fade:!0};O["f-modal-fitContent"]=!!u.value,O.show=!!G.value;const Y=(ae=e.maskClass)==null?void 0:ae.split(" ");return Y==null||Y.reduce((ie,Ie)=>(ie[Ie]=!0,ie),O),O}),le=n.computed(()=>{var ae;const O={"modal-dialog":!0},Y=(ae=i.value)==null?void 0:ae.split(" ");return Y==null||Y.reduce((ie,Ie)=>(ie[Ie]=!0,ie),O),O}),ee=n.computed(()=>{const O={position:"absolute",top:`${(window.innerHeight-r.value)/2}px`,left:`${(window.innerWidth-o.value)/2}px`,width:`${o.value}px`,height:u.value?"auto":`${r.value}px`};return e.mask||(O.pointerEvents="auto"),O}),z=n.computed(()=>{const O={display:"block"};return e.mask||(O.pointerEvents="none",O.backgroundColor="transparent"),b.value&&(O.backgroundColor="transparent"),O}),te=n.computed(()=>({"modal-content":!0,"modal-content-has-header":p.value})),Le=n.computed(()=>{const O={display:p.value?"":"none"};return O["pointer-events"]=R.value?"auto":"none",O}),Ee=n.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:B.value})),Fe=n.computed(()=>({"modal-body":!0,"f-utils-flex-column":f.value==="iframe","f-utils-fill":!0}));function Je(){return{height:`${e.footerHeight||60}px`}}const ze=n.computed(()=>{const O={textAlgin:y.value},Y=Je();return Object.assign(O,Y)});function Ae(O){if(O==null||O.stopPropagation(),B.value){B.value=!1,_();return}D(),B.value=!0}async function se(O,Y){O.handle&&await O.handle(Y,O)&&t.emit("closed",Y)}function Ze(O){O.width&&(o.value=O.width),O.height&&(r.value=O.height),O.buttons&&(F.value=O.buttons),O.title&&(k.value=O.title)}let je=null,Re=null;n.onBeforeMount(()=>{b.value=me()}),n.onMounted(()=>{T.value&&!M.value&&(M.value=T.value.parentElement,Z.value=M.value,K(g.value,T.value,Z.value)),G.value&&document.body.classList.add("modal-open"),je=yn(e,t),Re=bn(e,t)}),n.onUnmounted(()=>{W&&W(),je&&je.remove(),Re&&Re.remove()}),t.expose({modalElementRef:T,updateModalOptions:Ze,close:h,maxDialog:Ae,isMaximized:B});function Pe(){return n.createVNode("ul",null,[m.value&&n.createVNode("li",{class:"f-btn-icon f-bare"},[n.createVNode("span",{class:"f-icon modal_minimize"},null)]),d.value&&n.createVNode("li",{onClick:Ae,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[n.createVNode("span",{class:Ee.value},null)]),v.value&&n.createVNode("li",{class:"f-btn-icon f-bare",onClick:O=>h(O,!1),style:"pointer-events: auto;"},[n.createVNode("span",{class:"f-icon modal_close"},null)])])}function Ve(){return n.createVNode("div",{class:"modal-footer",style:ze.value},[F.value&&F.value.map(O=>{const Y=n.ref(O.disabled);return n.createVNode("button",{name:O.name,type:"button",disabled:Y.value,class:O.class+(O.iconClass?" btn-icontext":""),onClick:ae=>{se(O,ae)}},[!!O.iconClass&&n.createVNode("i",{class:O.iconClass},null),O.text])})])}function Ke(){return n.createVNode("div",{ref:g,class:"modal-header",style:Le.value},[t.slots.headerTemplate?t.slots.headerTemplate():n.createVNode("div",{class:"modal-title"},[C.value&&n.createVNode("span",{class:s.value,style:"margin-right: 8px"},null),n.createVNode("span",{class:"modal-title-label"},[k.value])]),n.createVNode("div",{class:"actions"},[Pe()])])}function _e(){return t.slots.footerTemplate?t.slots.footerTemplate():E.value&&Ve()}function Me(O){if(O.stopPropagation(),e.allowClickMaskToClose){if(O.target!==q.value)return;h(O,!1)}}function De(){var O,Y;return n.createVNode("div",{id:l.value,class:le.value,style:ee.value,ref:T},[n.createVNode("div",{class:te.value},[p.value&&Ke(),n.createVNode("div",{class:Fe.value},[(Y=(O=t.slots).default)==null?void 0:Y.call(O),f.value==="iframe"&&n.createVNode("iframe",{title:l.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:c.value},null)]),_e()]),!u.value&&T.value&&!B.value&&N(T.value)])}function Qe(O){return O||"body"}return()=>n.createVNode(n.Teleport,{to:Qe(e.host)},{default:()=>[G.value&&n.createVNode(n.Transition,{name:"fade",appear:!0},{default:()=>[n.createVNode("div",{ref:q,class:oe.value,style:z.value,onClick:Me},[De()])]})]})}});function Rt(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function wn(e){const t=document.createElement("div");t.style.display="contents";const o=n.createApp({setup(r,a){n.onUnmounted(()=>{document.body.removeChild(t)});const l=n.ref(),i=n.ref(e.class||""),u=n.ref(!!e.showButtons),p=n.ref(!!e.showHeader),s=n.ref(e.showCloseButton==null?!0:e.showCloseButton),v=n.ref(!0),d=n.ref(e.title||""),m=e.acceptCallback||(()=>{}),f=e.rejectCallback||(()=>{}),c=e.closedCallback||(q=>{}),y=e.resizeHandle||(q=>{}),x=e.stopMoveHandle||(q=>{}),k=Rt(e),M=q=>{v.value=!1,o.unmount(),c(q)};return n.onMounted(()=>{}),a.expose({modalRef:l}),()=>n.createVNode(qe,{ref:l,class:i.value,modelValue:v.value,"onUpdate:modelValue":q=>v.value=q,title:d.value,width:e.width,height:e.height,buttons:e.buttons,"show-header":p.value,"show-buttons":u.value,"show-close-button":s.value,"show-max-button":!1,onAccept:m,onCancel:f,fitContent:e.fitContent==null?!0:e.fitContent,onClosed:M,onResize:y,onStopMove:x},{default:()=>[k&&k(o)]})}});return document.body.appendChild(t),o.use(at.LocaleService.i18n),o.mount(t),o}class Pt{constructor(t){ye(this,"appContext",null);ye(this,"modalRef",n.ref());ye(this,"activeModalIndex",n.ref(0));ye(this,"modalRefs",{});ye(this,"isUseEscCloseModal",n.ref(!1));ye(this,"activeModalInstance",n.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=t,this.appContext=t?t._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(t,o){const{width:r,height:a}={width:window.innerWidth,height:window.innerHeight};return r<t&&(t=r-14),a<o&&(o=a-14),{width:t,height:o}}static show(t){const o=Object.assign({title:"",showButtons:!0,showHeader:!0},t);return wn(o)}close(t){var o,r;t?(r=t.value)==null||r.close():(o=this.getCurrentModal())==null||o.close()}open(t){const o=document.createDocumentFragment();t.showMaxButton&&t.fitContent&&(t.showMaxButton=!1);const r=n.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},t)),a=n.ref(!0),l=r.value.acceptCallback||(()=>{}),i=r.value.rejectCallback||(()=>{}),u=r.value.closedCallback||((b,h)=>{}),p=r.value.resizeHandle||(b=>{}),s=t.stopMoveHandle||(b=>{});let v;const d=Rt(r.value),m=b=>{var j;a.value=!1;const h=(j=b==null?void 0:b.target)==null?void 0:j.classList.contains("modal_close");u(b,this.isUseEscCloseModal.value?"esc":h?"icon":"button")},f=b=>{m(b),v&&n.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],n.render(null,o),v=null,this.modalRef.value=null,this.modalRefs){const h=Object.keys(this.modalRefs).map(j=>Number(j));h.length>0?this.activeModalIndex.value=Math.max(...h):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},c=b=>{var h;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((h=this.activeModalInstance.value)==null||h.close(b==null?void 0:b.event))},{width:y,height:x}=r.value,k=this.adaptToWindow(y||500,x||320);Object.assign(r.value,k);const M=()=>n.createVNode(qe,n.mergeProps({ref:this.modalRef,modelValue:a.value,"onUpdate:modelValue":b=>a.value=b},r.value,{onAccept:l,onCancel:i,onClosed:f,onResize:p,onEsc:c,onStopMove:s}),{default:()=>[d&&d(this.app)]});return v=(b=>{const h=n.h(M,b);return h.appContext=this.appContext,n.render(h,o),h})({...r.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:b=>{r.value={...r.value,...b},v&&n.render(n.cloneVNode(v,{...r}),o)},destroy:f,modalRef:this.activeModalInstance,close:()=>this.close()}}}function Cn(e={}){function t(s,v,d,m){if(typeof d=="number")return m[s].length===d;if(typeof d=="object"){const f=Object.keys(d)[0],c=d[f];if(f==="not")return Number(m[s].length)!==Number(c);if(f==="moreThan")return Number(m[s].length)>=Number(c);if(f==="lessThan")return Number(m[s].length)<=Number(c)}return!1}function o(s,v,d,m){return m[s]&&m[s].propertyValue&&String(m[s].propertyValue.value)===String(d)}const r=new Map([["length",t],["getProperty",o]]);Object.keys(e).reduce((s,v)=>(s.set(v,e[v]),s),r);function a(s,v){const d=s;return typeof v=="number"?[{target:d,operator:"length",param:null,value:Number(v)}]:typeof v=="boolean"?[{target:d,operator:"getProperty",param:s,value:!!v}]:typeof v=="object"?Object.keys(v).map(m=>{if(m==="length")return{target:d,operator:"length",param:null,value:v[m]};const f=m,c=v[m];return{target:d,operator:"getProperty",param:f,value:c}}):[]}function l(s){return Object.keys(s).reduce((d,m)=>{const f=a(m,s[m]);return d.push(...f),d},[])}function i(s,v){if(r.has(s.operator)){const d=r.get(s.operator);return d&&d(s.target,s.param,s.value,v)||!1}return!1}function u(s,v){return l(s).reduce((f,c)=>f&&i(c,v),!0)}function p(s,v){const d=Object.keys(s),m=d.includes("allOf"),f=d.includes("anyOf"),c=m||f,k=(c?s[c?m?"allOf":"anyOf":"allOf"]:[s]).map(q=>u(q,v));return m?!k.includes(!1):k.includes(!0)}return{parseValueSchema:p}}const xn={convertTo:(e,t,o,r)=>{e.appearance||(e.appearance={}),e.appearance[t]=o},convertFrom:(e,t,o)=>e.appearance?e.appearance[t]:e[t]},Sn={convertFrom:(e,t,o)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},Tn={convertTo:(e,t,o,r)=>{e.editor&&(e.editor[t]=o)},convertFrom:(e,t,o)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,t)?e.editor[t]:e[t]},I={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:"多语输入框"}},Fn={convertFrom:(e,t,o)=>{var a;const r=e.editor&&e.editor[t]?e.editor[t]:e[t];return((a=I[r])==null?void 0:a.name)||r}},jn={convertTo:(e,t,o,r)=>{e[t]=e[t]},convertFrom:(e,t,o)=>e.editor?o.getRealEditorType(e.editor.type):""},Bn={convertTo:(e,t,o,r)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e.formatter?e.formatter[t]=o:e.formatter={[t]:o})},convertFrom:(e,t,o)=>{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"}},kn={convertTo:(e,t,o,r)=>{e.command?e.command[t]=o:e.command={[t]:o},t==="enable"&&o&&(e.command.commands||(e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]))},convertFrom:(e,t,o)=>e.command&&t==="enable"?e.command.enable:""},Nn={convertTo:(e,t,o,r)=>{e.column?e.column[t]=o:e.column={[t]:o},t==="fitColumns"&&o&&(e.column.fitMode||(e.column.fitMode="average"))},convertFrom:(e,t,o)=>{if(e.column){if(t==="fitColumns")return e.column.fitColumns;if(t==="fitMode")return e.column.fitMode}return""}},Mn={convertTo:(e,t,o,r)=>{e.summary?e.summary[t]=o:e.summary={[t]:o},t==="enable"&&o&&(e.summary?e.summary.groupFields||(e.summary.groupFields=[]):e.summary={enable:o,groupFields:[]})},convertFrom:(e,t,o)=>e.summary&&t==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""},On={convertTo:(e,t,o,r)=>{e.group?e.group[t]=o:e.group={[t]:o},t==="enable"&&o&&(e.group?e.group.groupFields||(e.group.groupFields=[]):e.group={enable:o,groupFields:[],showSummary:!1})},convertFrom:(e,t,o)=>{if(e.group){if(t==="enable")return e.group.enable;if(t==="showSummary")return e.group.showSummary}}},En={convertFrom:(e,t)=>e.binding?e.binding.path:"",convertTo:(e,t,o)=>{if(o&&o.length>0){const r=o[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=r.bindingField,e.binding.field=r.id,e.binding.fullPath=r.path,e.path=r.bindingPath}}},Rn={convertTo:(e,t,o,r)=>{e.pagination||(e.pagination={}),e.pagination[t]=o},convertFrom:(e,t,o)=>e.pagination?e.pagination[t]:e[t]},Pn={convertTo:(e,t,o,r)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[t]=o},convertFrom:(e,t,o)=>e.rowNumber?e.rowNumber[t]:e[t]},Vn={convertTo:(e,t,o,r)=>{e.selection||(e.selection={}),e.selection[t]=o},convertFrom:(e,t,o)=>e.selection?e.selection[t]:e[t]},Dn={convertFrom:(e,t,o)=>e[t]&&e[t].length?`共 ${e[t].length} 项`:""},In={convertFrom:(e,t)=>e[t]||"",convertTo:(e,t,o)=>{e[t]=o}},$n={convertTo:(e,t,o,r)=>{e.size||(e.size={}),e.size[t]=o},convertFrom:(e,t,o)=>e.size?e.size[t]:e[t]},qn={convertFrom:(e,t,o)=>{var r,a;return(r=e.formatter)!=null&&r.data&&t==="formatterEnumData"&&!e.formatterEnumData?(a=e.formatter)==null?void 0:a.data:e.formatterEnumData}},Hn={convertTo:(e,t,o,r)=>{e.sort||(e.sort={}),e.sort[t]=o},convertFrom:(e,t,o)=>{var r,a;if(t==="mode")return((r=e.sort)==null?void 0:r.mode)||"client";if(t==="multiSort")return!!((a=e.sort)!=null&&a.multiSort)}},Ln={convertTo:(e,t,o,r)=>{e.filter||(e.filter={}),e.filter[t]=o},convertFrom:(e,t,o)=>{var r;if(t==="mode")return((r=e.filter)==null?void 0:r.mode)||"client"}},zn={convertTo:(e,t,o,r)=>{e.rowOption?e.rowOption[t]=o:e.rowOption={[t]:o}},convertFrom:(e,t,o)=>{if(e.rowOption){if(t==="customRowStyle")return e.rowOption.customRowStyle;if(t==="customCellStyle")return e.rowOption.customCellStyle}return""}};function Vt(e,t,o){const r=new Map([["/converter/appearance.converter",xn],["/converter/buttons.converter",Sn],["/converter/property-editor.converter",Tn],["/converter/items-count.converter",Dn],["/converter/type.converter",Fn],["/converter/change-editor.converter",jn],["/converter/change-formatter.converter",Bn],["/converter/column-command.converter",kn],["/converter/column-option.converter",Nn],["/converter/summary.converter",Mn],["/converter/group.converter",On],["/converter/form-group-label.converter",In],["/converter/field-selector.converter",En],["/converter/pagination.converter",Rn],["/converter/row-number.converter",Pn],["/converter/grid-selection.converter",Vn],["/converter/size.converter",$n],["/converter/change-formatter-enum.converter",qn],["/converter/grid-sort.converter",Hn],["/converter/grid-filter.converter",Ln],["/converter/row-option.converter",zn]]),a=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}]]),l=Cn();function i(c,y){return()=>l.parseValueSchema(c,y)}function u(c,y,x){return c.includes("visible")&&y.visible!==void 0?typeof y.visible=="boolean"?()=>!!y.visible:y.visible===void 0?!0:i(y.visible,x):()=>!0}function p(c,y,x){return c.includes("readonly")&&y.readonly!==void 0?typeof y.readonly=="boolean"?()=>!!y.readonly:i(y.readonly,x):()=>!1}function s(c,y){const x=c.$converter||y;return typeof x=="string"&&x&&r.has(x)?r.get(x)||null:x||null}function v(c,y,x,k,M,q="",S=""){return Object.keys(c).map(h=>{const j=n.ref(1),F=h,C=c[h],E=Object.keys(C),g=C.title,T=C.type,B=a.get(T)||{type:"input-group",enableClear:!1},N=C.editor?Object.assign({},B,C.editor):Object.assign({},B),D=u(E,C,y),_=p(E,C,y);N.readonly=N.readonly===void 0?_():N.readonly;const Z=C.type==="cascade"?v(C.properties,y,x,k,M,q,S):[],P=!0;let R=s(C,S);const W=n.computed({get(){if(j.value){if(["class","style"].find(le=>le===F)&&!R&&(R=r.get("/converter/appearance.converter")||null),R&&R.convertFrom)return R.convertFrom(x,h,M,q);const oe=x[h];return Object.prototype.hasOwnProperty.call(C,"defaultValue")&&(oe===void 0||typeof oe=="string"&&oe==="")?C.type==="boolean"?C.defaultValue:C.defaultValue||"":oe}return null},set(oe){j.value+=1,R&&R.convertTo?(R.convertTo(k,h,oe,M,q),R.convertTo(x,h,oe,M,q)):(k[h]=oe,x[h]=oe)}}),{refreshPanelAfterChanged:H,description:K,isExpand:me,parentPropertyID:ge}=C,G={propertyID:F,propertyName:g,propertyType:T,propertyValue:W,editor:N,visible:D,readonly:_,cascadeConfig:Z,hideCascadeTitle:P,refreshPanelAfterChanged:H,description:K,isExpand:me,parentPropertyID:ge};return y[F]=G,G})}function d(c,y,x={}){const k={},M=e[c];return M&&M.categories?Object.keys(M.categories).map(S=>{const b=M.categories[S],h=b==null?void 0:b.title,j=v(b.properties||{},k,{},x,y);return{categoryId:S,categoryName:h,properties:j}}):[]}function m(c,y,x,k,M=""){const q=y.$ref.schema,S=y.$ref.converter,b=x[q],h=b.type,j=o(b),F={},C=e[h];if(C&&C.categories){const E=C.categories[c],g=E==null?void 0:E.title;S&&Object.keys(E.properties).forEach(N=>{E.properties[N].$converter=S});const T=(E==null?void 0:E.properties)||{},B=v(T,F,j,b,k,M);return{categoryId:c,categoryName:g,properties:B}}return{categoryId:c,categoryName:"",properties:[]}}function f(c,y,x,k,M){const q=c.type,S=o(c),b={};let h=M||e[q];if(h&&Object.keys(h).length===0&&x&&x.getPropConfig&&(h=x.getPropConfig(k)),h&&h.categories){const j=[];return Object.keys(h.categories).map(F=>{const C=h.categories[F];if(C.$ref){j.push(m(F,C,c,y,k));return}const E=C==null?void 0:C.title,g=C==null?void 0:C.tabId,T=C==null?void 0:C.tabName,B=C==null?void 0:C.hide,N=C==null?void 0:C.hideTitle,D=v(C.properties||{},b,S,c,y,k,C.$converter),{setPropertyRelates:_}=C,Z=C==null?void 0:C.parentPropertyID;j.push({categoryId:F,categoryName:E,tabId:g,tabName:T,hide:B,properties:D,hideTitle:N,setPropertyRelates:_,parentPropertyID:Z})}),j}return[]}return{getPropertyConfigBySchema:f,getPropertyConfigByType:d,propertyConverterMap:r}}function Dt(e,t){let o;function r(d){const{properties:m,title:f,ignore:c}=d,y=c&&Array.isArray(c),x=Object.keys(m).reduce((k,M)=>((!y||!c.find(q=>q===M))&&(k[M]=m[M].type==="object"&&m[M].properties?r(m[M]):ve.cloneDeep(m[M].default)),k),{});if(f&&(!y||!c.find(k=>k==="id"))){const k=f.toLowerCase().replace(/-/g,"_");x.id=`${k}_${Math.random().toString().slice(2,6)}`}return x}function a(d){const{properties:m,title:f,required:c}=d;if(c&&Array.isArray(c)){const y=c.reduce((x,k)=>(x[k]=m[k].type==="object"&&m[k].properties?r(m[k]):ve.cloneDeep(m[k].default),x),{});if(f&&c.find(x=>x==="id")){const x=f.toLowerCase().replace(/-/g,"_");y.id=`${x}_${Math.random().toString().slice(2,6)}`}return y}return{type:f}}function l(d,m={},f){const c=e[d];if(c){let y=a(c);const x=t[d];return y=x?x({getSchemaByType:l},y,m,f):y,o!=null&&o.appendIdentifyForNewControl&&o.appendIdentifyForNewControl(y),y}return null}function i(d,m){const f=r(m);return Object.keys(f).reduce((c,y)=>(Object.prototype.hasOwnProperty.call(d,y)&&(c[y]&&ve.isPlainObject(c[y])&&ve.isPlainObject(d[y]||!d[y])?Object.assign(c[y],d[y]||{}):c[y]=d[y]),c),f),f}function u(d,m){return Object.keys(d).filter(c=>d[c]!=null).reduce((c,y)=>{if(m.has(y)){const x=m.get(y);if(typeof x=="string")c[x]=d[y];else{const k=x(y,d[y],d);Object.assign(c,k)}}else c[y]=d[y];return c},{})}function p(d,m,f=new Map){const c=i(d,m);return u(c,f)}function s(d){var f;const m=d.type;if(m){const c=e[m];if(!c)return d;const y=i(d,c),x=((f=d.editor)==null?void 0:f.type)||"";if(x){const k=e[x],M=i(d.editor,k);y.editor=M}return y}return d}function v(d){o=d}return{getSchemaByType:l,resolveSchemaWithDefaultValue:s,resolveSchemaToProps:p,mappingSchemaToProps:u,setDesignerContext:v}}const It={},$t={},{getSchemaByType:Ba,resolveSchemaWithDefaultValue:An,resolveSchemaToProps:ka,mappingSchemaToProps:Na,setDesignerContext:Ma}=Dt(It,$t),qt={},Ht={};Vt(qt,Ht,An);const Lt={},zt={},{getSchemaByType:Oa,resolveSchemaWithDefaultValue:_n,resolveSchemaToProps:Wn,mappingSchemaToProps:Un,setDesignerContext:Ea}=Dt(Lt,zt),At={},_t={};Vt(At,_t,_n);function it(e,t,o=new Map,r=(i,u,p,s)=>u,a={},l=i=>i){return Lt[t.title]=t,zt[t.title]=r,At[t.title]=a,_t[t.title]=l,It[t.title]=t,$t[t.title]=r,qt[t.title]=a,Ht[t.title]=l,(i={},u=!0)=>{if(!u)return Un(i,o);const p=Wn(i,t,o),s=Object.keys(e).reduce((v,d)=>(v[d]=e[d].default,v),{});return Object.assign(s,p)}}function Wt(e,t){return{customClass:t.class,customStyle:t.style}}const mt=new Map([["appearance",Wt]]),Gn=new Map([]),Ut={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/form-group.schema.json",title:"form-group",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a form group",type:"string"},type:{description:"The type string of form group component",type:"string",default:"form-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},enableLinkLabel:{description:"",type:"boolean",default:!1},editor:{description:"",type:"obejct",default:null},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},binding:{description:"",type:"object",default:{}},visible:{description:"",type:"boolean",default:!0},required:{description:"",type:"boolean",default:!1},errors:{description:"",type:"object",default:null},name:{description:"The name string of form group component",type:"string",default:"form group"},showLabelType:{description:"",type:"string",default:"visible"}},required:["id","type","editor"]};it({id:{type:String,default:""},customClass:{type:String,default:""},customStyle:{type:String,default:""},editor:{type:Object,default:{}},label:{type:String,default:""},modelValue:{type:Object},visible:{type:Boolean,default:!0},required:{type:Boolean,default:!1},showLabel:{type:Boolean,default:!0},showLabelType:{type:String,default:"visible"},type:{type:String,default:"input-group"},componentId:{type:String,default:""},errors:{type:Object,default:null}},Ut,mt,void 0),n.ref(0),n.ref(0);const Ye=class Ye{static getEditorTypesByMDataType(t,o=!1,r=""){if(o)return[{key:I["language-textbox"].type,value:I["language-textbox"].name}];let a=Ye.fieldControlTypeMapping