@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
2 lines • 112 kB
JavaScript
(function(ae,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("../locale/index.umd.js"),require("../common/index.umd.js"),require("../property-panel/index.umd.js"),require("../tags/index.umd.js"),require("lodash-es"),require("../popover/index.umd.js"),require("@vueuse/core"),require("../data-view/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../button/index.umd.js"),require("../drawer/index.umd.js"),require("../dynamic-resolver/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../locale/index.umd.js","../common/index.umd.js","../property-panel/index.umd.js","../tags/index.umd.js","lodash-es","../popover/index.umd.js","@vueuse/core","../data-view/index.umd.js","../dynamic-form/index.umd.js","../button/index.umd.js","../drawer/index.umd.js","../dynamic-resolver/index.umd.js"],t):(ae=typeof globalThis<"u"?globalThis:ae||self,t(ae["mapping-editor"]={},ae.Vue,ae.locale,ae.common,null,ae.FTags,ae.LodashES,ae.FPopover,ae.VueUseCore,ae.dataView,ae.FResponseForm,ae.FButton,ae.FDrawer,ae.dynamicResolver))})(this,function(ae,t,Ce,Ve,oa,zt,Qe,At,_t,j,ft,Ct,Wt,Gt){"use strict";var ta=Object.defineProperty;var na=(ae,t,Ce)=>t in ae?ta(ae,t,{enumerable:!0,configurable:!0,writable:!0,value:Ce}):ae[t]=Ce;var He=(ae,t,Ce)=>na(ae,typeof t!="symbol"?t+"":t,Ce);const $t={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},beforeClosePopup:{type:Function,default:null}},Ut={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},qt=t.defineComponent({name:"FOverlay",props:Ut,emits:["click"],setup(e,n){const o=t.ref(e.popupContentPosition),a=t.ref(e.host),l=t.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function u(c){n.emit("click"),c.preventDefault(),c.stopPropagation()}t.computed(()=>{const c=a.value;if(c){const y=c.getBoundingClientRect(),{left:p,top:h,height:s}=y;return{left:p,top:h+s}}return o.value});const d=t.computed(()=>({}));return()=>t.createVNode(t.Teleport,{to:"body"},{default:()=>{var c,y;return[t.createVNode("div",{class:"overlay-container",onClick:p=>u(p),style:l.value},[t.createVNode("div",{style:d.value},[(y=(c=n.slots).default)==null?void 0:y.call(c)])])]}})}});function Yt(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function Xt(e){const n=document.createElement("div");n.style.display="contents";let o;const a=e.onClickCallback||(()=>{}),l=()=>{a(),o&&o.unmount()};return o=t.createApp({setup(){t.onUnmounted(()=>{document.body.removeChild(n)});const u=Yt(e);return()=>t.createVNode(qt,{"popup-content-position":e.popupPosition,host:e.host,onClick:l,backgroundColor:e.backgroundColor},{default:()=>[u&&u()]})}}),document.body.appendChild(n),o.mount(n),o}class Jt{static show(n){return Xt(n)}}const Zt={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},openedCallback:{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"},isMessager:{type:Boolean,default:!1},maximized:{type:Boolean,default:!1}};class me{constructor(n,o){this.x=n,this.y=o}static getTransformInfo(n){const a=window.getComputedStyle(n).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(a.length>=6){const l=parseInt(a[4],10),u=parseInt(a[5],10);return{x:l,y:u}}return{x:0,y:0}}static fromEvent(n,o=null){if(this.isMouseEvent(n))return new me(n.clientX,n.clientY);if(o===null||n.changedTouches.length===1)return new me(n.changedTouches[0].clientX,n.changedTouches[0].clientY);for(let a=0;a<n.changedTouches.length;a++)if(n.changedTouches[a].target===o)return new me(n.changedTouches[a].clientX,n.changedTouches[a].clientY)}static isMouseEvent(n){return Object.prototype.toString.apply(n).indexOf("MouseEvent")===8}static isIPosition(n){return!!n&&"x"in n&&"y"in n}static getCurrent(n){const o=new me(0,0);if(window){const a=window.getComputedStyle(n);if(a){const l=parseInt(a.getPropertyValue("left"),10),u=parseInt(a.getPropertyValue("top"),10);o.x=isNaN(l)?0:l,o.y=isNaN(u)?0:u}return o}return null}static copy(n){return new me(0,0).set(n)}get value(){return{x:this.x,y:this.y}}add(n){return this.x+=n.x,this.y+=n.y,this}subtract(n){return this.x-=n.x,this.y-=n.y,this}multiply(n){this.x*=n,this.y*=n}divide(n){this.x/=n,this.y/=n}reset(){return this.x=0,this.y=0,this}set(n){return this.x=n.x,this.y=n.y,this}}class We{constructor(n,o){this.width=n,this.height=o}static getCurrent(n){const o=new We(0,0);if(window){const a=window.getComputedStyle(n);return a&&(o.width=parseInt(a.getPropertyValue("width"),10),o.height=parseInt(a.getPropertyValue("height"),10)),o}return null}static copy(n){return new We(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function Qt(e,n){const o=t.ref(),a=t.ref(),l=t.ref(),u=t.ref(),d=t.ref(),c=t.ref(),y=t.ref(),p=t.ref(),h=t.ref(),s=t.ref(),C=t.ref(),f=t.ref(e.resizeable),i=t.ref(),v=t.ref(e.draggable),S=t.ref(!1);function x(){const b=a.value||document.body,N=window.getComputedStyle(b);if(!N||!o.value)return;const H=me.getTransformInfo(o.value),R={};y.value&&(R.deltaL=o.value.offsetLeft-y.value.x,R.deltaT=o.value.offsetTop-y.value.y);const Q=N.getPropertyValue("position");R.width=b.clientWidth,R.height=b.clientHeight,R.pr=parseInt(N.getPropertyValue("padding-right"),10),R.pb=parseInt(N.getPropertyValue("padding-bottom"),10),R.position=N.getPropertyValue("position"),Q==="static"&&(b.style.position="relative"),R.translateX=H.x,R.translateY=H.y,s.value=R}function w(b){if(o.value){u.value=We.getCurrent(o.value),d.value=me.getCurrent(o.value),c.value=u.value?We.copy(u.value):null,y.value=d.value?me.copy(d.value):null,x();const N=b.target.getAttribute("type")||"";p.value={n:!!N.match(/n/),s:!!N.match(/s/),w:!!N.match(/w/),e:!!N.match(/e/)}}}function I(){var b,N,H,R;if(o.value){const Q=o.value;p.value&&((p.value.n||p.value.s)&&((b=c.value)!=null&&b.height)&&(Q.style.height=c.value.height+"px"),(p.value.w||p.value.e)&&((N=c.value)!=null&&N.width)&&(Q.style.width=c.value.width+"px"),y.value&&((H=y.value)!=null&&H.x&&(Q.style.left=y.value.x+"px"),(R=y.value)!=null&&R.y&&(Q.style.top=y.value.y+"px")))}}function Y(){const b=e.minHeight?e.minHeight:1,N=e.minWidth?e.minWidth:1;c.value&&y.value&&p.value&&u.value&&(c.value.height<b&&(c.value.height=b,p.value.n&&d.value&&(y.value.y=d.value.y+(u.value.height-b))),c.value.width<N&&(c.value.width=N,p.value.w&&d.value&&(y.value.x=d.value.x+(u.value.width-N))),e.maxHeight&&c.value.height>e.maxHeight&&(c.value.height=e.maxHeight,d.value&&p.value.n&&(y.value.y=d.value.y+(u.value.height-e.maxHeight))),e.maxWidth&&c.value.width>e.maxWidth&&(c.value.width=e.maxWidth,p.value.w&&d.value&&(y.value.x=d.value.x+(u.value.width-e.maxWidth))))}function $(){if(a.value){const b=s.value;if(y.value&&c.value&&p.value&&u.value){const N=b.width-b.pr-b.deltaL-b.translateX-y.value.x,H=b.height-b.pb-b.deltaT-b.translateY-y.value.y;p.value.n&&y.value.y+b.translateY<0&&d.value&&(y.value.y=-b.translateY,c.value.height=u.value.height+d.value.y+b.translateY),p.value.w&&y.value.x+b.translateX<0&&d.value&&(y.value.x=-b.translateX,c.value.width=u.value.width+d.value.x+b.translateX),c.value.width>N&&(c.value.width=N),c.value.height>H&&(c.value.height=H)}}}function L(b){if(!l.value||!u.value||!d.value||!p.value)return;b.subtract(l.value);const N=b.x,H=b.y;p.value.n?(y.value.y=d.value.y+H,c.value.height=u.value.height-H):p.value.s&&(c.value.height=u.value.height+H),p.value.e?c.value.width=u.value.width+N:p.value.w&&(c.value.width=u.value.width-N,y.value.x=d.value.x+N),$(),Y(),I()}function B(b){if(!h.value)return;const N=me.fromEvent(b);N&&L(N)}function k(){if(o.value){const{width:b,height:N,x:H,y:R}=o.value.getBoundingClientRect(),Q=me.getTransformInfo(o.value);return{size:{width:b,height:N},position:{x:H-Q.x,y:R-Q.y}}}return null}function O(b){if(o.value){const N=k();C.value=N}l.value=void 0,u.value=null,d.value=null,c.value=null,y.value=null,p.value=null,h.value=null,document.removeEventListener("mousemove",B),document.removeEventListener("mouseup",O)}function F(){document.addEventListener("mousemove",B),document.addEventListener("mouseup",O)}function V(b){b instanceof MouseEvent&&b.button===2||v.value&&(document.body.click(),b.stopPropagation(),b.preventDefault(),l.value=me.fromEvent(b),h.value=b.target,w(b),F())}function U(b){return o.value=b,f.value&&t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:N=>V(N)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:N=>V(N)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:N=>V(N)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:N=>V(N)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:N=>V(N)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:N=>V(N)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:N=>V(N)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:N=>V(N)},null)])}function Z(b=!0){document.body.click();const N=a.value||document.body,H=We.getCurrent(N),R=o.value;b&&R&&(i.value=k(),i.value.transform=R.style.transform),H&&R&&(c.value=H,c.value.height-=14,c.value.width-=14,R.style.height=c.value.height+"px",R.style.width=c.value.width+"px",R.style.left="7px",R.style.top="7px",R.style.transform="",C.value={size:c.value,position:{x:0,y:0}},v.value=!1,S.value=!0)}function le(){var b,N;if(document.body.click(),i.value){const H={width:i.value.size.width||0,height:i.value.size.height||0},R={x:(window.innerWidth-H.width)/2,y:(window.innerHeight-H.height)/2};(b=c.value)==null||b.set(H),(N=y.value)==null||N.set(R);const Q=o.value;Q.style.height=H.height+"px",Q.style.width=H.width+"px",Q.style.left=`${R.x}px`,Q.style.top=`${R.y}px`,Q.style.transform="",C.value={size:H,position:R},v.value=e.draggable,S.value=!1}}function se(){if(o.value){const b=We.getCurrent(o.value);if(b){const{width:N,height:H}=b;o.value.style.left=`${(window.innerWidth-N)/2}px`,o.value.style.top=`${(window.innerHeight-H)/2}px`,o.value.style.transform=""}}}function G(){const b=()=>{S.value?Z(!1):se(),document.body.click()};return window.addEventListener("resize",b),()=>{window.removeEventListener("resize",b)}}const P=G();return{renderResizeBar:U,boundingElement:a,resizedEventParam:C,maximize:Z,restore:le,allowDrag:v,isMaximized:S,unWindowResizeHandle:P,moveToCenter:se}}function Kt(e,n,o){const a=t.ref(),l=t.ref(e.draggable),u=t.ref(e.lockAxis),d=t.ref(),c=t.ref(),y=t.ref(!1),p=t.ref(new me(0,0)),h=t.ref(new me(0,0)),s=t.ref(new me(0,0)),C=t.ref(new me(0,0));t.watch(()=>o.value,B=>{d.value.style.cursor=B?"move":"default"});function f(B,k){if(k.tagName==="BUTTON")return!1;if(k===B)return!0;for(const O in k.children)if(Object.prototype.hasOwnProperty.call(k.children,O)&&f(B,k.children[O]))return!0;return!1}function i(){var F,V;let B=s.value.x+h.value.x,k=s.value.y+h.value.y;u.value==="x"?(B=((F=p.value)==null?void 0:F.x)||0,s.value.x=0):u.value==="y"&&(k=((V=p.value)==null?void 0:V.y)||0,s.value.y=0);const O=`translate3d(${Math.round(B)}px, ${Math.round(k)}px, 0px)`;a.value&&(a.value.style.transform=O),C.value.x=B,C.value.y=k}function v(){if(!c.value||!a.value)return null;const B=c.value.getBoundingClientRect(),k=a.value.getBoundingClientRect(),O={top:B.top<k.top,right:B.right>k.right,bottom:B.bottom>k.bottom,left:B.left<k.left};return O.top||(s.value.y-=k.top-B.top),O.bottom||(s.value.y-=k.bottom-B.bottom),O.right||(s.value.x-=k.right-B.right),O.left||(s.value.x-=k.left-B.left),i(),O}function S(B){B&&(p.value&&B.subtract(p.value),s.value.set(B),i(),v())}function x(B){y.value&&l.value&&(B.stopPropagation(),B.preventDefault(),S(me.fromEvent(B,d.value)))}function w(){var B;y.value&&(y.value=!1,h.value.add(s.value),s.value.reset(),(B=a.value)==null||B.classList.remove("ng-dragging"),n.emit("stopMove"),document.removeEventListener("mousemove",x),document.removeEventListener("mouseup",w))}function I(){!y.value&&d.value&&(y.value=!0,d.value.classList.add("ng-dragging"),document.addEventListener("mousemove",x),document.addEventListener("mouseup",w))}function Y(){if(a.value){const B=me.getTransformInfo(a.value);h.value.set(B);return}h.value.reset()}function $(B){if(!o.value||B instanceof MouseEvent&&B.button===2)return;const k=B.target||B.srcElement;d.value!==void 0&&k&&!f(k,d.value)||l.value!==!1&&(document.body.click(),B.stopPropagation(),B.preventDefault(),p.value=me.fromEvent(B,a.value),Y(),I())}function L(B,k,O){if(l.value&&k){if(B)d.value=B;else if(e.dragHandle){if(e.dragHandle instanceof HTMLElement)d.value=e.dragHandle;else if(typeof e.dragHandle=="string"){const F=k.querySelector(e.dragHandle);F&&(d.value=F)}}a.value=k,c.value=O,d.value?(d.value.classList.add("ng-draggable"),d.value.addEventListener("mousedown",$)):l.value=!1}}return{registerDraggle:L,resetTranslate:Y}}function xt(e,n){if(e){const o=a=>{a.key.toLowerCase()===e.toLowerCase()&&n({event:a,key:e})};return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}}}function en(e,n){const o=t.ref(e.enableEsc);let a=null;return o.value?(a=xt("Escape",l=>{n.emit("esc",{event:l.event,type:"esc"})}),{remove:a}):null}function tn(e,n){const o=t.ref(e.enableEnter);let a=null;return o.value?(a=xt("Enter",l=>{n.emit("enter",{event:l.event,type:"enter"})}),{remove:a}):null}const et=t.defineComponent({name:"FModal",props:Zt,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove"],setup(e,n){const o=t.ref(e.width||300),a=t.ref(e.height||200),l=t.ref(e.modelValue),u=t.ref(""),d=t.ref(e.class),c=t.ref(e.fitContent),y=t.ref(e.showHeader),p=t.ref(""),h=t.ref(e.showCloseButton),s=t.ref(e.showMaxButton),C=t.ref(!1),f=t.ref(e.dialogType),i=t.ref(e.src),v=t.ref(""),S=t.ref(e.showButtons),x=t.ref(e.title),w=t.ref(e.containment||null),I=t.ref();x.value==="错误提示"&&(x.value=Ce.LocaleService.getLocaleValue("messageBox.errorTitle"));const Y=t.ref(!1);function $(T,z){const ne=z?"accept":"cancel";Promise.resolve().then(()=>{var re;return(re=e.beforeClose)==null?void 0:re.call(e,{closeType:ne})}).then(re=>{re&&(l.value=!1,n.emit("update:modelValue",!1),z!=null&&n.emit(z?"accept":"cancel"),n.emit("closed",T))})}const L=[{name:"cancel",text:Ce.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:T=>{$(T,!1)}},{name:"accept",text:Ce.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:T=>{$(T,!0)}}],B=t.ref(e.buttons&&e.buttons.length?e.buttons:L),k=t.computed(()=>!!p.value),O=t.computed(()=>!!S.value&&!!B.value),F=t.ref(),V=t.ref(),U=t.ref(e.maximized||!1),{renderResizeBar:Z,maximize:le,restore:se,boundingElement:G,resizedEventParam:P,allowDrag:b,unWindowResizeHandle:N,moveToCenter:H}=Qt(e),{registerDraggle:R}=Kt(e,n,b);function Q(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function pe(){const T=document.querySelectorAll(".farris-modal").length;(!T||T-1<=0)&&document.body.classList.remove("modal-open"),I.value&&I.value.classList.remove("show")}t.watch(()=>e.title,(T,z)=>{T!==z&&(x.value=T)}),t.watch(()=>e.modelValue,(T,z)=>{T!==z&&(l.value=T,l.value&&e.draggable&&t.nextTick(()=>{V.value&&!w.value&&(w.value=V.value.parentElement,G.value=w.value,R(F.value,V.value,G.value),H())}),T||(w.value&&(w.value=null),pe())),l.value?Y.value=Q():(U.value=!1,b.value=e.draggable)}),t.watch(()=>e.showHeader,(T,z)=>{T!==z&&(y.value=T)}),t.watch(()=>e.showButtons,(T,z)=>{T!==z&&(S.value=T)}),t.watch(()=>P.value,(T,z)=>{const ne=T||{},re=z||{};JSON.stringify(ne)!==JSON.stringify(re)&&n.emit("resize",{newSize:T,oldSize:z,isMaximized:U.value})}),t.watch([()=>e.width,()=>e.height],(T,z)=>{(T[0]!==z[0]||T[1]!==z[1])&&(o.value=T[0]||500,a.value=T[1]||600)}),t.watch(()=>e.class,(T,z)=>{d.value=T});const ce=t.computed(()=>(l.value&&document.body.classList.add("modal-open"),l.value)),he=t.computed(()=>{var ne;const T={modal:!0,"farris-modal":!0,fade:!0};T["f-modal-fitContent"]=!!c.value,T.show=!!ce.value;const z=(ne=e.maskClass)==null?void 0:ne.split(" ");return z==null||z.reduce((re,ye)=>(re[ye]=!0,re),T),T}),ge=t.computed(()=>{var ne;const T={"modal-dialog":!0},z=(ne=d.value)==null?void 0:ne.split(" ");return z==null||z.reduce((re,ye)=>(re[ye]=!0,re),T),T}),Pe=()=>Ve.isMobilePhone()&&!e.isMessager,ve=t.computed(()=>{const T=document.documentElement.clientWidth,z=document.documentElement.clientHeight;if(U.value)return{position:"fixed",top:"0px",left:"0px",width:"100vw",height:"100vh",margin:"0"};const ne=Math.min(o.value,T),re=c.value?"auto":`${Math.min(a.value,z-10)}px`,ye={position:"absolute",top:`${(window.innerHeight-parseInt(re==="auto"?"0":re))/2}px`,left:`${(window.innerWidth-ne)/2}px`,width:`${ne}px`,height:re};return Pe()&&(ye.top="0px",ye.left="0px",ye.width=`${window.innerWidth}px`,ye.height=`${window.innerHeight}px`),e.mask||(ye.pointerEvents="auto"),ye}),Fe=t.ref(Ve.getMaxZIndex()||1050),$e=t.computed(()=>{const T={display:"block",overflow:"hidden"};return e.mask||(T.pointerEvents="none",T.backgroundColor="transparent"),Y.value&&(T.backgroundColor="transparent"),T.zIndex=Fe.value,T}),xe=t.computed(()=>({"modal-content":!0,"modal-content-has-header":y.value,"is-mobile":Pe()})),Ie=t.computed(()=>{const T={display:y.value?"":"none"};return T["pointer-events"]=b.value?"auto":"none",T}),Ee=t.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:U.value})),we=t.computed(()=>({"modal-body":!0,"f-utils-flex-column":f.value==="iframe","f-utils-fill":!0}));function de(){return{height:`${e.footerHeight||60}px`}}const Ue=t.computed(()=>{const T={textAlgin:v.value},z=de();return Object.assign(T,z)});function Ne(T){if(T==null||T.stopPropagation(),U.value){U.value=!1,se();return}le(),U.value=!0}async function Le(T,z){T.handle&&await T.handle(z,T)&&n.emit("closed",z)}function Ke(T){T.width&&(o.value=T.width),T.height&&(a.value=T.height),T.buttons&&(B.value=T.buttons),T.title&&(x.value=T.title)}let ze=null,Be=null;t.onBeforeMount(()=>{Y.value=Q()}),t.onMounted(()=>{V.value&&!w.value&&(w.value=V.value.parentElement,G.value=w.value,R(F.value,V.value,G.value)),ce.value&&document.body.classList.add("modal-open"),ze=en(e,n),Be=tn(e,n)}),t.onUnmounted(()=>{N&&N(),ze&&ze.remove(),Be&&Be.remove()}),n.expose({modalElementRef:V,updateModalOptions:Ke,close:$,maxDialog:Ne,isMaximized:U,disableButtons:(T,z=!0)=>{B.value.forEach(ne=>{ne.name&&T.includes(ne.name)&&(ne.disabled=z)})}});function Ae(){return t.createVNode("ul",null,[C.value&&t.createVNode("li",{class:"f-btn-icon f-bare"},[t.createVNode("span",{class:"f-icon modal_minimize"},null)]),s.value&&t.createVNode("li",{onClick:Ne,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[t.createVNode("span",{class:Ee.value},null)]),h.value&&t.createVNode("li",{class:"f-btn-icon f-bare",onClick:T=>$(T,!1),style:"pointer-events: auto;"},[t.createVNode("span",{class:"f-icon modal_close"},null)])])}function _e(){return t.createVNode("div",{class:"modal-footer",style:Ue.value},[B.value&&B.value.map(T=>{const z=t.ref(T.disabled);return t.createVNode("button",{name:T.name,style:T.styles,type:"button",disabled:z.value,class:T.class+(T.iconClass?" btn-icontext":""),onClick:ne=>{Le(T,ne)}},[!!T.iconClass&&t.createVNode("i",{class:T.iconClass},null),T.text])})])}function De(T){s.value&&Ne()}function je(){return t.createVNode(t.Fragment,null,[U.value&&t.createVNode("div",{class:"modal-header",style:"position: absolute;background: transparent;height: 45px;width: 100%;",onDblclick:T=>De()},null),t.createVNode("div",{ref:F,class:"modal-header",style:Ie.value,onDblclick:T=>De()},[n.slots.headerTemplate?n.slots.headerTemplate():t.createVNode("div",{class:"modal-title"},[k.value&&t.createVNode("span",{class:p.value,style:"margin-right: 8px"},null),t.createVNode("span",{class:"modal-title-label"},[x.value])]),t.createVNode("div",{class:"actions"},[Ae()])])])}function qe(){return n.slots.footerTemplate?n.slots.footerTemplate():O.value&&_e()}function Ye(T){if(T.stopPropagation(),e.allowClickMaskToClose){if(T.target!==I.value)return;$(T,!1)}}function ie(){var T,z;return t.createVNode("div",{id:u.value,class:ge.value,style:ve.value,ref:V},[t.createVNode("div",{class:xe.value},[y.value&&je(),t.createVNode("div",{class:we.value},[(z=(T=n.slots).default)==null?void 0:z.call(T),f.value==="iframe"&&t.createVNode("iframe",{title:u.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:i.value},null)]),qe()]),!c.value&&V.value&&!U.value&&Z(V.value)])}function Xe(T){return T||"body"}return t.watchEffect(()=>{ce.value&&(Fe.value=Ve.getMaxZIndex()||1050)}),()=>t.createVNode(t.Teleport,{to:Xe(e.host)},{default:()=>[ce.value&&t.createVNode(t.Transition,{name:"fade",appear:!0},{default:()=>[t.createVNode("div",{ref:I,class:he.value,style:$e.value,onClick:Ye},[ie()])]})]})}});function wt(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function nn(e){const n=document.createElement("div");n.style.display="contents";const o=t.createApp({setup(a,l){t.onUnmounted(()=>{document.body.removeChild(n)});const u=t.ref(),d=t.ref(e.class||""),c=t.ref(!!e.showButtons),y=t.ref(!!e.showHeader),p=t.ref(e.showCloseButton==null?!0:e.showCloseButton),h=t.ref(!0),s=t.ref(e.title||""),C=e.acceptCallback||(()=>{}),f=e.rejectCallback||(()=>{}),i=e.closedCallback||(I=>{}),v=e.resizeHandle||(I=>{}),S=e.stopMoveHandle||(I=>{}),x=wt(e),w=I=>{h.value=!1,o.unmount(),i(I)};return t.onMounted(()=>{}),l.expose({modalRef:u}),()=>t.createVNode(et,{ref:u,class:d.value,modelValue:h.value,"onUpdate:modelValue":I=>h.value=I,title:s.value,width:e.width,height:e.height,buttons:e.buttons,"show-header":y.value,"show-buttons":c.value,"show-close-button":p.value,"show-max-button":!1,onAccept:C,onCancel:f,fitContent:e.fitContent==null?!0:e.fitContent,onClosed:w,onResize:v,onStopMove:S},{default:()=>[x&&x(o)]})}});return document.body.appendChild(n),o.use(Ce.LocaleService.i18n),o.mount(n),o}class Tt{constructor(n){He(this,"appContext",null);He(this,"modalRef",t.ref());He(this,"activeModalIndex",t.ref(0));He(this,"modalRefs",{});He(this,"isUseEscCloseModal",t.ref(!1));this.app=n,this.appContext=n?n._context:null}getCurrentModal(){return this.modalRefs[this.activeModalIndex.value]}adaptToWindow(n,o){const{width:a,height:l}={width:window.innerWidth,height:window.innerHeight};return a<n&&(n=a-14),l<o&&(o=l-14),{width:n,height:o}}static show(n){const o=Object.assign({title:"",showButtons:!0,showHeader:!0},n);return nn(o)}close(n){var o,a;n?(a=n.value)==null||a.close():(o=this.getCurrentModal())==null||o.close()}open(n){const o=document.createDocumentFragment();n.showMaxButton&&n.fitContent&&(n.showMaxButton=!1);const a=t.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0,maximized:!1},n)),l=t.ref(!0),u=a.value.acceptCallback||(()=>{}),d=a.value.rejectCallback||(()=>{}),c=a.value.closedCallback||((k,O)=>{}),y=a.value.openedCallback||(k=>{}),p=a.value.resizeHandle||(k=>{}),h=n.stopMoveHandle||(k=>{});let s;const C=wt(a.value),f=k=>{var F;l.value=!1;const O=(F=k==null?void 0:k.target)==null?void 0:F.classList.contains("modal_close");c(k,this.isUseEscCloseModal.value?"esc":O?"icon":"button")},i=k=>{f(k),s&&t.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],t.render(null,o),s=null,this.modalRef.value=null,this.modalRefs){const O=Object.keys(this.modalRefs).map(F=>Number(F));O.length>0?this.activeModalIndex.value=Math.max(...O):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},v=k=>{var O;this.isUseEscCloseModal.value=!0,(O=this.getCurrentModal())==null||O.close(k==null?void 0:k.event)},{width:S,height:x}=a.value,w=this.adaptToWindow(S||500,x||320);Object.assign(a.value,w);const I=t.ref(),Y=()=>t.createVNode(et,t.mergeProps({ref:I,modelValue:l.value,"onUpdate:modelValue":k=>l.value=k},a.value,{isMessager:a.value.class&&a.value.class.indexOf("modal-message")>-1,onAccept:u,onCancel:d,onClosed:i,onResize:p,onEsc:v,onStopMove:h,maximized:a.value.maximized}),{default:()=>[C&&C(this.app)]});s=(k=>{const O=t.h(Y,k);return O.appContext=this.appContext,t.render(O,o),O})({...a.value}),this.activeModalIndex.value++;const L=this.activeModalIndex.value;this.modalRefs[L]=I.value;const B=k=>{a.value={...a.value,...k},s&&t.render(t.cloneVNode(s,{...a}),o)};return t.nextTick(()=>{this.modalRefs[L]=I.value,this.modalRef.value=I.value,y(new Event("opened"))}),{update:B,destroy:i,modalRef:this.modalRef,close:()=>{this.modalRefs[L]&&this.modalRefs[L].close()},disableButtons:(k,O=!0)=>{this.modalRefs[L]&&this.modalRefs[L].disableButtons(k,O)}}}}const tt=Symbol("FModalService");et.install=e=>{e.component(et.name,et);const n=new Tt(e);e.provide(tt,n),e.provide("FModalService",n)};function St(e,n){function o(){const a=e.beforeOpen||e.beforeClickButton||null;let l=Promise.resolve(!0);if(a){const u=a(n.value);if(typeof u>"u")return l;typeof u=="boolean"?l=Promise.resolve(u):l=u}return l}return{judgeCanOpen:o}}function on(e,n,o,a,l){const u=t.ref(e.buttonBehavior),d=t.ref(e.popupOnInput),c=t.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:y}=St(e,l),p=t.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),h=t.inject(tt,null),s=t.ref();async function C(v){if(await y()&&p.value){const S=!!n.slots.default;if(u.value==="Modal"){const x=e.modalOptions,w=h==null?void 0:h.open({...x,render:()=>n.slots.default&&n.slots.default()});s.value=w==null?void 0:w.modalRef}u.value==="Overlay"&&Jt.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),S&&u.value==="Popup"&&a.togglePopup(!0),S&&d.value&&a.hidePopup(),n.emit("clickButton",{origin:v,value:e.modelValue})}}function f(v){n.emit("mouseEnterIcon",v)}function i(v){n.emit("mouseLeaveIcon",v)}return{buttonGroupClass:c,onClickButton:C,onMouseEnterButton:f,onMouseLeaveButton:i,modalRef:s}}function an(e,n,o,a,l,u){const d=t.ref(!1),c=t.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:y,hasClearClass:p}=u;function h(i){d.value=i,p.value=i}t.watch(l,()=>{h(!!l.value)});function s(i){const v=!e.readonly&&!e.disable&&e.editable,S=!e.editable;i.stopPropagation(),(v||S)&&(y(""),l.value="",h(!d.value),n.emit("clear"))}function C(i){if(c.value){if(!o.value){h(!1);return}!e.disable&&!e.readonly&&h(!0)}}function f(i){c.value&&h(!1)}return{enableClearButton:c,showClearButton:d,onClearValue:s,onMouseEnterTextBox:C,onMouseLeaveTextBox:f}}function ln(e,n,o,a,l){const u=t.computed(()=>e.popupOnInput),d=t.computed(()=>e.popupOnFocus),{shouldPopupContent:c,closeAllPopover:y}=l,p=t.ref(!1),h=t.computed(()=>e.enableTitle?o.value:""),s=t.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),C=t.computed(()=>e.readonly||!e.editable),f=t.ref(!1),i=t.computed(()=>!e.disable&&f.value),v=t.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),S=t.computed(()=>({"input-group":!0,"f-state-disabled":e.disable,"f-state-editable":e.editable&&!e.disable&&!e.readonly,"f-state-readonly":e.readonly,"f-state-focus":i.value,"input-group--has-clear":e.enableClear&&p.value}));function x(V,U=!0){o.value=V,U&&(n.emit("change",V),n.emit("update:modelValue",V))}function w(V){c.value=!1,x(V,!0)}t.watch(()=>e.modelValue,V=>{o.value=V});function I(V){f.value=!1,n.emit("blur",V),V.stopPropagation()}function Y(V){n.emit("click",V),y(),n.slots.default&&!e.disable&&!e.readonly&&e.popupOnClick&&l.togglePopup()}function $(V){!e.disable&&!e.readonly&&(f.value=!0,C.value||(n.emit("focus",V),d.value&&!c.value&&l.popup()))}function L(V){n.emit("input",V);const U=V.target.value;a.value=U,o.value!==U&&x(U,e.updateOn==="change"),u.value&&!c.value&&l.popup()}function B(V){V.target.tagName!=="INPUT"&&V.preventDefault(),V.stopPropagation()}function k(V){n.emit("keydown",V)}function O(V){V.key==="Enter"&&(u.value||d.value)&&l.hidePopup(),n.emit("keyup",V)}function F(V){const U=V.target.value;V.stopPropagation(),x(U)}return{hasFocusedTextBox:i,isTextBoxReadonly:C,textBoxClass:v,textBoxPlaceholder:s,textBoxTitle:h,inputGroupClass:S,hasClearClass:p,changeTextBoxValue:x,commitValue:w,onBlurTextBox:I,onClickTextBox:Y,onFocusTextBox:$,onInput:L,onKeyDownTextBox:k,onKeyUpTextBox:O,onMouseDownTextBox:B,onTextBoxValueChange:F}}const Ge="FarrisVue_PopoverInstancesKey";function rn(e,n,o,a){const l=t.ref(),u=t.ref(!1),{judgeCanOpen:d}=St(e,a);t.watch(()=>l.value,(f,i)=>{window[Ge]=window[Ge]||new WeakMap,f?window[Ge].set(o.value,f):window[Ge].delete(o.value)});function c(){if(window[Ge]){const f=window[Ge];document.querySelectorAll(".f-button-edit,.v-popover").forEach(i=>{const v=f.get(i);v&&i!==o.value&&!o.value.closest(".popover-fitcontent")&&v.hide()})}}function y(){const f=l.value;f&&f.show(o.value)}async function p(f=!1){if(!!n.slots.default){if(!f&&!u.value&&!await d())return;u.value=!u.value,u.value&&(await t.nextTick(),y())}}async function h(f=!1){if(!!n.slots.default){if(!f&&!await d())return;u.value=!0,await t.nextTick(),y()}}function s(){u.value=!1}function C(){u.value=!0,t.nextTick(()=>{y()})}return{hidePopup:s,showPopup:C,popup:h,shouldPopupContent:u,togglePopup:p,popoverRef:l,closeAllPopover:c}}function sn(e,n,o){const a=t.ref(),{isTextBoxReadonly:l,textBoxClass:u,textBoxPlaceholder:d,textBoxTitle:c,onBlurTextBox:y,onClickTextBox:p,onFocusTextBox:h,onInput:s,onKeyDownTextBox:C,onKeyUpTextBox:f,onMouseDownTextBox:i,onTextBoxValueChange:v}=o,S=t.ref(e.id),{uuid:x}=Ve.useGuid(),w=t.computed(()=>({}));t.onMounted(()=>{var B,k;e.selectOnCreated&&((B=a.value)==null||B.select()),e.focusOnCreated&&((k=a.value)==null||k.focus({preventScroll:!0})),S.value||(S.value="button-edit_"+x(8)),S.value=S.value+"-textbox"});const I=t.ref(!1),Y=B=>{B.preventDefault(),I.value=!0},$=B=>{B.preventDefault(),I.value=!1,s(B)};function L(B){I.value||s(B)}return()=>t.createVNode("input",{id:e.id?e.id+"-textbox":void 0,ref:a,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:u.value,style:w.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:d.value,readonly:l.value,tabindex:e.tabIndex,title:c.value,type:e.inputType,value:n.value,onBlur:y,onChange:v,onClick:p,onFocus:h,onInput:L,onKeydown:C,onKeyup:f,onMousedown:i,onCompositionend:$,onCompositionstart:Y},null)}function un(e,n,o){const a=t.ref(e.separator),l=t.computed(()=>e.readonly||e.disable),{changeTextBoxValue:u,onFocusTextBox:d,onBlurTextBox:c,onClickTextBox:y,textBoxPlaceholder:p}=o,h=t.computed(()=>n.value?n.value.split(a.value).map(i=>({name:i,selectable:!0})):[]);function s(i){u(i.map(v=>v.name).join(a.value),!0)}t.watch(()=>e.separator,i=>{a.value=i});const C=t.ref(!e.disable&&!e.readonly);t.watch([()=>e.disable,()=>e.readonly],([i,v],[S,x])=>{C.value=!i&&!v});function f(i){y(i)}return()=>t.createVNode(zt,{tabindex:e.tabIndex,onFocus:d,onBlur:c,id:`${e.id}-tag-editor`,class:"form-control",placeholder:p.value,data:h.value,showClose:!l.value,showInput:!0,disable:l.value,onChange:s,onClick:f},null)}function cn(e,n,o,a){const{buttonGroupClass:l,onClickButton:u,onMouseEnterButton:d,onMouseLeaveButton:c}=o,{enableClearButton:y,showClearButton:p,onClearValue:h}=a,s=t.ref(),C=Qe.debounce(i=>{u(i)},e.buttonBehavior==="Modal"?0:200),f=()=>{n.emit("beforeClearValue")};return{renderButtonGroup:()=>t.createVNode("div",{id:e.id?`${e.id}-button-group`:void 0,class:l.value},[y.value&&t.withDirectives(t.createVNode("span",{class:"input-group-text input-group-clear",onClick:h,onMousedown:f},[t.createVNode("i",{class:"f-icon modal_close"},null)]),[[t.vShow,p.value]]),n.slots.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",onClick:C,onMouseenter:d,onMouseleave:c},[n.slots.buttonContent()]):e.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:s,onClick:i=>C(i),onMouseenter:d,onMouseleave:c},null):null]),buttonHandleElement:s}}function dn(e,n,o){const a=t.ref(e.popupMinWidth),{hidePopup:l,popoverRef:u}=o,d=()=>{n.emit("shown")};return()=>t.createVNode(At,{id:`${e.id}-popover`,ref:u,placement:e.placement,host:e.popupHost,"keep-width-with-reference":e.keepWidthWithReference,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:a.value,class:e.popupClass,offsetX:e.popupOffsetX,onHidden:l,onShown:d,beforeClose:e.beforeClosePopup,limitContentBySpace:e.limitContentBySpace},{default:()=>{var c,y;return[(y=(c=n.slots).default)==null?void 0:y.call(c)]}})}const Ft=t.defineComponent({name:"FButtonEdit",props:$t,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue","shown"],setup(e,n){const o=t.ref(),a=t.ref(e.customClass),l=t.ref(e.modelValue),u=rn(e,n,o,l),{shouldPopupContent:d,hidePopup:c,showPopup:y,togglePopup:p}=u,h=on(e,n,o,u,l),s=t.ref(""),C=ln(e,n,l,s,u),{hasFocusedTextBox:f,commitValue:i,inputGroupClass:v}=C,S=an(e,n,l,f,s,C),{onMouseEnterTextBox:x,onMouseLeaveTextBox:w}=S,I=t.ref(!1),Y=t.computed(()=>{const G={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return a.value&&a.value.split(" ").reduce((P,b)=>(P[b]=!0,P),G),G}),$=t.computed(()=>({overflow:e.wrapText?"hidden":""})),L=t.computed(()=>({}));function B(){if(!e.multiSelect||e.inputType!=="tag"||!o.value)return 0;let G=0;const P=Array.from(o.value.querySelectorAll(".farris-tag-item"));return P&&P.length&&(G=P.map(b=>b.offsetTop).filter(b=>b>20).length),G}const k=t.ref(B());t.onUpdated(()=>{k.value=B()});function O(){return e.multiSelect&&e.inputType==="tag"?()=>t.createVNode(t.Fragment,null,[un(e,l,C)(),!!k.value&&t.createVNode("div",{class:"d-flex flex-row mr-2 more-tags","more-tags":!0},[t.createVNode("span",{class:"multi--more-text"},[t.createTextVNode("+"),k.value])])]):sn(e,l,C)}let F=O();t.watch([()=>e.multiSelect,()=>e.inputType],()=>{F=O()});const{renderButtonGroup:V,buttonHandleElement:U}=cn(e,n,h,S),Z=dn(e,n,u),le=t.ref(d.value),se={displayText:s,commitValue:i,elementRef:o,hidePopup:c,showPopup:y,popoverRef:u.popoverRef,shouldPopupContent:d,togglePopup:p,openDialog:()=>{U.value&&e.buttonBehavior==="Modal"&&U.value.click()},getModal:()=>{var G;return e.buttonBehavior==="Modal"?(G=h.modalRef.value)==null?void 0:G.value:null},getTextbox:()=>{var G;return(G=o.value)==null?void 0:G.querySelector("input")},forceClosePopup:()=>{le.value=!1,I.value=!0,d.value=!1}};return t.onMounted(()=>{o.value.componentInstance=se,window.onresize=()=>{document.body.click()}}),t.onBeforeUnmount(()=>{var G;window.onresize=null,(G=window[Ge])==null||G.delete(o.value)}),n.expose(se),t.watch(()=>d.value,async(G,P)=>{if(I.value){le.value=G,I.value=!1;return}if(!G&&e.beforeClosePopup&&typeof e.beforeClosePopup=="function"){try{const b=await e.beforeClosePopup();le.value=!b,(!b||e.readonly)&&(d.value=!0)}catch(b){console.error("Error in beforeClosePopup:",b),le.value=P,d.value=P}return}le.value=G}),()=>{var G,P;return t.createVNode(t.Fragment,null,[t.createVNode("div",t.mergeProps(n.attrs,{ref:o,class:Y.value,id:e.id?e.id:void 0,style:$.value}),[t.createVNode("div",{id:e.id?`${e.id}-input-group`:void 0,class:v.value,style:L.value,onMouseenter:x,onMouseleave:w},[(P=(G=n.slots).precontent)==null?void 0:P.call(G),F(),V()])]),le.value&&Z()])}}});Ve.withInstall(Ft);function Nt(e,n){let o;function a(s){const{properties:C,title:f,ignore:i}=s,v=i&&Array.isArray(i),S=Object.keys(C).reduce((x,w)=>((!v||!i.find(I=>I===w))&&(x[w]=C[w].type==="object"&&C[w].properties?a(C[w]):Qe.cloneDeep(C[w].default)),x),{});if(f&&(!v||!i.find(x=>x==="id"))){const x=f.toLowerCase().replace(/-/g,"_");S.id=`${x}_${Math.random().toString().slice(2,6)}`}return S}function l(s){const{properties:C,title:f,required:i}=s;if(i&&Array.isArray(i)){const v=i.reduce((S,x)=>(S[x]=C[x].type==="object"&&C[x].properties?a(C[x]):Qe.cloneDeep(C[x].default),S),{});if(f&&i.find(S=>S==="id")){const S=f.toLowerCase().replace(/-/g,"_");v.id=`${S}_${Math.random().toString().slice(2,6)}`}return v}return{type:f}}function u(s,C={},f){const i=e[s];if(i){let v=l(i);const S=n[s];return v=S?S({getSchemaByType:u},v,C,f):v,o!=null&&o.appendIdentifyForNewControl&&o.appendIdentifyForNewControl(v),v}return null}function d(s,C){const f=a(C);return Object.keys(f).reduce((i,v)=>(Object.prototype.hasOwnProperty.call(s,v)&&(i[v]&&Qe.isPlainObject(i[v])&&Qe.isPlainObject(s[v]||!s[v])?Object.assign(i[v],s[v]||{}):i[v]=s[v]),i),f),f}function c(s,C){return Object.keys(s).filter(i=>s[i]!=null).reduce((i,v)=>{if(C.has(v)){const S=C.get(v);if(typeof S=="string")i[S]=s[v];else{const x=S(v,s[v],s);Object.assign(i,x)}}else i[v]=s[v];return i},{})}function y(s,C,f=new Map){const i=d(s,C);return c(i,f)}function p(s){var f;const C=s.type;if(C){const i=e[C];if(!i)return s;const v=d(s,i),S=((f=s.editor)==null?void 0:f.type)||"";if(S){const x=e[S],w=d(s.editor,x);v.editor=w}return v}return s}function h(s){o=s}return{getSchemaByType:u,resolveSchemaWithDefaultValue:p,resolveSchemaToProps:y,mappingSchemaToProps:c,setDesignerContext:h}}const fn={},mn={},{resolveSchemaWithDefaultValue:pn}=Nt(fn,mn);function gn(e={}){function n(p,h,s,C){if(typeof s=="number")return C[p].length===s;if(typeof s=="object"){const f=Object.keys(s)[0],i=s[f];if(f==="not")return Number(C[p].length)!==Number(i);if(f==="moreThan")return Number(C[p].length)>=Number(i);if(f==="lessThan")return Number(C[p].length)<=Number(i)}return!1}function o(p,h,s,C){return C[p]&&C[p].propertyValue&&String(C[p].propertyValue.value)===String(s)}const a=new Map([["length",n],["getProperty",o]]);Object.keys(e).reduce((p,h)=>(p.set(h,e[h]),p),a);function l(p,h){const s=p;return typeof h=="number"?[{target:s,operator:"length",param:null,value:Number(h)}]:typeof h=="boolean"?[{target:s,operator:"getProperty",param:p,value:!!h}]:typeof h=="object"?Object.keys(h).map(C=>{if(C==="length")return{target:s,operator:"length",param:null,value:h[C]};const f=C,i=h[C];return{target:s,operator:"getProperty",param:f,value:i}}):[]}function u(p){return Object.keys(p).reduce((s,C)=>{const f=l(C,p[C]);return s.push(...f),s},[])}function d(p,h){if(a.has(p.operator)){const s=a.get(p.operator);return s&&s(p.target,p.param,p.value,h)||!1}return!1}function c(p,h){return u(p).reduce((f,i)=>f&&d(i,h),!0)}function y(p,h){const s=Object.keys(p),C=s.includes("allOf"),f=s.includes("anyOf"),i=C||f,x=(i?p[i?C?"allOf":"anyOf":"allOf"]:[p]).map(I=>c(I,h));return C?!x.includes(!1):x.includes(!0)}return{parseValueSchema:y}}const hn={convertTo:(e,n,o,a)=>{e.appearance||(e.appearance={}),e.appearance[n]=o},convertFrom:(e,n,o)=>e.appearance?e.appearance[n]:e[n]},yn={convertFrom:(e,n,o)=>e.buttons&&e.buttons.length?`共 ${e.buttons.length} 项`:"无"},vn={convertTo:(e,n,o,a)=>{e.editor&&(e.editor[n]=o)},convertFrom:(e,n,o)=>e.editor&&Object.prototype.hasOwnProperty.call(e.editor,n)?e.editor[n]:e[n]},bn={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:"标签页工具栏按钮"},"drawer-toolbar-item":{type:"drawer-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:"标签页工具栏"},"drawer-toolbar":{type:"drawer-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:"多语输入框"},image:{type:"image",name:"图像"},"discussion-editor":{type:"discussion-editor",name:"评论编辑区"},"discussion-list":{type:"discussion-list",name:"评论列表"},comment:{type:"comment",name:"评论区"},"rich-text-editor":{type:"rich-text-editor",name:"富文本",icon:"rich-text-box"},calendar:{type:"calendar",name:"日历",icon:"date-picker"},wizard:{type:"wizard",name:"向导",icon:"wizard"},"wizard-page":{type:"wizard-page",name:"向导页",icon:"wizard"},"wizard-page-detail":{type:"wizard-page-detail",name:"向导详情",icon:"wizard"},step:{type:"step",name:"步骤条",icon:"step"},"dynamic-form":{type:"dynamic-form",name:"动态表单"}},Cn={convertFrom:(e,n,o)=>{var l;const a=e.editor&&e.editor[n]?e.editor[n]:e[n];return((l=bn[a])==null?void 0:l.name)||a}},xn={convertTo:(e,n,o,a)=>{e[n]=e[n]},convertFrom:(e,n,o)=>e.editor?o.getRealEditorType(e.editor.type):""},wn={convertTo:(e,n,o,a)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e.formatter?e.formatter[n]=o:e.formatter={[n]:o})},convertFrom:(e,n,o)=>{if(e.formatter){if(n==="trueText")return e.formatter.trueText;if(n==="falseText")return e.formatter.falseText;if(n==="prefix")return e.formatter.prefix;if(n==="suffix")return e.formatter.suffix;if(n==="precision")return e.formatter.precision;if(n==="decimal")return e.formatter.decimal;if(n==="thousand")return e.formatter.thousand;if(n==="dateFormat")return e.formatter.dateFormat||"yyyy-MM-dd";if(n==="customFormat")return e.formatter.customFormat;if(n==="type")return e.formatter.type||"none";if(n==="customFormat")return e.formmater.customFormat}return"none"}},Tn={convertTo:(e,n,o,a)=>{e.command?e.command[n]=o:e.command={[n]:o},n==="enableType"&&o==="default"&&(e.command.enable=!0,e.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]),n==="enableType"&&o==="custom"&&(e.command.enable=!0,e.command.commands=[{value:"add",text:"增加",type:"link"},{value:"edit",text:"编辑",type:"danger"},{value:"remove",text:"删除",type:"remove"}]),n==="enableType"&&o==="unable"&&(e.command.enable=!1)},convertFrom:(e,n,o)=>{var a,l;if(e.command){if(n==="enableType"){const u=(l=(a=e.command)==null?void 0:a.commands)==null?void 0:l.find(d=>d.command==="edit"&&d.type==="primary");return e.command.enable?u?"default":"custom":"unable"}if(n==="commands")return e.command.enableType==="custom"?e.command.commands:[];if(n==="formatter")return e.command.formatter;if(n==="count")return e.command.count;if(n==="columnWidth")return e.command.columnWidth||200}return""}},Sn={convertTo:(e,n,o,a)=>{e.column?e.column[n]=o:e.column={[n]:o},n==="fitColumns"&&o&&(e.column.fitMode||(e.column.fitMode="average"))},convertFrom:(e,n,o)=>{if(e.column){if(n==="fitColumns")return e.column.fitColumns;if(n==="fitMode")return e.column.fitMode}return""}},Fn={convertTo:(e,n,o,a)=>{e.summary?e.summary[n]=o:e.summary={[n]:o},n==="enable"&&o&&(e.summary?e.summary.groupFields||(e.summary.groupFields=[]):e.summary={enable:o,groupFields:[]})},convertFrom:(e,n,o)=>{var a,l;return n==="customSummaryStyle"?e.summary.customSummaryStyle:n==="position"?((a=e.summary)==null?void 0:a[n])||"bottom":n==="customRender"?((l=e.summary)==null?void 0:l[n])||"":e.summary&&n==="enable"?e.summary.enable:e.type==="data-grid-column"?e.enableSummary===void 0?!1:e.enableSummary:""}},Nn={convertTo:(e,n,o,a)=>{e.group?e.group[n]=o:e.group={[n]:o},n==="enable"&&o&&(e.group?e.group.groupFields||(e.group.groupFields=[]):e.group={enable:o,groupFields:[],showSummary:!1,customRender:""})},convertFrom:(e,n,o)=>{if(e.group){if(n==="enable")return e.group.enable;if(n==="showSummary")return e.group.showSummary;if(n==="customRender")return e.group.customRender;if(n==="groupFields")return e.group.groupFields}}},Bn={convertFrom:(e,n)=>e.binding?e.binding.path:"",convertTo:(e,n,o)=>{if(o&&o.length>0){const a=o[0];e.binding||(e.binding={}),e.binding.type="Form",e.binding.path=a.bindingField,e.binding.field=a.id,e.binding.fullPath=a.path,e.path=a.bindingPath}}},kn={convertTo:(e,n,o,a)=>{e.pagination||(e.pagination={}),n==="sizeLimits"?e.pagination.sizeLimits=o.split(","):e.pagination[n]=o},convertFrom:(e,n,o)=>e.pagination?n==="sizeLimits"?e.pagination.sizeLimits.join(","):e.pagination[n]:e[n]},Mn={convertTo:(e,n,o,a)=>{e.rowNumber||(e.rowNumber={}),e.rowNumber[n]=o},convertFrom:(e,n,o)=>e.rowNumber?e.rowNumber[n]:e[n]},On={convertTo:(e,n,o,a)=>{e.selection||(e.selection={}),e.selection[n]=o},convertFrom:(e,n,o)=>{var a,l;return n==="showCheckbox"?(a=e.selection)!=null&&a.multiSelect?!0:(l=e.selection)==null?void 0:l.showCheckbox:e.selection?e.selection[n]:e[n]}},Vn={convertFrom:(e,n,o)=>e[n]&&e[n].length?`共 ${e[n].length} 项`:""},En={convertFrom:(e,n)=>e[n]||"",convertTo:(e,n,o)=>{e[n]=o}},Pn={convertTo:(e,n,o,a)=>{e.size||(e.size={}),e.size[n]=o},convertFrom:(e,n,o)=>e.size?e.size[n]:e[n]},In={convertFrom:(e,n,o)=>{var a,l;return(a=e.formatter)!=null&&a.data&&n==="formatterEnumData"&&!e.formatterEnumData?(l=e.formatter)==null?void 0:l.data:e.formatterEnumData}},Dn={convertTo:(e,n,o,a)=>{e.sort||(e.sort={}),e.sort[n]=o},convertFrom:(e,n,o)=>{var a,l;if(n==="mode")return((a=e.sort)==null?void 0:a.mode)||"client";if(n==="multiSort")return!!((l=e.sort)!=null&&l.multiSort)}},jn={convertTo:(e,n,o,a)=>{e.filter||(e.filter={}),e.filter[n]=o},convertFrom:(e,n,o)=>{var a;if(n==="mode")return((a=e.filter)==null?void 0:a.mode)||"client"}},Rn={convertTo:(e,n,o,a)=>{e.rowOption?e.rowOption[n]=o:e.rowOption={[n]:o}},convertFrom:(e,n,o)=>{if(e.rowOption){if(n==="customRowStyle")return e.rowOption.customRowStyle;if(n==="customCellStyle")return e.rowOption.customCellStyle;if(n==="height")return e.rowOption.height}return""}},Hn={convertTo:(e,n,o,a)=>{(e.type==="data-grid-column"||e.type==="tree-grid-column")&&(e[n]=o,n==="columnTemplateType"&&o==="hyperlink"&&(e.onClickLinkCommand?e.columnTemplate=`
<span class="f-pr