@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
1 lines • 279 kB
JavaScript
(function(X,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es"),require("../list-view/index.umd.js"),require("../button-edit/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("bignumber.js"),require("../common/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("../tags/index.umd.js"),require("../dynamic-form/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-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("../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("../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","../list-view/index.umd.js","../button-edit/index.umd.js","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","bignumber.js","../common/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","../tags/index.umd.js","../dynamic-form/index.umd.js","../binding-selector/index.umd.js","../notify/index.umd.js","../accordion/index.umd.js","../avatar/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","../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","../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):(X=typeof globalThis<"u"?globalThis:X||self,n(X["property-editor"]={},X.Vue,X.LodashES,X.FListView,X.FButtonEdit,X.dynamicResolver,X.designerCanvas,X.BigNumber,X.common,X.VueUseCore,X.dataView,null,X.FTransfer,X.FTabs,X.FOrder,null,X.FCheckBox,X.FFilterBar,X.FTooltip,X.FPagination,X.FButton,X.FSearchBox,X.FTags,X.FDynamicForm,X.FBindingSelector,null,X.FAccordion,X.FAvatar,X.FButtonGroup,X.FCalendar,X.FCapsule,X.FColorPicker,X.FComboList$1,X.FContentContainer,X.FDataGrid,X.FDatePicker,X.FDropdown,null,X.FEventsEditor,X.FImageCropper,X.FInputGroup$1,X.FLayout,X.FListNav,X.FLookup,X.FNav,X.FNumberSpinner$1,X.FNumberRange,X.FPageHeader,X.FPageFooter,X.FProgress,X.FQuerySolution,X.FRadioGroup,X.FRate,X.FResponseToolbar,X.FResponseLayout,X.FResponseLayoutEditorSetting,X.FSection,X.FSmokeDetector,X.FSplitter,X.FStep,X.FSwitch,X.FText,X.FTimePicker,X.FTreeview,X.FUploader,X.FVerifyDetail,X.FComponent,X.FVideo,X.FTextArea,X.FTreeGrid$1,X.FFieldset,X.FDrawer,X.FComboTree,X.FFieldSelector,X.FMappingEditor,X.FSchemaSelector,X.FEventParameter,X.FFilterConditionEditor,X.FSortConditionEditor,X.FMenuLookup))})(this,function(X,n,pe,Kt,Zt,Jt,yt,ze,xe,Qt,we,Nl,Jn,Qn,eo,kl,en,to,tn,no,oo,ro,ao,Ot,io,Il,lo,so,uo,co,fo,po,Et,mo,ho,go,yo,Ml,vo,bo,Co,wo,xo,So,Vo,vt,_o,To,Fo,No,ko,Io,Mo,Bo,Oo,Eo,jo,$o,Po,Do,Ro,Lo,Ao,Ho,Wo,qo,Go,zo,Uo,Yo,Xo,Ko,Zo,Jo,Qo,er,tr,nr,or,rr){"use strict";var Tl=Object.defineProperty;var Fl=(X,n,pe)=>n in X?Tl(X,n,{enumerable:!0,configurable:!0,writable:!0,value:pe}):X[n]=pe;var G=(X,n,pe)=>Fl(X,typeof n!="symbol"?n+"":n,pe);const nn={},on={};function jt(e){const{properties:t,title:o,ignore:r}=e,a=r&&Array.isArray(r),i=Object.keys(t).reduce((l,u)=>((!a||!r.find(c=>c===u))&&(l[u]=t[u].type==="object"&&t[u].properties?jt(t[u]):pe.cloneDeep(t[u].default)),l),{});if(o&&(!a||!r.find(l=>l==="id"))){const l=o.toLowerCase().replace(/-/g,"_");i.id=`${l}_${Math.random().toString().slice(2,6)}`}return i}function ar(e){const{properties:t,title:o,required:r}=e;if(r&&Array.isArray(r)){const a=r.reduce((i,l)=>(i[l]=t[l].type==="object"&&t[l].properties?jt(t[l]):pe.cloneDeep(t[l].default),i),{});if(o&&r.find(i=>i==="id")){const i=o.toLowerCase().replace(/-/g,"_");a.id=`${i}_${Math.random().toString().slice(2,6)}`}return a}return{type:o}}function rn(e,t={},o){const r=nn[e];if(r){let a=ar(r);const i=on[e];return a=i?i({getSchemaByType:rn},a,t,o):a,a}return null}function ir(e,t){const o=jt(t);return Object.keys(o).reduce((r,a)=>(Object.prototype.hasOwnProperty.call(e,a)&&(r[a]&&pe.isPlainObject(r[a])&&pe.isPlainObject(e[a]||!e[a])?Object.assign(r[a],e[a]||{}):r[a]=e[a]),r),o),o}function an(e,t){return Object.keys(e).filter(r=>e[r]!=null).reduce((r,a)=>{if(t.has(a)){const i=t.get(a);if(typeof i=="string")r[i]=e[a];else{const l=i(a,e[a],e);Object.assign(r,l)}}else r[a]=e[a];return r},{})}function lr(e,t,o=new Map){const r=ir(e,t);return an(r,o)}function sr(e={}){function t(p,f,s,d){if(typeof s=="number")return d[p].length===s;if(typeof s=="object"){const h=Object.keys(s)[0],y=s[h];if(h==="not")return Number(d[p].length)!==Number(y);if(h==="moreThan")return Number(d[p].length)>=Number(y);if(h==="lessThan")return Number(d[p].length)<=Number(y)}return!1}function o(p,f,s,d){return d[p]&&d[p].propertyValue&&String(d[p].propertyValue.value)===String(s)}const r=new Map([["length",t],["getProperty",o]]);Object.keys(e).reduce((p,f)=>(p.set(f,e[f]),p),r);function a(p,f){const s=p;return typeof f=="number"?[{target:s,operator:"length",param:null,value:Number(f)}]:typeof f=="boolean"?[{target:s,operator:"getProperty",param:p,value:!!f}]:typeof f=="object"?Object.keys(f).map(d=>{if(d==="length")return{target:s,operator:"length",param:null,value:f[d]};const h=d,y=f[d];return{target:s,operator:"getProperty",param:h,value:y}}):[]}function i(p){return Object.keys(p).reduce((s,d)=>{const h=a(d,p[d]);return s.push(...h),s},[])}function l(p,f){if(r.has(p.operator)){const s=r.get(p.operator);return s&&s(p.target,p.param,p.value,f)||!1}return!1}function u(p,f){return i(p).reduce((h,y)=>h&&l(y,f),!0)}function c(p,f){const s=Object.keys(p),d=s.includes("allOf"),h=s.includes("anyOf"),y=d||h,g=(y?p[y?d?"allOf":"anyOf":"allOf"]:[p]).map(V=>u(V,f));return d?!g.includes(!1):g.includes(!0)}return{parseValueSchema:c}}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:"抽屉"}},ur={},cr={};sr();function Ke(e,t,o=new Map,r=(l,u,c,p)=>u,a={},i=l=>l){return nn[t.title]=t,on[t.title]=r,ur[t.title]=a,cr[t.title]=i,(l={},u=!0)=>{if(!u)return an(l,o);const c=lr(l,t,o),p=Object.keys(e).reduce((f,s)=>(f[s]=e[s].default,f),{});return Object.assign(p,c)}}function pt(e,t){return{customClass:t.class,customStyle:t.style}}function dr(){function e(t,o){const{dataSource:r}=t||{};return r===void 0?{}:{}}return{resolve:e}}function fr(){function e(t,o){return t.selectItemById(o)}return{selectItemById:e}}function pr(){function e(t,o){const{columns:r}=o;return t.updateColumns(r)}return{updateColumns:e}}const mr=new Map([["appearance",pt]]);function hr(e,t,o){return t}const gr={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/property-editor.schema.json",title:"property-editor",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for property-editor",type:"string"},type:{description:"The type string of property-editor",type:"string",default:"property-editor"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},yr={title:"property-editor",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:[]}}}}}},$t={},ln=Ke($t,gr,mr,hr,yr),Ie=n.ref({constValue:{type:"const",value:""},variableValue:{type:"variable",value:{category:"",path:"",field:"",fullPath:""}},stateValue:null,customValue:{type:"custom",value:""},expressionValue:{type:"expression",value:""},stateMachineValue:{type:"stateMachine",value:""},dataStatesValue:{type:"dataStates",value:""}}),vr=n.ref([{id:"const",label:"常量"},{id:"variable",label:"变量"},{id:"custom",label:"自定义"},{id:"stateMachine",label:"状态机"},{id:"expression",label:"表达式"},{id:"dataStates",label:"数据状态"}]),br={controlName:"userName",propertyName:"readonly",propertyType:"enum",isNewVariable:!1,propertyValue:{type:"const",value:"true"},editorOptions:{types:["const","variable","custom","expression","stateMachine","dataStates"],enums:[{key:"true",value:"是"},{key:"false",value:"否"}],variables:[{category:"remote",path:"root-component.isUserNameReadonly",field:"49311371-fd9f-4019-8611-dce4dcae97fe",fullPath:"isUserNameReadonly"},{category:"remote",path:"isSystem",field:"49311371-fd9f-4019-8611-dce4dcae99fe",fullPath:"isSystem"}],expressionConfig:{editor:"ExpressionEditorComponent",beforeOpenModal:()=>({editorParams:{modalTitle:"只读编辑器",fieldId:"ca30ad64-c9f6-4660-ad66-38073f6bd0b5",viewModelId:"basic-form-viewmodel",expType:"readonly"},value:"{'expr':'DefaultFunction.Length(\\'aaa\\')>2','sexpr':''}"}),exprValue:{type:"expression",value:{type:"expression",parameters:"ca30ad64-c9f6",value:"{'expr':'DefaultFunction.Length(\\'aaa\\')>2','sexpr':''}"}}},stateMachine:[{id:"canRemove",name:"删除",exist:"非"},{id:"canCancelApprove",name:"取消提交审批",exist:"是"},{id:"canApprove",name:"提交审批",exist:"是"},{id:"editable",name:"可编辑",exist:"是"},{id:"canEdit",name:"编辑",exist:"是"},{id:"canRemoveDetail",name:"删除明细",exist:"是"},{id:"canAdd",name:"新增",exist:"是"},{id:"canSave",name:"保存",exist:"是"},{id:"canCancel",name:"取消",exist:"是"},{id:"canAddDetail",name:"新增明细",exist:"是"}],dataStates:[{textField:"制单",titleField:"制单",valueField:"Billing"},{textField:"提交审批",titleField:"提交审批",valueField:"SubmitApproval"},{textField:"审批通过",titleField:"审批通过",valueField:"Approved"},{textField:"审批不通过",titleField:"审批不通过",valueField:"ApprovalNotPassed"}]},hasPrefix:2},Cr=new Map([["appearance",pt]]),wr={$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"},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},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},maxHeight:{description:"",type:"number",default:350},minPanelWidth:{description:"",type:"number",default:160},popupOnClick:{description:"",type:"boolean",default:!0}},required:["type"],ignore:["id","appearance","binding","visible"]};function xr(e,t,o){return t}const Pt={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!0},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:{},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},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0},minPanelWidth:{type:Number,default:160},popupOnClick:{type:Boolean,default:!0}},Sr=Object.assign({},Pt,{readonly:{}}),sn=Ke(Pt,wr,Cr,xr),Vr={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:[Boolean,Function],default:!1},enableHighlightSearch:{type:Boolean,default:!0}},_r=n.defineComponent({name:"FComboListContainer",props:Vr,emits:["selectionChange"],setup(e,t){const o=n.ref(),r=n.ref(e.dataSource),a=n.ref([]),i=n.ref(e.separator),l=n.ref(e.width),u=n.ref(e.maxHeight),c=n.ref(String(e.selectedValues).split(i.value)),p=n.computed(()=>e.multiSelect),f=n.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:p.value,showSelectAll:!1,showSelection:!0}));n.watch(e.dataSource,()=>{r.value=e.dataSource}),n.computed(()=>e.enableSearch?"SearchBar":"ContentHeader");const s=n.computed(()=>{const b={};return l.value!==void 0&&(b.width=`${l.value}px`),u.value!==void 0&&u.value>0&&(b.maxHeight=`${u.value}px`),b});function d(b){o.value.search(b)}function h(b){a.value=b.map(g=>Object.assign({},g)),c.value=b.map(g=>g[e.idField]),t.emit("selectionChange",a.value)}function y(b){if(e.enableHighlightSearch)return;let g=[];const{searchOption:C}=e;typeof C=="function"?g=r.value.filter(V=>C(b,V)):g=r.value.filter(V=>V[e.valueField].indexOf(b)>-1||V[e.textField].indexOf(b)>-1),o.value.updateDataSource(g)}n.watch([()=>e.selectedValues],([b])=>{c.value=b.split(i.value)});function T(b){o.value.activeRowById(b)}return n.onMounted(()=>{e.multiSelect||T(c.value[0])}),t.expose({search:d,activeRowById:T}),()=>n.createVNode("div",{class:"f-combo-list-container",style:s.value},[n.createVNode(Kt,{ref:o,size:"small",itemClass:"f-combo-list-item",itemContentClass:"text-truncate",header:"ContentHeader",headerClass:"f-combo-list-search-box",data:r.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:f.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:c.value,onSelectionChange:h,onAfterSearch:y},null)])}});function Tr(e){const t=n.ref(""),o=n.ref(e.modelValue),r=n.ref(e.data||[]),a=n.ref(e.editable);function i(s){const d=e.multiSelect?String(s).split(e.separator):[String(s)],h=d.map(b=>[b,!0]),y=new Map(h);return r.value.filter(b=>y.has(String(b[e.valueField]))).sort((b,g)=>{const C=d.indexOf(b[e.valueField]),V=d.indexOf(g[e.valueField]);return C-V})}function l(s){const d=i(s).map(h=>h[e.textField]).join(e.separator);t.value=a.value?d||s:d}function u(s){const d=s.split(e.separator).map(y=>[y,!0]),h=new Map(d);return r.value.filter(y=>h.has(y[e.textField]))}function c(s){const d={};return d[e.idField]=s,d[e.textField]=s,[d]}function p(s){let d=u(s);const h=d&&d.length>0;return a.value&&!h&&(d=c(s)),d}function f(){const{url:s,method:d="GET",headers:h={},body:y=null}=e.remote,T=d.toLowerCase()==="get"?{method:d,headers:h}:{method:d,headers:h,body:y};let b=!1;fetch(s,T).then(g=>{var V,v;if(g.status===200)return b=!!((v=(V=g.headers)==null?void 0:V.get("content-type"))!=null&&v.includes("application/json")),b?g.text():g.json();throw new Error(g.statusText)}).then(g=>{r.value=b?JSON.parse(g):g}).catch(g=>{console.error(g)})}return e.remote&&f(),n.watch(()=>e.data,()=>{r.value=e.data}),n.watch([r],([s])=>{if(e.modelValue!=null){const d=s.find(h=>h[e.valueField]===e.modelValue);d&&(t.value=d[e.textField])}}),n.watch(()=>e.modelValue,s=>{o.value=s,l(s)}),l(e.modelValue),{dataSource:r,displayText:t,editable:a,modelValue:o,getItemsByDisplayText:u,getItemsByValue:i,getSelectedItemsByDisplayText:p}}const lt=n.defineComponent({name:"FComboList",props:Pt,emits:["clear","update:modelValue","change","input"],setup(e,t){const o=n.ref(),r=n.ref(),a=n.ref(e.disabled),i=n.ref(e.enableClear),l=n.ref(e.enableSearch),u=n.ref(e.readonly);let c="";const{dataSource:p,displayText:f,editable:s,modelValue:d,getSelectedItemsByDisplayText:h}=Tr(e),y=n.computed(()=>e.multiSelect),T=n.computed(()=>r.value?r.value.elementRef.getBoundingClientRect().width:0);function b(){!y.value&&r.value&&r.value.hidePopup()}function g(w){f.value=w.map(_=>_[e.textField]).join(e.separator);let F="";w.length===1?F=w[0][e.valueField]:F=w.map(_=>_[e.valueField]).join(e.separator),d.value!==F&&(d.value=F,t.emit("update:modelValue",d.value),t.emit("change",w,d.value))}function C(){const w=h(c);g(w)}function V(){u.value||(c=f.value)}function v(w){d.value="",o.value.activeRowById(""),t.emit("update:modelValue",""),t.emit("clear")}function x(w){e.enableSearch?(o.value.search(w),o.value.activeRowById(w)):(d.value=w,f.value=w,t.emit("update:modelValue",d.value),t.emit("change",[w],w))}function N(){return f.value}function m(w){x(w),t.emit("input",w)}function S(){r.value.hidePopup()}return t.expose({getDisplayText:N,hidePopup:S}),n.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([w,F,_,E,B])=>{a.value=w,s.value=F,i.value=_,l.value=E,u.value=B}),()=>n.createVNode(Zt,{ref:r,id:e.id,disable:a.value,readonly:u.value,forcePlaceholder:e.forcePlaceholder,editable:s.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:i.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:f.value,"onUpdate:modelValue":w=>f.value=w,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:v,onClick:V,onBlur:C,onInput:m,beforeOpen:e.beforeOpen,placement:e.placement,popupMinWidth:e.minPanelWidth,popupClass:"f-combo-list-wrapper",popupOnClick:e.popupOnClick},{default:()=>[n.createVNode(_r,{ref:o,idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:p.value,selectedValues:d.value,multiSelect:e.multiSelect,enableSearch:l.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?T.value:void 0,onSelectionChange:w=>{g(w),b()}},null)]})}}),Fr=new Map([["appearance",Jt.resolveAppearance]]);function Nr(e,t,o){return t}const kr={$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"]},Ir={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:"右对齐"}]}}}}}},un={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}};Ke(un,kr,Fr,Nr,Ir);const Mr={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},Br=n.defineComponent({name:"FOverlay",props:Mr,emits:["click"],setup(e,t){const o=n.ref(e.popupContentPosition),r=n.ref(e.host),a=n.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function i(u){t.emit("click"),u.preventDefault(),u.stopPropagation()}n.computed(()=>{const u=r.value;if(u){const c=u.getBoundingClientRect(),{left:p,top:f,height:s}=c;return{left:p,top:f+s}}return o.value});const l=n.computed(()=>({}));return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>{var u,c;return[n.createVNode("div",{class:"overlay-container",onClick:p=>i(p),style:a.value},[n.createVNode("div",{style:l.value},[(c=(u=t.slots).default)==null?void 0:c.call(u)])])]}})}});function Or(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function Er(e){const t=document.createElement("div");t.style.display="contents";let o;const r=e.onClickCallback||(()=>{}),a=()=>{r(),o&&o.unmount()};return o=n.createApp({setup(){n.onUnmounted(()=>{document.body.removeChild(t)});const i=Or(e);return()=>n.createVNode(Br,{"popup-content-position":e.popupPosition,host:e.host,onClick:a,backgroundColor:e.backgroundColor},{default:()=>[i&&i()]})}}),document.body.appendChild(t),o.mount(t),o}class jr{static show(t){return Er(t)}}const $r={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 Ee{constructor(t,o){this.x=t,this.y=o}static getTransformInfo(t){const r=window.getComputedStyle(t).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(r.length>=6){const a=parseInt(r[4],10),i=parseInt(r[5],10);return{x:a,y:i}}return{x:0,y:0}}static fromEvent(t,o=null){if(this.isMouseEvent(t))return new Ee(t.clientX,t.clientY);if(o===null||t.changedTouches.length===1)return new Ee(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 Ee(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 Ee(0,0);if(window){const r=window.getComputedStyle(t);if(r){const a=parseInt(r.getPropertyValue("left"),10),i=parseInt(r.getPropertyValue("top"),10);o.x=isNaN(a)?0:a,o.y=isNaN(i)?0:i}return o}return null}static copy(t){return new Ee(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 mt{constructor(t,o){this.width=t,this.height=o}static getCurrent(t){const o=new mt(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 mt(0,0).set(t)}set(t){return this.width=t.width,this.height=t.height,this}}function Pr(e,t){const o=n.ref(),r=n.ref(),a=n.ref(),i=n.ref(),l=n.ref(),u=n.ref(),c=n.ref(),p=n.ref(),f=n.ref(),s=n.ref(),d=n.ref(),h=n.ref(),y=n.ref(e.draggable),T=n.ref(!1);function b(){const I=r.value||document.body,$=window.getComputedStyle(I);if(!$||!o.value)return;const A=Ee.getTransformInfo(o.value),K={};c.value&&(K.deltaL=o.value.offsetLeft-c.value.x,K.deltaT=o.value.offsetTop-c.value.y);const ne=$.getPropertyValue("position");K.width=I.clientWidth,K.height=I.clientHeight,K.pr=parseInt($.getPropertyValue("padding-right"),10),K.pb=parseInt($.getPropertyValue("padding-bottom"),10),K.position=$.getPropertyValue("position"),ne==="static"&&(I.style.position="relative"),K.translateX=A.x,K.translateY=A.y,s.value=K}function g(I){if(o.value){i.value=mt.getCurrent(o.value),l.value=Ee.getCurrent(o.value),u.value=i.value?mt.copy(i.value):null,c.value=l.value?Ee.copy(l.value):null,b();const $=I.target.getAttribute("type")||"";p.value={n:!!$.match(/n/),s:!!$.match(/s/),w:!!$.match(/w/),e:!!$.match(/e/)}}}function C(){var I,$,A,K;if(o.value){const ne=o.value;p.value&&((p.value.n||p.value.s)&&((I=u.value)!=null&&I.height)&&(ne.style.height=u.value.height+"px"),(p.value.w||p.value.e)&&(($=u.value)!=null&&$.width)&&(ne.style.width=u.value.width+"px"),c.value&&((A=c.value)!=null&&A.x&&(ne.style.left=c.value.x+"px"),(K=c.value)!=null&&K.y&&(ne.style.top=c.value.y+"px")))}}function V(){const I=e.minHeight?e.minHeight:1,$=e.minWidth?e.minWidth:1;u.value&&c.value&&p.value&&i.value&&(u.value.height<I&&(u.value.height=I,p.value.n&&l.value&&(c.value.y=l.value.y+(i.value.height-I))),u.value.width<$&&(u.value.width=$,p.value.w&&l.value&&(c.value.x=l.value.x+(i.value.width-$))),e.maxHeight&&u.value.height>e.maxHeight&&(u.value.height=e.maxHeight,l.value&&p.value.n&&(c.value.y=l.value.y+(i.value.height-e.maxHeight))),e.maxWidth&&u.value.width>e.maxWidth&&(u.value.width=e.maxWidth,p.value.w&&l.value&&(c.value.x=l.value.x+(i.value.width-e.maxWidth))))}function v(){if(r.value){const I=s.value;if(c.value&&u.value&&p.value&&i.value){const $=I.width-I.pr-I.deltaL-I.translateX-c.value.x,A=I.height-I.pb-I.deltaT-I.translateY-c.value.y;p.value.n&&c.value.y+I.translateY<0&&l.value&&(c.value.y=-I.translateY,u.value.height=i.value.height+l.value.y+I.translateY),p.value.w&&c.value.x+I.translateX<0&&l.value&&(c.value.x=-I.translateX,u.value.width=i.value.width+l.value.x+I.translateX),u.value.width>$&&(u.value.width=$),u.value.height>A&&(u.value.height=A)}}}function x(I){if(!a.value||!i.value||!l.value||!p.value)return;I.subtract(a.value);const $=I.x,A=I.y;p.value.n?(c.value.y=l.value.y+A,u.value.height=i.value.height-A):p.value.s&&(u.value.height=i.value.height+A),p.value.e?u.value.width=i.value.width+$:p.value.w&&(u.value.width=i.value.width-$,c.value.x=l.value.x+$),v(),V(),C()}function N(I){if(!f.value)return;const $=Ee.fromEvent(I);$&&x($)}function m(){if(o.value){const{width:I,height:$,x:A,y:K}=o.value.getBoundingClientRect(),ne=Ee.getTransformInfo(o.value);return{size:{width:I,height:$},position:{x:A-ne.x,y:K-ne.y}}}return null}function S(I){if(o.value){const $=m();d.value=$}a.value=void 0,i.value=null,l.value=null,u.value=null,c.value=null,p.value=null,f.value=null,document.removeEventListener("mousemove",N),document.removeEventListener("mouseup",S)}function w(){document.addEventListener("mousemove",N),document.addEventListener("mouseup",S)}function F(I){I instanceof MouseEvent&&I.button===2||y.value&&(document.body.click(),I.stopPropagation(),I.preventDefault(),a.value=Ee.fromEvent(I),f.value=I.target,g(I),w())}function _(I){return o.value=I,n.createVNode(n.Fragment,null,[n.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:$=>F($)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:$=>F($)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:$=>F($)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:$=>F($)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:$=>F($)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:$=>F($)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:$=>F($)},null),n.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:$=>F($)},null)])}function E(I=!0){document.body.click();const $=r.value||document.body,A=mt.getCurrent($),K=o.value;I&&K&&(h.value=m(),h.value.transform=K.style.transform),A&&K&&(u.value=A,K.style.height=u.value.height-14+"px",K.style.width=u.value.width-14+"px",K.style.left="7px",K.style.top="7px",K.style.transform="",d.value={size:u.value,position:{x:0,y:0}},y.value=!1,T.value=!0)}function B(){var I,$;if(document.body.click(),h.value){const A={width:h.value.size.width||0,height:h.value.size.height||0},K={x:(window.innerWidth-A.width)/2,y:(window.innerHeight-A.height)/2};(I=u.value)==null||I.set(A),($=c.value)==null||$.set(K);const ne=o.value;ne.style.height=A.height+"px",ne.style.width=A.width+"px",ne.style.left=`${K.x}px`,ne.style.top=`${K.y}px`,ne.style.transform="",d.value={size:A,position:K},y.value=e.draggable,T.value=!1}}function O(){if(o.value){const I=mt.getCurrent(o.value);if(I){const{width:$,height:A}=I;o.value.style.left=`${(window.innerWidth-$)/2}px`,o.value.style.top=`${(window.innerHeight-A)/2}px`,o.value.style.transform=""}}}function k(){const I=()=>{T.value?E(!1):O(),document.body.click()};return window.addEventListener("resize",I),()=>{window.removeEventListener("resize",I)}}const M=k();return{renderResizeBar:_,boundingElement:r,resizedEventParam:d,maximize:E,restore:B,allowDrag:y,isMaximized:T,unWindowResizeHandle:M}}function Dr(e,t,o){const r=n.ref(),a=n.ref(e.draggable),i=n.ref(e.lockAxis),l=n.ref(),u=n.ref(),c=n.ref(!1),p=n.ref(new Ee(0,0)),f=n.ref(new Ee(0,0)),s=n.ref(new Ee(0,0)),d=n.ref(new Ee(0,0));n.watch(()=>o.value,m=>{l.value.style.cursor=m?"move":"default"});function h(m,S){if(S.tagName==="BUTTON")return!1;if(S===m)return!0;for(const w in S.children)if(Object.prototype.hasOwnProperty.call(S.children,w)&&h(m,S.children[w]))return!0;return!1}function y(){var F,_;let m=s.value.x+f.value.x,S=s.value.y+f.value.y;i.value==="x"?(m=((F=p.value)==null?void 0:F.x)||0,s.value.x=0):i.value==="y"&&(S=((_=p.value)==null?void 0:_.y)||0,s.value.y=0);const w=`translate3d(${Math.round(m)}px, ${Math.round(S)}px, 0px)`;r.value&&(r.value.style.transform=w),d.value.x=m,d.value.y=S}function T(){if(!u.value||!r.value)return null;const m=u.value.getBoundingClientRect(),S=r.value.getBoundingClientRect(),w={top:m.top<S.top,right:m.right>S.right,bottom:m.bottom>S.bottom,left:m.left<S.left};return w.top||(s.value.y-=S.top-m.top),w.bottom||(s.value.y-=S.bottom-m.bottom),w.right||(s.value.x-=S.right-m.right),w.left||(s.value.x-=S.left-m.left),y(),w}function b(m){m&&(p.value&&m.subtract(p.value),s.value.set(m),y(),T())}function g(m){c.value&&a.value&&(m.stopPropagation(),m.preventDefault(),b(Ee.fromEvent(m,l.value)))}function C(){var m;c.value&&(c.value=!1,f.value.add(s.value),s.value.reset(),(m=r.value)==null||m.classList.remove("ng-dragging"),document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",C))}function V(){!c.value&&l.value&&(c.value=!0,l.value.classList.add("ng-dragging"),document.addEventListener("mousemove",g),document.addEventListener("mouseup",C))}function v(){if(r.value){const m=Ee.getTransformInfo(r.value);f.value.set(m);return}f.value.reset()}function x(m){if(!o.value||m instanceof MouseEvent&&m.button===2)return;const S=m.target||m.srcElement;l.value!==void 0&&S&&!h(S,l.value)||a.value!==!1&&(document.body.click(),m.stopPropagation(),m.preventDefault(),p.value=Ee.fromEvent(m,r.value),v(),V())}function N(m,S,w){if(a.value&&S){if(m)l.value=m;else if(e.dragHandle){if(e.dragHandle instanceof HTMLElement)l.value=e.dragHandle;else if(typeof e.dragHandle=="string"){const F=S.querySelector(e.dragHandle);F&&(l.value=F)}}r.value=S,u.value=w,l.value?(l.value.classList.add("ng-draggable"),l.value.addEventListener("mousedown",x)):a.value=!1}}return{registerDraggle:N,resetTranslate:v}}function cn(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 Rr(e,t){const o=n.ref(e.enableEsc);let r=null;return o.value?(r=cn("Escape",a=>{t.emit("esc",{event:a.event,type:"esc"})}),{remove:r}):null}function Lr(e,t){const o=n.ref(e.enableEnter);let r=null;return o.value?(r=cn("Enter",a=>{t.emit("enter",{event:a.event,type:"enter"})}),{remove:r}):null}const bt=n.defineComponent({name:"FModal",props:$r,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),a=n.ref(e.modelValue),i=n.ref(""),l=n.ref(e.class),u=n.ref(e.fitContent),c=n.ref(e.showHeader),p=n.ref(""),f=n.ref(e.showCloseButton),s=n.ref(e.showMaxButton),d=n.ref(!1),h=n.ref(e.dialogType),y=n.ref(e.src),T=n.ref(""),b=n.ref(e.showButtons),g=n.ref(e.title),C=n.ref(e.resizeable),V=n.ref(e.containment||null),v=n.ref(),x=n.ref(!1);function N(j,he){a.value=!1,t.emit("update:modelValue",!1),he!=null&&t.emit(he?"accept":"cancel"),t.emit("closed",j)}const m=[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:j=>{N(j,!1)}},{name:"accept",text:"确定",class:"btn btn-primary",handle:j=>{N(j,!0)}}],S=n.ref(e.buttons&&e.buttons.length?e.buttons:m),w=n.computed(()=>!!p.value),F=n.computed(()=>!!b.value&&!!S.value),_=n.ref(),E=n.ref(),B=n.ref(!1),{renderResizeBar:O,maximize:k,restore:M,boundingElement:I,resizedEventParam:$,allowDrag:A,unWindowResizeHandle:K}=Pr(e),{registerDraggle:ne}=Dr(e,t,A);function ee(){return!!document.querySelectorAll(".farris-modal").length&&document.body.classList.contains("modal-open")}function fe(){const j=document.querySelectorAll(".farris-modal").length;(!j||j-1<=0)&&document.body.classList.remove("modal-open"),v.value&&v.value.classList.remove("show")}n.watch(()=>e.title,(j,he)=>{j!==he&&(g.value=j)}),n.watch(()=>e.modelValue,(j,he)=>{j!==he&&(a.value=j,j||fe()),a.value&&(x.value=ee())}),n.watch(()=>e.showHeader,(j,he)=>{j!==he&&(c.value=j)}),n.watch(()=>e.showButtons,(j,he)=>{j!==he&&(b.value=j)}),n.watch(()=>$.value,(j,he)=>{const Se=j||{},Be=he||{};JSON.stringify(Se)!==JSON.stringify(Be)&&t.emit("resize",{newSize:j,oldSize:he})});const L=n.computed(()=>(a.value&&document.body.classList.add("modal-open"),a.value)),R=n.computed(()=>{const j={modal:!0,"farris-modal":!0,fade:!0};return j["f-modal-fitContent"]=!!u.value,j.show=!!L.value,j}),H=n.computed(()=>{var Se;const j={"modal-dialog":!0},he=(Se=l.value)==null?void 0:Se.split(" ");return he==null||he.reduce((Be,ke)=>(Be[ke]=!0,Be),j),j}),z=n.computed(()=>({position:"absolute",top:`${(window.innerHeight-r.value)/2}px`,left:`${(window.innerWidth-o.value)/2}px`,width:`${o.value}px`,height:u.value?"auto":`${r.value}px`})),Z=n.computed(()=>({"modal-content":!0,"modal-content-has-header":c.value})),U=n.computed(()=>{const j={display:c.value?"":"none"};return j["pointer-events"]=A.value?"auto":"none",j}),P=n.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:B.value})),W=n.computed(()=>({"modal-body":!0,"f-utils-flex-column":h.value==="iframe","f-utils-fill":!0}));function re(){return{height:`${e.footerHeight||60}px`}}const J=n.computed(()=>{const j={textAlgin:T.value},he=re();return Object.assign(j,he)});function Q(j){if(j.stopPropagation(),B.value){B.value=!1,M();return}k(),B.value=!0}async function Te(j,he){j.handle&&await j.handle(he,j)&&t.emit("closed",he)}function Ne(j){j.width&&(o.value=j.width),j.height&&(r.value=j.height),j.buttons&&(S.value=j.buttons),j.title&&(g.value=j.title)}const Fe=n.computed(()=>{const j={display:"inline-block"};return x.value&&(j["background-color"]="transparent"),j});let De=null,je=null;n.onBeforeMount(()=>{x.value=ee()}),n.onMounted(()=>{E.value&&!V.value&&(V.value=E.value.parentElement,I.value=V.value,ne(_.value,E.value,I.value)),L.value&&document.body.classList.add("modal-open"),De=Rr(e,t),je=Lr(e,t)}),n.onUnmounted(()=>{K&&K(),De&&De.remove(),je&&je.remove()}),t.expose({modalElementRef:E,updateModalOptions:Ne,close:N,maxDialog:Q});function Me(){return n.createVNode("ul",null,[d.value&&n.createVNode("li",{class:"f-btn-icon f-bare"},[n.createVNode("span",{class:"f-icon modal_minimize"},null)]),s.value&&n.createVNode("li",{onClick:Q,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[n.createVNode("span",{class:P.value},null)]),f.value&&n.createVNode("li",{class:"f-btn-icon f-bare",onClick:j=>N(j,!1),style:"pointer-events: auto;"},[n.createVNode("span",{class:"f-icon modal_close"},null)])])}function qe(){return n.createVNode("div",{class:"modal-footer",style:J.value},[S.value&&S.value.map(j=>n.createVNode("button",{name:j.name,type:"button",class:j.class+(j.iconClass?" btn-icontext":""),onClick:he=>{Te(j,he)}},[!!j.iconClass&&n.createVNode("i",{class:j.iconClass},null),j.text]))])}function Le(){return n.createVNode("div",{ref:_,class:"modal-header",style:U.value},[n.createVNode("div",{class:"modal-title"},[w.value&&n.createVNode("span",{class:p.value,style:"margin-right: 8px"},null),n.createVNode("span",{class:"modal-title-label"},[g.value])]),n.createVNode("div",{class:"actions"},[Me()])])}function Qe(j){j.stopPropagation()}return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>[L.value&&n.createVNode(n.Transition,{name:"fade",appear:!0},{default:()=>{var j,he;return[n.createVNode("div",{class:R.value,style:Fe.value,ref:v,onClick:Qe},[n.createVNode("div",{id:i.value,class:H.value,style:z.value,ref:E},[n.createVNode("div",{class:Z.value},[c.value&&Le(),n.createVNode("div",{class:W.value},[(he=(j=t.slots).default)==null?void 0:he.call(j),h.value==="iframe"&&n.createVNode("iframe",{title:i.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:y.value},null)]),F.value&&qe()]),!u.value&&C.value&&E.value&&!B.value&&O(E.value)])])]}})]})}});function dn(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function Ar(e){const t=document.createElement("div");t.style.display="contents";const o=n.createApp({setup(r,a){n.onUnmounted(()=>{document.body.removeChild(t)});const i=n.ref(),l=n.ref(e.class||""),u=n.ref(!!e.showButtons),c=n.ref(!!e.showHeader),p=n.ref(e.showCloseButton==null?!0:e.showCloseButton),f=n.ref(!0),s=n.ref(e.title||""),d=e.acceptCallback||(()=>{}),h=e.rejectCallback||(()=>{}),y=e.closedCallback||(C=>{}),T=e.resizeHandle||(C=>{}),b=dn(e),g=C=>{f.value=!1,o.unmount(),y(C)};return n.onMounted(()=>{}),a.expose({modalRef:i}),()=>n.createVNode(bt,{ref:i,class:l.value,modelValue:f.value,"onUpdate:modelValue":C=>f.value=C,title:s.value,width:e.width,height:e.height,buttons:e.buttons,"show-header":c.value,"show-buttons":u.value,"show-close-button":p.value,"show-max-button":!1,onAccept:d,onCancel:h,fitContent:e.fitContent==null?!0:e.fitContent,onClosed:g,onResize:T},{default:()=>[b&&b(o)]})}});return document.body.appendChild(t),o.mount(t),o}class fn{constructor(t){G(this,"appContext",null);G(this,"modalRef",n.ref());G(this,"activeModalIndex",n.ref(0));G(this,"modalRefs",{});G(this,"isUseEscCloseModal",n.ref(!1));G(this,"activeModalInstance",n.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=t,this.appContext=t?t._context:null}getCurrentModal(){return this.activeModalInstance.value}adaptToWindow(t,o){const{width:r,height:a}={width:window.innerWidth,height:window.innerHeight};return r<t&&(t=r),a<o&&(o=a),{width:t,height:o}}static show(t){const o=Object.assign({title:"",showButtons:!0,showHeader:!0},t);return Ar(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