UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

1 lines 93.7 kB
(function(D,$){typeof exports=="object"&&typeof module<"u"?$(exports,require("../../components/common/index.umd.js"),require("../../components/dynamic-resolver/index.umd.js"),require("../../components/radio-group/index.umd.js"),require("vue"),require("../../components/designer-canvas/index.umd.js"),require("lodash-es"),require("../../components/locale/index.umd.js"),require("../../components/property-panel/index.umd.js"),require("../../components/tags/index.umd.js"),require("../../components/popover/index.umd.js"),require("../../components/data-grid/index.umd.js"),require("../../components/notify/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/common/index.umd.js","../../components/dynamic-resolver/index.umd.js","../../components/radio-group/index.umd.js","vue","../../components/designer-canvas/index.umd.js","lodash-es","../../components/locale/index.umd.js","../../components/property-panel/index.umd.js","../../components/tags/index.umd.js","../../components/popover/index.umd.js","../../components/data-grid/index.umd.js","../../components/notify/index.umd.js"],$):(D=typeof globalThis<"u"?globalThis:D||self,$(D["radio-group"]={},D.common,D.dynamicResolver,D.FRadioGroup,D.Vue,D.designerCanvas,D.LodashES,D.locale,null,D.FTags,D.FPopover,D.FDataGrid,D.notify))})(this,function(D,$,_,se,o,b,re,J,At,Se,Be,Pe,Ne){"use strict";var Ht=Object.defineProperty;var jt=(D,$,_)=>$ in D?Ht(D,$,{enumerable:!0,configurable:!0,writable:!0,value:_}):D[$]=_;var F=(D,$,_)=>jt(D,typeof $!="symbol"?$+"":$,_);const Re={...$.radioCheckboxCommonProps,id:String,disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},enumData:{type:Array},data:{type:Array},modelValue:{type:String,default:""},name:{type:String,default:""},tabIndex:{type:Number,default:-1},textField:{type:String,default:"name"},valueField:{type:String,default:"value"}};function Oe(n,t,e){const l=o.computed(()=>!n.disabled),i=o.computed(()=>n.data||n.enumData||n.options||[]);function a(d){return d[n.valueField]}function s(d){return d[n.textField]}function r(d,c){if(l.value){const f=a(d);e.value!==f&&(e.value=f,t.emit("change",f),t.emit("changeValue",f),t.emit("update:modelValue",f))}c.stopPropagation()}return{enumData:i,getValue:a,getText:s,onClickRadio:r}}function Le(n){const{formSchemaUtils:t,formStateMachineUtils:e}=n;function l(d,c=""){return{path:c+d.code,field:d.id,fullPath:d.code}}function i(d,c=""){const f=t.getViewModelById(d);return f?f.states.map(u=>l(u,c)):[]}function a(d){const c=t.getRootViewModelId(),f=i(d);if(d===c)return f;const u=i(c,"root-component.");return[...f,...u]}function s(d){return d.binding&&d.binding.path||d.id||""}function r(){return e&&e.getRenderStates()||[]}return{getVariables:a,getControlName:s,getStateMachines:r}}class De{constructor(t){F(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);F(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});F(this,"getExpressionConverter",(t,e)=>({convertFrom:(l,i,a,s)=>{const r=a.getExpressionRuleValue(t,e||i);return r&&r.value||""},convertTo:(l,i,a,s,r)=>{var d;if(i==="dataPicking"&&(a!=null&&a.target)){const c=`${a.target}_dataPicking`;((d=a.rules)==null?void 0:d.some(u=>u.id===c&&u.value))?l.dictPickingExpressionId=c:delete l.dictPickingExpressionId}s.updateExpression(a)}}));this.formSchemaService=t}getExpressionRule(t,e){const l=this.getExpressionData();if(!l)return"";const i=l.find(s=>s.target===t);if(!i)return"";const a=i.rules.find(s=>s.type===e);return a||""}getContextFormVariables(){const{module:t}=this.formSchemaService.getFormSchema();if(!t.viewmodels||t.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),l=this.formSchemaService.getViewModelById(e);if(!l||!l.states||l.states.length===0)return[];const i=[];return l.states.filter(a=>a.category==="remote").forEach(a=>{i.push({key:a.code,name:a.name,description:a.name,category:a.category})}),i}createTreeNode(t,e,l="label"){return{id:t.id,name:t.name,bindingPath:t[l],parents:e,type:"field"}}buildEntityFieldsTreeData(t=null,e){const l=[];return t==null||t.forEach(i=>{var r;const a=this.createTreeNode(i,e);let s=[];(r=i.type)!=null&&r.fields&&(s=this.buildEntityFieldsTreeData(i.type.fields,[...e,i.label])),l.push({data:a,children:s,expanded:!0})}),l}buildChildEntityTreeData(t=null,e){const l=[];return t==null||t.forEach(i=>{var d,c;const a=this.createTreeNode(i,e);a.type="entity";const s=this.buildEntityFieldsTreeData((d=i.type)==null?void 0:d.fields,[...e,i.label]),r=this.buildChildEntityTreeData((c=i.type)==null?void 0:c.entities,[...e,i.label]);r!=null&&r.length&&(s==null||s.push(...r)),l.push({data:a,children:s||[],expanded:!0})}),l}getEntitiesTreeData(){const t=this.formSchemaService.getSchemaEntities();if(!(t!=null&&t.length))return[];const e=t[0];if(!(e!=null&&e.type))return[];const l=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),i=this.buildChildEntityTreeData(e.type.entities,[e.code]);return i!=null&&i.length&&(l==null||l.push(...i)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:l||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(t,e,l){const i=l==="Field"?t.binding.field:t.id,a=this.getExpressionRule(i,e),s=this.getEntitiesAndVariables(),r={message:["validate","required","dataPicking"].includes(e)&&a?a.message:"",...s};return a.messageType!=null&&(r.messageType=a.messageType),r}buildRule(t,e,l,i){const{expression:a,message:s,messageType:r}=e,d={id:`${t}_${l}`,type:l,value:a};return(l==="validate"||l==="dataPicking"||l==="required")&&(d.message=s),l==="dataPicking"&&(d.messageType=r),l==="validate"&&i&&(d.elementId=i),d}getExpressionData(){const{expressions:t}=this.formSchemaService.getFormSchema().module;return t||[]}updateExpression(t,e,l,i){const a=e==="Field"?t.binding.field:t.id,s=this.buildRule(a,l,i,t.type==="form-group"?t.id:"");let d=this.getExpressionData().find(f=>f.targetType===e&&f.target===a);const c=f=>f.value.trim()==="";if(d){const f=d.rules.find(u=>u.id===s.id);if(f)c(s)?d.rules=d.rules.filter(u=>u.id!==s.id):(Object.assign(f,s),i==="validate"&&t.type==="form-group"&&(f.elementId=t.id));else{if(c(s))return null;d.rules=d.rules||[],d.rules.push(s)}}else{if(c(s))return null;d={target:`${a}`,rules:[s],targetType:e}}return d}getExpressionEditorOptions(t,e,l,i){return l.reduce((a,s)=>{var d,c;const r=e==="Field"?(d=t==null?void 0:t.binding)==null?void 0:d.field:t.id;return a[s]={hide:e==="Field"?!!((c=t==null?void 0:t.binding)!=null&&c.field):!1,description:"",title:this.expressionNames[s],type:"string",$converter:this.getExpressionConverter(r),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[s]}编辑器`,showMessage:s==="validate"||s==="dataPicking"||s==="required",showMessageType:s==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(t,s,e),onSubmitModal:f=>{const u=this.updateExpression(t,e,f,s);if(i){const y=this.buildRule(r,f,s);i(y)}return u}}},a},{})}getExpressionInfo(t,e,l){const i=e==="Field"?t.binding.field:t.id,a=this.getExpressionRule(i,l),s={value:a&&a.value,targetId:i,targetType:e,expressionType:l};return a&&a.message&&(s.message=a.message),s}getExpressionConfig(t,e,l=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!t.binding,properties:{...this.getExpressionEditorOptions(t,e,l,i)}}}getExpressionOptions(t,e,l){const i=this.getExpressionInfo(t,e,l);return{dialogTitle:`${this.expressionNames[l]||"表达式"}编辑器`,singleExpand:!1,showMessage:l==="required",beforeOpen:()=>this.onBeforeOpenExpression(t,l,e),expressionInfo:i}}}class ze{constructor(t,e){F(this,"componentId");F(this,"viewModelId");F(this,"eventsEditorUtils");F(this,"formSchemaUtils");F(this,"formMetadataConverter");F(this,"designViewModelUtils");F(this,"designViewModelField");F(this,"controlCreatorUtils");F(this,"designerHostService");F(this,"designerContext");F(this,"modalService",null);F(this,"formRule",null);F(this,"schemaService",null);F(this,"metadataService",null);F(this,"propertyConfig",{type:"object",categories:{}});F(this,"expressionProperty");var l;this.componentId=t,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((l=this.formSchemaUtils)==null?void 0:l.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext,this.modalService=e.modalService,this.expressionProperty=new De(this.formSchemaUtils)}getFormDesignerInstance(){var t,e;return(e=(t=this.designerContext)==null?void 0:t.instances)==null?void 0:e.formDesigner.value}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var l;const e=t.binding&&t.binding.type==="Form"&&t.binding.field;if(e){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(a=>a.id===e)}t.updateOn=(l=this.designViewModelField)==null?void 0:l.updateOn}}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:t.type,name:b.DgControl[t.type]&&b.DgControl[t.type].name}]}}}}}getAppearanceConfig(t=null,e={},l){const i={title:"外观",description:"Appearance"},a={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const s in e)a[s]=Object.assign(a[s]||{},e[s]);return{...i,properties:{...a},setPropertyRelates(s,r){if(s){switch(s&&s.propertyID){case"class":case"style":{b.canvasChanged.value++;break}}l&&l(s,t,r)}}}}getPropertyEditorParams(t,e=[],l="visible",i={},a={},s=""){const{getVariables:r,getControlName:d,getStateMachines:c}=Le(this.designerHostService),f=this.getRealTargetType(t),u=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],y={type:"property-editor",propertyTypes:u};return u.map(p=>{switch(p){case"Const":Object.assign(y,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":y.expressionConfig=this.getExpressionOptions(t,f,s||l);break;case"StateMachine":y.stateMachines=c();break;case"Variable":Object.assign(y,{controlName:d(t),newVariablePrefix:"is",newVariableType:"Boolean",variables:r(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:m=>{m.value=r(this.viewModelId)}},a),this.designerContext.designerMode==="PC_RTC"&&(y.newVariablePrefix="ext_"+y.newVariablePrefix);break}}),y}getVisibleProperty(t,e=""){var a;let l=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?l=["Const","Expression"]:e==="form-group"&&!((a=t.binding)!=null&&a.field)&&(l=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(t,l,"visible")}}}getBehaviorConfig(t,e="",l={},i){const a={title:"行为",description:""},s=this.getVisibleProperty(t,e);for(const d in l)s[d]=Object.assign(s[d]||{},l[d]);const r=this;return{...a,properties:{...s},setPropertyRelates(d,c){if(d){switch(d.propertyID){case"disabled":case"readonly":case"visible":r.afterMutilEditorChanged(t,d);break}i&&i(d,c)}}}}afterMutilEditorChanged(t,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e,t),this.clearExpression(e,t)}updateElementByParentContainer(t,e){const l=e&&e.parent&&e.parent.schema;if(!l)return;const i=l.contents.findIndex(s=>s.id===t),a=re.cloneDeep(l.contents[i]);l.contents.splice(i,1),l.contents.splice(i,0,a),b.refreshCanvas()}addNewVariableToViewModel(t,e){const l=t.propertyValue;if(!(l&&typeof l=="object")||!(l.type==="Variable"&&l.isNewVariable))return;const s={id:l.field,category:"locale",code:l.fullPath,name:l.fullPath,type:l.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete l.newVariableType,delete l.isNewVariable,this.formSchemaUtils.getVariableByCode(s.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(s)}getExpressions(){let t=[];return this.formRule?(this.formRule.expressions=this.formRule.expressions||[],t=this.formRule.expressions||[]):t=this.formSchemaUtils.getExpressions(),t}updateExpressionValue(t,e){const l=t.propertyValue;if(!((l&&l.type)==="Expression"&&l.expressionInfo))return;const{expressionId:s,expressionInfo:r}=l,{targetId:d,targetType:c,expressionType:f,value:u,message:y}=r,p=this.getExpressions();let m=p.find(E=>E.target===d);m||(m={target:d,rules:[],targetType:c},p.push(m));const v=m.rules.find(E=>E.type===f);if(v)v.value=u,v.message=y,(f==="minDate"||f==="maxDate"||f==="defaultTime")&&(v.elementId=e.id);else{const E={id:s,type:f,value:u,message:y,elementId:e.id};m.rules.push(E)}delete l.expressionInfo}clearExpression(t,e){const l=t.propertyValue;if(l&&l.type==="Expression")return;const a=t.propertyID,s=this.getExpressions(),r=e.binding?e.binding.field:e.id,d=s.find(c=>c.target===r);!d||!d.rules||(d.rules=d.rules.filter(c=>c.type!==a))}getExpressionOptions(t,e,l){return this.expressionProperty.getExpressionOptions(t,e,l)}getRealTargetType(t){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(t.type)>-1?"Button":t.binding&&t.binding.field?"Field":"Container"}createBaseEventProperty(t){const e={};return e[this.viewModelId]={type:"events-editor",editor:{initialData:t,viewSourceHandle:l=>{var i;((i=l.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(l)}}},e}}const ee=class ee{static getEditorTypesByMDataType(t,e=!1,l=""){if(e)return[{key:b.DgControl["language-textbox"].type,value:b.DgControl["language-textbox"].name}];let i=ee.fieldControlTypeMapping[t];if(l==="data-grid-column"&&(i!=null&&i.length)){const a=[b.DgControl["check-group"].type,b.DgControl["radio-group"].type,b.DgControl.image.type,b.DgControl["rich-text-editor"].type];i=i.filter(s=>!a.includes(s.key))}return i}static getAllInputTypes(){const t=[];for(const e in ee.fieldControlTypeMapping)ee.fieldControlTypeMapping[e].forEach(l=>{t.find(i=>i.key===l.key&&i.value===l.value)||t.push({key:l.key,value:l.value})});return t}static mappingDomPropAndSchemaProp(t,e){var a;const l=(a=t.editor)==null?void 0:a.type,i=[];return(t.type===b.DgControl["data-grid-column"].type||t.type===b.DgControl["tree-grid-column"].type)&&e&&e.categoryId&&e.categoryId.indexOf("gridFieldEditor")<0&&i.push({domField:"title",schemaField:"name"}),i.push({domField:"label",schemaField:"name"}),i.push({domField:"editor.required",schemaField:"require"}),i.push({domField:"editor.readonly",schemaField:"readonly"}),(l===b.DgControl["input-group"].type||l===b.DgControl.textarea.type||l===b.DgControl["number-spinner"].type)&&i.push({domField:"editor.maxLength",schemaField:"type.length"}),l===b.DgControl["number-spinner"].type&&i.push({domField:"editor.precision",schemaField:"type.precision"}),(t.type===b.DgControl["data-grid-column"].type||t.type===b.DgControl["tree-grid-column"].type)&&i.push({domField:"formatter.precision",schemaField:"type.precision"}),(l===b.DgControl["combo-list"].type||l===b.DgControl["radio-group"].type)&&i.push({domField:"editor.data",schemaField:"type.enumValues"}),(t.type===b.DgControl["data-grid-column"].type||t.type===b.DgControl["tree-grid-column"].type)&&i.push({domField:"formatter.data",schemaField:"type.enumValues"}),l===b.DgControl["date-picker"].type&&(i.push({domField:"editor.displayFormat",schemaField:"editor.format"}),i.push({domField:"editor.fieldType",schemaField:"type.name"})),l===b.DgControl["number-spinner"].type&&(i.push({domField:"editor.max",schemaField:"editor.maxValue"}),i.push({domField:"editor.min",schemaField:"editor.minValue"})),l===b.DgControl.lookup.type&&(i.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),i.push({domField:"editor.valueField",schemaField:"editor.valueField"}),i.push({domField:"editor.textField",schemaField:"editor.textField"}),i.push({domField:"editor.displayType",schemaField:"editor.displayType"}),i.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),i.push({domField:"editor.helpId",schemaField:"editor.helpId"})),i.push({domField:"path",schemaField:"bindingPath"}),i.push({domField:"binding.path",schemaField:"bindingField"}),i.push({domField:"binding.fullPath",schemaField:"path"}),(t.type===b.DgControl["data-grid-column"].type||t.type===b.DgControl["tree-grid-column"].type)&&i.push({domField:"field",schemaField:"bindingPath"}),i}};F(ee,"fieldControlTypeMapping",{String:[{key:b.DgControl["input-group"].type,value:b.DgControl["input-group"].name},{key:b.DgControl.lookup.type,value:b.DgControl.lookup.name},{key:b.DgControl.image.type,value:b.DgControl.image.name},{key:b.DgControl["date-picker"].type,value:b.DgControl["date-picker"].name},{key:b.DgControl.switch.type,value:b.DgControl.switch.name},{key:b.DgControl["check-box"].type,value:b.DgControl["check-box"].name},{key:b.DgControl["check-group"].type,value:b.DgControl["check-group"].name},{key:b.DgControl["radio-group"].type,value:b.DgControl["radio-group"].name},{key:b.DgControl["combo-list"].type,value:b.DgControl["combo-list"].name},{key:b.DgControl.textarea.type,value:b.DgControl.textarea.name},{key:b.DgControl["time-picker"].type,value:b.DgControl["time-picker"].name}],Text:[{key:b.DgControl.textarea.type,value:b.DgControl.textarea.name},{key:b.DgControl.lookup.type,value:b.DgControl.lookup.name},{key:b.DgControl.image.type,value:b.DgControl.image.name},{key:b.DgControl["rich-text-editor"].type,value:b.DgControl["rich-text-editor"].name}],Decimal:[{key:b.DgControl["number-spinner"].type,value:b.DgControl["number-spinner"].name}],Integer:[{key:b.DgControl["number-spinner"].type,value:b.DgControl["number-spinner"].name}],Number:[{key:b.DgControl["number-spinner"].type,value:b.DgControl["number-spinner"].name},{key:b.DgControl.switch.type,value:b.DgControl.switch.name},{key:b.DgControl["check-box"].type,value:b.DgControl["check-box"].name}],BigNumber:[{key:b.DgControl["number-spinner"].type,value:b.DgControl["number-spinner"].name}],Date:[{key:b.DgControl["date-picker"].type,value:b.DgControl["date-picker"].name}],DateTime:[{key:b.DgControl["date-picker"].type,value:b.DgControl["date-picker"].name}],Boolean:[{key:b.DgControl.switch.type,value:b.DgControl.switch.name},{key:b.DgControl["check-box"].type,value:b.DgControl["check-box"].name}],Enum:[{key:b.DgControl["combo-list"].type,value:b.DgControl["combo-list"].name},{key:b.DgControl["radio-group"].type,value:b.DgControl["radio-group"].name}],Object:[{key:b.DgControl.lookup.type,value:b.DgControl.lookup.name},{key:b.DgControl["combo-list"].type,value:b.DgControl["combo-list"].name},{key:b.DgControl["radio-group"].type,value:b.DgControl["radio-group"].name}]});let ie=ee;var te=(n=>(n.Form="Form",n.Variable="Variable",n))(te||{});class he{constructor(){F(this,"label","");F(this,"id","");F(this,"columnInSM",12);F(this,"columnInMD",6);F(this,"columnInLG",3);F(this,"columnInEL",2);F(this,"displayWidthInSM",1);F(this,"displayWidthInMD",1);F(this,"displayWidthInLG",1);F(this,"displayWidthInEL",1);F(this,"displayColumnCountAtBreakPoint","md");F(this,"tagRow",0);F(this,"showTopBorder",0);F(this,"group",1);F(this,"isSupportedClass",!0);F(this,"fieldSetId","")}}function $e(n){let t,e;const l=new Map;let i=[];function a(f,u){const p=((f==null?void 0:f.split(" "))||[]).filter(x=>x.startsWith("col-"));if(p.length===0){u.isSupportedClass=!1;return}let m=p.find(x=>/^col-([1-9]|10|11|12)$/.test(x)),v=p.find(x=>/^col-md-([1-9]|10|11|12)$/.test(x)),E=p.find(x=>/^col-xl-([1-9]|10|11|12)$/.test(x)),I=p.find(x=>/^col-el-([1-9]|10|11|12)$/.test(x));m=m||"col-12",u.columnInSM=parseInt(m.replace("col-",""),10),u.displayWidthInSM=u.columnInSM/12,u.displayWidthInSM!==1&&(u.isSupportedClass=!1),v=v||"col-md-"+u.columnInSM,u.columnInMD=parseInt(v.replace("col-md-",""),10),u.displayWidthInMD=u.columnInMD/6,[1,2].includes(u.displayWidthInMD)||(u.isSupportedClass=!1),E=E||"col-xl-"+u.columnInMD,u.columnInLG=parseInt(E.replace("col-xl-",""),10),u.displayWidthInLG=u.columnInLG/3,[1,2,3,4].includes(u.displayWidthInLG)||(u.isSupportedClass=!1),I=I||"col-el-"+u.columnInLG,u.columnInEL=parseInt(I.replace("col-el-",""),10),u.displayWidthInEL=u.columnInEL/2,[1,2,3,4,5,6].includes(u.displayWidthInEL)||(u.isSupportedClass=!1)}function s(f,u,y,p=!1){let m=!1;if(!f.contents||f.contents.length===0){const v=new he;a(f.layout,v),u.push(v);return}f.contents.forEach(v=>{if(v.type==="fieldset"){y+=1,s(v,u,y,!0),m=!0;return}if(v.type==="dynamic-form")return;m&&(y+=1,m=!1);const E=v.appearance&&v.appearance.class,I=new he;E?a(E,I):I.isSupportedClass=!1,I.label=v.label||v.id,I.id=v.id,I.group=y,p&&(I.fieldSetId=f.id),e===v.id&&(t=y),l.set(v.id,v),u.push(I)})}function r(f){const u=n.getComponentById(f);if(!u||!u.componentType||!u.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const y=n.selectNode(u,p=>p.type===b.DgControl["response-form"].type);return!y||!y.contents||y.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:y}}function d(f,u){u=u||f.id;const{result:y,message:p,formNode:m}=r(u);if(!y)return{result:y,message:p};e=f.id,i=[],l.clear();const v=m.contents[0].type===b.DgControl.fieldset.type?0:1;s(m,i,v);const E=i.find(x=>!x.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:E?"customize":"standard"},importData:i}}function c(f,u){u=u;const{result:y,formNode:p}=r(u);if(!y)return"";const m=[];return f.forEach(v=>{var x;const E=l.get(v.id),I=E.appearance&&E.appearance.class;if(I){const z=I.split(" ").filter(P=>!P.startsWith("col-")),L="col-"+v.columnInSM,H="col-md-"+v.columnInMD,h="col-xl-"+v.columnInLG,C="col-el-"+v.columnInEL,k=[L,H,h,C].concat(z);E.appearance.class=k.join(" ")}if(v.fieldSetId){const T=p.contents.find(L=>L.id===v.fieldSetId),z=m.find(L=>L.id===v.fieldSetId);z?(x=z.contents)==null||x.push(E):(m.push(T),T.contents=[E])}else m.push(E)}),p.contents=m,p.id}return{checkCanFindFormNode:r,checkCanOpenLayoutEditor:d,changeFormControlsByResponseLayoutConfig:c,getResonseFormLayoutConfig:s}}class He extends ze{constructor(e,l){super(e,l);F(this,"responseLayoutEditorFunction");F(this,"bindingVarible");F(this,"formGroupEvents",[{label:"onClickLabel",name:"标签点击事件"}]);F(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});F(this,"showCustomValue",e=>{var i;const l=this.designViewModelField!=null&&((i=this.designViewModelField)==null?void 0:i.type.name)!=="Boolean";return this.formRule?e.dataType!=="boolean":l});this.responseLayoutEditorFunction=$e(this.formSchemaUtils)}getCommonPropertyConfig(e,l,i="Card"){this.propertyConfig.categories.basic=this.getBasicProperties(e,l,i),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,l),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"form-group")}getPropertyConfig(e,l){return this.getCommonPropertyConfig(e,l,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressions=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(e),this.propertyConfig}getGridFieldEdtiorPropConfig(e,l){return this.propertyConfig.categories={},this.getCommonPropertyConfig(e,l,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(e):this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressons=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories}getBasicProperties(e,l,i="Card"){var f;const a=this;this.setDesignViewModelField(e);const{canChangeControlType:s,editorTypeList:r}=this.getAvailableEditorType(e);let d=r;this.formRule&&(d=r.filter(u=>u.key!=="image"&&u.key!=="rich-text-editor"));const c={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:d,readonly:!s}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",editor:{data:[{id:"visible",name:"显示"},{id:"reserve-space",name:"占位"},{id:"none",name:"不显示"}]},defaultValue:((f=e.editor)==null?void 0:f.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!e.isRtcControl}},setPropertyRelates(u,y,p){if(u)switch(u&&u.propertyID){case"type":{a.changeControlType(e,u,l);break}case"label":{u.needRefreshControlTree=!0;break}case"binding":{a.changeBindingField(e,u,p);break}}}};return i.toLocaleLowerCase()!=="card"&&delete c.properties.showLabelType,c}checkCanChangeControlType(e,l){if(!e.binding)return!1;if(e.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(e.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==$.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(e){var a,s;const l=this.checkCanChangeControlType(e,this.viewModelId);if(!l)return{canChangeControlType:!1,editorTypeList:[{key:e.editor.type,value:((a=b.DgControl[e.editor.type])==null?void 0:a.name)||e.editor.type}]};let i=[];return this.designViewModelField&&this.designViewModelField.$type===$.FormSchemaEntityField$Type.SimpleField?i=ie.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(i=ie.getEditorTypesByMDataType(this.bindingVarible.type,!!((s=this.designViewModelField)!=null&&s.multiLanguage))),{canChangeControlType:l,editorTypeList:i}}changeBindingField(e,l,i){l.needRefreshEntityTree=!0}getAppearanceProperties(e,l){const i=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},fill:{title:"填充宽度",description:"启用后,控件占满父容器宽度",type:"boolean",parentPropertyID:"appearance",defaultValue:!1},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!i.formRule,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",beforeOpen:()=>i.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,i.componentId)}}},setPropertyRelates(a,s){if(a)switch(a&&a.propertyID){case"responseLayout":i.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(a.propertyValue,i.componentId||e.id),i.updateUnifiedLayoutAfterResponseLayoutChanged(i.componentId),i.updateElementByParentContainer(e.id,l),delete e.responseLayout;break;case"class":i.updateUnifiedLayoutAfterControlChanged(a.propertyValue,e.id,this.componentId),b.canvasChanged.value++;break;case"style":{b.canvasChanged.value++;break}}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,l,i){const a=l.propertyValue,s=i&&i.parent&&i.parent.schema;if(!s)return;const r=s.contents.findIndex(f=>f.id===e.id);if(r===-1)return;const d=s.contents[r];let c;if(this.designViewModelField){const y=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(m=>m.id===this.designViewModelField.id).fieldSchema||{};y.editor||(y.editor={}),y.editor.$type=a,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,y,!1),c=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,a)}c||(c=this.controlCreatorUtils.createFormGroupWithoutField(a)),Object.assign(c,{id:d.id,appearance:d.appearance,size:d.size,label:d.label,binding:d.binding}),Object.prototype.hasOwnProperty.call(d,"visible")&&Object.assign(c,{visible:d.visible}),d.editor&&["readonly","required","placeholder"].map(f=>{Object.prototype.hasOwnProperty.call(d.editor,f)&&(c.editor[f]=d.editor[f])}),i!=null&&i.updateContextSchema?i.updateContextSchema(c):(i.schema=Object.assign(d,c),Object.assign(e,c)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(f=>f.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(f=>f.classList.remove("dgComponentFocused")),b.canvasChanged.value++,o.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getComponentConfig(e,l={},i={},a){var y,p;const s=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},l),r=(y=e.binding)!=null&&y.field?[]:["Const","Variable","StateMachine"],d=this.getPropertyEditorParams(e,r,"readonly"),c=this.getPropertyEditorParams(e,r,"required"),f={readonly:{description:"",title:"只读",editor:d},required:{description:"",title:"必填",type:"boolean",editor:c,visible:!!((p=e.binding)!=null&&p.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const m in i)f[m]=Object.assign(f[m]||{},i[m]);const u=this;return{...s,properties:{...f},setPropertyRelates(m,v){if(m){switch(m.propertyID){case"readonly":case"required":u.afterMutilEditorChanged(e,m);break}a&&a.bind(u)(m,e,v)}}}}updateUnifiedLayoutAfterControlChanged(e,l,i){const a=e.split(" ");let s=a.find(u=>/^col-([1-9]|10|11|12)$/.test(u)),r=a.find(u=>/^col-md-([1-9]|10|11|12)$/.test(u)),d=a.find(u=>/^col-xl-([1-9]|10|11|12)$/.test(u)),c=a.find(u=>/^col-el-([1-9]|10|11|12)$/.test(u));s=s||"col-12",r=r||"col-md-"+s.replace("col-",""),d=d||"col-xl-"+r.replace("col-md-",""),c=c||"col-el-"+d.replace("col-xl-","");const f={id:l,columnInSM:parseInt(s.replace("col-",""),10),columnInMD:parseInt(r.replace("col-md-",""),10),columnInLG:parseInt(d.replace("col-xl-",""),10),columnInEL:parseInt(c.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(i,f)}updateUnifiedLayoutAfterResponseLayoutChanged(e,l){const{formNode:i}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!i||!i.unifiedLayout)return;const a=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(i,a,1),l){const m=a.find(v=>v.id===l.id);Object.assign(m||{},l)}const s=a.map(m=>m.columnInSM),r=a.map(m=>m.columnInMD),d=a.map(m=>m.columnInLG),c=a.map(m=>m.columnInEL),f=this.checkIsUniqueColumn(s)?s[0]:null,u=this.checkIsUniqueColumn(r)?r[0]:null,y=this.checkIsUniqueColumn(d)?d[0]:null,p=this.checkIsUniqueColumn(c)?c[0]:null;Object.assign(i.unifiedLayout,{uniqueColClassInSM:f,uniqueColClassInMD:u,uniqueColClassInLG:y,uniqueColClassInEL:p})}checkIsUniqueColumn(e){const l=new Set(e);return Array.from(l).length===1}getItemCollectionEditor(e,l,i){return l=l||"value",i=i||"name",{editor:{columns:[{field:l,title:"值",dataType:"string"},{field:i,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:l,nameField:i,requiredFields:[l,i],uniqueFields:[l,i],readonly:this.checkEnumDataReadonly(e)}}}checkEnumDataReadonly(e){return!e.binding||e.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===$.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(e,l){e.binding&&e.binding.type===te.Form&&e.binding.field?(l.find(i=>i.label==="fieldValueChanging"),l.find(i=>i.label==="fieldValueChanged"),this.designViewModelField&&(e.fieldValueChanging=this.designViewModelField.valueChanging,e.fieldValueChanged=this.designViewModelField.valueChanged)):l=l.filter(i=>i.label!=="fieldValueChanging"&&i.label!=="fieldValueChanged")}getControlMethodType(e){if(!e.binding)return e.type;switch(e.binding.type){case te.Form:return e.binding.path||e.type;case te.Variable:return e.binding.fullPath||e.type}return e.type}updateLinkedLabel(e,l){if(e.boundEventsList&&e.boundEventsList.length>0){const i=e.boundEventsList.find(a=>a.boundEvents&&a.boundEvents.label==="onClickLabel");l.linkLabel=!!i}else l.linkLabel=!1}getInputCommonEvents(e){return e.binding&&e.binding.type===te.Variable?[{label:"onClickLabel",name:"标签点击事件"}]:[...this.formGroupEvents]}getEventPropertyConfig(e,l="card",i,a){const s=this;let r=this.getInputCommonEvents(e);if(i&&(r=r.concat(i)),r.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:"commands",tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(e,r);const d=s.eventsEditorUtils.formProperties(e,s.viewModelId,r);return{title:"事件",hideTitle:!0,properties:s.createBaseEventProperty(d),tabId:"commands",tabName:"交互",setPropertyRelates(u,y){const p=u.propertyValue;delete e[s.viewModelId],p&&(p.setPropertyRelates=this.setPropertyRelates,p.controlInfo={type:s.getControlMethodType(e),name:e.title},s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,p.events,p),s.updateLinkedLabel(p,y)),a&&a(u,y,p);const m=s.designViewModelUtils.getDgViewModel(s.viewModelId);m&&s.designViewModelField&&m.changeField(s.designViewModelField.id,{valueChanging:e.fieldValueChanging,valueChanged:e.fieldValueChanged})}}}getExpressionConfig(e,l,i=["compute","dependency","validate"],a){return this.expressionProperty.getExpressionConfig(e,l,i,a)}getBindingDataType(e){return this.formRule?(e==null?void 0:e.dataType)||"string":this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(e){return this.getBindingDataType(e)==="number"?this.numberEditorOptions:{}}updatePropertyValue(e,l,i){var a;e.editor[l]!==i?e.editor[l]=i:(a=this.getFormDesignerInstance())==null||a.reloadPropertyPanel()}setBooleanValue(e,l,i){let a=i;this.getBindingDataType()==="string"&&(a=(a||"").trim()||(l==="trueValue"?"true":"false"));const r=l==="trueValue"?"falseValue":"trueValue";e.editor[r]===a&&(a=a+1),this.updatePropertyValue(e,l,a)}getBooleanValueConverter(){return{convertFrom:(e,l)=>e.editor[l],convertTo:(e,l,i)=>{this.setBooleanValue(e,l,i)}}}}class je extends He{constructor(t,e){super(t,e)}getEditorProperties(t){const e=this;return e.getComponentConfig(t,{type:"radio-group"},{disabled:{visible:!1},placeholder:{visible:!1},direction:{description:"",title:"排列方向",type:"enum",editor:{data:[{id:"horizontal",name:"横向"},{id:"vertical",name:"纵向"}]}},dataSourceType:{description:"",title:"数据源类型",type:"enum",visible:!1,editor:{default:"static",data:[{id:"static",name:"静态"},{id:"dynamic",name:"动态"}]},refreshPanelAfterChanged:!0},data:{description:"",title:"数据",type:"array",visible:!t.editor.dataSourceType||t.editor.dataSourceType==="static",...e.getItemCollectionEditor(t,t.editor.valueField,t.editor.textField),refreshPanelAfterChanged:!0},bindDataSource:{description:"",title:"绑定数据源",type:"string",visible:t.editor.dataSourceType==="dynamic"},textField:{description:"",title:"文本字段",type:"string",readonly:t.editor.dataSourceType!=="dynamic"},valueField:{description:"",title:"值字段",type:"string",readonly:t.editor.dataSourceType!=="dynamic"}},this.setEditorPropertyRelates)}setEditorPropertyRelates(t,e,l){if(!t||!e.editor)return;const i=this;switch(t.propertyID){case"dataSourceType":{t.propertyValue==="static"&&(e.editor.valueField="value",e.editor.textField="name");break}case"data":{!i.checkEnumDataReadonly(e)&&e.formatter&&(e.formatter.data=[...t.propertyValue]);break}}}changeBindingField(t,e,l){var a;super.changeBindingField(t,e);const i=l;t.editor&&((a=i==null?void 0:i.type)==null?void 0:a.$type)===$.FormSchemaEntityFieldType$Type.EnumType&&(t.editor.data=i.type.enumValues||[])}}function Ae(n,t){const e=n.schema;function l(i,a){return new je(i,t).getPropertyConfig(e,a)}return{getPropsConfig:l}}const ne=o.defineComponent({name:"FRadioGroupDesign",props:Re,emits:["changeValue","update:modelValue"],setup(n,t){const e=o.ref(n.modelValue),{enumData:l,getValue:i,getText:a}=Oe(n,t,e),s=o.computed(()=>({"farris-checkradio-hor":n.direction==="horizontal"})),r=o.ref(),d=o.inject("designer-host-service"),c=o.inject("design-item-context"),f=Ae(c,d),u=b.useDesignerComponent(r,c,f);o.onMounted(()=>{r.value.componentInstance=u});const y=o.computed(()=>{if(!l.value||l.value.length===0){const p=[];return[{value:"example1",name:"示例一"},{value:"example2",name:"示例二"}].map(m=>{const v={};v[n.valueField]=m.value,v[n.textField]=m.name,p.push(v)}),p}return l.value});return t.expose(u.value),()=>o.createVNode("div",{class:["farris-input-wrap",s.value],ref:r},[y.value.map((p,m)=>{const v="radio_"+n.name+m;return o.createVNode("div",{class:"custom-control custom-radio"},[o.createVNode("input",{type:"radio",class:"custom-control-input",name:n.name,id:v,value:i(p),disabled:!0},null),o.createVNode("label",{class:"custom-control-label",for:v},[a(p)])])})])}}),Ue={id:{type:String,default:""},buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:{type:Number},tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupOnClick:{type:Boolean,default:!1},popupClass:{type:String,default:""},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"},keepWidthWithReference:{type:Boolean,default:!0},placement:{type:String,default:"bottom-left"},limitContentBySpace:{type:Boolean,default:!1},beforeClosePopup:{type:Function,default:null}},qe={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},We=o.defineComponent({name:"FOverlay",props:qe,emits:["click"],setup(n,t){const e=o.ref(n.popupContentPosition),l=o.ref(n.host),i=o.computed(()=>({backgroundColor:n.backgroundColor||"",pointerEvents:"auto"}));function a(r){t.emit("click"),r.preventDefault(),r.stopPropagation()}o.computed(()=>{const r=l.value;if(r){const d=r.getBoundingClientRect(),{left:c,top:f,height:u}=d;return{left:c,top:f+u}}return e.value});const s=o.computed(()=>({}));return()=>o.createVNode(o.Teleport,{to:"body"},{default:()=>{var r,d;return[o.createVNode("div",{class:"overlay-container",onClick:c=>a(c),style:i.value},[o.createVNode("div",{style:s.value},[(d=(r=t.slots).default)==null?void 0:d.call(r)])])]}})}});function Ge(n){if(n.content&&n.content.render)return n.content.render;if(n.render&&typeof n.render=="function")return n.render}function Ke(n){const t=document.createElement("div");t.style.display="contents";let e;const l=n.onClickCallback||(()=>{}),i=()=>{l(),e&&e.unmount()};return e=o.createApp({setup(){o.onUnmounted(()=>{document.body.removeChild(t)});const a=Ge(n);return()=>o.createVNode(We,{"popup-content-position":n.popupPosition,host:n.host,onClick:i,backgroundColor:n.backgroundColor},{default:()=>[a&&a()]})}}),document.body.appendChild(t),e.mount(t),e}class Xe{static show(t){return Ke(t)}}const _e={allowClickMaskToClose:{type:Boolean,default:!1},beforeClose:{type:Function,default:()=>!0},class:{type:String,default:""},maskClass:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},mask:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},resizeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},openedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1},dialogType:{type:String,default:""},src:{type:String,default:""},footerHeight:{type:Number,default:60},host:{type:Object,default:"body"},isMessager:{type:Boolean,default:!1},maximized:{type:Boolean,default:!1}};class A{constructor(t,e){this.x=t,this.y=e}static getTransformInfo(t){const l=window.getComputedStyle(t).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(l.length>=6){const i=parseInt(l[4],10),a=parseInt(l[5],10);return{x:i,y:a}}return{x:0,y:0}}static fromEvent(t,e=null){if(this.isMouseEvent(t))return new A(t.clientX,t.clientY);if(e===null||t.changedTouches.length===1)return new A(t.changedTouches[0].clientX,t.changedTouches[0].clientY);for(let l=0;l<t.changedTouches.length;l++)if(t.changedTouches[l].target===e)return new A(t.changedTouches[l].clientX,t.changedTouches[l].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 e=new A(0,0);if(window){const l=window.getComputedStyle(t);if(l){const i=parseInt(l.getPropertyValue("left"),10),a=parseInt(l.getPropertyValue("top"),10);e.x=isNaN(i)?0:i,e.y=isNaN(a)?0:a}return e}return null}static copy(t){return new A(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 Z{constructor(t,e){this.width=t,this.height=e}static getCurrent(t){const e=new Z(0,0);if(window){const l=window.getComputedStyle(t);return l&&(e.width=parseInt(l.getPropertyValue("width"),10),e.height=parseInt(l.getPropertyValue("height"),10)),e}return null}static copy(t){return new Z(0,0).set(t)}set(t){return this.width=t.width,this.height=t.height,this}}function Ye(n,t){const e=o.ref(),l=o.ref(),i=o.ref(),a=o.ref(),s=o.ref(),r=o.ref(),d=o.ref(),c=o.ref(),f=o.ref(),u=o.ref(),y=o.ref(),p=o.ref(n.resizeable),m=o.ref(),v=o.ref(n.draggable),E=o.ref(!1);function I(){const w=l.value||document.body,M=window.getComputedStyle(w);if(!M||!e.value)return;const O=A.getTransformInfo(e.value),R={};d.value&&(R.deltaL=e.value.offsetLeft-d.value.x,R.deltaT=e.value.offsetTop-d.value.y);const G=M.getPropertyValue("position");R.width=w.clientWidth,R.height=w.clientHeight,R.pr=parseInt(M.getPropertyValue("padding-right"),10),R.pb=parseInt(M.getPropertyValue("padding-bottom"),10),R.position=M.getPropertyValue("position"),G==="static"&&(w.style.position="relative"),R.translateX=O.x,R.translateY=O.y,u.value=R}function x(w){if(e.value){a.value=Z.getCurrent(e.value),s.value=A.getCurrent(e.value),r.value=a.value?Z.copy(a.value):null,d.value=s.value?A.copy(s.value):null,I();const M=w.target.getAttribute("type")||"";c.value={n:!!M.match(/n/),s:!!M.match(/s/),w:!!M.match(/w/),e:!!M.match(/e/)}}}function T(){var w,M,O,R;if(e.value){const G=e.value;c.value&&((c.value.n||c.value.s)&&((w=r.value)!=null&&w.height)&&(G.style.height=r.value.height+"px"),(c.value.w||c.value.e)&&((M=r.value)!=null&&M.width)&&(G.style.width=r.value.width+"px"),d.value&&((O=d.value)!=null&&O.x&&(G.style.left=d.value.x+"px"),(R=d.value)!=null&&R.y&&(G.style.top=d.value.y+"px")))}}function z(){const w=n.minHeight?n.minHeight:1,M=n.minWidth?n.minWidth:1;r.value&&d.value&&c.value&&a.value&&(r.value.height<w&&(r.value.height=w,c.value.n&&s.value&&(d.value.y=s.value.y+(a.value.height-w))),r.value.width<M&&(r.value.width=M,c.value.w&&s.value&&(d.value.x=s.value.x+(a.value.width-M))),n.maxHeight&&r.value.height>n.maxHeight&&(r.value.height=n.maxHeight,s.value&&c.value.n&&(d.value.y=s.value.y+(a.value.height-n.maxHeight))),n.maxWidth&&r.value.width>n.maxWidth&&(r.value.width=n.maxWidth,c.value.w&&s.value&&(d.value.x=s.value.x+(a.value.width-n.maxWidth))))}function L(){if(l.value){const w=u.value;if(d.value&&r.value&&c.value&&a.value){const M=w.width-w.pr-w.deltaL-w.translateX-d.value.x,O=w.height-w.pb-w.deltaT-w.translateY-d.value.y;c.value.n&&d.value.y+w.translateY<0&&s.value&&(d.value.y=-w.translateY,r.value.height=a.value.height+s.value.y+w.translateY),c.value.w&&d.value.x+w.translateX<0&&s.value&&(d.value.x=-w.translateX,r.value.width=a.value.width+s.value.x+w.translateX),r.value.width>M&&(r.value.width=M),r.value.height>O&&(r.value.height=O)}}}function H(w){if(!i.value||!a.value||!s.value||!c.value)return;w.subtract(i.value);const M=w.x,O=w.y;c.value.n?(d.value.y=s.value.y+O,r.value.height=a.value.height-O):c.value.s&&(r.value.height=a.value.height+O),c.value.e?r.value.width=a.value.width+M:c.value.w&&(r.value.width=a.value.width-M,d.value.x=s.value.x+M),L(),z(),T()}function h(w){if(!f.value)return;const M=A.fromEvent(w);M&&H(M)}function C(){if(e.value){const{width:w,height:M,x:O,y:R}=e.value.getBoundingClientRect(),G=A.getTransformInfo(e.value);return{size:{width:w,height:M},position:{x:O-G.x,y:R-G.y}}}return null}function k(w){if(e.value){const M=C();y.value=M}i.value=void 0,a.value=null,s.value=null,r.value=null,d.value=null,c.value=null,f.value=null,document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",k)}function P(){document.addEventListener("mousemove",h),document.addEventListener("mouseup",k)}function V(w){w instanceof MouseEvent&&w.button===2||v.value&&(document.body.click(),w.stopPropagation(),w.preventDefault(),i.value=A.fromEvent(w),f.value=w.target,x(w),P())}function S(w){return e.value=w,p.value&&o.createVNode(o.Fragment,null,[o.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:M=>V(M)},null),o.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:M=>V(M)},null),o.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:M=>V(M)},null),o.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:M=>V(M)},null),o.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:M=>V(M)},null),o.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:M=>V(M)},null),o.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:M=>V(M)},null),o.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:M=>V(M)},null)])}function j(w=!0){document.body.click();const M=l.value||document.body,O=Z.getCurrent(M),R=e.value;w&&R&&(m.value=C(),m.value.transform=R.style.transform),O&&R&&(r.value=O,r.value.height-=14,r.value.width-=14,R.style.height=r.value.height+"px",R.style.width=r.value.width+"px",R.style.left="7px",R.style.top="7px",R.style.transform="",y.value={size:r.value,position:{x:0,y:0}},v.value=!1,E.value=!0)}function U(){var w,M;if(document.body.click(),m.value){const O={width:m.value.size.width||0,height:m.value.size.height||0},R={x:(window.innerWidth-O.width)/2,y:(window.innerHeight-O.height)/2};(w=r.value)==null||w.set(O),(M=d.value)==null||M.set(R);const G=e.value;G.style.height=O.height+"px",G.style.width=O.width+"px",G.style.left=`${R.x}px`,G.style.top=`${R.y}px`,G.style.transform="",y.value={size:O,position:R},v.value=n.draggable,E.value=!1}}function X(){if(e.value){const w=Z.getCurrent(e.value);if(w){const{width:M,height:O}=w;e.value.style.left=`${(window.innerWidth-M)/2}px`,e.value.style.top=`${(window.innerHeight-O)/2}px`,e.value.style.transform=""}}}function N(){const w=()=>{E.value?j(!1):X(),document.body.click()};return window.addEventListener("resize",w),()=>{window.removeEventListener("resize",w)}}const W=N();return{renderResizeBar:S,boundingElement:l,resizedEventParam:y,m