@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
1 lines • 222 kB
JavaScript
(function(ae,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue"),require("lodash-es"),require("../common/index.umd.js"),require("../capsule/index.umd.js"),require("vue-i18n"),require("../response-toolbar/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../section/index.umd.js"),require("../locale/index.umd.js"),require("@vueuse/core"),require("../data-view/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../property-panel/index.umd.js"),require("../accordion/index.umd.js"),require("../avatar/index.umd.js"),require("../../designer/button-edit/index.umd.js"),require("../button-group/index.umd.js"),require("../calendar/index.umd.js"),require("../../designer/checkbox/index.umd.js"),require("../../designer/checkbox-group/index.umd.js"),require("../combo-list/index.umd.js"),require("../combo-tree/index.umd.js"),require("../component/index.umd.js"),require("../color-picker/index.umd.js"),require("../content-container/index.umd.js"),require("../date-picker/index.umd.js"),require("../../designer/data-grid/index.umd.js"),require("../dropdown/index.umd.js"),require("../dynamic-form/index.umd.js"),require("../events-editor/index.umd.js"),require("../filter-bar/index.umd.js"),require("../field-selector/index.umd.js"),require("../binding-selector/index.umd.js"),require("../image-cropper/index.umd.js"),require("../../designer/input-group/index.umd.js"),require("../layout/index.umd.js"),require("../list-nav/index.umd.js"),require("../../designer/list-view/index.umd.js"),require("../lookup/index.umd.js"),require("../mapping-editor/index.umd.js"),require("../nav/index.umd.js"),require("../number-range/index.umd.js"),require("../number-spinner/index.umd.js"),require("../order/index.umd.js"),require("../page-header/index.umd.js"),require("../page-footer/index.umd.js"),require("../pagination/index.umd.js"),require("../progress/index.umd.js"),require("../query-solution/index.umd.js"),require("../../designer/radio-group/index.umd.js"),require("../rate/index.umd.js"),require("../response-layout/index.umd.js"),require("../response-layout-editor/index.umd.js"),require("../search-box/index.umd.js"),require("../smoke-detector/index.umd.js"),require("../splitter/index.umd.js"),require("../step/index.umd.js"),require("../switch/index.umd.js"),require("../tabs/index.umd.js"),require("../tags/index.umd.js"),require("../text/index.umd.js"),require("../time-picker/index.umd.js"),require("../transfer/index.umd.js"),require("../tree-view/index.umd.js"),require("../uploader/index.umd.js"),require("../verify-detail/index.umd.js"),require("../video/index.umd.js"),require("../textarea/index.umd.js"),require("../schema-selector/index.umd.js"),require("../../designer/tree-grid/index.umd.js"),require("../event-parameter/index.umd.js"),require("../filter-condition-editor/index.umd.js"),require("../fieldset/index.umd.js"),require("../sort-condition-editor/index.umd.js"),require("../menu-lookup/index.umd.js"),require("../../designer/drawer/index.umd.js"),require("../json-editor/index.umd.js"),require("../property-editor/index.umd.js"),require("../expression-editor/index.umd.js"),require("../code-editor/index.umd.js"),require("../html-template/index.umd.js"),require("../collection-property-editor/index.umd.js"),require("../modal/index.umd.js"),require("../external-container/index.umd.js"),require("../language-textbox/index.umd.js"),require("../notify/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../common/index.umd.js","../capsule/index.umd.js","vue-i18n","../response-toolbar/index.umd.js","../dynamic-resolver/index.umd.js","../section/index.umd.js","../locale/index.umd.js","@vueuse/core","../data-view/index.umd.js","../designer-canvas/index.umd.js","../property-panel/index.umd.js","../accordion/index.umd.js","../avatar/index.umd.js","../../designer/button-edit/index.umd.js","../button-group/index.umd.js","../calendar/index.umd.js","../../designer/checkbox/index.umd.js","../../designer/checkbox-group/index.umd.js","../combo-list/index.umd.js","../combo-tree/index.umd.js","../component/index.umd.js","../color-picker/index.umd.js","../content-container/index.umd.js","../date-picker/index.umd.js","../../designer/data-grid/index.umd.js","../dropdown/index.umd.js","../dynamic-form/index.umd.js","../events-editor/index.umd.js","../filter-bar/index.umd.js","../field-selector/index.umd.js","../binding-selector/index.umd.js","../image-cropper/index.umd.js","../../designer/input-group/index.umd.js","../layout/index.umd.js","../list-nav/index.umd.js","../../designer/list-view/index.umd.js","../lookup/index.umd.js","../mapping-editor/index.umd.js","../nav/index.umd.js","../number-range/index.umd.js","../number-spinner/index.umd.js","../order/index.umd.js","../page-header/index.umd.js","../page-footer/index.umd.js","../pagination/index.umd.js","../progress/index.umd.js","../query-solution/index.umd.js","../../designer/radio-group/index.umd.js","../rate/index.umd.js","../response-layout/index.umd.js","../response-layout-editor/index.umd.js","../search-box/index.umd.js","../smoke-detector/index.umd.js","../splitter/index.umd.js","../step/index.umd.js","../switch/index.umd.js","../tabs/index.umd.js","../tags/index.umd.js","../text/index.umd.js","../time-picker/index.umd.js","../transfer/index.umd.js","../tree-view/index.umd.js","../uploader/index.umd.js","../verify-detail/index.umd.js","../video/index.umd.js","../textarea/index.umd.js","../schema-selector/index.umd.js","../../designer/tree-grid/index.umd.js","../event-parameter/index.umd.js","../filter-condition-editor/index.umd.js","../fieldset/index.umd.js","../sort-condition-editor/index.umd.js","../menu-lookup/index.umd.js","../../designer/drawer/index.umd.js","../json-editor/index.umd.js","../property-editor/index.umd.js","../expression-editor/index.umd.js","../code-editor/index.umd.js","../html-template/index.umd.js","../collection-property-editor/index.umd.js","../modal/index.umd.js","../external-container/index.umd.js","../language-textbox/index.umd.js","../notify/index.umd.js"],o):(ae=typeof globalThis<"u"?globalThis:ae||self,o(ae.tabs={},ae.Vue,ae.LodashES,ae.common,ae.FCapsule,ae.vueI18n,ae.FResponseToolbar,ae.dynamicResolver,ae.FSection$1,ae.locale,ae.VueUseCore,ae.dataView,ae.designerCanvas))})(this,function(ae,o,he,be,Un,ot,Jt,Ue,_n,Ze,Gn,ie,Qt){"use strict";var Nr=Object.defineProperty;var jr=(ae,o,he)=>o in ae?Nr(ae,o,{enumerable:!0,configurable:!0,writable:!0,value:he}):ae[o]=he;var ue=(ae,o,he)=>jr(ae,typeof o!="symbol"?o+"":o,he);function Zt(t,e){let n;function i(d){const{properties:h,title:p,ignore:m}=d,g=m&&Array.isArray(m),I=Object.keys(h).reduce((k,w)=>((!g||!m.find(P=>P===w))&&(k[w]=h[w].type==="object"&&h[w].properties?i(h[w]):he.cloneDeep(h[w].default)),k),{});if(p&&(!g||!m.find(k=>k==="id"))){const k=p.toLowerCase().replace(/-/g,"_");I.id=`${k}_${Math.random().toString().slice(2,6)}`}return I}function r(d){const{properties:h,title:p,required:m}=d;if(m&&Array.isArray(m)){const g=m.reduce((I,k)=>(I[k]=h[k].type==="object"&&h[k].properties?i(h[k]):he.cloneDeep(h[k].default),I),{});if(p&&m.find(I=>I==="id")){const I=p.toLowerCase().replace(/-/g,"_");g.id=`${I}_${Math.random().toString().slice(2,6)}`}return g}return{type:p}}function a(d,h={},p){const m=t[d];if(m){let g=r(m);const I=e[d];return g=I?I({getSchemaByType:a},g,h,p):g,n!=null&&n.appendIdentifyForNewControl&&n.appendIdentifyForNewControl(g),g}return null}function s(d,h){const p=i(h);return Object.keys(p).reduce((m,g)=>(Object.prototype.hasOwnProperty.call(d,g)&&(m[g]&&he.isPlainObject(m[g])&&he.isPlainObject(d[g]||!d[g])?Object.assign(m[g],d[g]||{}):m[g]=d[g]),m),p),p}function l(d,h){return Object.keys(d).filter(m=>d[m]!=null).reduce((m,g)=>{if(h.has(g)){const I=h.get(g);if(typeof I=="string")m[I]=d[g];else{const k=I(g,d[g],d);Object.assign(m,k)}}else m[g]=d[g];return m},{})}function c(d,h,p=new Map){const m=s(d,h);return l(m,p)}function u(d){var p;const h=d.type;if(h){const m=t[h];if(!m)return d;const g=s(d,m),I=((p=d.editor)==null?void 0:p.type)||"";if(I){const k=t[I],w=s(d.editor,k);g.editor=w}return g}return d}function f(d){n=d}return{getSchemaByType:a,resolveSchemaWithDefaultValue:u,resolveSchemaToProps:c,mappingSchemaToProps:l,setDesignerContext:f}}const Kt={},en={},{getSchemaByType:tn,resolveSchemaWithDefaultValue:Yn,resolveSchemaToProps:Xn,mappingSchemaToProps:Jn,setDesignerContext:kr}=Zt(Kt,en);function Qn(t={}){function e(u,f,d,h){if(typeof d=="number")return h[u].length===d;if(typeof d=="object"){const p=Object.keys(d)[0],m=d[p];if(p==="not")return Number(h[u].length)!==Number(m);if(p==="moreThan")return Number(h[u].length)>=Number(m);if(p==="lessThan")return Number(h[u].length)<=Number(m)}return!1}function n(u,f,d,h){return h[u]&&h[u].propertyValue&&String(h[u].propertyValue.value)===String(d)}const i=new Map([["length",e],["getProperty",n]]);Object.keys(t).reduce((u,f)=>(u.set(f,t[f]),u),i);function r(u,f){const d=u;return typeof f=="number"?[{target:d,operator:"length",param:null,value:Number(f)}]:typeof f=="boolean"?[{target:d,operator:"getProperty",param:u,value:!!f}]:typeof f=="object"?Object.keys(f).map(h=>{if(h==="length")return{target:d,operator:"length",param:null,value:f[h]};const p=h,m=f[h];return{target:d,operator:"getProperty",param:p,value:m}}):[]}function a(u){return Object.keys(u).reduce((d,h)=>{const p=r(h,u[h]);return d.push(...p),d},[])}function s(u,f){if(i.has(u.operator)){const d=i.get(u.operator);return d&&d(u.target,u.param,u.value,f)||!1}return!1}function l(u,f){return a(u).reduce((p,m)=>p&&s(m,f),!0)}function c(u,f){const d=Object.keys(u),h=d.includes("allOf"),p=d.includes("anyOf"),m=h||p,k=(m?u[m?h?"allOf":"anyOf":"allOf"]:[u]).map(P=>l(P,f));return h?!k.includes(!1):k.includes(!0)}return{parseValueSchema:c}}const Zn={convertTo:(t,e,n,i)=>{t.appearance||(t.appearance={}),t.appearance[e]=n},convertFrom:(t,e,n)=>t.appearance?t.appearance[e]:t[e]},Kn={convertFrom:(t,e,n)=>t.buttons&&t.buttons.length?`共 ${t.buttons.length} 项`:"无"},eo={convertTo:(t,e,n,i)=>{t.editor&&(t.editor[e]=n)},convertFrom:(t,e,n)=>t.editor&&Object.prototype.hasOwnProperty.call(t.editor,e)?t.editor[e]:t[e]},z={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:"列表导航"},"list-view":{type:"list-view",name:"列表"},"filter-bar":{type:"filter-bar",name:"筛选条"},"language-textbox":{type:"language-textbox",name:"多语输入框"}},to={convertFrom:(t,e,n)=>{var r;const i=t.editor&&t.editor[e]?t.editor[e]:t[e];return((r=z[i])==null?void 0:r.name)||i}},no={convertTo:(t,e,n,i)=>{t[e]=t[e]},convertFrom:(t,e,n)=>t.editor?n.getRealEditorType(t.editor.type):""},oo={convertTo:(t,e,n,i)=>{(t.type==="data-grid-column"||t.type==="tree-grid-column")&&(t.formatter?t.formatter[e]=n:t.formatter={[e]:n})},convertFrom:(t,e,n)=>{if(t.formatter){if(e==="trueText")return t.formatter.trueText;if(e==="falseText")return t.formatter.falseText;if(e==="prefix")return t.formatter.prefix;if(e==="suffix")return t.formatter.suffix;if(e==="precision")return t.formatter.precision;if(e==="decimal")return t.formatter.decimal;if(e==="thousand")return t.formatter.thousand;if(e==="tempDateFormat")return t.formatter.dateFormat==="yyyy年MM月dd日"?"yearMonthDay":t.formatter.dateFormat==="yyyy-MM-dd HH:mm:ss"?"yyyy-MM-ddTHH:mm:ss":t.formatter.dateFormat==="yyyy/MM/dd HH:mm:ss"?"yyyy/MM/ddTHH:mm:ss":t.formatter.dateFormat==="yyyy年MM月dd日 HH时mm分ss秒"?"yearMonthDayHourMinuteSecond":t.formatter.tempDateFormat||t.formatter.dateFormat||"yyyy-MM-dd";if(e==="customFormat")return t.formatter.customFormat;if(e==="type")return t.formatter.type||"none"}return"none"}},io={convertTo:(t,e,n,i)=>{t.command?t.command[e]=n:t.command={[e]:n},e==="enable"&&n&&(t.command.commands||(t.command.commands=[{text:"编辑",type:"primary",command:"edit"},{text:"删除",type:"danger",command:"remove"}]))},convertFrom:(t,e,n)=>t.command&&e==="enable"?t.command.enable:""},ro={convertTo:(t,e,n,i)=>{t.column?t.column[e]=n:t.column={[e]:n},e==="fitColumns"&&n&&(t.column.fitMode||(t.column.fitMode="average"))},convertFrom:(t,e,n)=>{if(t.column){if(e==="fitColumns")return t.column.fitColumns;if(e==="fitMode")return t.column.fitMode}return""}},ao={convertTo:(t,e,n,i)=>{t.summary?t.summary[e]=n:t.summary={[e]:n},e==="enable"&&n&&(t.summary?t.summary.groupFields||(t.summary.groupFields=[]):t.summary={enable:n,groupFields:[]})},convertFrom:(t,e,n)=>t.summary&&e==="enable"?t.summary.enable:t.type==="data-grid-column"?t.enableSummary===void 0?!1:t.enableSummary:""},so={convertTo:(t,e,n,i)=>{t.group?t.group[e]=n:t.group={[e]:n},e==="enable"&&n&&(t.group?t.group.groupFields||(t.group.groupFields=[]):t.group={enable:n,groupFields:[],showSummary:!1})},convertFrom:(t,e,n)=>{if(t.group){if(e==="enable")return t.group.enable;if(e==="showSummary")return t.group.showSummary}}},lo={convertFrom:(t,e)=>t.binding?t.binding.path:"",convertTo:(t,e,n)=>{if(n&&n.length>0){const i=n[0];t.binding||(t.binding={}),t.binding.type="Form",t.binding.path=i.bindingField,t.binding.field=i.id,t.binding.fullPath=i.path,t.path=i.bindingPath}}},co={convertTo:(t,e,n,i)=>{t.pagination||(t.pagination={}),t.pagination[e]=n},convertFrom:(t,e,n)=>t.pagination?t.pagination[e]:t[e]},uo={convertTo:(t,e,n,i)=>{t.rowNumber||(t.rowNumber={}),t.rowNumber[e]=n},convertFrom:(t,e,n)=>t.rowNumber?t.rowNumber[e]:t[e]},fo={convertTo:(t,e,n,i)=>{t.selection||(t.selection={}),t.selection[e]=n},convertFrom:(t,e,n)=>t.selection?t.selection[e]:t[e]},po={convertFrom:(t,e,n)=>t[e]&&t[e].length?`共 ${t[e].length} 项`:""},mo={convertFrom:(t,e)=>t[e]||"",convertTo:(t,e,n)=>{t[e]=n}},ho={convertTo:(t,e,n,i)=>{t.size||(t.size={}),t.size[e]=n},convertFrom:(t,e,n)=>t.size?t.size[e]:t[e]},go={convertFrom:(t,e,n)=>{var i,r;return(i=t.formatter)!=null&&i.data&&e==="formatterEnumData"&&!t.formatterEnumData?(r=t.formatter)==null?void 0:r.data:t.formatterEnumData}},yo={convertTo:(t,e,n,i)=>{t.sort||(t.sort={}),t.sort[e]=n},convertFrom:(t,e,n)=>{var i,r;if(e==="mode")return((i=t.sort)==null?void 0:i.mode)||"client";if(e==="multiSort")return!!((r=t.sort)!=null&&r.multiSort)}},bo={convertTo:(t,e,n,i)=>{t.filter||(t.filter={}),t.filter[e]=n},convertFrom:(t,e,n)=>{var i;if(e==="mode")return((i=t.filter)==null?void 0:i.mode)||"client"}},vo={convertTo:(t,e,n,i)=>{t.rowOption?t.rowOption[e]=n:t.rowOption={[e]:n}},convertFrom:(t,e,n)=>{if(t.rowOption){if(e==="customRowStyle")return t.rowOption.customRowStyle;if(e==="customCellStyle")return t.rowOption.customCellStyle}return""}};function nn(t,e,n){const i=new Map([["/converter/appearance.converter",Zn],["/converter/buttons.converter",Kn],["/converter/property-editor.converter",eo],["/converter/items-count.converter",po],["/converter/type.converter",to],["/converter/change-editor.converter",no],["/converter/change-formatter.converter",oo],["/converter/column-command.converter",io],["/converter/column-option.converter",ro],["/converter/summary.converter",ao],["/converter/group.converter",so],["/converter/form-group-label.converter",mo],["/converter/field-selector.converter",lo],["/converter/pagination.converter",co],["/converter/row-number.converter",uo],["/converter/grid-selection.converter",fo],["/converter/size.converter",ho],["/converter/change-formatter-enum.converter",go],["/converter/grid-sort.converter",yo],["/converter/grid-filter.converter",bo],["/converter/row-option.converter",vo]]),r=new Map([["string",{type:"input-group",enableClear:!1}],["boolean",{type:"combo-list",textField:"name",valueField:"value",idField:"value",enableClear:!1,editable:!1,data:[{value:!0,name:"是"},{value:!1,name:"否"}]}],["enum",{type:"combo-list",maxHeight:128,enableClear:!1,editable:!1}],["array",{type:"button-edit"}],["number",{type:"number-spinner",placeholder:""}],["events-editor",{type:"events-editor",hide:!0}]]),a=Qn();function s(m,g){return()=>a.parseValueSchema(m,g)}function l(m,g,I){return m.includes("visible")&&g.visible!==void 0?typeof g.visible=="boolean"?()=>!!g.visible:g.visible===void 0?!0:s(g.visible,I):()=>!0}function c(m,g,I){return m.includes("readonly")&&g.readonly!==void 0?typeof g.readonly=="boolean"?()=>!!g.readonly:s(g.readonly,I):()=>!1}function u(m,g){const I=m.$converter||g;return typeof I=="string"&&I&&i.has(I)?i.get(I)||null:I||null}function f(m,g,I,k,w,P="",b=""){return Object.keys(m).map(M=>{const V=o.ref(1),N=M,v=m[M],S=Object.keys(v),T=v.title,y=v.type,x=r.get(y)||{type:"input-group",enableClear:!1},j=v.editor?Object.assign({},x,v.editor):Object.assign({},x),F=l(S,v,g),E=c(S,v,g);j.readonly=j.readonly===void 0?E():j.readonly;const R=v.type==="cascade"?f(v.properties,g,I,k,w,P,b):[],$=!0;let D=u(v,b);const L=o.computed({get(){if(V.value){if(["class","style"].find(me=>me===N)&&!D&&(D=i.get("/converter/appearance.converter")||null),D&&D.convertFrom)return D.convertFrom(I,M,w,P);const de=I[M];return Object.prototype.hasOwnProperty.call(v,"defaultValue")&&(de===void 0||typeof de=="string"&&de==="")?v.type==="boolean"?v.defaultValue:v.defaultValue||"":de}return null},set(de){V.value+=1,D&&D.convertTo?(D.convertTo(k,M,de,w,P),D.convertTo(I,M,de,w,P)):(k[M]=de,I[M]=de)}}),{refreshPanelAfterChanged:q,description:Q,isExpand:te,parentPropertyID:ne}=v,J={propertyID:N,propertyName:T,propertyType:y,propertyValue:L,editor:j,visible:F,readonly:E,cascadeConfig:R,hideCascadeTitle:$,refreshPanelAfterChanged:q,description:Q,isExpand:te,parentPropertyID:ne};return g[N]=J,J})}function d(m,g,I={}){const k={},w=t[m];return w&&w.categories?Object.keys(w.categories).map(b=>{const C=w.categories[b],M=C==null?void 0:C.title,V=f(C.properties||{},k,{},I,g);return{categoryId:b,categoryName:M,properties:V}}):[]}function h(m,g,I,k,w=""){const P=g.$ref.schema,b=g.$ref.converter,C=I[P],M=C.type,V=n(C),N={},v=t[M];if(v&&v.categories){const S=v.categories[m],T=S==null?void 0:S.title;b&&Object.keys(S.properties).forEach(j=>{S.properties[j].$converter=b});const y=(S==null?void 0:S.properties)||{},x=f(y,N,V,C,k,w);return{categoryId:m,categoryName:T,properties:x}}return{categoryId:m,categoryName:"",properties:[]}}function p(m,g,I,k,w){const P=m.type,b=n(m),C={};let M=w||t[P];if(M&&Object.keys(M).length===0&&I&&I.getPropConfig&&(M=I.getPropConfig(k)),M&&M.categories){const V=[];return Object.keys(M.categories).map(N=>{const v=M.categories[N];if(v.$ref){V.push(h(N,v,m,g,k));return}const S=v==null?void 0:v.title,T=v==null?void 0:v.tabId,y=v==null?void 0:v.tabName,x=v==null?void 0:v.hide,j=v==null?void 0:v.hideTitle,F=f(v.properties||{},C,b,m,g,k,v.$converter),{setPropertyRelates:E}=v,R=v==null?void 0:v.parentPropertyID;V.push({categoryId:N,categoryName:S,tabId:T,tabName:y,hide:x,properties:F,hideTitle:j,setPropertyRelates:E,parentPropertyID:R})}),V}return[]}return{getPropertyConfigBySchema:p,getPropertyConfigByType:d,propertyConverterMap:i}}const on={},rn={};nn(on,rn,Yn);const an={},sn={},{getSchemaByType:St,resolveSchemaWithDefaultValue:Co,resolveSchemaToProps:Br,mappingSchemaToProps:Pr,setDesignerContext:$r}=Zt(an,sn),ln={},cn={};nn(ln,cn,Co);function je(t,e,n=new Map,i=(s,l,c,u)=>l,r={},a=s=>s){return Kt[e.title]=e,en[e.title]=i,on[e.title]=r,rn[e.title]=a,an[e.title]=e,sn[e.title]=i,ln[e.title]=r,cn[e.title]=a,(s={},l=!0)=>{if(!l)return Jn(s,n);const c=Xn(s,e,n),u=Object.keys(t).reduce((f,d)=>(f[d]=t[d].default,f),{});return Object.assign(u,c)}}function Ke(t,e){return{customClass:e.class,customStyle:e.style}}function wo(t,e){if(!t||t.length<1)return null;for(const n of t){if(n.id===e)return n;if(n.children){const i=n.children.find(r=>r.id===e);if(i)return i}}return null}function xo(){function t(e,n){const{name:i}=n,[r,a]=n.payloads;if(i==="tabChange"||i==="tabRemove")return e[`on${i.charAt(0).toUpperCase()}${i.slice(1)}`];const s=e.contents;if(!s||s.length<1)return null;const l=s.reduce((u,f)=>{const d=f.toolbar&&f.toolbar.buttons||[];return u.push(...d),u},[]);if(!l||l.length<1)return;const c=wo(l,a);return c?c.onClick||c.click:null}return{resolve:t}}const dt=new Map([["appearance",Ke]]);function To(t,e){const n=Math.random().toString().slice(2,6),i=e.parentComponentInstance,r=t.getSchemaByType("tab-page");r.id=`tab-page-${n}`,r.title="标题",r.toolbar={id:`tab-page-toolbar-${n}`,buttons:[]};const a=t.getSchemaByType("tabs");Object.assign(a,{id:`tabs-${n}`,appearance:{class:"f-component-tabs f-tabs-has-grid"},contents:[r],activeId:r.id});const s=t.getSchemaByType("section");Object.assign(s,{id:`section-${n}`,appearance:{class:"f-section-tabs f-section-in-mainsubcard"},fill:!1,showHeader:!1,contents:[a]});const l=t.getSchemaByType("content-container");Object.assign(l,{id:`container-${n}`,appearance:{class:"f-struct-wrapper"},contents:[s]});const c=i.schema;switch(c&&c.type){case z["splitter-pane"].type:{s.appearance.class="f-section-tabs f-section-in-main",a.appearance.class="f-component-tabs";break}}const u=i.elementRef,f=window.getComputedStyle(u);return f&&f.display==="flex"&&(l.appearance.class+=" d-block"),l}function un(t,e,n){if(n.parentComponentInstance)return To(t,n);{const r=t.getSchemaByType("tab-page");return e.contents=[r],e}}function So(t,e,n){return e}const dn={$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:"移除标签页事件"}},Io={$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:"点击事件"}},Mo=new Map([["buttons","items"],["appearance",Ke]]);function ft(t,e,n){return e}const No={$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:"点击事件"}},jo={$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"],events:{onClick:"点击事件"}},pt={id:{type:String,default:""},customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]},visible:{type:Boolean,default:!0}},ko=Object.assign({},pt,{componentId:{type:String,default:""}});je(pt,No,Mo,ft);const fn={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}};je(fn,jo,void 0,ft);const mt={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}},pn=je(mt,dn,dt,un),It=Object.assign({},mt,{componentId:{type:String,default:""}}),mn=je(It,dn,dt,un),hn=xo(),gn=je(pt,Io,dt,ft);function Bo(t,e,n){const i=o.ref([]),r=o.ref(t.activeId||"");let a="";const s=o.ref(!0),l=o.ref([]),c=o.ref(!0),u=o.ref(0),f=o.computed(()=>{const N=i.value.find(S=>S.props.id===r.value);return(N==null?void 0:N.props.toolbarPosition)==="inHead"});function d(N,v=!0){const S=N.findIndex(T=>T.props.show!==!1&&!T.props.disabled);if(l.value=[],S!==-1){if(r.value=N[S].props.id,!v)return;const T=N[S];T&&T.props.toolbar&&T.props.toolbar.buttons&&T.props.toolbar.buttons.length&&(l.value=[...T.props.toolbar.buttons],c.value=T.props.toolbarVisible)}}function h(N){r.value=N;const v=i.value.find(S=>S.props.id===N);l.value=[],v&&v.props.toolbar&&v.props.toolbar.buttons&&v.props.toolbar.buttons.length&&(l.value=[...v.props.toolbar.buttons],c.value=v.props.toolbarVisible),e.emit("update:activeId",N),e.emit("tabChange",{prevId:a,nextId:r.value})}function p(N){let v=-1;if(!r.value){if(v=N.findIndex(S=>r.value===S.props.id&&S.props.show!==!1&&!S.props.disabled),v>-1)return;a=r.value}d(N,!1),h(r.value)}function m(N){let v=!1;if(N){const S=i.value.find(T=>T.props.id===N);v=!S||S.props.show===!1||S.props.disabled===!0}v?p(i.value):(r.value!==N&&(a=r.value,r.value=N),h(r.value))}o.watch(()=>t.activeId,(N,v)=>{N!==v&&m(N)});function g(N){var S;if(t.autoTitleWidth)return;const v=(S=N.value)==null?void 0:S.querySelectorAll(".st-tab-text");if(!(!v||t.tabType==="pill"))for(let T=0;T<v.length;T++){const y=v[T].parentNode;v[T].scrollWidth>y.offsetWidth?v[T].classList.contains("farris-title-text-custom")||v[T].classList.add("farris-title-text-custom"):v[T].classList.remove("farris-title-text-custom")}}const I=N=>{N.preventDefault(),N.stopPropagation()};function k(N,v,S=!1){const T=i.value.findIndex(y=>y.props.id===v);i.value=i.value.filter(y=>y.props.id!==v),r.value===v&&(a=v,r.value="",d(i.value)),I(N),o.nextTick(()=>{u.value++,g(n),S&&(s.value=!0),e.emit("tabRemove",{removeIndex:T,removeId:v,activeId:r.value})})}function w(N,v=!0){r.value===N&&(r.value="",a=N,m("")),o.nextTick(()=>{u.value++,v&&(s.value=!0)})}let P;function b(N){P=N}function C(N){r.value!==N&&(a=r.value,h(N),P&&P())}function M(N){i.value.findIndex(S=>S.props.id===N.props.id)===-1&&i.value.push(N),u.value++}function V(N){i.value.findIndex(S=>S.props.id===N.props.id)!==-1&&(i.value.forEach(S=>{S.props.id===N.props.id&&(S=N)}),N.props.id===r.value&&f.value,o.nextTick(()=>{u.value++,g(n)}))}return{activeId:r,addTab:M,changeTitleStyle:g,removeTab:k,selectTab:C,tabPages:i,updateTab:V,toolbarItems:l,needUpdateNavigationLayout:u,checkActiveIdAndSelect:m,toggleShowTab:w,hasInHeadClass:f,setScrollToSelectedTabFunction:b,toolbarVisible:c}}function Po(t,e,n,i,r){const{activeId:a,removeTab:s,selectTab:l}=r,c=o.computed(()=>{const w={"st-tab-text":!0,"text-truncate":t.tabType==="pill"&&!t.autoTitleWidth,"farris-title-auto":t.autoTitleWidth};return be.getCustomClass(w,e.customTitleClass)}),u=o.computed(()=>({"nav-item":!0,"d-none":e.show!==void 0?!e.show:!1,"f-state-active":e.id===a.value,"f-state-disabled":e.disabled})),f=o.computed(()=>({width:`${e.tabWidth}px`})),d=o.computed(()=>({"nav-link":!0,"tabs-text-truncate":!0,active:e.id===a.value,disabled:e.disabled})),h=o.reactive({content:e.title,overflowShown:!0});function p(){return t.tabType!=="pill"&&!t.autoTitleWidth?o.withDirectives(o.createVNode("span",{class:c.value,"data-tabid":e.id},[e.title]),[[o.resolveDirective("tooltip"),h]]):o.createVNode("span",{class:c.value,"data-tabid":e.id,title:e.title},[e.title])}const m=o.ref(e.removeable);function g(){return m.value?o.createVNode("span",{class:"st-drop-close",onClick:w=>s(w,e.id)},[o.createVNode("i",{class:"f-icon f-icon-close"},null)]):""}function I(w){l(e.id),t.tabType==="one-page"&&i.scrollToByPaggId(e.id)}function k(){return n.slots.title?o.createVNode("a",{class:d.value,onClick:I,id:`${e.id}-design-item`},[n.slots.title(n),g()]):e.titleRenderFunction?o.createVNode("a",{class:d.value,onClick:I,id:`${e.id}-design-item`},[e.titleRenderFunction(),g()]):o.createVNode("a",{class:d.value,onClick:I,id:`${e.id}-design-item`},[p(),g()])}return o.createVNode("li",{class:u.value,style:f.value},[k()])}function $o(t,e,n,i,r){const{shouldShowNavigationButtons:a}=n,{tabPages:s}=r,l=o.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":a.value})),c=o.computed(()=>({width:"100%","justify-content":t.justifyContent})),u=o.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()=>o.createVNode("div",{class:l.value,style:c.value},[o.createVNode("ul",{class:u.value,ref:e},[s.value.map(f=>Po(t,f.props,f,i,r))])])}function yn(t,e,n,i,r){const a=o.ref(),{shouldShowNavigationButtons:s}=n,{activeId:l,tabPages:c,selectTab:u}=r,f=o.ref(l.value),d=o.computed(()=>c.value.map(g=>({name:g.props.title,value:g.props.id,show:g.props.show,disabled:g.props.disabled}))),h=o.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":s.value})),p=o.computed(()=>({width:"100%",display:"flex","justify-content":t.justifyContent}));o.onMounted(()=>{a.value&&(e.value=a.value.$el)});function m(g){u(g)}return o.watch(()=>l.value,g=>{g!==f.value&&(f.value=g)},{immediate:!0}),()=>o.createVNode("div",{class:h.value,style:p.value},[o.createVNode(Un,{items:d.value,modelValue:f.value,"onUpdate:modelValue":g=>f.value=g,onChange:m,ref:a},null)])}function Eo(t,e,n,i){const{t:r}=ot.useI18n(),a=o.ref(),{activeId:s,removeTab:l,tabPages:c,selectTab:u}=i,{hideDropDown:f,searchTabText:d}=e,h=600;let p=null;const m=o.computed(()=>{var S,T;let v=[];return t.searchBoxVisible?v=(S=c.value)==null?void 0:S.filter(y=>y.props.title.includes(d.value)):v=(T=c.value)==null?void 0:T.slice(),v}),g=o.computed(()=>({"dropdown-menu":!0,"tabs-pt28":t.searchBoxVisible,show:!f.value,"d-none":f.value}));let I;function k(v){I=v}o.watch(f,v=>{if(I.value)if(v)a.value.style.width=null;else{const S=I.value.querySelector(".farris-tabs-header"),T=I.value.clientHeight-S.clientHeight-20,x=S.querySelector(".farris-tabs-title").clientWidth-20;a.value.style.maxWidth=x+"px",a.value.style.maxHeight=T+"px",o.nextTick(()=>{const{width:j}=a.value.getClientRects()[0];a.value.style.width=j?j+"px":null})}});function w(v){return{"dropdown-item":!0,"text-truncate":!0,"px-2":!0,disabled:v.props.disabled,active:v.props.id===s.value,"d-none":v.props.show!==!0}}function P(v){v.preventDefault(),v.stopPropagation()}function b(){p&&clearTimeout(p)}function C(){f.value||(p=setTimeout(()=>{f.value=!0},h))}function M(v,S){v.stopPropagation(),S.disabled||u(S.id),f.value=!0}function V(v,S){v.stopPropagation(),l(v,S,!0)}function N(){return o.createVNode("div",{ref:a,class:g.value,onMouseenter:()=>b(),onMouseleave:()=>C()},[t.searchBoxVisible&&o.createVNode("div",{onClick:v=>P(v),class:"pb-1 tabs-li-absolute"},[o.withDirectives(o.createVNode("input",{type:"text",class:"form-control","onUpdate:modelValue":v=>d.value=v},null),[[o.vModelText,d.value]]),o.createVNode("span",{class:"f-icon f-icon-page-title-query tabs-icon-search"},null)]),m.value.length?o.createVNode("ul",{class:"tab-dropdown-menu--items flex-fill"},[m.value.map(v=>o.createVNode("li",{class:w(v),onClick:S=>M(S,v.props)},[v.props.removeable&&v.props.disabled!==!0&&o.createVNode("span",{class:"float-right st-drop-close",onClick:S=>V(S,v.props.id)},[o.createVNode("i",{class:"f-icon f-icon-close"},null)]),o.createVNode("a",{class:"dropdown-title",title:v.props.title},[v.props.title])]))]):o.createVNode("div",{class:"dropdown-no-data"},[r("tabs.noData")])])}return{renderDropdownMenu:N,setTabsRef:k}}function Vo(t,e,n,i){const{hideDropDown:r}=e,{renderDropdownMenu:a,setTabsRef:s}=Eo(t,e,n,i),l=o.ref(t.showDropdown);function c(){return l.value&&o.createVNode(o.Fragment,null,[o.createVNode("button",{class:"btn dropdown-toggle-split dropdown-toggle",onClick:()=>{r.value=!1}},null),a()])}return{renderMorePagesButtton:c,setTabsRef:s}}function bn(t,e,n,i){const r=o.ref(!1),{selectTab:a,tabPages:s,needUpdateNavigationLayout:l,activeId:c}=i,u=4,f=o.computed(()=>({btn:!0,"sc-nav-btn":!0,"px-1":!0,"sc-nav-lr":!0,"d-none":!r.value})),d=o.computed(()=>({"btn-group":!0,"sc-nav-btn":!0,dropdown:!0,"d-none":!r.value})),h=o.computed(()=>({btn:!0,"sc-nav-rg":!0,"d-none":!r.value}));function p(w,P){if(!e.value)return;const b=e.value.scrollLeft,C=e.value.scrollWidth-e.value.offsetWidth;if(P>0){if(e.value.scrollLeft>=C)return;e.value.scrollLeft=b+t.scrollStep+w}else if(P<0){if(e.value.scrollLeft<=0)return;e.value.scrollLeft=b-t.scrollStep-w}}function m(w=-1){if(!r.value||!e.value)return;w<0&&(w=s.value.findIndex(V=>V.props.id===c.value));const P=t.tabType==="pills"?".f-capsule-item":".nav-item",b=e.value.querySelectorAll(P),{parentElement:C}=e.value,M=b[w];if(M&&C){const V=C.getBoundingClientRect().left,N=C.getBoundingClientRect().right,v=M.getBoundingClientRect().left,S=M.getBoundingClientRect().right;v<V?p(V-v,-1):N<S&&p(S-N,1),t.tabType==="one-page"&&n.scrollTo(w)}}function g(){var b;if(!e.value)return;const w=e.value,P=(b=e.value)==null?void 0:b.parentElement;r.value=P&&w&&P.offsetWidth<w.scrollWidth-u,r.value&&o.nextTick(()=>{m()})}function I(w){w.disabled||a(w.id)}function k(){["default","one-page"].indexOf(t.tabType)>-1&&o.nextTick(()=>{m()})}return o.watch(l,()=>{g()}),{previousButtonClass:f,nextButtonGroupClass:d,nextButtonClass:h,scrollTab:p,selectAndScrollToTab:I,shouldShowNavigationButtons:r,updateNavigationLayout:g,scrollToSelectedTab:k}}function vn(t,e){const{tabPages:n}=e,i=o.ref(""),r=o.ref(!0),a=o.computed(()=>t.searchBoxVisible),s=o.computed(()=>a.value?n.value.filter(c=>c.props.title.includes(i.value)):n.value.slice());return o.watch(r,l=>{l||(i.value="")}),{searchTabText:i,hideDropDown:r,shouldShowSearchBox:a,tabsInDropdownMenu:s}}function Cn(t,e,n){const i=".farris-tab-page",{tabPages:r}=n;function a(l){const c=e.value;if(c){const u=e.value.querySelectorAll(i);if(u.length>0){const f=u[l],{offsetTop:d}=f,h=d-32>0?d-32:0;c.scrollTop=h}}}function s(l){const c=r.value.findIndex(u=>u.props.id===l);c>-1&&a(c)}return{scrollTo:a,scrollToByPaggId:s}}const Ae=o.defineComponent({name:"FTabs",props:mt,emits:["tabChange","tabRemove","update:activeId","Click"],setup(t,e){const{t:n}=ot.useI18n(),i=o.ref(t.tabType),r=o.shallowRef(),a=o.ref(t.customClass),s=o.shallowRef(),l=o.shallowRef(),c=o.ref(),u=Bo(t,e,s),{activeId:f,changeTitleStyle:d,tabPages:h,addTab:p,updateTab:m,toolbarItems:g,checkActiveIdAndSelect:I,toggleShowTab:k,hasInHeadClass:w,toolbarVisible:P}=u,b=Cn(t,l,u),C=bn(t,s,b,u),{previousButtonClass:M,nextButtonClass:V,nextButtonGroupClass:N,scrollTab:v,updateNavigationLayout:S,scrollToSelectedTab:T}=C;u.setScrollToSelectedTabFunction(T);const y=vn(t,u),x=$o(t,s,C,b,u),j=x,F=yn(t,s,C,b,u),E=new Map([["default",x],["one-page",j],["pills",F]]);o.computed(()=>{const K=h.value.find(oe=>oe.props.id===f.value);return K==null?void 0:K.slots});const R=o.computed(()=>t.fill);o.provide("tabs",{activeId:f,addTab:p,updateTab:m,tabPages:h,tabType:i,shouldFillParentContaner:R,toggleShowTab:k,toolbarVisible:P});let $=!1;const D=o.computed(()=>({"farris-tabs-header":!0,"farris-tabs-inHead":w.value,"farris-tabs-inContent":!w.value,"farris-tabs-nav-fill":t.tabType==="fill","farris-tabs-nav-pills":t.tabType==="pills"})),L=o.computed(()=>{const K={width:w.value&&t.titleWidth?`${t.titleWidth}%`:""};return K.width&&(K.flex="unset"),K}),q=o.computed(()=>{const K={"farris-tabs":!0,"f-utils-fill-flex-column":R.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 a.value&&a.value.split(" ").reduce((oe,ce)=>(oe[ce]=!0,oe),K),K}),Q=new ResizeObserver(K=>{K.length&&S()});function te(){c.value&&!$&&(Q.observe(c.value),$=!0)}o.watch(()=>t.visible,K=>{o.nextTick(()=>{h.value.length&&I(t.activeId||h.value[0].props.id),S(),d(s),te()})}),o.watch(()=>t.autoTitleWidth,K=>{o.nextTick(()=>{S(),d(s)})});const ne={leftButton:n("tabs.leftButton"),rightButton:n("tabs.rightButton")};o.onMounted(()=>{t.visible&&(h.value.length&&I(t.activeId||h.value[0].props.id),o.nextTick(()=>{S(),d(s)}),te())});function J(){return o.createVNode("button",{title:ne.leftButton,type:"button",class:M.value,onClick:()=>{v(0,-1)}},null)}function de(){return o.createVNode("button",{title:ne.rightButton,type:"button",class:V.value,onClick:()=>{v(0,1)}},null)}const{renderMorePagesButtton:me,setTabsRef:se}=Vo(t,y,C,u);se(r);const X=(K,oe)=>{e.emit("Click",K,oe,f.value)};function le(){return g.value.length?o.createVNode("div",{class:"farris-tabs-toolbar"},[o.createVNode(Jt,{class:"f-utils-fill",alignment:w.value?"right":"left",items:g.value,visible:P.value,onClick:X},null)]):null}const B=E.get(t.tabType)||E.get("default");function A(){var K,oe,ce,Me;return o.createVNode("div",{class:D.value},[o.createVNode("div",{class:"farris-tabs-header-pre"},[(oe=(K=e.slots).headerPrefix)==null?void 0:oe.call(K)]),o.createVNode("div",{class:"farris-tabs-title scroll-tabs",style:L.value,ref:c},[J(),B&&B(),o.createVNode("div",{class:N.value},[de(),me()])]),le(),o.createVNode("div",{class:"farris-tabs-header-post"},[(Me=(ce=e.slots).headerSuffix)==null?void 0:Me.call(ce)])])}const H=o.computed(()=>({"farris-tabs-content":!0,"f-utils-fill-flex-column":R.value}));function _(){var K,oe;return o.createVNode("div",{class:H.value,ref:l},[(oe=(K=e.slots).default)==null?void 0:oe.call(K)])}return()=>t.visible?o.createVNode("div",{class:q.value,ref:r},[A(),_()]):null}});function Fo(t,e,n){const i={toolbar:e,toolbarVisible:!0};return e&&e.contents&&e.contents.length&&(e.contents.forEach(r=>{r.title&&(r.text=r.title)}),e.buttons=e.contents,delete e.contents),e&&Object.prototype.hasOwnProperty.call(e,"visible")&&(i.toolbarVisible=e.visible),i}const wn=new Map([["appearance",Ke],["toolbar",Fo]]),xn={$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:"移除标签页事件"},titleHtml:{description:"",type:"string",default:""},titleRenderFunction:{description:"",type:"function",default:null}},required:["id","type","contents"]},ht={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"},toolbarVisible:{type:Boolean,default:!0},titleRenderFunction:{type:Function}},Tn=Ue.createPropsResolver(ht,xn,wn),Mt=Object.assign({},ht,{titleHtml:{type:String,default:""}}),Sn=Ue.createPropsResolver(Mt,xn,wn);function Do(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!o.isVNode(t)}const gt=o.defineComponent({name:"FTabPage",props:ht,emits:[],setup(t,e){const n=o.inject("tabs"),i=o.ref(t.show),r={slots:e.slots,props:t},a=o.ref((n==null?void 0:n.tabType.value)||"default");o.onMounted(()=>{const p=n==null?void 0:n.tabPages.value.findIndex(m=>m.props.id===t.id);(!p||p===-1)&&(n==null||n.addTab(r))}),o.onUnmounted(()=>{});const s=o.computed(()=>(t==null?void 0:t.id)===(n==null?void 0:n.activeId.value)),l=o.computed(()=>({display:s.value?"":"none"}));o.watch(()=>t,p=>{n==null||n.updateTab({props:p,slots:e.slots})},{immediate:!0,deep:!0}),o.watch(()=>t.show,p=>{n==null||n.toggleShowTab(t.id)}),o.watch(()=>t.toolbarVisible,p=>{s.value&&n&&(n.toolbarVisible.value=p)});function c(){var m,g;const p=(g=(m=e.slots).default)==null?void 0:g.call(m);return o.createVNode(_n,{"main-title":t.title,class:["farris-tab-page",i.value?"":"f-tab-d-none"]},Do(p)?p:{default:()=>[p]})}const u=o.computed(()=>{var m;return{"farris-tab-page":!0,"f-tab-d-none":!i.value,"f-utils-fill-flex-column":s.value&&n&&((m=n.shouldFillParentContaner)==null?void 0:m.value)}});function f(){var m,g;const p=(g=(m=e.slots).default)==null?void 0:g.call(m);return o.createVNode("div",{class:u.value,style:l.value},[p])}const h=new Map([["default",f],["one-page",c]]).get(a.value)||f;return()=>h()}});function Oo(t,e,n,i,r,a){const{activeId:s,selectTab:l,removeDesignTab:c,selectDesignTab:u,addTabPageToolbar:f,resetPositionForSelectedElement:d}=r,h=o.computed(()=>({"st-tab-text":!0,"farris-title-auto":t.autoTitleWidth})),p=o.computed(()=>{const y={"farris-component":!0,"nav-item":!0,"f-state-active":e.id===s.value};return y[`${e.id}-design-item`]=!0,y}),m=o.computed(()=>{const y={};return e.tabWidth&&e.tabWidth>0&&(y.width=`${e.tabWidth}px`),y}),g=o.computed(()=>({"nav-link":!0,"tabs-text-truncate":!0,active:e.id===s.value}));function I(){return o.createVNode("span",{class:h.value,title:e.title},[e.title])}const k=o.ref(e.removeable);function w(){return k.value?o.createVNode("span",{class:"st-drop-close",style:{opacity:.6}},[o.createVNode("i",{class:"f-icon f-icon-close"},null)]):""}function P(){return e.titleHtml+w()}function b(y){l(e.id),t.tabType==="one-page"&&i.scrollToByPaggId(e.id)}function C(y){y&&(y.stopPropagation(),y.preventDefault()),u(y,e.id,a.value)}function M(y){c(y,e.id)}function V(y){f(y,e.id)}o.watch(()=>e.toolbarPosition,()=>{o.nextTick(()=>{d()})}),o.watch(()=>e.tabWidth,()=>{o.nextTick(()=>{d()})});function N(){return o.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:y=>M(y)},[o.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function v(){return o.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增按钮",ref:"addComponent",onClick:y=>V(y)},[o.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function S(){return o.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[o.createVNode("div",null,[N(),!e.toolbar||!e.toolbar.buttons||!e.toolbar.buttons.length?v():""])])}function T(){return n.slots.title?o.createVNode("a",{class:g.value,onClick:b,id:`${e.id}-design-item`},[n.slots.title(n),w()]):e.titleHtml?o.createVNode("a",{class:g.value,onClick:b,id:`${e.id}-design-item`,innerHTML:P()},null):o.createVNode("a",{class:g.value,onClick:b,id:`${e.id}-design-item`},[I(),w()])}return o.createVNode("li",{onClick:y=>C(y),class:p.value,style:m.value,pageId:`${e.id}-design-item`},[S(),T()])}function Ro(t,e,n,i,r,a,s){const{tabPages:l,selectTab:c,emitSelectionChange:u}=r,f=o.computed(()=>({spacer:!0,"f-utils-fill":!0})),d=o.computed(()=>({width:"100%","justify-content":t.justifyContent})),h=o.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"})),p=o.computed(()=>({overflow:"auto"})),m=function(g){var k;g&&(g.stopPropagation(),g.preventDefault());const I=St("tab-page");I.id=`tab_page_${Math.random().toString().slice(2,6)}`,I.title="标题",I.toolbar={id:`${I.id}_toolbar`,buttons:[],type:"tab-toolbar"},(k=a.value.schema.contents)==null||k.push(I),c(I.id),o.nextTick(()=>{u(I.id,a.value)})};return()=>o.createVNode("div",{class:f.value,style:d.value},[o.createVNode("ul",{class:h.value,style:p.value,ref:e},[l.value.map(g=>Oo(t,g.props,g,i,r,a)),o.createVNode("li",{class:"nav-item no-drag add-nav-item"},[o.createVNode("a",{class:"nav-link tabs-text-truncate",title:"添加页签",onClick:g=>m(g)},[o.createVNode("i",{class:"f-icon f-icon-plus",style:"font-size: 20px;margin: 0 auto;line-height: 24px;"},null)])])])])}function Nt(t,e,n){var T;const i=n&&n.getStyles&&n.getStyles()||"",r=n&&n.getDesignerClass&&n.getDesignerClass()||"",a=o.ref();let s;function l(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanMoveComponent?n.checkCanMoveComponent():!0}function c(){return!1}function u(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanDeleteComponent?n.checkCanDeleteComponent():!0}function f(){return(e==null?void 0:e.schema.componentType)==="frame"?!0:n&&n.hideNestedPaddingInDesginerView?n.hideNestedPaddingInDesginerView():!1}function d(y){if(!y||!y.value)return null;if(y.value.schema&&y.value.schema.type==="component")return y.value;const x=o.ref(y==null?void 0:y.value.parent),j=d(x);return j||null}function h(y=e){var E;if(n!=null&&n.getDraggableDesignItemElement)return n.getDraggableDesignItemElement(y);const{componentInstance:x,designerItemElementRef:j}=y;if(!x||!x.value)return null;const{getCustomButtons:F}=x.value;return x.value.canMove||F&&((E=F())!=null&&E.length)?j:h(y.parent)}function p(y){return!!n&&n.canAccepts(y)}function m(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function g(){}function I(y,x){var j;!y||!x||(n!=null&&n.onAcceptMovedChildElement&&n.onAcceptMovedChildElement(y,x),(j=e==null?void 0:e.setupContext)==null||j.emit("dragEnd"))}function k(y,x){const{componentType:j}=y;let F=Ue.getSchemaByTypeForDesigner(j,y,x);n&&n.onResolveNewComponentSchema&&(F=n.onResolveNewComponentSchema(