@farris/ui-vue 1.5.7 → 1.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/avatar/index.esm.js +5 -5
- package/components/avatar/index.umd.cjs +1 -1
- package/components/component/index.esm.js +5 -5
- package/components/component/index.umd.cjs +1 -1
- package/components/condition/index.esm.js +5 -5
- package/components/condition/index.umd.cjs +1 -1
- package/components/content-container/index.esm.js +5 -5
- package/components/content-container/index.umd.cjs +1 -1
- package/components/date-picker/index.esm.js +1082 -1421
- package/components/date-picker/index.umd.cjs +1 -1
- package/components/designer-canvas/index.esm.js +908 -897
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/dynamic-form/index.esm.js +5 -5
- package/components/dynamic-form/index.umd.cjs +1 -1
- package/components/dynamic-view/index.esm.js +5 -5
- package/components/dynamic-view/index.umd.cjs +1 -1
- package/components/events-editor/index.esm.js +5 -5
- package/components/events-editor/index.umd.cjs +1 -1
- package/components/filter-bar/index.esm.js +13 -12
- package/components/filter-bar/index.umd.cjs +1 -1
- package/components/flow-canvas/index.esm.js +5 -5
- package/components/flow-canvas/index.umd.cjs +1 -1
- package/components/number-range/index.esm.js +5 -5
- package/components/number-range/index.umd.cjs +1 -1
- package/components/number-spinner/index.esm.js +5 -5
- package/components/number-spinner/index.umd.cjs +1 -1
- package/components/page-header/index.esm.js +862 -3625
- package/components/page-header/index.umd.cjs +1 -1
- package/components/property-panel/index.esm.js +5 -5
- package/components/property-panel/index.umd.cjs +1 -1
- package/components/query-solution/index.esm.js +77 -76
- package/components/query-solution/index.umd.cjs +6 -6
- package/components/response-layout/index.esm.js +5 -5
- package/components/response-layout/index.umd.cjs +1 -1
- package/components/response-toolbar/index.esm.js +500 -3662
- package/components/response-toolbar/index.umd.cjs +1 -1
- package/components/schema-selector/index.esm.js +3008 -7347
- package/components/schema-selector/index.umd.cjs +6 -6
- package/components/section/index.esm.js +117 -7544
- package/components/section/index.umd.cjs +1 -1
- package/components/tabs/index.esm.js +545 -4943
- package/components/tabs/index.umd.cjs +1 -1
- package/components/textarea/index.esm.js +100 -5841
- package/components/textarea/index.umd.cjs +2 -2
- package/components/time-picker/index.esm.js +5 -5
- package/components/time-picker/index.umd.cjs +1 -1
- package/components/video/index.esm.js +5 -5
- package/components/video/index.umd.cjs +1 -1
- package/designer/button-edit/index.css +1 -0
- package/designer/button-edit/index.esm.js +1556 -0
- package/designer/button-edit/index.umd.cjs +1 -0
- package/designer/checkbox/index.esm.js +207 -0
- package/designer/checkbox/index.umd.cjs +1 -0
- package/designer/checkbox-group/index.esm.js +377 -0
- package/designer/checkbox-group/index.umd.cjs +1 -0
- package/designer/data-grid/index.css +1 -0
- package/designer/data-grid/index.esm.js +14332 -0
- package/designer/data-grid/index.umd.cjs +20 -0
- package/designer/data-view/index.esm.js +271 -0
- package/designer/data-view/index.umd.cjs +1 -0
- package/designer/date-picker/index.esm.js +1879 -0
- package/designer/date-picker/index.umd.cjs +1 -0
- package/designer/drawer/index.css +1 -0
- package/designer/drawer/index.esm.js +463 -0
- package/designer/drawer/index.umd.cjs +1 -0
- package/designer/farris-designer.all.esm.js +16827 -0
- package/designer/farris-designer.all.umd.cjs +32 -0
- package/designer/index.css +1 -0
- package/designer/input-group/index.esm.js +647 -0
- package/designer/input-group/index.umd.cjs +1 -0
- package/designer/radio-group/index.esm.js +6959 -0
- package/designer/radio-group/index.umd.cjs +1 -0
- package/designer/response-toolbar/index.esm.js +3015 -0
- package/designer/response-toolbar/index.umd.cjs +1 -0
- package/designer/section/index.esm.js +744 -0
- package/designer/section/index.umd.cjs +1 -0
- package/designer/tabs/index.esm.js +2200 -0
- package/designer/tabs/index.umd.cjs +1 -0
- package/designer/textarea/index.esm.js +249 -0
- package/designer/textarea/index.umd.cjs +1 -0
- package/designer/tree-grid/index.css +1 -0
- package/designer/tree-grid/index.esm.js +1673 -0
- package/designer/tree-grid/index.umd.cjs +1 -0
- package/farris.all.esm.js +30447 -30444
- package/farris.all.umd.cjs +16 -16
- package/package.json +1 -1
- package/types/date-picker/designer.d.ts +29 -0
- package/types/date-picker/index.d.ts +2 -1
- package/types/date-picker/src/date-picker.props.d.ts +0 -5
- package/types/date-picker/src/designer/date-picker.design.props.d.ts +22 -0
- package/types/designer-canvas/index.d.ts +2 -2
- package/types/response-toolbar/designer.d.ts +37 -0
- package/types/response-toolbar/index.d.ts +6 -5
- package/types/response-toolbar/src/composition/toolbar-item-dragula.d.ts +1 -2
- package/types/response-toolbar/src/composition/types.d.ts +1 -1
- package/types/response-toolbar/src/designer/response-toolbar.design.props.d.ts +13 -0
- package/types/response-toolbar/src/designer/use-designer-item-rules.d.ts +1 -2
- package/types/response-toolbar/src/designer/use-designer-rules.d.ts +1 -2
- package/types/response-toolbar/src/property-config/response-toolbar-item.property-config.d.ts +1 -1
- package/types/response-toolbar/src/property-config/response-toolbar.property-config.d.ts +1 -1
- package/types/response-toolbar/src/response-toolbar.props.d.ts +0 -12
- package/types/response-toolbar/src/schema/schema-resolver.d.ts +1 -1
- package/types/section/designer.d.ts +26 -0
- package/types/section/index.d.ts +1 -0
- package/types/section/src/designer/section-header.design.component.d.ts +2 -2
- package/types/section/src/designer/section-toolbar-item.design.props.d.ts +16 -0
- package/types/section/src/designer/section-toolbar-item.props.d.ts +0 -1
- package/types/section/src/designer/section-toolbar.design.component.d.ts +2 -2
- package/types/section/src/designer/section.design.props.d.ts +11 -0
- package/types/section/src/designer/use-designer-rules.d.ts +1 -2
- package/types/section/src/property-config/section.property-config.d.ts +1 -1
- package/types/section/src/schema/schema-resolver.d.ts +1 -1
- package/types/section/src/section.props.d.ts +0 -10
- package/types/tabs/designer.d.ts +28 -0
- package/types/tabs/index.d.ts +1 -0
- package/types/tabs/src/components/tab-page.props.d.ts +0 -1
- package/types/tabs/src/designer/tab-page.design.props.d.ts +1 -0
- package/types/tabs/src/designer/tabs.design.props.d.ts +12 -0
- package/types/tabs/src/tabs.props.d.ts +0 -11
- package/types/textarea/designer.d.ts +28 -0
- package/types/textarea/index.d.ts +0 -15
- package/types/textarea/src/designer/textarea.design.props.d.ts +6 -0
- package/types/textarea/src/designer/use-design-rules.d.ts +1 -2
- package/types/textarea/src/property-config/textarea.property-config.d.ts +1 -1
- package/types/textarea/src/schema/schema-resolver.d.ts +1 -1
- package/types/textarea/src/textarea.props.d.ts +0 -5
- package/components/textarea/index.css +0 -1
- /package/{components/section → designer/radio-group}/index.css +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(X,i){typeof exports=="object"&&typeof module<"u"?i(exports,require("vue"),require("../response-toolbar/index.umd.js"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js"),require("../capsule/index.umd.js"),require("../section/index.umd.js"),require("../property-panel/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../response-toolbar/index.umd.js","lodash-es","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js","../capsule/index.umd.js","../section/index.umd.js","../property-panel/index.umd.js"],i):(X=typeof globalThis<"u"?globalThis:X||self,i(X.tabs={},X.Vue,X.FResponseToolbar,X.LodashES,X.dynamicResolver,X.designerCanvas,X.common,X.FCapsule,X.FSection,X.propertyPanel))})(this,function(X,i,Te,he,xe,se,we,Et,Qe,$e){"use strict";var to=Object.defineProperty;var no=(X,i,Te)=>i in X?to(X,i,{enumerable:!0,configurable:!0,writable:!0,value:Te}):X[i]=Te;var ne=(X,i,Te)=>no(X,typeof i!="symbol"?i+"":i,Te);const Je={},Ze={};function je(n){const{properties:e,title:t,ignore:o}=n,r=o&&Array.isArray(o),s=Object.keys(e).reduce((a,c)=>((!r||!o.find(l=>l===c))&&(a[c]=e[c].type==="object"&&e[c].properties?je(e[c]):he.cloneDeep(e[c].default)),a),{});if(t&&(!r||!o.find(a=>a==="id"))){const a=t.toLowerCase().replace(/-/g,"_");s.id=`${a}_${Math.random().toString().slice(2,6)}`}return s}function Vt(n){const{properties:e,title:t,required:o}=n;if(o&&Array.isArray(o)){const r=o.reduce((s,a)=>(s[a]=e[a].type==="object"&&e[a].properties?je(e[a]):he.cloneDeep(e[a].default),s),{});if(t&&o.find(s=>s==="id")){const s=t.toLowerCase().replace(/-/g,"_");r.id=`${s}_${Math.random().toString().slice(2,6)}`}return r}return{type:t}}function Ie(n,e={},t){const o=Je[n];if(o){let r=Vt(o);const s=Ze[n];return r=s?s({getSchemaByType:Ie},r,e,t):r,r}return null}function Bt(n,e){const t=je(e);return Object.keys(t).reduce((o,r)=>(Object.prototype.hasOwnProperty.call(n,r)&&(o[r]&&he.isPlainObject(o[r])&&he.isPlainObject(n[r]||!n[r])?Object.assign(o[r],n[r]||{}):o[r]=n[r]),o),t),t}function Ke(n,e){return Object.keys(n).filter(o=>n[o]!=null).reduce((o,r)=>{if(e.has(r)){const s=e.get(r);if(typeof s=="string")o[s]=n[r];else{const a=s(r,n[r],n);Object.assign(o,a)}}else o[r]=n[r];return o},{})}function Mt(n,e,t=new Map){const o=Bt(n,e);return Ke(o,t)}function Nt(n={}){function e(d,f,u,b){if(typeof u=="number")return b[d].length===u;if(typeof u=="object"){const p=Object.keys(u)[0],h=u[p];if(p==="not")return Number(b[d].length)!==Number(h);if(p==="moreThan")return Number(b[d].length)>=Number(h);if(p==="lessThan")return Number(b[d].length)<=Number(h)}return!1}function t(d,f,u,b){return b[d]&&b[d].propertyValue&&String(b[d].propertyValue.value)===String(u)}const o=new Map([["length",e],["getProperty",t]]);Object.keys(n).reduce((d,f)=>(d.set(f,n[f]),d),o);function r(d,f){const u=d;return typeof f=="number"?[{target:u,operator:"length",param:null,value:Number(f)}]:typeof f=="boolean"?[{target:u,operator:"getProperty",param:d,value:!!f}]:typeof f=="object"?Object.keys(f).map(b=>{if(b==="length")return{target:u,operator:"length",param:null,value:f[b]};const p=b,h=f[b];return{target:u,operator:"getProperty",param:p,value:h}}):[]}function s(d){return Object.keys(d).reduce((u,b)=>{const p=r(b,d[b]);return u.push(...p),u},[])}function a(d,f){if(o.has(d.operator)){const u=o.get(d.operator);return u&&u(d.target,d.param,d.value,f)||!1}return!1}function c(d,f){return s(d).reduce((p,h)=>p&&a(h,f),!0)}function l(d,f){const u=Object.keys(d),b=u.includes("allOf"),p=u.includes("anyOf"),h=b||p,j=(h?d[h?b?"allOf":"anyOf":"allOf"]:[d]).map(E=>c(E,f));return b?!j.includes(!1):j.includes(!0)}return{parseValueSchema:l}}const Dt={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:"标签页工具栏按钮"},"html-template":{type:"html-template",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:"抽屉"},"external-container":{type:"external-container",name:"外部容器",icon:"content-container"},"list-nav":{type:"list-nav",name:"列表导航"},"filter-bar":{type:"filter-bar",name:"筛选条"}},Rt={},kt={};Nt();function Se(n,e,t=new Map,o=(a,c,l,d)=>c,r={},s=a=>a){return Je[e.title]=e,Ze[e.title]=o,Rt[e.title]=r,kt[e.title]=s,(a={},c=!0)=>{if(!c)return Ke(a,t);const l=Mt(a,e,t),d=Object.keys(n).reduce((f,u)=>(f[u]=n[u].default,f),{});return Object.assign(d,l)}}function $t(n,e){return{customClass:e.class,customStyle:e.style}}function jt(n,e){if(!n||n.length<1)return null;for(const t of n){if(t.id===e)return t;if(t.children){const o=t.children.find(r=>r.id===e);if(o)return o}}return null}function Ot(){function n(e,t){const{name:o}=t,[r,s]=t.payloads;if(o==="tabChange"||o==="tabRemove")return e[`on${o.charAt(0).toUpperCase()}${o.slice(1)}`];const a=e.contents;if(!a||a.length<1)return null;const c=a.reduce((d,f)=>{const u=f.toolbar&&f.toolbar.buttons||[];return d.push(...u),d},[]);if(!c||c.length<1)return;const l=jt(c,s);return l?l.onClick||l.click:null}return{resolve:n}}const Ve=new Map([["appearance",xe.resolveAppearance]]);function At(n,e){const t=Math.random().toString().slice(2,6),o=e.parentComponentInstance,r=n.getSchemaByType("tab-page");r.id=`tab-page-${t}`,r.title="标题",r.toolbar={id:`tab-page-toolbar-${t}`,buttons:[]};const s=n.getSchemaByType("tabs");Object.assign(s,{id:`tabs-${t}`,appearance:{class:"f-component-tabs f-tabs-has-grid"},contents:[r],activeId:r.id});const a=n.getSchemaByType("section");Object.assign(a,{id:`section-${t}`,appearance:{class:"f-section-tabs f-section-in-mainsubcard"},fill:!1,showHeader:!1,contents:[s]});const c=n.getSchemaByType("content-container");Object.assign(c,{id:`container-${t}`,appearance:{class:"f-struct-wrapper"},contents:[a]});const l=o.schema;switch(l&&l.type){case se.DgControl["splitter-pane"].type:{a.appearance.class="f-section-tabs f-section-in-main",s.appearance.class="f-component-tabs";break}}const d=o.elementRef,f=window.getComputedStyle(d);return f&&f.display==="flex"&&(c.appearance.class+=" d-block"),c}function et(n,e,t){if(t.parentComponentInstance)return At(n,t);{const r=n.getSchemaByType("tab-page");return e.contents=[r],e}}function Lt(n,e,t){return e}const tt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/tabs.schema.json",title:"tabs",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a Tabs",type:"string"},type:{description:"The type string of Tabs component",type:"string",default:"tabs"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contents:{description:"",type:"array",default:[]},autoTitleWidth:{description:"",type:"boolean",default:!1},titleWidth:{description:"",type:"number"},titleLength:{description:"",type:"number",default:7},fill:{description:"",type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},activeId:{description:"",type:"string",default:""}},required:["id","type","contents"],events:{onTabChange:"切换标签页事件",onTabRemove:"移除标签页事件"}},Ft={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/tab-toolbar.schema.json",title:"tab-toolbar",description:"A Farris Toolbar Component",type:"object",properties:{id:{description:"The unique identifier for a Tab Toolbar",type:"string"},type:{description:"The type string of Tab Toolbar",type:"string",default:"tab-toolbar"},appearance:{description:"",type:"object",properties:{class:{type:"string",default:""}}},alignment:{description:"The alignment of Tab Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Tab Toolbar.",type:"array",default:[]},buttonSize:{type:"string",default:""},visible:{description:"",type:"boolean",default:!0}},required:["id","type","buttons"],events:{onClick:"点击事件"}},qt=new Map([["buttons","items"],["appearance",$t]]);function Oe(n,e,t){return e}const Ht={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-toolbar.schema.json",title:"response-toolbar",description:"A Farris Toolbar Component",type:"object",properties:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",type:"string",default:"response-toolbar"},appearance:{description:"",type:"object",properties:{class:{type:"string",default:""}}},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Response Toolbar.",type:"array",default:[]},buttonSize:{type:"string",default:""},visible:{description:"",type:"boolean",default:!0}},required:["id","type","buttons"],events:{onClick:"点击事件"}},_t={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-toolbar-item.schema.json",title:"response-toolbar-item",description:"A Farris Toolbar Item Component",type:"object",properties:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",type:"string",default:"response-toolbar-item"},appearance:{description:"",type:"object",properties:{class:{type:"string",default:""}}},alignment:{description:"对齐",type:"string",default:"right"},text:{description:"文本",type:"string",default:"按钮"},icon:{description:"图标",type:"string",default:""},disabled:{description:"禁用",type:"boolean",default:!1},visible:{description:"是否可见",type:"boolean",default:!0},onClick:{description:"点击事件",type:"string",default:""},tipsEnable:{description:"",type:"boolean",default:!1},tipsText:{description:"",type:"string",default:""},dropdownClass:{description:"处于下拉菜单时的样式",type:"string",default:""},split:{description:"",type:"boolean",default:!1}},required:["id","type","text"]},Ae={id:{type:String,default:""},customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]},visible:{type:Boolean,default:!0}},Wt=Object.assign({},Ae,{componentId:{type:String,default:""}});Se(Ae,Ht,qt,Oe);const nt={id:{type:String,default:""},item:{type:Object,default:{}},items:{type:Object,default:{}},class:{type:String,default:"btn-secondary"},text:{type:String,default:""},disabled:{type:Boolean,default:!1},icon:{type:String,default:""},componentId:{type:String,default:""},expanded:{type:Boolean,default:!1},alignment:{Type:String,default:"right"},split:{type:Boolean,default:!1},isDP:{type:Boolean,default:!1},isDPItem:{type:Boolean,default:!1}};Se(nt,_t,void 0,Oe);const Be={tabType:{type:String,default:"default"},autoTitleWidth:{type:Boolean,default:!1},titleLength:{type:Number,default:7},position:{type:String,default:"top"},showDropdown:{type:Boolean,default:!0},scrollStep:{type:Number,default:10},autoResize:{type:Boolean,default:!1},width:{type:Number},height:{type:Number},searchBoxVisible:{type:Boolean,default:!0},titleWidth:{type:Number,default:0},customClass:{type:String,default:""},activeId:{type:String},fill:{type:Boolean,default:!1},justifyContent:{type:String,default:"left"},visible:{type:Boolean,default:!0}},ot=Se(Be,tt,Ve,et),Le=Object.assign({},Be,{componentId:{type:String,default:""}}),it=Se(Le,tt,Ve,et),rt=Ot(),st=Se(Ae,Ft,Ve,Oe);function Ut(n,e,t){const o=i.ref([]),r=i.ref(n.activeId||"");let s="";const a=i.ref(!0),c=i.ref([]),l=i.ref(0),d=i.computed(()=>{const w=o.value.find(N=>N.props.id===r.value);return(w==null?void 0:w.props.toolbarPosition)==="inHead"});function f(w,y=!0){const N=w.findIndex(C=>C.props.show!==!1&&!C.props.disabled);if(c.value=[],N!==-1){if(r.value=w[N].props.id,!y)return;const C=w[N];C&&C.props.toolbar&&C.props.toolbar.buttons&&C.props.toolbar.buttons.length&&(c.value=[...C.props.toolbar.buttons])}}function u(w){r.value=w;const y=o.value.find(N=>N.props.id===w);c.value=[],y&&y.props.toolbar&&y.props.toolbar.buttons&&y.props.toolbar.buttons.length&&(c.value=[...y.props.toolbar.buttons]),e.emit("update:activeId",w),e.emit("tabChange",{prevId:s,nextId:r.value})}function b(w){let y=-1;if(!r.value){if(y=w.findIndex(N=>r.value===N.props.id&&N.props.show!==!1&&!N.props.disabled),y>-1)return;s=r.value}f(w,!1),u(r.value)}function p(w){let y=!1;if(w){const N=o.value.find(C=>C.props.id===w);y=!N||N.props.show===!1||N.props.disabled===!0}y?b(o.value):(r.value!==w&&(s=r.value,r.value=w),u(r.value))}i.watch(()=>n.activeId,(w,y)=>{w!==y&&p(w)});function h(w){var N;if(n.autoTitleWidth)return;const y=(N=w.value)==null?void 0:N.querySelectorAll(".st-tab-text");if(!(!y||n.tabType==="pill"))for(let C=0;C<y.length;C++){const g=y[C].parentNode;y[C].scrollWidth>g.offsetWidth?y[C].classList.contains("farris-title-text-custom")||y[C].classList.add("farris-title-text-custom"):y[C].classList.remove("farris-title-text-custom")}}const v=w=>{w.preventDefault(),w.stopPropagation()};function $(w,y,N=!1){const C=o.value.findIndex(g=>g.props.id===y);o.value=o.value.filter(g=>g.props.id!==y),r.value===y&&(s=y,r.value="",f(o.value)),v(w),i.nextTick(()=>{l.value++,h(t),N&&(a.value=!0),e.emit("tabRemove",{removeIndex:C,removeId:y,activeId:r.value})})}function j(w,y=!0){r.value===w&&(r.value="",s=w,p("")),i.nextTick(()=>{l.value++,y&&(a.value=!0)})}let V;function E(w){V=w}function I(w){r.value!==w&&(s=r.value,u(w),V&&V())}function B(w){o.value.findIndex(N=>N.props.id===w.props.id)===-1&&o.value.push(w),l.value++}function O(w){o.value.findIndex(N=>N.props.id===w.props.id)!==-1&&(o.value.forEach(N=>{N.props.id===w.props.id&&(N=w)}),w.props.id===r.value&&d.value,i.nextTick(()=>{l.value++,h(t)}))}return{activeId:r,addTab:B,changeTitleStyle:h,removeTab:$,selectTab:I,tabPages:o,updateTab:O,toolbarItems:c,needUpdateNavigationLayout:l,checkActiveIdAndSelect:p,toggleShowTab:j,hasInHeadClass:d,setScrollToSelectedTabFunction:E}}function zt(n,e,t,o,r){const{activeId:s,removeTab:a,selectTab:c}=r,l=i.computed(()=>{const E={"st-tab-text":!0,"text-truncate":n.tabType==="pill"&&!n.autoTitleWidth,"farris-title-auto":n.autoTitleWidth};return we.getCustomClass(E,e.customTitleClass)}),d=i.computed(()=>({"nav-item":!0,"d-none":e.show!==void 0?!e.show:!1,"f-state-active":e.id===s.value,"f-state-disabled":e.disabled})),f=i.computed(()=>({width:`${e.tabWidth}px`})),u=i.computed(()=>({"nav-link":!0,"tabs-text-truncate":!0,active:e.id===s.value,disabled:e.disabled})),b=i.reactive({content:e.title,overflowShown:!0});function p(E){return n.tabType!=="pill"&&!n.autoTitleWidth?i.withDirectives(i.createVNode("span",{class:l.value,"data-tabid":E.id},[E.title]),[[i.resolveDirective("tooltip"),b]]):i.createVNode("span",{class:l.value,"data-tabid":E.id,title:E.title},[E.title])}function h(E){return E.slots.title?E.slots.title:p}const v=h(t),$=i.ref(e.removeable);function j(){return i.createVNode("span",{class:"st-drop-close",onClick:E=>a(E,e.id)},[i.createVNode("i",{class:"f-icon f-icon-close"},null)])}function V(E){c(e.id),n.tabType==="one-page"&&o.scrollToByPaggId(e.id)}return i.createVNode("li",{class:d.value,style:f.value},[i.createVNode("a",{class:u.value,onClick:V},[v(e),$.value&&j()])])}function Gt(n,e,t,o,r){const{shouldShowNavigationButtons:s}=t,{tabPages:a}=r,c=i.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":s.value})),l=i.computed(()=>({width:"100%","justify-content":n.justifyContent})),d=i.computed(()=>({nav:!0,"farris-nav-tabs":!0,"flex-nowrap":!0,"nav-fill":n.tabType==="fill","nav-pills":n.tabType==="pills","flex-row":n.position==="top"||n.position==="bottom","flex-column":n.position==="left"||n.position==="right"}));return()=>i.createVNode("div",{class:c.value,style:l.value},[i.createVNode("ul",{class:d.value,ref:e},[a.value.map(f=>zt(n,f.props,f,o,r))])])}function at(n,e,t,o,r){const s=i.ref(),{shouldShowNavigationButtons:a}=t,{activeId:c,tabPages:l,selectTab:d}=r,f=i.ref(c.value),u=i.computed(()=>l.value.map(v=>({name:v.props.title,value:v.props.id,show:v.props.show,disabled:v.props.disabled}))),b=i.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":a.value})),p=i.computed(()=>({width:"100%",display:"flex","justify-content":n.justifyContent}));i.onMounted(()=>{s.value&&(e.value=s.value.$el)});function h(v){d(v)}return i.watch(()=>c.value,v=>{v!==f.value&&(f.value=v)},{immediate:!0}),()=>i.createVNode("div",{class:b.value,style:p.value},[i.createVNode(Et,{items:u.value,modelValue:f.value,"onUpdate:modelValue":v=>f.value=v,onChange:h,ref:s},null)])}function Xt(n,e,t,o){const r=i.ref(),{activeId:s,removeTab:a,tabPages:c,selectTab:l}=o,{hideDropDown:d,searchTabText:f}=e,u=600;let b=null;const p=i.computed(()=>{var N,C;let y=[];return n.searchBoxVisible?y=(N=c.value)==null?void 0:N.filter(g=>g.props.title.includes(f.value)):y=(C=c.value)==null?void 0:C.slice(),y}),h=i.computed(()=>({"dropdown-menu":!0,"tabs-pt28":n.searchBoxVisible,show:!d.value,"d-none":d.value}));let v;function $(y){v=y}i.watch(d,y=>{if(v.value)if(y)r.value.style.width=null;else{const N=v.value.querySelector(".farris-tabs-header"),C=v.value.clientHeight-N.clientHeight-20,S=N.querySelector(".farris-tabs-title").clientWidth-20;r.value.style.maxWidth=S+"px",r.value.style.maxHeight=C+"px",i.nextTick(()=>{const{width:D}=r.value.getClientRects()[0];r.value.style.width=D?D+"px":null})}});function j(y){return{"dropdown-item":!0,"text-truncate":!0,"px-2":!0,disabled:y.props.disabled,active:y.props.id===s.value,"d-none":y.props.show!==!0}}function V(y){y.preventDefault(),y.stopPropagation()}function E(){b&&clearTimeout(b)}function I(){d.value||(b=setTimeout(()=>{d.value=!0},u))}function B(y,N){y.stopPropagation(),N.disabled||l(N.id),d.value=!0}function O(y,N){y.stopPropagation(),a(y,N,!0)}function w(){return i.createVNode("div",{ref:r,class:h.value,onMouseenter:()=>E(),onMouseleave:()=>I()},[n.searchBoxVisible&&i.createVNode("div",{onClick:y=>V(y),class:"pb-1 tabs-li-absolute"},[i.withDirectives(i.createVNode("input",{type:"text",class:"form-control","onUpdate:modelValue":y=>f.value=y},null),[[i.vModelText,f.value]]),i.createVNode("span",{class:"f-icon f-icon-page-title-query tabs-icon-search"},null)]),p.value.length?i.createVNode("ul",{class:"tab-dropdown-menu--items flex-fill"},[p.value.map(y=>i.createVNode("li",{class:j(y),onClick:N=>B(N,y.props)},[y.props.removeable&&y.props.disabled!==!0&&i.createVNode("span",{class:"float-right st-drop-close",onClick:N=>O(N,y.props.id)},[i.createVNode("i",{class:"f-icon f-icon-close"},null)]),i.createVNode("a",{class:"dropdown-title",title:y.props.title},[y.props.title])]))]):i.createVNode("div",{class:"dropdown-no-data"},[i.createTextVNode("没有相关数据")])])}return{renderDropdownMenu:w,setTabsRef:$}}function Yt(n,e,t,o){const{hideDropDown:r}=e,{renderDropdownMenu:s,setTabsRef:a}=Xt(n,e,t,o),c=i.ref(n.showDropdown);function l(){return c.value&&i.createVNode(i.Fragment,null,[i.createVNode("button",{class:"btn dropdown-toggle-split dropdown-toggle",onClick:()=>{r.value=!1}},null),s()])}return{renderMorePagesButtton:l,setTabsRef:a}}function lt(n,e,t,o){const r=i.ref(!1),{selectTab:s,tabPages:a,needUpdateNavigationLayout:c,activeId:l}=o,d=4,f=i.computed(()=>({btn:!0,"sc-nav-btn":!0,"px-1":!0,"sc-nav-lr":!0,"d-none":!r.value})),u=i.computed(()=>({"btn-group":!0,"sc-nav-btn":!0,dropdown:!0,"d-none":!r.value})),b=i.computed(()=>({btn:!0,"sc-nav-rg":!0,"d-none":!r.value}));function p(V,E){if(!e.value)return;const I=e.value.scrollLeft,B=e.value.scrollWidth-e.value.offsetWidth;if(E>0){if(e.value.scrollLeft>=B)return;e.value.scrollLeft=I+n.scrollStep+V}else if(E<0){if(e.value.scrollLeft<=0)return;e.value.scrollLeft=I-n.scrollStep-V}}function h(V=-1){if(!r.value||!e.value)return;V<0&&(V=a.value.findIndex(w=>w.props.id===l.value));const E=n.tabType==="pills"?".f-capsule-item":".nav-item",I=e.value.querySelectorAll(E),{parentElement:B}=e.value,O=I[V];if(O&&B){const w=B.getBoundingClientRect().left,y=B.getBoundingClientRect().right,N=O.getBoundingClientRect().left,C=O.getBoundingClientRect().right;N<w?p(w-N,-1):y<C&&p(C-y,1),n.tabType==="one-page"&&t.scrollTo(V)}}function v(){var I;if(!e.value)return;const V=e.value,E=(I=e.value)==null?void 0:I.parentElement;r.value=E&&V&&E.offsetWidth<V.scrollWidth-d,r.value&&i.nextTick(()=>{h()})}function $(V){V.disabled||s(V.id)}function j(){["default","one-page"].indexOf(n.tabType)>-1&&i.nextTick(()=>{h()})}return i.watch(c,()=>{v()}),{previousButtonClass:f,nextButtonGroupClass:u,nextButtonClass:b,scrollTab:p,selectAndScrollToTab:$,shouldShowNavigationButtons:r,updateNavigationLayout:v,scrollToSelectedTab:j}}function ct(n,e){const{tabPages:t}=e,o=i.ref(""),r=i.ref(!0),s=i.computed(()=>n.searchBoxVisible),a=i.computed(()=>s.value?t.value.filter(l=>l.props.title.includes(o.value)):t.value.slice());return i.watch(r,c=>{c||(o.value="")}),{searchTabText:o,hideDropDown:r,shouldShowSearchBox:s,tabsInDropdownMenu:a}}function dt(n,e,t){const o=".farris-tab-page",{tabPages:r}=t;function s(c){const l=e.value;if(l){const d=e.value.querySelectorAll(o);if(d.length>0){const f=d[c],{offsetTop:u}=f,b=u-32>0?u-32:0;l.scrollTop=b}}}function a(c){const l=r.value.findIndex(d=>d.props.id===c);l>-1&&s(l)}return{scrollTo:s,scrollToByPaggId:a}}const be=i.defineComponent({name:"FTabs",props:Be,emits:["tabChange","tabRemove","update:activeId","Click"],setup(n,e){const t=i.ref(n.tabType),o=i.shallowRef(),r=i.ref(n.customClass),s=i.shallowRef(),a=i.shallowRef(),c=i.ref(),l=Ut(n,e,s),{activeId:d,changeTitleStyle:f,tabPages:u,addTab:b,updateTab:p,toolbarItems:h,checkActiveIdAndSelect:v,toggleShowTab:$,hasInHeadClass:j}=l,V=dt(n,a,l),E=lt(n,s,V,l),{previousButtonClass:I,nextButtonClass:B,nextButtonGroupClass:O,scrollTab:w,updateNavigationLayout:y,scrollToSelectedTab:N}=E;l.setScrollToSelectedTabFunction(N);const C=ct(n,l),g=Gt(n,s,E,V,l),S=g,D=at(n,s,E,V,l),x=new Map([["default",g],["one-page",S],["pills",D]]);i.computed(()=>{const R=u.value.find(z=>z.props.id===d.value);return R==null?void 0:R.slots});const M=i.computed(()=>n.fill);i.provide("tabs",{activeId:d,addTab:b,updateTab:p,tabPages:u,tabType:t,shouldFillParentContaner:M,toggleShowTab:$});let L=!1;const G=i.computed(()=>({"farris-tabs-header":!0,"farris-tabs-inHead":j.value,"farris-tabs-inContent":!j.value,"farris-tabs-nav-fill":n.tabType==="fill","farris-tabs-nav-pills":n.tabType==="pills"})),oe=i.computed(()=>{const R={width:j.value&&n.titleWidth?`${n.titleWidth}%`:""};return R.width&&(R.flex="unset"),R}),te=i.computed(()=>{const R={"farris-tabs":!0,"f-utils-fill-flex-column":M.value,"flex-column":n.position==="top","flex-column-reverse":n.position==="bottom","flex-row":n.position==="left","flex-row-reverse":n.position==="right","one-page":n.tabType==="one-page"};return r.value&&r.value.split(" ").reduce((z,ee)=>(z[ee]=!0,z),R),R}),H=new ResizeObserver(R=>{R.length&&y()});function q(){c.value&&!L&&(H.observe(c.value),L=!0)}i.watch(()=>n.visible,R=>{i.nextTick(()=>{u.value.length&&v(n.activeId||u.value[0].props.id),y(),f(s),q()})}),i.watch(()=>n.autoTitleWidth,R=>{i.nextTick(()=>{y(),f(s)})}),i.onMounted(()=>{n.visible&&(u.value.length&&v(n.activeId||u.value[0].props.id),i.nextTick(()=>{y(),f(s)}),q())});function Y(){return i.createVNode("button",{title:"向左",type:"button",class:I.value,onClick:()=>{w(0,-1)}},null)}function U(){return i.createVNode("button",{title:"向右",type:"button",class:B.value,onClick:()=>{w(0,1)}},null)}const{renderMorePagesButtton:J,setTabsRef:_}=Yt(n,C,E,l);_(o);const le=(R,z)=>{e.emit("Click",R,z,d.value)};function ce(){return h.value.length?i.createVNode("div",{class:"farris-tabs-toolbar"},[i.createVNode(Te,{class:"f-utils-fill",alignment:j.value?"right":"left",items:h.value,onClick:le},null)]):null}const K=x.get(n.tabType)||x.get("default");function m(){var R,z,ee,de;return i.createVNode("div",{class:G.value},[i.createVNode("div",{class:"farris-tabs-header-pre"},[(z=(R=e.slots).headerPrefix)==null?void 0:z.call(R)]),i.createVNode("div",{class:"farris-tabs-title scroll-tabs",style:oe.value,ref:c},[Y(),K&&K(),i.createVNode("div",{class:O.value},[U(),J()])]),ce(),i.createVNode("div",{class:"farris-tabs-header-post"},[(de=(ee=e.slots).headerSuffix)==null?void 0:de.call(ee)])])}const P=i.computed(()=>({"farris-tabs-content":!0,"f-utils-fill-flex-column":M.value}));function k(){var R,z;return i.createVNode("div",{class:P.value,ref:a},[(z=(R=e.slots).default)==null?void 0:z.call(R)])}return()=>n.visible?i.createVNode("div",{class:te.value,ref:o},[m(),k()]):null}});function Qt(n,e,t){return e&&e.contents&&e.contents.length&&(e.contents.forEach(o=>{o.title&&(o.text=o.title)}),e.buttons=e.contents,delete e.contents),{toolbar:e}}const Jt=new Map([["appearance",xe.resolveAppearance],["toolbar",Qt]]),Zt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/tab-page.schema.json",title:"tab-page",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a tab-page Item",type:"string"},type:{description:"The type string of tab-page Item component",type:"string",default:"tab-page"},contents:{description:"",type:"array",default:[]},title:{description:"",type:"string",default:"标题"},disabled:{description:"",type:"boolean",default:!1},removeable:{description:"",type:"boolean",default:!1},show:{description:"",type:"boolean",default:!0},toolbar:{description:"",type:"object"},tabWidth:{description:"",type:"number"},toolbarPosition:{description:"",type:"string",default:"inHead"},customTitleClass:{description:"",type:"string",default:""},onTabChange:{description:"",type:"切换标签页事件",default:""},onTabRemove:{description:"",type:"string",default:"移除标签页事件"}},required:["id","type","contents"]},Me={tabWidth:{type:Number},id:{type:String,default:""},customTitleClass:{type:String,default:""},titleOverflow:{type:Boolean,default:!1},title:{type:String,default:""},selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},removeable:{type:Boolean,default:!1},show:{type:Boolean,default:!0},toolbar:{type:Object,default:{}},toolbarPosition:{type:String,default:"inHead"}},Fe=xe.createPropsResolver(Me,Zt,Jt);function Kt(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!i.isVNode(n)}const Ne=i.defineComponent({name:"FTabPage",props:Me,emits:[],setup(n,e){const t=i.inject("tabs"),o=i.ref(n.show),r={slots:e.slots,props:n},s=i.ref((t==null?void 0:t.tabType.value)||"default");i.onMounted(()=>{const p=t==null?void 0:t.tabPages.value.findIndex(h=>h.props.id===n.id);(!p||p===-1)&&(t==null||t.addTab(r))}),i.onUnmounted(()=>{});const a=i.computed(()=>(n==null?void 0:n.id)===(t==null?void 0:t.activeId.value)),c=i.computed(()=>({display:a.value?"":"none"}));i.watch(()=>n,p=>{t==null||t.updateTab({props:p,slots:e.slots})},{immediate:!0,deep:!0}),i.watch(()=>n.show,p=>{t==null||t.toggleShowTab(n.id)});function l(){var h,v;const p=(v=(h=e.slots).default)==null?void 0:v.call(h);return i.createVNode(Qe,{"main-title":n.title,class:["farris-tab-page",o.value?"":"f-tab-d-none"]},Kt(p)?p:{default:()=>[p]})}const d=i.computed(()=>{var h;return{"farris-tab-page":!0,"f-tab-d-none":!o.value,"f-utils-fill-flex-column":a.value&&t&&((h=t.shouldFillParentContaner)==null?void 0:h.value)}});function f(){var h,v;const p=(v=(h=e.slots).default)==null?void 0:v.call(h);return i.createVNode("div",{class:d.value,style:c.value},[p])}const b=new Map([["default",f],["one-page",l]]).get(s.value)||f;return()=>b()}});function en(n,e,t,o,r,s){const{activeId:a,selectTab:c,removeDesignTab:l,selectDesignTab:d,addTabPageToolbar:f,resetPositionForSelectedElement:u}=r,b=i.computed(()=>({"st-tab-text":!0,"farris-title-auto":n.autoTitleWidth})),p=i.computed(()=>{const S={"farris-component":!0,"nav-item":!0,"f-state-active":e.id===a.value};return S[`${e.id}-design-item`]=!0,S}),h=i.computed(()=>{const S={};return e.tabWidth&&e.tabWidth>0&&(S.width=`${e.tabWidth}px`),S}),v=i.computed(()=>({"nav-link":!0,"tabs-text-truncate":!0,active:e.id===a.value}));function $(S){return i.createVNode("span",{class:b.value,title:S.title},[S.title])}function j(S){return S.slots.title?S.slots.title:$}const V=j(t),E=i.ref(e.removeable);function I(){return i.createVNode("span",{class:"st-drop-close",style:{opacity:.6}},[i.createVNode("i",{class:"f-icon f-icon-close"},null)])}function B(S){c(e.id),n.tabType==="one-page"&&o.scrollToByPaggId(e.id)}function O(S){S&&(S.stopPropagation(),S.preventDefault()),d(S,e.id,s.value)}function w(S){l(S,e.id)}function y(S){f(S,e.id)}i.watch(()=>e.toolbarPosition,()=>{i.nextTick(()=>{u()})}),i.watch(()=>e.tabWidth,()=>{i.nextTick(()=>{u()})});function N(){return i.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:S=>w(S)},[i.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function C(){return i.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增按钮",ref:"addComponent",onClick:S=>y(S)},[i.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function g(){return i.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[i.createVNode("div",null,[N(),!e.toolbar||!e.toolbar.buttons||!e.toolbar.buttons.length?C():""])])}return i.createVNode("li",{onClick:S=>O(S),class:p.value,style:h.value,pageId:`${e.id}-design-item`},[g(),i.createVNode("a",{class:v.value,onClick:B,id:`${e.id}-design-item`},[V(e),E.value&&I()])])}function tn(n,e,t,o,r,s,a){const{tabPages:c,selectTab:l,emitSelectionChange:d}=r,f=i.computed(()=>({spacer:!0,"f-utils-fill":!0})),u=i.computed(()=>({width:"100%","justify-content":n.justifyContent})),b=i.computed(()=>({nav:!0,"farris-nav-tabs":!0,"flex-nowrap":!0,"nav-fill":n.tabType==="fill","nav-pills":n.tabType==="pills","flex-row":n.position==="top"||n.position==="bottom","flex-column":n.position==="left"||n.position==="right"})),p=i.computed(()=>({overflow:"auto"})),h=function(v){var j;v&&(v.stopPropagation(),v.preventDefault());const $=xe.getSchemaByType("tab-page");$.id=`tab_page_${Math.random().toString().slice(2,6)}`,$.title="标题",$.toolbar={id:`${$.id}_toolbar`,buttons:[]},(j=s.value.schema.contents)==null||j.push($),l($.id),i.nextTick(()=>{d($.id,s.value)})};return()=>i.createVNode("div",{class:f.value,style:u.value},[i.createVNode("ul",{class:b.value,style:p.value,ref:e},[c.value.map(v=>en(n,v.props,v,o,r,s)),i.createVNode("li",{class:"nav-item no-drag add-nav-item"},[i.createVNode("a",{class:"nav-link tabs-text-truncate",title:"添加页签",onClick:v=>h(v)},[i.createVNode("i",{class:"f-icon f-icon-plus",style:"font-size: 20px;margin: 0 auto;line-height: 24px;"},null)])])])])}class nn extends $e.BaseControlProperty{constructor(e,t){super(e,t)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.getBehaviorProperties(e),this.getToolbarProperties(e),this.propertyConfig}getBehaviorProperties(e){this.propertyConfig.categories.behavior={description:"",title:"行为",properties:{removeable:{description:"是否可移除",type:"boolean",title:"是否可移除"},disabled:{description:"是否禁用",type:"boolean",title:"是否禁用"},show:{description:"是否可见",type:"boolean",title:"是否可见"}}}}getBasicPropConfig(e){this.propertyConfig.categories.basic={description:"Basic Infomation",title:"基本信息",properties:{id:{description:"标签页项的标识",title:"标识",type:"string",readonly:!0},title:{description:"标签页项的标题",title:"标题",type:"string"}},setPropertyRelates(t,o){if(t)switch(t&&t.propertyID){case"title":{t.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(e){this.propertyConfig.categories.appearance={title:"外观",description:"",properties:{customTitleClass:{title:"标题样式",type:"string",description:"为标签页的标题指定样式"},tabWidth:{description:"为标签页的标题指定宽度",type:"number",title:"标签页的标题宽度(px)",editor:{nullable:!0,min:0,decimals:0}}}}}getToolbarProperties(e){this.propertyConfig.categories.toolbar={title:"工具栏",description:"",properties:{toolbarPosition:{title:"工具栏位置",type:"string",description:"为工具栏指定位置",editor:{type:"combo-list",data:[{id:"inHead",name:"标题区域"},{id:"inContent",name:"内容区域"}]}}}}}}class on extends $e.BaseControlProperty{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.getBehaviorProperties(e),this.getEventPropConfig(e),this.propertyConfig}getAppearanceProperties(e){return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:""},titleWidth:{description:"标题区域宽度占标签头部区域的横向比例",type:"number",title:"标题区域宽度(%)",editor:{min:0,decimals:0,max:100,nullable:!0}},autoTitleWidth:{description:"是,则标题显示全部字符;否,则标题最多显示20个字符",type:"boolean",title:"标题自适应宽度"},fill:{description:"flex布局下,是否填充满剩余部分",type:"boolean",title:"填充"}}}}getBehaviorProperties(e){const t=this.getCurrentTabPages(e);e.activeId&&typeof e.activeId=="string"&&(t.find(a=>a.id===e.activeId)||(e.activeId=""));const o=this.getPropertyEditorParams(e,["Const","Variable"],"activeId",{constType:"enum",constEnums:t},{newVariableType:"String"}),r=this;return{description:"",title:"行为",properties:{activeId:{title:"默认选中标签页",type:"string",description:"默认选中标签页",defaultValue:t.length>0?t[0].id:"",editor:o}},setPropertyRelates(s,a){if(s)switch(s.propertyID){case"activeId":r.addNewVariableToViewModel(s,r.viewModelId);break}}}}getCurrentTabPages(e){const t=e.contents||[],o=[];return t.forEach(r=>{o.push({name:r.title,id:r.id})}),o}getEventPropConfig(e){const t=[{label:"onTabChange",name:"切换标签页事件"},{label:"onTabRemove",name:"移除标签页事件"}],o=this,r=o.eventsEditorUtils.formProperties(e,o.viewModelId,t),s={};s[o.viewModelId]={type:"events-editor",editor:{initialData:r}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:s,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,c){const l=a.propertyValue;delete e[o.viewModelId],l&&(l.setPropertyRelates=this.setPropertyRelates,o.eventsEditorUtils.saveRelatedParameters(e,o.viewModelId,l.events,l))}}}}function rn(n,e){const t=n.schema,o=new se.UseTemplateDragAndDropRules,{canMove:r,canAccept:s,canDelete:a}=o.getTemplateRule(n,e);function c(h){return s}function l(){return a}function d(){return r}function f(){return!r&&!a}function u(h){var j;return(((j=document.querySelector(".dgComponentFocused"))==null?void 0:j.id)===`${t.id}-design-item`?new on(h,e):new nn(h,e)).getPropertyConfig(t)}function b(){n.designerItemElementRef.value&&i.nextTick(()=>{const h=n.designerItemElementRef.value.querySelector(".dgComponentSelected");h!=null&&h.className.includes("dgComponentSelected")&&h.click()})}function p(h){if(!h)return;const{changeObject:v}=h;v&&v.propertyID==="title"&&b()}return{canAccepts:c,checkCanDeleteComponent:l,checkCanMoveComponent:d,getPropsConfig:u,hideNestedPaddingInDesginerView:f,onPropertyChanged:p}}function sn(n,e,t,o,r,s){const a=i.ref([]),c=i.ref(n.activeId||""),l=i.ref(!0),d=i.ref(),f=i.ref([]),u=i.ref(0),b=i.computed(()=>{const m=a.value.find(k=>k.props.id===c.value);return(m==null?void 0:m.props.toolbarPosition)==="inHead"});let p;function h(m){p=m}function v(m,P=!0){const k=m.value&&m.value.length>0?0:-1;if(f.value=[],k!==-1&&(!c.value||typeof c.value=="object")){if(c.value=m.value[k].props.id,!P)return;const R=m.value[k];R&&R.props.toolbar&&R.props.toolbar.buttons&&R.props.toolbar.buttons.length&&(f.value=[...R.props.toolbar.buttons])}}function $(){const m=a.value.find(R=>R.props.id===c.value);if(f.value=[],m&&m.props.toolbar){const R=Object.prototype.hasOwnProperty.call(m.props.toolbar,"contents")?"contents":"buttons";m.props.toolbar[R]&&m.props.toolbar[R].length&&(f.value=[...m.props.toolbar[R]])}const P=o.schema.contents,k=P==null?void 0:P.find(R=>R.id===c.value);d.value=k==null?void 0:k.toolbar}function j(m){const P=c.value;c.value=m,r.changeSelectedId(""),$(),e.emit("tabChange",{prevId:P,nextId:c.value})}function V(m){let P=-1;!c.value&&(P=m.value.findIndex(k=>c.value===k.props.id),P>-1)||(v(m,!1),j(c.value))}function E(m){let P=!1;P=!a.value.find(R=>R.props.id===m),P?(c.value="",V(a)):(c.value=m,j(c.value))}function I(m,P){m.classList.contains(P)||m.classList.add(P)}function B(m,P){m.classList.remove(P)}function O(m){const{parentElement:P}=m;P&&(m.scrollWidth>P.offsetWidth?I(m,"farris-title-text-custom"):B(m,"farris-title-text-custom"))}i.watch(()=>n.activeId,(m,P)=>{m!==P&&E(m)});function w(m){var k;if(n.autoTitleWidth)return;const P=(k=m.value)==null?void 0:k.querySelectorAll(".st-tab-text");P&&P.forEach(R=>O(R))}const y=m=>{m.preventDefault(),m.stopPropagation()};function N(m){a.value=a.value.filter(P=>P.props.id!==m),c.value===m&&(c.value="",v(a))}function C(m,P,k=!1){const R=a.value.findIndex(z=>z.props.id===P);N(P),y(m),i.nextTick(()=>{u.value++,w(t),k&&(l.value=!0),e.emit("tabRemove",{removeIndex:R,removeId:P,activeId:c.value})})}function g(m,P=!0){c.value===m&&(c.value="",v(a)),i.nextTick(()=>{u.value++,P&&(l.value=!0)})}function S(m){j(m)}function D(m){a.value.findIndex(k=>k.props.id===m.props.id)===-1&&a.value.push(m),u.value++}function x(m){a.value.findIndex(k=>k.props.id===m.props.id)!==-1&&(a.value.forEach(k=>{k.props.id===m.props.id&&(k=m)}),m.props.id===c.value&&b.value,i.nextTick(()=>{u.value++,w(t)}))}function M(m){m&&(m.stopPropagation(),m.preventDefault())}function L(m){var R;const P=o.designerItemElementRef.value.querySelector(".farris-tabs-content"),k=P==null?void 0:P.querySelector(`#${m}-design-item`);(R=k==null?void 0:k.componentInstance)!=null&&R.value.onRemoveComponent&&k.componentInstance.value.onRemoveComponent(s)}function G(m){var ee,de;const P=s.formSchemaUtils.getExpressions();if(!P||!P.length)return;const k=o.schema.contents,R=k==null?void 0:k.find(me=>me.id===m);if(!R||!((de=(ee=R.toolbar)==null?void 0:ee.buttons)!=null&&de.length))return;const z=me=>{me.forEach(ae=>{const ke=P.findIndex(Ee=>Ee.target===ae.id);ke>-1&&P.splice(ke,1),ae.children&&ae.children.length&&z(ae.children)})};z(R.toolbar.buttons)}function oe(m,P){var z;M(m),G(P),L(P);const k=o.schema.contents,R=k==null?void 0:k.findIndex(ee=>ee.id===P);R===-1||R===void 0||(k==null||k.splice(R,1),N(P),$(),(z=o==null?void 0:o.setupContext)==null||z.emit("selectionChange"),se.canvasChanged.value++)}function te(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(P=>P.classList.remove("dgComponentFocused"));const m=document.getElementsByClassName("dgComponentSelected");Array.from(m).forEach(P=>P.classList.remove("dgComponentSelected"))}function H(m){m.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function q(m,P){var ee;const{contents:k=[]}=o.schema,R=k==null?void 0:k.findIndex(de=>de.id===m),z=k[R];(ee=o==null?void 0:o.setupContext)==null||ee.emit("selectionChange",z.type,z,n.componentId,P)}function Y(m,P){const k=P.getBoundingClientRect(),R=m.getBoundingClientRect(),z=R.left+R.width<=k.left+k.width,ee=R.left+R.width>=k.left;return z&&ee}function U(m,P){if(m||(m=p.value.querySelector(".farris-tabs-header").querySelector(".dgComponentSelected")),P||(P=p.value.querySelector(".farris-nav-tabs")),m&&P){const k=m.querySelector(".component-btn-group");Y(m,P)?se.setPositionForSelectedElement(m):k&&(k.style.display="none")}}function J(){t&&t.value&&t.value.addEventListener("scroll",m=>{const P=m.target.querySelector(".dgComponentSelected");U(P,m.target)})}function _(m){if(m&&m.parentElement){let P=m.getBoundingClientRect(),k=m.parentElement.getBoundingClientRect();(P.left<k.left||P.right>k.right)&&(t.value.scrollLeft=0,P=m.getBoundingClientRect(),k=m.parentElement.getBoundingClientRect(),t.value.scrollLeft=P.left-k.left),se.setPositionOfButtonGroup(m)}}function le(m,P,k){var ee,de,me;te(),M(m),H(m),q(P,k);const R=m.currentTarget;_(R);const z=(de=(ee=k.schema)==null?void 0:ee.contents)==null?void 0:de.find(ae=>ae.id===P);if(z&&(!z.toolbar||((me=z.toolbar.buttons)==null?void 0:me.length)===0)){const ae=m.currentTarget;i.nextTick(()=>{te(),ae==null||ae.classList.add("dgComponentFocused","dgComponentSelected"),_(ae)})}}function ce(m,P){M(m);const k=o.schema.contents,R=k==null?void 0:k.find(ee=>ee.id===P);if(!R)return;(!R.toolbar||!R.toolbar.buttons)&&(R.toolbar={id:`${R.id}_toolbar`,buttons:[]}),R.toolbar.id||(R.toolbar.id=`${R.id}_toolbar`);const z=xe.getSchemaByType("tab-toolbar-item");z.id=`tab_toolbar_item_${Math.random().toString().slice(2,6)}`,R.toolbar.buttons.push(z),f.value=[...R.toolbar.buttons],d.value=R.toolbar,i.nextTick(()=>{if(t&&t.value){const ee=t.value.querySelector(".f-state-active");ee&&_(ee)}})}function K(m){}return{activeId:c,addTab:D,changeTitleStyle:w,removeTab:C,selectTab:S,tabPages:a,updateTab:x,toolbarItems:f,removeDesignTab:oe,selectDesignTab:le,toolbarSchema:d,changeToolbarItems:$,addTabPageToolbar:ce,listenTabNavElementScroll:J,setHorizontalScrollbarPosition:_,needUpdateNavigationLayout:u,checkActiveIdAndSelect:E,toggleShowTab:g,hasInHeadClass:b,emitSelectionChange:q,resetPositionForSelectedElement:U,setTabsRef:h,setScrollToSelectedTabFunction:K}}function an(n,e,t,o,r){var b;const{toolbarItems:s,toolbarSchema:a,changeToolbarItems:c,hasInHeadClass:l}=n,d=`${((b=o==null?void 0:o.schema)==null?void 0:b.id)||""}-toolbar`;function f(p,h,v,$){var j;(j=o.setupContext)==null||j.emit("selectionChange",p,h,v,$)}function u(){c()}return i.createVNode("div",{class:"farris-tabs-toolbar",style:"overflow:unset;"},[i.createVNode("div",{class:"farris-tabs-inline-flex w-100",style:"flex:1"},[i.createVNode(se.FDesignerInnerItem,{modelValue:a.value,"onUpdate:modelValue":p=>a.value=p,class:"w-100 position-relative",canAdd:!1,childType:"tab-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:d,onSelectionChange:f,componentId:r,onAddComponent:u},{default:()=>[i.createVNode(Te,{alignment:l.value?"right":"left",items:s.value,componentId:r},null)]})])])}var ve=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ln(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function De(n){throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var ut={exports:{}};(function(n,e){(function(t){n.exports=t()})(function(){return function(){function t(o,r,s){function a(d,f){if(!r[d]){if(!o[d]){var u=typeof De=="function"&&De;if(!f&&u)return u(d,!0);if(c)return c(d,!0);var b=new Error("Cannot find module '"+d+"'");throw b.code="MODULE_NOT_FOUND",b}var p=r[d]={exports:{}};o[d][0].call(p.exports,function(h){var v=o[d][1][h];return a(v||h)},p,p.exports,t,o,r,s)}return r[d].exports}for(var c=typeof De=="function"&&De,l=0;l<s.length;l++)a(s[l]);return a}return t}()({1:[function(t,o,r){var s={},a="(?:^|\\s)",c="(?:\\s|$)";function l(u){var b=s[u];return b?b.lastIndex=0:s[u]=b=new RegExp(a+u+c,"g"),b}function d(u,b){var p=u.className;p.length?l(b).test(p)||(u.className+=" "+b):u.className=b}function f(u,b){u.className=u.className.replace(l(b)," ").trim()}o.exports={add:d,rm:f}},{}],2:[function(t,o,r){(function(s){var a=t("contra/emitter"),c=t("crossvent"),l=t("./classes"),d=document,f=d.documentElement;function u(g,S){var D=arguments.length;D===1&&Array.isArray(g)===!1&&(S=g,g=[]);var x,M,L,G,oe,te,H,q,Y,U=null,J,_,le=!1,ce=0,K,m=S||{};m.moves===void 0&&(m.moves=V),m.accepts===void 0&&(m.accepts=V),m.invalid===void 0&&(m.invalid=qn),m.containers===void 0&&(m.containers=g||[]),m.isContainer===void 0&&(m.isContainer=j),m.copy===void 0&&(m.copy=!1),m.copySortSource===void 0&&(m.copySortSource=!1),m.revertOnSpill===void 0&&(m.revertOnSpill=!1),m.removeOnSpill===void 0&&(m.removeOnSpill=!1),m.direction===void 0&&(m.direction="vertical"),m.ignoreInputTextSelection===void 0&&(m.ignoreInputTextSelection=!0),m.mirrorContainer===void 0&&(m.mirrorContainer=d.body);var P=a({containers:m.containers,start:Fn,end:yt,cancel:xt,remove:wt,destroy:de,canMove:Ln,dragging:!1});return m.removeOnSpill===!0&&P.on("over",_n).on("out",Wn),R(),P;function k(T){return P.containers.indexOf(T)!==-1||m.isContainer(T)}function R(T){var A=T?"remove":"add";h(f,A,"mousedown",ae),h(f,A,"mouseup",_e)}function z(T){var A=T?"remove":"add";h(f,A,"mousemove",ke)}function ee(T){var A=T?"remove":"add";c[A](f,"selectstart",me),c[A](f,"click",me)}function de(){R(!0),_e({})}function me(T){J&&T.preventDefault()}function ae(T){G=T.clientX,oe=T.clientY;var A=v(T)!==1||T.metaKey||T.ctrlKey;if(!A){var F=T.target,W=Ee(F);W&&(J=W,z(),T.type==="mousedown"&&(O(F)?F.focus():T.preventDefault()))}}function ke(T){if(J){if(v(T)===0){_e({});return}if(!(T.clientX!==void 0&&Math.abs(T.clientX-G)<=(m.slideFactorX||0)&&T.clientY!==void 0&&Math.abs(T.clientY-oe)<=(m.slideFactorY||0))){if(m.ignoreInputTextSelection){var A=C("clientX",T)||0,F=C("clientY",T)||0,W=d.elementFromPoint(A,F);if(O(W))return}var Q=J;z(!0),ee(),yt(),vt(Q),l.add(q||L,"gu-transit"),zn(),Un(),ce=0,ze(T)}}}function Ee(T){if(!(P.dragging&&x)&&!k(T)){for(var A=T;B(T)&&k(B(T))===!1;)if(m.invalid(T,A)||(T=B(T),!T))return;var F=B(T);if(F&&!m.invalid(T,A)){var W=m.moves(T,F,A,y(T));if(W)return{item:T,source:F}}}}function Ln(T){return!!Ee(T)}function Fn(T){var A=Ee(T);A&&vt(A)}function vt(T){eo(T.item,T.source)&&(q=T.item.cloneNode(!0),P.emit("cloned",q,T.item,"copy")),M=T.source,L=T.item,te=H=y(T.item),P.dragging=!0,P.emit("drag",L,M)}function qn(){return!1}function yt(){if(P.dragging){var T=q||L;Tt(T,B(T))}}function Ct(){J=!1,z(!0),ee(!0)}function _e(T){if(Ct(),!!P.dragging){var A=q||L,F=C("clientX",T)||0,W=C("clientY",T)||0,Q=$(x,F,W),Z=It(Q,F,W);Z&&(q&&m.copySortSource||!q||Z!==M)?Tt(A,Z):m.removeOnSpill?wt():xt()}}function Tt(T,A){var F=B(T);q&&m.copySortSource&&A===M&&F.removeChild(L),Ue(A)?P.emit("cancel",T,M):P.emit("drop",T,A,M,H),We()}function wt(){if(P.dragging){var T=q||L,A=B(T);A&&A.removeChild(T),P.emit(q?"cancel":"remove",T,A,M),We()}}function xt(T){if(P.dragging){var A=arguments.length>0?T:m.revertOnSpill,F=q||L,W=B(F),Q=Ue(W);Q===!1&&A&&(q?W&&W.removeChild(q):M.insertBefore(F,te)),Q||A?P.emit("cancel",F,M,M):P.emit("drop",F,W,M,H),We()}}function We(){var T=q||L;Ct(),Gn(),Xn(),T&&l.rm(T,"gu-transit"),Y&&clearTimeout(Y),P.dragging=!1,U&&P.emit("out",T,U,M),P.emit("dragend",T,ce),M=L=q=te=H=Y=U=null}function Ue(T,A){var F;return A!==void 0?F=A:x?F=H:F=y(q||L),T===M&&F===te}function It(T,A,F){for(var W=T;W&&!Q();)W=B(W);return W;function Q(){var Z=k(W);if(Z===!1)return!1;var ge=St(W,T),ue=Pt(W,ge,A,F),pe=Ue(W,ue);return pe?!0:m.accepts(L,W,M,ue)}}function ze(T){if(!x)return;T.preventDefault();var A=C("clientX",T)||0,F=C("clientY",T)||0;x.style.left=A-2+"px",x.style.top=F-2+"px";var W=q||L,Q=$(x,A,F),Z=It(Q,A,F),ge=Z!==null&&Z!==U;(ge||Z===null)&&(fe(),U=Z,Ce()),Kn(Q,F);var ue=B(W);if(Z===M&&q&&!m.copySortSource){ue&&ue.removeChild(W);return}var pe,ye=St(Z,Q);if(le=Yn(ye,Z),ye!==null)pe=Pt(Z,ye,A,F);else if(m.revertOnSpill===!0&&!q)pe=te,Z=M;else{q&&ue&&ue.removeChild(W),q&&_&&(_.style.display="none");return}_.style.display="block",Hn(pe,W,ge),pe?Jn(ye,pe):Zn(Z);function ie(re){P.emit(re,W,U,M)}function Ce(){ge&&ie("over")}function fe(){U&&ie("out")}}function Hn(T,A,F){(T===A||T===y(A))&&(H=y(A)),(T===null&&F||T!==A&&T!==y(A))&&(H=T)}function _n(T){l.rm(T,"gu-hide")}function Wn(T){P.dragging&&l.add(T,"gu-hide")}function Un(){x||(x=document.createElement("div"),x.style="background: grey; color: white; height: 24px; text-align: center; padding: 3px 10px; min-width: 100px;border-radius: 4px; box-shadow: 0 0 6px grey;",x.innerHTML=m.getMirrorText&&m.getMirrorText(L)||"控件",l.add(x,"gu-mirror"),m.mirrorContainer.appendChild(x),h(f,"add","mousemove",ze),l.add(m.mirrorContainer,"gu-unselectable"),P.emit("cloned",x,L,"mirror"))}function zn(){if(_=document.createElement("div"),l.add(_,"gu-insertion"),L){var T=L.getBoundingClientRect();_.style.left=T.left+"px",_.style.top=T.top+"px"}le=!1,m.mirrorContainer.appendChild(_)}function Gn(){x&&(l.rm(m.mirrorContainer,"gu-unselectable"),h(f,"remove","mousemove",ze),B(x).removeChild(x),x=null)}function Xn(){_&&(B(_).removeChild(_),_=null)}function St(T,A){for(var F=A;F!==T&&B(F)!==T;)F=B(F);return F===f?null:F}function Yn(T,A){if(!A)return le;var F=T||A&&A.lastElementChild;if(!F)return!0;var W=getComputedStyle(T),Q=/^inline/.test(W.getPropertyValue("display"))||/^(left|right)$/.test(W.getPropertyValue("float"));if(Q)return!0;if(A){var Z=getComputedStyle(A),ge=Z.getPropertyValue("display");if(/flex$/.test(ge)){var ue=Z.getPropertyValue("flex-direction")||"row";if(ue==="row"||ue==="row-reverse")return!Qn(A)}return!1}return!0}function Qn(T){if(!T.children||!T.children.length)return!1;for(const A of Array.from(T.children)){const W=(A.className&&A.className.split(" ")||[]).filter(Q=>/^col(-md|-xl|-el){0,1}-([1-9]|10|11|12)$/.test(Q));if(!W.length)return!1;for(const Q of W){const Z=Q.slice(Q.lastIndexOf("-")+1);if(parseInt(Z,10)!==12)return!1}}return!0}function Jn(T,A){const F=A.getBoundingClientRect();if(_.style.left=F.left+"px",_.style.top=F.top+"px",le){if(_.style.height=F.height+"px",_.style.width="4px",T){const W=T.getBoundingClientRect();W.top!==F.top&&(_.style.left=W.right+"px",_.style.top=W.top+"px",_.style.height=W.height+"px")}}else if(_.style.height="4px",_.style.width=F.width+"px",K){const W=K.getBoundingClientRect();F.top<W.top&&(_.style.display="none")}A===L&&L&&(_.style.display="none")}function Zn(T){H=null;var A=T.lastElementChild;if(A){var F=A.getBoundingClientRect();le?(_.style.left=F.right+"px",_.style.top=F.top+"px",_.style.height=F.height+"px",_.style.width="4px"):(_.style.left=F.left+"px",_.style.top=F.bottom+"px",_.style.height="4px",_.style.width=F.width+"px"),A===L&&L&&(_.style.display="none")}else _.style.display="none"}function Kn(T,A){if(!m.mirrorContainer.contains(T)||!window.scrollContainerList||!Array.from(window.scrollContainerList).length||(K=b(T),!K||!K.contains(T)))return;const F=document.querySelector(".dgComponentSelected"),W=K.getBoundingClientRect();if(A-30<W.top&&K.scrollTop>0){let Q=K.scrollTop<10?K.scrollTop:10;K.scrollBy(0,-1*Q),F&&K.contains(F)&&(ce=ce+-1*Q)}if(A+30>W.bottom&&K.scrollTop<K.scrollHeight-K.clientHeight){const Q=K.scrollHeight-K.clientHeight-K.scrollTop;let Z=Q<10?Q:10;K.scrollBy(0,Z),F&&K.contains(F)&&(ce=ce+Z)}}function Pt(T,A,F,W){var Q=m.direction==="horizontal",Z=m.direction==="mixed",ge=A!==T?pe():ue();return ge;function ue(){var ie=T.children.length,Ce,fe,re;for(Ce=0;Ce<ie;Ce++)if(fe=T.children[Ce],re=fe.getBoundingClientRect(),Q&&re.left+re.width/2>F||!Z&&!Q&&re.top+re.height/2>W||Z&&re.left+re.width>F&&re.top+re.height>W)return fe;return null}function pe(){var ie=A.getBoundingClientRect();if(Z){var Ce=W-ie.top,fe=F-ie.left,re=ie.bottom-W,Ge=ie.right-F,Xe=Math.min(fe,Ge,Ce,re),Ye;return le?Ye=Ge<fe:Ye=re===Xe||Ge===Xe||fe===Xe,ye(Ye)}return ye(Q?F>ie.left+E(ie)/2:W>ie.top+I(ie)/2)}function ye(ie){return ie?y(A):A}}function eo(T,A){return typeof m.copy=="boolean"?m.copy:m.copy(T,A)}}function b(g){const S=Array.from(window.scrollContainerList);if(S.length===1){const x=Array.from(window.scrollContainerList)[0];return document.getElementById(x)}const D=p(S);for(const x of D)if(x.contains(g))return x;return null}function p(g){const S=[];return g.forEach(D=>{const x=document.getElementById(D);x&&S.push(x)}),S.sort((D,x)=>D.contains(x)?1:x.contains(D)?-1:0),S}function h(g,S,D,x){var M={mouseup:"touchend",mousedown:"touchstart",mousemove:"touchmove"},L={mouseup:"pointerup",mousedown:"pointerdown",mousemove:"pointermove"},G={mouseup:"MSPointerUp",mousedown:"MSPointerDown",mousemove:"MSPointerMove"};s.navigator.pointerEnabled?c[S](g,L[D],x):s.navigator.msPointerEnabled?c[S](g,G[D],x):(c[S](g,M[D],x),c[S](g,D,x))}function v(g){if(g.touches!==void 0)return g.touches.length;if(g.which!==void 0&&g.which!==0)return g.which;if(g.buttons!==void 0)return g.buttons;var S=g.button;if(S!==void 0)return S&1?1:S&2?3:S&4?2:0}function $(g,S,D){g=g||{};var x=g.className||"",M;return g.className+=" gu-hide",M=d.elementFromPoint(S,D),g.className=x,M}function j(){return!1}function V(){return!0}function E(g){return g.width||g.right-g.left}function I(g){return g.height||g.bottom-g.top}function B(g){return g.parentNode===d?null:g.parentNode}function O(g){return g.tagName==="INPUT"||g.tagName==="TEXTAREA"||g.tagName==="SELECT"||w(g)}function w(g){return!g||g.contentEditable==="false"?!1:g.contentEditable==="true"?!0:w(B(g))}function y(g){return g.nextElementSibling||S();function S(){var D=g;do D=D.nextSibling;while(D&&D.nodeType!==1);return D}}function N(g){return g.targetTouches&&g.targetTouches.length?g.targetTouches[0]:g.changedTouches&&g.changedTouches.length?g.changedTouches[0]:g}function C(g,S){var D=N(S),x={pageX:"clientX",pageY:"clientY"};return g in x&&!(g in D)&&x[g]in D&&(g=x[g]),D[g]}o.exports=u}).call(this,typeof ve<"u"?ve:typeof self<"u"?self:typeof window<"u"?window:{})},{"./classes":1,"contra/emitter":5,crossvent:6}],3:[function(t,o,r){o.exports=function(a,c){return Array.prototype.slice.call(a,c)}},{}],4:[function(t,o,r){var s=t("ticky");o.exports=function(c,l,d){c&&s(function(){c.apply(d||null,l||[])})}},{ticky:10}],5:[function(t,o,r){var s=t("atoa"),a=t("./debounce");o.exports=function(l,d){var f=d||{},u={};return l===void 0&&(l={}),l.on=function(b,p){return u[b]?u[b].push(p):u[b]=[p],l},l.once=function(b,p){return p._once=!0,l.on(b,p),l},l.off=function(b,p){var h=arguments.length;if(h===1)delete u[b];else if(h===0)u={};else{var v=u[b];if(!v)return l;v.splice(v.indexOf(p),1)}return l},l.emit=function(){var b=s(arguments);return l.emitterSnapshot(b.shift()).apply(this,b)},l.emitterSnapshot=function(b){var p=(u[b]||[]).slice(0);return function(){var h=s(arguments),v=this||l;if(b==="error"&&f.throws!==!1&&!p.length)throw h.length===1?h[0]:h;return p.forEach(function(j){f.async?a(j,h,v):j.apply(v,h),j._once&&l.off(b,j)}),l}},l}},{"./debounce":4,atoa:3}],6:[function(t,o,r){(function(s){var a=t("custom-event"),c=t("./eventmap"),l=s.document,d=b,f=h,u=[];s.addEventListener||(d=p,f=v),o.exports={add:d,remove:f,fabricate:$};function b(B,O,w,y){return B.addEventListener(O,w,y)}function p(B,O,w){return B.attachEvent("on"+O,V(B,O,w))}function h(B,O,w,y){return B.removeEventListener(O,w,y)}function v(B,O,w){var y=E(B,O,w);if(y)return B.detachEvent("on"+O,y)}function $(B,O,w){var y=c.indexOf(O)===-1?C():N();B.dispatchEvent?B.dispatchEvent(y):B.fireEvent("on"+O,y);function N(){var g;return l.createEvent?(g=l.createEvent("Event"),g.initEvent(O,!0,!0)):l.createEventObject&&(g=l.createEventObject()),g}function C(){return new a(O,{detail:w})}}function j(B,O,w){return function(N){var C=N||s.event;C.target=C.target||C.srcElement,C.preventDefault=C.preventDefault||function(){C.returnValue=!1},C.stopPropagation=C.stopPropagation||function(){C.cancelBubble=!0},C.which=C.which||C.keyCode,w.call(B,C)}}function V(B,O,w){var y=E(B,O,w)||j(B,O,w);return u.push({wrapper:y,element:B,type:O,fn:w}),y}function E(B,O,w){var y=I(B,O,w);if(y){var N=u[y].wrapper;return u.splice(y,1),N}}function I(B,O,w){var y,N;for(y=0;y<u.length;y++)if(N=u[y],N.element===B&&N.type===O&&N.fn===w)return y}}).call(this,typeof ve<"u"?ve:typeof self<"u"?self:typeof window<"u"?window:{})},{"./eventmap":7,"custom-event":8}],7:[function(t,o,r){(function(s){var a=[],c="",l=/^on/;for(c in s)l.test(c)&&a.push(c.slice(2));o.exports=a}).call(this,typeof ve<"u"?ve:typeof self<"u"?self:typeof window<"u"?window:{})},{}],8:[function(t,o,r){(function(s){var a=s.CustomEvent;function c(){try{var l=new a("cat",{detail:{foo:"bar"}});return l.type==="cat"&&l.detail.foo==="bar"}catch{}return!1}o.exports=c()?a:typeof document<"u"&&typeof document.createEvent=="function"?function(d,f){var u=document.createEvent("CustomEvent");return f?u.initCustomEvent(d,f.bubbles,f.cancelable,f.detail):u.initCustomEvent(d,!1,!1,void 0),u}:function(d,f){var u=document.createEventObject();return u.type=d,f?(u.bubbles=!!f.bubbles,u.cancelable=!!f.cancelable,u.detail=f.detail):(u.bubbles=!1,u.cancelable=!1,u.detail=void 0),u}}).call(this,typeof ve<"u"?ve:typeof self<"u"?self:typeof window<"u"?window:{})},{}],9:[function(t,o,r){var s=o.exports={},a,c;function l(){throw new Error("setTimeout has not been defined")}function d(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?a=setTimeout:a=l}catch{a=l}try{typeof clearTimeout=="function"?c=clearTimeout:c=d}catch{c=d}})();function f(I){if(a===setTimeout)return setTimeout(I,0);if((a===l||!a)&&setTimeout)return a=setTimeout,setTimeout(I,0);try{return a(I,0)}catch{try{return a.call(null,I,0)}catch{return a.call(this,I,0)}}}function u(I){if(c===clearTimeout)return clearTimeout(I);if((c===d||!c)&&clearTimeout)return c=clearTimeout,clearTimeout(I);try{return c(I)}catch{try{return c.call(null,I)}catch{return c.call(this,I)}}}var b=[],p=!1,h,v=-1;function $(){!p||!h||(p=!1,h.length?b=h.concat(b):v=-1,b.length&&j())}function j(){if(!p){var I=f($);p=!0;for(var B=b.length;B;){for(h=b,b=[];++v<B;)h&&h[v].run();v=-1,B=b.length}h=null,p=!1,u(I)}}s.nextTick=function(I){var B=new Array(arguments.length-1);if(arguments.length>1)for(var O=1;O<arguments.length;O++)B[O-1]=arguments[O];b.push(new V(I,B)),b.length===1&&!p&&f(j)};function V(I,B){this.fun=I,this.array=B}V.prototype.run=function(){this.fun.apply(null,this.array)},s.title="browser",s.browser=!0,s.env={},s.argv=[],s.version="",s.versions={};function E(){}s.on=E,s.addListener=E,s.once=E,s.off=E,s.removeListener=E,s.removeAllListeners=E,s.emit=E,s.prependListener=E,s.prependOnceListener=E,s.listeners=function(I){return[]},s.binding=function(I){throw new Error("process.binding is not supported")},s.cwd=function(){return"/"},s.chdir=function(I){throw new Error("process.chdir is not supported")},s.umask=function(){return 0}},{}],10:[function(t,o,r){(function(s){var a=typeof s=="function",c;a?c=function(l){s(l)}:c=function(l){setTimeout(l,0)},o.exports=c}).call(this,t("timers").setImmediate)},{timers:11}],11:[function(t,o,r){(function(s,a){var c=t("process/browser.js").nextTick,l=Function.prototype.apply,d=Array.prototype.slice,f={},u=0;r.setTimeout=function(){return new b(l.call(setTimeout,window,arguments),clearTimeout)},r.setInterval=function(){return new b(l.call(setInterval,window,arguments),clearInterval)},r.clearTimeout=r.clearInterval=function(p){p.close()};function b(p,h){this._id=p,this._clearFn=h}b.prototype.unref=b.prototype.ref=function(){},b.prototype.close=function(){this._clearFn.call(window,this._id)},r.enroll=function(p,h){clearTimeout(p._idleTimeoutId),p._idleTimeout=h},r.unenroll=function(p){clearTimeout(p._idleTimeoutId),p._idleTimeout=-1},r._unrefActive=r.active=function(p){clearTimeout(p._idleTimeoutId);var h=p._idleTimeout;h>=0&&(p._idleTimeoutId=setTimeout(function(){p._onTimeout&&p._onTimeout()},h))},r.setImmediate=typeof s=="function"?s:function(p){var h=u++,v=arguments.length<2?!1:d.call(arguments,1);return f[h]=!0,c(function(){f[h]&&(v?p.apply(null,v):p.call(null),r.clearImmediate(h))}),h},r.clearImmediate=typeof a=="function"?a:function(p){delete f[p]}}).call(this,t("timers").setImmediate,t("timers").clearImmediate)},{"process/browser.js":9,timers:11}]},{},[2])(2)})})(ut);var cn=ut.exports;const Re=ln(cn);function dn(n,e){let t;function o(c){var f;const d=Array.from(c.children).find(u=>u.className.includes("add-nav-item"));d&&!((f=d.className)!=null&&f.includes("d-none"))&&(d.className+=" d-none")}function r(c){var f;const d=Array.from(c.children).find(u=>u.className.includes("add-nav-item"));d&&((f=d.className)!=null&&f.includes(" d-none"))&&(d.className=d.className.replace(" d-none",""))}function s(c,l,d){r(l);const f=n.schema;if(!(f!=null&&f.contents))return;let u;if(d){const v=d.getAttribute("pageId");u=Array.from(l.children).findIndex($=>$.getAttribute("pageId")===v)}else u=Array.from(l.children).length;const b=c.getAttribute("pageId"),p=Array.from(l.children).findIndex(v=>v.getAttribute("pageId")===b),h=f.contents[p];if(p!==u&&p>-1&&u>-1){if(p<u&&(u=u-1),f.contents.splice(p,1),f.contents.splice(u,0,h),e.value){const v=e.value[p];e.value.splice(p,1),e.value.splice(u,0,v)}i.nextTick(()=>{c.className.includes("dgComponentSelected")&&(c.classList.remove("dgComponentSelected"),c.classList.remove("dgComponentFocused"),c.click()),se.canvasChanged.value++})}}function a(c,l){t&&t.destroy(),!(!Re||!c||!l)&&(t=Re([c],{mirrorContainer:l,direction:"horizontal",moves(d){return!d.classList.contains("no-drag")},getMirrorText(d){return d.innerText},accepts(d,f,u,b){return o(f),b&&b.className.includes("nav-item")}}).on("drop",(d,f,u,b)=>s(d,f,b)))}return{dragulaInstance:t,initHeaderDragula:a}}const un=i.defineComponent({name:"FTabsDesign",props:Le,emits:["tabChange","tabRemove"],setup(n,e){const t=i.ref(),o=i.inject("designer-host-service"),r=i.inject("design-item-context"),s=rn(r,o),a=se.useDesignerComponent(t,r,s),c=i.ref(n.tabType),l=i.shallowRef(),d=i.shallowRef(),f={updateToolbarItems:function(){},changeSelectedId:m=>{}},u=sn(n,e,l,r,f,o),{activeId:b,changeTitleStyle:p,tabPages:h,addTab:v,updateTab:$,toolbarItems:j,setTabsRef:V,checkActiveIdAndSelect:E,listenTabNavElementScroll:I,toolbarSchema:B,toggleShowTab:O,hasInHeadClass:w}=u;V(t);const y=dt(n,d,u),N=lt(n,l,y,u),{updateNavigationLayout:C}=N,g=ct(n,u),{hideDropDown:S}=g,D=tn(n,l,N,y,u,a),x=D,M=at(n,l,N,y,u),L=new Map([["default",D],["one-page",x],["pills",M]]);i.computed(()=>{const m=h.value.find(P=>P.props.id===b.value);return m==null?void 0:m.slots});function G(){const m=a.value.schema.contents||[];return m.length<1?null:m.find(k=>k.id===b.value)}f.updateToolbarItems=function(){var P,k;const m=G();(P=m==null?void 0:m.toolbar)!=null&&P.buttons?j.value=[...(k=m==null?void 0:m.toolbar)==null?void 0:k.buttons]:j.value=[],B.value=m==null?void 0:m.toolbar},i.provide("tabs",{activeId:b,addTab:v,updateTab:$,tabPages:h,tabType:c,toggleShowTab:O}),i.provide("toolbar-item-handler",f);const oe=i.computed(()=>n.fill),te=i.computed(()=>({"farris-tabs-header":!0,"farris-tabs-inHead":w.value,"farris-tabs-inContent":!w.value,"farris-tabs-nav-fill":n.tabType==="fill","farris-tabs-nav-pills":n.tabType==="pills"})),H=i.computed(()=>{const m={width:w.value&&n.titleWidth?`${n.titleWidth}%`:""};return m.width&&(m.flex="unset"),m}),q=i.computed(()=>({"farris-tabs":!0,"flex-column":n.position==="top","flex-column-reverse":n.position==="bottom","flex-row":n.position==="left","flex-row-reverse":n.position==="right","one-page":n.tabType==="one-page"})),{initHeaderDragula:Y,dragulaInstance:U}=dn(r,h);i.onMounted(()=>{h.value.length&&E(n.activeId||h.value[0].props.id),i.nextTick(()=>{C()}),p(l),window.addEventListener("click",m=>{var P;S.value||(P=t.value)!=null&&P.contains(m.target)||(S.value=!0)}),window.addEventListener("resize",()=>{C()}),I(),t.value.componentInstance=a,n.tabType==="default"&&Y(l.value,l.value)}),i.onUnmounted(()=>{U&&U.destroy&&U.destroy()});function J(){return!!j.value.length&&an(u,a,s,r,n.componentId)}const _=L.get(n.tabType)||L.get("default");function le(){var m,P,k,R;return i.createVNode("div",{class:te.value},[i.createVNode("div",{class:"farris-tabs-header-pre"},[(P=(m=e.slots).headerPrefix)==null?void 0:P.call(m)]),i.createVNode("div",{class:"farris-tabs-title scroll-tabs",style:H.value},[_&&_()]),J(),i.createVNode("div",{class:"farris-tabs-header-post"},[(R=(k=e.slots).headerSuffix)==null?void 0:R.call(k)])])}const ce=i.computed(()=>({"farris-tabs-content":!0,"f-utils-fill-flex-column":oe.value}));function K(){var m,P,k,R;return i.createVNode("div",{class:ce.value,ref:d},[(P=(m=r==null?void 0:r.schema)==null?void 0:m.contents)!=null&&P.length?(R=(k=e.slots).default)==null?void 0:R.call(k):""])}return e.expose(a.value),a.value.updateToolbarItems=f.updateToolbarItems,()=>i.createVNode("div",{class:q.value,ref:t},[le(),K()])}});function fn(n,e){const t=new se.UseTemplateDragAndDropRules,{canAccept:o}=t.getTemplateRule(n,e);function r(c){if(!se.useDragulaCommonRule().basalDragulaRuleForContainer(c,e))return!1;const{schema:d}=n;return d.contents&&d.contents.length>0?!1:o}function s(c){return null}function a(){const{schema:c,parent:l}=n;l!=null&&l.schema.activeId&&c.id===l.schema.activeId&&(l.schema.activeId="")}return{canAccepts:r,getDraggableDesignItemElement:s,onRemoveComponent:a}}function pn(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!i.isVNode(n)}const mn=i.defineComponent({name:"FTabPageDesign",props:Me,emits:[],setup(n,e){const t=i.ref(),o=i.inject("design-item-context"),r=i.inject("designer-host-service"),s=fn(o,r),a=se.useDesignerComponent(t,o,s);a.value.canNested=!1,a.value.canDelete=!1,a.value.canMove=!1,e.expose(a.value);const c=i.inject("tabs"),l=i.ref(!0),d={slots:e.slots,props:n},f=i.ref((c==null?void 0:c.tabType.value)||"default");i.onMounted(()=>{t.value.componentInstance=a;const V=c.tabPages.value.findIndex(E=>E.props.id===n.id);!V||V===-1?c==null||c.addTab(d):V>-1&&(l.value=!1,console.warn(`已经存在id为${n.id}的页签啦`))}),i.onUnmounted(()=>{});const u=i.computed(()=>(n==null?void 0:n.id)===(c==null?void 0:c.activeId.value)),b=i.computed(()=>({display:u.value?"":"none"}));i.watch(()=>n,V=>{c==null||c.updateTab({props:V,slots:e.slots})},{immediate:!0,deep:!0});function p(){var E,I;const V=(I=(E=e.slots).default)==null?void 0:I.call(E);return i.createVNode(Qe,{"main-title":n.title,class:"farris-tab-page"},pn(V)?V:{default:()=>[V]})}const h=i.computed(()=>({"farris-tab-page":!0,"drag-container":!0,"farris-tab-page-active":u.value}));function v(){var E,I;const V=(I=(E=e.slots).default)==null?void 0:I.call(E);return i.createVNode("div",{ref:t,class:h.value,"data-dragref":`${o.schema.id}-container`,style:b.value},[V])}const j=new Map([["default",v],["one-page",p]]).get(f.value)||v;return()=>l.value?j():null}}),gn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/tab-toolbar-item.schema.json",title:"tab-toolbar-item",description:"A Farris Toolbar Item Component",type:"object",properties:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",type:"string",default:"tab-toolbar-item"},appearance:{description:"",type:"object",properties:{class:{type:"string"}},default:{}},text:{description:"按钮",type:"string",default:"按钮"},icon:{description:"图标",type:"string",default:""},disabled:{description:"禁用",type:"boolean",default:!1},visible:{description:"是否可见",type:"boolean",default:!0},onClick:{description:"点击事件",type:"string",default:""},tipsEnable:{description:"",type:"boolean",default:!1},tipsText:{description:"",type:"string",default:""},dropdownClass:{description:"处于下拉菜单时的样式",type:"string",default:""},split:{description:"",type:"boolean",default:!1}},required:["id","type","text"],events:{onClick:"点击事件"}},hn={id:{type:String,default:""},items:{type:Object,default:{}},class:{type:String,default:""},text:{type:String,default:""},disabled:{type:Boolean,default:!1},icon:{type:String,default:""},componentId:{type:String,default:""},expanded:{type:Boolean,default:!1},alignment:{Type:String,default:"right"},split:{type:Boolean,default:!1},isDP:{type:Boolean,default:!1},isDPItem:{type:Boolean,default:!1}},bn=xe.createPropsResolver(hn,gn,Ve,Lt),vn=i.ref(0);function yn(){vn.value++}const Pe=i.ref(0);function Cn(n,e){const t=e.getBoundingClientRect(),o=n.getBoundingClientRect(),r=o.top>=t.top,s=o.top<=t.bottom;return r&&s}function ft(n){const e=n.querySelector(".component-btn-group");if(!e)return;e.style.display="";const t=e.getBoundingClientRect();if(!(t.top===0&&t.left===0)){const o=e.querySelector("div");if(o){const r=o.getBoundingClientRect();o.style.top=t.top+"px";let s=t.left-r.width;const a=document.querySelector(".editorDiv");if(a){const c=a.getBoundingClientRect();s<c.left&&({left:s}=n.getBoundingClientRect())}o.style.left=s+"px"}}}function Tn(n){if(!window.scrollContainerList)return;const e=Array.from(window.scrollContainerList);if(e.length&&e.length===1){const t=e[0],o=document.querySelector(`[id=${t}]`);if(o&&o.contains(n))return o}}function pt(n){if(!n)return;const e=n.getBoundingClientRect();if(e.width===0&&e.height===0)return;const t=n.querySelector(".component-btn-group");if(t){let o=!0;const r=Tn(n);if(r&&(o=Cn(n,r)),!o){t.style.display="none";return}ft(n)}}function wn(n){if(!n)return;let e;n.className.includes("dgComponentSelected")?e=n:e=n.querySelector(".dgComponentSelected"),e&&pt(e)}function xn(n){const{formSchemaUtils:e,formStateMachineUtils:t}=n;function o(l,d=""){return{path:d+l.code,field:l.id,fullPath:l.code}}function r(l,d=""){return e.getViewModelById(l).states.map(u=>o(u,d))}function s(l){const d=e.getRootViewModelId(),f=r(l);if(l===d)return f;const u=r(d,"root-component.");return[...f,...u]}function a(l){return l.binding&&l.binding.path||l.id||""}function c(){return t&&t.getRenderStates()||[]}return{getVariables:s,getControlName:a,getStateMachines:c}}class In{constructor(e){ne(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'"}]);ne(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});ne(this,"getExpressionConverter",(e,t)=>({convertFrom:(o,r,s,a)=>{const c=s.getExpressionRuleValue(e,t||r);return c&&c.value||""},convertTo:(o,r,s,a,c)=>{var l;if(r==="dataPicking"&&(s!=null&&s.target)){const d=`${s.target}_dataPicking`;((l=s.rules)==null?void 0:l.some(u=>u.id===d&&u.value))?o.dictPickingExpressionId=d:delete o.dictPickingExpressionId}a.updateExpression(s)}}));this.formSchemaService=e}getExpressionRule(e,t){const o=this.formSchemaService.getExpressions();if(!o)return"";const r=o.find(a=>a.target===e);if(!r)return"";const s=r.rules.find(a=>a.type===t);return s||""}getContextFormVariables(){const{module:e}=this.formSchemaService.getFormSchema();if(!e.viewmodels||e.viewmodels.length===0)return[];const t=this.formSchemaService.getRootViewModelId(),o=this.formSchemaService.getViewModelById(t);if(!o||!o.states||o.states.length===0)return[];const r=[];return o.states.forEach(s=>{r.push({key:s.code,name:s.name,description:s.name,category:s.category})}),r}createTreeNode(e,t,o="label"){return{id:e.id,name:e.name,bindingPath:e[o],parents:t}}buildEntityFieldsTreeData(e=null,t){const o=[];return e==null||e.forEach(r=>{var c;const s=this.createTreeNode(r,t);let a=[];(c=r.type)!=null&&c.fields&&(a=this.buildEntityFieldsTreeData(r.type.fields,[...t,r.label])),o.push({data:s,children:a,expanded:!0})}),o}buildChildEntityTreeData(e=null,t){const o=[];return e==null||e.forEach(r=>{var l,d;const s=this.createTreeNode(r,t),a=this.buildEntityFieldsTreeData((l=r.type)==null?void 0:l.fields,[...t,r.label]),c=this.buildChildEntityTreeData((d=r.type)==null?void 0:d.entities,[...t,r.label]);c!=null&&c.length&&(a==null||a.push(...c)),o.push({data:s,children:a||[],expanded:!0})}),o}getEntitiesTreeData(){const e=this.formSchemaService.getSchemaEntities();if(!(e!=null&&e.length))return[];const t=e[0];if(!(t!=null&&t.type))return[];const o=this.buildEntityFieldsTreeData(t.type.fields,[t.code]),r=this.buildChildEntityTreeData(t.type.entities,[t.code]);return r!=null&&r.length&&(o==null||o.push(...r)),{entityCode:t.code,fields:[{data:this.createTreeNode(t,[],"code"),children:o||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(e,t,o){const r=o==="Field"?e.binding.field:e.id,s=this.getExpressionRule(r,t),a=this.getEntitiesAndVariables(),c={message:["validate","required","dataPicking"].includes(t)&&s?s.message:"",...a};return s.messageType!=null&&(c.messageType=s.messageType),c}buildRule(e,t,o,r){const{expression:s,message:a,messageType:c}=t,l={id:`${e}_${o}`,type:o,value:s};return(o==="validate"||o==="dataPicking"||o==="required")&&(l.message=a),o==="dataPicking"&&(l.messageType=c),o==="validate"&&r&&(l.elementId=r),l}getExpressionData(){const{expressions:e}=this.formSchemaService.getFormSchema().module;return e||[]}updateExpression(e,t,o,r){const s=t==="Field"?e.binding.field:e.id,a=this.buildRule(s,o,r,e.type==="form-group"?e.id:"");let l=this.getExpressionData().find(f=>f.targetType===t&&f.target===s);const d=f=>f.value.trim()==="";if(l){const f=l.rules.find(u=>u.id===a.id);if(f)d(a)?l.rules=l.rules.filter(u=>u.id!==a.id):(Object.assign(f,a),r==="validate"&&e.type==="form-group"&&(f.elementId=e.id));else{if(d(a))return null;l.rules=l.rules||[],l.rules.push(a)}}else{if(d(a))return null;l={target:`${s}`,rules:[a],targetType:t}}return l}getExpressionEditorOptions(e,t,o,r){return o.reduce((s,a)=>{var l,d;const c=t==="Field"?(l=e==null?void 0:e.binding)==null?void 0:l.field:e.id;return s[a]={hide:t==="Field"?!!((d=e==null?void 0:e.binding)!=null&&d.field):!1,description:"",title:this.expressionNames[a],type:"string",$converter:this.getExpressionConverter(c),editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[a]}编辑器`,showMessage:a==="validate"||a==="dataPicking"||a==="required",showMessageType:a==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(e,a,t),onSubmitModal:f=>{const u=this.updateExpression(e,t,f,a);if(r){const b=this.buildRule(c,f,a);r(b)}return u}}},s},{})}getExpressionInfo(e,t,o){const r=t==="Field"?e.binding.field:e.id,s=this.getExpressionRule(r,o),a={value:s&&s.value,targetId:r,targetType:t,expressionType:o};return s&&s.message&&(a.message=s.message),a}getExpressionConfig(e,t,o=["compute","dependency","validate"],r){return{description:"表达式",title:"表达式",properties:{...this.getExpressionEditorOptions(e,t,o,r)}}}getExpressionOptions(e,t,o){const r=this.getExpressionInfo(e,t,o);return{dialogTitle:`${this.expressionNames[o]}编辑器`,singleExpand:!1,showMessage:o==="required",beforeOpen:()=>this.onBeforeOpenExpression(e,o,t),expressionInfo:r}}}class mt{constructor(e,t){ne(this,"componentId");ne(this,"viewModelId");ne(this,"eventsEditorUtils");ne(this,"formSchemaUtils");ne(this,"formMetadataConverter");ne(this,"designViewModelUtils");ne(this,"designViewModelField");ne(this,"controlCreatorUtils");ne(this,"designerHostService");ne(this,"schemaService",null);ne(this,"metadataService",null);ne(this,"propertyConfig",{type:"object",categories:{}});var o;this.componentId=e,this.designerHostService=t,this.eventsEditorUtils=t.eventsEditorUtils,this.formSchemaUtils=t.formSchemaUtils,this.formMetadataConverter=t.formMetadataConverter,this.viewModelId=((o=this.formSchemaUtils)==null?void 0:o.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=t.designViewModelUtils,this.controlCreatorUtils=t.controlCreatorUtils,this.metadataService=t.metadataService,this.schemaService=t.schemaService}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var o;const t=e.binding&&e.binding.type==="Form"&&e.binding.field;if(t){if(!this.designViewModelField){const r=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=r.fields.find(s=>s.id===t)}e.updateOn=(o=this.designViewModelField)==null?void 0:o.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:Dt[e.type].name}]}}}}}getAppearanceConfig(e=null,t={},o){const r={title:"外观",description:"Appearance"},s={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}};for(const a in t)s[a]=Object.assign(s[a]||{},t[a]);return{...r,properties:{...s},setPropertyRelates(a,c){if(a){switch(a&&a.propertyID){case"class":case"style":{Pe.value++;break}}o&&o(a,e,c)}}}}getPropertyEditorParams(e,t=[],o="visible",r={},s={}){const{getVariables:a,getControlName:c,getStateMachines:l}=xn(this.designerHostService),d=this.getRealTargetType(e),f=t&&t.length>0?t:["Const","Variable","StateMachine","Expression"],u={type:"property-editor",propertyTypes:f};return f.map(b=>{switch(b){case"Const":Object.assign(u,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},r);break;case"Expression":u.expressionConfig=this.getExpressionOptions(e,d,o);break;case"StateMachine":u.stateMachines=l();break;case"Variable":Object.assign(u,{controlName:c(e),newVariablePrefix:"is",newVariableType:"Boolean",variables:a(this.viewModelId),onBeforeOpenVariables:p=>{p.value=a(this.viewModelId)}},s);break}}),u}getVisibleProperty(e,t=""){return{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(e,t==="gridFieldEditor"?["Const","Expression"]:["Const","Variable","StateMachine","Expression"],"visible")}}}getBehaviorConfig(e,t="",o={},r){const s={title:"行为",description:""},a=this.getVisibleProperty(e,t);for(const l in o)a[l]=Object.assign(a[l]||{},o[l]);const c=this;return{...s,properties:{...a},setPropertyRelates(l,d){if(l){switch(l.propertyID){case"disabled":case"readonly":case"visible":c.afterMutilEditorChanged(e,l);break}r&&r(l,d)}}}}afterMutilEditorChanged(e,t){this.addNewVariableToViewModel(t,this.viewModelId),this.updateExpressionValue(t),this.clearExpression(t,e)}updateElementByParentContainer(e,t){const o=t&&t.parent&&t.parent.schema;if(!o)return;const r=o.contents.findIndex(a=>a.id===e),s=he.cloneDeep(o.contents[r]);o.contents.splice(r,1),o.contents.splice(r,0,s),yn()}addNewVariableToViewModel(e,t){const o=e.propertyValue;if(!(o&&typeof o=="object")||!(o.type==="Variable"&&o.isNewVariable))return;const a={id:o.field,category:"locale",code:o.fullPath,name:o.fullPath,type:o.newVariableType||"String"};delete o.newVariableType,delete o.isNewVariable,this.formSchemaUtils.getVariableByCode(a.code)||this.formSchemaUtils.getViewModelById(t).states.push(a)}updateExpressionValue(e){const t=e.propertyValue;if(!((t&&t.type)==="Expression"&&t.expressionInfo))return;const{expressionId:s,expressionInfo:a}=t,{targetId:c,targetType:l,expressionType:d,value:f,message:u}=a,b=this.formSchemaUtils.getModule();b.expressions??(b.expressions=[]);const{expressions:p}=b;let h=p.find($=>$.target===c);h||(h={target:c,rules:[],targetType:l},p.push(h));const v=h.rules.find($=>$.type===d);if(v)v.value=f,v.message=u;else{const $={id:s,type:d,value:f,message:u};h.rules.push($)}delete t.expressionInfo}clearExpression(e,t){const o=e.propertyValue;if(o&&o.type==="Expression")return;const s=e.propertyID,a=this.formSchemaUtils.getExpressions(),c=t.binding?t.binding.field:t.id,l=a.find(d=>d.target===c);!l||!l.rules||(l.rules=l.rules.filter(d=>d.type!==s))}getExpressionOptions(e,t,o){return new In(this.formSchemaUtils).getExpressionOptions(e,t,o)}getRealTargetType(e){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item"].indexOf(e.type)>-1?"Button":e.binding&&e.binding.field?"Field":"Container"}}class Sn extends mt{constructor(t,o,r="response-toolbar"){super(t,o);ne(this,"toolbarType","response-toolbar");this.toolbarType=r}getPropertyConfig(t){return this.propertyConfig.categories.basic=this.getBasicPropConfig(t),this.toolbarType!=="tab-toolbar"&&this.getAppearancePropConfig(t),this.toolbarType==="response-toolbar"&&(this.propertyConfig.categories.behavior=this.getBehaviorConfig(t)),this.propertyConfig}getAppearancePropConfig(t){this.propertyConfig.categories.appearance={title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"}}}}getBehaviorProperties(t){this.propertyConfig.categories.behavior={title:"行为",description:"",properties:{alignment:{title:"对齐方式",description:"在工具栏区域内按钮组的位置",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中"},{value:"right",name:"右对齐"}]}}}}}}function Pn(n,e,t){const o=n.schema;function r(){var v;let h=((v=n.parent)==null?void 0:v.schema.type)||"";["page-header","tabs","section"].findIndex($=>$===h)===-1&&(h=""),t.toolbarPosition=h}r();function s(h){return!1}function a(h,v){return v.text=h.label,v}function c(){return!1}function l(){return!1}function d(){return!1}function f(){return!0}function u(h){return new Sn(h,e,o.type).getPropertyConfig(o)}function b(h){var V;h&&(h.stopPropagation(),h.preventDefault());const{schema:v}=n;v.buttons||(v.buttons=[]);let $="";if(v.type)$=v.type+"-item";else{const E=(V=n.parent)==null?void 0:V.schema.type;$=E==="tabs"?"tab-toolbar-item":E==="section"?"section-toolbar-item":"response-toolbar-item"}const j=Ie($);j.id=`toolbar_item_${Math.random().toString().slice(2,6)}`,v.buttons.push(j),t.updateToolbarItems(),t.changeSelectedId("")}function p(){return[{id:"appendItem",title:"新增按钮",text:"",icon:"f-icon f-icon-plus-circle text-white",onClick:h=>b(h)}]}return{canAccepts:s,checkCanAddComponent:d,checkCanDeleteComponent:l,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:f,onResolveNewComponentSchema:a,getPropsConfig:u,getCustomButtons:p}}function En(n){let e;function t(r,s,a,c){const l=n.schema;if(!(l!=null&&l.buttons))return;let d;if(a){const p=a.getAttribute("id");d=Array.from(s.children).findIndex(h=>h.getAttribute("id")===p)}else d=Array.from(s.children).length;const f=r.getAttribute("id"),u=Array.from(s.children).findIndex(p=>p.getAttribute("id")===f),b=l.buttons[u];u!==d&&u>-1&&d>-1&&(u<d&&(d=d-1),l.buttons.splice(u,1),l.buttons.splice(d,0,b),c(),i.nextTick(()=>{const p=s.querySelector(".dgComponentSelected");p!=null&&p.className.includes("dgComponentSelected")&&(p.classList.remove("dgComponentSelected"),p.classList.remove("dgComponentFocused"),p.click()),Pe.value++}))}function o(r,s,a){e&&e.destroy(),!(!Re||!r||!s)&&(e=Re([r],{mirrorContainer:s,direction:"horizontal",getMirrorText(c){return c.innerText},moves(c,l,d){let f=!0;return d.classList.contains("dropdown-item")?(f=!1,f):(c.classList.contains("no-drag")&&(f=!1),f)}}).on("drop",(c,l,d,f)=>t(c,l,f,a)))}return{dragulaInstance:e,initDragula:o}}function Vn(n,e,t){const{renderToolbarItemDesigner:o,actionHandlers:r}=t;let s;function a(V){s=V}function c(V,E=null){const I=e.value.find(B=>B.id===V.id);if(I.isDP)if(document.body.click(),typeof E=="boolean")I.expanded=E;else{const B=V.expanded;I.expanded=!B}}r.toggleDropdownMenu=c;function l(V){var I;const E={"dropdown-menu":!0};if(V.class){const B=(I=V.menuClass)==null?void 0:I.split(" ");B&&B.length&&B.reduce((O,w)=>(O[w]=!0,O),E)}return E}function d(V){var B;const E={disabled:V.disabled===!1,"dropdown-submenu":!0,"f-rt-dropdown":!0,"text-truncate":!0},I=(B=V.dropdownClass)==null?void 0:B.split(" ");return I&&I.length&&I.reduce((O,w)=>(O[w]=!0,O),E),E}function f(V){const E={disabled:!1,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0,"text-truncate":!0},I=(V.class||"").split(" ");return I&&I.length&&I.reduce((B,O)=>(B[O]=!0,B),E),E}let u;const b=new Map;function p(V,E,I){V.stopPropagation();const B=I?I.id:"__top_item__";if(E.children&&E.children.length&&(E.expanded=!E.expanded,E.expanded)){if(b.has(B)&&b.get(B)!==E){const O=b.get(B);O&&(O.expanded=!1,b.delete(B))}b.set(B,E)}}function h(V){var E;return(E=V.children)==null?void 0:E.map((I,B)=>I.children&&I.children.length?i.createVNode("li",{class:d(I),id:I.id},[i.createVNode("span",{class:f(I),onClick:O=>p(O,I,V)},[I.text,i.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),u(I,I)]):o(I,B,!0))}function v(V,E,I,B){const{height:y,left:N,top:C}=B[0],{width:g,height:S}=I.getBoundingClientRect(),{marginTop:D,marginBottom:x}=getComputedStyle(I),M=Math.ceil(parseFloat(D))+Math.ceil(parseFloat(x)),L=C+y,G=E==null?void 0:E.getBoundingClientRect();function oe(){let Y=0,U="left";const J=G?G.right:window.innerWidth,_=G?G.left:0;return Y=J-N-10,J-N<g&&N-_>J-N&&(U="right",Y=N-_-10),{hposition:U,maxWidth:Math.min(Y,300)}}let te=0,H="bottom";if(V==="tabs"||V==="section")te=E.getBoundingClientRect().bottom-L-M-10;else{const Y=G?G.bottom:window.innerHeight;te=V==="page-header"?Y-L:C,te=te-M-10,H=V==="page-header"?"bottom":"top"}const q=oe();return{position:H+"-"+q.hposition,maxWidth:q.maxWidth,maxHeight:te}}function $(V){var w,y,N;const E="300px",I={display:V.expanded===!0?"block":"none",position:"absolute",maxWidth:E,minWidth:"120px"};if(!(s!=null&&s.value))return I;const B=s.value.querySelector("#"+V.id),O=B==null?void 0:B.getClientRects();if(B&&O&&O.length>0){const C=B?B.querySelector("#"+V.id+"_menu"):null;if(!C||V.expanded!==!0)return I;C.style.visibility="hidden",C.style.display="block",C.style.maxHeight="auto",C.style.maxWidth=E;let g;switch(r.toolbarPosition){case"tabs":g=(w=s.value)==null?void 0:w.closest(".farris-tabs");break;case"section":g=(y=s.value)==null?void 0:y.closest(".f-section");break;default:g=(N=s.value)==null?void 0:N.closest(".f-page")}const S=v(r.toolbarPosition,g,C,O),{position:D,maxHeight:x,maxWidth:M}=S;C.style.visibility="visible";const L={left:D.indexOf("left")>-1?0:"unset",right:D.indexOf("left")>-1?"unset":0,bottom:D.indexOf("bottom")>-1?"unset":"100%",top:D.indexOf("bottom")>-1?"!00%":"unset",maxWidth:M?M+"px":"300px",maxHeight:x?x+"px":"auto",overflowY:x?"auto":"unset"};Object.assign(I,L)}return I}r.changeMenuPosition=$,u=function(V,E){return i.createVNode("ul",{class:l(V),style:$(V),id:V.id+"_menu"},[h(V)])};function j(V=""){V&&b.has(V)?b.forEach((E,I)=>{I!==V&&(E.expanded=!1,b.delete(I))}):(b.forEach(E=>{E.expanded=!1}),b.clear())}return{renderDropdownMenu:u,clearAllDropDownMenu:j,setResponseToolbarRef:a}}function gt(){function n(t){const o={"f-icon":!0};if(t.icon){const r=t.icon.trim().split(" ");r&&r.length&&r.reduce((s,a)=>(s[a]=!0,s),o)}return o}function e(t){return!!(t.icon&&t.icon.trim())}return{iconClass:n,shouldShowIcon:e}}const Bn={id:{type:String,default:""},componentId:{type:String,default:""},canAdd:{type:Boolean,default:!1},canDelete:{type:Boolean,default:!1},canMove:{type:Boolean,default:!1},contentKey:{type:String,default:"contents"},childLabel:{type:String,default:""},childType:{type:String,default:""},modelValue:{type:Object}};function Mn(n,e,t){var O;const o="",r=i.ref();function s(){return!0}function a(){return!1}function c(){return!0}function l(){return!0}function d(){return!0}function f(w){if(!w||!w.value)return null;const y=i.ref(w==null?void 0:w.value.parent),N=f(y);return N||null}function u(w=e){var g;const{componentInstance:y,designerItemElementRef:N}=w;if(!y||!y.value)return null;const{getCustomButtons:C}=y.value;return y.value.canMove||y.value.canAdd||y.value.canDelete||C&&((g=C())!=null&&g.length)?N:u(w.parent)}function b(){}function p(w){return!!t}function h(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function v(){}function $(w,y){}function j(w){const{componentType:y}=w,N=i.inject("designer-host-service");let C=Ie(y,w,N);const g=y.toLowerCase().replace(/-/g,"_");return C&&!C.id&&C.type===y&&(C.id=`${g}_${Math.random().toString().slice(2,6)}`),C}function V(w){}function E(...w){return[]}function I(){}function B(w){}return r.value={canMove:s(),canSelectParent:a(),canAdd:l(),canDelete:c(),canNested:!d(),contents:[],elementRef:n,parent:(O=e.parent)==null?void 0:O.componentInstance,schema:e.schema,styles:o,canAccepts:p,getBelongedComponentInstance:f,getDraggableDesignItemElement:u,getDraggingDisplayText:h,getPropConfig:E,getDragScopeElement:v,onAcceptMovedChildElement:$,onChildElementMovedOut:V,addNewChildComponentSchema:j,onRemoveComponent:I,triggerBelongedComponentToMoveWhenMoved:i.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:i.ref(!1),onPropertyChanged:B,getCustomButtons:b},r}const Nn=i.defineComponent({name:"FDesignerInnerItem",props:Bn,emits:["selectionChange","addComponent","removeComponent","clickButton"],setup(n,e){const t=i.ref(n.canMove),o=i.ref(n.canAdd),r=i.ref(n.canDelete),s=i.ref(!1),a=i.ref(n.contentKey),c=i.ref(n.childType),l=i.ref(n.childLabel),d=i.ref(n.modelValue),f=i.ref(""),u=i.ref(),b=i.inject("canvas-dragula"),p=i.ref(),h=i.inject("design-item-context"),v={designerItemElementRef:u,componentInstance:p,schema:d.value,parent:h,setupContext:e};i.provide("design-item-context",v);const $=i.computed(()=>{var L;const x=((L=p.value)==null?void 0:L.getCustomButtons)&&p.value.getCustomButtons();return{"farris-component":!0,"flex-fill":n.id==="root-component","position-relative":t.value||r.value||(x==null?void 0:x.length),"farris-nested":s.value,"can-move":t.value,"d-none":u.value&&u.value.classList.contains("d-none")}}),j=i.computed(()=>{const x={};return f.value&&f.value.split(";").reduce((M,L)=>{const[G,oe]=L.split(":");return G&&(M[G]=oe),M},x),x});function V(x,M){if(h&&h.schema[a.value]){const L=h.schema[a.value].findIndex(G=>G.id===M.id);if(L>-1){const G=h.schema[a.value].length,oe=h.schema[a.value][L%G];h.designerItemElementRef.value.querySelector(`#${oe.id}-design-item`),h.schema[a.value].splice(L,1),Pe.value++,e.emit("removeComponent"),e.emit("selectionChange")}}}function E(x){if(p.value.addNewChildComponentSchema){const M={componentType:c.value,label:l.value,parentComponentInstance:p.value,targetPosition:-1},L=p.value.addNewChildComponentSchema(M);d.value[a.value].push(L),e.emit("addComponent")}}function I(){return o.value&&i.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:x=>{E()}},[i.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function B(x){return r.value&&i.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:i.withModifiers(M=>V(M,x),["stop"])},[i.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function O(){return t.value&&i.createVNode("div",{role:"button",class:"btn component-settings-button",title:"移动",ref:"moveComponent"},[i.createVNode("i",{"data-dragging-icon":"true",class:"cmp_move f-icon f-icon-yxs_move"},null)])}function w(){var M;const x=((M=p.value)==null?void 0:M.getCustomButtons)&&p.value.getCustomButtons();return x&&!!x.length&&x.map(L=>i.createVNode("div",{role:"button",class:`btn component-settings-button ${L.class||""} ${L.text?"settings-button-extend":""}`,title:L.title,ref:L.id,onClick:G=>L.onClick&&L.onClick(G)},[i.createVNode("i",{class:"f-icon "+L.icon},null),L.text&&i.createVNode("span",{class:"icon-text"},[L.text])]))}function y(x){return i.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[i.createVNode("div",null,[I(),O(),B(x),w()])])}i.watch(()=>n.modelValue,x=>{d.value=x,v.schema=x});function N(x){window.scrollContainerList||(window.scrollContainerList=new Set);const M=x.getAttribute("id");M&&window.scrollContainerList.add(M)}function C(x){const M=x.target;N(M),wn(M)}function g(){var x,M;(M=(x=d.value)==null?void 0:x.contents)!=null&&M.length&&u.value&&u.value.addEventListener("scroll",C)}function S(){const x=u.value,M=i.ref(x.children[1]);return Mn(M,v).value}i.onMounted(()=>{if(u.value){const x=u.value.querySelector(`[data-dragref='${d.value.id}-container']`);p.value=x&&x.componentInstance?x.componentInstance.value:S(),b&&x&&b.attachComponents(x,d.value),s.value=p.value.canNested!==void 0?p.value.canNested:s.value,o.value=p.value.canAdd!==void 0?p.value.canAdd:o.value,r.value=p.value.canDelete!==void 0?p.value.canDelete:r.value,t.value=p.value.canMove!==void 0?p.value.canMove:t.value,f.value=p.value.styles||"",u.value&&(u.value.componentInstance=p,u.value.designItemContext=v)}g(),Pe.value++}),i.onBeforeUnmount(()=>{u.value&&u.value.removeEventListener("scroll",C)});function D(x){x&&(x.preventDefault(),x.stopPropagation());let M=v.designerItemElementRef;const L=u.value;if(L){const G=document.getElementsByClassName("dgComponentFocused");G&&G.length===1&&G[0]===u.value&&u.value.classList.contains("dgComponentSelected")||(Array.from(G).forEach(te=>te.classList.remove("dgComponentFocused")),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(te=>te.classList.remove("dgComponentSelected")),L.classList.add("dgComponentFocused"),e.emit("selectionChange",d.value.type,d.value,n.componentId,p.value),p.value.getDraggableDesignItemElement&&(M=p.value.getDraggableDesignItemElement(v),M&&M.value&&M.value.classList.add("dgComponentSelected")))}pt(M==null?void 0:M.value)}return()=>i.createVNode("div",{id:`${n.id}-design-item`,ref:u,class:$.value,style:j.value,onClick:D},[y(d.value),e.slots.default&&e.slots.default()])}});class Dn extends $e.BaseControlProperty{constructor(e,t){super(e,t)}getPropertyConfig(e,t=!1){return this.propertyConfig.categories.basic=this.getBasicPropConfig(e),this.propertyConfig.categories.basic.properties.text={title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},this.getAppearanceProperties(e,t),this.getbBehaviorConfig(e),this.getEventPropConfig(e),this.propertyConfig}getAppearanceProperties(e,t=!1){this.propertyConfig.categories.appearance={title:"外观",properties:{class:{description:"组件的CSS样式",title:"class样式",visible:!t},icon:{title:"图标",type:"string",description:""},split:{title:"下拉按钮分离",type:"boolean",description:"启用下拉按钮分离,可以单独点击按钮。单独点击下拉按钮展开下拉面板",visible:!!(e.children&&e.children.length>0)}}}}getbBehaviorConfig(e){const t=this.getPropertyEditorParams(e,["Const","Variable","StateMachine","Expression"],"disabled");this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"",{disabled:{title:"禁用",type:"boolean",description:"按钮禁用状态",refreshPanelAfterChanged:!0,editor:t}})}getEventPropConfig(e){const t=[{label:"onClick",name:"点击事件"}],o=this,r=o.eventsEditorUtils.formProperties(e,o.viewModelId,t),s={};s[o.viewModelId]={type:"events-editor",editor:{initialData:r}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:s,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,c){const l=a.propertyValue;delete e[o.viewModelId],l&&(l.setPropertyRelates=this.setPropertyRelates,o.eventsEditorUtils.saveRelatedParameters(e,o.viewModelId,l.events,l))}}}}class Rn extends mt{constructor(t,o,r="response-toolbar-item"){super(t,o);ne(this,"toolbarType","response-toolbar-item");this.toolbarType=r}getPropertyConfig(t,o=!1){this.propertyConfig.categories.basic=this.getBasicPropConfig(t),this.propertyConfig.categories.basic.properties.text={title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},this.propertyConfig.categories.basic.setPropertyRelates=s=>{if(s)switch(s&&s.propertyID){case"text":{s.needRefreshControlTree=!0;break}}},this.getAppearanceProperties(t,o);const r=this.getPropertyEditorParams(t,["Const","Variable","StateMachine","Expression"],"disabled");return this.propertyConfig.categories.behavior=this.getBehaviorConfig(t,"",{disabled:{title:"禁用",type:"boolean",description:"按钮禁用状态",refreshPanelAfterChanged:!0,editor:r}}),this.getEventPropConfig(t),this.propertyConfig}getAppearanceProperties(t,o=!1){this.propertyConfig.categories.appearance={title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"",$converter:"/converter/appearance.converter",visible:!o},icon:{title:"图标",type:"string",description:""},split:{title:"下拉按钮分离",type:"boolean",description:"启用下拉按钮分离,可以单独点击按钮。单独点击下拉按钮展开下拉面板",visible:!!(t.children&&t.children.length>0)},tipsEnable:{title:"启用提示",type:"boolean",description:"当启用提示时,鼠标滑过按钮会有消息提示框",refreshPanelAfterChanged:!0,visible:this.toolbarType==="response-toolbar-item"},tipsText:{title:"提示消息内容",type:"string",description:"消息提示框内的展示内容",visible:t.tipsEnable===!0}}}}getEventPropConfig(t){const o=[{label:"onClick",name:"点击事件"}],r=this,s=r.eventsEditorUtils.formProperties(t,r.viewModelId,o),a={};a[r.viewModelId]={type:"events-editor",editor:{initialData:s}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:a,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(c,l){const d=c.propertyValue;delete t[r.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,r.eventsEditorUtils.saveRelatedParameters(t,r.viewModelId,d.events,d))}}}}function qe(n,e){if(!n)return!1;const t=e||[];return(t==null?void 0:t.findIndex(r=>r.id===n))===-1}function ht(n,e){const t=e||[];let o={parentIndex:-1,itemIndex:-1};return t.some((r,s)=>{if(r.children&&r.children.length>0){const a=r.children.findIndex(c=>c.id===n);return a>-1?(o={parentIndex:s,itemIndex:a},!0):!1}}),o}function bt(n,e){const t=e||[];let o={parentIndex:-1,itemIndex:-1};const r=t==null?void 0:t.findIndex(s=>s.id===n);return r>-1?{parent:null,item:t[r]}:(t.some((s,a)=>{if(s.children&&s.children.length>0){const c=s.children.findIndex(l=>l.id===n);return c>-1?(o={parentIndex:a,itemIndex:c},!0):!1}}),o.parentIndex<0?{parent:null,item:null}:{parent:t[o.parentIndex],item:t[o.parentIndex].children[o.itemIndex]})}function kn(n,e){const t=e||[],o=t==null?void 0:t.findIndex(r=>r.id===n);return o>-1&&t[o].children&&t[o].children.length>0?t[o].expanded===!0:!1}function $n(n,e,t){function o(C){return!1}function r(){return!1}function s(){return!1}function a(){return!1}function c(){return t.toolbarContext.schema.buttons||[]}function l(C,g=""){setTimeout(()=>{var M,L;const S=(M=n.parent)==null?void 0:M.designerItemElementRef.value;let D;g&&(D=S==null?void 0:S.querySelector("#"+g));const x=(L=D||S)==null?void 0:L.querySelector("#"+C);x==null||x.click()},0)}function d(C,g){g.disabled&&g.disabled.expressionId&&(g.disabled.expressionId=`${g.id}_disabled`),g.visible&&g.visible.expressionId&&(g.visible.expressionId=`${g.id}_visible`);const S=e.formSchemaUtils.getExpressions(),D=S.find(M=>M.target===C.id);if(!D||!D.rules||!D.rules.length)return;const x={target:g.id,rules:[],targetType:"Button"};D.rules.forEach(M=>{const L=Object.assign(he.cloneDeep(M),{id:`${g.id}_${M.type}`});x.rules.push(L)}),S.push(x)}function f(){const C=n.schema,g=Object.assign(he.cloneDeep(C),{id:`${n.schema.type}-cloned-${Math.random().toString(36).slice(2,6)}`,onClick:null});let S=[];return g.children&&g.children.length&&(S=g.children.map(D=>{const x=he.cloneDeep(D);return Object.assign(x,{id:`${n.schema.type}-cloned-${Math.random().toString(36).slice(2,6)}`,onClick:null}),d(D,x),x}),g.children=S),d(C,g),g}function u(){const C=n.schema.type||"response-toolbar-item",g=Ie(C),S=C.toLowerCase().replace("-","_");return g&&!g.id&&g.type===C&&(g.id=`${S}_${Math.random().toString().slice(2,6)}`,g.text="按钮"),g}function b(C){const g=c(),S=g==null?void 0:g.findIndex(x=>x.id===C),D=S===-1?null:g[S];return{index:S,toolbarItem:D}}function p(){const C=n.schema.id,g=c();return qe(C,g)}function h(C){const g=e.formSchemaUtils.getExpressions();if(!g||!g.length)return;const S=D=>{const x=g&&g.findIndex(M=>M.target===D.id);x>-1&&g.splice(x,1)};S(C),C.children&&C.children.length&&C.children.forEach(D=>{S(D)})}function v(C){t.changeSelectedId(C)}function $(){var D,x;const C=c(),{parentIndex:g,itemIndex:S}=ht(n.schema.id,C);g===-1||S===-1||(h(n.schema),C[g].children.splice(S,1),t.updateToolbarItems(),(D=n.setupContext)==null||D.emit("removeComponent"),(x=n.setupContext)==null||x.emit("selectionChange"))}function j(){var D,x;const C=n.schema.id,g=c(),S=g==null?void 0:g.findIndex(M=>M.id===C);S!==-1&&(h(g[S]),g==null||g.splice(S,1),t.updateToolbarItems(),(D=n.setupContext)==null||D.emit("removeComponent"),(x=n.setupContext)==null||x.emit("selectionChange"),Pe.value++)}function V(C="Append"){var L;const g=c(),{parentIndex:S,itemIndex:D}=ht(n.schema.id,g);if(S===-1||D===-1)return;const x=u(),M=C==="Copy"?f():Object.assign({},x);g[S].children.splice(D+1,0,M),t.updateToolbarItems(),v(M.id),(L=n.setupContext)==null||L.emit("addComponent")}function E(C,g){const{index:S}=b(g);if(S===-1)return{index:S,schema:null};const D=u(),x=C==="Copy"?f():Object.assign({},D);return{index:S,schema:x}}function I(){var D;const C=n.schema.id,{index:g,schema:S}=E("Copy",C);S&&(c().splice(g+1,0,S),t.updateToolbarItems(),l(S.id),(D=n.setupContext)==null||D.emit("addComponent"))}function B(){var D;const C=n.schema.id,{index:g,schema:S}=E("Append",C);if(S&&n.parent){const M=c()[g].children||[];M.push(S);const L=c();L[g].children=M,t.updateToolbarItems(),v(S.id),(D=n.setupContext)==null||D.emit("addComponent")}}function O(C){let g;switch(n.schema.type){case"tab-toolbar-item":g=new Dn(C,e);break;default:g=new Rn(C,e,n.schema.type)}return g.getPropertyConfig(n.schema,p())}function w(C){C.stopPropagation(),C.stopImmediatePropagation()}function y(){const C=[{id:"delete",title:"删除",text:"",icon:"f-icon-yxs_delete",onClick:g=>{w(g),p()?$():j()}},{id:"copy",title:"复制",icon:"f-icon-yxs_copy",onClick:g=>{w(g);const{activeElement:S}=document,D=S?S.tagName.toLowerCase():"";D&&D==="input"||D==="textarea"?(S==null||S.blur(),i.nextTick(()=>{p()?V("Copy"):I()})):p()?V("Copy"):I()}}];return C.push(p()?{id:"appendSiblingButton",title:"",text:"新增同级",icon:"f-icon-plus-circle",onClick:g=>{w(g),V()}}:{id:"appendChildButton",title:"",text:"新增子级",icon:"f-icon-plus-circle",onClick:g=>{w(g),B()}}),C}function N(){const{schema:C}=n;h(C)}return{canAccepts:o,checkCanMoveComponent:r,checkCanDeleteComponent:s,checkCanAddComponent:a,getPropsConfig:O,getCustomButtons:y,onRemoveComponent:N}}const jn=i.defineComponent({name:"FResponseToolbarItemDesign",props:nt,emits:["Click","dropdown","clearAll"],setup(n,e){const t=i.ref(n.alignment),o=gt(),r=i.ref(),s=i.inject("designer-host-service"),a=i.inject("design-item-context"),c=i.inject("toolbar-item-action"),l=$n(a,s,c),d=se.useDesignerInnerComponent(r,a,l);i.onMounted(()=>{r.value.componentInstance=d}),e.expose(d.value);function f(){const I={"f-icon":!0},B=n.icon?n.icon.trim():"";return we.getCustomClass(I,B)}function u(){return!!(n.icon&&n.icon.trim())}const b=i.computed(()=>{const I={btn:!0,"f-rt-btn":!0,"f-btn-ml":!n.isDP&&(t.value==="right"||t.value==="center"),"f-btn-mr":!n.isDP&&t.value==="left","btn-icontext":!!(n.icon&&n.icon.trim()),disabled:n.disabled===!0,"no-drag":!0,"text-truncate":!0};return we.getCustomClass(I,n.class)}),p=i.computed(()=>n.split?{display:"flex","align-items":"center"}:{display:"flex","align-items":"center","border-radius":"6px","padding-right":"0.1rem","border-top-right-radius":"6px","border-bottom-right-radius":"6px"}),h=i.computed(()=>{const I={btn:!0,"dropdown-toggle":!0,"f-btn-mr":t.value==="left","dropdown-toggle-split":!0,"no-drag":!0};return we.getCustomClass(I,n.class)}),v=i.computed(()=>{let I={btn:!n.isDPItem,disabled:n.disabled===!0,"dropdown-item":n.isDPItem,"f-rt-btn":!0,"text-truncate":!0,"btn-icontext":!n.isDPItem&&!!(n.icon&&n.icon.trim()),"dropdown-item-icontext":n.isDPItem&&!!(n.icon&&n.icon.trim()),"no-drag":!0};return n.isDPItem||(I=we.getCustomClass(I,n.class||"")),n.isDP&&(I=we.getCustomClass(I,n.dropdownClass||"")),I});function $(I,B){B&&B.stopPropagation(),e.emit(I,{id:n.id,isDP:n.isDP})}function j(){return{"btn-group":!0,"no-drag":!0,"f-rt-dropdown":!0,"f-btn-ml":t.value==="right"||t.value==="center","f-btn-mr":t.value==="left"}}function V(){return i.createVNode("div",{ref:r,"data-dragref":`${a.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[i.createVNode("div",{class:j(),id:n.id},[i.createVNode("div",{class:b.value,style:p.value,onClick:()=>$("clearAll")},[o.shouldShowIcon(n)&&i.createVNode("i",{class:o.iconClass(n)},null),i.createVNode("span",null,[n.text]),!n.split&&i.createVNode("span",{class:"f-icon f-icon-arrow-chevron-down",style:"margin:0 0.5rem 0 0.25rem;",onClick:I=>$("dropdown",I)},null)]),n.split&&i.createVNode("button",{class:h.value,style:"border-radius:0 6px 6px 0;",onClick:I=>$("dropdown",I)},null),c.renderDropdownMenu(n.item,n.item)])])}function E(){return i.createVNode("li",{ref:r,"data-dragref":`${a.schema.id}-container`,id:n.id,class:v.value},[o.shouldShowIcon(n)&&i.createVNode("i",{class:o.iconClass(n)},null),n.text])}return()=>n.isDP?V():n.isDPItem?E():i.createVNode("div",{ref:r,"data-dragref":`${a.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[i.createVNode("button",{type:"button",class:b.value,id:n.id,onClick:()=>$("clearAll")},[u()&&i.createVNode("i",{class:f()},null),n.text])])}});function On(n,e,t,o){function r(b,p,h,v){o.changeSelectedId((p==null?void 0:p.id)||""),t&&t.setupContext&&t.setupContext.emit("selectionChange",b,p,h,v)}function s(){}function a(b){const p=b.expanded;o.clearAllDropdown(),o.toggleDropdownMenu(b,!p)}function c(b){o.clearAllDropdown(b.isDP?b.id:"")}function l(b,p=""){const h=n.items||[],v=p||b,$=h.find(j=>j.id===v);return p?$.children.find(j=>j.id===b):$}function d(b,p=!1){if(!p)return;const h=b.target;h!=null&&h.classList.contains("dgComponentFocused")&&(h==null||h.classList.add("dgComponentSelected"))}function f(b,p=!1){if(!p)return;const h=b.target;h!=null&&h.classList.contains("dgComponentFocused")&&(h==null||h.classList.remove("dgComponentSelected"))}function u(b,p,h=!1){const v=l(b.id,b.parent),$=i.ref(v);return i.createVNode(Nn,{key:v.id,class:["p-0",h?"d-block no-drag":"d-inline-block"],modelValue:$.value,"onUpdate:modelValue":j=>$.value=j,canMove:!1,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:n.componentId,id:v.id,onSelectionChange:r,onRemoveComponent:s,onMouseenter:j=>d(j,h),onMouseleave:j=>f(j,h)},{default:()=>{var j;return[i.createVNode(jn,{id:v.id,disabled:v.disabled,text:v.text,icon:v.icon,isDP:b.isDP,item:b,split:v.split,isDPItem:b.isDPItem,class:((j=b.appearance)==null?void 0:j.class)||"btn-secondary",alignment:n.alignment||"right",onDropdown:()=>a(b),onClearAll:V=>c(V),componentId:n.componentId},null)]}})}return{renderToolbarItemDesigner:u,actionHandlers:o}}function He(n,e=!1,t=""){const o=[];return n.reduce((r,s)=>{if(s.children&&s.children.length>0){const a=He(s.children,!0,s.id);r.push(Object.assign({},s,{children:a,isDPItem:!1,isDP:!0,parent:"",expanded:!1}))}else r.push(Object.assign({},s,{isDPItem:e,isDP:!1,parent:t}));return r},o),o}const An=i.defineComponent({name:"FResponseToolbarDesign",props:Wt,emits:["Click"],setup(n,e){const t=i.ref(He(n.items)),o=i.ref(),r=i.ref(),s=i.ref(),a=i.ref("");let c=0;const l=15,d=i.inject("designer-host-service"),f=i.inject("design-item-context"),u={clearAllDropdown:H=>{},toggleDropdownMenu:H=>{},updateToolbarItems:()=>{},changeSelectedId:H=>{a.value=H},renderDropdownMenu:(H,q)=>{},toolbarContext:f,changeMenuPosition:(H,q,Y)=>({}),toolbarPosition:""},b=Pn(f,d,u),p=se.useDesignerComponent(s,f,b),h=i.inject("toolbar-item-handler"),{initDragula:v,dragulaInstance:$}=En(f),j=gt(),V=On(n,r,f,u),E=Vn(j,t,V),{renderToolbarItemDesigner:I}=V,{clearAllDropDownMenu:B,renderDropdownMenu:O,setResponseToolbarRef:w}=E;i.provide("toolbar-item-action",u),u.renderDropdownMenu=O,w(s),h&&(h.changeSelectedId=function(H){a.value=H});function y(){const H=r.value.querySelector(".dgComponentSelected");H&&ft(H)}function N(){if(a.value)if(qe(a.value,t.value)){const{parent:H,item:q}=bt(a.value,t.value);H&&(u.toggleDropdownMenu(H,!0),setTimeout(()=>{var J;const Y=s.value.querySelector("#"+H.id),U=Y==null?void 0:Y.querySelector("#"+q.id);(((J=U==null?void 0:U.parentElement)==null?void 0:J.className)||"").indexOf("dgComponentFocused")<0&&(U==null||U.click())},0))}else y()}function C(H=""){t.value.filter(q=>q.id!==H&&q.children&&q.children.length>0).forEach(q=>{q.expanded=!1}),B(H)}u.clearAllDropdown=C;function g(){h&&h.updateToolbarItems&&h.updateToolbarItems()}u.updateToolbarItems=g;function S(H){if(H){const q=s.value.querySelector("#"+H.id),Y=q.querySelector("#"+H.id+"_menu"),U=u.changeMenuPosition(H,q);Object.keys(U).forEach(J=>{Y.style[J]=U[J]})}}function D(){const Y=r.value.clientWidth,U=r.value.querySelectorAll(".farris-component>.f-rt-btn");U&&U.forEach(_=>{_.style.maxWidth=Y-12+"px"});const J=r.value.querySelectorAll(".farris-component>.f-rt-dropdown");J&&J.forEach(_=>{_.querySelector(".dropdown-toggle-split")?_.querySelector(".f-rt-btn").style.maxWidth=Y-38+"px":_.style.maxWidth=Y-12+"px"})}const x=new ResizeObserver(H=>{var q;if(H.length){const U=H[0].contentRect.width;if(U===0){c=0;return}if(Math.abs(U-c)>l){if(c=U,qe(a.value,t.value)){const{parent:J,item:_}=bt(a.value,t.value);S(J)}else if(kn(a.value,t.value)){const J=(q=t.value)==null?void 0:q.find(_=>_.id===a.value);S(J)}else C();D()}}});i.onMounted(()=>{x.observe(s.value),c=s.value.clientWidth,s.value.componentInstance=p,v(r.value,o.value,g)}),i.onUnmounted(()=>{x.disconnect(),$&&$.destroy&&$.destroy()}),e.expose(p.value);const M=i.computed(()=>{const H={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0,"f-response-toolbar-sm":n.buttonSize==="sm","f-response-toolbar-lg":n.buttonSize==="lg"};return we.getCustomClass(H,n.customClass)}),L=i.computed(()=>({"text-left":n.alignment==="left","text-right":n.alignment==="right","justify-content-end":n.alignment==="right","justify-content-start":n.alignment==="left","justify-content-center":n.alignment==="center","no-drag":!0,"w-100":!0}));i.watch(()=>n.items,()=>{t.value=He(n.items),i.nextTick(()=>{N(),D()})},{deep:!0});function G(H){H&&(H.stopPropagation(),H.preventDefault());const{schema:q}=f;q.buttons||(q.buttons=[]);const Y=Ie("response-toolbar-item");Y.id=`toolbar_item_${Math.random().toString().slice(2,6)}`,Y.appearance={class:"btn btn-secondary"},q.buttons.push(Y)}function oe(){return i.createVNode("li",{style:"border-width: 1px;border-style: dashed;display: inline-block;padding: 0 8px;line-height: 24px; border-radius: 3px; cursor: default;color: #B4BCCC;",onClick:G},[i.createVNode("span",{class:"f-icon f-icon-amplification mr-1",style:"font-size: 12px;"},null),i.createVNode("span",{class:"farris-tag-add-text"},[i.createTextVNode("添加按钮")])])}function te(){return t.value.map((H,q)=>I(H,q))}return()=>{var H;return i.createVNode("div",{ref:s,"data-dragref":`${f.schema.id}-container`,class:M.value,id:n.id},[i.createVNode("div",{ref:o,class:L.value,onClick:q=>C(q)},[i.createVNode("div",{ref:r,class:"d-block f-response-content"},[(H=t.value)!=null&&H.length?te():oe()])])])}}});be.install=n=>{n.component(be.name,be),n.component(Ne.name,Ne)},be.register=(n,e,t,o)=>{n.tabs=be,n["tab-page"]=Ne,e.tabs=ot,e["tab-page"]=Fe,o.tabs={eventHandlerResolver:rt}},be.registerDesigner=(n,e,t)=>{n.tabs=un,n["tab-page"]=mn,e.tabs=it,e["tab-page"]=Fe,e["tab-toolbar-item"]=bn,n["tab-toolbar"]=An,e["tab-toolbar"]=st},X.FTabPage=Ne,X.FTabs=be,X.default=be,X.eventHandlerResolver=rt,X.tabPageProps=Me,X.tabPagePropsResolver=Fe,X.tabToolbarPropsResolver=st,X.tabsDesignProps=Le,X.tabsDesignPropsResolver=it,X.tabsProps=Be,X.tabsPropsResolver=ot,Object.defineProperties(X,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(x,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("../response-toolbar/index.umd.js"),require("../common/index.umd.js"),require("../capsule/index.umd.js"),require("../section/index.umd.js"),require("../property-panel/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../response-toolbar/index.umd.js","../common/index.umd.js","../capsule/index.umd.js","../section/index.umd.js","../property-panel/index.umd.js"],e):(x=typeof globalThis<"u"?globalThis:x||self,e(x.tabs={},x.Vue,x.FResponseToolbar,x.common,x.FCapsule,x.FSection,x.propertyPanel))})(this,function(x,e,$,z,G,J,K){"use strict";const D={tabType:{type:String,default:"default"},autoTitleWidth:{type:Boolean,default:!1},titleLength:{type:Number,default:7},position:{type:String,default:"top"},showDropdown:{type:Boolean,default:!0},scrollStep:{type:Number,default:10},autoResize:{type:Boolean,default:!1},width:{type:Number},height:{type:Number},searchBoxVisible:{type:Boolean,default:!0},titleWidth:{type:Number,default:0},customClass:{type:String,default:""},activeId:{type:String},fill:{type:Boolean,default:!1},justifyContent:{type:String,default:"left"},visible:{type:Boolean,default:!0}};function Q(t,n,a){const r=e.ref([]),o=e.ref(t.activeId||"");let d="";const y=e.ref(!0),f=e.ref([]),c=e.ref(0),m=e.computed(()=>{const s=r.value.find(i=>i.props.id===o.value);return(s==null?void 0:s.props.toolbarPosition)==="inHead"});function b(s,l=!0){const i=s.findIndex(v=>v.props.show!==!1&&!v.props.disabled);if(f.value=[],i!==-1){if(o.value=s[i].props.id,!l)return;const v=s[i];v&&v.props.toolbar&&v.props.toolbar.buttons&&v.props.toolbar.buttons.length&&(f.value=[...v.props.toolbar.buttons])}}function C(s){o.value=s;const l=r.value.find(i=>i.props.id===s);f.value=[],l&&l.props.toolbar&&l.props.toolbar.buttons&&l.props.toolbar.buttons.length&&(f.value=[...l.props.toolbar.buttons]),n.emit("update:activeId",s),n.emit("tabChange",{prevId:d,nextId:o.value})}function S(s){let l=-1;if(!o.value){if(l=s.findIndex(i=>o.value===i.props.id&&i.props.show!==!1&&!i.props.disabled),l>-1)return;d=o.value}b(s,!1),C(o.value)}function h(s){let l=!1;if(s){const i=r.value.find(v=>v.props.id===s);l=!i||i.props.show===!1||i.props.disabled===!0}l?S(r.value):(o.value!==s&&(d=o.value,o.value=s),C(o.value))}e.watch(()=>t.activeId,(s,l)=>{s!==l&&h(s)});function T(s){var i;if(t.autoTitleWidth)return;const l=(i=s.value)==null?void 0:i.querySelectorAll(".st-tab-text");if(!(!l||t.tabType==="pill"))for(let v=0;v<l.length;v++){const N=l[v].parentNode;l[v].scrollWidth>N.offsetWidth?l[v].classList.contains("farris-title-text-custom")||l[v].classList.add("farris-title-text-custom"):l[v].classList.remove("farris-title-text-custom")}}const u=s=>{s.preventDefault(),s.stopPropagation()};function O(s,l,i=!1){const v=r.value.findIndex(N=>N.props.id===l);r.value=r.value.filter(N=>N.props.id!==l),o.value===l&&(d=l,o.value="",b(r.value)),u(s),e.nextTick(()=>{c.value++,T(a),i&&(y.value=!0),n.emit("tabRemove",{removeIndex:v,removeId:l,activeId:o.value})})}function V(s,l=!0){o.value===s&&(o.value="",d=s,h("")),e.nextTick(()=>{c.value++,l&&(y.value=!0)})}let g;function p(s){g=s}function j(s){o.value!==s&&(d=o.value,C(s),g&&g())}function B(s){r.value.findIndex(i=>i.props.id===s.props.id)===-1&&r.value.push(s),c.value++}function P(s){r.value.findIndex(i=>i.props.id===s.props.id)!==-1&&(r.value.forEach(i=>{i.props.id===s.props.id&&(i=s)}),s.props.id===o.value&&m.value,e.nextTick(()=>{c.value++,T(a)}))}return{activeId:o,addTab:B,changeTitleStyle:T,removeTab:O,selectTab:j,tabPages:r,updateTab:P,toolbarItems:f,needUpdateNavigationLayout:c,checkActiveIdAndSelect:h,toggleShowTab:V,hasInHeadClass:m,setScrollToSelectedTabFunction:p}}function X(t,n,a,r,o){const{activeId:d,removeTab:y,selectTab:f}=o,c=e.computed(()=>{const p={"st-tab-text":!0,"text-truncate":t.tabType==="pill"&&!t.autoTitleWidth,"farris-title-auto":t.autoTitleWidth};return z.getCustomClass(p,n.customTitleClass)}),m=e.computed(()=>({"nav-item":!0,"d-none":n.show!==void 0?!n.show:!1,"f-state-active":n.id===d.value,"f-state-disabled":n.disabled})),b=e.computed(()=>({width:`${n.tabWidth}px`})),C=e.computed(()=>({"nav-link":!0,"tabs-text-truncate":!0,active:n.id===d.value,disabled:n.disabled})),S=e.reactive({content:n.title,overflowShown:!0});function h(p){return t.tabType!=="pill"&&!t.autoTitleWidth?e.withDirectives(e.createVNode("span",{class:c.value,"data-tabid":p.id},[p.title]),[[e.resolveDirective("tooltip"),S]]):e.createVNode("span",{class:c.value,"data-tabid":p.id,title:p.title},[p.title])}function T(p){return p.slots.title?p.slots.title:h}const u=T(a),O=e.ref(n.removeable);function V(){return e.createVNode("span",{class:"st-drop-close",onClick:p=>y(p,n.id)},[e.createVNode("i",{class:"f-icon f-icon-close"},null)])}function g(p){f(n.id),t.tabType==="one-page"&&r.scrollToByPaggId(n.id)}return e.createVNode("li",{class:m.value,style:b.value},[e.createVNode("a",{class:C.value,onClick:g},[u(n),O.value&&V()])])}function Y(t,n,a,r,o){const{shouldShowNavigationButtons:d}=a,{tabPages:y}=o,f=e.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":d.value})),c=e.computed(()=>({width:"100%","justify-content":t.justifyContent})),m=e.computed(()=>({nav:!0,"farris-nav-tabs":!0,"flex-nowrap":!0,"nav-fill":t.tabType==="fill","nav-pills":t.tabType==="pills","flex-row":t.position==="top"||t.position==="bottom","flex-column":t.position==="left"||t.position==="right"}));return()=>e.createVNode("div",{class:f.value,style:c.value},[e.createVNode("ul",{class:m.value,ref:n},[y.value.map(b=>X(t,b.props,b,r,o))])])}function Z(t,n,a,r,o){const d=e.ref(),{shouldShowNavigationButtons:y}=a,{activeId:f,tabPages:c,selectTab:m}=o,b=e.ref(f.value),C=e.computed(()=>c.value.map(u=>({name:u.props.title,value:u.props.id,show:u.props.show,disabled:u.props.disabled}))),S=e.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":y.value})),h=e.computed(()=>({width:"100%",display:"flex","justify-content":t.justifyContent}));e.onMounted(()=>{d.value&&(n.value=d.value.$el)});function T(u){m(u)}return e.watch(()=>f.value,u=>{u!==b.value&&(b.value=u)},{immediate:!0}),()=>e.createVNode("div",{class:S.value,style:h.value},[e.createVNode(G,{items:C.value,modelValue:b.value,"onUpdate:modelValue":u=>b.value=u,onChange:T,ref:d},null)])}function ee(t,n,a,r){const o=e.ref(),{activeId:d,removeTab:y,tabPages:f,selectTab:c}=r,{hideDropDown:m,searchTabText:b}=n,C=600;let S=null;const h=e.computed(()=>{var i,v;let l=[];return t.searchBoxVisible?l=(i=f.value)==null?void 0:i.filter(N=>N.props.title.includes(b.value)):l=(v=f.value)==null?void 0:v.slice(),l}),T=e.computed(()=>({"dropdown-menu":!0,"tabs-pt28":t.searchBoxVisible,show:!m.value,"d-none":m.value}));let u;function O(l){u=l}e.watch(m,l=>{if(u.value)if(l)o.value.style.width=null;else{const i=u.value.querySelector(".farris-tabs-header"),v=u.value.clientHeight-i.clientHeight-20,W=i.querySelector(".farris-tabs-title").clientWidth-20;o.value.style.maxWidth=W+"px",o.value.style.maxHeight=v+"px",e.nextTick(()=>{const{width:k}=o.value.getClientRects()[0];o.value.style.width=k?k+"px":null})}});function V(l){return{"dropdown-item":!0,"text-truncate":!0,"px-2":!0,disabled:l.props.disabled,active:l.props.id===d.value,"d-none":l.props.show!==!0}}function g(l){l.preventDefault(),l.stopPropagation()}function p(){S&&clearTimeout(S)}function j(){m.value||(S=setTimeout(()=>{m.value=!0},C))}function B(l,i){l.stopPropagation(),i.disabled||c(i.id),m.value=!0}function P(l,i){l.stopPropagation(),y(l,i,!0)}function s(){return e.createVNode("div",{ref:o,class:T.value,onMouseenter:()=>p(),onMouseleave:()=>j()},[t.searchBoxVisible&&e.createVNode("div",{onClick:l=>g(l),class:"pb-1 tabs-li-absolute"},[e.withDirectives(e.createVNode("input",{type:"text",class:"form-control","onUpdate:modelValue":l=>b.value=l},null),[[e.vModelText,b.value]]),e.createVNode("span",{class:"f-icon f-icon-page-title-query tabs-icon-search"},null)]),h.value.length?e.createVNode("ul",{class:"tab-dropdown-menu--items flex-fill"},[h.value.map(l=>e.createVNode("li",{class:V(l),onClick:i=>B(i,l.props)},[l.props.removeable&&l.props.disabled!==!0&&e.createVNode("span",{class:"float-right st-drop-close",onClick:i=>P(i,l.props.id)},[e.createVNode("i",{class:"f-icon f-icon-close"},null)]),e.createVNode("a",{class:"dropdown-title",title:l.props.title},[l.props.title])]))]):e.createVNode("div",{class:"dropdown-no-data"},[e.createTextVNode("没有相关数据")])])}return{renderDropdownMenu:s,setTabsRef:O}}function te(t,n,a,r){const{hideDropDown:o}=n,{renderDropdownMenu:d,setTabsRef:y}=ee(t,n,a,r),f=e.ref(t.showDropdown);function c(){return f.value&&e.createVNode(e.Fragment,null,[e.createVNode("button",{class:"btn dropdown-toggle-split dropdown-toggle",onClick:()=>{o.value=!1}},null),d()])}return{renderMorePagesButtton:c,setTabsRef:y}}function ne(t,n,a,r){const o=e.ref(!1),{selectTab:d,tabPages:y,needUpdateNavigationLayout:f,activeId:c}=r,m=4,b=e.computed(()=>({btn:!0,"sc-nav-btn":!0,"px-1":!0,"sc-nav-lr":!0,"d-none":!o.value})),C=e.computed(()=>({"btn-group":!0,"sc-nav-btn":!0,dropdown:!0,"d-none":!o.value})),S=e.computed(()=>({btn:!0,"sc-nav-rg":!0,"d-none":!o.value}));function h(g,p){if(!n.value)return;const j=n.value.scrollLeft,B=n.value.scrollWidth-n.value.offsetWidth;if(p>0){if(n.value.scrollLeft>=B)return;n.value.scrollLeft=j+t.scrollStep+g}else if(p<0){if(n.value.scrollLeft<=0)return;n.value.scrollLeft=j-t.scrollStep-g}}function T(g=-1){if(!o.value||!n.value)return;g<0&&(g=y.value.findIndex(s=>s.props.id===c.value));const p=t.tabType==="pills"?".f-capsule-item":".nav-item",j=n.value.querySelectorAll(p),{parentElement:B}=n.value,P=j[g];if(P&&B){const s=B.getBoundingClientRect().left,l=B.getBoundingClientRect().right,i=P.getBoundingClientRect().left,v=P.getBoundingClientRect().right;i<s?h(s-i,-1):l<v&&h(v-l,1),t.tabType==="one-page"&&a.scrollTo(g)}}function u(){var j;if(!n.value)return;const g=n.value,p=(j=n.value)==null?void 0:j.parentElement;o.value=p&&g&&p.offsetWidth<g.scrollWidth-m,o.value&&e.nextTick(()=>{T()})}function O(g){g.disabled||d(g.id)}function V(){["default","one-page"].indexOf(t.tabType)>-1&&e.nextTick(()=>{T()})}return e.watch(f,()=>{u()}),{previousButtonClass:b,nextButtonGroupClass:C,nextButtonClass:S,scrollTab:h,selectAndScrollToTab:O,shouldShowNavigationButtons:o,updateNavigationLayout:u,scrollToSelectedTab:V}}function le(t,n){const{tabPages:a}=n,r=e.ref(""),o=e.ref(!0),d=e.computed(()=>t.searchBoxVisible),y=e.computed(()=>d.value?a.value.filter(c=>c.props.title.includes(r.value)):a.value.slice());return e.watch(o,f=>{f||(r.value="")}),{searchTabText:r,hideDropDown:o,shouldShowSearchBox:d,tabsInDropdownMenu:y}}function oe(t,n,a){const r=".farris-tab-page",{tabPages:o}=a;function d(f){const c=n.value;if(c){const m=n.value.querySelectorAll(r);if(m.length>0){const b=m[f],{offsetTop:C}=b,S=C-32>0?C-32:0;c.scrollTop=S}}}function y(f){const c=o.value.findIndex(m=>m.props.id===f);c>-1&&d(c)}return{scrollTo:d,scrollToByPaggId:y}}const H=e.defineComponent({name:"FTabs",props:D,emits:["tabChange","tabRemove","update:activeId","Click"],setup(t,n){const a=e.ref(t.tabType),r=e.shallowRef(),o=e.ref(t.customClass),d=e.shallowRef(),y=e.shallowRef(),f=e.ref(),c=Q(t,n,d),{activeId:m,changeTitleStyle:b,tabPages:C,addTab:S,updateTab:h,toolbarItems:T,checkActiveIdAndSelect:u,toggleShowTab:O,hasInHeadClass:V}=c,g=oe(t,y,c),p=ne(t,d,g,c),{previousButtonClass:j,nextButtonClass:B,nextButtonGroupClass:P,scrollTab:s,updateNavigationLayout:l,scrollToSelectedTab:i}=p;c.setScrollToSelectedTabFunction(i);const v=le(t,c),N=Y(t,d,p,g,c),W=N,k=Z(t,d,p,g,c),F=new Map([["default",N],["one-page",W],["pills",k]]);e.computed(()=>{const w=C.value.find(I=>I.props.id===m.value);return w==null?void 0:w.slots});const A=e.computed(()=>t.fill);e.provide("tabs",{activeId:m,addTab:S,updateTab:h,tabPages:C,tabType:a,shouldFillParentContaner:A,toggleShowTab:O});let E=!1;const ie=e.computed(()=>({"farris-tabs-header":!0,"farris-tabs-inHead":V.value,"farris-tabs-inContent":!V.value,"farris-tabs-nav-fill":t.tabType==="fill","farris-tabs-nav-pills":t.tabType==="pills"})),re=e.computed(()=>{const w={width:V.value&&t.titleWidth?`${t.titleWidth}%`:""};return w.width&&(w.flex="unset"),w}),ce=e.computed(()=>{const w={"farris-tabs":!0,"f-utils-fill-flex-column":A.value,"flex-column":t.position==="top","flex-column-reverse":t.position==="bottom","flex-row":t.position==="left","flex-row-reverse":t.position==="right","one-page":t.tabType==="one-page"};return o.value&&o.value.split(" ").reduce((I,M)=>(I[M]=!0,I),w),w}),de=new ResizeObserver(w=>{w.length&&l()});function q(){f.value&&!E&&(de.observe(f.value),E=!0)}e.watch(()=>t.visible,w=>{e.nextTick(()=>{C.value.length&&u(t.activeId||C.value[0].props.id),l(),b(d),q()})}),e.watch(()=>t.autoTitleWidth,w=>{e.nextTick(()=>{l(),b(d)})}),e.onMounted(()=>{t.visible&&(C.value.length&&u(t.activeId||C.value[0].props.id),e.nextTick(()=>{l(),b(d)}),q())});function ue(){return e.createVNode("button",{title:"向左",type:"button",class:j.value,onClick:()=>{s(0,-1)}},null)}function fe(){return e.createVNode("button",{title:"向右",type:"button",class:B.value,onClick:()=>{s(0,1)}},null)}const{renderMorePagesButtton:pe,setTabsRef:be}=te(t,v,p,c);be(r);const he=(w,I)=>{n.emit("Click",w,I,m.value)};function ve(){return T.value.length?e.createVNode("div",{class:"farris-tabs-toolbar"},[e.createVNode($,{class:"f-utils-fill",alignment:V.value?"right":"left",items:T.value,onClick:he},null)]):null}const U=F.get(t.tabType)||F.get("default");function me(){var w,I,M,_;return e.createVNode("div",{class:ie.value},[e.createVNode("div",{class:"farris-tabs-header-pre"},[(I=(w=n.slots).headerPrefix)==null?void 0:I.call(w)]),e.createVNode("div",{class:"farris-tabs-title scroll-tabs",style:re.value,ref:f},[ue(),U&&U(),e.createVNode("div",{class:P.value},[fe(),pe()])]),ve(),e.createVNode("div",{class:"farris-tabs-header-post"},[(_=(M=n.slots).headerSuffix)==null?void 0:_.call(M)])])}const ge=e.computed(()=>({"farris-tabs-content":!0,"f-utils-fill-flex-column":A.value}));function ye(){var w,I;return e.createVNode("div",{class:ge.value,ref:y},[(I=(w=n.slots).default)==null?void 0:I.call(w)])}return()=>t.visible?e.createVNode("div",{class:ce.value,ref:r},[me(),ye()]):null}}),L={tabWidth:{type:Number},id:{type:String,default:""},customTitleClass:{type:String,default:""},titleOverflow:{type:Boolean,default:!1},title:{type:String,default:""},selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},removeable:{type:Boolean,default:!1},show:{type:Boolean,default:!0},toolbar:{type:Object,default:{}},toolbarPosition:{type:String,default:"inHead"}};function se(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const R=e.defineComponent({name:"FTabPage",props:L,emits:[],setup(t,n){const a=e.inject("tabs"),r=e.ref(t.show),o={slots:n.slots,props:t},d=e.ref((a==null?void 0:a.tabType.value)||"default");e.onMounted(()=>{const h=a==null?void 0:a.tabPages.value.findIndex(T=>T.props.id===t.id);(!h||h===-1)&&(a==null||a.addTab(o))}),e.onUnmounted(()=>{});const y=e.computed(()=>(t==null?void 0:t.id)===(a==null?void 0:a.activeId.value)),f=e.computed(()=>({display:y.value?"":"none"}));e.watch(()=>t,h=>{a==null||a.updateTab({props:h,slots:n.slots})},{immediate:!0,deep:!0}),e.watch(()=>t.show,h=>{a==null||a.toggleShowTab(t.id)});function c(){var T,u;const h=(u=(T=n.slots).default)==null?void 0:u.call(T);return e.createVNode(J,{"main-title":t.title,class:["farris-tab-page",r.value?"":"f-tab-d-none"]},se(h)?h:{default:()=>[h]})}const m=e.computed(()=>{var T;return{"farris-tab-page":!0,"f-tab-d-none":!r.value,"f-utils-fill-flex-column":y.value&&a&&((T=a.shouldFillParentContaner)==null?void 0:T.value)}});function b(){var T,u;const h=(u=(T=n.slots).default)==null?void 0:u.call(T);return e.createVNode("div",{class:m.value,style:f.value},[h])}const S=new Map([["default",b],["one-page",c]]).get(d.value)||b;return()=>S()}});class ae extends K.BaseControlProperty{constructor(n,a){super(n,a)}getPropertyConfig(n,a=!1){return this.propertyConfig.categories.basic=this.getBasicPropConfig(n),this.propertyConfig.categories.basic.properties.text={title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},this.getAppearanceProperties(n,a),this.getbBehaviorConfig(n),this.getEventPropConfig(n),this.propertyConfig}getAppearanceProperties(n,a=!1){this.propertyConfig.categories.appearance={title:"外观",properties:{class:{description:"组件的CSS样式",title:"class样式",visible:!a},icon:{title:"图标",type:"string",description:""},split:{title:"下拉按钮分离",type:"boolean",description:"启用下拉按钮分离,可以单独点击按钮。单独点击下拉按钮展开下拉面板",visible:!!(n.children&&n.children.length>0)}}}}getbBehaviorConfig(n){const a=this.getPropertyEditorParams(n,["Const","Variable","StateMachine","Expression"],"disabled");this.propertyConfig.categories.behavior=this.getBehaviorConfig(n,"",{disabled:{title:"禁用",type:"boolean",description:"按钮禁用状态",refreshPanelAfterChanged:!0,editor:a}})}getEventPropConfig(n){const a=[{label:"onClick",name:"点击事件"}],r=this,o=r.eventsEditorUtils.formProperties(n,r.viewModelId,a),d={};d[r.viewModelId]={type:"events-editor",editor:{initialData:o}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:d,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(y,f){const c=y.propertyValue;delete n[r.viewModelId],c&&(c.setPropertyRelates=this.setPropertyRelates,r.eventsEditorUtils.saveRelatedParameters(n,r.viewModelId,c.events,c))}}}}H.install=t=>{t.component(H.name,H),t.component(R.name,R)},x.FTabPage=R,x.FTabs=H,x.TabToolbarItemProperty=ae,x.default=H,x.tabPageProps=L,x.tabsProps=D,Object.defineProperties(x,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|