@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
1 lines • 224 kB
JavaScript
(function(H,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../locale/index.umd.js"),require("../common/index.umd.js"),require("../property-panel/index.umd.js"),require("../button/index.umd.js"),require("../field-selector/index.umd.js"),require("../collection-property-editor/index.umd.js/src/use-button-items.designer"),require("../tags/index.umd.js"),require("lodash-es"),require("../common/index.umd.js/text-box/use-input-expand"),require("../popover/index.umd.js"),require("../drawer/index.umd.js"),require("../button-edit/index.umd.js"),require("../list-view/index.umd.js"),require("bignumber.js"),require("../../designer/button-edit/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../tree-view/index.umd.js"),require("../event-parameter/index.umd.js"),require("../input-group/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../locale/index.umd.js","../common/index.umd.js","../property-panel/index.umd.js","../button/index.umd.js","../field-selector/index.umd.js","../collection-property-editor/index.umd.js/src/use-button-items.designer","../tags/index.umd.js","lodash-es","../common/index.umd.js/text-box/use-input-expand","../popover/index.umd.js","../drawer/index.umd.js","../button-edit/index.umd.js","../list-view/index.umd.js","bignumber.js","../../designer/button-edit/index.umd.js","../designer-canvas/index.umd.js","../tree-view/index.umd.js","../event-parameter/index.umd.js","../input-group/index.umd.js"],t):(H=typeof globalThis<"u"?globalThis:H||self,t(H["sort-condition-editor"]={},H.Vue,H.dynamicResolver,H.locale,H.common,H.propertyPanel,null,null,null,H.FTags,H.LodashES,H.useInputExpand,H.FPopover,H.Drawer,H.FButtonEdit$1,H.FListView,H.BigNumber,H.FButtonEditDesign,H.designerCanvas,H.FTreeView,H.FEventParameter,H.inputGroup))})(this,function(H,t,G,K,z,St,Dl,Il,jl,Ft,_,Tt,Nt,Vt,ye,Mt,Rl,Bt,pe,$e,Ot,Et){"use strict";var El=Object.defineProperty;var Pl=(H,t,G)=>t in H?El(H,t,{enumerable:!0,configurable:!0,writable:!0,value:G}):H[t]=G;var Q=(H,t,G)=>Pl(H,typeof t!="symbol"?t+"":t,G);const Pt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/field-selector.schema.json",title:"field-selector",description:"A Farris Input Component",type:"object",properties:{disabled:{description:"",type:"boolean",default:!1},readonly:{description:"",type:"boolean",default:!1},modelValue:{description:"",type:"string",default:""},repositoryToken:{description:"",type:"object",default:null},fields:{description:"",type:"array",default:null},editorParams:{type:"object",default:null},displayText:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},beforeOpen:{description:"",type:"function",default:null},onSubmitModal:{description:"",type:"function",default:null}}},Ae={disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0},displayText:{type:String,default:""},enableExpress:{type:Boolean,default:!1},modelValue:{type:String,default:""},insertType:{type:String,default:"below"},fields:{type:Array,default:[]},repositoryToken:{type:Object,default:null},editorParams:{type:Object,default:null},onSubmitModal:{type:Function,default:null},beforeOpen:{type:Function,default:null}},Dt=G.createPropsResolver(Ae,Pt),It={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},showAppendButton:{type:Boolean,default:!0},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,default:0},popupOffsetY:{type:Object,default:0},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},expandable:{type:Boolean,default:!1},expandMode:{type:String,default:"text"},expandContent:{type:String,default:""},expandDisabled:{type:Boolean,default:!1}},jt={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},Rt=t.defineComponent({name:"FOverlay",props:jt,emits:["click"],setup(e,n){const a=t.ref(e.popupContentPosition),l=t.ref(e.host),o=t.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function i(d){n.emit("click"),d.preventDefault(),d.stopPropagation()}t.computed(()=>{const d=l.value;if(d){const f=d.getBoundingClientRect(),{left:p,top:v,height:m}=f;return{left:p,top:v+m}}return a.value});const r=t.computed(()=>({}));return()=>t.createVNode(t.Teleport,{to:"body"},{default:()=>{var d,f;return[t.createVNode("div",{class:"overlay-container",onClick:p=>i(p),style:o.value},[t.createVNode("div",{style:r.value},[(f=(d=n.slots).default)==null?void 0:f.call(d)])])]}})}});function Lt(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function $t(e){const n=document.createElement("div");n.style.display="contents";let a;const l=e.onClickCallback||(()=>{}),o=()=>{l(),a&&a.unmount()};return a=t.createApp({setup(){t.onUnmounted(()=>{document.body.removeChild(n)});const i=Lt(e);return()=>t.createVNode(Rt,{"popup-content-position":e.popupPosition,host:e.host,onClick:o,backgroundColor:e.backgroundColor},{default:()=>[i&&i()]})}}),document.body.appendChild(n),a.mount(n),a}class At{static show(n){return $t(n)}}const Ht={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},showFloatingClose:{type:Boolean,default:!1},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},position:{type:String,default:"center"},host:{type:Object,default:"body"},isMessager:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},maximized:{type:Boolean,default:!1},useTransform:{type:Boolean,default:!0}};class Y{constructor(n,a){this.x=n,this.y=a}static getTransformInfo(n){const l=window.getComputedStyle(n).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(l.length>=6){const o=parseInt(l[4],10),i=parseInt(l[5],10);return{x:o,y:i}}return{x:0,y:0}}static fromEvent(n,a=null){if(this.isMouseEvent(n))return new Y(n.clientX,n.clientY);if(a===null||n.changedTouches.length===1)return new Y(n.changedTouches[0].clientX,n.changedTouches[0].clientY);for(let l=0;l<n.changedTouches.length;l++)if(n.changedTouches[l].target===a)return new Y(n.changedTouches[l].clientX,n.changedTouches[l].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 a=new Y(0,0);if(window){const l=window.getComputedStyle(n);if(l){const o=parseInt(l.getPropertyValue("left"),10),i=parseInt(l.getPropertyValue("top"),10);a.x=isNaN(o)?0:o,a.y=isNaN(i)?0:i}return a}return null}static copy(n){return new Y(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 ne{constructor(n,a){this.width=n,this.height=a}static getCurrent(n){const a=new ne(0,0);if(window){const l=window.getComputedStyle(n);return l&&(a.width=parseInt(l.getPropertyValue("width"),10),a.height=parseInt(l.getPropertyValue("height"),10)),a}return null}static copy(n){return new ne(0,0).set(n)}set(n){return this.width=n.width,this.height=n.height,this}}function zt(e,n){const a=t.ref(),l=t.ref(),o=t.ref(),i=t.ref(),r=t.ref(),d=t.ref(),f=t.ref(),p=t.ref(),v=t.ref(),m=t.ref(),h=t.ref(),x=t.ref(e.resizeable),w=t.ref(),F=t.ref(e.draggable),g=t.ref(!1);function c(){const N=l.value||document.body,M=window.getComputedStyle(N);if(!M||!a.value)return;const R=Y.getTransformInfo(a.value),A={};f.value&&(A.deltaL=a.value.offsetLeft-f.value.x,A.deltaT=a.value.offsetTop-f.value.y);const q=M.getPropertyValue("position");A.width=N.clientWidth,A.height=N.clientHeight,A.pr=parseInt(M.getPropertyValue("padding-right"),10),A.pb=parseInt(M.getPropertyValue("padding-bottom"),10),A.position=M.getPropertyValue("position"),q==="static"&&(N.style.position="relative"),A.translateX=R.x,A.translateY=R.y,m.value=A}function y(N){if(a.value){i.value=ne.getCurrent(a.value),r.value=Y.getCurrent(a.value),d.value=i.value?ne.copy(i.value):null,f.value=r.value?Y.copy(r.value):null,c();const M=N.target.getAttribute("type")||"";p.value={n:!!M.match(/n/),s:!!M.match(/s/),w:!!M.match(/w/),e:!!M.match(/e/)}}}function k(){var N,M,R,A;if(a.value){const q=a.value;p.value&&((p.value.n||p.value.s)&&((N=d.value)!=null&&N.height)&&(q.style.height=d.value.height+"px"),(p.value.w||p.value.e)&&((M=d.value)!=null&&M.width)&&(q.style.width=d.value.width+"px"),f.value&&((R=f.value)!=null&&R.x&&(q.style.left=f.value.x+"px"),(A=f.value)!=null&&A.y&&(q.style.top=f.value.y+"px")))}}function C(){const N=e.minHeight?e.minHeight:1,M=e.minWidth?e.minWidth:1;d.value&&f.value&&p.value&&i.value&&(d.value.height<N&&(d.value.height=N,p.value.n&&r.value&&(f.value.y=r.value.y+(i.value.height-N))),d.value.width<M&&(d.value.width=M,p.value.w&&r.value&&(f.value.x=r.value.x+(i.value.width-M))),e.maxHeight&&d.value.height>e.maxHeight&&(d.value.height=e.maxHeight,r.value&&p.value.n&&(f.value.y=r.value.y+(i.value.height-e.maxHeight))),e.maxWidth&&d.value.width>e.maxWidth&&(d.value.width=e.maxWidth,p.value.w&&r.value&&(f.value.x=r.value.x+(i.value.width-e.maxWidth))))}function s(){if(l.value){const N=m.value;if(f.value&&d.value&&p.value&&i.value){const M=N.width-N.pr-N.deltaL-N.translateX-f.value.x,R=N.height-N.pb-N.deltaT-N.translateY-f.value.y;p.value.n&&f.value.y+N.translateY<0&&r.value&&(f.value.y=-N.translateY,d.value.height=i.value.height+r.value.y+N.translateY),p.value.w&&f.value.x+N.translateX<0&&r.value&&(f.value.x=-N.translateX,d.value.width=i.value.width+r.value.x+N.translateX),d.value.width>M&&(d.value.width=M),d.value.height>R&&(d.value.height=R)}}}function u(N){if(!o.value||!i.value||!r.value||!p.value)return;N.subtract(o.value);const M=N.x,R=N.y;p.value.n?(f.value.y=r.value.y+R,d.value.height=i.value.height-R):p.value.s&&(d.value.height=i.value.height+R),p.value.e?d.value.width=i.value.width+M:p.value.w&&(d.value.width=i.value.width-M,f.value.x=r.value.x+M),s(),C(),k()}function b(N){if(!v.value)return;const M=Y.fromEvent(N);M&&u(M)}function S(){if(a.value){const{width:N,height:M,x:R,y:A}=a.value.getBoundingClientRect(),q=Y.getTransformInfo(a.value);return{size:{width:N,height:M},position:{x:R-q.x,y:A-q.y}}}return null}function E(N){if(a.value){const M=S();h.value=M}o.value=void 0,i.value=null,r.value=null,d.value=null,f.value=null,p.value=null,v.value=null,document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",E)}function I(){document.addEventListener("mousemove",b),document.addEventListener("mouseup",E)}function P(N){N instanceof MouseEvent&&N.button===2||F.value&&(document.body.click(),N.stopPropagation(),N.preventDefault(),o.value=Y.fromEvent(N),v.value=N.target,y(N),I())}function O(N){return a.value=N,x.value&&t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:M=>P(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:M=>P(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:M=>P(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:M=>P(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:M=>P(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:M=>P(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:M=>P(M)},null),t.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:M=>P(M)},null)])}function T(N=!0){document.body.click();const M=l.value||document.body,R=ne.getCurrent(M),A=a.value;N&&A&&(w.value=S(),w.value.transform=A.style.transform),R&&A&&(d.value=R,d.value.height-=14,d.value.width-=14,A.style.height=d.value.height+"px",A.style.width=d.value.width+"px",A.style.left="7px",A.style.top="7px",A.style.transform="",h.value={size:d.value,position:{x:0,y:0}},F.value=!1,g.value=!0)}function B(){var N,M;if(document.body.click(),w.value){const R={width:w.value.size.width||0,height:w.value.size.height||0},A={x:(window.innerWidth-R.width)/2,y:(window.innerHeight-R.height)/2};(N=d.value)==null||N.set(R),(M=f.value)==null||M.set(A);const q=a.value;q.style.height=R.height+"px",q.style.width=R.width+"px",q.style.left=`${A.x}px`,q.style.top=`${A.y}px`,q.style.transform="",h.value={size:R,position:A},F.value=e.draggable,g.value=!1}}function D(){if(a.value){const N=ne.getCurrent(a.value);if(N){const{width:M,height:R}=N;a.value.style.left=`${(window.innerWidth-M)/2}px`,a.value.style.top=`${(window.innerHeight-R)/2}px`,a.value.style.transform=""}}}function $(){const N=()=>{g.value?T(!1):D(),document.body.click()};return window.addEventListener("resize",N),()=>{window.removeEventListener("resize",N)}}const j=$();return{renderResizeBar:O,boundingElement:l,resizedEventParam:h,maximize:T,restore:B,allowDrag:F,isMaximized:g,unWindowResizeHandle:j,moveToCenter:D}}function Wt(e,n,a){const l=t.ref(),o=t.ref(e.draggable),i=t.ref(e.lockAxis),r=t.ref(),d=t.ref(),f=t.ref(!1),p=t.ref(new Y(0,0)),v=t.ref(new Y(0,0)),m=t.ref(new Y(0,0)),h=t.ref(new Y(0,0));t.watch(()=>a.value,b=>{r.value.style.cursor=b?"move":"default"});function x(b,S){if(S.tagName==="BUTTON")return!1;if(S===b)return!0;for(const E in S.children)if(Object.prototype.hasOwnProperty.call(S.children,E)&&x(b,S.children[E]))return!0;return!1}function w(){var I,P;let b=m.value.x+v.value.x,S=m.value.y+v.value.y;i.value==="x"?(b=((I=p.value)==null?void 0:I.x)||0,m.value.x=0):i.value==="y"&&(S=((P=p.value)==null?void 0:P.y)||0,m.value.y=0);const E=`translate3d(${Math.round(b)}px, ${Math.round(S)}px, 0px)`;l.value&&(l.value.style.transform=E),h.value.x=b,h.value.y=S}function F(){if(!d.value||!l.value)return null;const b=d.value.getBoundingClientRect(),S=l.value.getBoundingClientRect(),E={top:b.top<S.top,right:b.right>S.right,bottom:b.bottom>S.bottom,left:b.left<S.left};return E.top||(m.value.y-=S.top-b.top),E.bottom||(m.value.y-=S.bottom-b.bottom),E.right||(m.value.x-=S.right-b.right),E.left||(m.value.x-=S.left-b.left),w(),E}function g(b){b&&(p.value&&b.subtract(p.value),m.value.set(b),w(),F())}function c(b){f.value&&o.value&&(b.stopPropagation(),b.preventDefault(),g(Y.fromEvent(b,r.value)))}function y(){var b;if(f.value){if(f.value=!1,v.value.add(m.value),m.value.reset(),(b=l.value)==null||b.classList.remove("ng-dragging"),!e.useTransform&&l.value){const{left:S,top:E}=l.value.getBoundingClientRect();l.value.style.left=Math.ceil(S)+"px",l.value.style.top=Math.ceil(E)+"px",l.value.style.transform="none"}n.emit("stopMove"),document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",y)}}function k(){!f.value&&r.value&&(f.value=!0,r.value.classList.add("ng-dragging"),document.addEventListener("mousemove",c),document.addEventListener("mouseup",y))}function C(){if(l.value){const b=Y.getTransformInfo(l.value);v.value.set(b);return}v.value.reset()}function s(b){if(!a.value||b instanceof MouseEvent&&b.button===2)return;const S=b.target||b.srcElement;r.value!==void 0&&S&&!x(S,r.value)||o.value!==!1&&(document.body.click(),b.stopPropagation(),b.preventDefault(),p.value=Y.fromEvent(b,l.value),C(),k())}function u(b,S,E){if(o.value&&S){if(b)r.value=b;else if(e.dragHandle){if(e.dragHandle instanceof HTMLElement)r.value=e.dragHandle;else if(typeof e.dragHandle=="string"){const I=S.querySelector(e.dragHandle);I&&(r.value=I)}}l.value=S,d.value=E,r.value?(r.value.classList.add("ng-draggable"),r.value.addEventListener("mousedown",s)):o.value=!1}}return{registerDraggle:u,resetTranslate:C}}function He(e,n){if(e){const a=l=>{l.key.toLowerCase()===e.toLowerCase()&&n({event:l,key:e})};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}}}function qt(e,n){const a=t.ref(e.enableEsc);let l=null;return a.value?(l=He("Escape",o=>{n.emit("esc",{event:o.event,type:"esc"})}),{remove:l}):null}function Ut(e,n){const a=t.ref(e.enableEnter);let l=null;return a.value?(l=He("Enter",o=>{n.emit("enter",{event:o.event,type:"enter"})}),{remove:l}):null}const ce=t.defineComponent({name:"FModal",props:Ht,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter","stopMove","buttonClick"],setup(e,n){const a=t.ref(e.width||300),l=t.ref(e.height||200),o=t.ref(e.modelValue),i=t.ref(""),r=t.ref(e.class),d=t.ref(e.fitContent),f=t.ref(e.showHeader),p=t.ref(""),v=t.ref(e.showCloseButton),m=t.ref(e.showMaxButton),h=t.ref(!1),x=t.ref(e.dialogType),w=t.ref(e.src),F=t.ref(""),g=t.ref(e.showButtons),c=t.ref(e.title),y=t.ref(e.containment||null),k=t.ref();c.value==="错误提示"&&(c.value=K.LocaleService.getLocaleValue("messageBox.errorTitle"));const C=t.ref(!1);function s(){const V=document.querySelectorAll(".farris-modal").length;(!V||V-1<=0)&&k.value===document.querySelectorAll(".farris-modal")[0]&&document.body.classList.remove("modal-open"),k.value&&k.value.classList.remove("show")}function u(V,L){const W=L?"accept":"cancel";Promise.resolve().then(()=>{var U;return(U=e.beforeClose)==null?void 0:U.call(e,{closeType:W})}).then(U=>{U&&(o.value=!1,n.emit("update:modelValue",!1),L!=null&&n.emit(L?"accept":"cancel"),n.emit("closed",V),s())})}const b=[{name:"cancel",text:K.LocaleService.getLocaleValue("messageBox.cancel")||"取消",class:"btn btn-secondary",handle:V=>{u(V,!1)}},{name:"accept",text:K.LocaleService.getLocaleValue("messageBox.ok")||"确定",class:"btn btn-primary",handle:V=>{u(V,!0)}}],S=t.ref(e.buttons&&e.buttons.length?e.buttons:b),E=t.computed(()=>!!p.value),I=t.computed(()=>!!g.value&&!!S.value),P=t.ref(),O=t.ref(),T=t.ref(e.maximized||!1),{renderResizeBar:B,maximize:D,restore:$,boundingElement:j,resizedEventParam:N,allowDrag:M,unWindowResizeHandle:R,moveToCenter:A}=zt(e),{registerDraggle:q}=Wt(e,n,M);function Te(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}t.watch(()=>e.title,(V,L)=>{V!==L&&(c.value=V)}),t.watch(()=>e.modelValue,(V,L)=>{V!==L&&(o.value=V,o.value&&e.draggable&&t.nextTick(()=>{O.value&&!y.value&&(y.value=O.value.parentElement,j.value=y.value,q(P.value,O.value,j.value),A())}),V||(y.value&&(y.value=null),s())),o.value?C.value=Te():(T.value=!1,M.value=e.draggable)}),t.watch(()=>e.showHeader,(V,L)=>{V!==L&&(f.value=V)}),t.watch(()=>e.showButtons,(V,L)=>{V!==L&&(g.value=V)}),t.watch(()=>N.value,(V,L)=>{const W=V||{},U=L||{};JSON.stringify(W)!==JSON.stringify(U)&&n.emit("resize",{newSize:V,oldSize:L,isMaximized:T.value})}),t.watch([()=>e.width,()=>e.height],(V,L)=>{(V[0]!==L[0]||V[1]!==L[1])&&(a.value=V[0]||500,l.value=V[1]||600)}),t.watch(()=>e.class,(V,L)=>{r.value=V});const se=t.computed(()=>(o.value&&document.body.classList.add("modal-open"),o.value)),Ie=t.computed(()=>{var W;const V={modal:!0,"farris-modal":!0,fade:!0,"fe-cmp-page-modal":!!e.showFloatingClose};V["f-modal-fitContent"]=!!d.value,V.show=!!se.value;const L=(W=e.maskClass)==null?void 0:W.split(" ");return L==null||L.reduce((U,oe)=>(U[oe]=!0,U),V),V}),ul=t.computed(()=>{var W;const V={"modal-dialog":!0},L=(W=r.value)==null?void 0:W.split(" ");return L==null||L.reduce((U,oe)=>(U[oe]=!0,U),V),V}),dl=()=>z.isMobilePhone()&&!e.isMessager||!!e.fullscreen,fl=t.computed(()=>{const V=document.documentElement.clientWidth,L=document.documentElement.clientHeight;if(T.value)return{position:"fixed",top:"0px",left:"0px",width:"100vw",height:"100vh",margin:"0"};const W=Math.min(a.value,V),U=e.position==="right"?"100%":d.value?"auto":`${Math.min(l.value,L-10)}px`,oe=`${(window.innerHeight-(U==="100%"||U==="auto"?0:parseInt(U)))/2}px`,Ol=e.position==="right"?`${window.innerWidth-W}px`:`${(window.innerWidth-W)/2}px`,kt={position:"absolute",top:oe,left:Ol,width:z.isMobilePhone()?"auto":`${W}px`,height:U};return e.mask||(kt.pointerEvents="auto"),kt}),Ct=t.ref(z.getMaxZIndex()||1050),ml=t.computed(()=>{const V={display:"block",overflow:"hidden"};return e.mask||(V.pointerEvents="none",V.backgroundColor="transparent"),C.value&&(V.backgroundColor="transparent"),V.zIndex=Ct.value,V}),yl=t.computed(()=>({"modal-content":!0,"modal-content-has-header":f.value,"is-mobile":dl()})),pl=t.computed(()=>{const V={display:f.value?"":"none"};return V["pointer-events"]=M.value?"auto":"none",V}),hl=t.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:T.value})),gl=t.computed(()=>({"modal-body":!0,"f-utils-flex-column":x.value==="iframe","f-utils-fill":!0}));function bl(){return{height:`${e.footerHeight||60}px`}}const vl=t.computed(()=>{const V={textAlgin:F.value},L=bl();return Object.assign(V,L)});function je(V){if(V==null||V.stopPropagation(),T.value){T.value=!1,$();return}D(),T.value=!0}async function xl(V,L){V.handle?await V.handle(L,V)&&n.emit("closed",L):n.emit("buttonClick",{button:V,$event:L})}function Cl(V){V.width&&(a.value=V.width),V.height&&(l.value=V.height),V.buttons&&(S.value=V.buttons),V.title&&(c.value=V.title)}let Re=null,Le=null;t.onBeforeMount(()=>{C.value=Te()}),t.onMounted(()=>{O.value&&!y.value&&(y.value=O.value.parentElement,j.value=y.value,q(P.value,O.value,j.value)),se.value&&document.body.classList.add("modal-open"),Re=qt(e,n),Le=Ut(e,n)}),t.onUnmounted(()=>{R&&R(),Re&&Re.remove(),Le&&Le.remove()}),n.expose({modalElementRef:O,updateModalOptions:Cl,close:u,maxDialog:je,isMaximized:T,disableButtons:(V,L=!0)=>{S.value.forEach(W=>{W.name&&V.includes(W.name)&&(W.disabled=L)})}});function wl(){return t.createVNode("div",{class:"action-wrapper",onClick:V=>u(V,!1)},[t.createVNode("span",{class:"close-icon"},[t.createVNode("i",{class:"f-icon f-icon-close"},null)])])}function kl(){return t.createVNode("ul",null,[h.value&&t.createVNode("li",{class:"f-btn-icon f-bare"},[t.createVNode("span",{class:"f-icon modal_minimize"},null)]),m.value&&t.createVNode("li",{onClick:je,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[t.createVNode("span",{class:hl.value},null)]),v.value&&t.createVNode("li",{class:"f-btn-icon f-bare",onClick:V=>u(V,!1),style:"pointer-events: auto;"},[t.createVNode("span",{class:"f-icon modal_close"},null)])])}const Sl=V=>{V.preventDefault();const L=V.currentTarget,W=V.deltaY*.5;L.scrollLeft+=W};function Fl(){return t.createVNode("div",{class:"modal-footer",style:vl.value},[S.value&&t.createVNode("div",{class:"buttons",onWheel:Sl},[S.value.map(V=>{var U;const L=t.ref(V.disabled),W=V.class||((U=V.appearance)==null?void 0:U.class);return t.createVNode("button",{name:V.name,style:V.styles,type:"button",disabled:L.value,class:W+(V.iconClass?" btn-icontext":"")+(V.visible===!1?"d-none":""),onClick:oe=>{xl(V,oe)}},[!!V.iconClass&&t.createVNode("i",{class:V.iconClass},null),V.text])})])])}function wt(V){m.value&&je()}function Tl(){return t.createVNode(t.Fragment,null,[T.value&&t.createVNode("div",{class:"modal-header",style:"position: absolute;background: transparent;height: 45px;width: 100%;",onDblclick:V=>wt()},null),t.createVNode("div",{ref:P,class:"modal-header",style:pl.value,onDblclick:V=>wt()},[n.slots.headerTemplate?n.slots.headerTemplate():t.createVNode("div",{class:"modal-title"},[E.value&&t.createVNode("span",{class:p.value,style:"margin-right: 8px"},null),t.createVNode("span",{class:"modal-title-label"},[c.value])]),t.createVNode("div",{class:"actions"},[kl()])])])}function Nl(){return n.slots.footerTemplate?n.slots.footerTemplate():I.value&&Fl()}function Vl(V){if(V.stopPropagation(),e.allowClickMaskToClose){if(V.target!==k.value)return;u(V,!1)}}function Ml(){var V,L;return t.createVNode("div",{id:i.value,class:ul.value,style:fl.value,ref:O},[e.showFloatingClose&&wl(),t.createVNode("div",{class:yl.value},[f.value&&Tl(),t.createVNode("div",{class:gl.value},[(L=(V=n.slots).default)==null?void 0:L.call(V),x.value==="iframe"&&t.createVNode("iframe",{title:i.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:w.value},null)]),Nl()]),!d.value&&O.value&&!T.value&&B(O.value)])}function Bl(V){return V||"body"}return t.watchEffect(()=>{se.value&&(Ct.value=z.getMaxZIndex()||1050)}),()=>t.createVNode(t.Teleport,{to:Bl(e.host)},{default:()=>[se.value&&t.createVNode(t.Transition,{name:"fade",appear:!0},{default:()=>[t.createVNode("div",{ref:k,class:Ie.value,style:ml.value,onClick:Vl},[Ml()])]})]})}});function ze(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function Yt(e){const n=document.createElement("div");n.style.display="contents";const a=t.createApp({setup(l,o){t.onUnmounted(()=>{document.body.removeChild(n)});const i=t.ref(),r=t.ref(e.class||""),d=t.ref(!!e.showButtons),f=t.ref(!!e.showHeader),p=t.ref(e.showCloseButton==null?!0:e.showCloseButton),v=t.ref(!!e.showFloatingClose),m=t.ref(!0),h=t.ref(e.title||""),x=e.acceptCallback||(()=>{}),w=e.rejectCallback||(()=>{}),F=e.closedCallback||(C=>{}),g=e.resizeHandle||(C=>{}),c=e.stopMoveHandle||(C=>{}),y=ze(e),k=C=>{m.value=!1,a.unmount(),F(C)};return t.onMounted(()=>{}),o.expose({modalRef:i}),()=>t.createVNode(ce,{ref:i,class:r.value,modelValue:m.value,"onUpdate:modelValue":C=>m.value=C,title:h.value,width:e.width,height:e.height,buttons:e.buttons,"show-header":f.value,"show-buttons":d.value,"show-close-button":p.value,"show-max-button":!1,showFloatingClose:v.value,onAccept:x,onCancel:w,fitContent:e.fitContent==null?!0:e.fitContent,onClosed:k,onResize:g,onStopMove:c},{default:()=>[y&&y(a)]})}});return document.body.appendChild(n),a.use(K.LocaleService.i18n),a.mount(n),a}class We{constructor(n){Q(this,"appContext",null);Q(this,"modalRef",t.ref());Q(this,"activeModalIndex",t.ref(0));Q(this,"modalRefs",{});Q(this,"isUseEscCloseModal",t.ref(!1));this.app=n,this.appContext=n?n._context:null}getCurrentModal(){return this.modalRefs[this.activeModalIndex.value]}adaptToWindow(n,a){const{width:l,height:o}={width:window.innerWidth,height:window.innerHeight};return l<n&&(n=l-14),o<a&&(a=o-14),{width:n,height:a}}static show(n){const a=Object.assign({title:"",showButtons:!0,showHeader:!0},n);return Yt(a)}close(n){var a,l;n?(l=n.value)==null||l.close():(a=this.getCurrentModal())==null||a.close()}open(n){const a=document.createDocumentFragment();n.showMaxButton&&n.fitContent&&(n.showMaxButton=!1);const l=t.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0,maximized:!1},n)),o=t.ref(!0),i=l.value.acceptCallback||(()=>{}),r=l.value.rejectCallback||(()=>{}),d=l.value.closedCallback||((S,E)=>{}),f=l.value.openedCallback||(S=>{}),p=l.value.resizeHandle||(S=>{}),v=n.stopMoveHandle||(S=>{});let m;const h=ze(l.value),x=S=>{var I;o.value=!1;const E=(I=S==null?void 0:S.target)==null?void 0:I.classList.contains("modal_close");d(S,this.isUseEscCloseModal.value?"esc":E?"icon":"button")},w=S=>{x(S),m&&t.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],t.render(null,a),m=null,this.modalRef.value=null,this.modalRefs){const E=Object.keys(this.modalRefs).map(I=>Number(I));E.length>0?this.activeModalIndex.value=Math.max(...E):this.activeModalIndex.value=0,this.modalRefs[this.activeModalIndex.value]&&(this.modalRef.value=this.modalRefs[this.activeModalIndex.value])}this.isUseEscCloseModal.value=!1})},F=S=>{var E;this.isUseEscCloseModal.value=!0,(E=this.getCurrentModal())==null||E.close(S==null?void 0:S.event)},{width:g,height:c}=l.value,y=this.adaptToWindow(g||500,c||320);Object.assign(l.value,y);const k=t.ref(),C=()=>t.createVNode(ce,t.mergeProps({ref:k,modelValue:o.value,"onUpdate:modelValue":S=>o.value=S},l.value,{isMessager:l.value.class&&l.value.class.indexOf("modal-message")>-1,onAccept:i,onCancel:r,onClosed:w,onResize:p,onEsc:F,onStopMove:v,maximized:l.value.maximized}),{default:()=>[h&&h(this.app)]});m=(S=>{const E=t.h(C,S);return E.appContext=this.appContext,t.render(E,a),E})({...l.value}),this.activeModalIndex.value++;const u=this.activeModalIndex.value;this.modalRefs[u]=k.value;const b=S=>{l.value={...l.value,...S},m&&t.render(t.cloneVNode(m,{...l}),a)};return t.nextTick(()=>{this.modalRefs[u]=k.value,this.modalRef.value=k.value,f(new Event("opened"))}),{update:b,destroy:w,modalRef:k,close:()=>{var S;(S=k.value)==null||S.close()},disableButtons:(S,E=!0)=>{var I;(I=k.value)==null||I.disableButtons(S,E)}}}}const ue=Symbol("FModalService");ce.install=e=>{e.component(ce.name,ce);const n=new We(e);e.provide(ue,n),e.provide("FModalService",n)};function qe(e,n){function a(){const l=e.beforeOpen||e.beforeClickButton||null;let o=Promise.resolve(!0);if(l){const i=l(n.value);if(typeof i>"u")return o;typeof i=="boolean"?o=Promise.resolve(i):o=i}return o}return{judgeCanOpen:a}}function Gt(e,n,a,l,o){const i=t.ref(e.buttonBehavior),r=t.ref(e.popupOnInput),d=t.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:f}=qe(e,o),p=t.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),v=t.inject(ue,null),m=t.ref();async function h(F){if(await f()&&p.value){const g=!!n.slots.default;if(i.value==="Modal"){const c=e.modalOptions,y=v==null?void 0:v.open({...c,render:()=>n.slots.default&&n.slots.default()});m.value=y==null?void 0:y.modalRef}i.value==="Overlay"&&At.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),g&&i.value==="Popup"&&l.togglePopup(!0),g&&r.value&&l.hidePopup(),n.emit("clickButton",{origin:F,value:e.modelValue})}}function x(F){n.emit("mouseEnterIcon",F)}function w(F){n.emit("mouseLeaveIcon",F)}return{buttonGroupClass:d,onClickButton:h,onMouseEnterButton:x,onMouseLeaveButton:w,modalRef:m}}function Xt(e,n,a,l,o,i){const r=t.ref(!1),d=t.computed(()=>e.enableClear&&!e.readonly&&!e.disable&&!z.isMobilePhone()),{changeTextBoxValue:f,hasClearClass:p}=i,v=t.ref(!1);function m(g){r.value=g,p.value=g}const h=t.computed(()=>d.value&&!!(o!=null&&o.value)&&v.value);t.watch(o,()=>{m(h.value)});function x(g){const c=!e.readonly&&!e.disable&&e.editable,y=!e.editable;g==null||g.stopPropagation(),(c||y)&&(f(""),o.value="",m(!r.value),n.emit("clear"))}function w(g){if(v.value=!0,!!d.value){if(!a.value){m(!1);return}!e.disable&&!e.readonly&&m(!0)}}function F(g){v.value=!1,d.value&&m(!1)}return{enableClearButton:d,showClearButton:r,onClearValue:x,onMouseEnterTextBox:w,onMouseLeaveTextBox:F}}function Kt(e,n,a,l,o){const i=t.computed(()=>e.popupOnInput),r=t.computed(()=>e.popupOnFocus),{shouldPopupContent:d,closeAllPopover:f}=o,p=t.ref(!1),v=t.computed(()=>e.enableTitle?a.value:""),m=t.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),h=t.computed(()=>e.readonly||!e.editable||z.isMobilePhone()),x=t.ref(!1),w=t.computed(()=>!e.disable&&x.value),F=t.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),g=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":w.value,"input-group--has-clear":e.enableClear&&p.value}));function c(P,O=!0){a.value=P,O&&(n.emit("change",P),n.emit("update:modelValue",P))}function y(P){d.value=!1,c(P,!0)}t.watch(()=>e.modelValue,P=>{a.value=P});function k(P){x.value=!1,n.emit("blur",P),P.stopPropagation()}function C(P){n.emit("click",P),f(),n.slots.default&&!e.disable&&!e.readonly&&e.popupOnClick&&o.togglePopup()}function s(P){!e.disable&&!e.readonly&&(x.value=!0,h.value||(n.emit("focus",P),r.value&&!d.value&&o.popup()))}function u(P){n.emit("input",P);const O=P.target.value;l.value=O,a.value!==O&&c(O,e.updateOn==="change"),i.value&&!d.value&&o.popup()}function b(P){P.target.tagName!=="INPUT"&&P.preventDefault(),P.stopPropagation()}function S(P){n.emit("keydown",P)}function E(P){P.key==="Enter"&&(i.value||r.value)&&o.hidePopup(),n.emit("keyup",P)}function I(P){const O=P.target.value;P.stopPropagation(),c(O)}return{hasFocusedTextBox:w,isTextBoxReadonly:h,textBoxClass:F,textBoxPlaceholder:m,textBoxTitle:v,inputGroupClass:g,hasClearClass:p,changeTextBoxValue:c,commitValue:y,onBlurTextBox:k,onClickTextBox:C,onFocusTextBox:s,onInput:u,onKeyDownTextBox:S,onKeyUpTextBox:E,onMouseDownTextBox:b,onTextBoxValueChange:I}}const ae="FarrisVue_PopoverInstancesKey";function _t(e,n,a,l){const o=t.ref(),i=t.ref(!1),{judgeCanOpen:r}=qe(e,l);t.watch(()=>o.value,(x,w)=>{window[ae]=window[ae]||new WeakMap,x?window[ae].set(a.value,x):window[ae].delete(a.value)});function d(){if(window[ae]){const x=window[ae];document.querySelectorAll(".f-button-edit,.v-popover").forEach(w=>{const F=x.get(w);F&&w!==a.value&&!a.value.closest(".popover-fitcontent")&&F.hide()})}}function f(){const x=o.value;x&&(x.show?x.show(a.value):x.open&&x.open(a.value))}async function p(x=!1){if(!!n.slots.default){if(!x&&!i.value&&!await r())return;i.value=!i.value,i.value&&(await t.nextTick(),f())}}async function v(x=!1){if(!!n.slots.default){if(!x&&!await r())return;i.value=!0,await t.nextTick(),f()}}function m(){i.value=!1}function h(){i.value=!0,t.nextTick(()=>{f()})}return{hidePopup:m,showPopup:h,popup:v,shouldPopupContent:i,togglePopup:p,popoverRef:o,closeAllPopover:d}}function Jt(e,n,a){const l=t.ref(),{isTextBoxReadonly:o,textBoxClass:i,textBoxPlaceholder:r,textBoxTitle:d,onBlurTextBox:f,onClickTextBox:p,onFocusTextBox:v,onInput:m,onKeyDownTextBox:h,onKeyUpTextBox:x,onMouseDownTextBox:w,onTextBoxValueChange:F}=a,g=t.ref(e.id),{uuid:c}=z.useGuid(),y=t.computed(()=>({}));t.onMounted(()=>{var b,S;e.selectOnCreated&&((b=l.value)==null||b.select()),e.focusOnCreated&&((S=l.value)==null||S.focus({preventScroll:!0})),g.value||(g.value="button-edit_"+c(8)),g.value=g.value+"-textbox"});const k=t.ref(!1),C=b=>{b.preventDefault(),k.value=!0},s=b=>{b.preventDefault(),k.value=!1,m(b)};function u(b){k.value||m(b)}return()=>t.createVNode("input",{id:e.id?e.id+"-textbox":void 0,ref:l,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:i.value,style:y.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:r.value,readonly:o.value,tabindex:e.tabIndex,title:d.value,type:e.inputType,value:n.value,onBlur:f,onChange:F,onClick:p,onFocus:v,onInput:u,onKeydown:h,onKeyup:x,onMousedown:w,onCompositionend:s,onCompositionstart:C},null)}function Zt(e,n,a){const l=t.ref(e.separator),o=t.computed(()=>e.readonly||e.disable),{changeTextBoxValue:i,onFocusTextBox:r,onBlurTextBox:d,onClickTextBox:f,textBoxPlaceholder:p}=a,v=t.computed(()=>n.value?n.value.split(l.value).map(w=>({name:w,selectable:!0})):[]);function m(w){i(w.map(F=>F.name).join(l.value),!0)}t.watch(()=>e.separator,w=>{l.value=w});const h=t.ref(!e.disable&&!e.readonly);t.watch([()=>e.disable,()=>e.readonly],([w,F],[g,c])=>{h.value=!w&&!F});function x(w){f(w)}return()=>t.createVNode(Ft,{tabindex:e.tabIndex,onFocus:r,onBlur:d,id:`${e.id}-tag-editor`,class:"form-control",placeholder:p.value,data:v.value,showClose:!o.value,showInput:!0,disable:o.value,onChange:m,onClick:x},null)}function Qt(e,n,a,l){const{buttonGroupClass:o,onClickButton:i,onMouseEnterButton:r,onMouseLeaveButton:d}=a,{enableClearButton:f,showClearButton:p,onClearValue:v}=l,m=t.ref(),h=_.debounce(F=>{i(F)},e.buttonBehavior==="Modal"?0:200),x=()=>{n.emit("beforeClearValue")},{renderExpandContent:w}=Tt.useInputExpand(e,n);return{renderButtonGroup:()=>t.createVNode(t.Fragment,null,[t.createVNode("div",{id:e.id?`${e.id}-button-group`:void 0,class:o.value},[f.value&&t.withDirectives(t.createVNode("span",{class:"input-group-text input-group-clear",onClick:v,onMousedown:x},[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:h,onMouseenter:r,onMouseleave:d},[n.slots.buttonContent()]):e.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:m,onClick:F=>h(F),onMouseenter:r,onMouseleave:d},null):null]),w()]),buttonHandleElement:m}}function en(e,n,a){const l=t.ref(e.popupMinWidth),{hidePopup:o,popoverRef:i}=a,r=()=>{n.emit("shown")};return()=>z.isMobilePhone()?t.createVNode(Vt,{id:`${e.id}-drawer`,ref:i,position:e.placement,width:"auto",height:"auto",host:e.popupHost,showHeader:!1,showFooter:!1,customClass:"f-drawer--no-padding","onUpdate:modelValue":d=>d?r():o()},{default:()=>{var d,f;return[t.createTextVNode(" "),(f=(d=n.slots).default)==null?void 0:f.call(d),t.createTextVNode(" ")]}}):t.createVNode(Nt,{id:`${e.id}-popover`,ref:i,placement:e.placement,host:e.popupHost,"keep-width-with-reference":e.keepWidthWithReference,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:l.value,class:e.popupClass,offsetX:e.popupOffsetX,offsetY:e.popupOffsetY,onHidden:o,onShown:r,beforeClose:e.beforeClosePopup,limitContentBySpace:e.limitContentBySpace},{default:()=>{var d,f;return[(f=(d=n.slots).default)==null?void 0:f.call(d)]}})}const he=t.defineComponent({name:"FButtonEdit",props:It,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue","beforeClearValue","expandClick"],setup(e,n){const a=t.ref(),l=t.ref(e.customClass),o=t.ref(e.modelValue),i=_t(e,n,a,o),{shouldPopupContent:r,hidePopup:d,showPopup:f,togglePopup:p}=i,v=Gt(e,n,a,i,o),m=t.ref(""),h=Kt(e,n,o,m,i),{hasFocusedTextBox:x,commitValue:w,inputGroupClass:F,changeTextBoxValue:g}=h,c=Xt(e,n,o,x,m,h),{onMouseEnterTextBox:y,onMouseLeaveTextBox:k}=c,C=t.ref(!1),s=t.computed(()=>{const N={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return l.value&&l.value.split(" ").reduce((M,R)=>(M[R]=!0,M),N),N}),u=t.computed(()=>({overflow:e.wrapText?"hidden":""})),b=t.computed(()=>({})),S=t.ref(e.showAppendButton);function E(){if(!e.multiSelect||e.inputType!=="tag"||!a.value)return 0;let N=0;const M=Array.from(a.value.querySelectorAll(".farris-tag-item"));return M&&M.length&&(N=M.map(R=>R.offsetTop).filter(R=>R>20).length),N}const I=t.ref(E());t.onUpdated(()=>{I.value=E()});function P(){return e.multiSelect&&e.inputType==="tag"?()=>t.createVNode(t.Fragment,null,[Zt(e,o,h)(),!!I.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("+"),I.value])])]):Jt(e,o,h)}let O=P();t.watch([()=>e.multiSelect,()=>e.inputType],()=>{O=P()});const{renderButtonGroup:T,buttonHandleElement:B}=Qt(e,n,v,c),D=en(e,n,i),$=t.ref(r.value),j={displayText:m,commitValue:w,elementRef:a,hidePopup:d,showPopup:f,popoverRef:i.popoverRef,shouldPopupContent:r,togglePopup:p,openDialog:()=>{B.value&&e.buttonBehavior==="Modal"&&B.value.click(),n.slots.content&&_.debounce(()=>{v.onClickButton(null)},e.buttonBehavior==="Modal"?0:200)()},getModal:()=>{var N;return e.buttonBehavior==="Modal"?(N=v.modalRef.value)==null?void 0:N.value:null},getTextbox:()=>{var N;return(N=a.value)==null?void 0:N.querySelector("input")},forceClosePopup:()=>{$.value=!1,C.value=!0,r.value=!1},clear:()=>{g(""),m.value=""},setText:N=>{g(N,!1),m.value=N}};return t.onMounted(()=>{a.value.componentInstance=j,window.onresize=()=>{document.body.click()}}),t.onBeforeUnmount(()=>{var N;window.onresize=null,(N=window[ae])==null||N.delete(a.value)}),n.expose(j),t.watch(()=>r.value,async(N,M)=>{if(C.value){$.value=N,C.value=!1;return}if(!N&&e.beforeClosePopup&&typeof e.beforeClosePopup=="function"){try{const R=await e.beforeClosePopup();$.value=!R,(!R||e.readonly)&&(r.value=!0)}catch(R){console.error("Error in beforeClosePopup:",R),$.value=M,r.value=M}return}$.value=N}),()=>{var N,M;return t.createVNode(t.Fragment,null,[t.createVNode("div",t.mergeProps(n.attrs,{ref:a,class:s.value,id:e.id?e.id:void 0,style:u.value}),[t.createVNode("div",{id:e.id?`${e.id}-input-group`:void 0,class:F.value,style:b.value,onMouseenter:y,onMouseleave:k},[(M=(N=n.slots).precontent)==null?void 0:M.call(N),n.slots.content?n.slots.content():O(),n.slots.content?null:S.value&&T()])]),$.value&&D()])}}}),tn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/field-selector.schema.json",title:"field-selector",description:"A Farris Input Component",type:"object",properties:{disabled:{description:"",type:"boolean",default:!1},readonly:{description:"",type:"boolean",default:!1},modelValue:{description:"",type:"string",default:""},repositoryToken:{description:"",type:"object",default:null},fields:{description:"",type:"array",default:null},editorParams:{type:"object",default:null},displayText:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},beforeOpen:{description:"",type:"function",default:null},onSubmitModal:{description:"",type:"function",default:null},editorType:{description:"",type:"string",default:"filter"},enableExpression:{description:"",type:"boolean",default:!1},expressionOptions:{description:"",type:"object",default:null},formContextData:{description:"",type:"object",default:{}},singleValue:{description:"",type:"boolean",default:!0},idField:{description:"",type:"string",default:"id"},textField:{type:"string",default:""},valueField:{type:"string",default:""},editable:{type:"boolean",default:!0},enableTitle:{type:"boolean",default:!0}}},Ue={disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!0},displayText:{type:String,default:""},enableExpression:{type:Boolean,default:!1},modelValue:{type:String,default:""},insertType:{type:String,default:"below"},fields:{type:Array,default:[]},repositoryToken:{type:Object,default:null},editorParams:{type:Object,default:null},onSubmitModal:{type:Function,default:null},beforeOpen:{type:Function,default:null},editorType:{type:String,default:"filter"},expressionOptions:{type:Object,default:null},formContextData:{type:Object,default:{}},singleValue:{type:Boolean,default:!0},idField:{type:String,default:"id"},textField:{type:String,default:""},valueField:{type:String,default:""},editable:{type:Boolean,default:!0},enableTitle:{type:Boolean,default:!0},disableConfirmWhenUnchanged:{type:Boolean,default:!1},compareOperators:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1}};G.createPropsResolver(Ue,tn);const Ye={conditions:{type:Array,default:[]},fields:{type:Array,default:[]},activeIndex:{type:Number,default:-1},formatter:{type:Function,default:(e,n)=>`${n.raw.name} [${n.raw.path}]`},enableExpression:{type:Boolean,default:!1},expressionOptions:{type:Object,default:null},formContextData:{type:Object,default:{}},singleValue:{type:Boolean,default:!0},idField:{type:String,default:"id"},textField:{type:String,default:""},valueField:{type:String,default:""},compareOperators:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1}},Ge=new Map([["appearance",G.resolveAppearance]]),Xe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},enableClear:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},idField:{description:"",type:"string",default:"id"},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},dataSourceType:{description:"",type:"string",default:"static"},data:{description:"",type:"array"},dataSource:{description:"",type:"string"},remote:{description:"",type:"string"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},multiSelect:{description:"",type:"boolean",default:!1},maxLength:{description:"",type:"number",default:null},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:350},minPanelWidth:{description:"",type:"number",default:160},popupOnClick:{description:"",type:"boolean",default:!0},separator:{description:"",type:"string",default:","},viewType:{description:"",type:"string",default:"tag"},enableSearch:{description:"启用搜索",type:"boolean",default:!0},enableHighlightSearch:{description:"启用高亮搜索",type:"boolean",default:!1},beforeOpen:{description:"打开下拉面板前回调",type:"string"},beforeHide:{description:"关闭下拉面板前回调",type:"string"},onShown:{description:"面板打开事件",type:"string"},onHidden:{description:"面板关闭事件",type:"string"},onChange:{description:"值变化事件",type:"string",default:""},onInput:{description:"输入事件",type:"string",default:""},onClear:{description:"清空事件",type:"string",default:""},onDataChanged:{description:"清空事件",type:"string",default:""},hideDisabledItems:{description:"隐藏禁用项",type:"boolean",default:!1},expandable:{description:"",type:"boolean",default:!1},expandMode:{description:"",type:"string",default:"text"},expandContent:{description:"",type:"string",default:""},expandDisabled:{description:"",type:"boolean",default:!1},onExpandClick:{description:"",type:"string",default:""}},required:["type"],ignore:["id","appearance","binding","visible"],events:{onClear:"清空事件",onShown:"面板打开事件",onHidden:"面板关闭事件",onChange:"值变化事件",beforeOpen:"打开面板前事件",beforeHide:"关闭面板前事件"}};function Ke(e,n,a){return n}function nn(){function e(n,a,l){const o={};return o.beforeOpen=i=>a.call("beforeOpen",n,[i,n],l),o}return{resolve:e}}const ge={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-chevron-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{type:String,default:""},placeholder:{type:String,default:"请选择"},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},load:{type:Function},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0},minPanelWidth:{type:Nu