@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
2 lines (1 loc) • 23.2 kB
JavaScript
(function(f,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("vue"),require("../dynamic-resolver/index.umd.js"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../property-panel/index.umd.js"),require("lodash-es"),require("../dynamic-form/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../dynamic-resolver/index.umd.js","../common/index.umd.js","../designer-canvas/index.umd.js","../property-panel/index.umd.js","lodash-es","../dynamic-form/index.umd.js"],a):(f=typeof globalThis<"u"?globalThis:f||self,a(f.fieldset={},f.Vue,f.dynamicResolver,f.common,f.designerCanvas,f.propertyPanel,f.LodashES,f.dynamicForm))})(this,function(f,a,F,z,w,k,W,U){"use strict";var ie=Object.defineProperty;var se=(f,a,F)=>a in f?ie(f,a,{enumerable:!0,configurable:!0,writable:!0,value:F}):f[a]=F;var h=(f,a,F)=>se(f,typeof a!="symbol"?a+"":a,F);const A=new Map([["appearance",F.resolveAppearance]]),j={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/fieldset.schema.json",title:"fieldset",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a fieldset",type:"string"},type:{description:"The type string of fieldset component",type:"string",default:"fieldset"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},title:{description:"The title for a fieldset",type:"string"},expandStatus:{description:"The expanded status for a fieldset",type:"boolean",default:!0},expandLabel:{description:"The expanded label for a fieldset",type:"string"},collapseLabel:{description:"The collapsed label for a fieldset",type:"string"},contents:{description:"",type:"array",default:[]},visible:{description:"",type:"boolean",default:!0},sectionCollapseVisible:{description:"",type:"boolean",default:!1}},required:["id","type","contents"]};function O(c,e,t){return Object.assign(e,{appearance:{class:"col-12 px-0"},title:"分组标题"}),e}const T={customClass:{type:String,default:""},customStyle:{type:String,default:""},title:{type:String,default:""},expandStatus:{type:Boolean,default:!0},expandLabel:{type:String,default:""},collapseLabel:{type:String,default:""},visible:{type:Boolean,default:!0},sectionCollapseVisible:{type:Boolean,default:!1}},q=Object.assign({},T,{componentId:{type:String,default:""}}),J=F.createPropsResolver(T,j,A,O),B=F.getPropsResolverGenerator(T,j,A,O),R=a.defineComponent({name:"FFieldset",props:T,emits:[],setup(c,e){const t=a.ref(c.expandStatus),i=a.computed(()=>{const o={"f-section-formgroup":!0,"f-state-collapse":!t.value,"f-state-visible":c.sectionCollapseVisible};return z.getCustomClass(o,c.customClass)}),s=a.computed(()=>({btn:!0,"f-btn-mx":!0,"f-btn-collapse-expand":!0,"f-state-expand":t.value}));function n(){t.value=!t.value}return a.watch(()=>c.expandStatus,(o,l)=>{o!==l&&(t.value=o)}),()=>c.visible?a.createVNode("fieldset",{class:i.value,style:c.customStyle},[a.createVNode("legend",{class:"f-section-formgroup-legend"},[a.createVNode("div",{class:"f-header"},[a.createVNode("div",{class:"f-title",onClick:n},[c.title]),a.createVNode("div",{class:"f-toolbar",onClick:n},[a.createVNode("button",{class:s.value},[a.createVNode("span",null,[t.value?c.collapseLabel:c.expandLabel])])])])]),a.createVNode("div",{class:{"f-section-formgroup-inputs":!0,"f-state-visible":c.sectionCollapseVisible}},[e.slots.default&&e.slots.default()])]):null}});function K(c){const{formSchemaUtils:e,formStateMachineUtils:t}=c;function i(r,d=""){return{path:d+r.code,field:r.id,fullPath:r.code}}function s(r,d=""){const p=e.getViewModelById(r);return p?p.states.map(m=>i(m,d)):[]}function n(r){const d=e.getRootViewModelId(),p=s(r);if(r===d)return p;const m=s(d,"root-component.");return[...p,...m]}function o(r){return r.binding&&r.binding.path||r.id||""}function l(){return t&&t.getRenderStates()||[]}return{getVariables:n,getControlName:o,getStateMachines:l}}class Q{constructor(e){h(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'"}]);h(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});h(this,"getExpressionConverter",(e,t)=>({convertFrom:(i,s,n,o)=>{const l=n.getExpressionRuleValue(e,t||s);return l&&l.value||""},convertTo:(i,s,n,o,l)=>{var r;if(s==="dataPicking"&&(n!=null&&n.target)){const d=`${n.target}_dataPicking`;((r=n.rules)==null?void 0:r.some(m=>m.id===d&&m.value))?i.dictPickingExpressionId=d:delete i.dictPickingExpressionId}o.updateExpression(n)}}));this.formSchemaService=e}getExpressionRule(e,t){const i=this.getExpressionData();if(!i)return"";const s=i.find(o=>o.target===e);if(!s)return"";const n=s.rules.find(o=>o.type===t);return n||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const t=this.formSchemaService.getRootViewModelId(),i=this.formSchemaService.getViewModelById(t);if(!i||!i.states||i.states.length===0)return[];const s=[];return i.states.filter(n=>n.category==="remote").forEach(n=>{s.push({key:n.code,name:n.name,description:n.name,category:n.category})}),s}createTreeNode(e,t,i="label"){return{id:e.id,name:e.name,bindingPath:e[i],parents:t,type:"field"}}buildEntityFieldsTreeData(e=null,t){const i=[];return e==null||e.forEach(s=>{var l;const n=this.createTreeNode(s,t);let o=[];(l=s.type)!=null&&l.fields&&(o=this.buildEntityFieldsTreeData(s.type.fields,[...t,s.label])),i.push({data:n,children:o,expanded:!0})}),i}buildChildEntityTreeData(e=null,t){const i=[];return e==null||e.forEach(s=>{var r,d;const n=this.createTreeNode(s,t);n.type="entity";const o=this.buildEntityFieldsTreeData((r=s.type)==null?void 0:r.fields,[...t,s.label]),l=this.buildChildEntityTreeData((d=s.type)==null?void 0:d.entities,[...t,s.label]);l!=null&&l.length&&(o==null||o.push(...l)),i.push({data:n,children:o||[],expanded:!0})}),i}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const t=e[0];if(!(t!=null&&t.type))return[];const i=this.buildEntityFieldsTreeData(t.type.fields,[t.code]),s=this.buildChildEntityTreeData(t.type.entities,[t.code]);return s!=null&&s.length&&(i==null||i.push(...s)),{entityCode:t.code,fields:[{data:this.createTreeNode(t,[],"code"),children:i||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,t,i){const s=i==="Field"?e.binding.field:e.id,n=this.getExpressionRule(s,t),o=this.getEntitiesAndVariables(),l={message:["validate","required","dataPicking"].includes(t)&&n?n.message:"",...o};return n.messageType!=null&&(l.messageType=n.messageType),l}buildRule(e,t,i,s){const{expression:n,message:o,messageType:l}=t,r={id:`${e}_${i}`,type:i,value:n};return(i==="validate"||i==="dataPicking"||i==="required")&&(r.message=o),i==="dataPicking"&&(r.messageType=l),i==="validate"&&s&&(r.elementId=s),r}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,t,i,s){const n=t==="Field"?e.binding.field:e.id,o=this.buildRule(n,i,s,e.type==="form-group"?e.id:"");let r=this.getExpressionData().find(p=>p.targetType===t&&p.target===n);const d=p=>p.value.trim()==="";if(r){const p=r.rules.find(m=>m.id===o.id);if(p)d(o)?r.rules=r.rules.filter(m=>m.id!==o.id):(Object.assign(p,o),s==="validate"&&e.type==="form-group"&&(p.elementId=e.id));else{if(d(o))return null;r.rules=r.rules||[],r.rules.push(o)}}else{if(d(o))return null;r={target:`${n}`,rules:[o],targetType:t}}return r}getExpressionEditorOptions(e,t,i,s){return i.reduce((n,o)=>{var r,d;const l=t==="Field"?(r=e==null?void 0:e.binding)==null?void 0:r.field:e.id;return n[o]={hide:t==="Field"?!!((d=e==null?void 0:e.binding)!=null&&d.field):!1,description:"",title:this.expressionNames[o],type:"string",$converter:this.getExpressionConverter(l),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[o]}编辑器`,showMessage:o==="validate"||o==="dataPicking"||o==="required",showMessageType:o==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(e,o,t),onSubmitModal:p=>{const m=this.updateExpression(e,t,p,o);if(s){const x=this.buildRule(l,p,o);s(x)}return m}}},n},{})}getExpressionInfo(e,t,i){const s=t==="Field"?e.binding.field:e.id,n=this.getExpressionRule(s,i),o={value:n&&n.value,targetId:s,targetType:t,expressionType:i};return n&&n.message&&(o.message=n.message),o}getExpressionConfig(e,t,i=["compute","dependency","validate"],s){var n;return{description:"表达式",title:"表达式",hide:!(e.binding&&((n=e.binding)==null?void 0:n.type)==="Form"),properties:{...this.getExpressionEditorOptions(e,t,i,s)}}}getExpressionOptions(e,t,i){const s=this.getExpressionInfo(e,t,i);return{dialogTitle:`${this.expressionNames[i]||"表达式"}编辑器`,singleExpand:!1,showMessage:i==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,i,t),expressionInfo:s}}}class X{constructor(e,t){h(this,"componentId");h(this,"viewModelId");h(this,"eventsEditorUtils");h(this,"formSchemaUtils");h(this,"formMetadataConverter");h(this,"designViewModelUtils");h(this,"designViewModelField");h(this,"controlCreatorUtils");h(this,"designerHostService");h(this,"designerContext");h(this,"modalService",null);h(this,"formRule",null);h(this,"schemaService",null);h(this,"metadataService",null);h(this,"propertyConfig",{type:"object",categories:{}});h(this,"expressionProperty");var i;this.componentId=e,this.designerHostService=t,this.eventsEditorUtils=t.eventsEditorUtils,this.formSchemaUtils=t.formSchemaUtils,this.formMetadataConverter=t.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=t.designViewModelUtils,this.controlCreatorUtils=t.controlCreatorUtils,this.metadataService=t.metadataService,this.schemaService=t.schemaService,this.designerContext=t.designerContext,this.modalService=t.modalService,this.expressionProperty=new Q(this.formSchemaUtils)}inResponsiveForm(){var e;return!!((e=this.designerContext)!=null&&e.responsiveForm)}getFormDesignerInstance(){var e,t;return(t=(e=this.designerContext)==null?void 0:e.instances)==null?void 0:t.formDesigner.value}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var i;const t=e.binding&&e.binding.type==="Form"&&e.binding.field;if(t){if(!this.designViewModelField){const s=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=s.fields.find(n=>n.id===t)}e.updateOn=(i=this.designViewModelField)==null?void 0:i.updateOn}}getBasicPropConfig(e){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:e.type,name:w.DgControl[e.type]&&w.DgControl[e.type].name}]}}}}}getAppearanceConfig(e=null,t={},i){const s={title:"外观",description:"Appearance"},n={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 o in t)n[o]=Object.assign(n[o]||{},t[o]);return{...s,properties:{...n},setPropertyRelates(o,l){if(o){switch(o&&o.propertyID){case"class":case"style":{w.canvasChanged.value++;break}}i&&i(o,e,l)}}}}getPropertyEditorParams(e,t=[],i="visible",s={},n={},o=""){const{getVariables:l,getControlName:r,getStateMachines:d}=K(this.designerHostService),p=this.getRealTargetType(e),m=t&&t.length>0?t:["Const","Variable","StateMachine","Expression"],x={type:"property-editor",propertyTypes:m};return m.map(S=>{switch(S){case"Const":Object.assign(x,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},s);break;case"Expression":x.expressionConfig=this.getExpressionOptions(e,p,o||i);break;case"StateMachine":x.stateMachines=d();break;case"Variable":Object.assign(x,{controlName:r(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:l(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:v=>{v.value=l(this.viewModelId)}},n),this.designerContext.designerMode==="PC_RTC"&&(x.newVariablePrefix="ext_"+x.newVariablePrefix);break}}),x}getVisibleProperty(e,t=""){var n;let i=["Const","Variable","StateMachine","Expression"];return t==="gridFieldEditor"?i=["Const","Expression"]:t==="form-group"&&!((n=e.binding)!=null&&n.field)?i=["Const","Variable","StateMachine","Custom"]:t==="dataGrid"||t==="treeGrid"||t==="wizard"?i=["Const","Variable","Expression"]:(e.type.indexOf("toolbar-item")>-1||t==="form-group")&&(i=["Const","Variable","StateMachine","Custom","Expression"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,i,"visible")}}}getBehaviorConfig(e,t="",i={},s){const n={title:"行为",description:""},o=this.getVisibleProperty(e,t);for(const r in i)o[r]=Object.assign(o[r]||{},i[r]);const l=this;return{...n,properties:{...o},setPropertyRelates(r,d){if(r){switch(r.propertyID){case"disabled":case"readonly":case"visible":l.afterMutilEditorChanged(e,r);break}s&&s(r,d)}}}}afterMutilEditorChanged(e,t){this.addNewVariableToViewModel(t,this.viewModelId),this.updateExpressionValue(t,e),this.clearExpression(t,e)}updateElementByParentContainer(e,t){const i=t&&t.parent&&t.parent.schema;if(!i)return;const s=i.contents.findIndex(o=>o.id===e),n=W.cloneDeep(i.contents[s]);i.contents.splice(s,1),i.contents.splice(s,0,n),w.refreshCanvas()}addNewVariableToViewModel(e,t){const i=e.propertyValue;if(!(i&&typeof i=="object")||!(i.type==="Variable"&&i.isNewVariable))return;const o={id:i.field,category:"locale",code:i.fullPath,name:i.fullPath,type:i.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete i.newVariableType,delete i.isNewVariable,this.formSchemaUtils.getVariableByCode(o.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(o)}getExpressions(){let e=[];return this.formRule?(this.formRule.expressions=this.formRule.expressions||[],e=this.formRule.expressions||[]):e=this.formSchemaUtils.getExpressions(),e}updateExpressionValue(e,t){const i=e.propertyValue;if(!((i&&i.type)==="Expression"&&i.expressionInfo))return;const{expressionId:o,expressionInfo:l}=i,{targetId:r,targetType:d,expressionType:p,value:m,message:x}=l,S=this.getExpressions();let v=S.find(P=>P.target===r);v||(v={target:r,rules:[],targetType:d},S.push(v));const y=v.rules.find(P=>P.type===p);if(y)y.id=o,y.value=m,y.message=x,(p==="minDate"||p==="maxDate"||p==="defaultTime")&&(y.elementId=t.id);else{const P={id:o,type:p,value:m,message:x,elementId:t.id};v.rules.push(P)}delete i.expressionInfo}clearExpression(e,t){const i=e.propertyValue;if(i&&i.type==="Expression")return;const n=e.propertyID,o=this.getExpressions(),l=t.binding?t.binding.field:t.id,r=o.find(d=>d.target===l);!r||!r.rules||(r.rules=r.rules.filter(d=>d.type!==n))}getExpressionOptions(e,t,i){return this.expressionProperty.getExpressionOptions(e,t,i)}getRealTargetType(e){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(e.type)>-1?"Button":e.binding&&e.binding.field?"Field":"Container"}createBaseEventProperty(e){const t={};return t[this.viewModelId]={type:"events-editor",editor:{initialData:e,viewSourceHandle:i=>{var s;((s=i.controller)==null?void 0:s.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(i)}}},t}}class Y extends X{constructor(e,t){super(e,t)}getPropertyConfig(e){return this.propertyConfig.categories.basic=this.getBasicPropConfig(e),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,""),this.propertyConfig}getAppearanceProperties(e){const t=this;return this.getAppearanceConfig(e,{title:{title:"标题",type:"string",description:"标题"},expandStatus:{title:"默认状态",type:"boolean",description:"默认面板是展开还是收起",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{name:"展开",value:!0},{name:"收起",value:!1}],enableClear:!1}},expandLabel:{title:"展开文本",type:"string",description:"展开文本"},collapseLabel:{title:"收起文本",type:"string",description:"收起文本"},sectionCollapseVisible:{title:"分组面板收折时显示",type:"boolean",description:"收折分组面时是否显示当前分组内的控件"}},(s,n,o)=>{var l;switch(s&&s.propertyID){case"title":{s.needRefreshControlTree=!0,t.changeGroupNameInViewModel(n.id,s.propertyValue);break}case"sectionCollapseVisible":{(l=n.contents)!=null&&l.length&&n.contents.forEach(r=>{r.appearance||(r.appearance={class:""}),r.appearance.class||(r.appearance.class=""),s.propertyValue?r.appearance.class.includes("f-state-visible")||(r.appearance.class=(r.appearance.class+" f-state-visible").trim()):r.appearance.class=r.appearance.class.replace("f-state-visible","").replace(/\s+/g," ").trim()});break}}})}changeGroupNameInViewModel(e,t){var n;const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);i&&i.changeGroupName(e,t);const s=this.formSchemaUtils.getViewModelById(this.viewModelId);(n=s==null?void 0:s.fields)!=null&&n.length&&s.fields.forEach(o=>{o.groupId===e&&(o.groupName=t)})}}function Z(c,e){const t=new w.UseTemplateDragAndDropRules,{canAccept:i}=t.getTemplateRule(c,e),s=c.schema;function n(){return"f-section-formgroup"}function o(){return!0}function l(){return!0}function r(){return!1}function d(u){const{sourceElement:g}=u,{componentInstance:V}=g,b=e==null?void 0:e.formSchemaUtils;if(!b)return!0;const I=b.getComponentById(V.value.belongedComponentId),C=b.getViewModelById(I.viewModel),M=b.getComponentById(c.componentInstance.value.belongedComponentId),E=b.getViewModelById(M.viewModel);return C!=null&&C.id&&(E!=null&&E.id)&&C.id!==E.id?C.bindTo===E.bindTo:!0}function p(u){const{bindingTargetId:g}=u;if(!e)return;const{formSchemaUtils:V,schemaService:b}=e,I=V.getComponentById(c.componentInstance.value.belongedComponentId),C=b.getFieldByIDAndVMID(g,I.viewModel);return!!(C!=null&&C.schemaField)}function m(u){return u.sourceType==="control"&&u.componentCategory==="input"?!0:u.sourceType==="move"&&u.componentType==="form-group"?d(u):u.sourceType==="field"&&u.componentCategory==="input"?p(u):!1}function x(u){return!(!w.useDragulaCommonRule().basalDragulaRuleForContainer(u,e)||!i||!m(u))}function S(u){return new Y(u,e).getPropertyConfig(s)}function v(u){var E,N,$,D,G;if(!e)return;const{formSchemaUtils:g,designViewModelUtils:V}=e,b=u.componentInstance,I=b.value.parent,C=g.getComponentById(b.value.belongedComponentId),M=V.getDgViewModel(C.viewModel);switch(I&&((E=I.schema)==null?void 0:E.type)){case w.DgControl.fieldset.type:case w.DgControl["response-form"].type:case w.DgControl["response-layout-item"].type:{const L={groupId:s.id,groupName:s.title},te=($=(N=b.value.schema)==null?void 0:N.binding)==null?void 0:$.type,_=(G=(D=b.value.schema)==null?void 0:D.binding)==null?void 0:G.field;switch(te){case k.FormBindingType.Form:{M.changeField(_,L);break}case k.FormBindingType.Variable:{g.modifyViewModelFieldById(C.viewModel,_,L,!0);break}}break}}}function y(u){if(!u||!u.componentInstance||!e)return;const g=u.componentInstance,V=g.value.schema;if(!V.binding||!V.binding.field)return;v(u);const{formSchemaUtils:b}=e,I=b.getViewModelIdByComponentId(g.value.belongedComponentId),C=b.getViewModelIdByComponentId(c.componentInstance.value.belongedComponentId);I!==C&&U.useDesignerRules(c,e).moveInputBetweenComponent(u)}function P(u,g){var V,b,I;if(u.componentCategory==="input"){const{label:C}=u;let M;const E=e==null?void 0:e.controlCreatorUtils;(V=u.bindingSourceContext)!=null&&V.entityFieldNode?M=E.setFormFieldProperty((b=u.bindingSourceContext)==null?void 0:b.entityFieldNode,g==null?void 0:g.type):(M=E.createFormGroupWithoutField(g==null?void 0:g.type),M.label=C);const N=U.useDesignerRules(c,e);return N.resolveFormGroupAppearance(M),N.syncFieldToViewModel(u,(I=M.editor)==null?void 0:I.type,s.id,s.title),M}return g}return{canAccepts:x,hideNestedPaddingInDesginerView:r,getPropsConfig:S,checkCanDeleteComponent:o,checkCanMoveComponent:l,onAcceptMovedChildElement:y,onResolveNewComponentSchema:P,getDesignerClass:n}}const H=a.defineComponent({name:"FFieldsetDesign",props:q,emits:[],setup(c,e){const t=a.ref(),i=a.ref(),s=a.inject("design-item-context"),n=a.inject("designer-host-service"),o=Z(s,n),l=w.useDesignerComponent(i,s,o);e.expose(l.value);const{designerContext:r}=n;a.onMounted(()=>{i.value.componentInstance=l});const d=a.ref(!0);function p(y,P){y&&P&&P.split(" ").reduce((g,V)=>(g[V]=!0,g),y)}const m=a.computed(()=>{const y={"f-section-formgroup":!0,"f-state-collapse":!d.value};return p(y,c.customClass),y}),x=a.computed(()=>{const y=r&&r.designerMode==="Mobile";return{display:d.value?"flex":"none","flex-wrap":"wrap","flex-direction":y?"column":"row"}}),S=a.computed(()=>({btn:!0,"f-btn-mx":!0,"f-btn-collapse-expand":!0,"f-state-expand":d.value}));function v(y){y.stopPropagation(),d.value=!d.value,a.nextTick(()=>{w.setPositionOfSelectedComponentBtnGroup()})}return()=>a.createVNode("fieldset",{class:m.value,ref:t},[a.createVNode("legend",{class:"f-section-formgroup-legend"},[a.createVNode("div",{class:"f-header"},[a.createVNode("div",{class:"f-title",onClick:v},[c.title]),a.createVNode("div",{class:"f-toolbar",onClick:v},[a.createVNode("button",{class:S.value},[a.createVNode("span",null,[d.value?c.collapseLabel:c.expandLabel])])])])]),a.createVNode("div",{"data-dragref":`${s.schema.id}-container`,ref:i,class:"f-section-formgroup-inputs drag-container",style:x.value},[e.slots.default&&e.slots.default()])])}}),ee={install(c){c.component(R.name,R)},register(c,e,t,i,s){c.fieldset=R,e.fieldset=B(s)},registerDesigner(c,e,t,i){c.fieldset=H,e.fieldset=B(i)}};f.Fieldset=R,f.default=ee,f.fieldsetDesignerProps=q,f.fieldsetProps=T,f.propsResolver=J,f.propsResolverGenerator=B,Object.defineProperties(f,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});