@farris/ui-vue 1.3.3 → 1.3.5

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.
Files changed (73) hide show
  1. package/components/binding-selector/index.esm.js +15 -15
  2. package/components/binding-selector/index.umd.cjs +1 -1
  3. package/components/condition/index.esm.js +108 -107
  4. package/components/condition/index.umd.cjs +1 -1
  5. package/components/data-grid/index.esm.js +4532 -4268
  6. package/components/data-grid/index.umd.cjs +1 -1
  7. package/components/data-view/index.esm.js +2709 -2690
  8. package/components/data-view/index.umd.cjs +1 -1
  9. package/components/designer-canvas/index.esm.js +4795 -4375
  10. package/components/designer-canvas/index.umd.cjs +1 -1
  11. package/components/dynamic-form/index.esm.js +601 -593
  12. package/components/dynamic-form/index.umd.cjs +1 -1
  13. package/components/event-parameter/index.css +1 -0
  14. package/components/event-parameter/index.esm.js +2685 -165
  15. package/components/event-parameter/index.umd.cjs +1 -1
  16. package/components/events-editor/index.css +1 -1
  17. package/components/events-editor/index.esm.js +594 -575
  18. package/components/events-editor/index.umd.cjs +1 -1
  19. package/components/external-container/index.esm.js +772 -772
  20. package/components/external-container/index.umd.cjs +1 -1
  21. package/components/field-selector/index.esm.js +2921 -2902
  22. package/components/field-selector/index.umd.cjs +1 -1
  23. package/components/filter-bar/index.css +1 -1
  24. package/components/filter-bar/index.esm.js +4137 -4050
  25. package/components/filter-bar/index.umd.cjs +1 -1
  26. package/components/flow-canvas/index.esm.js +4569 -4149
  27. package/components/flow-canvas/index.umd.cjs +1 -1
  28. package/components/list-view/index.esm.js +936 -936
  29. package/components/list-view/index.umd.cjs +1 -1
  30. package/components/lookup/index.esm.js +5226 -4962
  31. package/components/lookup/index.umd.cjs +1 -1
  32. package/components/mapping-editor/index.esm.js +4648 -4384
  33. package/components/mapping-editor/index.umd.cjs +1 -1
  34. package/components/property-panel/index.css +1 -1
  35. package/components/query-solution/index.css +1 -1
  36. package/components/query-solution/index.esm.js +6128 -5879
  37. package/components/query-solution/index.umd.cjs +6 -6
  38. package/components/radio-group/index.esm.js +6 -6
  39. package/components/radio-group/index.umd.cjs +1 -1
  40. package/components/schema-selector/index.esm.js +975 -973
  41. package/components/schema-selector/index.umd.cjs +2 -2
  42. package/components/section/index.esm.js +2107 -417
  43. package/components/section/index.umd.cjs +1 -1
  44. package/components/tabs/index.esm.js +577 -575
  45. package/components/tabs/index.umd.cjs +1 -1
  46. package/components/textarea/index.esm.js +84 -79
  47. package/components/textarea/index.umd.cjs +1 -1
  48. package/components/tree-grid/index.esm.js +3307 -3288
  49. package/components/tree-grid/index.umd.cjs +1 -1
  50. package/components/tree-view/index.esm.js +1537 -1533
  51. package/components/tree-view/index.umd.cjs +1 -1
  52. package/farris.all.esm.js +24890 -24173
  53. package/farris.all.umd.cjs +13 -13
  54. package/index.css +1 -1
  55. package/package.json +1 -1
  56. package/types/condition/src/composition/condition-value/input-group-value.d.ts +1 -1
  57. package/types/data-grid/src/components/data/data-grid-area.component.d.ts +8 -0
  58. package/types/data-grid/src/components/data/data-grid-area.props.d.ts +3 -0
  59. package/types/data-view/composition/types.d.ts +1 -0
  60. package/types/dynamic-form/src/designer/form-group-use-designer-rules.d.ts +1 -2
  61. package/types/entity-binding-selector/composition/use-entity-tree.d.ts +14 -3
  62. package/types/entity-binding-selector/composition/use-field-tree.d.ts +28 -0
  63. package/types/event-parameter/src/composition/use-general-editor.d.ts +26 -0
  64. package/types/event-parameter/src/event-parameter.props.d.ts +4 -4
  65. package/types/events-editor/src/composition/types.d.ts +1 -1
  66. package/types/query-solution/src/composition/types.d.ts +55 -0
  67. package/types/query-solution/src/composition/use-condition.d.ts +19 -0
  68. package/types/query-solution/src/designer/query-solution-config/composition/types.d.ts +3 -2
  69. package/types/query-solution/src/designer/query-solution-config/converter/query-solution-config-property.converter.d.ts +4 -0
  70. package/types/section/index.d.ts +15 -0
  71. package/types/section/src/designer/section-header.design.component.d.ts +4 -0
  72. package/types/section/src/designer/section-toolbar-item.props.d.ts +19 -0
  73. package/types/section/src/designer/section-toolbar.design.component.d.ts +3 -0
@@ -1 +1 @@
1
- (function(z,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("lodash-es"),require("../capsule/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../section/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js"),require("bignumber.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../capsule/index.umd.js","../response-toolbar/index.umd.js","../dynamic-resolver/index.umd.js","../section/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js","bignumber.js"],e):(z=typeof globalThis<"u"?globalThis:z||self,e(z.tabs={},z.Vue,z.LodashES,z.FCapsule,z.FResponseToolbar,z.dynamicResolver,z.FSection$1,z.designerCanvas,z.common))})(this,function(z,e,ee,tt,ke,nt,ot,Pe,Ce){"use strict";var zn=Object.defineProperty;var qn=(z,e,ee)=>e in z?zn(z,e,{enumerable:!0,configurable:!0,writable:!0,value:ee}):z[e]=ee;var L=(z,e,ee)=>qn(z,typeof e!="symbol"?e+"":e,ee);const Ie={},Ee={};function we(n){const{properties:t,title:o,ignore:a}=n,s=a&&Array.isArray(a),l=Object.keys(t).reduce((r,c)=>((!s||!a.find(d=>d===c))&&(r[c]=t[c].type==="object"&&t[c].properties?we(t[c]):ee.cloneDeep(t[c].default)),r),{});if(o&&(!s||!a.find(r=>r==="id"))){const r=o.toLowerCase().replace(/-/g,"_");l.id=`${r}_${Math.random().toString().slice(2,6)}`}return l}function se(n,t={},o){const a=Ie[n];if(a){let s=we(a);const l=Ee[n];return s=l?l({getSchemaByType:se},s,t,o):s,s}return null}function at(n,t){const o=we(t);return Object.keys(o).reduce((a,s)=>(a[s]&&ee.isPlainObject(a[s])&&ee.isPlainObject(n[s]||!n[s])?Object.assign(a[s],n[s]||{}):a[s]=n[s],a),o),o}function st(n,t){return Object.keys(n).filter(a=>n[a]!=null).reduce((a,s)=>{if(t.has(s)){const l=t.get(s);if(typeof l=="string")a[l]=n[s];else{const r=l(s,n[s],n);Object.assign(a,r)}}else a[s]=n[s];return a},{})}function rt(n,t,o=new Map){const a=at(n,t);return st(a,o)}function lt(n={}){function t(u,p,m,C){if(typeof m=="number")return C[u].length===m;if(typeof m=="object"){const v=Object.keys(m)[0],T=m[v];if(v==="not")return Number(C[u].length)!==Number(T);if(v==="moreThan")return Number(C[u].length)>=Number(T);if(v==="lessThan")return Number(C[u].length)<=Number(T)}return!1}function o(u,p,m,C){return C[u]&&C[u].propertyValue&&String(C[u].propertyValue.value)===String(m)}const a=new Map([["length",t],["getProperty",o]]);Object.keys(n).reduce((u,p)=>(u.set(p,n[p]),u),a);function s(u,p){const m=u;return typeof p=="number"?[{target:m,operator:"length",param:null,value:Number(p)}]:typeof p=="boolean"?[{target:m,operator:"getProperty",param:u,value:!!p}]:typeof p=="object"?Object.keys(p).map(C=>{if(C==="length")return{target:m,operator:"length",param:null,value:p[C]};const v=C,T=p[C];return{target:m,operator:"getProperty",param:v,value:T}}):[]}function l(u){return Object.keys(u).reduce((m,C)=>{const v=s(C,u[C]);return m.push(...v),m},[])}function r(u,p){if(a.has(u.operator)){const m=a.get(u.operator);return m&&m(u.target,u.param,u.value,p)||!1}return!1}function c(u,p){return l(u).reduce((v,T)=>v&&r(T,p),!0)}function d(u,p){const m=Object.keys(u),C=m.includes("allOf"),v=m.includes("anyOf"),T=C||v,b=(T?u[T?C?"allOf":"anyOf":"allOf"]:[u]).map(E=>c(E,p));return C?!b.includes(!1):b.includes(!0)}return{parseValueSchema:d}}const Q={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},it={},ct={};lt();function ie(n,t,o=new Map,a=(r,c,d,u)=>c,s={},l=r=>r){return Ie[t.title]=t,Ee[t.title]=a,it[t.title]=s,ct[t.title]=l,(r={})=>{const c=rt(r,t,o),d=Object.keys(n).reduce((u,p)=>(u[p]=n[p].default,u),{});return Object.assign(d,c)}}function pe(n,t){return{customClass:t.class,customStyle:t.style}}function dt(){function n(t,o){const a=t.contents;if(!a||a.length<1)return null;const s=a.reduce((d,u)=>{const p=u.toolbar&&u.toolbar.buttons||[];return d.push(...p),d},[]);if(!s||s.length<1)return;const[l,r]=o.payloads,c=s.find(d=>d.id===r);return c?c.onClick||c.click:null}return{resolve:n}}const Te=new Map([["appearance",pe]]);function ut(n,t){const o=Math.random().toString().slice(2,6),a=t.parentComponentInstance,s=n.getSchemaByType("tab-page");s.id=`tab-page-${o}`;const l=n.getSchemaByType("tabs");Object.assign(l,{id:`tabs-${o}`,appearance:{class:"f-component-tabs f-tabs-has-grid"},contents:[s],activeId:s.id});const r=n.getSchemaByType("section");Object.assign(r,{id:`section-${o}`,appearance:{class:"f-section-tabs f-section-in-mainsubcard"},fill:!1,showHeader:!1,contents:[l]});const c=n.getSchemaByType("content-container");Object.assign(c,{id:`container-${o}`,appearance:{class:"f-struct-wrapper"},contents:[r]});const d=a.schema;switch(d&&d.type){case Q["splitter-pane"].type:{r.appearance.class="f-section-tabs f-section-in-main",l.appearance.class="f-component-tabs";break}}return c}function je(n,t,o){if(o.parentComponentInstance)return ut(n,o);{const s=n.getSchemaByType("tab-page");return t.contents=[s],t}}function pt(n,t,o){return t}const De={$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",default:0},titleLength:{description:"",type:"number",default:7},fill:{description:"",type:"boolean",default:!1}},required:["id","type","contents"]},fe={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},selectedTab:{type:String,default:""},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"}},Re=ie(fe,De,Te,je),xe=Object.assign({},fe,{componentId:{type:String,default:""}}),$e=ie(xe,De,Te,je),Oe=dt();function ft(n,t,o){const a=e.ref([]),s=e.ref(n.activeId||""),l=e.ref(!0),r=e.ref([]);e.watch(()=>n.activeId,(h,x)=>{h!==x&&(s.value=h)});function c(h){const x=h.value.findIndex(b=>b.props.show!==!1&&!s.value&&!b.props.disabled);!s.value&&x!==-1&&(s.value=h.value[x].props.id)}function d(h){var b;if(n.autoTitleWidth)return;const x=(b=h.value)==null?void 0:b.querySelectorAll(".st-tab-text");if(x)for(let w=0;w<x.length;w++){const E=x[w].parentNode;x[w].scrollWidth>E.offsetWidth?x[w].classList.contains("farris-title-text-custom")||x[w].classList.add("farris-title-text-custom"):x[w].classList.remove("farris-title-text-custom")}}const u=h=>{h.preventDefault(),h.stopPropagation()};function p(h,x,b=!1){const w=a.value.findIndex(E=>E.props.id===x);a.value=a.value.filter(E=>E.props.id!==x),s.value===x&&(s.value="",c(a)),u(h),e.nextTick(()=>{d(o),b&&(l.value=!0),t.emit("tabRemove",{removeIndex:w,removeId:x,activeId:s.value})})}function m(h){const x=s.value;s.value=h;const b=a.value.find(w=>w.props.id===h);r.value=[],b&&b.props.toolbar&&b.props.toolbar.buttons&&b.props.toolbar.buttons.length&&(r.value=[...b.props.toolbar.buttons]),t.emit("update:activeId",h),t.emit("tabChange",{prevId:x,nextId:s.value})}function C(h){m(h)}function v(h){a.value.findIndex(b=>b.props.id===h.props.id)===-1&&a.value.push(h)}function T(h){a.value.findIndex(b=>b.props.id===h.props.id)!==-1&&(a.value.forEach(b=>{b.props.id===h.props.id&&(b=h)}),e.nextTick(()=>{d(o)}))}return{activeId:s,addTab:v,changeTitleStyle:d,removeTab:p,selectTab:C,selectTabByTabId:m,tabPages:a,updateTab:T,toolbarItems:r}}function mt(n,t,o,a,s){const{activeId:l,removeTab:r,selectTab:c}=s,d=e.computed(()=>({"st-tab-text":!0,"text-truncate":!0,"farris-title-auto":n.autoTitleWidth})),u=e.computed(()=>({"nav-item":!0,"d-none":t.show!==void 0?!t.show:!1,"f-state-active":t.id===l.value,"f-state-disable":t.disabled})),p=e.computed(()=>({width:`${t.tabWidth}px`})),m=e.computed(()=>({"nav-link":!0,"tabs-text-truncate":!0,active:t.id===l.value,disabled:t.disabled}));function C(w){return e.createVNode("span",{class:d.value,title:w.title},[w.title])}function v(w){return w.slots.title?w.slots.title:C}const T=v(o),h=e.ref(t.removeable);function x(){return e.createVNode("span",{class:"st-drop-close",onClick:w=>r(w,t.id),style:{opacity:.6}},[e.createVNode("i",{class:"f-icon f-icon-close"},null)])}function b(w){c(t.id),n.tabType==="one-page"&&a.scrollToByPaggId(t.id)}return e.createVNode("li",{class:u.value,style:p.value},[e.createVNode("a",{class:m.value,onClick:b},[T(t),h.value&&x()])])}function ht(n,t,o,a,s){const{shouldShowNavigationButtons:l}=o,{tabPages:r}=s,c=e.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":l.value})),d=e.computed(()=>({width:"100%","justify-content":n.justifyContent})),u=e.computed(()=>({nav:!0,"farris-nav-tabs":!0,"flex-nowrap":!0,"nav-fill":n.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()=>e.createVNode("div",{class:c.value,style:d.value},[e.createVNode("ul",{class:u.value,ref:t},[r.value.map(p=>mt(n,p.props,p,a,s))])])}function Ae(n,t,o,a,s){const l=e.ref(),{shouldShowNavigationButtons:r}=o,{activeId:c,tabPages:d,selectTab:u}=s,p=e.ref(c.value),m=e.computed(()=>d.value.map(h=>({name:h.props.title,value:h.props.id,show:h.props.show,disabled:h.props.disabled}))),C=e.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":r.value})),v=e.computed(()=>({width:"100%",display:"flex","justify-content":n.justifyContent}));e.onMounted(()=>{l.value&&(t.value=l.value.$el)});function T(h){u(h)}return e.watch(()=>c.value,h=>{h!==p.value&&(p.value=h)},{immediate:!0}),()=>e.createVNode("div",{class:C.value,style:v.value},[e.createVNode(tt,{items:m.value,modelValue:p.value,"onUpdate:modelValue":h=>p.value=h,onChange:T,ref:l},null)])}function gt(n,t,o,a){const{activeId:s,removeTab:l,tabPages:r}=a,{selectAndScrollToTab:c}=o,{hideDropDown:d,searchTabText:u}=t,p=e.ref("auto"),m=e.computed(()=>{var w,E;let b=[];return n.searchBoxVisible?b=(w=r.value)==null?void 0:w.filter(A=>A.props.title.includes(u.value)):b=(E=r.value)==null?void 0:E.slice(),b}),C=e.computed(()=>({"dropdown-menu":!0,"tabs-pt28":n.searchBoxVisible,show:!d.value}));function v(b){return{"dropdown-item":!0,"text-truncate":!0,"px-2":!0,disabled:b.props.disabled,active:b.props.id===s.value,"d-none":b.props.show!==!0}}function T(b){b.preventDefault(),b.stopPropagation()}const h=()=>({width:p.value});function x(){return e.createVNode("div",{class:C.value},[n.searchBoxVisible&&e.createVNode("div",{onClick:b=>T(b),class:"pb-1 tabs-li-absolute"},[e.withDirectives(e.createVNode("input",{title:"search-box",type:"text",class:"form-control k-textbox","onUpdate:modelValue":b=>u.value=b},null),[[e.vModelText,u.value]]),e.createVNode("span",{class:"f-icon f-icon-page-title-query tabs-icon-search"},null)]),m.value.length?e.createVNode("ul",{class:"tab-dropdown-menu--items",style:h()},[m.value.map(b=>e.createVNode("li",{class:v(b),onClick:w=>c(w,b.props)},[b.props.removeable&&e.createVNode("span",{class:"float-right st-drop-close",onClick:w=>l(w,b.props.id,!0)},[e.createVNode("i",{class:"f-icon f-icon-close"},null)]),e.createVNode("a",{class:"dropdown-title",title:b.props.title},[b.props.title])]))]):e.createVNode("div",{class:"dropdown-no-data"},[e.createTextVNode("没有相关数据")])])}return{renderDropdownMenu:x}}function Le(n,t,o,a){const{hideDropDown:s}=t,{renderDropdownMenu:l}=gt(n,t,o,a),r=e.ref(n.showDropdown);function c(){return r.value&&e.createVNode(e.Fragment,null,[e.createVNode("button",{title:"toggle-button",class:"btn dropdown-toggle-split dropdown-toggle",onClick:()=>{s.value=!1}},null),l()])}return{renderMorePagesButtton:c}}function Fe(n,t,o,a){const s=e.ref(!1),{selectTabByTabId:l,tabPages:r}=a,c=4;function d(){var b;const h=t.value,x=(b=t.value)==null?void 0:b.parentElement;s.value=x&&h&&x.offsetWidth<h.scrollWidth-c}const u=e.computed(()=>({btn:!0,"sc-nav-btn":!0,"px-1":!0,"sc-nav-lr":!0,"d-none":!s.value})),p=e.computed(()=>({"btn-group":!0,"sc-nav-btn":!0,dropdown:!0,"d-none":!s.value})),m=e.computed(()=>({btn:!0,"sc-nav-rg":!0,"d-none":!s.value}));function C(h,x){if(!t.value)return;const b=t.value.scrollLeft,w=t.value.scrollWidth-t.value.offsetWidth;if(x>0){if(t.value.scrollLeft>=w)return;t.value.scrollLeft=b+n.scrollStep+h}else if(x<0){if(t.value.scrollLeft<=0)return;t.value.scrollLeft=b-n.scrollStep-h}}function v(h){if(!s.value||!t.value)return;const x=n.tabType==="pills"?".f-capsule-item":".nav-item",b=t.value.querySelectorAll(x),{parentElement:w}=t.value,E=b[h];if(E&&w){const A=w.getBoundingClientRect().left,I=w.getBoundingClientRect().right,D=E.getBoundingClientRect().left,M=E.getBoundingClientRect().right;D<A?C(A-D,-1):I<M&&C(M-I,1),n.tabType==="one-page"&&o.scrollTo(h)}}function T(h,x){if(x.disabled)return;l(x.id);const b=r.value.findIndex(w=>w.props.id===x.id);e.nextTick(()=>{v(b)})}return{previousButtonClass:u,nextButtonGroupClass:p,nextButtonClass:m,scrollTab:C,selectAndScrollToTab:T,shouldShowNavigationButtons:s,updateNavigationLayout:d}}function He(n,t){const{tabPages:o}=t,a=e.ref(""),s=e.ref(!0),l=e.computed(()=>n.searchBoxVisible),r=e.computed(()=>l.value?o.value.filter(d=>d.props.title.includes(a.value)):o.value.slice());return{searchTabText:a,hideDropDown:s,shouldShowSearchBox:l,tabsInDropdownMenu:r}}function ze(n,t,o){const a=".farris-tab-page",{tabPages:s}=o;function l(c){const d=t.value;if(d){const u=t.value.querySelectorAll(a);if(u.length>0){const p=u[c],{offsetTop:m}=p,C=m-32>0?m-32:0;d.scrollTop=C}}}function r(c){const d=s.value.findIndex(u=>u.props.id===c);d>-1&&l(d)}return{scrollTo:l,scrollToByPaggId:r}}const oe=e.defineComponent({name:"FTabs",props:fe,emits:["tabChange","tabRemove","update:activeId","Click"],setup(n,t){const o=e.ref(n.tabType),a=e.shallowRef(),s=e.ref(n.customClass),l=e.shallowRef(),r=e.shallowRef(),c=ft(n,t,l),{activeId:d,changeTitleStyle:u,tabPages:p,addTab:m,updateTab:C,selectTabByTabId:v,toolbarItems:T}=c,h=ze(n,r,c),x=Fe(n,l,h,c),{previousButtonClass:b,nextButtonClass:w,nextButtonGroupClass:E,scrollTab:A,updateNavigationLayout:I}=x,D=He(n,c),{hideDropDown:M}=D,R=ht(n,l,x,h,c),H=R,k=Ae(n,l,x,h,c),g=new Map([["default",R],["one-page",H],["pills",k]]);e.computed(()=>{const q=p.value.find(G=>G.props.id===d.value);return q==null?void 0:q.slots});const i=e.computed(()=>{const q=p.value.find(Z=>Z.props.id===d.value);return(q==null?void 0:q.props.toolbarPosition)==="inHead"}),y=e.computed(()=>n.fill||n.tabType==="fill");e.provide("tabs",{activeId:d,addTab:m,updateTab:C,tabPages:p,tabType:o,shouldFillParentContaner:y});const N=e.computed(()=>n.tabType==="pills"),$=e.computed(()=>({"farris-tabs-header":!0,"farris-tabs-inHead":i.value,"farris-tabs-inContent":!i.value,"farris-tabs-nav-fill":y.value,"farris-tabs-nav-pills":N.value})),O=e.computed(()=>({width:i.value&&n.titleWidth?`${n.titleWidth}%`:""})),B=e.computed(()=>{const q={"farris-tabs":!0,"f-utils-fill-flex-column":y.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 s.value&&s.value.split(" ").reduce((G,Z)=>(G[Z]=!0,G),q),q});e.onMounted(()=>{p.value.length&&(d.value=n.activeId||p.value[0].props.id,v(d.value)),e.nextTick(()=>{I()}),u(l),window.addEventListener("click",q=>{var G;M.value||(G=a.value)!=null&&G.contains(q.target)||(M.value=!0)}),window.addEventListener("resize",()=>{I()})});function f(){return e.createVNode("button",{title:"left-arrow-button",type:"button",class:b.value,onClick:()=>{A(0,-1)}},null)}function S(){return e.createVNode("button",{title:"right-arrow-button",type:"button",class:w.value,onClick:()=>{A(0,1)}},null)}const{renderMorePagesButtton:V}=Le(n,D,x,c),P=(q,G)=>{t.emit("Click",q,G,d.value)};function F(){return T.value.length?e.createVNode(ke,{class:"f-utils-fill",items:T.value,onClick:P},null):null}const U=g.get(n.tabType)||g.get("default");function J(){var q,G,Z,le;return e.createVNode("div",{class:$.value},[e.createVNode("div",{class:"farris-tabs-header-pre"},[(G=(q=t.slots).headerPrefix)==null?void 0:G.call(q)]),e.createVNode("div",{class:"farris-tabs-title scroll-tabs",style:O.value},[f(),U&&U(),e.createVNode("div",{class:E.value},[S(),V()])]),F(),e.createVNode("div",{class:"farris-tabs-header-post"},[(le=(Z=t.slots).headerSuffix)==null?void 0:le.call(Z)])])}const ne=e.computed(()=>({"farris-tabs-content":!0,"f-utils-fill-flex-column":y.value}));function ae(){var q,G;return e.createVNode("div",{class:ne.value,ref:r},[(G=(q=t.slots).default)==null?void 0:G.call(q)])}return()=>e.createVNode("div",{class:B.value,ref:a},[J(),ae()])}});function bt(n,t,o){return t&&t.contents&&t.contents.length&&(t.contents.forEach(a=>{a.title&&(a.text=a.title)}),t.buttons=t.contents,delete t.contents),{toolbar:t}}const yt=new Map([["appearance",pe],["toolbar",bt]]),vt={$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"}},required:["id","type","contents"]},me={tabWidth:{type:Number,default:-1},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"}},Se=nt.createPropsResolver(me,vt,yt);function Ct(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!e.isVNode(n)}const he=e.defineComponent({name:"FTabPage",props:me,emits:[],setup(n,t){const o=e.inject("tabs"),a=e.ref(n.show),s={slots:t.slots,props:n},l=e.ref((o==null?void 0:o.tabType.value)||"default");e.onMounted(()=>{const v=o==null?void 0:o.tabPages.value.findIndex(T=>T.props.id===n.id);!v||v===-1?o==null||o.addTab(s):v>-1&&(a.value=!1,console.warn(`已经存在id为${n.id}的页签啦`))}),e.onUnmounted(()=>{});const r=e.computed(()=>(n==null?void 0:n.id)===(o==null?void 0:o.activeId.value)),c=e.computed(()=>({display:r.value?"":"none"}));e.watch(()=>n,v=>{o==null||o.updateTab({props:v,slots:t.slots})},{immediate:!0,deep:!0});function d(){var T,h;const v=(h=(T=t.slots).default)==null?void 0:h.call(T);return e.createVNode(ot,{"main-title":n.title,class:"farris-tab-page"},Ct(v)?v:{default:()=>[v]})}const u=e.computed(()=>{var T;return{"farris-tab-page":!0,"f-utils-fill-flex-column":r.value&&o&&((T=o.shouldFillParentContaner)==null?void 0:T.value)}});function p(){var T,h;const v=(h=(T=t.slots).default)==null?void 0:h.call(T);return e.createVNode("div",{class:u.value,style:c.value},[v])}const C=new Map([["default",p],["one-page",d]]).get(l.value)||p;return()=>a.value?C():null}}),wt={width:{Type:Number,default:400},type:{Type:String,default:"info"},title:{Type:String,default:""},detail:{Type:String,default:""},okButtonText:{Type:String,default:"确定"},cancelButtonText:{Type:String,default:"取消"},exceptionInfo:{Type:Object,default:null},promptEditorType:{Type:String,default:"text-area"}};function Me(){return new DOMException("The request is not allowed","NotAllowedError")}async function Tt(n){if(!navigator.clipboard)throw Me();return navigator.clipboard.writeText(n)}async function xt(n){const t=document.createElement("span");t.textContent=n,t.style.whiteSpace="pre",t.style.webkitUserSelect="auto",t.style.userSelect="all",document.body.appendChild(t);const o=window.getSelection(),a=window.document.createRange();o==null||o.removeAllRanges(),a.selectNode(t),o==null||o.addRange(a);let s=!1;try{s=window.document.execCommand("copy")}finally{o==null||o.removeAllRanges(),window.document.body.removeChild(t)}if(!s)throw Me()}async function St(n){try{await Tt(n)}catch(t){try{await xt(n)}catch(o){throw o||t||Me()}}}function Mt(){async function n(t){await St(t)}return{onCopy:n}}function Nt(n,t,o,a){const s=e.ref(14),l=e.ref(140),r=e.ref(""),c=e.ref(a.value.length),d=e.computed(()=>a.value),u=e.computed(()=>({"font-size":`${s.value}px`,height:"100%"}));function p(m){if(m.currentTarget){const C=m.currentTarget.value||"";c.value=C.length}}return()=>e.createVNode(e.Fragment,null,[e.createVNode("textarea",{title:"promptMessage",name:"promptMessage",class:"form-control",style:u.value,rows:"4",maxlength:l.value,onInput:m=>p(m)},[d.value]),e.createVNode("span",{class:"textarea-wordcount",title:r.value,style:"position: absolute; bottom: 76px; right: 32px; cursor: pointer; text-align: right;"},[c.value+" / "+l.value])])}function Vt(n,t,o,a){const s=Nt(n,t,o,a),l=new Map([["text-area",s]]);function r(c){return l.get(c)||null}return{getEditorRender:r}}function Bt(){const n=e.ref(!1),t=e.ref("复制成功");return{feedbackStyle:e.computed(()=>{const a={position:"absolute",left:"50%",top:"50%",width:"100px",height:"40px",background:"#303C53","line-height":"40px","text-align":"center","margin-left":"-30px","margin-top":"-50px","border-radius":"10px","box-shadow":"0px 2px 8px 0px",color:"#fff",transition:"all .3s ease"};return a.opacity=n.value?"0.8":"0",a.display=n.value?"":"none",a}),feedbackMessage:t,toShowFeedback:n}}function kt(n,t){const o=t.getEditorRender(n.promptEditorType);return()=>o&&o()}function Pt(n){const t=e.ref(3),o=e.ref(480),a=e.computed(()=>!!n.value&&!!n.value.date),s=e.computed(()=>`发生时间 : ${n.value&&n.value.date||""}`),l=e.computed(()=>!!n.value&&!!n.value.detail),r=e.computed(()=>{const x=`${o.value}px`;return{overflow:"hidden","text-overflow":"ellipsis",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":t.value,"max-height":x}}),c=e.computed(()=>n.value&&n.value.detail||""),d=e.computed(()=>!0),u=e.ref(!1),p=e.ref("展开"),m=e.ref("收起"),C=e.computed(()=>{const x={display:"block",color:"#2A87FF"};return x["text-align"]=u.value?"":"right",x});function v(x,b){u.value=!u.value,t.value=u.value?20:3}function T(x){return v()}function h(x){return v()}return()=>e.createVNode("div",{class:"toast-msg-detail"},[a.value&&e.createVNode("div",null,[s.value]),l.value&&e.createVNode("div",{id:"exception_error_msg",ref:"exceptionMessageRef",style:r.value},[e.createTextVNode("详细信息 : "),e.createVNode("span",{innerHTML:c.value},null)]),d.value&&e.createVNode("span",{style:C.value},[u.value&&e.createVNode("span",{onClick:T,style:"cursor: pointer;"},[m.value]),!u.value&&e.createVNode("span",{onClick:h,style:"cursor: pointer;"},[p.value])])])}function It(n){return()=>e.createVNode("p",{class:"toast-msg-detail",innerHTML:n.value},null)}function Et(n,t,o,a){const s=e.ref(n.exceptionInfo),l=e.computed(()=>{const C={"f-icon":!0},v=`f-icon-${t.value}`;return C[v]=!0,C}),r=e.computed(()=>o.value||s.value&&s.value.message),c=e.computed(()=>a.value),d=e.computed(()=>!!a.value),u=e.computed(()=>!!s.value);function p(){return u.value?Pt(s):d.value?It(c):()=>null}const m=p();return()=>e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"float-left modal-tips-iconwrap"},[e.createVNode("span",{class:l.value},null)]),e.createVNode("div",{class:"modal-tips-content"},[e.createVNode("p",{class:"toast-msg-title",innerHTML:r.value},null),m()])])}function jt(n,t,o){const{onCopy:a}=t,{toShowFeedback:s}=o,l=e.ref("复制成功"),r=e.ref("复制详细信息"),c=e.ref(n.exceptionInfo||{date:"",message:"",detail:""}),d=e.computed(()=>c.value&&c.value.detail||"");function u(p){a(d.value).catch(m=>{l.value="复制失败"}).finally(()=>{s.value=!0,setTimeout(()=>{s.value=!1},700)})}return()=>e.createVNode("span",{style:"width: 100%;color: #2A87FF;padding-left: 37px;"},[e.createVNode("span",{onClick:u,style:"cursor: pointer;"},[r.value])])}function Dt(n,t,o,a){const s=e.ref(n.type),l=e.ref([]),r=e.ref(n.exceptionInfo),c=e.ref(n.okButtonText),d=e.ref(n.cancelButtonText),u=e.ref(!0),p=e.ref(!0),m=e.computed(()=>!!(l.value&&l.value.length)),C=e.computed(()=>r.value&&r.value.date&&r.value.message&&r.value.detail),v=e.computed(()=>!(l.value&&l.value.length)&&(c.value||d.value)),T=e.computed(()=>p.value&&c.value),h=e.computed(()=>u.value&&d.value),x=jt(n,o,a);function b(E){s.value==="question"&&t.emit("reject"),t.emit("close")}function w(E){s.value==="question"&&t.emit("accept"),t.emit("close")}return()=>e.createVNode("div",{class:"modal-footer"},[C.value&&x(),v.value&&h.value&&e.createVNode("button",{type:"button",class:"btn btn-secondary btn-lg",onClick:b},[d.value]),v.value&&T.value&&e.createVNode("button",{type:"button",class:"btn btn-primary btn-lg",onClick:w},[c.value]),m.value&&l.value.length&&l.value.map(E=>e.createVNode("button",{type:"button",onClick:E.handle,class:E.class},[E.iconClass&&e.createVNode("span",{class:E.iconClass},null),E.text]))])}const ge=e.defineComponent({name:"FMessageBox",props:wt,emits:["accept","reject","close"],setup(n,t){const o=e.ref(n.type),a=e.ref(n.title),s=e.ref(n.detail),l=e.computed(()=>{const x={"modal-tips":!0,"d-flex":!0,"flex-row":!0},b=`messager-type-${o.value}`;return x[b]=!0,x}),r=e.computed(()=>{const x={};return o.value==="prompt"?x.padding="0.5rem 0.5rem 1rem 1.5rem":o.value==="error"&&(x.padding="0.5rem 1.5rem 1rem 1.5rem"),x}),c=Mt(),d=Vt(n,o,a,s),u=Bt(),{feedbackStyle:p,feedbackMessage:m}=u;function C(){return e.createVNode("div",{style:p.value},[m.value])}function v(){switch(o.value){case"prompt":return kt(n,d);default:return Et(n,o,a,s)}}const T=v(),h=Dt(n,t,c,u);return()=>e.createVNode("div",{class:"farris-messager"},[e.createVNode("section",{class:l.value,style:r.value},[T()]),h(),C()])}}),Rt={class:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},reiszeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1}};class X{constructor(t,o){this.x=t,this.y=o}static getTransformInfo(t){const a=window.getComputedStyle(t).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(a.length>=6){const s=parseInt(a[4],10),l=parseInt(a[5],10);return{x:s,y:l}}return{x:0,y:0}}static fromEvent(t,o=null){if(this.isMouseEvent(t))return new X(t.clientX,t.clientY);if(o===null||t.changedTouches.length===1)return new X(t.changedTouches[0].clientX,t.changedTouches[0].clientY);for(let a=0;a<t.changedTouches.length;a++)if(t.changedTouches[a].target===o)return new X(t.changedTouches[a].clientX,t.changedTouches[a].clientY)}static isMouseEvent(t){return Object.prototype.toString.apply(t).indexOf("MouseEvent")===8}static isIPosition(t){return!!t&&"x"in t&&"y"in t}static getCurrent(t){const o=new X(0,0);if(window){const a=window.getComputedStyle(t);if(a){const s=parseInt(a.getPropertyValue("left"),10),l=parseInt(a.getPropertyValue("top"),10);o.x=isNaN(s)?0:s,o.y=isNaN(l)?0:l}return o}return null}static copy(t){return new X(0,0).set(t)}get value(){return{x:this.x,y:this.y}}add(t){return this.x+=t.x,this.y+=t.y,this}subtract(t){return this.x-=t.x,this.y-=t.y,this}multiply(t){this.x*=t,this.y*=t}divide(t){this.x/=t,this.y/=t}reset(){return this.x=0,this.y=0,this}set(t){return this.x=t.x,this.y=t.y,this}}class re{constructor(t,o){this.width=t,this.height=o}static getCurrent(t){const o=new re(0,0);if(window){const a=window.getComputedStyle(t);return a&&(o.width=parseInt(a.getPropertyValue("width"),10),o.height=parseInt(a.getPropertyValue("height"),10)),o}return null}static copy(t){return new re(0,0).set(t)}set(t){return this.width=t.width,this.height=t.height,this}}function $t(n,t){const o=e.ref(),a=e.ref(),s=e.ref(),l=e.ref(),r=e.ref(),c=e.ref(),d=e.ref(),u=e.ref(),p=e.ref(),m=e.ref(),C=e.ref(),v=e.ref(),T=e.ref(n.draggable),h=e.ref(!1);function x(){const B=a.value||document.body,f=window.getComputedStyle(B);if(!f||!o.value)return;const S=X.getTransformInfo(o.value),V={};d.value&&(V.deltaL=o.value.offsetLeft-d.value.x,V.deltaT=o.value.offsetTop-d.value.y);const P=f.getPropertyValue("position");V.width=B.clientWidth,V.height=B.clientHeight,V.pr=parseInt(f.getPropertyValue("padding-right"),10),V.pb=parseInt(f.getPropertyValue("padding-bottom"),10),V.position=f.getPropertyValue("position"),P==="static"&&(B.style.position="relative"),V.translateX=S.x,V.translateY=S.y,m.value=V}function b(B){if(o.value){l.value=re.getCurrent(o.value),r.value=X.getCurrent(o.value),c.value=l.value?re.copy(l.value):null,d.value=r.value?X.copy(r.value):null,x();const f=B.target.getAttribute("type")||"";u.value={n:!!f.match(/n/),s:!!f.match(/s/),w:!!f.match(/w/),e:!!f.match(/e/)}}}function w(){var B,f,S,V;if(o.value){const P=o.value;u.value&&((u.value.n||u.value.s)&&((B=c.value)!=null&&B.height)&&(P.style.height=c.value.height+"px"),(u.value.w||u.value.e)&&((f=c.value)!=null&&f.width)&&(P.style.width=c.value.width+"px"),d.value&&((S=d.value)!=null&&S.x&&(P.style.left=d.value.x+"px"),(V=d.value)!=null&&V.y&&(P.style.top=d.value.y+"px")))}}function E(){const B=n.minHeight?n.minHeight:1,f=n.minWidth?n.minWidth:1;c.value&&d.value&&u.value&&l.value&&(c.value.height<B&&(c.value.height=B,u.value.n&&r.value&&(d.value.y=r.value.y+(l.value.height-B))),c.value.width<f&&(c.value.width=f,u.value.w&&r.value&&(d.value.x=r.value.x+(l.value.width-f))),n.maxHeight&&c.value.height>n.maxHeight&&(c.value.height=n.maxHeight,r.value&&u.value.n&&(d.value.y=r.value.y+(l.value.height-n.maxHeight))),n.maxWidth&&c.value.width>n.maxWidth&&(c.value.width=n.maxWidth,u.value.w&&r.value&&(d.value.x=r.value.x+(l.value.width-n.maxWidth))))}function A(){if(a.value){const B=m.value;if(d.value&&c.value&&u.value&&l.value){const f=B.width-B.pr-B.deltaL-B.translateX-d.value.x,S=B.height-B.pb-B.deltaT-B.translateY-d.value.y;u.value.n&&d.value.y+B.translateY<0&&r.value&&(d.value.y=-B.translateY,c.value.height=l.value.height+r.value.y+B.translateY),u.value.w&&d.value.x+B.translateX<0&&r.value&&(d.value.x=-B.translateX,c.value.width=l.value.width+r.value.x+B.translateX),c.value.width>f&&(c.value.width=f),c.value.height>S&&(c.value.height=S)}}}function I(B){if(!s.value||!l.value||!r.value||!u.value)return;B.subtract(s.value);const f=B.x,S=B.y;u.value.n?(d.value.y=r.value.y+S,c.value.height=l.value.height-S):u.value.s&&(c.value.height=l.value.height+S),u.value.e?c.value.width=l.value.width+f:u.value.w&&(c.value.width=l.value.width-f,d.value.x=r.value.x+f),A(),E(),w()}function D(B){if(!p.value)return;const f=X.fromEvent(B);f&&I(f)}function M(){if(o.value){const{width:B,height:f,x:S,y:V}=o.value.getBoundingClientRect(),P=X.getTransformInfo(o.value);return{size:{width:B,height:f},position:{x:S-P.x,y:V-P.y}}}return null}function R(B){if(o.value){const f=M();C.value=f}s.value=void 0,l.value=null,r.value=null,c.value=null,d.value=null,u.value=null,p.value=null,document.removeEventListener("mousemove",D),document.removeEventListener("mouseup",R)}function H(){document.addEventListener("mousemove",D),document.addEventListener("mouseup",R)}function k(B){B instanceof MouseEvent&&B.button===2||T.value&&(B.stopPropagation(),B.preventDefault(),s.value=X.fromEvent(B),p.value=B.target,b(B),H())}function g(B){return o.value=B,e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:f=>k(f)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:f=>k(f)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:f=>k(f)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:f=>k(f)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:f=>k(f)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:f=>k(f)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:f=>k(f)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:f=>k(f)},null)])}function i(B=!0){const f=a.value||document.body,S=re.getCurrent(f),V=o.value;B&&(v.value=M(),v.value.transform=V.style.transform),S&&V&&(c.value=S,V.style.height=c.value.height-14+"px",V.style.width=c.value.width-14+"px",V.style.left="7px",V.style.top="7px",V.style.transform="",C.value={size:c.value,position:{x:0,y:0}},T.value=!1,h.value=!0)}function y(){var B,f;if(v.value){const S={width:v.value.size.width||0,height:v.value.size.height||0},V={x:(window.innerWidth-S.width)/2,y:(window.innerHeight-S.height)/2};(B=c.value)==null||B.set(S),(f=d.value)==null||f.set(V);const P=o.value;P.style.height=S.height+"px",P.style.width=S.width+"px",P.style.left=`${V.x}px`,P.style.top=`${V.y}px`,P.style.transform="",C.value={size:S,position:V},T.value=n.draggable,h.value=!1}}function N(){if(o.value){const B=re.getCurrent(o.value);if(B){const{width:f,height:S}=B;o.value.style.left=`${(window.innerWidth-f)/2}px`,o.value.style.top=`${(window.innerHeight-S)/2}px`,o.value.style.transform=""}}}function $(){const B=()=>{h.value?i(!1):N()};return window.addEventListener("resize",B),()=>{window.removeEventListener("resize",B)}}const O=$();return{renderResizeBar:g,boundingElement:a,resizedEventParam:C,maximize:i,restore:y,allowDrag:T,isMaximized:h,unWindowResizeHandle:O}}function Ot(n,t,o){const a=e.ref(),s=e.ref(n.draggable),l=e.ref(n.lockAxis),r=e.ref(),c=e.ref(),d=e.ref(!1),u=e.ref(new X(0,0)),p=e.ref(new X(0,0)),m=e.ref(new X(0,0)),C=e.ref(new X(0,0));e.watch(()=>o.value,M=>{r.value.style.cursor=M?"move":"default"});function v(M,R){if(R.tagName==="BUTTON")return!1;if(R===M)return!0;for(const H in R.children)if(Object.prototype.hasOwnProperty.call(R.children,H)&&v(M,R.children[H]))return!0;return!1}function T(){var k,g;let M=m.value.x+p.value.x,R=m.value.y+p.value.y;l.value==="x"?(M=((k=u.value)==null?void 0:k.x)||0,m.value.x=0):l.value==="y"&&(R=((g=u.value)==null?void 0:g.y)||0,m.value.y=0);const H=`translate3d(${Math.round(M)}px, ${Math.round(R)}px, 0px)`;a.value&&(a.value.style.transform=H),C.value.x=M,C.value.y=R}function h(){if(!c.value||!a.value)return null;const M=c.value.getBoundingClientRect(),R=a.value.getBoundingClientRect(),H={top:M.top<R.top,right:M.right>R.right,bottom:M.bottom>R.bottom,left:M.left<R.left};return H.top||(m.value.y-=R.top-M.top),H.bottom||(m.value.y-=R.bottom-M.bottom),H.right||(m.value.x-=R.right-M.right),H.left||(m.value.x-=R.left-M.left),T(),H}function x(M){M&&(u.value&&M.subtract(u.value),m.value.set(M),T(),h())}function b(M){d.value&&s.value&&(M.stopPropagation(),M.preventDefault(),x(X.fromEvent(M,r.value)))}function w(){var M;d.value&&(d.value=!1,p.value.add(m.value),m.value.reset(),(M=a.value)==null||M.classList.remove("ng-dragging"),document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",w))}function E(){!d.value&&r.value&&(d.value=!0,r.value.classList.add("ng-dragging"),document.addEventListener("mousemove",b),document.addEventListener("mouseup",w))}function A(){if(a.value){const M=X.getTransformInfo(a.value);p.value.set(M);return}p.value.reset()}function I(M){if(!o.value||M instanceof MouseEvent&&M.button===2)return;const R=M.target||M.srcElement;r.value!==void 0&&R&&!v(R,r.value)||s.value!==!1&&(document.body.click(),M.stopPropagation(),M.preventDefault(),u.value=X.fromEvent(M,a.value),A(),E())}function D(M,R,H){if(s.value&&R){if(M)r.value=M;else if(n.dragHandle){if(n.dragHandle instanceof HTMLElement)r.value=n.dragHandle;else if(typeof n.dragHandle=="string"){const k=R.querySelector(n.dragHandle);k&&(r.value=k)}}a.value=R,c.value=H,r.value.classList.add("ng-draggable"),r.value.addEventListener("mousedown",I)}}return{registerDraggle:D,resetTranslate:A}}function qe(n,t){if(n){const o=a=>{a.key.toLowerCase()===n.toLowerCase()&&t({event:a,key:n})};return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}}}function At(n,t){const o=e.ref(n.enableEsc);let a=null;return o.value?(a=qe("Escape",s=>{t.emit("esc",{event:s.event,type:"esc"})}),{remove:a}):null}function Lt(n,t){const o=e.ref(n.enableEnter);let a=null;return o.value?(a=qe("Enter",s=>{t.emit("enter",{event:s.event,type:"enter"})}),{remove:a}):null}const We=e.defineComponent({name:"FModal",props:Rt,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter"],setup(n,t){const o=e.ref(n.width||300),a=e.ref(n.height||200),s=e.ref(n.modelValue),l=e.ref(""),r=e.ref(n.class),c=e.ref(n.fitContent),d=e.ref(n.showHeader),u=e.ref(""),p=e.ref(n.showCloseButton),m=e.ref(n.showMaxButton),C=e.ref(!1),v=e.ref(""),T=e.ref(""),h=e.ref(""),x=e.ref(n.showButtons),b=e.ref(n.title),w=e.ref(n.reiszeable),E=e.ref(n.containment||null),A=e.ref();function I(j,_){s.value=!1,t.emit("update:modelValue",!1),_!=null&&t.emit(_?"accept":"cancel"),t.emit("closed",j)}const D=[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:j=>{I(j,!1)}},{name:"accept",text:"确定",class:"btn btn-primary",handle:j=>{I(j,!0)}}],M=e.ref(n.buttons&&n.buttons.length?n.buttons:D),R=e.computed(()=>!!u.value),H=e.computed(()=>!!x.value&&!!M.value),k=e.ref(),g=e.ref(),i=e.ref(!1),{renderResizeBar:y,maximize:N,restore:$,boundingElement:O,resizedEventParam:B,allowDrag:f,unWindowResizeHandle:S}=$t(n),{registerDraggle:V}=Ot(n,t,f);e.watch(()=>n.title,(j,_)=>{j!==_&&(b.value=j)}),e.watch(()=>n.modelValue,(j,_)=>{j!==_&&(s.value=j)}),e.watch(()=>n.showHeader,(j,_)=>{j!==_&&(d.value=j)}),e.watch(()=>n.showButtons,(j,_)=>{j!==_&&(x.value=j)}),e.watch(()=>B.value,(j,_)=>{const ue=j||{},ve=_||{};JSON.stringify(ue)!==JSON.stringify(ve)&&t.emit("resize",{newSize:j,oldSize:_})});function P(){const j=document.querySelectorAll(".farris-modal").length;(!j||j-1<=0)&&document.body.classList.remove("modal-open"),A.value&&A.value.classList.remove("show")}const F=e.computed(()=>(s.value?document.body.classList.add("modal-open"):P(),s.value)),U=e.computed(()=>{const j={modal:!0,"farris-modal":!0,fade:!0};return j["f-modal-fitContent"]=!!c.value,j.show=!!F.value,j}),J=e.computed(()=>{var ue;const j={"modal-dialog":!0},_=(ue=r.value)==null?void 0:ue.split(" ");return _==null||_.reduce((ve,Hn)=>(ve[Hn]=!0,ve),j),j}),ne=e.computed(()=>({position:"absolute",top:`${(window.innerHeight-a.value)/2}px`,left:`${(window.innerWidth-o.value)/2}px`,width:`${o.value}px`,height:c.value?"auto":`${a.value}px`})),ae=e.computed(()=>({"modal-content":!0,"modal-content-has-header":d.value})),q=e.computed(()=>{const j={display:d.value?"":"none"};return j["pointer-events"]=f.value?"auto":"none",j}),G=e.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:i.value})),Z=e.computed(()=>({"modal-body":!0,"f-utils-flex-column":v.value==="iframe"}));function le(){return{}}const Be=e.computed(()=>{const j={textAlgin:h.value},_=le();return Object.assign(j,_)});function ye(j){if(j.stopPropagation(),i.value){i.value=!1,$();return}N(),i.value=!0}async function W(j,_){j.handle&&await j.handle(_,j)&&t.emit("closed",_)}function Y(j){j.width&&(o.value=j.width),j.height&&(a.value=j.height),j.buttons&&(M.value=j.buttons),j.title&&(b.value=j.title)}let K=null,ce=null;e.onMounted(()=>{g.value&&!E.value&&(E.value=g.value.parentElement,O.value=E.value,V(k.value,g.value,O.value)),F.value&&document.body.classList.add("modal-open"),K=At(n,t),ce=Lt(n,t)}),e.onUnmounted(()=>{P(),S&&S(),K&&K.remove(),ce&&ce.remove()}),t.expose({modalElementRef:g,updateModalOptions:Y,close:I,maxDialog:ye});function On(){return e.createVNode("ul",null,[C.value&&e.createVNode("li",{class:"f-btn-icon f-bare"},[e.createVNode("span",{class:"f-icon modal_minimize"},null)]),m.value&&e.createVNode("li",{onClick:ye,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[e.createVNode("span",{class:G.value},null)]),p.value&&e.createVNode("li",{class:"f-btn-icon f-bare",onClick:j=>I(j,!1),style:"pointer-events: auto;"},[e.createVNode("span",{class:"f-icon modal_close"},null)])])}function An(){return e.createVNode("div",{class:"modal-footer",style:Be.value},[M.value&&M.value.map(j=>e.createVNode("button",{name:j.name,type:"button",class:j.class+(j.iconClass?" btn-icontext":""),onClick:_=>{W(j,_)}},[!!j.iconClass&&e.createVNode("i",{class:j.iconClass},null),j.text]))])}function Ln(){return e.createVNode("div",{ref:k,class:"modal-header",style:q.value},[e.createVNode("div",{class:"modal-title"},[R.value&&e.createVNode("span",{class:u.value,style:"margin-right: 8px"},null),e.createVNode("span",{class:"modal-title-label"},[b.value])]),e.createVNode("div",{class:"actions"},[On()])])}function Fn(j){j.stopPropagation()}return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>[F.value&&e.createVNode(e.Transition,{name:"fade",appear:!0},{default:()=>{var j,_;return[e.createVNode("div",{class:U.value,style:"display: block",ref:A,onClick:Fn},[e.createVNode("div",{id:l.value,class:J.value,style:ne.value,ref:g},[e.createVNode("div",{class:ae.value},[d.value&&Ln(),e.createVNode("div",{class:Z.value},[(_=(j=t.slots).default)==null?void 0:_.call(j),v.value==="iframe"&&e.createVNode("iframe",{title:l.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:T.value},null)]),H.value&&An()]),!c.value&&w.value&&g.value&&y(g.value)])])]}})]})}});function _e(n){if(n.content&&n.content.render)return n.content.render;if(n.render&&typeof n.render=="function")return n.render}function Ft(n){const t=document.createElement("div");t.style.display="contents";const o=e.createApp({setup(a,s){e.onUnmounted(()=>{document.body.removeChild(t)});const l=e.ref(),r=e.ref(n.class||""),c=e.ref(!!n.showButtons),d=e.ref(!!n.showHeader),u=e.ref(n.showCloseButton==null?!0:n.showCloseButton),p=e.ref(!0),m=e.ref(n.title||""),C=n.acceptCallback||(()=>{}),v=n.rejectCallback||(()=>{}),T=n.closedCallback||(w=>{}),h=n.resizeHandle||(w=>{}),x=_e(n),b=w=>{p.value=!1,o.unmount(),T(w)};return e.onMounted(()=>{}),s.expose({modalRef:l}),()=>e.createVNode(We,{ref:l,class:r.value,modelValue:p.value,"onUpdate:modelValue":w=>p.value=w,title:m.value,width:n.width,height:n.height,buttons:n.buttons,"show-header":d.value,"show-buttons":c.value,"show-close-button":u.value,"show-max-button":!1,onAccept:C,onCancel:v,fitContent:n.fitContent==null?!0:n.fitContent,onClosed:b,onResize:h},{default:()=>[x&&x(o)]})}});return document.body.appendChild(t),o.mount(t),o}class Ht{constructor(t){L(this,"appContext",null);L(this,"modalRef",e.ref());L(this,"activeModalIndex",e.ref(0));L(this,"modalRefs",{});L(this,"isUseEscCloseModal",e.ref(!1));L(this,"activeModalInstance",e.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=t,this.appContext=t?t._context:null}getCurrentModal(){return this.activeModalInstance.value}static show(t){const o=Object.assign({title:"",showButtons:!0,showHeader:!0},t);return Ft(o)}open(t){const o=document.createDocumentFragment();t.showMaxButton&&t.fitContent&&(t.showMaxButton=!1);const a=e.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},t)),s=e.ref(!0),l=a.value.acceptCallback||(()=>{}),r=a.value.rejectCallback||(()=>{}),c=a.value.closedCallback||((b,w)=>{}),d=a.value.resizeHandle||(b=>{});let u;const p=_e(a.value),m=b=>{var E;s.value=!1;const w=(E=b==null?void 0:b.target)==null?void 0:E.classList.contains("modal_close");c(b,this.isUseEscCloseModal.value?"esc":w?"icon":"button")},C=b=>{m(b),u&&e.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],e.render(null,o),u=null,this.modalRef.value=null,this.modalRefs){const w=Object.keys(this.modalRefs).map(E=>Number(E));w.length>0?this.activeModalIndex.value=Math.max(...w):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},v=b=>{var w;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((w=this.activeModalInstance.value)==null||w.close(b==null?void 0:b.event))},T=()=>e.createVNode(We,e.mergeProps({ref:this.modalRef,modelValue:s.value,"onUpdate:modelValue":b=>s.value=b},a.value,{onAccept:l,onCancel:r,onClosed:C,onResize:d,onEsc:v}),{default:()=>[p&&p(this.app)]});return u=(b=>{const w=e.h(T,b);return w.appContext=this.appContext,e.render(w,o),w})({...a.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:b=>{a.value={...a.value,...b},u&&e.render(e.cloneVNode(u,{...a}),o)},destroy:C,modalRef:this.activeModalInstance}}}class te{static show(t){const o=e.reactive({...t}),a=!1,s=o.type==="error"||o.type==="prompt",l=o.type==="error"?"错误提示":o.type==="prompt"&&o.title||"",r=o.acceptCallback||(()=>{}),c=o.rejectCallback||(()=>{});let d=null,u=new Ht(d);const p=()=>{d&&(d==null||d.destroy(),u=null)};d=u==null?void 0:u.open({class:"modal-message modal-message-type-info",title:l,showButtons:a,showHeader:s,width:o.width||400,fitContent:!0,showMaxButton:!1,render:()=>e.createVNode(ge,e.mergeProps(o,{onAccept:r,onReject:c,onClose:p}),null)})}static info(t,o){const a=e.reactive({type:"info",title:t,detail:o,okButtonText:"知道了",cancelButtonText:""});te.show(a)}static warning(t,o){const a=e.reactive({type:"warning",title:t,detail:o,okButtonText:"知道了",cancelButtonText:""});te.show(a)}static success(t,o){const a=e.reactive({type:"success",title:t,detail:o,okButtonText:"关闭",cancelButtonText:""});te.show(a)}static error(t,o,a){const s=e.reactive({width:500,type:"error",okButtonText:"关闭",cancelButtonText:"",exceptionInfo:{date:a,message:t,detail:o}});te.show(s)}static prompt(t,o){const a=e.reactive({type:"prompt",title:t,detail:o,okButtonText:"确定",cancelButtonText:"取消"});te.show(a)}static question(t,o,a,s){const l=e.reactive({type:"question",title:t,detail:o,okButtonText:"确定",cancelButtonText:"取消",acceptCallback:a,rejectCallback:s});te.show(l)}}ge.install=n=>{n.component(ge.name,ge),n.provide("FMessageBoxService",te)};function zt(n,t,o,a,s,l){const{activeId:r,removeTab:c,selectTab:d,removeDesignTab:u,selectDesignTab:p,addTabPageToolbar:m}=s,C=e.computed(()=>({"st-tab-text":!0,"farris-title-auto":n.autoTitleWidth})),v=e.computed(()=>{const i={"farris-component":!0,"nav-item":!0,"d-none":t.show!==void 0?!t.show:!1,"f-state-active":t.id===r.value,"f-state-disable":t.disabled};return i[`${t.id}-design-item`]=!0,i}),T=e.computed(()=>({width:`${t.tabWidth}px`})),h=e.computed(()=>({"nav-link":!0,"tabs-text-truncate":!0,active:t.id===r.value,disabled:t.disabled}));function x(i){return e.createVNode("span",{class:C.value,title:i.title},[i.title])}function b(i){return i.slots.title?i.slots.title:x}const w=b(o),E=e.ref(t.removeable);function A(){return e.createVNode("span",{class:"st-drop-close",onClick:i=>c(i,t.id)},[e.createVNode("i",{class:"f-icon f-icon-close"},null)])}function I(i){d(t.id),n.tabType==="one-page"&&a.scrollToByPaggId(t.id)}function D(i){p(i,t.id,l.value)}function M(i){te.question(`确定删除标签页【${o.props.title}】?`,"",()=>u(i,t.id),()=>{})}function R(i){m(i,t.id)}function H(){return e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:i=>M(i)},[e.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function k(){return e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增按钮",ref:"addComponent",onClick:i=>R(i)},[e.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function g(){return e.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[e.createVNode("div",null,[H(),!t.toolbar||!t.toolbar.buttons||!t.toolbar.buttons.length?k():""])])}return e.createVNode("li",{onClick:i=>D(i),class:v.value,style:T.value,id:`${t.id}-design-item`},[g(),e.createVNode("a",{class:h.value,onClick:I},[w(t),E.value&&A()])])}function qt(n,t,o,a,s,l,r){const{shouldShowNavigationButtons:c}=o,{tabPages:d}=s,u=e.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":c.value})),p=e.computed(()=>({width:"100%","justify-content":n.justifyContent})),m=e.computed(()=>({nav:!0,"farris-nav-tabs":!0,"flex-nowrap":!0,"nav-fill":n.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"})),C=e.computed(()=>({overflow:"auto"})),v=function(T){var b;const h=se("tab-page");h.id=`tab_page_${Math.random().toString().slice(2,6)}`,(b=l.value.schema.contents)==null||b.push(h);const{selectTabByTabId:x}=s;x(h.id)};return()=>e.createVNode("div",{class:u.value,style:p.value},[e.createVNode("ul",{class:m.value,style:C.value,ref:t},[d.value.map(T=>zt(n,T.props,T,a,s,l)),e.createVNode("li",{class:"nav-item"},[e.createVNode("a",{class:"nav-link tabs-text-truncate",title:"添加页签",onClick:T=>v()},[e.createVNode("i",{class:"f-icon f-icon-plus",style:"font-size: 20px;margin: 0 auto;line-height: 24px;"},null)])])])])}function Ue(n,t,o){var A;const a=o&&o.getStyles&&o.getStyles()||"",s=o&&o.getDesignerClass&&o.getDesignerClass()||"",l=e.ref();function r(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:o&&o.checkCanMoveComponent?o.checkCanMoveComponent():!0}function c(){return!1}function d(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:o&&o.checkCanDeleteComponent?o.checkCanDeleteComponent():!0}function u(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:o&&o.hideNestedPaddingInDesginerView?o.hideNestedPaddingInDesginerView():!1}function p(I){if(!I||!I.value)return null;if(I.value.schema&&I.value.schema.type==="component")return I.value;const D=e.ref(I==null?void 0:I.value.parent),M=p(D);return M||null}function m(I=t){const{componentInstance:D,designerItemElementRef:M}=I;return!D||!D.value?null:D.value.canMove?M:m(I.parent)}function C(I){return!!o&&o.canAccepts(I)}function v(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function T(){}function h(I,D){D&&o!=null&&o.onAcceptMovedChildElement&&o.onAcceptMovedChildElement(D)}function x(I,D){const{componentType:M}=I;let R=se(M,I,D);o&&o.onResolveNewComponentSchema&&(R=o.onResolveNewComponentSchema(I,R));const H=M.toLowerCase().replace(/-/g,"_");return R&&!R.id&&R.type===M&&(R.id=`${H}_${Math.random().toString().slice(2,6)}`),R}function b(I){}function w(...I){if(o&&o.getPropsConfig)return o.getPropsConfig(...I)}function E(){o&&o.onRemoveComponent&&o.onRemoveComponent(),t!=null&&t.schema.contents&&t.schema.contents.map(I=>{var R;let D=I.id;I.type==="component-ref"&&(D=I.component);const M=n.value.querySelector(`#${D}-design-item`);(R=M==null?void 0:M.componentInstance)!=null&&R.value.onRemoveComponent&&M.componentInstance.value.onRemoveComponent()})}return l.value={canMove:r(),canSelectParent:c(),canDelete:d(),canNested:!u(),contents:t==null?void 0:t.schema.contents,elementRef:n,parent:(A=t==null?void 0:t.parent)==null?void 0:A.componentInstance,schema:t==null?void 0:t.schema,styles:a,designerClass:s,canAccepts:C,getBelongedComponentInstance:p,getDraggableDesignItemElement:m,getDraggingDisplayText:v,getPropConfig:w,getDragScopeElement:T,onAcceptMovedChildElement:h,onChildElementMovedOut:b,addNewChildComponentSchema:x,triggerBelongedComponentToMoveWhenMoved:!!o&&o.triggerBelongedComponentToMoveWhenMoved||e.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!o&&o.triggerBelongedComponentToDeleteWhenDeleted||e.ref(!1),onRemoveComponent:E},l}class Ge{getTemplateRule(t,o){const a=o==null?void 0:o.formSchemaUtils,s=a==null?void 0:a.getFormTemplateRule(),l={canAccept:!0,canDelete:!0,canMove:!0};if(!s)return l;const r=this.getComponentContext(t),{componentClassList:c}=r;return c.forEach(d=>{if(!d||!s[d])return;const{canMove:u,canDelete:p,canAccept:m}=s[d];l.canMove=l.canMove&&this.resolveRuleValue(u,r),l.canDelete=l.canDelete&&this.resolveRuleValue(p,r),l.canAccept=l.canAccept&&this.resolveRuleValue(m,r)}),l}resolveRuleValue(t,o){return typeof t=="boolean"?t:this.parseRuleValueSchema(t,o)}parseRuleValueSchema(t,o){const a=t.invalidContext||[];let s=!0;for(const l of a){if(l.firstLevelChild){if(l.firstLevelChild.class){const{firstLevelChildClassList:r}=o;if(r&&!r.includes(l.firstLevelChild.class)){s=!1;continue}}if(l.firstLevelChild.type){const{firstLevelChildSchema:r}=o;if(!r||r.type!==l.firstLevelChild.type){s=!1;continue}}}if(l.secondLevelChild){if(l.secondLevelChild.class){const{secondLevelChildClassList:r}=o;if(r&&!r.includes(l.secondLevelChild.class)){s=!1;continue}}if(l.secondLevelChild.type){const{secondLevelChildSchema:r}=o;if(!r||r.type!==l.secondLevelChild.type){s=!1;continue}}}if(l.parent){if(l.parent.class){const{parentClassList:r}=o;if(r&&!r.includes(l.parent.class)){s=!1;continue}}if(l.parent.type){const{parentSchema:r}=o;if(r&&r.type!==l.parent.type){s=!1;continue}}}s=!0;break}return!s}getComponentContext(t){var h,x,b,w;const o=t.schema,a=o.appearance&&o.appearance.class||"",s=a.split(" ")||[],l=o.contents||[],r=l.length?l[0]:null,c=r&&r.appearance?r.appearance.class:"",d=c?c.split(" "):[],u=(h=r==null?void 0:r.contents)!=null&&h.length?r==null?void 0:r.contents[0]:null,p=u&&u.appearance?u.appearance.class:"",m=p?p.split(" "):[],C=o.type==="component"?(b=(x=t.parent)==null?void 0:x.parent)==null?void 0:b.schema:(w=t.parent)==null?void 0:w.schema,v=C&&C.appearance&&C.appearance.class||"",T=v?v.split(" "):[];return{componentClass:a,componentClassList:s,childContents:l,firstLevelChildSchema:r,firstLevelChildClass:c,firstLevelChildClassList:d,secondLevelChildSchema:u,secondLevelChildClass:p,secondLevelChildClassList:m,parentSchema:C,parentClass:v,parentClassList:T}}}class de{constructor(t,o){L(this,"componentId");L(this,"viewModelId");L(this,"eventsEditorUtils");L(this,"formSchemaUtils");L(this,"formMetadataConverter");L(this,"designViewModelUtils");L(this,"designViewModelField");L(this,"controlCreatorUtils");L(this,"designerHostService");L(this,"schemaService",null);L(this,"metadataService",null);L(this,"propertyConfig",{type:"object",categories:{}});var a;this.componentId=t,this.designerHostService=o,this.eventsEditorUtils=o.eventsEditorUtils,this.formSchemaUtils=o.formSchemaUtils,this.formMetadataConverter=o.formMetadataConverter,this.viewModelId=((a=this.formSchemaUtils)==null?void 0:a.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=o.designViewModelUtils,this.controlCreatorUtils=o.controlCreatorUtils,this.metadataService=o.metadataService,this.schemaService=o.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var a;const o=t.binding&&t.binding.type==="Form"&&t.binding.field;if(o){if(!this.designViewModelField){const s=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=s.fields.find(l=>l.id===o)}t.updateOn=(a=this.designViewModelField)==null?void 0:a.updateOn}}changeFieldEditorType(t,o){}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:t.type,name:Q[t.type].name}]}}}}}getAppearanceConfig(t=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(t,o){const a=o&&o.parent&&o.parent.schema;if(!a)return;const s=a.contents.findIndex(r=>r.id===t),l=ee.cloneDeep(a.contents[s]);a.contents.splice(s,1),a.contents.splice(s,0,l)}}class Wt extends de{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getBehaviorProperties(t),this.propertyConfig}getBehaviorProperties(t){this.propertyConfig.categories.behavior={description:"",title:"行为",properties:{removeable:{description:"是否可移除",type:"boolean",title:"是否可移除"},disabled:{description:"是否禁用",type:"boolean",title:"是否禁用"},show:{description:"是否可见",type:"boolean",title:"是否可见"}}}}getBasicPropConfig(t){this.propertyConfig.categories.basic={description:"Basic Infomation",title:"基本信息",properties:{id:{description:"标签页项的标识",title:"标识",type:"string",readonly:!0},title:{description:"标签页项的标题",title:"标题",type:"string"}},setPropertyRelates(o,a){if(o)switch(o&&o.propertyID){case"title":{o.needRefreshControlTree=!0;break}}}}}}class _t extends de{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.propertyConfig.categories.basic=this.getBasicPropConfig(t),this.propertyConfig.categories.appearance=this.getAppearanceProperties(t),this.propertyConfig}getAppearanceProperties(t){return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:""},titleWidth:{description:"标题区域宽度占页面比",type:"number",title:"标题区域宽度(%)",min:0,decimals:0,max:100},autoTitleWidth:{description:"开启,则显示全部字符;关闭,最多显示7个字符",type:"boolean",title:"标题自适应宽度",defaultValue:!1},fill:{description:"flex布局下,填充满剩余部分",type:"boolean",title:"填充"}}}}}function Ut(n,t){const o=n.schema,a=new Ge,{canMove:s,canAccept:l,canDelete:r}=a.getTemplateRule(n,t);function c(C){return l}function d(){return r}function u(){return s}function p(){return!s&&!r}function m(C){var h;return(((h=document.querySelector(".dgComponentFocused"))==null?void 0:h.id)===`${o.id}-design-item`?new _t(C,t):new Wt(C,t)).getPropertyConfig(o)}return{canAccepts:c,checkCanDeleteComponent:d,checkCanMoveComponent:u,getPropsConfig:m,hideNestedPaddingInDesginerView:p}}const Ne=e.ref(0);function Gt(n,t){const o=t.getBoundingClientRect(),a=n.getBoundingClientRect(),s=a.top>=o.top,l=a.top<=o.bottom;return s&&l}function Xt(n){if(!n)return;let t;if(n.className.includes("dgComponentSelected")?t=n:t=n.querySelector(".dgComponentSelected"),!t)return;const o=t.getBoundingClientRect();if(o.width===0&&o.height===0)return;const a=t.querySelector(".component-btn-group");if(a){if(!Gt(t,n)){a.style.display="none";return}a.style.display="";const l=a.getBoundingClientRect(),r=a.querySelector("div");if(r){const c=r.getBoundingClientRect();r.style.top=l.top+"px",r.style.left=l.left-c.width+"px"}}}function Yt(n,t,o,a){const s=e.ref([]),l=e.ref(n.activeId||""),r=e.ref(!0),c=e.ref(),d=e.ref([]);function u(f){const S=f.value.findIndex(V=>V.props.show!==!1&&!l.value&&!V.props.disabled);!l.value&&S!==-1&&(l.value=f.value[S].props.id)}function p(f,S){f.classList.contains(S)||f.classList.add(S)}function m(f,S){f.classList.remove(S)}function C(f){const{parentElement:S}=f;S&&(f.scrollWidth>S.offsetWidth?p(f,"farris-title-text-custom"):m(f,"farris-title-text-custom"))}function v(f){var V;if(n.autoTitleWidth)return;const S=(V=f.value)==null?void 0:V.querySelectorAll(".st-tab-text");S&&S.forEach(P=>C(P))}const T=f=>{f.preventDefault(),f.stopPropagation()};function h(f){s.value=s.value.filter(S=>S.props.id!==f),l.value===f&&(l.value="",u(s))}function x(f,S,V=!1){const P=s.value.findIndex(F=>F.props.id===S);h(S),T(f),e.nextTick(()=>{v(o),V&&(r.value=!0),t.emit("tabRemove",{removeIndex:P,removeId:S,activeId:l.value})})}function b(){const f=s.value.find(P=>P.props.id===l.value);if(d.value=[],f&&f.props.toolbar){const P=Object.prototype.hasOwnProperty.call(f.props.toolbar,"contents")?"contents":"buttons";f.props.toolbar[P]&&f.props.toolbar[P].length&&(d.value=[...f.props.toolbar[P]])}const S=a.schema.contents,V=S==null?void 0:S.find(P=>P.id===l.value);c.value=V==null?void 0:V.toolbar}function w(f){const S=l.value;l.value=f,b(),t.emit("tabChange",{prevId:S,nextId:l.value})}function E(f){w(f)}function A(f){s.value.findIndex(V=>V.props.id===f.props.id)===-1&&s.value.push(f)}function I(f){s.value.findIndex(V=>V.props.id===f.props.id)!==-1&&(s.value.forEach(V=>{V.props.id===f.props.id&&(V=f)}),e.nextTick(()=>{v(o)}))}function D(f){f&&(f.stopPropagation(),f.preventDefault())}function M(f){var P;const S=a.designerItemElementRef.value.querySelector(".farris-tabs-content"),V=S==null?void 0:S.querySelector(`#${f}-design-item`);(P=V==null?void 0:V.componentInstance)!=null&&P.value.onRemoveComponent&&V.componentInstance.value.onRemoveComponent()}function R(f,S){var F;D(f),M(S);const V=a.schema.contents,P=V==null?void 0:V.findIndex(U=>U.id===S);P===-1||P===void 0||(V==null||V.splice(P,1),h(S),b(),(F=a==null?void 0:a.setupContext)==null||F.emit("selectionChange"),Ne.value++)}function H(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(S=>S.classList.remove("dgComponentFocused"));const f=document.getElementsByClassName("dgComponentSelected");Array.from(f).forEach(S=>S.classList.remove("dgComponentSelected"))}function k(f){f.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function g(f,S){var U;const{contents:V=[]}=a.schema,P=V==null?void 0:V.findIndex(J=>J.id===f),F=V[P];(U=a==null?void 0:a.setupContext)==null||U.emit("selectionChange",F.type,F,n.componentId,S)}function i(f,S){const V=S.getBoundingClientRect(),P=f.getBoundingClientRect(),F=P.left+P.width<=V.left+V.width,U=P.left+P.width>=V.left;return F&&U}function y(f){const S=f.querySelector(".component-btn-group");if(S){S.style.display="";const V=S.getBoundingClientRect(),P=S.querySelector("div");P&&(P.style.left=V.left-26+"px")}}function N(){o&&o.value&&o.value.addEventListener("scroll",f=>{const S=f.target.querySelector(".dgComponentSelected");if(S){const V=S.querySelector(".component-btn-group");i(S,f.target)?y(S):V&&(V.style.display="none")}})}function $(f,S,V){H(),D(f),k(f),g(S,V);const P=f.currentTarget;y(P)}function O(){if(o&&o.value){const f=o.value.querySelector(".f-state-active");if(f){const S=f.getBoundingClientRect(),V=f.parentElement.getBoundingClientRect();o.value.scrollLeft=S.left-V.left,y(f)}}}function B(f,S){D(f);const V=a.schema.contents,P=V==null?void 0:V.find(U=>U.id===S);if(!P)return;(!P.toolbar||!P.toolbar.buttons)&&(P.toolbar={buttons:[]});const F=se("tab-toolbar-item");F.id=`tab_toolbar_item_${Math.random().toString().slice(2,6)}`,F.appearance={class:"btn btn-secondary f-btn-ml"},P.toolbar.buttons.push(F),d.value=[...P.toolbar.buttons],c.value=P.toolbar,e.nextTick(()=>{O()})}return{activeId:l,addTab:A,changeTitleStyle:v,removeTab:x,selectTab:E,selectTabByTabId:w,tabPages:s,updateTab:I,toolbarItems:d,removeDesignTab:R,selectDesignTab:$,toolbarSchema:c,changeToolbarItems:b,addTabPageToolbar:B,listenTabNavElementScroll:N,setHorizontalScrollbarPosition:O}}const Jt=new Map([["buttons","items"],["appearance",pe]]);function Qt(n,t){return{class:t.class,style:t.style}}const Zt=new Map([["appearance",Qt]]);function Xe(n,t,o){return t}const Kt={$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:[]}},required:["id","type","buttons"]},en={$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:"btn-secondary"}}},alignment:{description:"对齐",type:"string",default:"right"},text:{description:"文本",type:"string",default:"按钮"},icon:{description:"图标",type:"string",default:""},disabled:{description:"禁用",type:"boolean",default:!1},onClick:{description:"点击事件",type:"string",default:""}},required:["id","type","text"]},Ye={customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]}},tn=Object.assign({},Ye,{componentId:{type:String,default:""}});ie(Ye,Kt,Jt,Xe);const Je={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:""},alignment:{Type:String,default:"right"}};ie(Je,en,Zt,Xe);class Qe{constructor(t){L(this,"id","");L(this,"class","btn-secondary");L(this,"icon","");L(this,"groupId","");L(this,"order",-1);L(this,"asDropDownTop",!1);L(this,"text","");L(this,"visible",!0);L(this,"responsed",!1);L(this,"tipsEnable",!1);L(this,"tipsText","");L(this,"width",0);L(this,"onClick",()=>{});L(this,"options");this.options=t;const o=["id","class","icon","groupId","order","asDropDownTop","text","isDP","visible","responsed","width","tipsEnable","tipsText","onClick"];Object.keys(t).filter(a=>o.indexOf(a)>-1).forEach(a=>{this[a]=t[a]})}get enable(){return Object.keys(this.options).indexOf("disabled")>-1?!this.options.disabled:e.computed(()=>!0)}setWidth(t){this.width=parseInt(t,10)}getWidth(){return this.visible?this.width:!1}}class nn extends Qe{constructor(t){super(t)}}function on(){function n(t){const o=[];return t.reduce((a,s)=>(s.children&&s.children.length>0?a.push(new be(s)):a.push(new nn(s)),a),o),o}return{buildResponseToolbarItems:n}}const{buildResponseToolbarItems:an}=on();class be extends Qe{constructor(o){super(o);L(this,"placement","");L(this,"dropdownClass","");L(this,"menuClass","");L(this,"split",!1);L(this,"children",[]);L(this,"expanded",!1);const a=["isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(o).filter(s=>a.indexOf(s)>-1).forEach(s=>{this[s]=o[s]}),o.children&&o.children.length&&(this.children=an(o.children))}}function sn(){function n(o){const a={"f-icon":!0};if(o.icon){const s=o.icon.trim().split(" ");s&&s.length&&s.reduce((l,r)=>(l[r]=!0,l),a)}return a}function t(o){return!!(o.icon&&o.icon.trim())}return{iconClass:n,shouldShowIcon:t}}function rn(n,t){const o=e.inject("design-item-context"),a=e.inject("toolbar-item-handler",()=>{});function s(){a&&a()}function l(g){const i={"dropdown-menu":!0};if(g.class){const y=g.menuClass.split(" ");y&&y.length&&y.reduce((N,$)=>(N[$]=!0,N),i)}return i}function r(g){const i={disabled:!g.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},y=g.dropdownClass.split(" ");return y&&y.length&&y.reduce((N,$)=>(N[$]=!0,N),i),i}function c(g){const i={disabled:!g.enable,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0},y=g.class.split(" ");return y&&y.length&&y.reduce((N,$)=>(N[$]=!0,N),i),i}let d;const u=new Map;function p(g,i,y){var $;(($=g.target)==null?void 0:$.id)===i.id&&g.stopPropagation();const N=y?y.id:"__top_item__";if(i.children&&i.children.length&&(i.expanded=!i.expanded,i.expanded?u.set(N,i):u.delete(N)),u.has(N)&&u.get(N)!==i){const O=u.get(N);O&&(O.expanded=!1)}}function m(g){g&&(g.stopPropagation(),g.preventDefault())}function C(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(i=>i.classList.remove("dgComponentFocused"));const g=document.getElementsByClassName("dgComponentSelected");Array.from(g).forEach(i=>i.classList.remove("dgComponentSelected"))}function v(g){g.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function T(g){const{buttons:i=[]}=o.schema;let y=[];i.forEach(O=>{y=y.concat(O.children||[])});const N=y.findIndex(O=>O.id===g),$=N===-1?null:y[N];return{index:N,item:$}}function h(g){const{buttons:i=[]}=o.schema,y=i.findIndex($=>$.id===g),N=y===-1?null:i[y];return{index:y,item:N}}function x(g){var N;o.schema;const{index:i,item:y}=T(g);(N=o==null?void 0:o.setupContext)==null||N.emit("selectionChange",y==null?void 0:y.type,y)}const b=function(g){const{componentType:i}=g,y=se(i,g),N=i.toLowerCase().replace("-","_");return y&&!y.id&&y.type===i&&(y.id=`${N}_${Math.random().toString().slice(2,6)}`),y},w=function(){const g={componentType:"response-toolbar-item",parentComponentInstance:t.value,targetPosition:-1};return b(g)};function E(g,i){m(g),C(),v(g),x(i.id)}function A(g,i,y){m(g);const N=i.id,$=y&&y.id,{buttons:O=[]}=o.schema;if(!$)return;const{index:B}=h($);if(B===-1)return;const{index:f}=T(N);f!==-1&&(O[B].children.splice(f,1),s())}function I(g,i,y){m(g);const N=y&&y.id,{buttons:$=[]}=o.schema;if(!N)return;const{index:O}=h(N);if(O===-1)return;const B=w(),f=Object.assign({},B,{text:i.text});$[O].children.push(f),s()}function D(g,i,y){m(g);const N=y&&y.id,{buttons:$=[]}=o.schema;if(!N)return;const{index:O}=h(N);if(O===-1)return;const B=w(),f=Object.assign({},B,{text:"按钮"});$[O].children.push(f),s()}function M(g,i){return e.createVNode("div",{class:"component-btn-group"},[e.createVNode("div",null,[e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:y=>A(y,g,i)},[e.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:y=>I(y,g,i)},[e.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增同级",ref:"appendSame",style:"width:85px!important;padding:0 5px;position:static;",onClick:y=>D(y,g,i)},[e.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),e.createVNode("span",{style:"font-size:13px;margin:auto"},[e.createTextVNode("新增同级")])])])])}function R(g){return g.children.map(i=>i.children&&i.children.length?e.createVNode("li",{class:r(i),id:i.id,onClick:y=>i.enable&&p(y,i,g)},[e.createVNode("span",{id:i.id,class:c(i),onMouseover:y=>i.enable&&p(y,i,g)},[i.text,e.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),d(i,i)]):e.createVNode("li",{class:c(i),id:i.id,onClick:y=>E(y,i)},[M(i,g),n.shouldShowIcon(i)&&e.createVNode("i",{class:n.iconClass(i)},null),i.text]))}function H(g,i,y){const N={display:g.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},$=document.getElementsByTagName("body")[0].getClientRects()[0].width,O=i,B=O==null?void 0:O.getClientRects();if(O&&B&&B.length){const{top:f,width:S,left:V,right:P,height:F}=B[0],U=Math.ceil(F+f);N.top=`${U}px`,N.left=`${V}px`;const J=g.id+"_menu",ne=i?i.querySelector("#"+J):null;if(ne){N.display==="block"&&(ne.style.display="block");const ae=ne.getBoundingClientRect();if(y){N.top=`${f-6}px`;const q=Math.ceil(S+V);N.left=`${q}px`}$-V-S<ae.width&&(N.left=`${(y?V:P)-ae.width}px`)}}return N}d=function(g,i){var O,B;const y=e.getCurrentInstance(),N=i?i.id:g.id,$=(B=(O=y==null?void 0:y.exposed)==null?void 0:O.elementRef.value)==null?void 0:B.querySelector("#"+N);return e.createVNode("ul",{class:l(g),style:H(g,$,i),id:g.id+"_menu"},[R(g)])};function k(){u.forEach(g=>{g.expanded=!1}),u.clear()}return{renderDropdownMenu:d,clearAllDropDownMenu:k}}function ln(n,t,o){const a=e.ref(n.alignment),{renderDropdownMenu:s,clearAllDropDownMenu:l}=rn(t,o),r=e.inject("design-item-context"),c=e.inject("toolbar-item-handler",()=>{});function d(){c&&c()}function u(k){const g={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":a.value==="right","f-btn-mr":a.value==="left"},i=k.dropdownClass.split(" ");return i&&i.length&&i.reduce((y,N)=>(y[N]=!0,y),g),g}function p(k){const g={btn:!0,disabled:!k.enable,"position-relative":!0,"farris-component":!0,"f-rt-btn":!0,"btn-icontext":!!(k.icon&&k.icon.trim())};if(k.class){const i=k.class.split(" ");i&&i.length&&i.reduce((y,N)=>(y[N]=!0,y),g)}return g}function m(k){k&&(k.stopPropagation(),k.preventDefault())}function C(k,g){m(k);const i=g.expanded;document.body.click(),g.expanded=!i}const v=function(k){const{componentType:g}=k,i=se(g,k),y=g.toLowerCase().replace("-","_");return i&&!i.id&&i.type===g&&(i.id=`${y}_${Math.random().toString().slice(2,6)}`),i},T=function(){const k={componentType:"response-toolbar-item",parentComponentInstance:o.value,targetPosition:-1};return v(k)};function h(k){const g=r.schema.buttons||r.schema.contents,i=g==null?void 0:g.findIndex(N=>N.id===k),y=i===-1?null:g[i];return{index:i,toolbarItem:y}}function x(k,g){var B;const{index:i,toolbarItem:y}=h(g);if(i===-1)return;const N=y.text||"按钮",$=T(),O=Object.assign({},$,{text:N});(B=r.schema.buttons)==null||B.push(O),d()}function b(k,g){const{index:i,toolbarItem:y}=h(g);if(i===-1)return;const N=y.text||"按钮",$=T(),O=Object.assign({},$,{text:N}),B=r.schema.buttons[i].children||[];B.push(O),r.schema.buttons[i].children=B,d()}function w(k,g){const i=r.schema.buttons||r.schema.contents,y=i==null?void 0:i.findIndex(N=>N.id===g);y!==-1&&(i.splice(y,1),d())}function E(k){return e.createVNode("div",{class:"component-btn-group"},[e.createVNode("div",null,[e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:g=>w(g,k)},[e.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:g=>x(g,k)},[e.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增子级",ref:"appendChildButton",style:"width:85px!important;padding:0 5px;position:static;",onClick:g=>b(g,k)},[e.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),e.createVNode("span",{style:"font-size:13px;margin:auto"},[e.createTextVNode("新增子级")])])])])}function A(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(g=>g.classList.remove("dgComponentFocused"));const k=document.getElementsByClassName("dgComponentSelected");Array.from(k).forEach(g=>g.classList.remove("dgComponentSelected"))}function I(k){k.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function D(k){var N;const g=r.schema.buttons||r.schema.contents,i=g==null?void 0:g.findIndex($=>$.id===k);if(i===-1)return;const y=g[i];(N=r==null?void 0:r.setupContext)==null||N.emit("selectionChange","response-toolbar-item",y)}function M(k,g){m(k),A(),I(k),m(k),C(k,g),D(g.id)}function R(k){return e.createVNode("div",{id:k.id,class:u(k)},[e.createVNode("div",{class:p(k),style:"display: flex;padding-right: 0.1rem;",onClick:g=>k.enable&&M(g,k)},[E(k.id),t.shouldShowIcon(k)&&e.createVNode("i",{class:t.iconClass(k)},null),e.createVNode("span",null,[k.text]),e.createVNode("i",{class:"f-icon f-icon-arrow-chevron-down",style:"display: inline-block;float: right;line-height: 1.25rem;margin-left: .25rem;margin-right: .25rem;"},null)]),s(k)])}function H(){l()}return{renderToolbarDropdown:R,clearAllDropDown:H}}class cn extends de{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getAppearancePropConfig(t),this.getBehaviorProperties(t),this.propertyConfig}getAppearancePropConfig(t){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"}}}}getBasicPropConfig(t){this.propertyConfig.categories.basic={description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"response-toolbar",value:Q["response-toolbar"].name}]}}}}}getBehaviorProperties(t){this.propertyConfig.categories.behavior={title:"行为",description:"",properties:{alignment:{title:"对齐方式",description:"The alignment of Response Toolbar Button.",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"right",name:"右对齐"},{value:"left",name:"左对齐"}]}},items:{title:"按钮",description:"The items of Response Toolbar.",type:"array",default:[],$converter:"/converter/buttons.converter",refreshPanelAfterChanged:!0}}}}}function dn(n,t){const o=n.schema;function a(p){return!1}function s(p,m){return m.text=p.label,m}function l(){return!1}function r(){return!1}function c(){return!0}function d(){return!0}function u(p){return new cn(p,t).getPropertyConfig(o)}return{canAccepts:a,checkCanAddComponent:c,checkCanDeleteComponent:r,checkCanMoveComponent:l,hideNestedPaddingInDesginerView:d,onResolveNewComponentSchema:s,getPropsConfig:u}}const un={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 pn(n,t,o){var A;const a="",s=e.ref();function l(){return!0}function r(){return!1}function c(){return!0}function d(){return!0}function u(){return!0}function p(I){if(!I||!I.value)return null;const D=e.ref(I==null?void 0:I.value.parent),M=p(D);return M||null}function m(I=t){const{componentInstance:D,designerItemElementRef:M}=I;return!D||!D.value?null:D.value.canMove||D.value.canAdd||D.value.canDelete?M:m(I.parent)}function C(I){return!!o}function v(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function T(){}function h(I,D){}function x(I){const{componentType:D}=I,M=e.inject("designer-host-service");let R=se(D,I,M);const H=D.toLowerCase().replace(/-/g,"_");return R&&!R.id&&R.type===D&&(R.id=`${H}_${Math.random().toString().slice(2,6)}`),R}function b(I){}function w(...I){return[]}function E(){}return s.value={canMove:l(),canSelectParent:r(),canAdd:d(),canDelete:c(),canNested:!u(),contents:[],elementRef:n,parent:(A=t.parent)==null?void 0:A.componentInstance,schema:t.schema,styles:a,canAccepts:C,getBelongedComponentInstance:p,getDraggableDesignItemElement:m,getDraggingDisplayText:v,getPropConfig:w,getDragScopeElement:T,onAcceptMovedChildElement:h,onChildElementMovedOut:b,addNewChildComponentSchema:x,onRemoveComponent:E,triggerBelongedComponentToMoveWhenMoved:e.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:e.ref(!1)},s}const Ze=e.defineComponent({name:"FDesignerInnerItem",props:un,emits:["selectionChange","addComponent","removeComponent"],setup(n,t){const o=e.ref(n.canMove),a=e.ref(n.canAdd),s=e.ref(n.canDelete),l=e.ref(!1),r=e.ref(n.contentKey),c=e.ref(n.childType),d=e.ref(n.childLabel),u=e.ref(n.modelValue),p=e.ref(""),m=e.ref(),C=e.inject("canvas-dragula"),v=e.ref(),T=e.inject("design-item-context"),h={designerItemElementRef:m,componentInstance:v,schema:u.value,parent:T,setupContext:t};e.provide("design-item-context",h);const x=e.computed(()=>({"farris-component":!0,"flex-fill":n.id==="root-component","position-relative":o.value||s.value,"farris-nested":l.value,"can-move":o.value,"d-none":m.value&&m.value.classList.contains("d-none")})),b=e.computed(()=>{const i={};return p.value&&p.value.split(";").reduce((y,N)=>{const[$,O]=N.split(":");return $&&(y[$]=O),y},i),i});function w(i,y){if(T&&T.schema[r.value]){const N=T.schema[r.value].findIndex($=>$.id===y.id);if(N>-1){const $=T.schema[r.value].length,O=T.schema[r.value][N%$];T.designerItemElementRef.value.querySelector(`#${O.id}-design-item`),T.schema[r.value].splice(N,1),Ne.value++,t.emit("removeComponent")}}}function E(i){if(v.value.addNewChildComponentSchema){const y={componentType:c.value,label:d.value,parentComponentInstance:v.value,targetPosition:-1},N=v.value.addNewChildComponentSchema(y);u.value[r.value].push(N),t.emit("addComponent")}}function A(){return a.value&&e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:i=>{E()}},[e.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function I(i){return s.value&&e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:e.withModifiers(y=>w(y,i),["stop"])},[e.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function D(){return o.value&&e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"移动",ref:"moveComponent"},[e.createVNode("i",{"data-dragging-icon":"true",class:"cmp_move f-icon f-icon-yxs_move"},null)])}function M(i){return e.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[e.createVNode("div",null,[A(),D(),I(i)])])}e.watch(()=>n.modelValue,i=>{u.value=i,h.schema=i});function R(i){const y=i.target;Xt(y)}function H(){var i,y;(y=(i=u.value)==null?void 0:i.contents)!=null&&y.length&&m.value&&m.value.addEventListener("scroll",R)}function k(){const i=m.value,y=e.ref(i.children[1]);return pn(y,h).value}e.onMounted(()=>{if(m.value){const i=m.value.querySelector(`[data-dragref='${u.value.id}-container']`);v.value=i&&i.componentInstance?i.componentInstance.value:k(),C&&i&&C.attachComponents(i,u.value),l.value=v.value.canNested!==void 0?v.value.canNested:l.value,a.value=v.value.canAdd!==void 0?v.value.canAdd:a.value,s.value=v.value.canDelete!==void 0?v.value.canDelete:s.value,o.value=v.value.canMove!==void 0?v.value.canMove:o.value,p.value=v.value.styles||"",m.value&&(m.value.componentInstance=v,m.value.designItemContext=h)}H(),Ne.value++}),e.onBeforeUnmount(()=>{m.value&&m.value.removeEventListener("scroll",R)});function g(i){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach($=>$.classList.remove("dgComponentFocused")),i&&(i.preventDefault(),i.stopPropagation());let y=h.designerItemElementRef;const N=m.value;if(N){const $=document.getElementsByClassName("dgComponentSelected");$&&$.length===1&&$[0]===m.value||(Array.from($).forEach(B=>B.classList.remove("dgComponentSelected")),N.classList.add("dgComponentFocused"),t.emit("selectionChange",u.value.type,u.value,n.componentId,v.value),y=v.value.getDraggableDesignItemElement(h),y&&y.value&&y.value.classList.add("dgComponentSelected"))}R({target:y==null?void 0:y.value})}return()=>e.createVNode("div",{id:`${n.id}-design-item`,ref:m,class:x.value,style:b.value,onClick:g},[M(u.value),t.slots.default&&t.slots.default()])}});class fn extends de{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getAppearanceProperties(t),this.getEventPropConfig(t),this.propertyConfig}getBasicPropConfig(t){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识00",title:"标识",type:"string",readonly:!0},type:{description:"类型",title:"类型",type:"string",readonly:!0,$converter:"/converter/type.converter"},text:{title:"文本",type:"string",description:""},icon:{title:"图标",type:"string",description:""}}}}getAppearanceProperties(t){this.propertyConfig.categories.appearance={title:"外观",properties:{class:{description:"组件的CSS样式",title:"class样式"},style:{description:"组件的内容样式",title:"style样式"}},setPropertyRelates(o,a){}}}getEventPropConfig(t){const o=[{label:"onClick",name:"点击事件"}],a=this,s=a.eventsEditorUtils.formProperties(t,a.viewModelId,o),l={};l[a.viewModelId]={type:"events-editor",editor:{initialData:s}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:l,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(r,c){const d=r.propertyValue;delete t[a.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,a.eventsEditorUtils.saveRelatedParameters(t,a.viewModelId,d.events,d))}}}}class mn extends de{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(),this.getAppearanceProperties(t),this.getbBehaviorConfig(),this.getEventPropConfig(t),this.propertyConfig}getBasicPropConfig(){this.propertyConfig.categories.basic={title:"基本信息",description:"Basic Infomation",properties:{id:{title:"标识",type:"string",description:"The identifier of a component.",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"response-toolbar-item",value:Q["response-toolbar-item"].name}]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}getbBehaviorConfig(){this.propertyConfig.categories.behavior={title:"行为",description:"Behavior",properties:{disabled:{title:"禁用",type:"boolean",description:"按钮禁用状态",refreshPanelAfterChanged:!0}}}}getAppearanceProperties(t){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"",$converter:"/converter/appearance.converter"}}}}getEventPropConfig(t){const o=[{label:"onClick",name:"点击事件"}],a=this,s=a.eventsEditorUtils.formProperties(t,a.viewModelId,o),l={};l[a.viewModelId]={type:"events-editor",editor:{initialData:s}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:l,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(r,c){const d=r.propertyValue;delete t[a.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,a.eventsEditorUtils.saveRelatedParameters(t,a.viewModelId,d.events,d))}}}}function hn(n,t){function o(c){return!1}function a(){return!1}function s(){return!0}function l(){return!1}function r(c){let d;switch(n.schema.type){case"tab-toolbar-item":d=new fn(c,t);break;default:d=new mn(c,t)}return d.getPropertyConfig(n.schema)}return{canAccepts:o,checkCanMoveComponent:a,checkCanDeleteComponent:s,checkCanAddComponent:l,getPropsConfig:r}}const gn=e.defineComponent({name:"FResponseToolbarItemDesign",props:Je,emits:["Click"],setup(n,t){e.ref(),e.ref();const o=e.ref(n.alignment),a={id:"__more_buttons__",text:"More"},s=e.ref(new be(a));e.computed(()=>s.value.children.length>0);const l=e.ref(),r=e.inject("designer-host-service"),c=e.inject("design-item-context"),d=hn(c,r),u=Pe.useDesignerInnerComponent(l,c,d);e.inject("toolbar-item-handler",()=>{}),e.onMounted(()=>{l.value.componentInstance=u}),t.expose(u.value);function p(){const v={"f-icon":!0},T=n.icon?n.icon.trim():"";return Ce.getCustomClass(v,T)}function m(){return!!(n.icon&&n.icon.trim())}function C(){const v={btn:!0,"f-rt-btn":!0,"f-btn-ml":o.value==="right","f-btn-mr":o.value==="left","btn-icontext":!!(n.icon&&n.icon.trim()),disabled:n.disabled===!0};return Ce.getCustomClass(v,n.class)}return()=>e.createVNode("div",{ref:l,"data-dragref":`${c.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[e.createVNode("button",{type:"button",class:C(),id:n.id},[m()&&e.createVNode("i",{class:p()},null),n.text])])}}),bn=e.defineComponent({name:"FResponseToolbarDesign",props:tn,emits:["Click"],setup(n,t){const o=e.ref(n.items);let a=new Array(o.value.length).fill(e.ref());const s=e.ref(),l=e.ref(),r=e.ref(n.alignment),c={id:"__more_buttons__",text:"More"},d=e.ref(new be(c)),u=sn();e.computed(()=>d.value.children.length>0);const p=e.ref(),m=e.inject("designer-host-service"),C=e.inject("design-item-context"),v=dn(C,m),T=Pe.useDesignerInnerComponent(p,C,v),h=e.inject("toolbar-item-handler",()=>{});e.onMounted(()=>{p.value.componentInstance=T}),t.expose(T.value);function x(){h&&h()}const b=e.computed(()=>{const i={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return Ce.getCustomClass(i,n.customClass)}),w=e.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":r.value==="right","justify-content-start":r.value==="left"})),{renderToolbarDropdown:E,clearAllDropDown:A}=ln(n,u,T);function I(){o.value.filter(i=>i.children&&i.children.length>0).forEach(i=>{i.expanded=!1}),d.value.expanded=!1,A()}const D=new Map,M=[];function R(i){const y=l.value;let N=i;const $=Array.from(y.children),O=$[$.length-1].id==="__more_buttons__"?$[$.length-1]:null;if(O){const P=O.computedStyleMap().get("margin-left"),F=O.computedStyleMap().get("margin-right"),U=(P?P.value:0)+O.getBoundingClientRect().width+(F?F.value:0);N-=U}const B=$.filter(P=>P.id!=="__more_buttons__");for(const P of B){const F=P.computedStyleMap().get("margin-left"),U=P.computedStyleMap().get("margin-right"),J=(F?F.value:0)+P.getBoundingClientRect().width+(U?U.value:0);N<J?(D.set(P.id,!0),M.push({id:P.id,width:J})):N-=J}if(M.length)for(let P=M.length-1;P>=0;P--){const F=M[P].width;if(N>=F)N-=F,D.delete(M[P].id),M.pop();else break}const f=Object.assign({},d.value);f.children=[];const S=new be(f),V=o.value.reduce((P,F)=>(D.has(F.id)&&S.children.push(F),F.visible=!D.has(F.id),P.push(F),P),[]);d.value=S,o.value=V}const H=new ResizeObserver(i=>{if(i.length){const N=i[0].contentRect.width,O=l.value.getBoundingClientRect().width;(N<O||M.length)&&R(N)}});e.onMounted(()=>{const i=s.value;H.observe(i),document.body.addEventListener("click",I)}),e.onUnmounted(()=>{H.disconnect(),document.body.removeEventListener("click",I)}),e.watch(()=>n.items,()=>{o.value=n.items},{deep:!0}),e.watch(o,i=>{a=new Array(o.value.length).fill(e.ref())});function k(i,y,N,$){C&&C.setupContext&&C.setupContext.emit("selectionChange",i,y,N,$)}function g(){const i=l.value.querySelector(".dgComponentFocused.dgComponentSelected");i==null||i.classList.remove("dgComponentSelected"),i==null||i.classList.remove("dgComponentFocused"),x()}return()=>e.createVNode("div",{ref:p,"data-dragref":`${C.schema.id}-container`,class:b.value},[e.createVNode("div",{ref:s,class:w.value},[e.createVNode("div",{ref:l,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[o.value.map((i,y)=>e.createVNode(Ze,{ref:a[y],class:"p-0 display-inline-block",modelValue:i,"onUpdate:modelValue":N=>i=N,canMove:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:n.componentId,id:i.id,style:"padding:0 !important;display:inline-block",onSelectionChange:k,onRemoveComponent:g},{default:()=>{var N;return[e.createVNode(gn,{id:i.id,disabled:i.disabled,text:i.text,icon:i.icon,class:((N=i.appearance)==null?void 0:N.class)||"btn-secondary",alignment:n.alignment||"right",componentId:n.componentId},null)]}}))])])])}});function yn(n,t,o,a,s){const{toolbarItems:l,toolbarSchema:r,changeToolbarItems:c}=n;function d(p,m,C,v){var T;(T=a.setupContext)==null||T.emit("selectionChange",p,m,C,v)}function u(){c()}return e.createVNode("div",{class:"farris-tabs-toolbar"},[e.createVNode("div",{class:"farris-tabs-inline-flex w-100",style:"flex:1"},[e.createVNode(Ze,{modelValue:r.value,"onUpdate:modelValue":p=>r.value=p,class:"w-100 position-relative",canAdd:!0,childType:"tab-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:r.value.id,onSelectionChange:d,componentId:s,onAddComponent:u},{default:()=>[e.createVNode(bn,{items:l.value,componentId:s},null)]})])])}const vn=e.defineComponent({name:"FTabsDesign",props:xe,emits:["tabChange","tabRemove"],setup(n,t){const o=e.ref(),a=e.inject("designer-host-service"),s=e.inject("design-item-context"),l=Ut(s,a),r=Ue(o,s,l),c=e.ref(n.tabType),d=e.shallowRef(),u=e.shallowRef(),p=Yt(n,t,d,s),{activeId:m,changeTitleStyle:C,tabPages:v,addTab:T,updateTab:h,selectTabByTabId:x,toolbarItems:b,listenTabNavElementScroll:w,toolbarSchema:E,setHorizontalScrollbarPosition:A}=p,I=ze(n,u,p),D=Fe(n,d,I,p),{previousButtonClass:M,nextButtonClass:R,nextButtonGroupClass:H,scrollTab:k,updateNavigationLayout:g}=D,i=He(n,p),{hideDropDown:y}=i,N=qt(n,d,D,I,p,r),$=N,O=Ae(n,d,D,I,p),B=new Map([["default",N],["one-page",$],["pills",O]]);e.computed(()=>{const W=v.value.find(Y=>Y.props.id===m.value);return W==null?void 0:W.slots});const f=e.computed(()=>{const W=v.value.find(K=>K.props.id===m.value);return(W==null?void 0:W.props.toolbarPosition)==="inHead"});e.provide("tabs",{activeId:m,addTab:T,updateTab:h,tabPages:v,tabType:c});function S(){const W=r.value.schema.contents||[];return W.length<1?null:W.find(K=>K.id===m.value)}function V(){var Y;const W=S();b.value=[...(Y=W==null?void 0:W.toolbar)==null?void 0:Y.buttons],E.value=W==null?void 0:W.toolbar,e.nextTick(()=>{A()})}e.provide("toolbar-item-handler",V);const P=e.computed(()=>n.fill||n.tabType==="fill"),F=e.computed(()=>n.tabType==="pills"),U=e.computed(()=>({"farris-tabs-header":!0,"farris-tabs-inHead":f.value,"farris-tabs-inContent":!f.value,"farris-tabs-nav-fill":P.value,"farris-tabs-nav-pills":F.value})),J=e.computed(()=>({width:f.value&&n.titleWidth?`${n.titleWidth}%`:""})),ne=e.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"}));e.onMounted(()=>{v.value.length&&(m.value=n.activeId||v.value[0].props.id,x(m.value)),e.nextTick(()=>{g()}),C(d),window.addEventListener("click",W=>{var Y;y.value||(Y=o.value)!=null&&Y.contains(W.target)||(y.value=!0)}),window.addEventListener("resize",()=>{g()}),w(),o.value.componentInstance=r});function ae(){return e.createVNode("button",{title:"left-arrow-button",type:"button",class:M.value,onClick:()=>{k(0,-1)}},null)}function q(){return e.createVNode("button",{title:"right-arrow-button",type:"button",class:R.value,onClick:()=>{k(0,1)}},null)}const{renderMorePagesButtton:G}=Le(n,i,D,p);function Z(){return!!b.value.length&&yn(p,r,l,s,n.componentId)}const le=B.get(n.tabType)||B.get("default");function Be(){var W,Y,K,ce;return e.createVNode("div",{class:U.value},[e.createVNode("div",{class:"farris-tabs-header-pre"},[(Y=(W=t.slots).headerPrefix)==null?void 0:Y.call(W)]),e.createVNode("div",{class:"farris-tabs-title scroll-tabs",style:J.value},[ae(),le&&le(),e.createVNode("div",{class:H.value},[q(),G()])]),Z(),e.createVNode("div",{class:"farris-tabs-header-post"},[(ce=(K=t.slots).headerSuffix)==null?void 0:ce.call(K)])])}function ye(){var W,Y;return e.createVNode("div",{class:"farris-tabs-content",ref:u},[(Y=(W=t.slots).default)==null?void 0:Y.call(W)])}return t.expose(r.value),r.value.updateToolbarItems=V,()=>e.createVNode("div",{class:ne.value,ref:o},[Be(),ye()])}});function Cn(n,t,o){return t?{enableAccordion:o.accordionMode}:{enableAccordion:""}}function wn(n,t){return{buttons:t.buttons,buttonPosition:t.position}}const Tn=new Map([["appearance",pe],["expanded","expandStatus"],["enableAccordion",Cn],["toolbar",wn]]);function xn(n,t,o){const a=Math.random().toString().slice(2,6),s=o.parentComponentInstance;Object.assign(t,{id:`section-${a}`,appearance:{class:"f-section-in-mainsubcard"},enableAccordion:!1,mainTitle:o.mainTitle||t.mainTitle||"标题"});const l=n.getSchemaByType("content-container");Object.assign(l,{id:`container-${a}`,appearance:{class:"f-struct-wrapper"},contents:[t]});const r=s.schema;switch(r&&r.type){case Q["splitter-pane"].type:{t.appearance.class="f-section-in-main";break}}return l}function Sn(n,t,o){return o.parentComponentInstance?xn(n,t,o):t}const Mn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/section.schema.json",title:"section",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a Section",type:"string"},type:{description:"The type string of Section component",type:"string",default:"section"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contentClass:{description:"",type:"string",default:""},contents:{description:"",type:"array",default:[]},enableAccordion:{description:"",type:"boolean",default:!1},accordionMode:{description:"",type:"string",default:"default"},enableMaximize:{description:"",type:"boolean",default:!1},expanded:{description:"",type:"boolean",default:!0},fill:{description:"",type:"boolean",default:!1},headerClass:{description:"",type:"string",default:""},size:{description:"",type:"object",properties:{width:{type:"number"},height:{type:"number"}},default:null},showHeader:{description:"",type:"string",default:!0},mainTitle:{description:"",type:"string",default:""},subTitle:{description:"",type:"string",default:""},headerContentClass:{description:"",type:"string",default:""},extendClass:{description:"",type:"string",default:""},visible:{description:"",type:"boolean",default:!0},toolbar:{description:"",type:"object",properties:{type:{type:"string",default:"SectionToolbar"},position:{type:"string",default:"inHead"},buttons:{type:"array",default:[]}},default:null}},required:["id","type","contents"]},Ke={contentClass:{type:String,default:""},customClass:{type:String,default:""},customStyle:{type:String,default:""},enableAccordion:{type:String,default:""},expandStatus:{type:Boolean,default:!0},mainTitle:{type:String,default:""},showHeader:{type:Boolean,default:!0},subTitle:{type:String,default:""},expandLabel:{type:String,default:"展开"},collapseLabel:{type:String,default:"收起"},headerClass:{type:String,default:""},enableMaximize:{type:Boolean,default:!1},headerContentClass:{type:String,default:""},extendClass:{type:String,default:""},buttons:{type:Array,default:[]},buttonPosition:{type:String,default:"inHead"},fill:{type:Boolean,default:!1}};ie(Ke,Mn,Tn,Sn);function Nn(n,t,o){let a;function s(d=1){const u=["body>.f-datagrid-settings-simple-host","body>div","body>farris-dialog>.farris-modal.show","body>.farris-modal.show","body>farris-filter-panel>.f-filter-panel-wrapper","body .f-sidebar-show>.f-sidebar-main","body>.popover.show","body>filter-row-panel>.f-datagrid-filter-panel","body>.f-section-maximize"],p=Array.from(document.body.querySelectorAll(u.join(","))).filter(C=>C).map(C=>{const{display:v,zIndex:T}=window.getComputedStyle(C);return v==="none"?0:parseInt(T,10)}).filter(C=>C);let m=Math.max(...p);return m<1040&&(m=1040),m+d}function l(){a=n.value.nextElementSibling;const d=document&&document.querySelector("body");d&&(d.appendChild(n.value),n.value.style.zIndex=s())}function r(){a?t.value.insertBefore(n.value,a):t.value.appendChild(n.value),n.value.style.zIndex=null}function c(){!n||!t.value||(o.value=!o.value,o.value?l():r())}return{onClickMaxMinIcon:c}}function et(n,t){const o=e.ref(n.buttons),a=e.computed(()=>n.buttonPosition==="inHead"?"right":"left"),s=e.computed(()=>"f-section-toolbar"+(n.buttonPosition==="inHead"?" f-section-header--toolbar":" f-section-content--toolbar")),l=e.computed(()=>n.buttons&&n.buttons.length>0&&n.buttonPosition==="inHead");function r(c){t.emit("Click",c)}return()=>l.value&&e.createVNode(ke,{customClass:s.value,items:o.value,onClick:r,alignment:a.value},null)}function Vn(n,t,o,a,s,l){e.ref(n.subTitle);const r=e.computed(()=>n.buttonPosition),c=et(n,t),{onClickMaxMinIcon:d}=Nn(a,s,l),u=e.computed(()=>!!n.subTitle),p=e.computed(()=>n.enableMaximize),m=e.computed(()=>n.enableAccordion!==""),C=e.computed(()=>{const E={"f-section-header":!0};return t.slots.header&&n.headerClass.split(" ").reduce((I,D)=>(I[D]=!0,I),E),E});function v(E){E.stopPropagation(),n.enableAccordion!==""&&(o.value=!o.value)}function T(){const E=e.computed(()=>({btn:!0,"f-btn-collapse-expand":!0,"f-btn-mx":!0,"f-state-expand":o.value})),A=e.computed(()=>({"f-icon":!0,"f-icon-maximize":!l.value,"f-icon-minimize":l.value}));return e.createVNode("div",{class:"f-max-accordion"},[p.value?e.createVNode("span",{class:A.value,onClick:d},null):"",m.value?e.createVNode("button",{class:E.value,onClick:v},[e.createVNode("span",null,[o.value?n.collapseLabel:n.expandLabel])]):""])}function h(){return t.slots.header?e.createVNode("div",{class:C.value},[t.slots.header()]):""}function x(){return e.createVNode("div",{class:"f-title",onClick:v},[e.createVNode("h4",{class:"f-title-text"},[n.mainTitle]),u.value&&e.createVNode("span",null,[n.subTitle])])}function b(){const E=e.computed(()=>{const A={"f-content":!0};return n.headerContentClass&&n.headerContentClass.split(" ").reduce((D,M)=>(D[M]=!0,D),A),A});return t.slots.headerContent?e.createVNode("div",{class:E.value},[t.slots.headerContent()]):""}function w(){return e.createVNode("div",{class:C.value},[t.slots.headerTitle?t.slots.headerTitle():x(),b(),r.value==="inHead"&&c(),(p.value||m.value)&&T()])}return()=>n.showHeader&&(t.slots.header?h():w())}const Bn=["moz","ms","webkit"];function kn(){let n=0;return t=>{const o=new Date().getTime(),a=Math.max(0,16-(o-n)),s=setTimeout(()=>{t(o+a)},a);return n=o+a,s}}function Pn(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const n=Bn.filter(t=>`${t}RequestAnimationFrame`in window)[0];return n?window[`${n}RequestAnimationFrame`]:kn()}Pn();function Ve(n,t){return((t==null?void 0:t.split(" "))||[]).reduce((a,s)=>(s&&(a[s]=!0),a),n),n}const In=e.defineComponent({name:"FSection",props:Ke,emits:[],setup(n,t){const o=e.ref(),a=e.ref(),s=e.ref(n.customClass),l=e.computed(()=>n.enableAccordion),r=e.ref(n.expandStatus),c=e.computed(()=>n.buttonPosition),d=e.ref(!1),u=Vn(n,t,r,o,a,d),p=et(n,t),m=e.computed(()=>{const x={"f-section":!0,"f-section-accordion":l.value==="default","f-state-collapse":(l.value==="default"||l.value==="custom")&&!r.value,"f-section-custom-accordion":l.value==="custom","f-section-fill":n.fill,"f-section-maximize":d.value};return Ve(x,s.value)}),C=e.computed(()=>Ve({"f-section-content":!0},n.contentClass)),v=e.computed(()=>Ve({"f-section-extend":!0},v.value));function T(){return t.slots.extend&&e.createVNode("div",{class:v.value},[t.slots.extend()])}function h(){return e.createVNode("div",{class:C.value},[c.value==="inContent"&&p(),t.slots.default&&t.slots.default()])}return e.watch(()=>n.expandStatus,(x,b)=>{x!==b&&(r.value=x)}),e.onMounted(()=>{o.value&&o.value&&(a.value=o.value.parentElement)}),()=>e.createVNode("div",{class:m.value,ref:o,style:n.customStyle},[u(),T(),h()])}});function En(){function n(t,o){var r;if(!t)return!1;const a=((r=t.targetContainer)==null?void 0:r.componentInstance)&&t.targetContainer.componentInstance.value;if(!a)return!1;const s=a.schema.type,l=o==null?void 0:o.formSchemaUtils.getComponentById(a.belongedComponentId);return!((t.componentCategory==="input"||t.componentType==="form-group")&&![Q["response-layout-item"].type,Q["response-form"].type].includes(s)||(t.componentType===Q.tabs.type||t.componentType===Q.section.type)&&((l==null?void 0:l.componentType)!=="frame"||![Q["content-container"].type,Q["splitter-pane"].type,Q["response-layout-item"].type].includes(s)))}return{basalDragulaRuleForContainer:n}}function jn(n,t){const o=new Ge,{canAccept:a}=o.getTemplateRule(n,t);function s(l){if(!En().basalDragulaRuleForContainer(l,t))return!1;const{schema:c}=n;return c.contents&&c.contents.length>0?!1:a}return{canAccepts:s}}function Dn(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!e.isVNode(n)}const Rn=e.defineComponent({name:"FTabPageDesign",props:me,emits:[],setup(n,t){const o=e.ref(),a=e.inject("design-item-context"),s=e.inject("designer-host-service"),l=jn(a,s),r=Ue(o,a,l);r.value.canNested=!1,r.value.canDelete=!1,r.value.canMove=!1,t.expose(r.value);const c=e.inject("tabs"),d=e.ref(!0),u={slots:t.slots,props:n},p=e.ref((c==null?void 0:c.tabType.value)||"default");e.onMounted(()=>{o.value.componentInstance=r;const w=c.tabPages.value.findIndex(E=>E.props.id===n.id);!w||w===-1?c==null||c.addTab(u):w>-1&&(d.value=!1,console.warn(`已经存在id为${n.id}的页签啦`))}),e.onUnmounted(()=>{});const m=e.computed(()=>(n==null?void 0:n.id)===(c==null?void 0:c.activeId.value)),C=e.computed(()=>({display:m.value?"":"none"}));e.watch(()=>n,w=>{c==null||c.updateTab({props:w,slots:t.slots})},{immediate:!0,deep:!0});function v(){var E,A;const w=(A=(E=t.slots).default)==null?void 0:A.call(E);return e.createVNode(In,{"main-title":n.title,class:"farris-tab-page"},Dn(w)?w:{default:()=>[w]})}const T=e.computed(()=>({"farris-tab-page":!0,"drag-container":!0}));function h(){var E,A;const w=(A=(E=t.slots).default)==null?void 0:A.call(E);return e.createVNode("div",{ref:o,class:T.value,"data-dragref":`${a.schema.id}-container`,style:C.value},[w])}const b=new Map([["default",h],["one-page",v]]).get(p.value)||h;return()=>d.value?b():null}}),$n=ie({text:{type:String,default:""},icon:{type:String,default:""}},{$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"},style:{type:"string"}},default:{}},text:{description:"按钮",type:"string",default:"按钮"},icon:{description:"图标",type:"string",default:""},onClick:{description:"点击事件",type:"string",default:""}},required:["id","type","text"]},Te,pt);oe.install=n=>{n.component(oe.name,oe),n.component(he.name,he)},oe.register=(n,t,o,a)=>{n.tabs=oe,n["tab-page"]=he,t.tabs=Re,t["tab-page"]=Se,a.tabs={eventHandlerResolver:Oe}},oe.registerDesigner=(n,t,o)=>{n.tabs=vn,n["tab-page"]=Rn,t.tabs=$e,t["tab-page"]=Se,t["tab-toolbar-item"]=$n},z.FTabPage=he,z.FTabs=oe,z.default=oe,z.eventHandlerResolver=Oe,z.tabPageProps=me,z.tabPagePropsResolver=Se,z.tabsDesignProps=xe,z.tabsDesignPropsResolver=$e,z.tabsProps=fe,z.tabsPropsResolver=Re,Object.defineProperties(z,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(z,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("lodash-es"),require("../capsule/index.umd.js"),require("../response-toolbar/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../section/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js"),require("bignumber.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../capsule/index.umd.js","../response-toolbar/index.umd.js","../dynamic-resolver/index.umd.js","../section/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js","bignumber.js"],e):(z=typeof globalThis<"u"?globalThis:z||self,e(z.tabs={},z.Vue,z.LodashES,z.FCapsule,z.FResponseToolbar,z.dynamicResolver,z.FSection$1,z.designerCanvas,z.common))})(this,function(z,e,ee,tt,ke,nt,ot,Pe,Ce){"use strict";var zn=Object.defineProperty;var qn=(z,e,ee)=>e in z?zn(z,e,{enumerable:!0,configurable:!0,writable:!0,value:ee}):z[e]=ee;var L=(z,e,ee)=>qn(z,typeof e!="symbol"?e+"":e,ee);const Ie={},Ee={};function we(n){const{properties:t,title:o,ignore:a}=n,s=a&&Array.isArray(a),l=Object.keys(t).reduce((r,c)=>((!s||!a.find(d=>d===c))&&(r[c]=t[c].type==="object"&&t[c].properties?we(t[c]):ee.cloneDeep(t[c].default)),r),{});if(o&&(!s||!a.find(r=>r==="id"))){const r=o.toLowerCase().replace(/-/g,"_");l.id=`${r}_${Math.random().toString().slice(2,6)}`}return l}function se(n,t={},o){const a=Ie[n];if(a){let s=we(a);const l=Ee[n];return s=l?l({getSchemaByType:se},s,t,o):s,s}return null}function at(n,t){const o=we(t);return Object.keys(o).reduce((a,s)=>(a[s]&&ee.isPlainObject(a[s])&&ee.isPlainObject(n[s]||!n[s])?Object.assign(a[s],n[s]||{}):a[s]=n[s],a),o),o}function st(n,t){return Object.keys(n).filter(a=>n[a]!=null).reduce((a,s)=>{if(t.has(s)){const l=t.get(s);if(typeof l=="string")a[l]=n[s];else{const r=l(s,n[s],n);Object.assign(a,r)}}else a[s]=n[s];return a},{})}function lt(n,t,o=new Map){const a=at(n,t);return st(a,o)}function rt(n={}){function t(u,p,m,C){if(typeof m=="number")return C[u].length===m;if(typeof m=="object"){const v=Object.keys(m)[0],T=m[v];if(v==="not")return Number(C[u].length)!==Number(T);if(v==="moreThan")return Number(C[u].length)>=Number(T);if(v==="lessThan")return Number(C[u].length)<=Number(T)}return!1}function o(u,p,m,C){return C[u]&&C[u].propertyValue&&String(C[u].propertyValue.value)===String(m)}const a=new Map([["length",t],["getProperty",o]]);Object.keys(n).reduce((u,p)=>(u.set(p,n[p]),u),a);function s(u,p){const m=u;return typeof p=="number"?[{target:m,operator:"length",param:null,value:Number(p)}]:typeof p=="boolean"?[{target:m,operator:"getProperty",param:u,value:!!p}]:typeof p=="object"?Object.keys(p).map(C=>{if(C==="length")return{target:m,operator:"length",param:null,value:p[C]};const v=C,T=p[C];return{target:m,operator:"getProperty",param:v,value:T}}):[]}function l(u){return Object.keys(u).reduce((m,C)=>{const v=s(C,u[C]);return m.push(...v),m},[])}function r(u,p){if(a.has(u.operator)){const m=a.get(u.operator);return m&&m(u.target,u.param,u.value,p)||!1}return!1}function c(u,p){return l(u).reduce((v,T)=>v&&r(T,p),!0)}function d(u,p){const m=Object.keys(u),C=m.includes("allOf"),v=m.includes("anyOf"),T=C||v,b=(T?u[T?C?"allOf":"anyOf":"allOf"]:[u]).map(E=>c(E,p));return C?!b.includes(!1):b.includes(!0)}return{parseValueSchema:d}}const Q={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},it={},ct={};rt();function ie(n,t,o=new Map,a=(r,c,d,u)=>c,s={},l=r=>r){return Ie[t.title]=t,Ee[t.title]=a,it[t.title]=s,ct[t.title]=l,(r={})=>{const c=lt(r,t,o),d=Object.keys(n).reduce((u,p)=>(u[p]=n[p].default,u),{});return Object.assign(d,c)}}function pe(n,t){return{customClass:t.class,customStyle:t.style}}function dt(){function n(t,o){const a=t.contents;if(!a||a.length<1)return null;const s=a.reduce((d,u)=>{const p=u.toolbar&&u.toolbar.buttons||[];return d.push(...p),d},[]);if(!s||s.length<1)return;const[l,r]=o.payloads,c=s.find(d=>d.id===r);return c?c.onClick||c.click:null}return{resolve:n}}const Te=new Map([["appearance",pe]]);function ut(n,t){const o=Math.random().toString().slice(2,6),a=t.parentComponentInstance,s=n.getSchemaByType("tab-page");s.id=`tab-page-${o}`;const l=n.getSchemaByType("tabs");Object.assign(l,{id:`tabs-${o}`,appearance:{class:"f-component-tabs f-tabs-has-grid"},contents:[s],activeId:s.id});const r=n.getSchemaByType("section");Object.assign(r,{id:`section-${o}`,appearance:{class:"f-section-tabs f-section-in-mainsubcard"},fill:!1,showHeader:!1,contents:[l]});const c=n.getSchemaByType("content-container");Object.assign(c,{id:`container-${o}`,appearance:{class:"f-struct-wrapper"},contents:[r]});const d=a.schema;switch(d&&d.type){case Q["splitter-pane"].type:{r.appearance.class="f-section-tabs f-section-in-main",l.appearance.class="f-component-tabs";break}}const u=a.elementRef,p=window.getComputedStyle(u);return p&&p.display==="flex"&&(c.appearance.class+=" d-block"),c}function je(n,t,o){if(o.parentComponentInstance)return ut(n,o);{const s=n.getSchemaByType("tab-page");return t.contents=[s],t}}function pt(n,t,o){return t}const De={$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",default:0},titleLength:{description:"",type:"number",default:7},fill:{description:"",type:"boolean",default:!1}},required:["id","type","contents"]},fe={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},selectedTab:{type:String,default:""},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"}},Re=ie(fe,De,Te,je),xe=Object.assign({},fe,{componentId:{type:String,default:""}}),$e=ie(xe,De,Te,je),Oe=dt();function ft(n,t,o){const a=e.ref([]),s=e.ref(n.activeId||""),l=e.ref(!0),r=e.ref([]);e.watch(()=>n.activeId,(h,x)=>{h!==x&&(s.value=h)});function c(h){const x=h.value.findIndex(b=>b.props.show!==!1&&!s.value&&!b.props.disabled);!s.value&&x!==-1&&(s.value=h.value[x].props.id)}function d(h){var b;if(n.autoTitleWidth)return;const x=(b=h.value)==null?void 0:b.querySelectorAll(".st-tab-text");if(x)for(let w=0;w<x.length;w++){const E=x[w].parentNode;x[w].scrollWidth>E.offsetWidth?x[w].classList.contains("farris-title-text-custom")||x[w].classList.add("farris-title-text-custom"):x[w].classList.remove("farris-title-text-custom")}}const u=h=>{h.preventDefault(),h.stopPropagation()};function p(h,x,b=!1){const w=a.value.findIndex(E=>E.props.id===x);a.value=a.value.filter(E=>E.props.id!==x),s.value===x&&(s.value="",c(a)),u(h),e.nextTick(()=>{d(o),b&&(l.value=!0),t.emit("tabRemove",{removeIndex:w,removeId:x,activeId:s.value})})}function m(h){const x=s.value;s.value=h;const b=a.value.find(w=>w.props.id===h);r.value=[],b&&b.props.toolbar&&b.props.toolbar.buttons&&b.props.toolbar.buttons.length&&(r.value=[...b.props.toolbar.buttons]),t.emit("update:activeId",h),t.emit("tabChange",{prevId:x,nextId:s.value})}function C(h){m(h)}function v(h){a.value.findIndex(b=>b.props.id===h.props.id)===-1&&a.value.push(h)}function T(h){a.value.findIndex(b=>b.props.id===h.props.id)!==-1&&(a.value.forEach(b=>{b.props.id===h.props.id&&(b=h)}),e.nextTick(()=>{d(o)}))}return{activeId:s,addTab:v,changeTitleStyle:d,removeTab:p,selectTab:C,selectTabByTabId:m,tabPages:a,updateTab:T,toolbarItems:r}}function mt(n,t,o,a,s){const{activeId:l,removeTab:r,selectTab:c}=s,d=e.computed(()=>({"st-tab-text":!0,"text-truncate":!0,"farris-title-auto":n.autoTitleWidth})),u=e.computed(()=>({"nav-item":!0,"d-none":t.show!==void 0?!t.show:!1,"f-state-active":t.id===l.value,"f-state-disable":t.disabled})),p=e.computed(()=>({width:`${t.tabWidth}px`})),m=e.computed(()=>({"nav-link":!0,"tabs-text-truncate":!0,active:t.id===l.value,disabled:t.disabled}));function C(w){return e.createVNode("span",{class:d.value,title:w.title},[w.title])}function v(w){return w.slots.title?w.slots.title:C}const T=v(o),h=e.ref(t.removeable);function x(){return e.createVNode("span",{class:"st-drop-close",onClick:w=>r(w,t.id),style:{opacity:.6}},[e.createVNode("i",{class:"f-icon f-icon-close"},null)])}function b(w){c(t.id),n.tabType==="one-page"&&a.scrollToByPaggId(t.id)}return e.createVNode("li",{class:u.value,style:p.value},[e.createVNode("a",{class:m.value,onClick:b},[T(t),h.value&&x()])])}function ht(n,t,o,a,s){const{shouldShowNavigationButtons:l}=o,{tabPages:r}=s,c=e.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":l.value})),d=e.computed(()=>({width:"100%","justify-content":n.justifyContent})),u=e.computed(()=>({nav:!0,"farris-nav-tabs":!0,"flex-nowrap":!0,"nav-fill":n.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()=>e.createVNode("div",{class:c.value,style:d.value},[e.createVNode("ul",{class:u.value,ref:t},[r.value.map(p=>mt(n,p.props,p,a,s))])])}function Ae(n,t,o,a,s){const l=e.ref(),{shouldShowNavigationButtons:r}=o,{activeId:c,tabPages:d,selectTab:u}=s,p=e.ref(c.value),m=e.computed(()=>d.value.map(h=>({name:h.props.title,value:h.props.id,show:h.props.show,disabled:h.props.disabled}))),C=e.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":r.value})),v=e.computed(()=>({width:"100%",display:"flex","justify-content":n.justifyContent}));e.onMounted(()=>{l.value&&(t.value=l.value.$el)});function T(h){u(h)}return e.watch(()=>c.value,h=>{h!==p.value&&(p.value=h)},{immediate:!0}),()=>e.createVNode("div",{class:C.value,style:v.value},[e.createVNode(tt,{items:m.value,modelValue:p.value,"onUpdate:modelValue":h=>p.value=h,onChange:T,ref:l},null)])}function gt(n,t,o,a){const{activeId:s,removeTab:l,tabPages:r}=a,{selectAndScrollToTab:c}=o,{hideDropDown:d,searchTabText:u}=t,p=e.ref("auto"),m=e.computed(()=>{var w,E;let b=[];return n.searchBoxVisible?b=(w=r.value)==null?void 0:w.filter(A=>A.props.title.includes(u.value)):b=(E=r.value)==null?void 0:E.slice(),b}),C=e.computed(()=>({"dropdown-menu":!0,"tabs-pt28":n.searchBoxVisible,show:!d.value}));function v(b){return{"dropdown-item":!0,"text-truncate":!0,"px-2":!0,disabled:b.props.disabled,active:b.props.id===s.value,"d-none":b.props.show!==!0}}function T(b){b.preventDefault(),b.stopPropagation()}const h=()=>({width:p.value});function x(){return e.createVNode("div",{class:C.value},[n.searchBoxVisible&&e.createVNode("div",{onClick:b=>T(b),class:"pb-1 tabs-li-absolute"},[e.withDirectives(e.createVNode("input",{title:"search-box",type:"text",class:"form-control k-textbox","onUpdate:modelValue":b=>u.value=b},null),[[e.vModelText,u.value]]),e.createVNode("span",{class:"f-icon f-icon-page-title-query tabs-icon-search"},null)]),m.value.length?e.createVNode("ul",{class:"tab-dropdown-menu--items",style:h()},[m.value.map(b=>e.createVNode("li",{class:v(b),onClick:w=>c(w,b.props)},[b.props.removeable&&e.createVNode("span",{class:"float-right st-drop-close",onClick:w=>l(w,b.props.id,!0)},[e.createVNode("i",{class:"f-icon f-icon-close"},null)]),e.createVNode("a",{class:"dropdown-title",title:b.props.title},[b.props.title])]))]):e.createVNode("div",{class:"dropdown-no-data"},[e.createTextVNode("没有相关数据")])])}return{renderDropdownMenu:x}}function Le(n,t,o,a){const{hideDropDown:s}=t,{renderDropdownMenu:l}=gt(n,t,o,a),r=e.ref(n.showDropdown);function c(){return r.value&&e.createVNode(e.Fragment,null,[e.createVNode("button",{title:"toggle-button",class:"btn dropdown-toggle-split dropdown-toggle",onClick:()=>{s.value=!1}},null),l()])}return{renderMorePagesButtton:c}}function Fe(n,t,o,a){const s=e.ref(!1),{selectTabByTabId:l,tabPages:r}=a,c=4;function d(){var b;const h=t.value,x=(b=t.value)==null?void 0:b.parentElement;s.value=x&&h&&x.offsetWidth<h.scrollWidth-c}const u=e.computed(()=>({btn:!0,"sc-nav-btn":!0,"px-1":!0,"sc-nav-lr":!0,"d-none":!s.value})),p=e.computed(()=>({"btn-group":!0,"sc-nav-btn":!0,dropdown:!0,"d-none":!s.value})),m=e.computed(()=>({btn:!0,"sc-nav-rg":!0,"d-none":!s.value}));function C(h,x){if(!t.value)return;const b=t.value.scrollLeft,w=t.value.scrollWidth-t.value.offsetWidth;if(x>0){if(t.value.scrollLeft>=w)return;t.value.scrollLeft=b+n.scrollStep+h}else if(x<0){if(t.value.scrollLeft<=0)return;t.value.scrollLeft=b-n.scrollStep-h}}function v(h){if(!s.value||!t.value)return;const x=n.tabType==="pills"?".f-capsule-item":".nav-item",b=t.value.querySelectorAll(x),{parentElement:w}=t.value,E=b[h];if(E&&w){const A=w.getBoundingClientRect().left,I=w.getBoundingClientRect().right,D=E.getBoundingClientRect().left,M=E.getBoundingClientRect().right;D<A?C(A-D,-1):I<M&&C(M-I,1),n.tabType==="one-page"&&o.scrollTo(h)}}function T(h,x){if(x.disabled)return;l(x.id);const b=r.value.findIndex(w=>w.props.id===x.id);e.nextTick(()=>{v(b)})}return{previousButtonClass:u,nextButtonGroupClass:p,nextButtonClass:m,scrollTab:C,selectAndScrollToTab:T,shouldShowNavigationButtons:s,updateNavigationLayout:d}}function He(n,t){const{tabPages:o}=t,a=e.ref(""),s=e.ref(!0),l=e.computed(()=>n.searchBoxVisible),r=e.computed(()=>l.value?o.value.filter(d=>d.props.title.includes(a.value)):o.value.slice());return{searchTabText:a,hideDropDown:s,shouldShowSearchBox:l,tabsInDropdownMenu:r}}function ze(n,t,o){const a=".farris-tab-page",{tabPages:s}=o;function l(c){const d=t.value;if(d){const u=t.value.querySelectorAll(a);if(u.length>0){const p=u[c],{offsetTop:m}=p,C=m-32>0?m-32:0;d.scrollTop=C}}}function r(c){const d=s.value.findIndex(u=>u.props.id===c);d>-1&&l(d)}return{scrollTo:l,scrollToByPaggId:r}}const oe=e.defineComponent({name:"FTabs",props:fe,emits:["tabChange","tabRemove","update:activeId","Click"],setup(n,t){const o=e.ref(n.tabType),a=e.shallowRef(),s=e.ref(n.customClass),l=e.shallowRef(),r=e.shallowRef(),c=ft(n,t,l),{activeId:d,changeTitleStyle:u,tabPages:p,addTab:m,updateTab:C,selectTabByTabId:v,toolbarItems:T}=c,h=ze(n,r,c),x=Fe(n,l,h,c),{previousButtonClass:b,nextButtonClass:w,nextButtonGroupClass:E,scrollTab:A,updateNavigationLayout:I}=x,D=He(n,c),{hideDropDown:M}=D,R=ht(n,l,x,h,c),H=R,k=Ae(n,l,x,h,c),g=new Map([["default",R],["one-page",H],["pills",k]]);e.computed(()=>{const q=p.value.find(G=>G.props.id===d.value);return q==null?void 0:q.slots});const i=e.computed(()=>{const q=p.value.find(Z=>Z.props.id===d.value);return(q==null?void 0:q.props.toolbarPosition)==="inHead"}),y=e.computed(()=>n.fill||n.tabType==="fill");e.provide("tabs",{activeId:d,addTab:m,updateTab:C,tabPages:p,tabType:o,shouldFillParentContaner:y});const N=e.computed(()=>n.tabType==="pills"),$=e.computed(()=>({"farris-tabs-header":!0,"farris-tabs-inHead":i.value,"farris-tabs-inContent":!i.value,"farris-tabs-nav-fill":y.value,"farris-tabs-nav-pills":N.value})),O=e.computed(()=>({width:i.value&&n.titleWidth?`${n.titleWidth}%`:""})),B=e.computed(()=>{const q={"farris-tabs":!0,"f-utils-fill-flex-column":y.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 s.value&&s.value.split(" ").reduce((G,Z)=>(G[Z]=!0,G),q),q});e.onMounted(()=>{p.value.length&&(d.value=n.activeId||p.value[0].props.id,v(d.value)),e.nextTick(()=>{I()}),u(l),window.addEventListener("click",q=>{var G;M.value||(G=a.value)!=null&&G.contains(q.target)||(M.value=!0)}),window.addEventListener("resize",()=>{I()})});function f(){return e.createVNode("button",{title:"left-arrow-button",type:"button",class:b.value,onClick:()=>{A(0,-1)}},null)}function S(){return e.createVNode("button",{title:"right-arrow-button",type:"button",class:w.value,onClick:()=>{A(0,1)}},null)}const{renderMorePagesButtton:V}=Le(n,D,x,c),P=(q,G)=>{t.emit("Click",q,G,d.value)};function F(){return T.value.length?e.createVNode(ke,{class:"f-utils-fill",items:T.value,onClick:P},null):null}const U=g.get(n.tabType)||g.get("default");function J(){var q,G,Z,re;return e.createVNode("div",{class:$.value},[e.createVNode("div",{class:"farris-tabs-header-pre"},[(G=(q=t.slots).headerPrefix)==null?void 0:G.call(q)]),e.createVNode("div",{class:"farris-tabs-title scroll-tabs",style:O.value},[f(),U&&U(),e.createVNode("div",{class:E.value},[S(),V()])]),F(),e.createVNode("div",{class:"farris-tabs-header-post"},[(re=(Z=t.slots).headerSuffix)==null?void 0:re.call(Z)])])}const ne=e.computed(()=>({"farris-tabs-content":!0,"f-utils-fill-flex-column":y.value}));function ae(){var q,G;return e.createVNode("div",{class:ne.value,ref:r},[(G=(q=t.slots).default)==null?void 0:G.call(q)])}return()=>e.createVNode("div",{class:B.value,ref:a},[J(),ae()])}});function bt(n,t,o){return t&&t.contents&&t.contents.length&&(t.contents.forEach(a=>{a.title&&(a.text=a.title)}),t.buttons=t.contents,delete t.contents),{toolbar:t}}const yt=new Map([["appearance",pe],["toolbar",bt]]),vt={$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"}},required:["id","type","contents"]},me={tabWidth:{type:Number,default:-1},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"}},Se=nt.createPropsResolver(me,vt,yt);function Ct(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!e.isVNode(n)}const he=e.defineComponent({name:"FTabPage",props:me,emits:[],setup(n,t){const o=e.inject("tabs"),a=e.ref(n.show),s={slots:t.slots,props:n},l=e.ref((o==null?void 0:o.tabType.value)||"default");e.onMounted(()=>{const v=o==null?void 0:o.tabPages.value.findIndex(T=>T.props.id===n.id);!v||v===-1?o==null||o.addTab(s):v>-1&&(a.value=!1,console.warn(`已经存在id为${n.id}的页签啦`))}),e.onUnmounted(()=>{});const r=e.computed(()=>(n==null?void 0:n.id)===(o==null?void 0:o.activeId.value)),c=e.computed(()=>({display:r.value?"":"none"}));e.watch(()=>n,v=>{o==null||o.updateTab({props:v,slots:t.slots})},{immediate:!0,deep:!0});function d(){var T,h;const v=(h=(T=t.slots).default)==null?void 0:h.call(T);return e.createVNode(ot,{"main-title":n.title,class:"farris-tab-page"},Ct(v)?v:{default:()=>[v]})}const u=e.computed(()=>{var T;return{"farris-tab-page":!0,"f-utils-fill-flex-column":r.value&&o&&((T=o.shouldFillParentContaner)==null?void 0:T.value)}});function p(){var T,h;const v=(h=(T=t.slots).default)==null?void 0:h.call(T);return e.createVNode("div",{class:u.value,style:c.value},[v])}const C=new Map([["default",p],["one-page",d]]).get(l.value)||p;return()=>a.value?C():null}}),wt={width:{Type:Number,default:400},type:{Type:String,default:"info"},title:{Type:String,default:""},detail:{Type:String,default:""},okButtonText:{Type:String,default:"确定"},cancelButtonText:{Type:String,default:"取消"},exceptionInfo:{Type:Object,default:null},promptEditorType:{Type:String,default:"text-area"}};function Me(){return new DOMException("The request is not allowed","NotAllowedError")}async function Tt(n){if(!navigator.clipboard)throw Me();return navigator.clipboard.writeText(n)}async function xt(n){const t=document.createElement("span");t.textContent=n,t.style.whiteSpace="pre",t.style.webkitUserSelect="auto",t.style.userSelect="all",document.body.appendChild(t);const o=window.getSelection(),a=window.document.createRange();o==null||o.removeAllRanges(),a.selectNode(t),o==null||o.addRange(a);let s=!1;try{s=window.document.execCommand("copy")}finally{o==null||o.removeAllRanges(),window.document.body.removeChild(t)}if(!s)throw Me()}async function St(n){try{await Tt(n)}catch(t){try{await xt(n)}catch(o){throw o||t||Me()}}}function Mt(){async function n(t){await St(t)}return{onCopy:n}}function Nt(n,t,o,a){const s=e.ref(14),l=e.ref(140),r=e.ref(""),c=e.ref(a.value.length),d=e.computed(()=>a.value),u=e.computed(()=>({"font-size":`${s.value}px`,height:"100%"}));function p(m){if(m.currentTarget){const C=m.currentTarget.value||"";c.value=C.length}}return()=>e.createVNode(e.Fragment,null,[e.createVNode("textarea",{title:"promptMessage",name:"promptMessage",class:"form-control",style:u.value,rows:"4",maxlength:l.value,onInput:m=>p(m)},[d.value]),e.createVNode("span",{class:"textarea-wordcount",title:r.value,style:"position: absolute; bottom: 76px; right: 32px; cursor: pointer; text-align: right;"},[c.value+" / "+l.value])])}function Vt(n,t,o,a){const s=Nt(n,t,o,a),l=new Map([["text-area",s]]);function r(c){return l.get(c)||null}return{getEditorRender:r}}function Bt(){const n=e.ref(!1),t=e.ref("复制成功");return{feedbackStyle:e.computed(()=>{const a={position:"absolute",left:"50%",top:"50%",width:"100px",height:"40px",background:"#303C53","line-height":"40px","text-align":"center","margin-left":"-30px","margin-top":"-50px","border-radius":"10px","box-shadow":"0px 2px 8px 0px",color:"#fff",transition:"all .3s ease"};return a.opacity=n.value?"0.8":"0",a.display=n.value?"":"none",a}),feedbackMessage:t,toShowFeedback:n}}function kt(n,t){const o=t.getEditorRender(n.promptEditorType);return()=>o&&o()}function Pt(n){const t=e.ref(3),o=e.ref(480),a=e.computed(()=>!!n.value&&!!n.value.date),s=e.computed(()=>`发生时间 : ${n.value&&n.value.date||""}`),l=e.computed(()=>!!n.value&&!!n.value.detail),r=e.computed(()=>{const x=`${o.value}px`;return{overflow:"hidden","text-overflow":"ellipsis",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":t.value,"max-height":x}}),c=e.computed(()=>n.value&&n.value.detail||""),d=e.computed(()=>!0),u=e.ref(!1),p=e.ref("展开"),m=e.ref("收起"),C=e.computed(()=>{const x={display:"block",color:"#2A87FF"};return x["text-align"]=u.value?"":"right",x});function v(x,b){u.value=!u.value,t.value=u.value?20:3}function T(x){return v()}function h(x){return v()}return()=>e.createVNode("div",{class:"toast-msg-detail"},[a.value&&e.createVNode("div",null,[s.value]),l.value&&e.createVNode("div",{id:"exception_error_msg",ref:"exceptionMessageRef",style:r.value},[e.createTextVNode("详细信息 : "),e.createVNode("span",{innerHTML:c.value},null)]),d.value&&e.createVNode("span",{style:C.value},[u.value&&e.createVNode("span",{onClick:T,style:"cursor: pointer;"},[m.value]),!u.value&&e.createVNode("span",{onClick:h,style:"cursor: pointer;"},[p.value])])])}function It(n){return()=>e.createVNode("p",{class:"toast-msg-detail",innerHTML:n.value},null)}function Et(n,t,o,a){const s=e.ref(n.exceptionInfo),l=e.computed(()=>{const C={"f-icon":!0},v=`f-icon-${t.value}`;return C[v]=!0,C}),r=e.computed(()=>o.value||s.value&&s.value.message),c=e.computed(()=>a.value),d=e.computed(()=>!!a.value),u=e.computed(()=>!!s.value);function p(){return u.value?Pt(s):d.value?It(c):()=>null}const m=p();return()=>e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"float-left modal-tips-iconwrap"},[e.createVNode("span",{class:l.value},null)]),e.createVNode("div",{class:"modal-tips-content"},[e.createVNode("p",{class:"toast-msg-title",innerHTML:r.value},null),m()])])}function jt(n,t,o){const{onCopy:a}=t,{toShowFeedback:s}=o,l=e.ref("复制成功"),r=e.ref("复制详细信息"),c=e.ref(n.exceptionInfo||{date:"",message:"",detail:""}),d=e.computed(()=>c.value&&c.value.detail||"");function u(p){a(d.value).catch(m=>{l.value="复制失败"}).finally(()=>{s.value=!0,setTimeout(()=>{s.value=!1},700)})}return()=>e.createVNode("span",{style:"width: 100%;color: #2A87FF;padding-left: 37px;"},[e.createVNode("span",{onClick:u,style:"cursor: pointer;"},[r.value])])}function Dt(n,t,o,a){const s=e.ref(n.type),l=e.ref([]),r=e.ref(n.exceptionInfo),c=e.ref(n.okButtonText),d=e.ref(n.cancelButtonText),u=e.ref(!0),p=e.ref(!0),m=e.computed(()=>!!(l.value&&l.value.length)),C=e.computed(()=>r.value&&r.value.date&&r.value.message&&r.value.detail),v=e.computed(()=>!(l.value&&l.value.length)&&(c.value||d.value)),T=e.computed(()=>p.value&&c.value),h=e.computed(()=>u.value&&d.value),x=jt(n,o,a);function b(E){s.value==="question"&&t.emit("reject"),t.emit("close")}function w(E){s.value==="question"&&t.emit("accept"),t.emit("close")}return()=>e.createVNode("div",{class:"modal-footer"},[C.value&&x(),v.value&&h.value&&e.createVNode("button",{type:"button",class:"btn btn-secondary btn-lg",onClick:b},[d.value]),v.value&&T.value&&e.createVNode("button",{type:"button",class:"btn btn-primary btn-lg",onClick:w},[c.value]),m.value&&l.value.length&&l.value.map(E=>e.createVNode("button",{type:"button",onClick:E.handle,class:E.class},[E.iconClass&&e.createVNode("span",{class:E.iconClass},null),E.text]))])}const ge=e.defineComponent({name:"FMessageBox",props:wt,emits:["accept","reject","close"],setup(n,t){const o=e.ref(n.type),a=e.ref(n.title),s=e.ref(n.detail),l=e.computed(()=>{const x={"modal-tips":!0,"d-flex":!0,"flex-row":!0},b=`messager-type-${o.value}`;return x[b]=!0,x}),r=e.computed(()=>{const x={};return o.value==="prompt"?x.padding="0.5rem 0.5rem 1rem 1.5rem":o.value==="error"&&(x.padding="0.5rem 1.5rem 1rem 1.5rem"),x}),c=Mt(),d=Vt(n,o,a,s),u=Bt(),{feedbackStyle:p,feedbackMessage:m}=u;function C(){return e.createVNode("div",{style:p.value},[m.value])}function v(){switch(o.value){case"prompt":return kt(n,d);default:return Et(n,o,a,s)}}const T=v(),h=Dt(n,t,c,u);return()=>e.createVNode("div",{class:"farris-messager"},[e.createVNode("section",{class:l.value,style:r.value},[T()]),h(),C()])}}),Rt={class:{type:String,default:""},title:{type:String,default:""},width:{type:Number,default:500},height:{type:Number,default:320},buttons:{type:Array,default:[]},modelValue:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showButtons:{type:Boolean,default:!0},fitContent:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showMaxButton:{type:Boolean,default:!1},minHeight:{type:Number},maxHeight:{type:Number},minWidth:{type:Number},maxWidth:{type:Number},containment:{type:Object,default:null},reiszeable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},dragHandle:{type:Object,default:null},closedCallback:{type:Function,default:null},resizeHandle:{type:Function,default:null},render:{type:Function,default:null},acceptCallback:{type:Function,default:null},rejectCallback:{type:Function,default:null},enableEsc:{type:Boolean,default:!0},enableEnter:{type:Boolean,default:!1}};class X{constructor(t,o){this.x=t,this.y=o}static getTransformInfo(t){const a=window.getComputedStyle(t).getPropertyValue("transform").replace(/[^-\d,]/g,"").split(",");if(a.length>=6){const s=parseInt(a[4],10),l=parseInt(a[5],10);return{x:s,y:l}}return{x:0,y:0}}static fromEvent(t,o=null){if(this.isMouseEvent(t))return new X(t.clientX,t.clientY);if(o===null||t.changedTouches.length===1)return new X(t.changedTouches[0].clientX,t.changedTouches[0].clientY);for(let a=0;a<t.changedTouches.length;a++)if(t.changedTouches[a].target===o)return new X(t.changedTouches[a].clientX,t.changedTouches[a].clientY)}static isMouseEvent(t){return Object.prototype.toString.apply(t).indexOf("MouseEvent")===8}static isIPosition(t){return!!t&&"x"in t&&"y"in t}static getCurrent(t){const o=new X(0,0);if(window){const a=window.getComputedStyle(t);if(a){const s=parseInt(a.getPropertyValue("left"),10),l=parseInt(a.getPropertyValue("top"),10);o.x=isNaN(s)?0:s,o.y=isNaN(l)?0:l}return o}return null}static copy(t){return new X(0,0).set(t)}get value(){return{x:this.x,y:this.y}}add(t){return this.x+=t.x,this.y+=t.y,this}subtract(t){return this.x-=t.x,this.y-=t.y,this}multiply(t){this.x*=t,this.y*=t}divide(t){this.x/=t,this.y/=t}reset(){return this.x=0,this.y=0,this}set(t){return this.x=t.x,this.y=t.y,this}}class le{constructor(t,o){this.width=t,this.height=o}static getCurrent(t){const o=new le(0,0);if(window){const a=window.getComputedStyle(t);return a&&(o.width=parseInt(a.getPropertyValue("width"),10),o.height=parseInt(a.getPropertyValue("height"),10)),o}return null}static copy(t){return new le(0,0).set(t)}set(t){return this.width=t.width,this.height=t.height,this}}function $t(n,t){const o=e.ref(),a=e.ref(),s=e.ref(),l=e.ref(),r=e.ref(),c=e.ref(),d=e.ref(),u=e.ref(),p=e.ref(),m=e.ref(),C=e.ref(),v=e.ref(),T=e.ref(n.draggable),h=e.ref(!1);function x(){const B=a.value||document.body,f=window.getComputedStyle(B);if(!f||!o.value)return;const S=X.getTransformInfo(o.value),V={};d.value&&(V.deltaL=o.value.offsetLeft-d.value.x,V.deltaT=o.value.offsetTop-d.value.y);const P=f.getPropertyValue("position");V.width=B.clientWidth,V.height=B.clientHeight,V.pr=parseInt(f.getPropertyValue("padding-right"),10),V.pb=parseInt(f.getPropertyValue("padding-bottom"),10),V.position=f.getPropertyValue("position"),P==="static"&&(B.style.position="relative"),V.translateX=S.x,V.translateY=S.y,m.value=V}function b(B){if(o.value){l.value=le.getCurrent(o.value),r.value=X.getCurrent(o.value),c.value=l.value?le.copy(l.value):null,d.value=r.value?X.copy(r.value):null,x();const f=B.target.getAttribute("type")||"";u.value={n:!!f.match(/n/),s:!!f.match(/s/),w:!!f.match(/w/),e:!!f.match(/e/)}}}function w(){var B,f,S,V;if(o.value){const P=o.value;u.value&&((u.value.n||u.value.s)&&((B=c.value)!=null&&B.height)&&(P.style.height=c.value.height+"px"),(u.value.w||u.value.e)&&((f=c.value)!=null&&f.width)&&(P.style.width=c.value.width+"px"),d.value&&((S=d.value)!=null&&S.x&&(P.style.left=d.value.x+"px"),(V=d.value)!=null&&V.y&&(P.style.top=d.value.y+"px")))}}function E(){const B=n.minHeight?n.minHeight:1,f=n.minWidth?n.minWidth:1;c.value&&d.value&&u.value&&l.value&&(c.value.height<B&&(c.value.height=B,u.value.n&&r.value&&(d.value.y=r.value.y+(l.value.height-B))),c.value.width<f&&(c.value.width=f,u.value.w&&r.value&&(d.value.x=r.value.x+(l.value.width-f))),n.maxHeight&&c.value.height>n.maxHeight&&(c.value.height=n.maxHeight,r.value&&u.value.n&&(d.value.y=r.value.y+(l.value.height-n.maxHeight))),n.maxWidth&&c.value.width>n.maxWidth&&(c.value.width=n.maxWidth,u.value.w&&r.value&&(d.value.x=r.value.x+(l.value.width-n.maxWidth))))}function A(){if(a.value){const B=m.value;if(d.value&&c.value&&u.value&&l.value){const f=B.width-B.pr-B.deltaL-B.translateX-d.value.x,S=B.height-B.pb-B.deltaT-B.translateY-d.value.y;u.value.n&&d.value.y+B.translateY<0&&r.value&&(d.value.y=-B.translateY,c.value.height=l.value.height+r.value.y+B.translateY),u.value.w&&d.value.x+B.translateX<0&&r.value&&(d.value.x=-B.translateX,c.value.width=l.value.width+r.value.x+B.translateX),c.value.width>f&&(c.value.width=f),c.value.height>S&&(c.value.height=S)}}}function I(B){if(!s.value||!l.value||!r.value||!u.value)return;B.subtract(s.value);const f=B.x,S=B.y;u.value.n?(d.value.y=r.value.y+S,c.value.height=l.value.height-S):u.value.s&&(c.value.height=l.value.height+S),u.value.e?c.value.width=l.value.width+f:u.value.w&&(c.value.width=l.value.width-f,d.value.x=r.value.x+f),A(),E(),w()}function D(B){if(!p.value)return;const f=X.fromEvent(B);f&&I(f)}function M(){if(o.value){const{width:B,height:f,x:S,y:V}=o.value.getBoundingClientRect(),P=X.getTransformInfo(o.value);return{size:{width:B,height:f},position:{x:S-P.x,y:V-P.y}}}return null}function R(B){if(o.value){const f=M();C.value=f}s.value=void 0,l.value=null,r.value=null,c.value=null,d.value=null,u.value=null,p.value=null,document.removeEventListener("mousemove",D),document.removeEventListener("mouseup",R)}function H(){document.addEventListener("mousemove",D),document.addEventListener("mouseup",R)}function k(B){B instanceof MouseEvent&&B.button===2||T.value&&(B.stopPropagation(),B.preventDefault(),s.value=X.fromEvent(B),p.value=B.target,b(B),H())}function g(B){return o.value=B,e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"fv-resizable-handle fv-resizable-n",type:"n",onMousedown:f=>k(f)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-e",type:"e",onMousedown:f=>k(f)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-s",type:"s",onMousedown:f=>k(f)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-w",type:"w",onMousedown:f=>k(f)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-ne",type:"ne",onMousedown:f=>k(f)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-se fv-resizable-diagonal",type:"se",onMousedown:f=>k(f)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-sw",type:"sw",onMousedown:f=>k(f)},null),e.createVNode("div",{class:"fv-resizable-handle fv-resizable-nw",type:"nw",onMousedown:f=>k(f)},null)])}function i(B=!0){const f=a.value||document.body,S=le.getCurrent(f),V=o.value;B&&(v.value=M(),v.value.transform=V.style.transform),S&&V&&(c.value=S,V.style.height=c.value.height-14+"px",V.style.width=c.value.width-14+"px",V.style.left="7px",V.style.top="7px",V.style.transform="",C.value={size:c.value,position:{x:0,y:0}},T.value=!1,h.value=!0)}function y(){var B,f;if(v.value){const S={width:v.value.size.width||0,height:v.value.size.height||0},V={x:(window.innerWidth-S.width)/2,y:(window.innerHeight-S.height)/2};(B=c.value)==null||B.set(S),(f=d.value)==null||f.set(V);const P=o.value;P.style.height=S.height+"px",P.style.width=S.width+"px",P.style.left=`${V.x}px`,P.style.top=`${V.y}px`,P.style.transform="",C.value={size:S,position:V},T.value=n.draggable,h.value=!1}}function N(){if(o.value){const B=le.getCurrent(o.value);if(B){const{width:f,height:S}=B;o.value.style.left=`${(window.innerWidth-f)/2}px`,o.value.style.top=`${(window.innerHeight-S)/2}px`,o.value.style.transform=""}}}function $(){const B=()=>{h.value?i(!1):N()};return window.addEventListener("resize",B),()=>{window.removeEventListener("resize",B)}}const O=$();return{renderResizeBar:g,boundingElement:a,resizedEventParam:C,maximize:i,restore:y,allowDrag:T,isMaximized:h,unWindowResizeHandle:O}}function Ot(n,t,o){const a=e.ref(),s=e.ref(n.draggable),l=e.ref(n.lockAxis),r=e.ref(),c=e.ref(),d=e.ref(!1),u=e.ref(new X(0,0)),p=e.ref(new X(0,0)),m=e.ref(new X(0,0)),C=e.ref(new X(0,0));e.watch(()=>o.value,M=>{r.value.style.cursor=M?"move":"default"});function v(M,R){if(R.tagName==="BUTTON")return!1;if(R===M)return!0;for(const H in R.children)if(Object.prototype.hasOwnProperty.call(R.children,H)&&v(M,R.children[H]))return!0;return!1}function T(){var k,g;let M=m.value.x+p.value.x,R=m.value.y+p.value.y;l.value==="x"?(M=((k=u.value)==null?void 0:k.x)||0,m.value.x=0):l.value==="y"&&(R=((g=u.value)==null?void 0:g.y)||0,m.value.y=0);const H=`translate3d(${Math.round(M)}px, ${Math.round(R)}px, 0px)`;a.value&&(a.value.style.transform=H),C.value.x=M,C.value.y=R}function h(){if(!c.value||!a.value)return null;const M=c.value.getBoundingClientRect(),R=a.value.getBoundingClientRect(),H={top:M.top<R.top,right:M.right>R.right,bottom:M.bottom>R.bottom,left:M.left<R.left};return H.top||(m.value.y-=R.top-M.top),H.bottom||(m.value.y-=R.bottom-M.bottom),H.right||(m.value.x-=R.right-M.right),H.left||(m.value.x-=R.left-M.left),T(),H}function x(M){M&&(u.value&&M.subtract(u.value),m.value.set(M),T(),h())}function b(M){d.value&&s.value&&(M.stopPropagation(),M.preventDefault(),x(X.fromEvent(M,r.value)))}function w(){var M;d.value&&(d.value=!1,p.value.add(m.value),m.value.reset(),(M=a.value)==null||M.classList.remove("ng-dragging"),document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",w))}function E(){!d.value&&r.value&&(d.value=!0,r.value.classList.add("ng-dragging"),document.addEventListener("mousemove",b),document.addEventListener("mouseup",w))}function A(){if(a.value){const M=X.getTransformInfo(a.value);p.value.set(M);return}p.value.reset()}function I(M){if(!o.value||M instanceof MouseEvent&&M.button===2)return;const R=M.target||M.srcElement;r.value!==void 0&&R&&!v(R,r.value)||s.value!==!1&&(document.body.click(),M.stopPropagation(),M.preventDefault(),u.value=X.fromEvent(M,a.value),A(),E())}function D(M,R,H){if(s.value&&R){if(M)r.value=M;else if(n.dragHandle){if(n.dragHandle instanceof HTMLElement)r.value=n.dragHandle;else if(typeof n.dragHandle=="string"){const k=R.querySelector(n.dragHandle);k&&(r.value=k)}}a.value=R,c.value=H,r.value.classList.add("ng-draggable"),r.value.addEventListener("mousedown",I)}}return{registerDraggle:D,resetTranslate:A}}function qe(n,t){if(n){const o=a=>{a.key.toLowerCase()===n.toLowerCase()&&t({event:a,key:n})};return document.addEventListener("keydown",o),()=>{document.removeEventListener("keydown",o)}}}function At(n,t){const o=e.ref(n.enableEsc);let a=null;return o.value?(a=qe("Escape",s=>{t.emit("esc",{event:s.event,type:"esc"})}),{remove:a}):null}function Lt(n,t){const o=e.ref(n.enableEnter);let a=null;return o.value?(a=qe("Enter",s=>{t.emit("enter",{event:s.event,type:"enter"})}),{remove:a}):null}const We=e.defineComponent({name:"FModal",props:Rt,emits:["update:modelValue","accept","cancel","closed","resize","esc","enter"],setup(n,t){const o=e.ref(n.width||300),a=e.ref(n.height||200),s=e.ref(n.modelValue),l=e.ref(""),r=e.ref(n.class),c=e.ref(n.fitContent),d=e.ref(n.showHeader),u=e.ref(""),p=e.ref(n.showCloseButton),m=e.ref(n.showMaxButton),C=e.ref(!1),v=e.ref(""),T=e.ref(""),h=e.ref(""),x=e.ref(n.showButtons),b=e.ref(n.title),w=e.ref(n.reiszeable),E=e.ref(n.containment||null),A=e.ref();function I(j,_){s.value=!1,t.emit("update:modelValue",!1),_!=null&&t.emit(_?"accept":"cancel"),t.emit("closed",j)}const D=[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:j=>{I(j,!1)}},{name:"accept",text:"确定",class:"btn btn-primary",handle:j=>{I(j,!0)}}],M=e.ref(n.buttons&&n.buttons.length?n.buttons:D),R=e.computed(()=>!!u.value),H=e.computed(()=>!!x.value&&!!M.value),k=e.ref(),g=e.ref(),i=e.ref(!1),{renderResizeBar:y,maximize:N,restore:$,boundingElement:O,resizedEventParam:B,allowDrag:f,unWindowResizeHandle:S}=$t(n),{registerDraggle:V}=Ot(n,t,f);e.watch(()=>n.title,(j,_)=>{j!==_&&(b.value=j)}),e.watch(()=>n.modelValue,(j,_)=>{j!==_&&(s.value=j)}),e.watch(()=>n.showHeader,(j,_)=>{j!==_&&(d.value=j)}),e.watch(()=>n.showButtons,(j,_)=>{j!==_&&(x.value=j)}),e.watch(()=>B.value,(j,_)=>{const ue=j||{},ve=_||{};JSON.stringify(ue)!==JSON.stringify(ve)&&t.emit("resize",{newSize:j,oldSize:_})});function P(){const j=document.querySelectorAll(".farris-modal").length;(!j||j-1<=0)&&document.body.classList.remove("modal-open"),A.value&&A.value.classList.remove("show")}const F=e.computed(()=>(s.value?document.body.classList.add("modal-open"):P(),s.value)),U=e.computed(()=>{const j={modal:!0,"farris-modal":!0,fade:!0};return j["f-modal-fitContent"]=!!c.value,j.show=!!F.value,j}),J=e.computed(()=>{var ue;const j={"modal-dialog":!0},_=(ue=r.value)==null?void 0:ue.split(" ");return _==null||_.reduce((ve,Hn)=>(ve[Hn]=!0,ve),j),j}),ne=e.computed(()=>({position:"absolute",top:`${(window.innerHeight-a.value)/2}px`,left:`${(window.innerWidth-o.value)/2}px`,width:`${o.value}px`,height:c.value?"auto":`${a.value}px`})),ae=e.computed(()=>({"modal-content":!0,"modal-content-has-header":d.value})),q=e.computed(()=>{const j={display:d.value?"":"none"};return j["pointer-events"]=f.value?"auto":"none",j}),G=e.computed(()=>({"f-icon":!0,modal_maximize:!0,modalrevert:i.value})),Z=e.computed(()=>({"modal-body":!0,"f-utils-flex-column":v.value==="iframe"}));function re(){return{}}const Be=e.computed(()=>{const j={textAlgin:h.value},_=re();return Object.assign(j,_)});function ye(j){if(j.stopPropagation(),i.value){i.value=!1,$();return}N(),i.value=!0}async function W(j,_){j.handle&&await j.handle(_,j)&&t.emit("closed",_)}function Y(j){j.width&&(o.value=j.width),j.height&&(a.value=j.height),j.buttons&&(M.value=j.buttons),j.title&&(b.value=j.title)}let K=null,ce=null;e.onMounted(()=>{g.value&&!E.value&&(E.value=g.value.parentElement,O.value=E.value,V(k.value,g.value,O.value)),F.value&&document.body.classList.add("modal-open"),K=At(n,t),ce=Lt(n,t)}),e.onUnmounted(()=>{P(),S&&S(),K&&K.remove(),ce&&ce.remove()}),t.expose({modalElementRef:g,updateModalOptions:Y,close:I,maxDialog:ye});function On(){return e.createVNode("ul",null,[C.value&&e.createVNode("li",{class:"f-btn-icon f-bare"},[e.createVNode("span",{class:"f-icon modal_minimize"},null)]),m.value&&e.createVNode("li",{onClick:ye,class:"f-btn-icon f-bare",style:"pointer-events: auto;"},[e.createVNode("span",{class:G.value},null)]),p.value&&e.createVNode("li",{class:"f-btn-icon f-bare",onClick:j=>I(j,!1),style:"pointer-events: auto;"},[e.createVNode("span",{class:"f-icon modal_close"},null)])])}function An(){return e.createVNode("div",{class:"modal-footer",style:Be.value},[M.value&&M.value.map(j=>e.createVNode("button",{name:j.name,type:"button",class:j.class+(j.iconClass?" btn-icontext":""),onClick:_=>{W(j,_)}},[!!j.iconClass&&e.createVNode("i",{class:j.iconClass},null),j.text]))])}function Ln(){return e.createVNode("div",{ref:k,class:"modal-header",style:q.value},[e.createVNode("div",{class:"modal-title"},[R.value&&e.createVNode("span",{class:u.value,style:"margin-right: 8px"},null),e.createVNode("span",{class:"modal-title-label"},[b.value])]),e.createVNode("div",{class:"actions"},[On()])])}function Fn(j){j.stopPropagation()}return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>[F.value&&e.createVNode(e.Transition,{name:"fade",appear:!0},{default:()=>{var j,_;return[e.createVNode("div",{class:U.value,style:"display: block",ref:A,onClick:Fn},[e.createVNode("div",{id:l.value,class:J.value,style:ne.value,ref:g},[e.createVNode("div",{class:ae.value},[d.value&&Ln(),e.createVNode("div",{class:Z.value},[(_=(j=t.slots).default)==null?void 0:_.call(j),v.value==="iframe"&&e.createVNode("iframe",{title:l.value,class:"f-utils-fill",width:"100%",frameborder:"0",src:T.value},null)]),H.value&&An()]),!c.value&&w.value&&g.value&&y(g.value)])])]}})]})}});function _e(n){if(n.content&&n.content.render)return n.content.render;if(n.render&&typeof n.render=="function")return n.render}function Ft(n){const t=document.createElement("div");t.style.display="contents";const o=e.createApp({setup(a,s){e.onUnmounted(()=>{document.body.removeChild(t)});const l=e.ref(),r=e.ref(n.class||""),c=e.ref(!!n.showButtons),d=e.ref(!!n.showHeader),u=e.ref(n.showCloseButton==null?!0:n.showCloseButton),p=e.ref(!0),m=e.ref(n.title||""),C=n.acceptCallback||(()=>{}),v=n.rejectCallback||(()=>{}),T=n.closedCallback||(w=>{}),h=n.resizeHandle||(w=>{}),x=_e(n),b=w=>{p.value=!1,o.unmount(),T(w)};return e.onMounted(()=>{}),s.expose({modalRef:l}),()=>e.createVNode(We,{ref:l,class:r.value,modelValue:p.value,"onUpdate:modelValue":w=>p.value=w,title:m.value,width:n.width,height:n.height,buttons:n.buttons,"show-header":d.value,"show-buttons":c.value,"show-close-button":u.value,"show-max-button":!1,onAccept:C,onCancel:v,fitContent:n.fitContent==null?!0:n.fitContent,onClosed:b,onResize:h},{default:()=>[x&&x(o)]})}});return document.body.appendChild(t),o.mount(t),o}class Ht{constructor(t){L(this,"appContext",null);L(this,"modalRef",e.ref());L(this,"activeModalIndex",e.ref(0));L(this,"modalRefs",{});L(this,"isUseEscCloseModal",e.ref(!1));L(this,"activeModalInstance",e.computed(()=>this.modalRefs[this.activeModalIndex.value]));this.app=t,this.appContext=t?t._context:null}getCurrentModal(){return this.activeModalInstance.value}static show(t){const o=Object.assign({title:"",showButtons:!0,showHeader:!0},t);return Ft(o)}open(t){const o=document.createDocumentFragment();t.showMaxButton&&t.fitContent&&(t.showMaxButton=!1);const a=e.shallowRef(Object.assign({title:"",showButtons:!0,showHeader:!0},t)),s=e.ref(!0),l=a.value.acceptCallback||(()=>{}),r=a.value.rejectCallback||(()=>{}),c=a.value.closedCallback||((b,w)=>{}),d=a.value.resizeHandle||(b=>{});let u;const p=_e(a.value),m=b=>{var E;s.value=!1;const w=(E=b==null?void 0:b.target)==null?void 0:E.classList.contains("modal_close");c(b,this.isUseEscCloseModal.value?"esc":w?"icon":"button")},C=b=>{m(b),u&&e.nextTick(()=>{if(this.modalRefs[this.activeModalIndex.value]&&delete this.modalRefs[this.activeModalIndex.value],e.render(null,o),u=null,this.modalRef.value=null,this.modalRefs){const w=Object.keys(this.modalRefs).map(E=>Number(E));w.length>0?this.activeModalIndex.value=Math.max(...w):this.activeModalIndex.value=0}this.isUseEscCloseModal.value=!1})},v=b=>{var w;this.isUseEscCloseModal.value=!0,this.activeModalInstance&&((w=this.activeModalInstance.value)==null||w.close(b==null?void 0:b.event))},T=()=>e.createVNode(We,e.mergeProps({ref:this.modalRef,modelValue:s.value,"onUpdate:modelValue":b=>s.value=b},a.value,{onAccept:l,onCancel:r,onClosed:C,onResize:d,onEsc:v}),{default:()=>[p&&p(this.app)]});return u=(b=>{const w=e.h(T,b);return w.appContext=this.appContext,e.render(w,o),w})({...a.value}),this.activeModalIndex.value++,this.modalRefs[this.activeModalIndex.value]=this.modalRef.value,{update:b=>{a.value={...a.value,...b},u&&e.render(e.cloneVNode(u,{...a}),o)},destroy:C,modalRef:this.activeModalInstance}}}class te{static show(t){const o=e.reactive({...t}),a=!1,s=o.type==="error"||o.type==="prompt",l=o.type==="error"?"错误提示":o.type==="prompt"&&o.title||"",r=o.acceptCallback||(()=>{}),c=o.rejectCallback||(()=>{});let d=null,u=new Ht(d);const p=()=>{d&&(d==null||d.destroy(),u=null)};d=u==null?void 0:u.open({class:"modal-message modal-message-type-info",title:l,showButtons:a,showHeader:s,width:o.width||400,fitContent:!0,showMaxButton:!1,render:()=>e.createVNode(ge,e.mergeProps(o,{onAccept:r,onReject:c,onClose:p}),null)})}static info(t,o){const a=e.reactive({type:"info",title:t,detail:o,okButtonText:"知道了",cancelButtonText:""});te.show(a)}static warning(t,o){const a=e.reactive({type:"warning",title:t,detail:o,okButtonText:"知道了",cancelButtonText:""});te.show(a)}static success(t,o){const a=e.reactive({type:"success",title:t,detail:o,okButtonText:"关闭",cancelButtonText:""});te.show(a)}static error(t,o,a){const s=e.reactive({width:500,type:"error",okButtonText:"关闭",cancelButtonText:"",exceptionInfo:{date:a,message:t,detail:o}});te.show(s)}static prompt(t,o){const a=e.reactive({type:"prompt",title:t,detail:o,okButtonText:"确定",cancelButtonText:"取消"});te.show(a)}static question(t,o,a,s){const l=e.reactive({type:"question",title:t,detail:o,okButtonText:"确定",cancelButtonText:"取消",acceptCallback:a,rejectCallback:s});te.show(l)}}ge.install=n=>{n.component(ge.name,ge),n.provide("FMessageBoxService",te)};function zt(n,t,o,a,s,l){const{activeId:r,removeTab:c,selectTab:d,removeDesignTab:u,selectDesignTab:p,addTabPageToolbar:m}=s,C=e.computed(()=>({"st-tab-text":!0,"farris-title-auto":n.autoTitleWidth})),v=e.computed(()=>{const i={"farris-component":!0,"nav-item":!0,"d-none":t.show!==void 0?!t.show:!1,"f-state-active":t.id===r.value,"f-state-disable":t.disabled};return i[`${t.id}-design-item`]=!0,i}),T=e.computed(()=>({width:`${t.tabWidth}px`})),h=e.computed(()=>({"nav-link":!0,"tabs-text-truncate":!0,active:t.id===r.value,disabled:t.disabled}));function x(i){return e.createVNode("span",{class:C.value,title:i.title},[i.title])}function b(i){return i.slots.title?i.slots.title:x}const w=b(o),E=e.ref(t.removeable);function A(){return e.createVNode("span",{class:"st-drop-close",onClick:i=>c(i,t.id)},[e.createVNode("i",{class:"f-icon f-icon-close"},null)])}function I(i){d(t.id),n.tabType==="one-page"&&a.scrollToByPaggId(t.id)}function D(i){p(i,t.id,l.value)}function M(i){te.question(`确定删除标签页【${o.props.title}】?`,"",()=>u(i,t.id),()=>{})}function R(i){m(i,t.id)}function H(){return e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:i=>M(i)},[e.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function k(){return e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增按钮",ref:"addComponent",onClick:i=>R(i)},[e.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function g(){return e.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[e.createVNode("div",null,[H(),!t.toolbar||!t.toolbar.buttons||!t.toolbar.buttons.length?k():""])])}return e.createVNode("li",{onClick:i=>D(i),class:v.value,style:T.value,id:`${t.id}-design-item`},[g(),e.createVNode("a",{class:h.value,onClick:I},[w(t),E.value&&A()])])}function qt(n,t,o,a,s,l,r){const{shouldShowNavigationButtons:c}=o,{tabPages:d}=s,u=e.computed(()=>({spacer:!0,"f-utils-fill":!0,"spacer-sides-dropdown":c.value})),p=e.computed(()=>({width:"100%","justify-content":n.justifyContent})),m=e.computed(()=>({nav:!0,"farris-nav-tabs":!0,"flex-nowrap":!0,"nav-fill":n.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"})),C=e.computed(()=>({overflow:"auto"})),v=function(T){var b;const h=se("tab-page");h.id=`tab_page_${Math.random().toString().slice(2,6)}`,(b=l.value.schema.contents)==null||b.push(h);const{selectTabByTabId:x}=s;x(h.id)};return()=>e.createVNode("div",{class:u.value,style:p.value},[e.createVNode("ul",{class:m.value,style:C.value,ref:t},[d.value.map(T=>zt(n,T.props,T,a,s,l)),e.createVNode("li",{class:"nav-item"},[e.createVNode("a",{class:"nav-link tabs-text-truncate",title:"添加页签",onClick:T=>v()},[e.createVNode("i",{class:"f-icon f-icon-plus",style:"font-size: 20px;margin: 0 auto;line-height: 24px;"},null)])])])])}function Ue(n,t,o){var A;const a=o&&o.getStyles&&o.getStyles()||"",s=o&&o.getDesignerClass&&o.getDesignerClass()||"",l=e.ref();function r(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:o&&o.checkCanMoveComponent?o.checkCanMoveComponent():!0}function c(){return!1}function d(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:o&&o.checkCanDeleteComponent?o.checkCanDeleteComponent():!0}function u(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:o&&o.hideNestedPaddingInDesginerView?o.hideNestedPaddingInDesginerView():!1}function p(I){if(!I||!I.value)return null;if(I.value.schema&&I.value.schema.type==="component")return I.value;const D=e.ref(I==null?void 0:I.value.parent),M=p(D);return M||null}function m(I=t){const{componentInstance:D,designerItemElementRef:M}=I;return!D||!D.value?null:D.value.canMove?M:m(I.parent)}function C(I){return!!o&&o.canAccepts(I)}function v(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function T(){}function h(I,D){D&&o!=null&&o.onAcceptMovedChildElement&&o.onAcceptMovedChildElement(D)}function x(I,D){const{componentType:M}=I;let R=se(M,I,D);o&&o.onResolveNewComponentSchema&&(R=o.onResolveNewComponentSchema(I,R));const H=M.toLowerCase().replace(/-/g,"_");return R&&!R.id&&R.type===M&&(R.id=`${H}_${Math.random().toString().slice(2,6)}`),R}function b(I){}function w(...I){if(o&&o.getPropsConfig)return o.getPropsConfig(...I)}function E(){o&&o.onRemoveComponent&&o.onRemoveComponent(),t!=null&&t.schema.contents&&t.schema.contents.map(I=>{var R;let D=I.id;I.type==="component-ref"&&(D=I.component);const M=n.value.querySelector(`#${D}-design-item`);(R=M==null?void 0:M.componentInstance)!=null&&R.value.onRemoveComponent&&M.componentInstance.value.onRemoveComponent()})}return l.value={canMove:r(),canSelectParent:c(),canDelete:d(),canNested:!u(),contents:t==null?void 0:t.schema.contents,elementRef:n,parent:(A=t==null?void 0:t.parent)==null?void 0:A.componentInstance,schema:t==null?void 0:t.schema,styles:a,designerClass:s,canAccepts:C,getBelongedComponentInstance:p,getDraggableDesignItemElement:m,getDraggingDisplayText:v,getPropConfig:w,getDragScopeElement:T,onAcceptMovedChildElement:h,onChildElementMovedOut:b,addNewChildComponentSchema:x,triggerBelongedComponentToMoveWhenMoved:!!o&&o.triggerBelongedComponentToMoveWhenMoved||e.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!o&&o.triggerBelongedComponentToDeleteWhenDeleted||e.ref(!1),onRemoveComponent:E},l}class Ge{getTemplateRule(t,o){const a=o==null?void 0:o.formSchemaUtils,s=a==null?void 0:a.getFormTemplateRule(),l={canAccept:!0,canDelete:!0,canMove:!0};if(!s)return l;const r=this.getComponentContext(t),{componentClassList:c}=r;return c.forEach(d=>{if(!d||!s[d])return;const{canMove:u,canDelete:p,canAccept:m}=s[d];l.canMove=l.canMove&&this.resolveRuleValue(u,r),l.canDelete=l.canDelete&&this.resolveRuleValue(p,r),l.canAccept=l.canAccept&&this.resolveRuleValue(m,r)}),l}resolveRuleValue(t,o){return typeof t=="boolean"?t:this.parseRuleValueSchema(t,o)}parseRuleValueSchema(t,o){const a=t.invalidContext||[];let s=!0;for(const l of a){if(l.firstLevelChild){if(l.firstLevelChild.class){const{firstLevelChildClassList:r}=o;if(r&&!r.includes(l.firstLevelChild.class)){s=!1;continue}}if(l.firstLevelChild.type){const{firstLevelChildSchema:r}=o;if(!r||r.type!==l.firstLevelChild.type){s=!1;continue}}}if(l.secondLevelChild){if(l.secondLevelChild.class){const{secondLevelChildClassList:r}=o;if(r&&!r.includes(l.secondLevelChild.class)){s=!1;continue}}if(l.secondLevelChild.type){const{secondLevelChildSchema:r}=o;if(!r||r.type!==l.secondLevelChild.type){s=!1;continue}}}if(l.parent){if(l.parent.class){const{parentClassList:r}=o;if(r&&!r.includes(l.parent.class)){s=!1;continue}}if(l.parent.type){const{parentSchema:r}=o;if(r&&r.type!==l.parent.type){s=!1;continue}}}s=!0;break}return!s}getComponentContext(t){var h,x,b,w;const o=t.schema,a=o.appearance&&o.appearance.class||"",s=a.split(" ")||[],l=o.contents||[],r=l.length?l[0]:null,c=r&&r.appearance?r.appearance.class:"",d=c?c.split(" "):[],u=(h=r==null?void 0:r.contents)!=null&&h.length?r==null?void 0:r.contents[0]:null,p=u&&u.appearance?u.appearance.class:"",m=p?p.split(" "):[],C=o.type==="component"?(b=(x=t.parent)==null?void 0:x.parent)==null?void 0:b.schema:(w=t.parent)==null?void 0:w.schema,v=C&&C.appearance&&C.appearance.class||"",T=v?v.split(" "):[];return{componentClass:a,componentClassList:s,childContents:l,firstLevelChildSchema:r,firstLevelChildClass:c,firstLevelChildClassList:d,secondLevelChildSchema:u,secondLevelChildClass:p,secondLevelChildClassList:m,parentSchema:C,parentClass:v,parentClassList:T}}}class de{constructor(t,o){L(this,"componentId");L(this,"viewModelId");L(this,"eventsEditorUtils");L(this,"formSchemaUtils");L(this,"formMetadataConverter");L(this,"designViewModelUtils");L(this,"designViewModelField");L(this,"controlCreatorUtils");L(this,"designerHostService");L(this,"schemaService",null);L(this,"metadataService",null);L(this,"propertyConfig",{type:"object",categories:{}});var a;this.componentId=t,this.designerHostService=o,this.eventsEditorUtils=o.eventsEditorUtils,this.formSchemaUtils=o.formSchemaUtils,this.formMetadataConverter=o.formMetadataConverter,this.viewModelId=((a=this.formSchemaUtils)==null?void 0:a.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=o.designViewModelUtils,this.controlCreatorUtils=o.controlCreatorUtils,this.metadataService=o.metadataService,this.schemaService=o.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var a;const o=t.binding&&t.binding.type==="Form"&&t.binding.field;if(o){if(!this.designViewModelField){const s=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=s.fields.find(l=>l.id===o)}t.updateOn=(a=this.designViewModelField)==null?void 0:a.updateOn}}changeFieldEditorType(t,o){}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:t.type,name:Q[t.type].name}]}}}}}getAppearanceConfig(t=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(t,o){const a=o&&o.parent&&o.parent.schema;if(!a)return;const s=a.contents.findIndex(r=>r.id===t),l=ee.cloneDeep(a.contents[s]);a.contents.splice(s,1),a.contents.splice(s,0,l)}}class Wt extends de{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getBehaviorProperties(t),this.propertyConfig}getBehaviorProperties(t){this.propertyConfig.categories.behavior={description:"",title:"行为",properties:{removeable:{description:"是否可移除",type:"boolean",title:"是否可移除"},disabled:{description:"是否禁用",type:"boolean",title:"是否禁用"},show:{description:"是否可见",type:"boolean",title:"是否可见"}}}}getBasicPropConfig(t){this.propertyConfig.categories.basic={description:"Basic Infomation",title:"基本信息",properties:{id:{description:"标签页项的标识",title:"标识",type:"string",readonly:!0},title:{description:"标签页项的标题",title:"标题",type:"string"}},setPropertyRelates(o,a){if(o)switch(o&&o.propertyID){case"title":{o.needRefreshControlTree=!0;break}}}}}}class _t extends de{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.propertyConfig.categories.basic=this.getBasicPropConfig(t),this.propertyConfig.categories.appearance=this.getAppearanceProperties(t),this.propertyConfig}getAppearanceProperties(t){return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:""},titleWidth:{description:"标题区域宽度占页面比",type:"number",title:"标题区域宽度(%)",min:0,decimals:0,max:100},autoTitleWidth:{description:"开启,则显示全部字符;关闭,最多显示7个字符",type:"boolean",title:"标题自适应宽度",defaultValue:!1},fill:{description:"flex布局下,填充满剩余部分",type:"boolean",title:"填充"}}}}}function Ut(n,t){const o=n.schema,a=new Ge,{canMove:s,canAccept:l,canDelete:r}=a.getTemplateRule(n,t);function c(C){return l}function d(){return r}function u(){return s}function p(){return!s&&!r}function m(C){var h;return(((h=document.querySelector(".dgComponentFocused"))==null?void 0:h.id)===`${o.id}-design-item`?new _t(C,t):new Wt(C,t)).getPropertyConfig(o)}return{canAccepts:c,checkCanDeleteComponent:d,checkCanMoveComponent:u,getPropsConfig:m,hideNestedPaddingInDesginerView:p}}const Ne=e.ref(0);function Gt(n,t){const o=t.getBoundingClientRect(),a=n.getBoundingClientRect(),s=a.top>=o.top,l=a.top<=o.bottom;return s&&l}function Xt(n){if(!n)return;let t;if(n.className.includes("dgComponentSelected")?t=n:t=n.querySelector(".dgComponentSelected"),!t)return;const o=t.getBoundingClientRect();if(o.width===0&&o.height===0)return;const a=t.querySelector(".component-btn-group");if(a){if(!Gt(t,n)){a.style.display="none";return}a.style.display="";const l=a.getBoundingClientRect(),r=a.querySelector("div");if(r){const c=r.getBoundingClientRect();r.style.top=l.top+"px",r.style.left=l.left-c.width+"px"}}}function Yt(n,t,o,a){const s=e.ref([]),l=e.ref(n.activeId||""),r=e.ref(!0),c=e.ref(),d=e.ref([]);function u(f){const S=f.value.findIndex(V=>V.props.show!==!1&&!l.value&&!V.props.disabled);!l.value&&S!==-1&&(l.value=f.value[S].props.id)}function p(f,S){f.classList.contains(S)||f.classList.add(S)}function m(f,S){f.classList.remove(S)}function C(f){const{parentElement:S}=f;S&&(f.scrollWidth>S.offsetWidth?p(f,"farris-title-text-custom"):m(f,"farris-title-text-custom"))}function v(f){var V;if(n.autoTitleWidth)return;const S=(V=f.value)==null?void 0:V.querySelectorAll(".st-tab-text");S&&S.forEach(P=>C(P))}const T=f=>{f.preventDefault(),f.stopPropagation()};function h(f){s.value=s.value.filter(S=>S.props.id!==f),l.value===f&&(l.value="",u(s))}function x(f,S,V=!1){const P=s.value.findIndex(F=>F.props.id===S);h(S),T(f),e.nextTick(()=>{v(o),V&&(r.value=!0),t.emit("tabRemove",{removeIndex:P,removeId:S,activeId:l.value})})}function b(){const f=s.value.find(P=>P.props.id===l.value);if(d.value=[],f&&f.props.toolbar){const P=Object.prototype.hasOwnProperty.call(f.props.toolbar,"contents")?"contents":"buttons";f.props.toolbar[P]&&f.props.toolbar[P].length&&(d.value=[...f.props.toolbar[P]])}const S=a.schema.contents,V=S==null?void 0:S.find(P=>P.id===l.value);c.value=V==null?void 0:V.toolbar}function w(f){const S=l.value;l.value=f,b(),t.emit("tabChange",{prevId:S,nextId:l.value})}function E(f){w(f)}function A(f){s.value.findIndex(V=>V.props.id===f.props.id)===-1&&s.value.push(f)}function I(f){s.value.findIndex(V=>V.props.id===f.props.id)!==-1&&(s.value.forEach(V=>{V.props.id===f.props.id&&(V=f)}),e.nextTick(()=>{v(o)}))}function D(f){f&&(f.stopPropagation(),f.preventDefault())}function M(f){var P;const S=a.designerItemElementRef.value.querySelector(".farris-tabs-content"),V=S==null?void 0:S.querySelector(`#${f}-design-item`);(P=V==null?void 0:V.componentInstance)!=null&&P.value.onRemoveComponent&&V.componentInstance.value.onRemoveComponent()}function R(f,S){var F;D(f),M(S);const V=a.schema.contents,P=V==null?void 0:V.findIndex(U=>U.id===S);P===-1||P===void 0||(V==null||V.splice(P,1),h(S),b(),(F=a==null?void 0:a.setupContext)==null||F.emit("selectionChange"),Ne.value++)}function H(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(S=>S.classList.remove("dgComponentFocused"));const f=document.getElementsByClassName("dgComponentSelected");Array.from(f).forEach(S=>S.classList.remove("dgComponentSelected"))}function k(f){f.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function g(f,S){var U;const{contents:V=[]}=a.schema,P=V==null?void 0:V.findIndex(J=>J.id===f),F=V[P];(U=a==null?void 0:a.setupContext)==null||U.emit("selectionChange",F.type,F,n.componentId,S)}function i(f,S){const V=S.getBoundingClientRect(),P=f.getBoundingClientRect(),F=P.left+P.width<=V.left+V.width,U=P.left+P.width>=V.left;return F&&U}function y(f){const S=f.querySelector(".component-btn-group");if(S){S.style.display="";const V=S.getBoundingClientRect(),P=S.querySelector("div");P&&(P.style.left=V.left-26+"px")}}function N(){o&&o.value&&o.value.addEventListener("scroll",f=>{const S=f.target.querySelector(".dgComponentSelected");if(S){const V=S.querySelector(".component-btn-group");i(S,f.target)?y(S):V&&(V.style.display="none")}})}function $(f,S,V){H(),D(f),k(f),g(S,V);const P=f.currentTarget;y(P)}function O(){if(o&&o.value){const f=o.value.querySelector(".f-state-active");if(f){const S=f.getBoundingClientRect(),V=f.parentElement.getBoundingClientRect();o.value.scrollLeft=S.left-V.left,y(f)}}}function B(f,S){D(f);const V=a.schema.contents,P=V==null?void 0:V.find(U=>U.id===S);if(!P)return;(!P.toolbar||!P.toolbar.buttons)&&(P.toolbar={buttons:[]});const F=se("tab-toolbar-item");F.id=`tab_toolbar_item_${Math.random().toString().slice(2,6)}`,F.appearance={class:"btn btn-secondary f-btn-ml"},P.toolbar.buttons.push(F),d.value=[...P.toolbar.buttons],c.value=P.toolbar,e.nextTick(()=>{O()})}return{activeId:l,addTab:A,changeTitleStyle:v,removeTab:x,selectTab:E,selectTabByTabId:w,tabPages:s,updateTab:I,toolbarItems:d,removeDesignTab:R,selectDesignTab:$,toolbarSchema:c,changeToolbarItems:b,addTabPageToolbar:B,listenTabNavElementScroll:N,setHorizontalScrollbarPosition:O}}const Jt=new Map([["buttons","items"],["appearance",pe]]);function Qt(n,t){return{class:t.class,style:t.style}}const Zt=new Map([["appearance",Qt]]);function Xe(n,t,o){return t}const Kt={$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:[]}},required:["id","type","buttons"]},en={$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:"btn-secondary"}}},alignment:{description:"对齐",type:"string",default:"right"},text:{description:"文本",type:"string",default:"按钮"},icon:{description:"图标",type:"string",default:""},disabled:{description:"禁用",type:"boolean",default:!1},onClick:{description:"点击事件",type:"string",default:""}},required:["id","type","text"]},Ye={customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]}},tn=Object.assign({},Ye,{componentId:{type:String,default:""}});ie(Ye,Kt,Jt,Xe);const Je={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:""},alignment:{Type:String,default:"right"}};ie(Je,en,Zt,Xe);class Qe{constructor(t){L(this,"id","");L(this,"class","btn-secondary");L(this,"icon","");L(this,"groupId","");L(this,"order",-1);L(this,"asDropDownTop",!1);L(this,"text","");L(this,"visible",!0);L(this,"responsed",!1);L(this,"tipsEnable",!1);L(this,"tipsText","");L(this,"width",0);L(this,"onClick",()=>{});L(this,"options");this.options=t;const o=["id","class","icon","groupId","order","asDropDownTop","text","isDP","visible","responsed","width","tipsEnable","tipsText","onClick"];Object.keys(t).filter(a=>o.indexOf(a)>-1).forEach(a=>{this[a]=t[a]})}get enable(){return Object.keys(this.options).indexOf("disabled")>-1?!this.options.disabled:e.computed(()=>!0)}setWidth(t){this.width=parseInt(t,10)}getWidth(){return this.visible?this.width:!1}}class nn extends Qe{constructor(t){super(t)}}function on(){function n(t){const o=[];return t.reduce((a,s)=>(s.children&&s.children.length>0?a.push(new be(s)):a.push(new nn(s)),a),o),o}return{buildResponseToolbarItems:n}}const{buildResponseToolbarItems:an}=on();class be extends Qe{constructor(o){super(o);L(this,"placement","");L(this,"dropdownClass","");L(this,"menuClass","");L(this,"split",!1);L(this,"children",[]);L(this,"expanded",!1);const a=["isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(o).filter(s=>a.indexOf(s)>-1).forEach(s=>{this[s]=o[s]}),o.children&&o.children.length&&(this.children=an(o.children))}}function sn(){function n(o){const a={"f-icon":!0};if(o.icon){const s=o.icon.trim().split(" ");s&&s.length&&s.reduce((l,r)=>(l[r]=!0,l),a)}return a}function t(o){return!!(o.icon&&o.icon.trim())}return{iconClass:n,shouldShowIcon:t}}function ln(n,t){const o=e.inject("design-item-context"),a=e.inject("toolbar-item-handler",()=>{});function s(){a&&a()}function l(g){const i={"dropdown-menu":!0};if(g.class){const y=g.menuClass.split(" ");y&&y.length&&y.reduce((N,$)=>(N[$]=!0,N),i)}return i}function r(g){const i={disabled:!g.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},y=g.dropdownClass.split(" ");return y&&y.length&&y.reduce((N,$)=>(N[$]=!0,N),i),i}function c(g){const i={disabled:!g.enable,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0},y=g.class.split(" ");return y&&y.length&&y.reduce((N,$)=>(N[$]=!0,N),i),i}let d;const u=new Map;function p(g,i,y){var $;(($=g.target)==null?void 0:$.id)===i.id&&g.stopPropagation();const N=y?y.id:"__top_item__";if(i.children&&i.children.length&&(i.expanded=!i.expanded,i.expanded?u.set(N,i):u.delete(N)),u.has(N)&&u.get(N)!==i){const O=u.get(N);O&&(O.expanded=!1)}}function m(g){g&&(g.stopPropagation(),g.preventDefault())}function C(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(i=>i.classList.remove("dgComponentFocused"));const g=document.getElementsByClassName("dgComponentSelected");Array.from(g).forEach(i=>i.classList.remove("dgComponentSelected"))}function v(g){g.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function T(g){const{buttons:i=[]}=o.schema;let y=[];i.forEach(O=>{y=y.concat(O.children||[])});const N=y.findIndex(O=>O.id===g),$=N===-1?null:y[N];return{index:N,item:$}}function h(g){const{buttons:i=[]}=o.schema,y=i.findIndex($=>$.id===g),N=y===-1?null:i[y];return{index:y,item:N}}function x(g){var N;o.schema;const{index:i,item:y}=T(g);(N=o==null?void 0:o.setupContext)==null||N.emit("selectionChange",y==null?void 0:y.type,y)}const b=function(g){const{componentType:i}=g,y=se(i,g),N=i.toLowerCase().replace("-","_");return y&&!y.id&&y.type===i&&(y.id=`${N}_${Math.random().toString().slice(2,6)}`),y},w=function(){const g={componentType:"response-toolbar-item",parentComponentInstance:t.value,targetPosition:-1};return b(g)};function E(g,i){m(g),C(),v(g),x(i.id)}function A(g,i,y){m(g);const N=i.id,$=y&&y.id,{buttons:O=[]}=o.schema;if(!$)return;const{index:B}=h($);if(B===-1)return;const{index:f}=T(N);f!==-1&&(O[B].children.splice(f,1),s())}function I(g,i,y){m(g);const N=y&&y.id,{buttons:$=[]}=o.schema;if(!N)return;const{index:O}=h(N);if(O===-1)return;const B=w(),f=Object.assign({},B,{text:i.text});$[O].children.push(f),s()}function D(g,i,y){m(g);const N=y&&y.id,{buttons:$=[]}=o.schema;if(!N)return;const{index:O}=h(N);if(O===-1)return;const B=w(),f=Object.assign({},B,{text:"按钮"});$[O].children.push(f),s()}function M(g,i){return e.createVNode("div",{class:"component-btn-group"},[e.createVNode("div",null,[e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:y=>A(y,g,i)},[e.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:y=>I(y,g,i)},[e.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增同级",ref:"appendSame",style:"width:85px!important;padding:0 5px;position:static;",onClick:y=>D(y,g,i)},[e.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),e.createVNode("span",{style:"font-size:13px;margin:auto"},[e.createTextVNode("新增同级")])])])])}function R(g){return g.children.map(i=>i.children&&i.children.length?e.createVNode("li",{class:r(i),id:i.id,onClick:y=>i.enable&&p(y,i,g)},[e.createVNode("span",{id:i.id,class:c(i),onMouseover:y=>i.enable&&p(y,i,g)},[i.text,e.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),d(i,i)]):e.createVNode("li",{class:c(i),id:i.id,onClick:y=>E(y,i)},[M(i,g),n.shouldShowIcon(i)&&e.createVNode("i",{class:n.iconClass(i)},null),i.text]))}function H(g,i,y){const N={display:g.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},$=document.getElementsByTagName("body")[0].getClientRects()[0].width,O=i,B=O==null?void 0:O.getClientRects();if(O&&B&&B.length){const{top:f,width:S,left:V,right:P,height:F}=B[0],U=Math.ceil(F+f);N.top=`${U}px`,N.left=`${V}px`;const J=g.id+"_menu",ne=i?i.querySelector("#"+J):null;if(ne){N.display==="block"&&(ne.style.display="block");const ae=ne.getBoundingClientRect();if(y){N.top=`${f-6}px`;const q=Math.ceil(S+V);N.left=`${q}px`}$-V-S<ae.width&&(N.left=`${(y?V:P)-ae.width}px`)}}return N}d=function(g,i){var O,B;const y=e.getCurrentInstance(),N=i?i.id:g.id,$=(B=(O=y==null?void 0:y.exposed)==null?void 0:O.elementRef.value)==null?void 0:B.querySelector("#"+N);return e.createVNode("ul",{class:l(g),style:H(g,$,i),id:g.id+"_menu"},[R(g)])};function k(){u.forEach(g=>{g.expanded=!1}),u.clear()}return{renderDropdownMenu:d,clearAllDropDownMenu:k}}function rn(n,t,o){const a=e.ref(n.alignment),{renderDropdownMenu:s,clearAllDropDownMenu:l}=ln(t,o),r=e.inject("design-item-context"),c=e.inject("toolbar-item-handler",()=>{});function d(){c&&c()}function u(k){const g={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":a.value==="right","f-btn-mr":a.value==="left"},i=k.dropdownClass.split(" ");return i&&i.length&&i.reduce((y,N)=>(y[N]=!0,y),g),g}function p(k){const g={btn:!0,disabled:!k.enable,"position-relative":!0,"farris-component":!0,"f-rt-btn":!0,"btn-icontext":!!(k.icon&&k.icon.trim())};if(k.class){const i=k.class.split(" ");i&&i.length&&i.reduce((y,N)=>(y[N]=!0,y),g)}return g}function m(k){k&&(k.stopPropagation(),k.preventDefault())}function C(k,g){m(k);const i=g.expanded;document.body.click(),g.expanded=!i}const v=function(k){const{componentType:g}=k,i=se(g,k),y=g.toLowerCase().replace("-","_");return i&&!i.id&&i.type===g&&(i.id=`${y}_${Math.random().toString().slice(2,6)}`),i},T=function(){const k={componentType:"response-toolbar-item",parentComponentInstance:o.value,targetPosition:-1};return v(k)};function h(k){const g=r.schema.buttons||r.schema.contents,i=g==null?void 0:g.findIndex(N=>N.id===k),y=i===-1?null:g[i];return{index:i,toolbarItem:y}}function x(k,g){var B;const{index:i,toolbarItem:y}=h(g);if(i===-1)return;const N=y.text||"按钮",$=T(),O=Object.assign({},$,{text:N});(B=r.schema.buttons)==null||B.push(O),d()}function b(k,g){const{index:i,toolbarItem:y}=h(g);if(i===-1)return;const N=y.text||"按钮",$=T(),O=Object.assign({},$,{text:N}),B=r.schema.buttons[i].children||[];B.push(O),r.schema.buttons[i].children=B,d()}function w(k,g){const i=r.schema.buttons||r.schema.contents,y=i==null?void 0:i.findIndex(N=>N.id===g);y!==-1&&(i.splice(y,1),d())}function E(k){return e.createVNode("div",{class:"component-btn-group"},[e.createVNode("div",null,[e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:g=>w(g,k)},[e.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:g=>x(g,k)},[e.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增子级",ref:"appendChildButton",style:"width:85px!important;padding:0 5px;position:static;",onClick:g=>b(g,k)},[e.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),e.createVNode("span",{style:"font-size:13px;margin:auto"},[e.createTextVNode("新增子级")])])])])}function A(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(g=>g.classList.remove("dgComponentFocused"));const k=document.getElementsByClassName("dgComponentSelected");Array.from(k).forEach(g=>g.classList.remove("dgComponentSelected"))}function I(k){k.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function D(k){var N;const g=r.schema.buttons||r.schema.contents,i=g==null?void 0:g.findIndex($=>$.id===k);if(i===-1)return;const y=g[i];(N=r==null?void 0:r.setupContext)==null||N.emit("selectionChange","response-toolbar-item",y)}function M(k,g){m(k),A(),I(k),m(k),C(k,g),D(g.id)}function R(k){return e.createVNode("div",{id:k.id,class:u(k)},[e.createVNode("div",{class:p(k),style:"display: flex;padding-right: 0.1rem;",onClick:g=>k.enable&&M(g,k)},[E(k.id),t.shouldShowIcon(k)&&e.createVNode("i",{class:t.iconClass(k)},null),e.createVNode("span",null,[k.text]),e.createVNode("i",{class:"f-icon f-icon-arrow-chevron-down",style:"display: inline-block;float: right;line-height: 1.25rem;margin-left: .25rem;margin-right: .25rem;"},null)]),s(k)])}function H(){l()}return{renderToolbarDropdown:R,clearAllDropDown:H}}class cn extends de{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getAppearancePropConfig(t),this.getBehaviorProperties(t),this.propertyConfig}getAppearancePropConfig(t){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"}}}}getBasicPropConfig(t){this.propertyConfig.categories.basic={description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"response-toolbar",value:Q["response-toolbar"].name}]}}}}}getBehaviorProperties(t){this.propertyConfig.categories.behavior={title:"行为",description:"",properties:{alignment:{title:"对齐方式",description:"The alignment of Response Toolbar Button.",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"right",name:"右对齐"},{value:"left",name:"左对齐"}]}},items:{title:"按钮",description:"The items of Response Toolbar.",type:"array",default:[],$converter:"/converter/buttons.converter",refreshPanelAfterChanged:!0}}}}}function dn(n,t){const o=n.schema;function a(p){return!1}function s(p,m){return m.text=p.label,m}function l(){return!1}function r(){return!1}function c(){return!0}function d(){return!0}function u(p){return new cn(p,t).getPropertyConfig(o)}return{canAccepts:a,checkCanAddComponent:c,checkCanDeleteComponent:r,checkCanMoveComponent:l,hideNestedPaddingInDesginerView:d,onResolveNewComponentSchema:s,getPropsConfig:u}}const un={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 pn(n,t,o){var A;const a="",s=e.ref();function l(){return!0}function r(){return!1}function c(){return!0}function d(){return!0}function u(){return!0}function p(I){if(!I||!I.value)return null;const D=e.ref(I==null?void 0:I.value.parent),M=p(D);return M||null}function m(I=t){const{componentInstance:D,designerItemElementRef:M}=I;return!D||!D.value?null:D.value.canMove||D.value.canAdd||D.value.canDelete?M:m(I.parent)}function C(I){return!!o}function v(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function T(){}function h(I,D){}function x(I){const{componentType:D}=I,M=e.inject("designer-host-service");let R=se(D,I,M);const H=D.toLowerCase().replace(/-/g,"_");return R&&!R.id&&R.type===D&&(R.id=`${H}_${Math.random().toString().slice(2,6)}`),R}function b(I){}function w(...I){return[]}function E(){}return s.value={canMove:l(),canSelectParent:r(),canAdd:d(),canDelete:c(),canNested:!u(),contents:[],elementRef:n,parent:(A=t.parent)==null?void 0:A.componentInstance,schema:t.schema,styles:a,canAccepts:C,getBelongedComponentInstance:p,getDraggableDesignItemElement:m,getDraggingDisplayText:v,getPropConfig:w,getDragScopeElement:T,onAcceptMovedChildElement:h,onChildElementMovedOut:b,addNewChildComponentSchema:x,onRemoveComponent:E,triggerBelongedComponentToMoveWhenMoved:e.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:e.ref(!1)},s}const Ze=e.defineComponent({name:"FDesignerInnerItem",props:un,emits:["selectionChange","addComponent","removeComponent"],setup(n,t){const o=e.ref(n.canMove),a=e.ref(n.canAdd),s=e.ref(n.canDelete),l=e.ref(!1),r=e.ref(n.contentKey),c=e.ref(n.childType),d=e.ref(n.childLabel),u=e.ref(n.modelValue),p=e.ref(""),m=e.ref(),C=e.inject("canvas-dragula"),v=e.ref(),T=e.inject("design-item-context"),h={designerItemElementRef:m,componentInstance:v,schema:u.value,parent:T,setupContext:t};e.provide("design-item-context",h);const x=e.computed(()=>({"farris-component":!0,"flex-fill":n.id==="root-component","position-relative":o.value||s.value,"farris-nested":l.value,"can-move":o.value,"d-none":m.value&&m.value.classList.contains("d-none")})),b=e.computed(()=>{const i={};return p.value&&p.value.split(";").reduce((y,N)=>{const[$,O]=N.split(":");return $&&(y[$]=O),y},i),i});function w(i,y){if(T&&T.schema[r.value]){const N=T.schema[r.value].findIndex($=>$.id===y.id);if(N>-1){const $=T.schema[r.value].length,O=T.schema[r.value][N%$];T.designerItemElementRef.value.querySelector(`#${O.id}-design-item`),T.schema[r.value].splice(N,1),Ne.value++,t.emit("removeComponent")}}}function E(i){if(v.value.addNewChildComponentSchema){const y={componentType:c.value,label:d.value,parentComponentInstance:v.value,targetPosition:-1},N=v.value.addNewChildComponentSchema(y);u.value[r.value].push(N),t.emit("addComponent")}}function A(){return a.value&&e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:i=>{E()}},[e.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function I(i){return s.value&&e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:e.withModifiers(y=>w(y,i),["stop"])},[e.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function D(){return o.value&&e.createVNode("div",{role:"button",class:"btn component-settings-button",title:"移动",ref:"moveComponent"},[e.createVNode("i",{"data-dragging-icon":"true",class:"cmp_move f-icon f-icon-yxs_move"},null)])}function M(i){return e.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[e.createVNode("div",null,[A(),D(),I(i)])])}e.watch(()=>n.modelValue,i=>{u.value=i,h.schema=i});function R(i){const y=i.target;Xt(y)}function H(){var i,y;(y=(i=u.value)==null?void 0:i.contents)!=null&&y.length&&m.value&&m.value.addEventListener("scroll",R)}function k(){const i=m.value,y=e.ref(i.children[1]);return pn(y,h).value}e.onMounted(()=>{if(m.value){const i=m.value.querySelector(`[data-dragref='${u.value.id}-container']`);v.value=i&&i.componentInstance?i.componentInstance.value:k(),C&&i&&C.attachComponents(i,u.value),l.value=v.value.canNested!==void 0?v.value.canNested:l.value,a.value=v.value.canAdd!==void 0?v.value.canAdd:a.value,s.value=v.value.canDelete!==void 0?v.value.canDelete:s.value,o.value=v.value.canMove!==void 0?v.value.canMove:o.value,p.value=v.value.styles||"",m.value&&(m.value.componentInstance=v,m.value.designItemContext=h)}H(),Ne.value++}),e.onBeforeUnmount(()=>{m.value&&m.value.removeEventListener("scroll",R)});function g(i){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach($=>$.classList.remove("dgComponentFocused")),i&&(i.preventDefault(),i.stopPropagation());let y=h.designerItemElementRef;const N=m.value;if(N){const $=document.getElementsByClassName("dgComponentSelected");$&&$.length===1&&$[0]===m.value||(Array.from($).forEach(B=>B.classList.remove("dgComponentSelected")),N.classList.add("dgComponentFocused"),t.emit("selectionChange",u.value.type,u.value,n.componentId,v.value),y=v.value.getDraggableDesignItemElement(h),y&&y.value&&y.value.classList.add("dgComponentSelected"))}R({target:y==null?void 0:y.value})}return()=>e.createVNode("div",{id:`${n.id}-design-item`,ref:m,class:x.value,style:b.value,onClick:g},[M(u.value),t.slots.default&&t.slots.default()])}});class fn extends de{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getAppearanceProperties(t),this.getEventPropConfig(t),this.propertyConfig}getBasicPropConfig(t){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识00",title:"标识",type:"string",readonly:!0},type:{description:"类型",title:"类型",type:"string",readonly:!0,$converter:"/converter/type.converter"},text:{title:"文本",type:"string",description:""},icon:{title:"图标",type:"string",description:""}}}}getAppearanceProperties(t){this.propertyConfig.categories.appearance={title:"外观",properties:{class:{description:"组件的CSS样式",title:"class样式"},style:{description:"组件的内容样式",title:"style样式"}},setPropertyRelates(o,a){}}}getEventPropConfig(t){const o=[{label:"onClick",name:"点击事件"}],a=this,s=a.eventsEditorUtils.formProperties(t,a.viewModelId,o),l={};l[a.viewModelId]={type:"events-editor",editor:{initialData:s}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:l,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(r,c){const d=r.propertyValue;delete t[a.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,a.eventsEditorUtils.saveRelatedParameters(t,a.viewModelId,d.events,d))}}}}class mn extends de{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(),this.getAppearanceProperties(t),this.getbBehaviorConfig(),this.getEventPropConfig(t),this.propertyConfig}getBasicPropConfig(){this.propertyConfig.categories.basic={title:"基本信息",description:"Basic Infomation",properties:{id:{title:"标识",type:"string",description:"The identifier of a component.",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"response-toolbar-item",value:Q["response-toolbar-item"].name}]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}getbBehaviorConfig(){this.propertyConfig.categories.behavior={title:"行为",description:"Behavior",properties:{disabled:{title:"禁用",type:"boolean",description:"按钮禁用状态",refreshPanelAfterChanged:!0}}}}getAppearanceProperties(t){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"",$converter:"/converter/appearance.converter"}}}}getEventPropConfig(t){const o=[{label:"onClick",name:"点击事件"}],a=this,s=a.eventsEditorUtils.formProperties(t,a.viewModelId,o),l={};l[a.viewModelId]={type:"events-editor",editor:{initialData:s}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:l,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(r,c){const d=r.propertyValue;delete t[a.viewModelId],d&&(d.setPropertyRelates=this.setPropertyRelates,a.eventsEditorUtils.saveRelatedParameters(t,a.viewModelId,d.events,d))}}}}function hn(n,t){function o(c){return!1}function a(){return!1}function s(){return!0}function l(){return!1}function r(c){let d;switch(n.schema.type){case"tab-toolbar-item":d=new fn(c,t);break;default:d=new mn(c,t)}return d.getPropertyConfig(n.schema)}return{canAccepts:o,checkCanMoveComponent:a,checkCanDeleteComponent:s,checkCanAddComponent:l,getPropsConfig:r}}const gn=e.defineComponent({name:"FResponseToolbarItemDesign",props:Je,emits:["Click"],setup(n,t){e.ref(),e.ref();const o=e.ref(n.alignment),a={id:"__more_buttons__",text:"More"},s=e.ref(new be(a));e.computed(()=>s.value.children.length>0);const l=e.ref(),r=e.inject("designer-host-service"),c=e.inject("design-item-context"),d=hn(c,r),u=Pe.useDesignerInnerComponent(l,c,d);e.inject("toolbar-item-handler",()=>{}),e.onMounted(()=>{l.value.componentInstance=u}),t.expose(u.value);function p(){const v={"f-icon":!0},T=n.icon?n.icon.trim():"";return Ce.getCustomClass(v,T)}function m(){return!!(n.icon&&n.icon.trim())}function C(){const v={btn:!0,"f-rt-btn":!0,"f-btn-ml":o.value==="right","f-btn-mr":o.value==="left","btn-icontext":!!(n.icon&&n.icon.trim()),disabled:n.disabled===!0};return Ce.getCustomClass(v,n.class)}return()=>e.createVNode("div",{ref:l,"data-dragref":`${c.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[e.createVNode("button",{type:"button",class:C(),id:n.id},[m()&&e.createVNode("i",{class:p()},null),n.text])])}}),bn=e.defineComponent({name:"FResponseToolbarDesign",props:tn,emits:["Click"],setup(n,t){const o=e.ref(n.items);let a=new Array(o.value.length).fill(e.ref());const s=e.ref(),l=e.ref(),r=e.ref(n.alignment),c={id:"__more_buttons__",text:"More"},d=e.ref(new be(c)),u=sn();e.computed(()=>d.value.children.length>0);const p=e.ref(),m=e.inject("designer-host-service"),C=e.inject("design-item-context"),v=dn(C,m),T=Pe.useDesignerInnerComponent(p,C,v),h=e.inject("toolbar-item-handler",()=>{});e.onMounted(()=>{p.value.componentInstance=T}),t.expose(T.value);function x(){h&&h()}const b=e.computed(()=>{const i={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return Ce.getCustomClass(i,n.customClass)}),w=e.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":r.value==="right","justify-content-start":r.value==="left"})),{renderToolbarDropdown:E,clearAllDropDown:A}=rn(n,u,T);function I(){o.value.filter(i=>i.children&&i.children.length>0).forEach(i=>{i.expanded=!1}),d.value.expanded=!1,A()}const D=new Map,M=[];function R(i){const y=l.value;let N=i;const $=Array.from(y.children),O=$[$.length-1].id==="__more_buttons__"?$[$.length-1]:null;if(O){const P=O.computedStyleMap().get("margin-left"),F=O.computedStyleMap().get("margin-right"),U=(P?P.value:0)+O.getBoundingClientRect().width+(F?F.value:0);N-=U}const B=$.filter(P=>P.id!=="__more_buttons__");for(const P of B){const F=P.computedStyleMap().get("margin-left"),U=P.computedStyleMap().get("margin-right"),J=(F?F.value:0)+P.getBoundingClientRect().width+(U?U.value:0);N<J?(D.set(P.id,!0),M.push({id:P.id,width:J})):N-=J}if(M.length)for(let P=M.length-1;P>=0;P--){const F=M[P].width;if(N>=F)N-=F,D.delete(M[P].id),M.pop();else break}const f=Object.assign({},d.value);f.children=[];const S=new be(f),V=o.value.reduce((P,F)=>(D.has(F.id)&&S.children.push(F),F.visible=!D.has(F.id),P.push(F),P),[]);d.value=S,o.value=V}const H=new ResizeObserver(i=>{if(i.length){const N=i[0].contentRect.width,O=l.value.getBoundingClientRect().width;(N<O||M.length)&&R(N)}});e.onMounted(()=>{const i=s.value;H.observe(i),document.body.addEventListener("click",I)}),e.onUnmounted(()=>{H.disconnect(),document.body.removeEventListener("click",I)}),e.watch(()=>n.items,()=>{o.value=n.items},{deep:!0}),e.watch(o,i=>{a=new Array(o.value.length).fill(e.ref())});function k(i,y,N,$){C&&C.setupContext&&C.setupContext.emit("selectionChange",i,y,N,$)}function g(){const i=l.value.querySelector(".dgComponentFocused.dgComponentSelected");i==null||i.classList.remove("dgComponentSelected"),i==null||i.classList.remove("dgComponentFocused"),x()}return()=>e.createVNode("div",{ref:p,"data-dragref":`${C.schema.id}-container`,class:b.value},[e.createVNode("div",{ref:s,class:w.value},[e.createVNode("div",{ref:l,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[o.value.map((i,y)=>e.createVNode(Ze,{ref:a[y],class:"p-0 display-inline-block",modelValue:i,"onUpdate:modelValue":N=>i=N,canMove:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:n.componentId,id:i.id,style:"padding:0 !important;display:inline-block",onSelectionChange:k,onRemoveComponent:g},{default:()=>{var N;return[e.createVNode(gn,{id:i.id,disabled:i.disabled,text:i.text,icon:i.icon,class:((N=i.appearance)==null?void 0:N.class)||"btn-secondary",alignment:n.alignment||"right",componentId:n.componentId},null)]}}))])])])}});function yn(n,t,o,a,s){const{toolbarItems:l,toolbarSchema:r,changeToolbarItems:c}=n;function d(p,m,C,v){var T;(T=a.setupContext)==null||T.emit("selectionChange",p,m,C,v)}function u(){c()}return e.createVNode("div",{class:"farris-tabs-toolbar"},[e.createVNode("div",{class:"farris-tabs-inline-flex w-100",style:"flex:1"},[e.createVNode(Ze,{modelValue:r.value,"onUpdate:modelValue":p=>r.value=p,class:"w-100 position-relative",canAdd:!0,childType:"tab-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:r.value.id,onSelectionChange:d,componentId:s,onAddComponent:u},{default:()=>[e.createVNode(bn,{items:l.value,componentId:s},null)]})])])}const vn=e.defineComponent({name:"FTabsDesign",props:xe,emits:["tabChange","tabRemove"],setup(n,t){const o=e.ref(),a=e.inject("designer-host-service"),s=e.inject("design-item-context"),l=Ut(s,a),r=Ue(o,s,l),c=e.ref(n.tabType),d=e.shallowRef(),u=e.shallowRef(),p=Yt(n,t,d,s),{activeId:m,changeTitleStyle:C,tabPages:v,addTab:T,updateTab:h,selectTabByTabId:x,toolbarItems:b,listenTabNavElementScroll:w,toolbarSchema:E,setHorizontalScrollbarPosition:A}=p,I=ze(n,u,p),D=Fe(n,d,I,p),{previousButtonClass:M,nextButtonClass:R,nextButtonGroupClass:H,scrollTab:k,updateNavigationLayout:g}=D,i=He(n,p),{hideDropDown:y}=i,N=qt(n,d,D,I,p,r),$=N,O=Ae(n,d,D,I,p),B=new Map([["default",N],["one-page",$],["pills",O]]);e.computed(()=>{const W=v.value.find(Y=>Y.props.id===m.value);return W==null?void 0:W.slots});const f=e.computed(()=>{const W=v.value.find(K=>K.props.id===m.value);return(W==null?void 0:W.props.toolbarPosition)==="inHead"});e.provide("tabs",{activeId:m,addTab:T,updateTab:h,tabPages:v,tabType:c});function S(){const W=r.value.schema.contents||[];return W.length<1?null:W.find(K=>K.id===m.value)}function V(){var Y;const W=S();b.value=[...(Y=W==null?void 0:W.toolbar)==null?void 0:Y.buttons],E.value=W==null?void 0:W.toolbar,e.nextTick(()=>{A()})}e.provide("toolbar-item-handler",V);const P=e.computed(()=>n.fill||n.tabType==="fill"),F=e.computed(()=>n.tabType==="pills"),U=e.computed(()=>({"farris-tabs-header":!0,"farris-tabs-inHead":f.value,"farris-tabs-inContent":!f.value,"farris-tabs-nav-fill":P.value,"farris-tabs-nav-pills":F.value})),J=e.computed(()=>({width:f.value&&n.titleWidth?`${n.titleWidth}%`:""})),ne=e.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"}));e.onMounted(()=>{v.value.length&&(m.value=n.activeId||v.value[0].props.id,x(m.value)),e.nextTick(()=>{g()}),C(d),window.addEventListener("click",W=>{var Y;y.value||(Y=o.value)!=null&&Y.contains(W.target)||(y.value=!0)}),window.addEventListener("resize",()=>{g()}),w(),o.value.componentInstance=r});function ae(){return e.createVNode("button",{title:"left-arrow-button",type:"button",class:M.value,onClick:()=>{k(0,-1)}},null)}function q(){return e.createVNode("button",{title:"right-arrow-button",type:"button",class:R.value,onClick:()=>{k(0,1)}},null)}const{renderMorePagesButtton:G}=Le(n,i,D,p);function Z(){return!!b.value.length&&yn(p,r,l,s,n.componentId)}const re=B.get(n.tabType)||B.get("default");function Be(){var W,Y,K,ce;return e.createVNode("div",{class:U.value},[e.createVNode("div",{class:"farris-tabs-header-pre"},[(Y=(W=t.slots).headerPrefix)==null?void 0:Y.call(W)]),e.createVNode("div",{class:"farris-tabs-title scroll-tabs",style:J.value},[ae(),re&&re(),e.createVNode("div",{class:H.value},[q(),G()])]),Z(),e.createVNode("div",{class:"farris-tabs-header-post"},[(ce=(K=t.slots).headerSuffix)==null?void 0:ce.call(K)])])}function ye(){var W,Y;return e.createVNode("div",{class:"farris-tabs-content",ref:u},[(Y=(W=t.slots).default)==null?void 0:Y.call(W)])}return t.expose(r.value),r.value.updateToolbarItems=V,()=>e.createVNode("div",{class:ne.value,ref:o},[Be(),ye()])}});function Cn(n,t,o){return t?{enableAccordion:o.accordionMode}:{enableAccordion:""}}function wn(n,t){return{buttons:t.buttons,buttonPosition:t.position}}const Tn=new Map([["appearance",pe],["expanded","expandStatus"],["enableAccordion",Cn],["toolbar",wn]]);function xn(n,t,o){const a=Math.random().toString().slice(2,6),s=o.parentComponentInstance;Object.assign(t,{id:`section-${a}`,appearance:{class:"f-section-in-mainsubcard"},enableAccordion:!1,mainTitle:o.mainTitle||t.mainTitle||"标题"});const l=n.getSchemaByType("content-container");Object.assign(l,{id:`container-${a}`,appearance:{class:"f-struct-wrapper"},contents:[t]});const r=s.schema;switch(r&&r.type){case Q["splitter-pane"].type:{t.appearance.class="f-section-in-main";break}}const c=s.elementRef,d=window.getComputedStyle(c);return d&&d.display==="flex"&&(l.appearance.class+=" d-block"),l}function Sn(n,t,o){return o.parentComponentInstance?xn(n,t,o):t}const Mn={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/section.schema.json",title:"section",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a Section",type:"string"},type:{description:"The type string of Section component",type:"string",default:"section"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},contentClass:{description:"",type:"string",default:""},contents:{description:"",type:"array",default:[]},enableAccordion:{description:"",type:"boolean",default:!1},accordionMode:{description:"",type:"string",default:"default"},enableMaximize:{description:"",type:"boolean",default:!1},expanded:{description:"",type:"boolean",default:!0},fill:{description:"",type:"boolean",default:!1},headerClass:{description:"",type:"string",default:""},size:{description:"",type:"object",properties:{width:{type:"number"},height:{type:"number"}},default:null},showHeader:{description:"",type:"string",default:!0},mainTitle:{description:"",type:"string",default:""},subTitle:{description:"",type:"string",default:""},headerContentClass:{description:"",type:"string",default:""},extendClass:{description:"",type:"string",default:""},visible:{description:"",type:"boolean",default:!0},toolbar:{description:"",type:"object",properties:{type:{type:"string",default:"section-toolbar"},position:{type:"string",default:"inHead"},buttons:{type:"array",default:[]}},default:null}},required:["id","type","contents"]},Ke={contentClass:{type:String,default:""},customClass:{type:String,default:""},customStyle:{type:String,default:""},enableAccordion:{type:String,default:""},expandStatus:{type:Boolean,default:!0},mainTitle:{type:String,default:""},showHeader:{type:Boolean,default:!0},subTitle:{type:String,default:""},expandLabel:{type:String,default:"展开"},collapseLabel:{type:String,default:"收起"},headerClass:{type:String,default:""},enableMaximize:{type:Boolean,default:!1},headerContentClass:{type:String,default:""},extendClass:{type:String,default:""},buttons:{type:Array,default:[]},buttonPosition:{type:String,default:"inHead"},fill:{type:Boolean,default:!1}};ie(Ke,Mn,Tn,Sn);function Nn(n,t,o){let a;function s(d=1){const u=["body>.f-datagrid-settings-simple-host","body>div","body>farris-dialog>.farris-modal.show","body>.farris-modal.show","body>farris-filter-panel>.f-filter-panel-wrapper","body .f-sidebar-show>.f-sidebar-main","body>.popover.show","body>filter-row-panel>.f-datagrid-filter-panel","body>.f-section-maximize"],p=Array.from(document.body.querySelectorAll(u.join(","))).filter(C=>C).map(C=>{const{display:v,zIndex:T}=window.getComputedStyle(C);return v==="none"?0:parseInt(T,10)}).filter(C=>C);let m=Math.max(...p);return m<1040&&(m=1040),m+d}function l(){a=n.value.nextElementSibling;const d=document&&document.querySelector("body");d&&(d.appendChild(n.value),n.value.style.zIndex=s())}function r(){a?t.value.insertBefore(n.value,a):t.value.appendChild(n.value),n.value.style.zIndex=null}function c(){!n||!t.value||(o.value=!o.value,o.value?l():r())}return{onClickMaxMinIcon:c}}function et(n,t){const o=e.ref(n.buttons),a=e.computed(()=>n.buttonPosition==="inHead"?"right":"left"),s=e.computed(()=>"f-section-toolbar"+(n.buttonPosition==="inHead"?" f-section-header--toolbar":" f-section-content--toolbar")),l=e.computed(()=>n.buttons&&n.buttons.length>0&&n.buttonPosition==="inHead");function r(c){t.emit("Click",c)}return()=>l.value&&e.createVNode(ke,{customClass:s.value,items:o.value,onClick:r,alignment:a.value},null)}function Vn(n,t,o,a,s,l){e.ref(n.subTitle);const r=e.computed(()=>n.buttonPosition),c=et(n,t),{onClickMaxMinIcon:d}=Nn(a,s,l),u=e.computed(()=>!!n.subTitle),p=e.computed(()=>n.enableMaximize),m=e.computed(()=>n.enableAccordion!==""),C=e.computed(()=>{const E={"f-section-header":!0};return t.slots.header&&n.headerClass.split(" ").reduce((I,D)=>(I[D]=!0,I),E),E});function v(E){E.stopPropagation(),n.enableAccordion!==""&&(o.value=!o.value)}function T(){const E=e.computed(()=>({btn:!0,"f-btn-collapse-expand":!0,"f-btn-mx":!0,"f-state-expand":o.value})),A=e.computed(()=>({"f-icon":!0,"f-icon-maximize":!l.value,"f-icon-minimize":l.value}));return e.createVNode("div",{class:"f-max-accordion"},[p.value?e.createVNode("span",{class:A.value,onClick:d},null):"",m.value?e.createVNode("button",{class:E.value,onClick:v},[e.createVNode("span",null,[o.value?n.collapseLabel:n.expandLabel])]):""])}function h(){return t.slots.header?e.createVNode("div",{class:C.value},[t.slots.header()]):""}function x(){return e.createVNode("div",{class:"f-title",onClick:v},[e.createVNode("h4",{class:"f-title-text"},[n.mainTitle]),u.value&&e.createVNode("span",null,[n.subTitle])])}function b(){const E=e.computed(()=>{const A={"f-content":!0};return n.headerContentClass&&n.headerContentClass.split(" ").reduce((D,M)=>(D[M]=!0,D),A),A});return t.slots.headerContent?e.createVNode("div",{class:E.value},[t.slots.headerContent()]):""}function w(){return e.createVNode("div",{class:C.value},[t.slots.headerTitle?t.slots.headerTitle():x(),b(),r.value==="inHead"&&c(),(p.value||m.value)&&T()])}return()=>n.showHeader&&(t.slots.header?h():w())}const Bn=["moz","ms","webkit"];function kn(){let n=0;return t=>{const o=new Date().getTime(),a=Math.max(0,16-(o-n)),s=setTimeout(()=>{t(o+a)},a);return n=o+a,s}}function Pn(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const n=Bn.filter(t=>`${t}RequestAnimationFrame`in window)[0];return n?window[`${n}RequestAnimationFrame`]:kn()}Pn();function Ve(n,t){return((t==null?void 0:t.split(" "))||[]).reduce((a,s)=>(s&&(a[s]=!0),a),n),n}const In=e.defineComponent({name:"FSection",props:Ke,emits:[],setup(n,t){const o=e.ref(),a=e.ref(),s=e.ref(n.customClass),l=e.computed(()=>n.enableAccordion),r=e.ref(n.expandStatus),c=e.computed(()=>n.buttonPosition),d=e.ref(!1),u=Vn(n,t,r,o,a,d),p=et(n,t),m=e.computed(()=>{const x={"f-section":!0,"f-section-accordion":l.value==="default","f-state-collapse":(l.value==="default"||l.value==="custom")&&!r.value,"f-section-custom-accordion":l.value==="custom","f-section-fill":n.fill,"f-section-maximize":d.value};return Ve(x,s.value)}),C=e.computed(()=>Ve({"f-section-content":!0},n.contentClass)),v=e.computed(()=>Ve({"f-section-extend":!0},v.value));function T(){return t.slots.extend&&e.createVNode("div",{class:v.value},[t.slots.extend()])}function h(){return e.createVNode("div",{class:C.value},[c.value==="inContent"&&p(),t.slots.default&&t.slots.default()])}return e.watch(()=>n.expandStatus,(x,b)=>{x!==b&&(r.value=x)}),e.onMounted(()=>{o.value&&o.value&&(a.value=o.value.parentElement)}),()=>e.createVNode("div",{class:m.value,ref:o,style:n.customStyle},[u(),T(),h()])}});function En(){function n(t,o){var r;if(!t)return!1;const a=((r=t.targetContainer)==null?void 0:r.componentInstance)&&t.targetContainer.componentInstance.value;if(!a)return!1;const s=a.schema.type,l=o==null?void 0:o.formSchemaUtils.getComponentById(a.belongedComponentId);return!((t.componentCategory==="input"||t.componentType==="form-group")&&![Q["response-layout-item"].type,Q["response-form"].type].includes(s)||(t.componentType===Q.tabs.type||t.componentType===Q.section.type)&&((l==null?void 0:l.componentType)!=="frame"||![Q["content-container"].type,Q["splitter-pane"].type,Q["response-layout-item"].type].includes(s)))}return{basalDragulaRuleForContainer:n}}function jn(n,t){const o=new Ge,{canAccept:a}=o.getTemplateRule(n,t);function s(l){if(!En().basalDragulaRuleForContainer(l,t))return!1;const{schema:c}=n;return c.contents&&c.contents.length>0?!1:a}return{canAccepts:s}}function Dn(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!e.isVNode(n)}const Rn=e.defineComponent({name:"FTabPageDesign",props:me,emits:[],setup(n,t){const o=e.ref(),a=e.inject("design-item-context"),s=e.inject("designer-host-service"),l=jn(a,s),r=Ue(o,a,l);r.value.canNested=!1,r.value.canDelete=!1,r.value.canMove=!1,t.expose(r.value);const c=e.inject("tabs"),d=e.ref(!0),u={slots:t.slots,props:n},p=e.ref((c==null?void 0:c.tabType.value)||"default");e.onMounted(()=>{o.value.componentInstance=r;const w=c.tabPages.value.findIndex(E=>E.props.id===n.id);!w||w===-1?c==null||c.addTab(u):w>-1&&(d.value=!1,console.warn(`已经存在id为${n.id}的页签啦`))}),e.onUnmounted(()=>{});const m=e.computed(()=>(n==null?void 0:n.id)===(c==null?void 0:c.activeId.value)),C=e.computed(()=>({display:m.value?"":"none"}));e.watch(()=>n,w=>{c==null||c.updateTab({props:w,slots:t.slots})},{immediate:!0,deep:!0});function v(){var E,A;const w=(A=(E=t.slots).default)==null?void 0:A.call(E);return e.createVNode(In,{"main-title":n.title,class:"farris-tab-page"},Dn(w)?w:{default:()=>[w]})}const T=e.computed(()=>({"farris-tab-page":!0,"drag-container":!0}));function h(){var E,A;const w=(A=(E=t.slots).default)==null?void 0:A.call(E);return e.createVNode("div",{ref:o,class:T.value,"data-dragref":`${a.schema.id}-container`,style:C.value},[w])}const b=new Map([["default",h],["one-page",v]]).get(p.value)||h;return()=>d.value?b():null}}),$n=ie({text:{type:String,default:""},icon:{type:String,default:""}},{$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"},style:{type:"string"}},default:{}},text:{description:"按钮",type:"string",default:"按钮"},icon:{description:"图标",type:"string",default:""},onClick:{description:"点击事件",type:"string",default:""}},required:["id","type","text"]},Te,pt);oe.install=n=>{n.component(oe.name,oe),n.component(he.name,he)},oe.register=(n,t,o,a)=>{n.tabs=oe,n["tab-page"]=he,t.tabs=Re,t["tab-page"]=Se,a.tabs={eventHandlerResolver:Oe}},oe.registerDesigner=(n,t,o)=>{n.tabs=vn,n["tab-page"]=Rn,t.tabs=$e,t["tab-page"]=Se,t["tab-toolbar-item"]=$n},z.FTabPage=he,z.FTabs=oe,z.default=oe,z.eventHandlerResolver=Oe,z.tabPageProps=me,z.tabPagePropsResolver=Se,z.tabsDesignProps=xe,z.tabsDesignPropsResolver=$e,z.tabsProps=fe,z.tabsPropsResolver=Re,Object.defineProperties(z,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});