@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
1 lines • 230 kB
JavaScript
(function(U,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../tags/index.umd.js"),require("../popover/index.umd.js"),require("@vueuse/core"),require("../data-view/index.umd.js"),require("../modal/index.umd.js"),require("../transfer/index.umd.js"),require("../tabs/index.umd.js"),require("../order/index.umd.js"),require("../condition/index.umd.js"),require("../checkbox/index.umd.js"),require("../filter-bar/index.umd.js"),require("../tooltip/index.umd.js"),require("../pagination/index.umd.js"),require("../button/index.umd.js"),require("../search-box/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../binding-selector/index.umd.js"),require("../notify/index.umd.js"),require("../accordion/index.umd.js"),require("../avatar/index.umd.js"),require("../button-edit/index.umd.js"),require("../button-group/index.umd.js"),require("../calendar/index.umd.js"),require("../capsule/index.umd.js"),require("../color-picker/index.umd.js"),require("../combo-list/index.umd.js"),require("../content-container/index.umd.js"),require("../data-grid/index.umd.js"),require("../date-picker/index.umd.js"),require("../dropdown/index.umd.js"),require("../external-container/index.umd.js"),require("../events-editor/index.umd.js"),require("../image-cropper/index.umd.js"),require("../input-group/index.umd.js"),require("../layout/index.umd.js"),require("../list-nav/index.umd.js"),require("../list-view/index.umd.js"),require("../lookup/index.umd.js"),require("../nav/index.umd.js"),require("../number-spinner/index.umd.js"),require("../number-range/index.umd.js"),require("../page-header/index.umd.js"),require("../page-footer/index.umd.js"),require("../progress/index.umd.js"),require("../query-solution/index.umd.js"),require("../radio-group/index.umd.js"),require("../rate/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../response-layout/index.umd.js"),require("../response-layout-editor/index.umd.js"),require("../section/index.umd.js"),require("../smoke-detector/index.umd.js"),require("../splitter/index.umd.js"),require("../step/index.umd.js"),require("../switch/index.umd.js"),require("../text/index.umd.js"),require("../time-picker/index.umd.js"),require("../tree-view/index.umd.js"),require("../uploader/index.umd.js"),require("../verify-detail/index.umd.js"),require("../component/index.umd.js"),require("../video/index.umd.js"),require("../textarea/index.umd.js"),require("../tree-grid/index.umd.js"),require("../fieldset/index.umd.js"),require("../drawer/index.umd.js"),require("../common/index.umd.js"),require("../combo-tree/index.umd.js"),require("../field-selector/index.umd.js"),require("../mapping-editor/index.umd.js"),require("../schema-selector/index.umd.js"),require("../event-parameter/index.umd.js"),require("../filter-condition-editor/index.umd.js"),require("../sort-condition-editor/index.umd.js"),require("../menu-lookup/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../tags/index.umd.js","../popover/index.umd.js","@vueuse/core","../data-view/index.umd.js","../modal/index.umd.js","../transfer/index.umd.js","../tabs/index.umd.js","../order/index.umd.js","../condition/index.umd.js","../checkbox/index.umd.js","../filter-bar/index.umd.js","../tooltip/index.umd.js","../pagination/index.umd.js","../button/index.umd.js","../search-box/index.umd.js","../dynamic-form/index.umd.js","../designer-canvas/index.umd.js","../binding-selector/index.umd.js","../notify/index.umd.js","../accordion/index.umd.js","../avatar/index.umd.js","../button-edit/index.umd.js","../button-group/index.umd.js","../calendar/index.umd.js","../capsule/index.umd.js","../color-picker/index.umd.js","../combo-list/index.umd.js","../content-container/index.umd.js","../data-grid/index.umd.js","../date-picker/index.umd.js","../dropdown/index.umd.js","../external-container/index.umd.js","../events-editor/index.umd.js","../image-cropper/index.umd.js","../input-group/index.umd.js","../layout/index.umd.js","../list-nav/index.umd.js","../list-view/index.umd.js","../lookup/index.umd.js","../nav/index.umd.js","../number-spinner/index.umd.js","../number-range/index.umd.js","../page-header/index.umd.js","../page-footer/index.umd.js","../progress/index.umd.js","../query-solution/index.umd.js","../radio-group/index.umd.js","../rate/index.umd.js","../response-toolbar/index.umd.js","../response-layout/index.umd.js","../response-layout-editor/index.umd.js","../section/index.umd.js","../smoke-detector/index.umd.js","../splitter/index.umd.js","../step/index.umd.js","../switch/index.umd.js","../text/index.umd.js","../time-picker/index.umd.js","../tree-view/index.umd.js","../uploader/index.umd.js","../verify-detail/index.umd.js","../component/index.umd.js","../video/index.umd.js","../textarea/index.umd.js","../tree-grid/index.umd.js","../fieldset/index.umd.js","../drawer/index.umd.js","../common/index.umd.js","../combo-tree/index.umd.js","../field-selector/index.umd.js","../mapping-editor/index.umd.js","../schema-selector/index.umd.js","../event-parameter/index.umd.js","../filter-condition-editor/index.umd.js","../sort-condition-editor/index.umd.js","../menu-lookup/index.umd.js"],n):(U=typeof globalThis<"u"?globalThis:U||self,n(U["field-selector"]={},U.Vue,U.LodashES,U.dynamicResolver,U.FTags,U.FPopover,U.VueUseCore,U.dataView,null,U.FTransfer,U.FTabs,U.FOrder,null,U.FCheckbox,U.FFilterBar,U.FTooltip,U.FPagination,U.FButton,U.FSearchBox,U.FDynamicForm,null,U.FBindingSelector,null,U.FAccordion,U.FAvatar,U.FButtonEdit$1,U.FButtonGroup,U.FCalendar,U.FCapsule,U.FColorPicker,U.FComboList,U.FContentContainer,U.FDataGrid,U.FDatePicker,U.FDropdown,null,U.FEventsEditor,U.FImageCropper,U.FInputGroup,U.FLayout,U.FListNav,U.FListView,U.FLookup,U.FNav,U.FNumberSpinner,U.FNumberRange,U.FPageHeader,U.FPageFooter,U.FProgress,U.FQuerySolution,U.FRadioGroup,U.FRate,U.FResponseToolbar,U.FResponseLayout,U.FResponseLayoutEditorSetting,U.FSection,U.FSmokeDetector,U.FSplitter,U.FStep,U.FSwitch,U.FText,U.FTimePicker,U.FTreeview,U.FUploader,U.FVerifyDetail,U.FComponent,U.FVideo,U.FTextArea,U.FTreeGrid$1,U.FFieldset,U.FDrawer,U.common,U.FComboTree,U.FFieldSelector,U.FMappingEditor,U.FSchemaSelector,U.FEventParameter,U.FFilterConditionEditor,U.FSortConditionEditor,U.FMenuLookup))})(this,function(U,n,Me,Pt,Lt,On,Wt,Ce,Ba,Bn,En,Mn,Ea,Ht,jn,qt,In,Dn,$n,Tt,Ma,Rn,ja,Pn,Ln,Wn,Hn,qn,An,zn,Ft,Gn,Un,Yn,Xn,Ia,Kn,Qn,Jn,Zn,eo,to,no,oo,ro,io,ao,lo,so,uo,co,fo,po,mo,ho,go,yo,vo,bo,Co,wo,xo,_o,So,To,Fo,Vo,No,ko,Oo,Bo,Fe,Eo,Mo,jo,Io,Do,$o,Ro,Po){"use strict";var ka=Object.defineProperty;var Oa=(U,n,Me)=>n in U?ka(U,n,{enumerable:!0,configurable:!0,writable:!0,value:Me}):U[n]=Me;var ee=(U,n,Me)=>Oa(U,typeof n!="symbol"?n+"":n,Me);const At={},zt={};function Vt(e){const{properties:t,title:o,ignore:r}=e,i=r&&Array.isArray(r),l=Object.keys(t).reduce((a,s)=>((!i||!r.find(u=>u===s))&&(a[s]=t[s].type==="object"&&t[s].properties?Vt(t[s]):Me.cloneDeep(t[s].default)),a),{});if(o&&(!i||!r.find(a=>a==="id"))){const a=o.toLowerCase().replace(/-/g,"_");l.id=`${a}_${Math.random().toString().slice(2,6)}`}return l}function Lo(e){const{properties:t,title:o,required:r}=e;if(r&&Array.isArray(r)){const i=r.reduce((l,a)=>(l[a]=t[a].type==="object"&&t[a].properties?Vt(t[a]):Me.cloneDeep(t[a].default),l),{});if(o&&r.find(l=>l==="id")){const l=o.toLowerCase().replace(/-/g,"_");i.id=`${l}_${Math.random().toString().slice(2,6)}`}return i}return{type:o}}function Gt(e,t={},o){const r=At[e];if(r){let i=Lo(r);const l=zt[e];return i=l?l({getSchemaByType:Gt},i,t,o):i,i}return null}function Wo(e,t){const o=Vt(t);return Object.keys(o).reduce((r,i)=>(Object.prototype.hasOwnProperty.call(e,i)&&(r[i]&&Me.isPlainObject(r[i])&&Me.isPlainObject(e[i]||!e[i])?Object.assign(r[i],e[i]||{}):r[i]=e[i]),r),o),o}function Ut(e,t){return Object.keys(e).filter(r=>e[r]!=null).reduce((r,i)=>{if(t.has(i)){const l=t.get(i);if(typeof l=="string")r[l]=e[i];else{const a=l(i,e[i],e);Object.assign(r,a)}}else r[i]=e[i];return r},{})}function Ho(e,t,o=new Map){const r=Wo(e,t);return Ut(r,o)}function qo(e={}){function t(m,d,c,p){if(typeof c=="number")return p[m].length===c;if(typeof c=="object"){const v=Object.keys(c)[0],C=c[v];if(v==="not")return Number(p[m].length)!==Number(C);if(v==="moreThan")return Number(p[m].length)>=Number(C);if(v==="lessThan")return Number(p[m].length)<=Number(C)}return!1}function o(m,d,c,p){return p[m]&&p[m].propertyValue&&String(p[m].propertyValue.value)===String(c)}const r=new Map([["length",t],["getProperty",o]]);Object.keys(e).reduce((m,d)=>(m.set(d,e[d]),m),r);function i(m,d){const c=m;return typeof d=="number"?[{target:c,operator:"length",param:null,value:Number(d)}]:typeof d=="boolean"?[{target:c,operator:"getProperty",param:m,value:!!d}]:typeof d=="object"?Object.keys(d).map(p=>{if(p==="length")return{target:c,operator:"length",param:null,value:d[p]};const v=p,C=d[p];return{target:c,operator:"getProperty",param:v,value:C}}):[]}function l(m){return Object.keys(m).reduce((c,p)=>{const v=i(p,m[p]);return c.push(...v),c},[])}function a(m,d){if(r.has(m.operator)){const c=r.get(m.operator);return c&&c(m.target,m.param,m.value,d)||!1}return!1}function s(m,d){return l(m).reduce((v,C)=>v&&a(C,d),!0)}function u(m,d){const c=Object.keys(m),p=c.includes("allOf"),v=c.includes("anyOf"),C=p||v,h=(C?m[C?p?"allOf":"anyOf":"allOf"]:[m]).map(F=>s(F,d));return p?!h.includes(!1):h.includes(!0)}return{parseValueSchema:u}}const ae={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:"标签页工具栏按钮"},"time-picker":{type:"time-picker",name:"时间选择"},section:{type:"section",name:"分组面板"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传"},"page-header":{type:"page-header",name:"页头"},"page-footer":{type:"page-footer",name:"页脚"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏"},fieldset:{type:"fieldset",name:"分组"},"query-solution":{type:"query-solution",name:"筛选方案"},drawer:{type:"drawer",name:"抽屉"}},Ao={},zo={};qo();function ot(e,t,o=new Map,r=(a,s,u,m)=>s,i={},l=a=>a){return At[t.title]=t,zt[t.title]=r,Ao[t.title]=i,zo[t.title]=l,(a={},s=!0)=>{if(!s)return Ut(a,o);const u=Ho(a,t,o),m=Object.keys(e).reduce((d,c)=>(d[c]=e[c].default,d),{});return Object.assign(m,u)}}function gt(e,t){return{customClass:t.class,customStyle:t.style}}function Go(){function e(t,o){const{dataSource:r}=t||{};return r===void 0?{}:{}}return{resolve:e}}function Uo(){function e(t,o){return t.selectItemById(o)}return{selectItemById:e}}function Yo(){function e(t,o){const{columns:r}=o;return t.updateColumns(r)}return{updateColumns:e}}const Xo=new Map([["appearance",Pt.resolveAppearance]]);function Ko(e,t,o){return t}const Qo={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-edit.schema.json",title:"button-edit",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"button-edit"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},forcePlaceholder:{description:"",type:"boolean",default:!1},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},autoComplete:{description:"",type:"boolean",default:!1},buttonContent:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["text","tag"],default:"text"},multiSelect:{description:"",type:"boolean",default:!1},popup:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},popupClass:{description:"",type:"sting",default:""},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},Jo={title:"buttonEdit",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中"},{value:"right",name:"右对齐"}]}}}}}},Yt={id:String,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: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"},preventScroll:{type:Boolean,default:!1}};ot(Yt,Qo,Xo,Ko,Jo);const Zo={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},er=n.defineComponent({name:"FOverlay",props:Zo,emits:["click"],setup(e,t){const o=n.ref(e.popupContentPosition),r=n.ref(e.host),i=n.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function l(s){t.emit("click"),s.preventDefault(),s.stopPropagation()}n.computed(()=>{const s=r.value;if(s){const u=s.getBoundingClientRect(),{left:m,top:d,height:c}=u;return{left:m,top:d+c}}return o.value});const a=n.computed(()=>({}));return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>{var s,u;return[n.createVNode("div",{class:"overlay-container",onClick:m=>l(m),style:i.value},[n.createVNode("div",{style:a.value},[(u=(s=t.slots).default)==null?void 0:u.call(s)])])]}})}});function tr(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function nr(e){const t=document.createElement("div");t.style.display="contents";let o;const r=e.onClickCallback||(()=>{}),i=()=>{r(),o&&o.unmount()};return o=n.createApp({setup(){n.onUnmounted(()=>{document.body.removeChild(t)});const l=tr(e);return()=>n.createVNode(er,{"popup-content-position":e.popupPosition,host:e.host,onClick:i,backgroundColor:e.backgroundColor},{default:()=>[l&&l()]})}}),document.body.appendChild(t),o.mount(t),o}class or{static show(t){return nr(t)}}const rr={class:{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},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""},footerHeight:{type:Number,default:60}};class Oe{constructor(t,o){this.x=t,this.y=o}static getTransformInfo(t){const r=window.getComputedStyle(t).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(r.length>=6){const i=parseInt(r[4],10),l=parseInt(r[5],10);return{x:i,y:l}}return{x:0,y:0}}static fromEvent(t,o=null){if(this.isMouseEvent(t))return new Oe(t.clientX,t.clientY);if(o===null||t.changedTouches.length===1)return new Oe(t.changedTouches[0].clientX,t.changedTouches[0].clientY);for(let r=0;r<t.changedTouches.length;r++)if(t.changedTouches[r].target===o)return new Oe(t.changedTouches[r].clientX,t.changedTouches[r].clientY)}static isMouseEvent(t){return Object.prototype.toString.apply(t).indexOf("MouseEvent")===8}static isIPosition(t){return!!t&&"x"in t&&"y"in t}static getCurrent(t){const o=new Oe(0,0);if(window){const r=window.getComputedStyle(t);if(r){const i=parseInt(r.getPropertyValue("left"),10),l=parseInt(r.getPropertyValue("top"),10);o.x=isNaN(i)?0:i,o.y=isNaN(l)?0:l}return o}return null}static copy(t){return new Oe(0,0).set(t)}get value(){return{x:this.x,y:this.y}}add(t){return this.x+=t.x,this.y+=t.y,this}subtract(t){return this.x-=t.x,this.y-=t.y,this}multiply(t){this.x*=t,this.y*=t}divide(t){this.x/=t,this.y/=t}reset(){return this.x=0,this.y=0,this}set(t){return this.x=t.x,this.y=t.y,this}}class ct{constructor(t,o){this.width=t,this.height=o}static getCurrent(t){const o=new ct(0,0);if(window){const r=window.getComputedStyle(t);return r&&(o.width=parseInt(r.getPropertyValue("width"),10),o.height=parseInt(r.getPropertyValue("height"),10)),o}return null}static copy(t){return new ct(0,0).set(t)}set(t){return this.width=t.width,this.height=t.height,this}}function ir(e,t){const o=n.ref(),r=n.ref(),i=n.ref(),l=n.ref(),a=n.ref(),s=n.ref(),u=n.ref(),m=n.ref(),d=n.ref(),c=n.ref(),p=n.ref(),v=n.ref(),C=n.ref(e.draggable),j=n.ref(!1);function _(){const N=r.value||document.body,I=window.getComputedStyle(N);if(!I||!o.value)return;const L=Oe.getTransformInfo(o.value),Y={};u.value&&(Y.deltaL=o.value.offsetLeft-u.value.x,Y.deltaT=o.value.offsetTop-u.value.y);const ne=I.getPropertyValue("position");Y.width=N.clientWidth,Y.height=N.clientHeight,Y.pr=parseInt(I.getPropertyValue("padding-right"),10),Y.pb=parseInt(I.getPropertyValue("padding-bottom"),10),Y.position=I.getPropertyValue("position"),ne==="static"&&(N.style.position="relative"),Y.translateX=L.x,Y.translateY=L.y,c.value=Y}function h(N){if(o.value){l.value=ct.getCurrent(o.value),a.value=Oe.getCurrent(o.value),s.value=l.value?ct.copy(l.value):null,u.value=a.value?Oe.copy(a.value):null,_();const I=N.target.getAttribute("type")||"";m.value={n:!!I.match(/n/),s:!!I.match(/s/),w:!!I.match(/w/),e:!!I.match(/e/)}}}function y(){var N,I,L,Y;if(o.value){const ne=o.value;m.value&&((m.value.n||m.value.s)&&((N=s.value)!=null&&N.height)&&(ne.style.height=s.value.height+"px"),(m.value.w||m.value.e)&&((I=s.value)!=null&&I.width)&&(ne.style.width=s.value.width+"px"),u.value&&((L=u.value)!=null&&L.x&&(ne.style.left=u.value.x+"px"),(Y=u.value)!=null&&Y.y&&(ne.style.top=u.value.y+"px")))}}function F(){const N=e.minHeight?e.minHeight:1,I=e.minWidth?e.minWidth:1;s.value&&u.value&&m.value&&l.value&&(s.value.height<N&&(s.value.height=N,m.value.n&&a.value&&(u.value.y=a.value.y+(l.value.height-N))),s.value.width<I&&(s.value.width=I,m.value.w&&a.value&&(u.value.x=a.value.x+(l.value.width-I))),e.maxHeight&&s.value.height>e.maxHeight&&(s.value.height=e.maxHeight,a.value&&m.value.n&&(u.value.y=a.value.y+(l.value.height-e.maxHeight))),e.maxWidth&&s.value.width>e.maxWidth&&(s.value.width=e.maxWidth,m.value.w&&a.value&&(u.value.x=a.value.x+(l.value.width-e.maxWidth))))}function g(){if(r.value){const N=c.value;if(u.value&&s.value&&m.value&&l.value){const I=N.width-N.pr-N.deltaL-N.translateX-u.value.x,L=N.height-N.pb-N.deltaT-N.translateY-u.value.y;m.value.n&&u.value.y+N.translateY<0&&a.value&&(u.value.y=-N.translateY,s.value.height=l.value.height+a.value.y+N.translateY),m.value.w&&u.value.x+N.translateX<0&&a.value&&(u.value.x=-N.translateX,s.value.width=l.value.width+a.value.x+N.translateX),s.value.width>I&&(s.value.width=I),s.value.height>L&&(s.value.height=L)}}}function T(N){if(!i.value||!l.value||!a.value||!m.value)return;N.subtract(i.value);const I=N.x,L=N.y;m.value.n?(u.value.y=a.value.y+L,s.value.height=l.value.height-L):m.value.s&&(s.value.height=l.value.height+L),m.value.e?s.value.width=l.value.width+I:m.value.w&&(s.value.width=l.value.width-I,u.value.x=a.value.x+I),g(),F(),y()}function k(N){if(!d.value)return;const I=Oe.fromEvent(N);I&&T(I)}function f(){if(o.value){const{width:N,height:I,x:L,y:Y}=o.value.getBoundingClientRect(),ne=Oe.getTransformInfo(o.value);return{size:{width:N,height:I},position:{x:L-ne.x,y:Y-ne.y}}}return null}function x(N){if(o.value){const I=f();p.value=I}i.value=void 0,l.value=null,a.value=null,s.value=null,u.value=null,m.value=null,d.value=null,document.removeEventListener("mousemove",k),document.removeEventListener("mouseup",x)}function S(){document.addEventListener("mousemove",k),document.addEventListener("mouseup",x)}function w(N){N instanceof MouseEvent&&N.button===2||C.value&&(document.body.click(),N.stopPropagation(),N.preventDefault(),i.value=Oe.fromEvent(N),d.value=N.target,h(N),S())}function b(N){return o.value=N,n.createVNode(n.Fragment,null,[n.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:I=>w(I)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:I=>w(I)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:I=>w(I)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:I=>w(I)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:I=>w(I)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:I=>w(I)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:I=>w(I)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:I=>w(I)},null)])}function M(N=!0){document.body.click();const I=r.value||document.body,L=ct.getCurrent(I),Y=o.value;N&&Y&&(v.value=f(),v.value.transform=Y.style.transform),L&&Y&&(s.value=L,Y.style.height=s.value.height-14+"px",Y.style.width=s.value.width-14+"px",Y.style.left="7px",Y.style.top="7px",Y.style.transform="",p.value={size:s.value,position:{x:0,y:0}},C.value=!1,j.value=!0)}function B(){var N,I;if(document.body.click(),v.value){const L={width:v.value.size.width||0,height:v.value.size.height||0},Y={x:(window.innerWidth-L.width)/2,y:(window.innerHeight-L.height)/2};(N=s.value)==null||N.set(L),(I=u.value)==null||I.set(Y);const ne=o.value;ne.style.height=L.height+"px",ne.style.width=L.width+"px",ne.style.left=`${Y.x}px`,ne.style.top=`${Y.y}px`,ne.style.transform="",p.value={size:L,position:Y},C.value=e.draggable,j.value=!1}}function E(){if(o.value){const N=ct.getCurrent(o.value);if(N){const{width:I,height:L}=N;o.value.style.left=`${(window.innerWidth-I)/2}px`,o.value.style.top=`${(window.innerHeight-L)/2}px`,o.value.style.transform=""}}}function V(){const N=()=>{j.value?M(!1):E(),document.body.click()};return window.addEventListener("resize",N),()=>{window.removeEventListener("resize",N)}}const O=V();return{renderResizeBar:b,boundingElement:r,resizedEventParam:p,maximize:M,restore:B,allowDrag:C,isMaximized:j,unWindowResizeHandle:O}}function ar(e,t,o){const r=n.ref(),i=n.ref(e.draggable),l=n.ref(e.lockAxis),a=n.ref(),s=n.ref(),u=n.ref(!1),m=n.ref(new Oe(0,0)),d=n.ref(new Oe(0,0)),c=n.ref(new Oe(0,0)),p=n.ref(new Oe(0,0));n.watch(()=>o.value,f=>{a.value.style.cursor=f?"move":"default"});function v(f,x){if(x.tagName==="BUTTON")return!1;if(x===f)return!0;for(const S in x.children)if(Object.prototype.hasOwnProperty.call(x.children,S)&&v(f,x.children[S]))return!0;return!1}function C(){var w,b;let f=c.value.x+d.value.x,x=c.value.y+d.value.y;l.value==="x"?(f=((w=m.value)==null?void 0:w.x)||0,c.value.x=0):l.value==="y"&&(x=((b=m.value)==null?void 0:b.y)||0,c.value.y=0);const S=`translate3d(${Math.round(f)}px, ${Math.round(x)}px, 0px)`;r.value&&(r.value.style.transform=S),p.value.x=f,p.value.y=x}function j(){if(!s.value||!r.value)return null;const f=s.value.getBoundingClientRect(),x=r.value.getBoundingClientRect(),S={top:f.top<x.top,right:f.right>x.right,bottom:f.bottom>x.bottom,left:f.left<x.left};return S.top||(c.value.y-=x.top-f.top),S.bottom||(c.value.y-=x.bottom-f.bottom),S.right||(c.value.x-=x.right-f.right),S.left||(c.value.x-=x.left-f.left),C(),S}function _(f){f&&(m.value&&f.subtract(m.value),c.value.set(f),C(),j())}function h(f){u.value&&i.value&&(f.stopPropagation(),f.preventDefault(),_(Oe.fromEvent(f,a.value)))}function y(){var f;u.value&&(u.value=!1,d.value.add(c.value),c.value.reset(),(f=r.value)==null||f.classList.remove("ng-dragging"),document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",y))}function F(){!u.value&&a.value&&(u.value=!0,a.value.classList.add("ng-dragging"),document.addEventListener("mousemove",h),document.addEventListener("mouseup",y))}function g(){if(r.value){const f=Oe.getTransformInfo(r.value);d.value.set(f);return}d.value.reset()}function T(f){if(!o.value||f instanceof MouseEvent&&f.button===2)return;const x=f.target||f.srcElement;a.value!==void 0&&x&&!v(x,a.value)||i.value!==!1&&(document.body.click(),f.stopPropagation(),f.preventDefault(),m.value=Oe.fromEvent(f,r.value),g(),F())}function k(f,x,S){if(i.value&&x){if(f)a.value=f;else if(e.dragHandle){if(e.dragHandle instanceof HTMLElement)a.value=e.dragHandle;else if(typeof e.dragHandle=="string"){const w=x.querySelector(e.dragHandle);w&&(a.value=w)}}r.value=x,s.value=S,a.value?(a.value.classList.add("ng-draggable"),a.value.addEventListener("mousedown",T)):i.value=!1}}return{registerDraggle:k,resetTranslate:g}}function Xt(e,t){if(e){const o=r=>{r.key.toLowerCase()===e.toLowerCase()&&t({event:r,key:e})};return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}}}function lr(e,t){const o=n.ref(e.enableEsc);let r=null;return o.value?(r=Xt("Escape",i=>{t.emit("esc",{event:i.event,type:"esc"})}),{remove:r}):null}function sr(e,t){const o=n.ref(e.enableEnter);let r=null;return o.value?(r=Xt("Enter",i=>{t.emit("enter",{event:i.event,type:"enter"})}),{remove:r}):null}const ft=n.defineComponent({name:"FModal",props:rr,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter"],setup(e,t){const o=n.ref(e.width||300),r=n.ref(e.height||200),i=n.ref(e.modelValue),l=n.ref(""),a=n.ref(e.class),s=n.ref(e.fitContent),u=n.ref(e.showHeader),m=n.ref(""),d=n.ref(e.showCloseButton),c=n.ref(e.showMaxButton),p=n.ref(!1),v=n.ref(e.dialogType),C=n.ref(e.src),j=n.ref(""),_=n.ref(e.showButtons),h=n.ref(e.title),y=n.ref(e.resizeable),F=n.ref(e.containment||null),g=n.ref(),T=n.ref(!1);function k(te,ve){i.value=!1,t.emit("update:modelValue",!1),ve!=null&&t.emit(ve?"accept":"cancel"),t.emit("closed",te)}const f=[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:te=>{k(te,!1)}},{name:"accept",text:"确定",class:"btn btn-primary",handle:te=>{k(te,!0)}}],x=n.ref(e.buttons&&e.buttons.length?e.buttons:f),S=n.computed(()=>!!m.value),w=n.computed(()=>!!_.value&&!!x.value),b=n.ref(),M=n.ref(),B=n.ref(!1),{renderResizeBar:E,maximize:V,restore:O,boundingElement:N,resizedEventParam:I,allowDrag:L,unWindowResizeHandle:Y}=ir(e),{registerDraggle:ne}=ar(e,t,L);function Z(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function fe(){const te=document.querySelectorAll(".farris-modal").length;(!te||te-1<=0)&&document.body.classList.remove("modal-open"),g.value&&g.value.classList.remove("show")}n.watch(()=>e.title,(te,ve)=>{te!==ve&&(h.value=te)}),n.watch(()=>e.modelValue,(te,ve)=>{te!==ve&&(i.value=te,te||fe()),i.value&&(T.value=Z())}),n.watch(()=>e.showHeader,(te,ve)=>{te!==ve&&(u.value=te)}),n.watch(()=>e.showButtons,(te,ve)=>{te!==ve&&(_.value=te)}),n.watch(()=>I.value,(te,ve)=>{const Ne=te||{},je=ve||{};JSON.stringify(Ne)!==JSON.stringify(je)&&t.emit("resize",{newSize:te,oldSize:ve})});const P=n.computed(()=>(i.value&&document.body.classList.add("modal-open"),i.value)),R=n.computed(()=>{const te={modal:!0,"farris-modal":!0,fade:!0};return te["f-modal-fitContent"]=!!s.value,te.show=!!P.value,te}),W=n.computed(()=>{var Ne;const te={"modal-dialog":!0},ve=(Ne=a.value)==null?void 0:Ne.split(" ");return ve==null||ve.reduce((je,Ve)=>(je[Ve]=!0,je),te),te}),z=n.computed(()=>({position:"absolute",top:`${(window.innerHeight-r.value)/2}px`,left:`${(window.innerWidth-o.value)/2}px`,width:`${o.value}px`,height:s.value?"auto":`${r.value}px`})),K=n.computed(()=>({"modal-content":!0,"modal-content-has-header":u.value})),G=n.computed(()=>{const te={display:u.value?"":"none"};return te["pointer-events"]=L.value?"auto":"none",te}),D=n.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:B.value})),q=n.computed(()=>({"modal-body":!0,"f-utils-flex-column":v.value==="iframe","f-utils-fill":!0}));function re(){return{height:`${e.footerHeight||60}px`}}const Q=n.computed(()=>{const te={textAlgin:j.value},ve=re();return Object.assign(te,ve)});function J(te){if(te.stopPropagation(),B.value){B.value=!1,O();return}V(),B.value=!0}async function _e(te,ve){te.handle&&await te.handle(ve,te)&&t.emit("closed",ve)}function Te(te){te.width&&(o.value=te.width),te.height&&(r.value=te.height),te.buttons&&(x.value=te.buttons),te.title&&(h.value=te.title)}const Se=n.computed(()=>{const te={display:"inline-block"};return T.value&&(te["background-color"]="transparent"),te});let We=null,De=null;n.onBeforeMount(()=>{T.value=Z()}),n.onMounted(()=>{M.value&&!F.value&&(F.value=M.value.parentElement,N.value=F.value,ne(b.value,M.value,N.value)),P.value&&document.body.classList.add("modal-open"),We=lr(e,t),De=sr(e,t)}),n.onUnmounted(()=>{Y&&Y(),We&&We.remove(),De&&De.remove()}),t.expose({modalElementRef:M,updateModalOptions:Te,close:k,maxDialog:J});function Be(){return n.createVNode("ul",null,[p.value&&n.createVNode("li",{class:"f-btn-icon f-bare"},[n.createVNode("span",{class:"f-icon modal_minimize"},null)]),c.value&&n.createVNode("li",{onClick:J,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[n.createVNode("span",{class:D.value},null)]),d.value&&n.createVNode("li",{class:"f-btn-icon f-bare",onClick:te=>k(te,!1),style:"pointer-events: auto;"},[n.createVNode("span",{class:"f-icon modal_close"},null)])])}function ze(){return n.createVNode("div",{class:"modal-footer",style:Q.value},[x.value&&x.value.map(te=>n.createVNode("button",{name:te.name,type:"button",class:te.class+(te.iconClass?" btn-icontext":""),onClick:ve=>{_e(te,ve)}},[!!te.iconClass&&n.createVNode("i",{class:te.iconClass},null),te.text]))])}function qe(){return n.createVNode("div",{ref:b,class:"modal-header",style:G.value},[n.createVNode("div",{class:"modal-title"},[S.value&&n.createVNode("span",{class:m.value,style:"margin-right: 8px"},null),n.createVNode("span",{class:"modal-title-label"},[h.value])]),n.createVNode("div",{class:"actions"},[Be()])])}function rt(te){te.stopPropagation()}return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>[P.value&&n.createVNode(n.Transition,{name:"fade",appear:!0},{default:()=>{var te,ve;return[n.createVNode("div",{class:R.value,style:Se.value,ref:g,onClick:rt},[n.createVNode("div",{id:l.value,class:W.value,style:z.value,ref:M},[n.createVNode("div",{class:K.value},[u.value&&qe(),n.createVNode("div",{class:q.value},[(ve=(te=t.slots).default)==null?void 0:ve.call(te),v.value==="iframe"&&n.createVNode("iframe",{title:l.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:C.value},null)]),w.value&&ze()]),!s.value&&y.value&&M.value&&!B.value&&E(M.value)])])]}})]})}});function Kt(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function ur(e){const t=document.createElement("div");t.style.display="contents";const o=n.createApp({setup(r,i){n.onUnmounted(()=>{document.body.removeChild(t)});const l=n.ref(),a=n.ref(e.class||""),s=n.ref(!!e.showButtons),u=n.ref(!!e.showHeader),m=n.ref(e.showCloseButton==null?!0:e.showCloseButton),d=n.ref(!0),c=n.ref(e.title||""),p=e.acceptCallback||(()=>{}),v=e.rejectCallback||(()=>{}),C=e.closedCallback||(y=>{}),j=e.resizeHandle||(y=>{}),_=Kt(e),h=y=>{d.value=!1,o.unmount(),C(y)};return n.onMounted(()=>{}),i.expose({modalRef:l}),()=>n.createVNode(ft,{ref:l,class:a.value,modelValue:d.value,"onUpdate:modelValue":y=>d.value=y,title:c.value,width:e.width,height:e.height,buttons:e.buttons,"show-header":u.value,"show-buttons":s.value,"show-close-button":m.value,"show-max-button":!1,onAccept:p,onCancel:v,fitContent:e.fitContent==null?!0:e.fitContent,onClosed:h,onResize:j},{default:()=>[_&&_(o)]})}});return document.body.appendChild(t),o.mount(t),o}class Qt{constructor(t){ee(this,"appContext",null);ee(this,"modalRef",n.ref());ee(this,"activeModalIndex",n.ref(0));ee(this,"modalRefs",{});ee(this,"isUseEscCloseModal",n.ref(!1));ee(this,"activeModalInstance",n.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=t,this.appContext=t?t._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(t,o){const{width:r,height:i}={width:window.innerWidth,height:window.innerHeight};return r<t&&(t=r),i<o&&(o=i),{width:t,height:o}}static show(t){const o=Object.assign({title:"",showButtons:!0,showHeader:!0},t);return ur(o)}close(t){var o,r;t?(r=t.value)==null||r.close():(o=this.getCurrentModal())==null||o.close()}open(t){const o=document.createDocumentFragment();t.showMaxButton&&t.fitContent&&(t.showMaxButton=!1);const r=n.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},t)),i=n.ref(!0),l=r.value.acceptCallback||(()=>{}),a=r.value.rejectCallback||(()=>{}),s=r.value.closedCallback||((g,T)=>{}),u=r.value.resizeHandle||(g=>{});let m;const d=Kt(r.value),c=g=>{var k;i.value=!1;const T=(k=g==null?void 0:g.target)==null?void 0:k.classList.contains("modal_close");s(g,this.isUseEscCloseModal.value?"esc":T?"icon":"button")},p=g=>{c(g),m&&n.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],n.render(null,o),m=null,this.modalRef.value=null,this.modalRefs){const T=Object.keys(this.modalRefs).map(k=>Number(k));T.length>0?this.activeModalIndex.value=Math.max(...T):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},v=g=>{var T;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((T=this.activeModalInstance.value)==null||T.close(g==null?void 0:g.event))},{width:C,height:j}=r.value,_=this.adaptToWindow(C||500,j||320);Object.assign(r.value,_);const h=()=>n.createVNode(ft,n.mergeProps({ref:this.modalRef,modelValue:i.value,"onUpdate:modelValue":g=>i.value=g},r.value,{onAccept:l,onCancel:a,onClosed:p,onResize:u,onEsc:v}),{default:()=>[d&&d(this.app)]});return m=(g=>{const T=n.h(h,g);return T.appContext=this.appContext,n.render(T,o),T})({...r.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:g=>{r.value={...r.value,...g},m&&n.render(n.cloneVNode(m,{...r}),o)},destroy:p,modalRef:this.activeModalInstance,close:this.close}}}const Jt=Symbol("FModalService");ft.install=e=>{e.component(ft.name,ft);const t=new Qt(e);e.provide(Jt,t),e.provide("FModalService",t)};function Zt(e,t){function o(){const r=e.beforeOpen||e.beforeClickButton||null;let i=Promise.resolve(!0);if(r){const l=r(t.value);if(typeof l>"u")return i;typeof l=="boolean"?i=Promise.resolve(l):i=l}return i}return{judgeCanOpen:o}}function cr(e,t,o,r,i){const l=n.ref(e.buttonBehavior),a=n.ref(e.popupOnInput),s=n.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:u}=Zt(e,i),m=n.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),d=n.inject(Jt,null),c=n.ref();async function p(j){if(await u()&&m.value){const _=!!t.slots.default;if(l.value==="Modal"){const h=e.modalOptions,y=d==null?void 0:d.open({...h,render:()=>t.slots.default&&t.slots.default()});c.value=y==null?void 0:y.modalRef}l.value==="Overlay"&&or.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>t.slots.default&&t.slots.default()}),_&&l.value==="Popup"&&r.togglePopup(!0),_&&a.value&&r.hidePopup(),t.emit("clickButton",{origin:j,value:e.modelValue})}}function v(j){t.emit("mouseEnterIcon",j)}function C(j){t.emit("mouseLeaveIcon",j)}return{buttonGroupClass:s,onClickButton:p,onMouseEnterButton:v,onMouseLeaveButton:C,modalRef:c}}function dr(e,t,o,r,i,l){const a=n.ref(!1),s=n.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:u,hasClearClass:m}=l;function d(C){a.value=C,m.value=C}n.watch(i,()=>{d(!!i.value)});function c(C){const j=!e.readonly&&!e.disable&&e.editable,_=!e.editable;C.stopPropagation(),(j||_)&&(u(""),d(!a.value),t.emit("clear"))}function p(C){if(s.value){if(!o.value){d(!1);return}!e.disable&&!e.readonly&&d(!0)}}function v(C){s.value&&d(!1)}return{enableClearButton:s,showClearButton:a,onClearValue:c,onMouseEnterTextBox:p,onMouseLeaveTextBox:v}}function fr(e,t,o,r,i){const l=n.computed(()=>e.popupOnInput),a=n.computed(()=>e.popupOnFocus),{shouldPopupContent:s}=i,u=n.ref(!1),m=n.computed(()=>e.enableTitle?o.value:""),d=n.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),c=n.computed(()=>e.readonly||!e.editable),p=n.ref(!1),v=n.computed(()=>!e.disable&&p.value),C=n.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),j=n.computed(()=>({"input-group":!0,"f-state-disabled":e.disable,"f-state-editable":e.editable&&!e.disable&&!e.readonly,"f-state-readonly":e.readonly&&!e.disable,"f-state-focus":v.value,"input-group--has-clear":u.value}));function _(w,b=!0){o.value=w,b&&(t.emit("change",w),t.emit("update:modelValue",w))}function h(w){s.value=!1,_(w,!0)}n.watch(()=>e.modelValue,w=>{o.value=w});function y(w){p.value=!1,t.emit("blur",w),w.stopPropagation()}function F(w){t.emit("click",w),!e.disable&&!e.readonly&&e.popupOnClick&&(i.togglePopup(),document.body.click())}function g(w){e.disable||(p.value=!0,c.value||(t.emit("focus",w),a.value&&!s.value&&i.popup()))}function T(w){t.emit("input",w.target.value);const b=w.target.value;r.value=b,o.value!==b&&_(b,e.updateOn==="change"),l.value&&!s.value&&i.popup()}function k(w){w.target.tagName!=="INPUT"&&w.preventDefault(),w.stopPropagation()}function f(w){t.emit("keydown",w)}function x(w){w.key==="Enter"&&(l.value||a.value)&&i.hidePopup(),t.emit("keyup",w)}function S(w){const b=w.target.value;w.stopPropagation(),_(b)}return{hasFocusedTextBox:v,isTextBoxReadonly:c,textBoxClass:C,textBoxPlaceholder:d,textBoxTitle:m,inputGroupClass:j,hasClearClass:u,changeTextBoxValue:_,commitValue:h,onBlurTextBox:y,onClickTextBox:F,onFocusTextBox:g,onInput:T,onKeyDownTextBox:f,onKeyUpTextBox:x,onMouseDownTextBox:k,onTextBoxValueChange:S}}function pr(e,t,o,r){const i=n.ref(),l=n.ref(!1),{judgeCanOpen:a}=Zt(e,r);function s(){const p=i.value;p&&p.show(o.value)}async function u(p=!1){if(!!t.slots.default){if(!p&&!l.value&&!await a())return;l.value=!l.value,await n.nextTick(),s()}}async function m(p=!1){if(!!t.slots.default){if(!p&&!await a())return;l.value=!0,await n.nextTick(),s()}}function d(){l.value=!1}function c(){l.value=!0,n.nextTick(()=>{s()})}return{hidePopup:d,showPopup:c,popup:m,shouldPopupContent:l,togglePopup:u,popoverRef:i}}function mr(e,t,o){const r=n.ref(),{isTextBoxReadonly:i,textBoxClass:l,textBoxPlaceholder:a,textBoxTitle:s,onBlurTextBox:u,onClickTextBox:m,onFocusTextBox:d,onInput:c,onKeyDownTextBox:p,onKeyUpTextBox:v,onMouseDownTextBox:C,onTextBoxValueChange:j}=o;return n.onMounted(()=>{var _,h;e.selectOnCreated&&((_=r.value)==null||_.select()),e.focusOnCreated&&((h=r.value)==null||h.focus({preventScroll:e.preventScroll}))}),()=>n.createVNode("input",{ref:r,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:l.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:a.value,readonly:i.value,tabindex:e.tabIndex,title:s.value,type:e.inputType,value:t.value,onBlur:u,onChange:j,onClick:m,onFocus:d,onInput:c,onKeydown:p,onKeyup:v,onMousedown:C},null)}function hr(e,t,o){const r=n.ref(e.separator),{changeTextBoxValue:i}=o,l=n.computed(()=>t.value?t.value.split(r.value).map(s=>({name:s,selectable:!0})):[]);function a(s){i(s.map(u=>u.name).join(r.value),!0)}return()=>n.createVNode(Lt,{id:`${e.id}-tag-editor`,class:"form-control",data:l.value,showClose:!0,showInput:!0,onChange:a},null)}function gr(e,t,o,r){const{buttonGroupClass:i,onClickButton:l,onMouseEnterButton:a,onMouseLeaveButton:s}=o,{enableClearButton:u,showClearButton:m,onClearValue:d}=r,c=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:i.value},[u.value&&n.withDirectives(n.createVNode("span",{class:"input-group-text input-group-clear",onClick:d},[n.createVNode("i",{class:"f-icon modal_close"},null)]),[[n.vShow,m.value]]),t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",onClick:l,onMouseenter:a,onMouseleave:s},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:c,onClick:l,onMouseenter:a,onMouseleave:s},null):null]),buttonHandleElement:c}}function yr(e,t,o){const r=n.ref(e.popupMinWidth),{hidePopup:i,popoverRef:l}=o;return()=>n.createVNode(On,{id:`${e.id}-popover`,ref:l,visible:!0,placement:e.placement,host:e.popupHost,"keep-width-with-reference":e.keepWidthWithReference,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:r.value,class:e.popupClass,offsetX:e.popupOffsetX,onHidden:i},{default:()=>{var a,s;return[(s=(a=t.slots).default)==null?void 0:s.call(a)]}})}const vr=n.defineComponent({name:"FButtonEdit",props:Yt,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const o=n.ref(),r=n.ref(e.customClass),i=n.ref(e.modelValue),l=pr(e,t,o,i),{shouldPopupContent:a,hidePopup:s,showPopup:u,togglePopup:m}=l,d=cr(e,t,o,l,i),c=n.ref(""),p=fr(e,t,i,c,l),{hasFocusedTextBox:v,commitValue:C,inputGroupClass:j}=p,_=dr(e,t,i,v,c,p),{onMouseEnterTextBox:h,onMouseLeaveTextBox:y}=_,F=n.computed(()=>{const w={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return r.value&&r.value.split(" ").reduce((b,M)=>(b[M]=!0,b),w),w});function g(){return e.multiSelect&&e.inputType==="tag"?hr(e,i,p):mr(e,i,p)}let T=g();n.watch([()=>e.multiSelect,()=>e.inputType],()=>{T=g()});const{renderButtonGroup:k,buttonHandleElement:f}=gr(e,t,d,_),x=yr(e,t,l),S={commitValue:C,elementRef:o,hidePopup:s,showPopup:u,popoverRef:l.popoverRef,shouldPopupContent:a,togglePopup:m,openDialog:()=>{f.value&&e.buttonBehavior==="Modal"&&f.value.click()},getModal:()=>{var w;return e.buttonBehavior==="Modal"?(w=d.modalRef.value)==null?void 0:w.value:null}};return n.onMounted(()=>{o.value.componentInstance=S,window.onresize=()=>{document.body.click()}}),t.expose(S),()=>n.createVNode(n.Fragment,null,[n.createVNode("div",n.mergeProps(t.attrs,{ref:o,class:F.value,id:e.id}),[n.createVNode("div",{id:`${e.id}-input-group`,class:j.value,onMouseenter:h,onMouseleave:y},[T(),k()])]),a.value&&x()])}}),br={$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:"false"},readonly:{description:"",type:"boolean",default:"false"},modelValue:{description:"",type:"object",default:null},data:{description:"",type:"array",default:[]},idField:{description:"",type:"string",default:"id"},columns:{description:"",type:"array",default:[]},title:{description:"",type:"string",default:"字段选择器"},modalWidth:{description:"",type:"number",default:800},modalHeight:{description:"",type:"number",default:600},multiSelect:{description:"",type:"boolean",default:!1},separator:{description:"",type:"string",default:","},bindingData:{description:"",type:"array",default:[]},textField:{description:"",type:"string",default:"code"},beforeOpenDialog:{description:"",type:"object",default:null},editorParams:{description:"",type:"object",default:null},onSubmitModal:{description:"",type:"object",default:null},onFieldSelected:{description:"",type:"object",default:null},repositoryToken:{description:"",type:"object",default:null}}},Cr=[{field:"code",title:"绑定字段"},{field:"name",title:"名称"},{field:"fieldType",title:"字段类型"}],wr=Symbol("Field_Selector Component Repository Service Token"),yt={disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},modelValue:{type:[String,Array],default:null},data:{type:Array,default:[]},idField:{type:String,default:"id"},columns:{type:Array,default:Cr},title:{type:String,default:"字段选择器"},modalWidth:{type:Number,default:800},modalHeight:{type:Number,default:600},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},bindingData:{type:Array,default:[]},textField:{type:String,default:"code"},beforeOpenDialog:{type:Function,default:null},editorParams:{type:Object,default:null},onSubmitModal:{type:Function,default:null},onFieldSelected:{type:Function,default:null},repositoryToken:{type:Symbol,default:null}},en=ot(yt,br),tn=new Map([["appearance",gt],["column","columnOption"]]);function xr(e,t,o){var c;const r=o.parentComponentInstance,i=r.schema.type,l=String(((c=r.schema.appearance)==null?void 0:c.class)||"").split(" "),a=i==="section"||i==="tab-page",s=l.includes("f-page-content-nav"),u=l.includes("f-page-main"),m=e.getSchemaByType("component");m.id=`${t.id}-component`,m.componentType="data-grid";let d="";return d+=a?"f-struct-data-grid-in-card f-struct-is-subgrid":"",d+=s?"f-struct-data-grid-in-nav f-struct-wrapper f-utils-fill-flex-column":"",d+=u?"f-struct-data-grid f-struct-wrapper":"",m.appearance={class:d},m.contents=[t],m}function _r(e,t,o){const r=o.parentComponentInstance,i=String(r.schema.appearance.class||"").split(" "),l=i.includes("f-page-content-nav"),a=i.includes("f-page-main"),s=e.getSchemaByType("section");s.id=`${t.id}-section`;let u="";return u+=l?"f-section-in-nav ":"",u+=a?"f-section-in-managelist ":"",u+="f-section-grid",s.appearance={class:u},s.contents=[t],s}function Sr(e,t,o){const r=e.getSchemaByType("content-container");return r.id=`${t.id}-layout`,r.appearance={class:"f-grid-is-sub f-utils-flex-column"},r.contents=[t],r}fun