@farris/ui-vue 1.3.4 → 1.3.6

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 (145) hide show
  1. package/components/accordion/index.esm.js +16 -16
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +65 -65
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/button-edit/index.esm.js +13 -13
  6. package/components/button-edit/index.umd.cjs +1 -1
  7. package/components/calendar/index.esm.js +504 -490
  8. package/components/calendar/index.umd.cjs +1 -1
  9. package/components/capsule/index.esm.js +247 -233
  10. package/components/capsule/index.umd.cjs +1 -1
  11. package/components/checkbox/index.esm.js +356 -344
  12. package/components/checkbox/index.umd.cjs +1 -1
  13. package/components/color-picker/index.esm.js +159 -145
  14. package/components/color-picker/index.umd.cjs +2 -2
  15. package/components/combo-list/index.esm.js +127 -128
  16. package/components/combo-list/index.umd.cjs +1 -1
  17. package/components/combo-tree/index.esm.js +15 -15
  18. package/components/combo-tree/index.umd.cjs +1 -1
  19. package/components/component/index.esm.js +101 -87
  20. package/components/component/index.umd.cjs +1 -1
  21. package/components/condition/index.esm.js +9 -7
  22. package/components/condition/index.umd.cjs +1 -1
  23. package/components/content-container/index.esm.js +181 -167
  24. package/components/content-container/index.umd.cjs +1 -1
  25. package/components/data-grid/index.esm.js +746 -730
  26. package/components/data-grid/index.umd.cjs +1 -1
  27. package/components/data-view/index.esm.js +9 -7
  28. package/components/data-view/index.umd.cjs +1 -1
  29. package/components/date-picker/index.esm.js +789 -777
  30. package/components/date-picker/index.umd.cjs +1 -1
  31. package/components/designer-canvas/index.esm.js +3096 -3069
  32. package/components/designer-canvas/index.umd.cjs +1 -1
  33. package/components/dropdown/index.esm.js +257 -243
  34. package/components/dropdown/index.umd.cjs +2 -2
  35. package/components/dynamic-form/index.esm.js +322 -306
  36. package/components/dynamic-form/index.umd.cjs +1 -1
  37. package/components/dynamic-resolver/index.esm.js +177 -163
  38. package/components/dynamic-resolver/index.umd.cjs +1 -1
  39. package/components/event-parameter/index.esm.js +78 -82
  40. package/components/event-parameter/index.umd.cjs +1 -1
  41. package/components/events-editor/index.esm.js +501 -487
  42. package/components/events-editor/index.umd.cjs +1 -1
  43. package/components/expression-editor/index.esm.js +37 -37
  44. package/components/expression-editor/index.umd.cjs +1 -1
  45. package/components/external-container/index.esm.js +487 -472
  46. package/components/external-container/index.umd.cjs +1 -1
  47. package/components/field-selector/index.esm.js +440 -433
  48. package/components/field-selector/index.umd.cjs +1 -1
  49. package/components/filter-bar/index.esm.js +594 -587
  50. package/components/filter-bar/index.umd.cjs +1 -1
  51. package/components/flow-canvas/index.esm.js +2766 -2739
  52. package/components/flow-canvas/index.umd.cjs +1 -1
  53. package/components/image-cropper/index.esm.js +402 -388
  54. package/components/image-cropper/index.umd.cjs +1 -1
  55. package/components/input-group/index.esm.js +201 -202
  56. package/components/input-group/index.umd.cjs +1 -1
  57. package/components/layout/index.esm.js +264 -245
  58. package/components/layout/index.umd.cjs +1 -1
  59. package/components/list-nav/index.esm.js +157 -143
  60. package/components/list-nav/index.umd.cjs +1 -1
  61. package/components/list-view/index.esm.js +314 -298
  62. package/components/list-view/index.umd.cjs +1 -1
  63. package/components/lookup/index.esm.js +862 -843
  64. package/components/lookup/index.umd.cjs +1 -1
  65. package/components/mapping-editor/index.esm.js +1031 -1015
  66. package/components/mapping-editor/index.umd.cjs +1 -1
  67. package/components/nav/index.esm.js +169 -155
  68. package/components/nav/index.umd.cjs +2 -2
  69. package/components/number-range/index.esm.js +150 -137
  70. package/components/number-range/index.umd.cjs +1 -1
  71. package/components/number-spinner/index.esm.js +207 -194
  72. package/components/number-spinner/index.umd.cjs +1 -1
  73. package/components/order/index.esm.js +427 -414
  74. package/components/order/index.umd.cjs +1 -1
  75. package/components/page-footer/index.esm.js +22 -22
  76. package/components/page-footer/index.umd.cjs +1 -1
  77. package/components/page-header/index.esm.js +510 -492
  78. package/components/page-header/index.umd.cjs +1 -1
  79. package/components/pagination/index.esm.js +192 -178
  80. package/components/pagination/index.umd.cjs +1 -1
  81. package/components/progress/index.esm.js +234 -220
  82. package/components/progress/index.umd.cjs +3 -3
  83. package/components/property-editor/index.esm.js +288 -277
  84. package/components/property-editor/index.umd.cjs +2 -2
  85. package/components/property-panel/index.esm.js +62 -61
  86. package/components/property-panel/index.umd.cjs +1 -1
  87. package/components/query-solution/index.esm.js +776 -770
  88. package/components/query-solution/index.umd.cjs +6 -6
  89. package/components/radio-button/index.esm.js +64 -64
  90. package/components/radio-button/index.umd.cjs +1 -1
  91. package/components/radio-group/index.esm.js +296 -283
  92. package/components/radio-group/index.umd.cjs +1 -1
  93. package/components/rate/index.esm.js +222 -208
  94. package/components/rate/index.umd.cjs +1 -1
  95. package/components/response-layout/index.esm.js +187 -173
  96. package/components/response-layout/index.umd.cjs +1 -1
  97. package/components/response-layout-editor/index.esm.js +554 -542
  98. package/components/response-layout-editor/index.umd.cjs +1 -1
  99. package/components/response-toolbar/index.esm.js +483 -469
  100. package/components/response-toolbar/index.umd.cjs +1 -1
  101. package/components/schema-selector/index.esm.js +634 -619
  102. package/components/schema-selector/index.umd.cjs +2 -2
  103. package/components/search-box/index.esm.js +228 -214
  104. package/components/search-box/index.umd.cjs +1 -1
  105. package/components/section/index.esm.js +419 -406
  106. package/components/section/index.umd.cjs +1 -1
  107. package/components/smoke-detector/index.esm.js +162 -148
  108. package/components/smoke-detector/index.umd.cjs +1 -1
  109. package/components/splitter/index.esm.js +308 -284
  110. package/components/splitter/index.umd.cjs +1 -1
  111. package/components/step/index.esm.js +279 -265
  112. package/components/step/index.umd.cjs +1 -1
  113. package/components/switch/index.esm.js +183 -170
  114. package/components/switch/index.umd.cjs +1 -1
  115. package/components/tabs/index.esm.js +307 -294
  116. package/components/tabs/index.umd.cjs +1 -1
  117. package/components/tags/index.esm.js +320 -306
  118. package/components/tags/index.umd.cjs +1 -1
  119. package/components/text/index.esm.js +245 -231
  120. package/components/text/index.umd.cjs +1 -1
  121. package/components/textarea/index.esm.js +260 -247
  122. package/components/textarea/index.umd.cjs +1 -1
  123. package/components/time-picker/index.esm.js +409 -396
  124. package/components/time-picker/index.umd.cjs +1 -1
  125. package/components/transfer/index.esm.js +424 -410
  126. package/components/transfer/index.umd.cjs +1 -1
  127. package/components/tree-grid/index.esm.js +383 -376
  128. package/components/tree-grid/index.umd.cjs +1 -1
  129. package/components/tree-view/index.esm.js +595 -575
  130. package/components/tree-view/index.umd.cjs +1 -1
  131. package/components/uploader/index.esm.js +325 -311
  132. package/components/uploader/index.umd.cjs +2 -2
  133. package/components/verify-detail/index.esm.js +304 -290
  134. package/components/verify-detail/index.umd.cjs +1 -1
  135. package/components/video/index.esm.js +99 -85
  136. package/components/video/index.umd.cjs +1 -1
  137. package/components/weather/index.esm.js +947 -933
  138. package/components/weather/index.umd.cjs +4 -4
  139. package/farris.all.esm.js +5492 -5470
  140. package/farris.all.umd.cjs +13 -13
  141. package/index.css +1 -1
  142. package/package.json +1 -1
  143. package/types/condition/src/composition/condition-value/input-group-value.d.ts +1 -1
  144. package/types/entity-binding-selector/composition/use-entity-tree.d.ts +3 -0
  145. package/types/entity-binding-selector/composition/use-field-tree.d.ts +1 -0
@@ -1 +1 @@
1
- (function($,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("lodash-es"),require("../response-toolbar/index.umd.js"),require("bignumber.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../response-toolbar/index.umd.js","bignumber.js","../designer-canvas/index.umd.js","../common/index.umd.js"],t):($=typeof globalThis<"u"?globalThis:$||self,t($.section={},$.Vue,$.LodashES,$.FResponseToolbar,$.BigNumber,$.designerCanvas,$.common))})(this,function($,t,_,ye,ht,oe,Z){"use strict";var ft=Object.defineProperty;var mt=($,t,_)=>t in $?ft($,t,{enumerable:!0,configurable:!0,writable:!0,value:_}):$[t]=_;var N=($,t,_)=>mt($,typeof t!="symbol"?t+"":t,_);const re={},se={};function K(o){const{properties:e,title:n,ignore:s}=o,i=s&&Array.isArray(s),c=Object.keys(e).reduce((a,g)=>((!i||!s.find(m=>m===g))&&(a[g]=e[g].type==="object"&&e[g].properties?K(e[g]):_.cloneDeep(e[g].default)),a),{});if(n&&(!i||!s.find(a=>a==="id"))){const a=n.toLowerCase().replace(/-/g,"_");c.id=`${a}_${Math.random().toString().slice(2,6)}`}return c}function H(o,e={},n){const s=re[o];if(s){let i=K(s);const c=se[o];return i=c?c({getSchemaByType:H},i,e,n):i,i}return null}function be(o,e){const n=K(e);return Object.keys(n).reduce((s,i)=>(s[i]&&_.isPlainObject(s[i])&&_.isPlainObject(o[i]||!o[i])?Object.assign(s[i],o[i]||{}):s[i]=o[i],s),n),n}function Ce(o,e){return Object.keys(o).filter(s=>o[s]!=null).reduce((s,i)=>{if(e.has(i)){const c=e.get(i);if(typeof c=="string")s[c]=o[i];else{const a=c(i,o[i],o);Object.assign(s,a)}}else s[i]=o[i];return s},{})}function ve(o,e,n=new Map){const s=be(o,e);return Ce(s,n)}function Te(o={}){function e(u,h,f,b){if(typeof f=="number")return b[u].length===f;if(typeof f=="object"){const y=Object.keys(f)[0],S=f[y];if(y==="not")return Number(b[u].length)!==Number(S);if(y==="moreThan")return Number(b[u].length)>=Number(S);if(y==="lessThan")return Number(b[u].length)<=Number(S)}return!1}function n(u,h,f,b){return b[u]&&b[u].propertyValue&&String(b[u].propertyValue.value)===String(f)}const s=new Map([["length",e],["getProperty",n]]);Object.keys(o).reduce((u,h)=>(u.set(h,o[h]),u),s);function i(u,h){const f=u;return typeof h=="number"?[{target:f,operator:"length",param:null,value:Number(h)}]:typeof h=="boolean"?[{target:f,operator:"getProperty",param:u,value:!!h}]:typeof h=="object"?Object.keys(h).map(b=>{if(b==="length")return{target:f,operator:"length",param:null,value:h[b]};const y=b,S=h[b];return{target:f,operator:"getProperty",param:y,value:S}}):[]}function c(u){return Object.keys(u).reduce((f,b)=>{const y=i(b,u[b]);return f.push(...y),f},[])}function a(u,h){if(s.has(u.operator)){const f=s.get(u.operator);return f&&f(u.target,u.param,u.value,h)||!1}return!1}function g(u,h){return c(u).reduce((y,S)=>y&&a(S,h),!0)}function m(u,h){const f=Object.keys(u),b=f.includes("allOf"),y=f.includes("anyOf"),S=b||y,x=(S?u[S?b?"allOf":"anyOf":"allOf"]:[u]).map(V=>g(V,h));return b?!x.includes(!1):x.includes(!0)}return{parseValueSchema:m}}const O={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"}},we={},Se={};Te();function J(o,e,n=new Map,s=(a,g,m,u)=>g,i={},c=a=>a){return re[e.title]=e,se[e.title]=s,we[e.title]=i,Se[e.title]=c,(a={})=>{const g=ve(a,e,n),m=Object.keys(o).reduce((u,h)=>(u[h]=o[h].default,u),{});return Object.assign(m,g)}}function ie(o,e){return{customClass:e.class,customStyle:e.style}}function Me(o,e,n){return e?{enableAccordion:n.accordionMode}:{enableAccordion:""}}function Pe(o,e){return{buttons:e.buttons,buttonPosition:e.position}}const De=new Map([["appearance",ie],["expanded","expandStatus"],["enableAccordion",Me],["toolbar",Pe]]);function Ne(o,e,n){const s=Math.random().toString().slice(2,6),i=n.parentComponentInstance;Object.assign(e,{id:`section-${s}`,appearance:{class:"f-section-in-mainsubcard"},enableAccordion:!1,mainTitle:n.mainTitle||e.mainTitle||"标题"});const c=o.getSchemaByType("content-container");Object.assign(c,{id:`container-${s}`,appearance:{class:"f-struct-wrapper"},contents:[e]});const a=i.schema;switch(a&&a.type){case O["splitter-pane"].type:{e.appearance.class="f-section-in-main";break}}const g=i.elementRef,m=window.getComputedStyle(g);return m&&m.display==="flex"&&(c.appearance.class+=" d-block"),c}function Ve(o,e,n){return n.parentComponentInstance?Ne(o,e,n):e}const Ae={$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"]},X={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}},ee=J(X,Ae,De,Ve);function ae(o,e,n){let s;function i(m=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"],h=Array.from(document.body.querySelectorAll(u.join(","))).filter(b=>b).map(b=>{const{display:y,zIndex:S}=window.getComputedStyle(b);return y==="none"?0:parseInt(S,10)}).filter(b=>b);let f=Math.max(...h);return f<1040&&(f=1040),f+m}function c(){s=o.value.nextElementSibling;const m=document&&document.querySelector("body");m&&(m.appendChild(o.value),o.value.style.zIndex=i())}function a(){s?e.value.insertBefore(o.value,s):e.value.appendChild(o.value),o.value.style.zIndex=null}function g(){!o||!e.value||(n.value=!n.value,n.value?c():a())}return{onClickMaxMinIcon:g}}function ce(o,e){const n=t.ref(o.buttons),s=t.computed(()=>o.buttonPosition==="inHead"?"right":"left"),i=t.computed(()=>"f-section-toolbar"+(o.buttonPosition==="inHead"?" f-section-header--toolbar":" f-section-content--toolbar")),c=t.computed(()=>o.buttons&&o.buttons.length>0&&o.buttonPosition==="inHead");function a(g){e.emit("Click",g)}return()=>c.value&&t.createVNode(ye,{customClass:i.value,items:n.value,onClick:a,alignment:s.value},null)}function ke(o,e,n,s,i,c){t.ref(o.subTitle);const a=t.computed(()=>o.buttonPosition),g=ce(o,e),{onClickMaxMinIcon:m}=ae(s,i,c),u=t.computed(()=>!!o.subTitle),h=t.computed(()=>o.enableMaximize),f=t.computed(()=>o.enableAccordion!==""),b=t.computed(()=>{const V={"f-section-header":!0};return e.slots.header&&o.headerClass.split(" ").reduce((C,w)=>(C[w]=!0,C),V),V});function y(V){V.stopPropagation(),o.enableAccordion!==""&&(n.value=!n.value)}function S(){const V=t.computed(()=>({btn:!0,"f-btn-collapse-expand":!0,"f-btn-mx":!0,"f-state-expand":n.value})),A=t.computed(()=>({"f-icon":!0,"f-icon-maximize":!c.value,"f-icon-minimize":c.value}));return t.createVNode("div",{class:"f-max-accordion"},[h.value?t.createVNode("span",{class:A.value,onClick:m},null):"",f.value?t.createVNode("button",{class:V.value,onClick:y},[t.createVNode("span",null,[n.value?o.collapseLabel:o.expandLabel])]):""])}function D(){return e.slots.header?t.createVNode("div",{class:b.value},[e.slots.header()]):""}function k(){return t.createVNode("div",{class:"f-title",onClick:y},[t.createVNode("h4",{class:"f-title-text"},[o.mainTitle]),u.value&&t.createVNode("span",null,[o.subTitle])])}function x(){const V=t.computed(()=>{const A={"f-content":!0};return o.headerContentClass&&o.headerContentClass.split(" ").reduce((w,M)=>(w[M]=!0,w),A),A});return e.slots.headerContent?t.createVNode("div",{class:V.value},[e.slots.headerContent()]):""}function I(){return t.createVNode("div",{class:b.value},[e.slots.headerTitle?e.slots.headerTitle():k(),x(),a.value==="inHead"&&g(),(h.value||f.value)&&S()])}return()=>o.showHeader&&(e.slots.header?D():I())}const xe=["moz","ms","webkit"];function Ee(){let o=0;return e=>{const n=new Date().getTime(),s=Math.max(0,16-(n-o)),i=setTimeout(()=>{e(n+s)},s);return o=n+s,i}}function Be(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const o=xe.filter(e=>`${e}RequestAnimationFrame`in window)[0];return o?window[`${o}RequestAnimationFrame`]:Ee()}Be();function q(o,e){return((e==null?void 0:e.split(" "))||[]).reduce((s,i)=>(i&&(s[i]=!0),s),o),o}const W=t.defineComponent({name:"FSection",props:X,emits:[],setup(o,e){const n=t.ref(),s=t.ref(),i=t.ref(o.customClass),c=t.computed(()=>o.enableAccordion),a=t.ref(o.expandStatus),g=t.computed(()=>o.buttonPosition),m=t.ref(!1),u=ke(o,e,a,n,s,m),h=ce(o,e),f=t.computed(()=>{const k={"f-section":!0,"f-section-accordion":c.value==="default","f-state-collapse":(c.value==="default"||c.value==="custom")&&!a.value,"f-section-custom-accordion":c.value==="custom","f-section-fill":o.fill,"f-section-maximize":m.value};return q(k,i.value)}),b=t.computed(()=>q({"f-section-content":!0},o.contentClass)),y=t.computed(()=>q({"f-section-extend":!0},y.value));function S(){return e.slots.extend&&t.createVNode("div",{class:y.value},[e.slots.extend()])}function D(){return t.createVNode("div",{class:b.value},[g.value==="inContent"&&h(),e.slots.default&&e.slots.default()])}return t.watch(()=>o.expandStatus,(k,x)=>{k!==x&&(a.value=k)}),t.onMounted(()=>{n.value&&n.value&&(s.value=n.value.parentElement)}),()=>t.createVNode("div",{class:f.value,ref:n,style:o.customStyle},[u(),S(),D()])}});function Ie(){function o(e,n){var a;if(!e)return!1;const s=((a=e.targetContainer)==null?void 0:a.componentInstance)&&e.targetContainer.componentInstance.value;if(!s)return!1;const i=s.schema.type,c=n==null?void 0:n.formSchemaUtils.getComponentById(s.belongedComponentId);return!((e.componentCategory==="input"||e.componentType==="form-group")&&![O["response-layout-item"].type,O["response-form"].type].includes(i)||(e.componentType===O.tabs.type||e.componentType===O.section.type)&&((c==null?void 0:c.componentType)!=="frame"||![O["content-container"].type,O["splitter-pane"].type,O["response-layout-item"].type].includes(i)))}return{basalDragulaRuleForContainer:o}}const $e={title:"section",description:"A Farris Container Component",type:"object",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:"section",value:"分组面板"}]}}}},appearance:{title:"外观",description:"Appearance",properties:{class:{description:"组件的CSS样式",title:"class样式"},style:{description:"组件的内容样式",title:"style样式"},showHeader:{title:"显示标题区域",type:"boolean",description:""},mainTitle:{title:"主标题",type:"string",description:"",visible:{showHeader:!0}},subTitle:{title:"副标题",type:"string",description:"",visible:{showHeader:!0}},fill:{title:"填充内容区域",type:"boolean",description:""},enableAccordion:{title:"允许收折",type:"boolean",description:"",visible:{showHeader:!0}}},setPropertyRelates(o,e){if(o)switch(o&&o.propertyID){case"mainTitle":{o.needRefreshControlTree=!0;break}}}},extends:{title:"扩展",description:"",properties:{contentClass:{title:"内容区域样式",type:"string",description:""}}}}};class Re{getTemplateRule(e,n){const s=n==null?void 0:n.formSchemaUtils,i=s==null?void 0:s.getFormTemplateRule(),c={canAccept:!0,canDelete:!0,canMove:!0};if(!i)return c;const a=this.getComponentContext(e),{componentClassList:g}=a;return g.forEach(m=>{if(!m||!i[m])return;const{canMove:u,canDelete:h,canAccept:f}=i[m];c.canMove=c.canMove&&this.resolveRuleValue(u,a),c.canDelete=c.canDelete&&this.resolveRuleValue(h,a),c.canAccept=c.canAccept&&this.resolveRuleValue(f,a)}),c}resolveRuleValue(e,n){return typeof e=="boolean"?e:this.parseRuleValueSchema(e,n)}parseRuleValueSchema(e,n){const s=e.invalidContext||[];let i=!0;for(const c of s){if(c.firstLevelChild){if(c.firstLevelChild.class){const{firstLevelChildClassList:a}=n;if(a&&!a.includes(c.firstLevelChild.class)){i=!1;continue}}if(c.firstLevelChild.type){const{firstLevelChildSchema:a}=n;if(!a||a.type!==c.firstLevelChild.type){i=!1;continue}}}if(c.secondLevelChild){if(c.secondLevelChild.class){const{secondLevelChildClassList:a}=n;if(a&&!a.includes(c.secondLevelChild.class)){i=!1;continue}}if(c.secondLevelChild.type){const{secondLevelChildSchema:a}=n;if(!a||a.type!==c.secondLevelChild.type){i=!1;continue}}}if(c.parent){if(c.parent.class){const{parentClassList:a}=n;if(a&&!a.includes(c.parent.class)){i=!1;continue}}if(c.parent.type){const{parentSchema:a}=n;if(a&&a.type!==c.parent.type){i=!1;continue}}}i=!0;break}return!i}getComponentContext(e){var D,k,x,I;const n=e.schema,s=n.appearance&&n.appearance.class||"",i=s.split(" ")||[],c=n.contents||[],a=c.length?c[0]:null,g=a&&a.appearance?a.appearance.class:"",m=g?g.split(" "):[],u=(D=a==null?void 0:a.contents)!=null&&D.length?a==null?void 0:a.contents[0]:null,h=u&&u.appearance?u.appearance.class:"",f=h?h.split(" "):[],b=n.type==="component"?(x=(k=e.parent)==null?void 0:k.parent)==null?void 0:x.schema:(I=e.parent)==null?void 0:I.schema,y=b&&b.appearance&&b.appearance.class||"",S=y?y.split(" "):[];return{componentClass:s,componentClassList:i,childContents:c,firstLevelChildSchema:a,firstLevelChildClass:g,firstLevelChildClassList:m,secondLevelChildSchema:u,secondLevelChildClass:h,secondLevelChildClassList:f,parentSchema:b,parentClass:y,parentClassList:S}}}function je(o,e){const n=new Re;function s(m){return $e}function i(m){if(!Ie().basalDragulaRuleForContainer(m,e))return!1;const{canAccept:h}=n.getTemplateRule(o,e);return h}function c(){const{canDelete:m}=n.getTemplateRule(o,e);return m}function a(){const{canMove:m}=n.getTemplateRule(o,e);return m}function g(){const{canMove:m,canDelete:u}=n.getTemplateRule(o,e);return!m&&!u}return{canAccepts:i,checkCanDeleteComponent:c,checkCanMoveComponent:a,hideNestedPaddingInDesginerView:g,getPropsConfig:s}}function Le(o,e,n){var A;const s=n&&n.getStyles&&n.getStyles()||"",i=n&&n.getDesignerClass&&n.getDesignerClass()||"",c=t.ref();function a(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanMoveComponent?n.checkCanMoveComponent():!0}function g(){return!1}function m(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanDeleteComponent?n.checkCanDeleteComponent():!0}function u(){return(e==null?void 0:e.schema.componentType)==="frame"?!0:n&&n.hideNestedPaddingInDesginerView?n.hideNestedPaddingInDesginerView():!1}function h(C){if(!C||!C.value)return null;if(C.value.schema&&C.value.schema.type==="component")return C.value;const w=t.ref(C==null?void 0:C.value.parent),M=h(w);return M||null}function f(C=e){const{componentInstance:w,designerItemElementRef:M}=C;return!w||!w.value?null:w.value.canMove?M:f(C.parent)}function b(C){return!!n&&n.canAccepts(C)}function y(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function S(){}function D(C,w){w&&n!=null&&n.onAcceptMovedChildElement&&n.onAcceptMovedChildElement(w)}function k(C,w){const{componentType:M}=C;let E=H(M,C,w);n&&n.onResolveNewComponentSchema&&(E=n.onResolveNewComponentSchema(C,E));const L=M.toLowerCase().replace(/-/g,"_");return E&&!E.id&&E.type===M&&(E.id=`${L}_${Math.random().toString().slice(2,6)}`),E}function x(C){}function I(...C){if(n&&n.getPropsConfig)return n.getPropsConfig(...C)}function V(){n&&n.onRemoveComponent&&n.onRemoveComponent(),e!=null&&e.schema.contents&&e.schema.contents.map(C=>{var E;let w=C.id;C.type==="component-ref"&&(w=C.component);const M=o.value.querySelector(`#${w}-design-item`);(E=M==null?void 0:M.componentInstance)!=null&&E.value.onRemoveComponent&&M.componentInstance.value.onRemoveComponent()})}return c.value={canMove:a(),canSelectParent:g(),canDelete:m(),canNested:!u(),contents:e==null?void 0:e.schema.contents,elementRef:o,parent:(A=e==null?void 0:e.parent)==null?void 0:A.componentInstance,schema:e==null?void 0:e.schema,styles:s,designerClass:i,canAccepts:b,getBelongedComponentInstance:h,getDraggableDesignItemElement:f,getDraggingDisplayText:y,getPropConfig:I,getDragScopeElement:S,onAcceptMovedChildElement:D,onChildElementMovedOut:x,addNewChildComponentSchema:k,triggerBelongedComponentToMoveWhenMoved:!!n&&n.triggerBelongedComponentToMoveWhenMoved||t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!n&&n.triggerBelongedComponentToDeleteWhenDeleted||t.ref(!1),onRemoveComponent:V},c}const Fe=new Map([["buttons","items"],["appearance",ie]]);function Oe(o,e){return{class:e.class,style:e.style}}const _e=new Map([["appearance",Oe]]);function le(o,e,n){return e}const qe={$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"]},ze={$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"]},de={customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]}},Ue=Object.assign({},de,{componentId:{type:String,default:""}});J(de,qe,Fe,le);const ue={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"}};J(ue,ze,_e,le);class pe{constructor(e){N(this,"id","");N(this,"class","btn-secondary");N(this,"icon","");N(this,"groupId","");N(this,"order",-1);N(this,"asDropDownTop",!1);N(this,"text","");N(this,"visible",!0);N(this,"responsed",!1);N(this,"tipsEnable",!1);N(this,"tipsText","");N(this,"width",0);N(this,"onClick",()=>{});N(this,"options");this.options=e;const n=["id","class","icon","groupId","order","asDropDownTop","text","isDP","visible","responsed","width","tipsEnable","tipsText","onClick"];Object.keys(e).filter(s=>n.indexOf(s)>-1).forEach(s=>{this[s]=e[s]})}get enable(){return Object.keys(this.options).indexOf("disabled")>-1?!this.options.disabled:t.computed(()=>!0)}setWidth(e){this.width=parseInt(e,10)}getWidth(){return this.visible?this.width:!1}}class He extends pe{constructor(e){super(e)}}function We(){function o(e){const n=[];return e.reduce((s,i)=>(i.children&&i.children.length>0?s.push(new Y(i)):s.push(new He(i)),s),n),n}return{buildResponseToolbarItems:o}}const{buildResponseToolbarItems:Ge}=We();class Y extends pe{constructor(n){super(n);N(this,"placement","");N(this,"dropdownClass","");N(this,"menuClass","");N(this,"split",!1);N(this,"children",[]);N(this,"expanded",!1);const s=["isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(n).filter(i=>s.indexOf(i)>-1).forEach(i=>{this[i]=n[i]}),n.children&&n.children.length&&(this.children=Ge(n.children))}}function Qe(){function o(n){const s={"f-icon":!0};if(n.icon){const i=n.icon.trim().split(" ");i&&i.length&&i.reduce((c,a)=>(c[a]=!0,c),s)}return s}function e(n){return!!(n.icon&&n.icon.trim())}return{iconClass:o,shouldShowIcon:e}}function Ze(o,e){const n=t.inject("design-item-context"),s=t.inject("toolbar-item-handler",()=>{});function i(){s&&s()}function c(d){const r={"dropdown-menu":!0};if(d.class){const l=d.menuClass.split(" ");l&&l.length&&l.reduce((p,T)=>(p[T]=!0,p),r)}return r}function a(d){const r={disabled:!d.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},l=d.dropdownClass.split(" ");return l&&l.length&&l.reduce((p,T)=>(p[T]=!0,p),r),r}function g(d){const r={disabled:!d.enable,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0},l=d.class.split(" ");return l&&l.length&&l.reduce((p,T)=>(p[T]=!0,p),r),r}let m;const u=new Map;function h(d,r,l){var T;((T=d.target)==null?void 0:T.id)===r.id&&d.stopPropagation();const p=l?l.id:"__top_item__";if(r.children&&r.children.length&&(r.expanded=!r.expanded,r.expanded?u.set(p,r):u.delete(p)),u.has(p)&&u.get(p)!==r){const P=u.get(p);P&&(P.expanded=!1)}}function f(d){d&&(d.stopPropagation(),d.preventDefault())}function b(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(r=>r.classList.remove("dgComponentFocused"));const d=document.getElementsByClassName("dgComponentSelected");Array.from(d).forEach(r=>r.classList.remove("dgComponentSelected"))}function y(d){d.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function S(d){const{buttons:r=[]}=n.schema;let l=[];r.forEach(P=>{l=l.concat(P.children||[])});const p=l.findIndex(P=>P.id===d),T=p===-1?null:l[p];return{index:p,item:T}}function D(d){const{buttons:r=[]}=n.schema,l=r.findIndex(T=>T.id===d),p=l===-1?null:r[l];return{index:l,item:p}}function k(d){var p;n.schema;const{index:r,item:l}=S(d);(p=n==null?void 0:n.setupContext)==null||p.emit("selectionChange",l==null?void 0:l.type,l)}const x=function(d){const{componentType:r}=d,l=H(r,d),p=r.toLowerCase().replace("-","_");return l&&!l.id&&l.type===r&&(l.id=`${p}_${Math.random().toString().slice(2,6)}`),l},I=function(){const d={componentType:"response-toolbar-item",parentComponentInstance:e.value,targetPosition:-1};return x(d)};function V(d,r){f(d),b(),y(d),k(r.id)}function A(d,r,l){f(d);const p=r.id,T=l&&l.id,{buttons:P=[]}=n.schema;if(!T)return;const{index:B}=D(T);if(B===-1)return;const{index:F}=S(p);F!==-1&&(P[B].children.splice(F,1),i())}function C(d,r,l){f(d);const p=l&&l.id,{buttons:T=[]}=n.schema;if(!p)return;const{index:P}=D(p);if(P===-1)return;const B=I(),F=Object.assign({},B,{text:r.text});T[P].children.push(F),i()}function w(d,r,l){f(d);const p=l&&l.id,{buttons:T=[]}=n.schema;if(!p)return;const{index:P}=D(p);if(P===-1)return;const B=I(),F=Object.assign({},B,{text:"按钮"});T[P].children.push(F),i()}function M(d,r){return t.createVNode("div",{class:"component-btn-group"},[t.createVNode("div",null,[t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:l=>A(l,d,r)},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:l=>C(l,d,r)},[t.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增同级",ref:"appendSame",style:"width:85px!important;padding:0 5px;position:static;",onClick:l=>w(l,d,r)},[t.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),t.createVNode("span",{style:"font-size:13px;margin:auto"},[t.createTextVNode("新增同级")])])])])}function E(d){return d.children.map(r=>r.children&&r.children.length?t.createVNode("li",{class:a(r),id:r.id,onClick:l=>r.enable&&h(l,r,d)},[t.createVNode("span",{id:r.id,class:g(r),onMouseover:l=>r.enable&&h(l,r,d)},[r.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),m(r,r)]):t.createVNode("li",{class:g(r),id:r.id,onClick:l=>V(l,r)},[M(r,d),o.shouldShowIcon(r)&&t.createVNode("i",{class:o.iconClass(r)},null),r.text]))}function L(d,r,l){const p={display:d.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},T=document.getElementsByTagName("body")[0].getClientRects()[0].width,P=r,B=P==null?void 0:P.getClientRects();if(P&&B&&B.length){const{top:F,width:G,left:z,right:R,height:j}=B[0],U=Math.ceil(j+F);p.top=`${U}px`,p.left=`${z}px`;const Q=d.id+"_menu",ne=r?r.querySelector("#"+Q):null;if(ne){p.display==="block"&&(ne.style.display="block");const ge=ne.getBoundingClientRect();if(l){p.top=`${F-6}px`;const pt=Math.ceil(G+z);p.left=`${pt}px`}T-z-G<ge.width&&(p.left=`${(l?z:R)-ge.width}px`)}}return p}m=function(d,r){var P,B;const l=t.getCurrentInstance(),p=r?r.id:d.id,T=(B=(P=l==null?void 0:l.exposed)==null?void 0:P.elementRef.value)==null?void 0:B.querySelector("#"+p);return t.createVNode("ul",{class:c(d),style:L(d,T,r),id:d.id+"_menu"},[E(d)])};function v(){u.forEach(d=>{d.expanded=!1}),u.clear()}return{renderDropdownMenu:m,clearAllDropDownMenu:v}}function Je(o,e,n){const s=t.ref(o.alignment),{renderDropdownMenu:i,clearAllDropDownMenu:c}=Ze(e,n),a=t.inject("design-item-context"),g=t.inject("toolbar-item-handler",()=>{});function m(){g&&g()}function u(v){const d={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":s.value==="right","f-btn-mr":s.value==="left"},r=v.dropdownClass.split(" ");return r&&r.length&&r.reduce((l,p)=>(l[p]=!0,l),d),d}function h(v){const d={btn:!0,disabled:!v.enable,"position-relative":!0,"farris-component":!0,"f-rt-btn":!0,"btn-icontext":!!(v.icon&&v.icon.trim())};if(v.class){const r=v.class.split(" ");r&&r.length&&r.reduce((l,p)=>(l[p]=!0,l),d)}return d}function f(v){v&&(v.stopPropagation(),v.preventDefault())}function b(v,d){f(v);const r=d.expanded;document.body.click(),d.expanded=!r}const y=function(v){const{componentType:d}=v,r=H(d,v),l=d.toLowerCase().replace("-","_");return r&&!r.id&&r.type===d&&(r.id=`${l}_${Math.random().toString().slice(2,6)}`),r},S=function(){const v={componentType:"response-toolbar-item",parentComponentInstance:n.value,targetPosition:-1};return y(v)};function D(v){const d=a.schema.buttons||a.schema.contents,r=d==null?void 0:d.findIndex(p=>p.id===v),l=r===-1?null:d[r];return{index:r,toolbarItem:l}}function k(v,d){var B;const{index:r,toolbarItem:l}=D(d);if(r===-1)return;const p=l.text||"按钮",T=S(),P=Object.assign({},T,{text:p});(B=a.schema.buttons)==null||B.push(P),m()}function x(v,d){const{index:r,toolbarItem:l}=D(d);if(r===-1)return;const p=l.text||"按钮",T=S(),P=Object.assign({},T,{text:p}),B=a.schema.buttons[r].children||[];B.push(P),a.schema.buttons[r].children=B,m()}function I(v,d){const r=a.schema.buttons||a.schema.contents,l=r==null?void 0:r.findIndex(p=>p.id===d);l!==-1&&(r.splice(l,1),m())}function V(v){return t.createVNode("div",{class:"component-btn-group"},[t.createVNode("div",null,[t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:d=>I(d,v)},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:d=>k(d,v)},[t.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增子级",ref:"appendChildButton",style:"width:85px!important;padding:0 5px;position:static;",onClick:d=>x(d,v)},[t.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),t.createVNode("span",{style:"font-size:13px;margin:auto"},[t.createTextVNode("新增子级")])])])])}function A(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(d=>d.classList.remove("dgComponentFocused"));const v=document.getElementsByClassName("dgComponentSelected");Array.from(v).forEach(d=>d.classList.remove("dgComponentSelected"))}function C(v){v.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function w(v){var p;const d=a.schema.buttons||a.schema.contents,r=d==null?void 0:d.findIndex(T=>T.id===v);if(r===-1)return;const l=d[r];(p=a==null?void 0:a.setupContext)==null||p.emit("selectionChange","response-toolbar-item",l)}function M(v,d){f(v),A(),C(v),f(v),b(v,d),w(d.id)}function E(v){return t.createVNode("div",{id:v.id,class:u(v)},[t.createVNode("div",{class:h(v),style:"display: flex;padding-right: 0.1rem;",onClick:d=>v.enable&&M(d,v)},[V(v.id),e.shouldShowIcon(v)&&t.createVNode("i",{class:e.iconClass(v)},null),t.createVNode("span",null,[v.text]),t.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)]),i(v)])}function L(){c()}return{renderToolbarDropdown:E,clearAllDropDown:L}}class te{constructor(e,n){N(this,"componentId");N(this,"viewModelId");N(this,"eventsEditorUtils");N(this,"formSchemaUtils");N(this,"formMetadataConverter");N(this,"designViewModelUtils");N(this,"designViewModelField");N(this,"controlCreatorUtils");N(this,"designerHostService");N(this,"schemaService",null);N(this,"metadataService",null);N(this,"propertyConfig",{type:"object",categories:{}});var s;this.componentId=e,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((s=this.formSchemaUtils)==null?void 0:s.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService,this.schemaService=n.schemaService}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var s;const n=e.binding&&e.binding.type==="Form"&&e.binding.field;if(n){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(c=>c.id===n)}e.updateOn=(s=this.designViewModelField)==null?void 0:s.updateOn}}changeFieldEditorType(e,n){}getBasicPropConfig(e){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:e.type,name:O[e.type].name}]}}}}}getAppearanceConfig(e=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(e,n){const s=n&&n.parent&&n.parent.schema;if(!s)return;const i=s.contents.findIndex(a=>a.id===e),c=_.cloneDeep(s.contents[i]);s.contents.splice(i,1),s.contents.splice(i,0,c)}}class Xe extends te{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearancePropConfig(e),this.getBehaviorProperties(e),this.propertyConfig}getAppearancePropConfig(e){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"}}}}getBasicPropConfig(e){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:O["response-toolbar"].name}]}}}}}getBehaviorProperties(e){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 Ye(o,e){const n=o.schema;function s(h){return!1}function i(h,f){return f.text=h.label,f}function c(){return!1}function a(){return!1}function g(){return!0}function m(){return!0}function u(h){return new Xe(h,e).getPropertyConfig(n)}return{canAccepts:s,checkCanAddComponent:g,checkCanDeleteComponent:a,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:m,onResolveNewComponentSchema:i,getPropsConfig:u}}const Ke={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}},fe=t.ref(0);function et(o,e){const n=e.getBoundingClientRect(),s=o.getBoundingClientRect(),i=s.top>=n.top,c=s.top<=n.bottom;return i&&c}function tt(o){if(!o)return;let e;if(o.className.includes("dgComponentSelected")?e=o:e=o.querySelector(".dgComponentSelected"),!e)return;const n=e.getBoundingClientRect();if(n.width===0&&n.height===0)return;const s=e.querySelector(".component-btn-group");if(s){if(!et(e,o)){s.style.display="none";return}s.style.display="";const c=s.getBoundingClientRect(),a=s.querySelector("div");if(a){const g=a.getBoundingClientRect();a.style.top=c.top+"px",a.style.left=c.left-g.width+"px"}}}function nt(o,e,n){var A;const s="",i=t.ref();function c(){return!0}function a(){return!1}function g(){return!0}function m(){return!0}function u(){return!0}function h(C){if(!C||!C.value)return null;const w=t.ref(C==null?void 0:C.value.parent),M=h(w);return M||null}function f(C=e){const{componentInstance:w,designerItemElementRef:M}=C;return!w||!w.value?null:w.value.canMove||w.value.canAdd||w.value.canDelete?M:f(C.parent)}function b(C){return!!n}function y(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function S(){}function D(C,w){}function k(C){const{componentType:w}=C,M=t.inject("designer-host-service");let E=H(w,C,M);const L=w.toLowerCase().replace(/-/g,"_");return E&&!E.id&&E.type===w&&(E.id=`${L}_${Math.random().toString().slice(2,6)}`),E}function x(C){}function I(...C){return[]}function V(){}return i.value={canMove:c(),canSelectParent:a(),canAdd:m(),canDelete:g(),canNested:!u(),contents:[],elementRef:o,parent:(A=e.parent)==null?void 0:A.componentInstance,schema:e.schema,styles:s,canAccepts:b,getBelongedComponentInstance:h,getDraggableDesignItemElement:f,getDraggingDisplayText:y,getPropConfig:I,getDragScopeElement:S,onAcceptMovedChildElement:D,onChildElementMovedOut:x,addNewChildComponentSchema:k,onRemoveComponent:V,triggerBelongedComponentToMoveWhenMoved:t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:t.ref(!1)},i}const me=t.defineComponent({name:"FDesignerInnerItem",props:Ke,emits:["selectionChange","addComponent","removeComponent"],setup(o,e){const n=t.ref(o.canMove),s=t.ref(o.canAdd),i=t.ref(o.canDelete),c=t.ref(!1),a=t.ref(o.contentKey),g=t.ref(o.childType),m=t.ref(o.childLabel),u=t.ref(o.modelValue),h=t.ref(""),f=t.ref(),b=t.inject("canvas-dragula"),y=t.ref(),S=t.inject("design-item-context"),D={designerItemElementRef:f,componentInstance:y,schema:u.value,parent:S,setupContext:e};t.provide("design-item-context",D);const k=t.computed(()=>({"farris-component":!0,"flex-fill":o.id==="root-component","position-relative":n.value||i.value,"farris-nested":c.value,"can-move":n.value,"d-none":f.value&&f.value.classList.contains("d-none")})),x=t.computed(()=>{const r={};return h.value&&h.value.split(";").reduce((l,p)=>{const[T,P]=p.split(":");return T&&(l[T]=P),l},r),r});function I(r,l){if(S&&S.schema[a.value]){const p=S.schema[a.value].findIndex(T=>T.id===l.id);if(p>-1){const T=S.schema[a.value].length,P=S.schema[a.value][p%T];S.designerItemElementRef.value.querySelector(`#${P.id}-design-item`),S.schema[a.value].splice(p,1),fe.value++,e.emit("removeComponent")}}}function V(r){if(y.value.addNewChildComponentSchema){const l={componentType:g.value,label:m.value,parentComponentInstance:y.value,targetPosition:-1},p=y.value.addNewChildComponentSchema(l);u.value[a.value].push(p),e.emit("addComponent")}}function A(){return s.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:r=>{V()}},[t.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function C(r){return i.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:t.withModifiers(l=>I(l,r),["stop"])},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function w(){return n.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"移动",ref:"moveComponent"},[t.createVNode("i",{"data-dragging-icon":"true",class:"cmp_move f-icon f-icon-yxs_move"},null)])}function M(r){return t.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[t.createVNode("div",null,[A(),w(),C(r)])])}t.watch(()=>o.modelValue,r=>{u.value=r,D.schema=r});function E(r){const l=r.target;tt(l)}function L(){var r,l;(l=(r=u.value)==null?void 0:r.contents)!=null&&l.length&&f.value&&f.value.addEventListener("scroll",E)}function v(){const r=f.value,l=t.ref(r.children[1]);return nt(l,D).value}t.onMounted(()=>{if(f.value){const r=f.value.querySelector(`[data-dragref='${u.value.id}-container']`);y.value=r&&r.componentInstance?r.componentInstance.value:v(),b&&r&&b.attachComponents(r,u.value),c.value=y.value.canNested!==void 0?y.value.canNested:c.value,s.value=y.value.canAdd!==void 0?y.value.canAdd:s.value,i.value=y.value.canDelete!==void 0?y.value.canDelete:i.value,n.value=y.value.canMove!==void 0?y.value.canMove:n.value,h.value=y.value.styles||"",f.value&&(f.value.componentInstance=y,f.value.designItemContext=D)}L(),fe.value++}),t.onBeforeUnmount(()=>{f.value&&f.value.removeEventListener("scroll",E)});function d(r){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(T=>T.classList.remove("dgComponentFocused")),r&&(r.preventDefault(),r.stopPropagation());let l=D.designerItemElementRef;const p=f.value;if(p){const T=document.getElementsByClassName("dgComponentSelected");T&&T.length===1&&T[0]===f.value||(Array.from(T).forEach(B=>B.classList.remove("dgComponentSelected")),p.classList.add("dgComponentFocused"),e.emit("selectionChange",u.value.type,u.value,o.componentId,y.value),l=y.value.getDraggableDesignItemElement(D),l&&l.value&&l.value.classList.add("dgComponentSelected"))}E({target:l==null?void 0:l.value})}return()=>t.createVNode("div",{id:`${o.id}-design-item`,ref:f,class:k.value,style:x.value,onClick:d},[M(u.value),e.slots.default&&e.slots.default()])}});class ot extends te{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){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(e){this.propertyConfig.categories.appearance={title:"外观",properties:{class:{description:"组件的CSS样式",title:"class样式"},style:{description:"组件的内容样式",title:"style样式"}},setPropertyRelates(n,s){}}}getEventPropConfig(e){const n=[{label:"onClick",name:"点击事件"}],s=this,i=s.eventsEditorUtils.formProperties(e,s.viewModelId,n),c={};c[s.viewModelId]={type:"events-editor",editor:{initialData:i}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:c,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,g){const m=a.propertyValue;delete e[s.viewModelId],m&&(m.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,m.events,m))}}}}class rt extends te{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(),this.getAppearanceProperties(e),this.getbBehaviorConfig(),this.getEventPropConfig(e),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:O["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(e){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"",$converter:"/converter/appearance.converter"}}}}getEventPropConfig(e){const n=[{label:"onClick",name:"点击事件"}],s=this,i=s.eventsEditorUtils.formProperties(e,s.viewModelId,n),c={};c[s.viewModelId]={type:"events-editor",editor:{initialData:i}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:c,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(a,g){const m=a.propertyValue;delete e[s.viewModelId],m&&(m.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,m.events,m))}}}}function st(o,e){function n(g){return!1}function s(){return!1}function i(){return!0}function c(){return!1}function a(g){let m;switch(o.schema.type){case"tab-toolbar-item":m=new ot(g,e);break;default:m=new rt(g,e)}return m.getPropertyConfig(o.schema)}return{canAccepts:n,checkCanMoveComponent:s,checkCanDeleteComponent:i,checkCanAddComponent:c,getPropsConfig:a}}const it=t.defineComponent({name:"FResponseToolbarItemDesign",props:ue,emits:["Click"],setup(o,e){t.ref(),t.ref();const n=t.ref(o.alignment),s={id:"__more_buttons__",text:"More"},i=t.ref(new Y(s));t.computed(()=>i.value.children.length>0);const c=t.ref(),a=t.inject("designer-host-service"),g=t.inject("design-item-context"),m=st(g,a),u=oe.useDesignerInnerComponent(c,g,m);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{c.value.componentInstance=u}),e.expose(u.value);function h(){const y={"f-icon":!0},S=o.icon?o.icon.trim():"";return Z.getCustomClass(y,S)}function f(){return!!(o.icon&&o.icon.trim())}function b(){const y={btn:!0,"f-rt-btn":!0,"f-btn-ml":n.value==="right","f-btn-mr":n.value==="left","btn-icontext":!!(o.icon&&o.icon.trim()),disabled:o.disabled===!0};return Z.getCustomClass(y,o.class)}return()=>t.createVNode("div",{ref:c,"data-dragref":`${g.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[t.createVNode("button",{type:"button",class:b(),id:o.id},[f()&&t.createVNode("i",{class:h()},null),o.text])])}}),at=t.defineComponent({name:"FResponseToolbarDesign",props:Ue,emits:["Click"],setup(o,e){const n=t.ref(o.items);let s=new Array(n.value.length).fill(t.ref());const i=t.ref(),c=t.ref(),a=t.ref(o.alignment),g={id:"__more_buttons__",text:"More"},m=t.ref(new Y(g)),u=Qe();t.computed(()=>m.value.children.length>0);const h=t.ref(),f=t.inject("designer-host-service"),b=t.inject("design-item-context"),y=Ye(b,f),S=oe.useDesignerInnerComponent(h,b,y),D=t.inject("toolbar-item-handler",()=>{});t.onMounted(()=>{h.value.componentInstance=S}),e.expose(S.value);function k(){D&&D()}const x=t.computed(()=>{const r={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return Z.getCustomClass(r,o.customClass)}),I=t.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":a.value==="right","justify-content-start":a.value==="left"})),{renderToolbarDropdown:V,clearAllDropDown:A}=Je(o,u,S);function C(){n.value.filter(r=>r.children&&r.children.length>0).forEach(r=>{r.expanded=!1}),m.value.expanded=!1,A()}const w=new Map,M=[];function E(r){const l=c.value;let p=r;const T=Array.from(l.children),P=T[T.length-1].id==="__more_buttons__"?T[T.length-1]:null;if(P){const R=P.computedStyleMap().get("margin-left"),j=P.computedStyleMap().get("margin-right"),U=(R?R.value:0)+P.getBoundingClientRect().width+(j?j.value:0);p-=U}const B=T.filter(R=>R.id!=="__more_buttons__");for(const R of B){const j=R.computedStyleMap().get("margin-left"),U=R.computedStyleMap().get("margin-right"),Q=(j?j.value:0)+R.getBoundingClientRect().width+(U?U.value:0);p<Q?(w.set(R.id,!0),M.push({id:R.id,width:Q})):p-=Q}if(M.length)for(let R=M.length-1;R>=0;R--){const j=M[R].width;if(p>=j)p-=j,w.delete(M[R].id),M.pop();else break}const F=Object.assign({},m.value);F.children=[];const G=new Y(F),z=n.value.reduce((R,j)=>(w.has(j.id)&&G.children.push(j),j.visible=!w.has(j.id),R.push(j),R),[]);m.value=G,n.value=z}const L=new ResizeObserver(r=>{if(r.length){const p=r[0].contentRect.width,P=c.value.getBoundingClientRect().width;(p<P||M.length)&&E(p)}});t.onMounted(()=>{const r=i.value;L.observe(r),document.body.addEventListener("click",C)}),t.onUnmounted(()=>{L.disconnect(),document.body.removeEventListener("click",C)}),t.watch(()=>o.items,()=>{n.value=o.items},{deep:!0}),t.watch(n,r=>{s=new Array(n.value.length).fill(t.ref())});function v(r,l,p,T){b&&b.setupContext&&b.setupContext.emit("selectionChange",r,l,p,T)}function d(){const r=c.value.querySelector(".dgComponentFocused.dgComponentSelected");r==null||r.classList.remove("dgComponentSelected"),r==null||r.classList.remove("dgComponentFocused"),k()}return()=>t.createVNode("div",{ref:h,"data-dragref":`${b.schema.id}-container`,class:x.value},[t.createVNode("div",{ref:i,class:I.value},[t.createVNode("div",{ref:c,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[n.value.map((r,l)=>t.createVNode(me,{ref:s[l],class:"p-0 display-inline-block",modelValue:r,"onUpdate:modelValue":p=>r=p,canMove:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:o.componentId,id:r.id,style:"padding:0 !important;display:inline-block",onSelectionChange:v,onRemoveComponent:d},{default:()=>{var p;return[t.createVNode(it,{id:r.id,disabled:r.disabled,text:r.text,icon:r.icon,class:((p=r.appearance)==null?void 0:p.class)||"btn-secondary",alignment:o.alignment||"right",componentId:o.componentId},null)]}}))])])])}});function he(o,e){const n=t.computed(()=>"f-section-toolbar"+(o.buttonPosition==="inHead"?" f-section-header--toolbar":" f-section-content--toolbar")),s=t.ref(o.buttons),i=t.ref(e.schema.toolbar),c=e.schema.id,a=`${c}-toolbar`,g=t.computed(()=>o.buttonPosition==="inHead"?"right":"left");function m(u,h,f,b){var y;(y=e.setupContext)==null||y.emit("selectionChange",u,h,f,b)}return t.createVNode(t.Fragment,null,[i.value?t.createVNode("div",{class:n.value},[t.createVNode("div",{class:"w-100",style:"flex:1"},[t.createVNode(me,{modelValue:i.value,"onUpdate:modelValue":u=>i.value=u,class:"w-100 position-relative",canAdd:!0,childType:"section-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:a,onSelectionChange:m,componentId:c},{default:()=>[t.createVNode(at,{customClass:"d-block",items:s.value,alignment:g.value},null)]})])]):""])}function ct(o,e,n,s,i,c,a){const g=t.computed(()=>o.buttonPosition),{onClickMaxMinIcon:m}=ae(s,i,c),u=t.computed(()=>!!o.subTitle),h=t.computed(()=>o.enableMaximize),f=t.computed(()=>o.enableAccordion!==""),b=t.computed(()=>{const V={"f-section-header":!0};return e.slots.header&&o.headerClass.split(" ").reduce((C,w)=>(C[w]=!0,C),V),V});function y(V){V.stopPropagation(),o.enableAccordion!==""&&(n.value=!n.value)}function S(){const V=t.computed(()=>({btn:!0,"f-btn-collapse-expand":!0,"f-btn-mx":!0,"f-state-expand":n.value})),A=t.computed(()=>({"f-icon":!0,"f-icon-maximize":!c.value,"f-icon-minimize":c.value}));return t.createVNode("div",{class:"f-max-accordion"},[h.value?t.createVNode("span",{class:A.value,onClick:m},null):"",f.value?t.createVNode("button",{class:V.value,onClick:y},[t.createVNode("span",null,[n.value?o.collapseLabel:o.expandLabel])]):""])}function D(){return e.slots.header?t.createVNode("div",{class:b.value},[e.slots.header()]):""}function k(){return t.createVNode("div",{class:"f-title",onClick:y},[t.createVNode("h4",{class:"f-title-text"},[o.mainTitle]),u.value&&t.createVNode("span",null,[o.subTitle])])}function x(){const V=t.computed(()=>{const A={"f-content":!0};return o.headerContentClass&&o.headerContentClass.split(" ").reduce((w,M)=>(w[M]=!0,w),A),A});return e.slots.headerContent?t.createVNode("div",{class:V.value},[e.slots.headerContent()]):""}function I(){return t.createVNode("div",{class:b.value},[e.slots.headerTitle?e.slots.headerTitle():k(),x(),g.value==="inHead"&&he(o,a),(h.value||f.value)&&S()])}return()=>o.showHeader&&(e.slots.header?D():I())}const lt=t.defineComponent({name:"FSectionDesign",props:X,emits:[],setup(o,e){const n=t.ref(),s=t.ref(),i=t.ref(),c=t.inject("designer-host-service"),a=t.inject("design-item-context"),g=je(a,c),m=Le(n,a,g);m.value.styles="display: inherit;",t.onMounted(()=>{n.value.componentInstance=m}),e.expose(m.value);const u=t.ref(o.customClass),h=t.computed(()=>o.enableAccordion),f=t.ref(o.expandStatus),b=t.computed(()=>o.buttonPosition),y=t.ref(!1),S=ct(o,e,f,s,i,y,a),D=t.computed(()=>{const A={"f-section":!0,"f-section-accordion":h.value==="default","f-state-collapse":(h.value==="default"||h.value==="custom")&&!f.value,"f-section-custom-accordion":h.value==="custom","f-section-fill":o.fill,"f-section-maximize":y.value,"f-utils-fill":!0,"p-0":!0};return q(A,u.value)}),k=t.computed(()=>q({"f-section-content":!0,"drag-container":!0},o.contentClass)),x=t.computed(()=>q({"f-section-extend":!0},x.value));function I(){return e.slots.extend&&t.createVNode("div",{class:x.value},[e.slots.extend()])}function V(){return t.createVNode("div",{class:k.value,ref:n,"data-dragref":`${a.schema.id}-container`},[b.value==="inContent"&&he(o,a),e.slots.default&&e.slots.default()])}return()=>t.createVNode("div",{class:D.value,ref:s,style:o.customStyle},[S(),I(),V()])}}),dt=J({text:{type:String,default:""},icon:{type:String,default:""}},{$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/section-toolbar-item.schema.json",title:"section-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:"section-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"]});W.register=(o,e,n,s)=>{o.section=W,e.section=ee},W.registerDesigner=(o,e,n)=>{o.section=lt,e.section=ee,e["section-toolbar-item"]=dt};const ut=Z.withInstall(W);$.Section=W,$.default=ut,$.propsResolver=ee,$.sectionProps=X,Object.defineProperties($,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function($,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("lodash-es"),require("../response-toolbar/index.umd.js"),require("bignumber.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../response-toolbar/index.umd.js","bignumber.js","../designer-canvas/index.umd.js","../common/index.umd.js"],t):($=typeof globalThis<"u"?globalThis:$||self,t($.section={},$.Vue,$.LodashES,$.FResponseToolbar,$.BigNumber,$.designerCanvas,$.common))})(this,function($,t,_,ye,gt,oe,Z){"use strict";var mt=Object.defineProperty;var ht=($,t,_)=>t in $?mt($,t,{enumerable:!0,configurable:!0,writable:!0,value:_}):$[t]=_;var N=($,t,_)=>ht($,typeof t!="symbol"?t+"":t,_);const re={},se={};function K(o){const{properties:e,title:n,ignore:s}=o,a=s&&Array.isArray(s),c=Object.keys(e).reduce((i,g)=>((!a||!s.find(m=>m===g))&&(i[g]=e[g].type==="object"&&e[g].properties?K(e[g]):_.cloneDeep(e[g].default)),i),{});if(n&&(!a||!s.find(i=>i==="id"))){const i=n.toLowerCase().replace(/-/g,"_");c.id=`${i}_${Math.random().toString().slice(2,6)}`}return c}function be(o){const{properties:e,title:n,required:s}=o;if(s&&Array.isArray(s)){const a=s.reduce((c,i)=>(c[i]=e[i].type==="object"&&e[i].properties?K(e[i]):_.cloneDeep(e[i].default),c),{});if(n&&s.find(c=>c==="id")){const c=n.toLowerCase().replace(/-/g,"_");a.id=`${c}_${Math.random().toString().slice(2,6)}`}return a}return{type:n}}function H(o,e={},n){const s=re[o];if(s){let a=be(s);const c=se[o];return a=c?c({getSchemaByType:H},a,e,n):a,a}return null}function Ce(o,e){const n=K(e);return Object.keys(n).reduce((s,a)=>(Object.prototype.hasOwnProperty.call(o,a)&&(s[a]&&_.isPlainObject(s[a])&&_.isPlainObject(o[a]||!o[a])?Object.assign(s[a],o[a]||{}):s[a]=o[a]),s),n),n}function ve(o,e){return Object.keys(o).filter(s=>o[s]!=null).reduce((s,a)=>{if(e.has(a)){const c=e.get(a);if(typeof c=="string")s[c]=o[a];else{const i=c(a,o[a],o);Object.assign(s,i)}}else s[a]=o[a];return s},{})}function Te(o,e,n=new Map){const s=Ce(o,e);return ve(s,n)}function we(o={}){function e(u,h,f,b){if(typeof f=="number")return b[u].length===f;if(typeof f=="object"){const y=Object.keys(f)[0],S=f[y];if(y==="not")return Number(b[u].length)!==Number(S);if(y==="moreThan")return Number(b[u].length)>=Number(S);if(y==="lessThan")return Number(b[u].length)<=Number(S)}return!1}function n(u,h,f,b){return b[u]&&b[u].propertyValue&&String(b[u].propertyValue.value)===String(f)}const s=new Map([["length",e],["getProperty",n]]);Object.keys(o).reduce((u,h)=>(u.set(h,o[h]),u),s);function a(u,h){const f=u;return typeof h=="number"?[{target:f,operator:"length",param:null,value:Number(h)}]:typeof h=="boolean"?[{target:f,operator:"getProperty",param:u,value:!!h}]:typeof h=="object"?Object.keys(h).map(b=>{if(b==="length")return{target:f,operator:"length",param:null,value:h[b]};const y=b,S=h[b];return{target:f,operator:"getProperty",param:y,value:S}}):[]}function c(u){return Object.keys(u).reduce((f,b)=>{const y=a(b,u[b]);return f.push(...y),f},[])}function i(u,h){if(s.has(u.operator)){const f=s.get(u.operator);return f&&f(u.target,u.param,u.value,h)||!1}return!1}function g(u,h){return c(u).reduce((y,S)=>y&&i(S,h),!0)}function m(u,h){const f=Object.keys(u),b=f.includes("allOf"),y=f.includes("anyOf"),S=b||y,x=(S?u[S?b?"allOf":"anyOf":"allOf"]:[u]).map(V=>g(V,h));return b?!x.includes(!1):x.includes(!0)}return{parseValueSchema:m}}const F={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"}},Se={},Me={};we();function J(o,e,n=new Map,s=(i,g,m,u)=>g,a={},c=i=>i){return re[e.title]=e,se[e.title]=s,Se[e.title]=a,Me[e.title]=c,(i={})=>{const g=Te(i,e,n),m=Object.keys(o).reduce((u,h)=>(u[h]=o[h].default,u),{});return Object.assign(m,g)}}function ie(o,e){return{customClass:e.class,customStyle:e.style}}function Pe(o,e,n){return e?{enableAccordion:n.accordionMode}:{enableAccordion:""}}function De(o,e){return{buttons:e.buttons,buttonPosition:e.position}}const Ne=new Map([["appearance",ie],["expanded","expandStatus"],["enableAccordion",Pe],["toolbar",De]]);function Ve(o,e,n){const s=Math.random().toString().slice(2,6),a=n.parentComponentInstance;Object.assign(e,{id:`section-${s}`,appearance:{class:"f-section-in-mainsubcard"},mainTitle:n.mainTitle||e.mainTitle||"标题"});const c=o.getSchemaByType("content-container");Object.assign(c,{id:`container-${s}`,appearance:{class:"f-struct-wrapper"},contents:[e]});const i=a.schema;switch(i&&i.type){case F["splitter-pane"].type:{e.appearance.class="f-section-in-main";break}}const g=a.elementRef,m=window.getComputedStyle(g);return m&&m.display==="flex"&&(c.appearance.class+=" d-block"),c}function Ae(o,e,n){return n.parentComponentInstance?Ve(o,e,n):e}const ke={$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"]},X={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}},ee=J(X,ke,Ne,Ae);function ae(o,e,n){let s;function a(m=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"],h=Array.from(document.body.querySelectorAll(u.join(","))).filter(b=>b).map(b=>{const{display:y,zIndex:S}=window.getComputedStyle(b);return y==="none"?0:parseInt(S,10)}).filter(b=>b);let f=Math.max(...h);return f<1040&&(f=1040),f+m}function c(){s=o.value.nextElementSibling;const m=document&&document.querySelector("body");m&&(m.appendChild(o.value),o.value.style.zIndex=a())}function i(){s?e.value.insertBefore(o.value,s):e.value.appendChild(o.value),o.value.style.zIndex=null}function g(){!o||!e.value||(n.value=!n.value,n.value?c():i())}return{onClickMaxMinIcon:g}}function ce(o,e){const n=t.ref(o.buttons),s=t.computed(()=>o.buttonPosition==="inHead"?"right":"left"),a=t.computed(()=>"f-section-toolbar"+(o.buttonPosition==="inHead"?" f-section-header--toolbar":" f-section-content--toolbar")),c=t.computed(()=>o.buttons&&o.buttons.length>0&&o.buttonPosition==="inHead");function i(g){e.emit("Click",g)}return()=>c.value&&t.createVNode(ye,{customClass:a.value,items:n.value,onClick:i,alignment:s.value},null)}function xe(o,e,n,s,a,c){t.ref(o.subTitle);const i=t.computed(()=>o.buttonPosition),g=ce(o,e),{onClickMaxMinIcon:m}=ae(s,a,c),u=t.computed(()=>!!o.subTitle),h=t.computed(()=>o.enableMaximize),f=t.computed(()=>o.enableAccordion!==""),b=t.computed(()=>{const V={"f-section-header":!0};return e.slots.header&&o.headerClass.split(" ").reduce((C,w)=>(C[w]=!0,C),V),V});function y(V){V.stopPropagation(),o.enableAccordion!==""&&(n.value=!n.value)}function S(){const V=t.computed(()=>({btn:!0,"f-btn-collapse-expand":!0,"f-btn-mx":!0,"f-state-expand":n.value})),A=t.computed(()=>({"f-icon":!0,"f-icon-maximize":!c.value,"f-icon-minimize":c.value}));return t.createVNode("div",{class:"f-max-accordion"},[h.value?t.createVNode("span",{class:A.value,onClick:m},null):"",f.value?t.createVNode("button",{class:V.value,onClick:y},[t.createVNode("span",null,[n.value?o.collapseLabel:o.expandLabel])]):""])}function D(){return e.slots.header?t.createVNode("div",{class:b.value},[e.slots.header()]):""}function k(){return t.createVNode("div",{class:"f-title",onClick:y},[t.createVNode("h4",{class:"f-title-text"},[o.mainTitle]),u.value&&t.createVNode("span",null,[o.subTitle])])}function x(){const V=t.computed(()=>{const A={"f-content":!0};return o.headerContentClass&&o.headerContentClass.split(" ").reduce((w,M)=>(w[M]=!0,w),A),A});return e.slots.headerContent?t.createVNode("div",{class:V.value},[e.slots.headerContent()]):""}function I(){return t.createVNode("div",{class:b.value},[e.slots.headerTitle?e.slots.headerTitle():k(),x(),i.value==="inHead"&&g(),(h.value||f.value)&&S()])}return()=>o.showHeader&&(e.slots.header?D():I())}const Ee=["moz","ms","webkit"];function Be(){let o=0;return e=>{const n=new Date().getTime(),s=Math.max(0,16-(n-o)),a=setTimeout(()=>{e(n+s)},s);return o=n+s,a}}function Ie(){if(typeof window>"u")return()=>0;if(window.requestAnimationFrame)return window.requestAnimationFrame.bind(window);const o=Ee.filter(e=>`${e}RequestAnimationFrame`in window)[0];return o?window[`${o}RequestAnimationFrame`]:Be()}Ie();function q(o,e){return((e==null?void 0:e.split(" "))||[]).reduce((s,a)=>(a&&(s[a]=!0),s),o),o}const W=t.defineComponent({name:"FSection",props:X,emits:[],setup(o,e){const n=t.ref(),s=t.ref(),a=t.ref(o.customClass),c=t.computed(()=>o.enableAccordion),i=t.ref(o.expandStatus),g=t.computed(()=>o.buttonPosition),m=t.ref(!1),u=xe(o,e,i,n,s,m),h=ce(o,e),f=t.computed(()=>{const k={"f-section":!0,"f-section-accordion":c.value==="default","f-state-collapse":(c.value==="default"||c.value==="custom")&&!i.value,"f-section-custom-accordion":c.value==="custom","f-section-fill":o.fill,"f-section-maximize":m.value};return q(k,a.value)}),b=t.computed(()=>q({"f-section-content":!0},o.contentClass)),y=t.computed(()=>q({"f-section-extend":!0},y.value));function S(){return e.slots.extend&&t.createVNode("div",{class:y.value},[e.slots.extend()])}function D(){return t.createVNode("div",{class:b.value},[g.value==="inContent"&&h(),e.slots.default&&e.slots.default()])}return t.watch(()=>o.expandStatus,(k,x)=>{k!==x&&(i.value=k)}),t.onMounted(()=>{n.value&&n.value&&(s.value=n.value.parentElement)}),()=>t.createVNode("div",{class:f.value,ref:n,style:o.customStyle},[u(),S(),D()])}});function $e(){function o(e,n){var i;if(!e)return!1;const s=((i=e.targetContainer)==null?void 0:i.componentInstance)&&e.targetContainer.componentInstance.value;if(!s)return!1;const a=s.schema.type,c=n==null?void 0:n.formSchemaUtils.getComponentById(s.belongedComponentId);return!((e.componentCategory==="input"||e.componentType==="form-group")&&![F["response-layout-item"].type,F["response-form"].type].includes(a)||(e.componentType===F.tabs.type||e.componentType===F.section.type)&&((c==null?void 0:c.componentType)!=="frame"||![F["content-container"].type,F["splitter-pane"].type,F["response-layout-item"].type].includes(a)))}return{basalDragulaRuleForContainer:o}}const Re={title:"section",description:"A Farris Container Component",type:"object",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:"section",value:"分组面板"}]}}}},appearance:{title:"外观",description:"Appearance",properties:{class:{description:"组件的CSS样式",title:"class样式"},style:{description:"组件的内容样式",title:"style样式"},showHeader:{title:"显示标题区域",type:"boolean",description:""},mainTitle:{title:"主标题",type:"string",description:"",visible:{showHeader:!0}},subTitle:{title:"副标题",type:"string",description:"",visible:{showHeader:!0}},fill:{title:"填充内容区域",type:"boolean",description:""},enableAccordion:{title:"允许收折",type:"boolean",description:"",visible:{showHeader:!0}}},setPropertyRelates(o,e){if(o)switch(o&&o.propertyID){case"mainTitle":{o.needRefreshControlTree=!0;break}}}},extends:{title:"扩展",description:"",properties:{contentClass:{title:"内容区域样式",type:"string",description:""}}}}};class je{getTemplateRule(e,n){const s=n==null?void 0:n.formSchemaUtils,a=s==null?void 0:s.getFormTemplateRule(),c={canAccept:!0,canDelete:!0,canMove:!0};if(!a)return c;const i=this.getComponentContext(e),{componentClassList:g}=i;return g.forEach(m=>{if(!m||!a[m])return;const{canMove:u,canDelete:h,canAccept:f}=a[m];c.canMove=c.canMove&&this.resolveRuleValue(u,i),c.canDelete=c.canDelete&&this.resolveRuleValue(h,i),c.canAccept=c.canAccept&&this.resolveRuleValue(f,i)}),c}resolveRuleValue(e,n){return typeof e=="boolean"?e:this.parseRuleValueSchema(e,n)}parseRuleValueSchema(e,n){const s=e.invalidContext||[];let a=!0;for(const c of s){if(c.firstLevelChild){if(c.firstLevelChild.class){const{firstLevelChildClassList:i}=n;if(i&&!i.includes(c.firstLevelChild.class)){a=!1;continue}}if(c.firstLevelChild.type){const{firstLevelChildSchema:i}=n;if(!i||i.type!==c.firstLevelChild.type){a=!1;continue}}}if(c.secondLevelChild){if(c.secondLevelChild.class){const{secondLevelChildClassList:i}=n;if(i&&!i.includes(c.secondLevelChild.class)){a=!1;continue}}if(c.secondLevelChild.type){const{secondLevelChildSchema:i}=n;if(!i||i.type!==c.secondLevelChild.type){a=!1;continue}}}if(c.parent){if(c.parent.class){const{parentClassList:i}=n;if(i&&!i.includes(c.parent.class)){a=!1;continue}}if(c.parent.type){const{parentSchema:i}=n;if(i&&i.type!==c.parent.type){a=!1;continue}}}a=!0;break}return!a}getComponentContext(e){var D,k,x,I;const n=e.schema,s=n.appearance&&n.appearance.class||"",a=s.split(" ")||[],c=n.contents||[],i=c.length?c[0]:null,g=i&&i.appearance?i.appearance.class:"",m=g?g.split(" "):[],u=(D=i==null?void 0:i.contents)!=null&&D.length?i==null?void 0:i.contents[0]:null,h=u&&u.appearance?u.appearance.class:"",f=h?h.split(" "):[],b=n.type==="component"?(x=(k=e.parent)==null?void 0:k.parent)==null?void 0:x.schema:(I=e.parent)==null?void 0:I.schema,y=b&&b.appearance&&b.appearance.class||"",S=y?y.split(" "):[];return{componentClass:s,componentClassList:a,childContents:c,firstLevelChildSchema:i,firstLevelChildClass:g,firstLevelChildClassList:m,secondLevelChildSchema:u,secondLevelChildClass:h,secondLevelChildClassList:f,parentSchema:b,parentClass:y,parentClassList:S}}}function Le(o,e){const n=new je;function s(m){return Re}function a(m){if(!$e().basalDragulaRuleForContainer(m,e))return!1;const{canAccept:h}=n.getTemplateRule(o,e);return h}function c(){const{canDelete:m}=n.getTemplateRule(o,e);return m}function i(){const{canMove:m}=n.getTemplateRule(o,e);return m}function g(){const{canMove:m,canDelete:u}=n.getTemplateRule(o,e);return!m&&!u}return{canAccepts:a,checkCanDeleteComponent:c,checkCanMoveComponent:i,hideNestedPaddingInDesginerView:g,getPropsConfig:s}}function Oe(o,e,n){var A;const s=n&&n.getStyles&&n.getStyles()||"",a=n&&n.getDesignerClass&&n.getDesignerClass()||"",c=t.ref();function i(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanMoveComponent?n.checkCanMoveComponent():!0}function g(){return!1}function m(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanDeleteComponent?n.checkCanDeleteComponent():!0}function u(){return(e==null?void 0:e.schema.componentType)==="frame"?!0:n&&n.hideNestedPaddingInDesginerView?n.hideNestedPaddingInDesginerView():!1}function h(C){if(!C||!C.value)return null;if(C.value.schema&&C.value.schema.type==="component")return C.value;const w=t.ref(C==null?void 0:C.value.parent),M=h(w);return M||null}function f(C=e){const{componentInstance:w,designerItemElementRef:M}=C;return!w||!w.value?null:w.value.canMove?M:f(C.parent)}function b(C){return!!n&&n.canAccepts(C)}function y(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function S(){}function D(C,w){w&&n!=null&&n.onAcceptMovedChildElement&&n.onAcceptMovedChildElement(w)}function k(C,w){const{componentType:M}=C;let E=H(M,C,w);n&&n.onResolveNewComponentSchema&&(E=n.onResolveNewComponentSchema(C,E));const L=M.toLowerCase().replace(/-/g,"_");return E&&!E.id&&E.type===M&&(E.id=`${L}_${Math.random().toString().slice(2,6)}`),E}function x(C){}function I(...C){if(n&&n.getPropsConfig)return n.getPropsConfig(...C)}function V(){n&&n.onRemoveComponent&&n.onRemoveComponent(),e!=null&&e.schema.contents&&e.schema.contents.map(C=>{var E;let w=C.id;C.type==="component-ref"&&(w=C.component);const M=o.value.querySelector(`#${w}-design-item`);(E=M==null?void 0:M.componentInstance)!=null&&E.value.onRemoveComponent&&M.componentInstance.value.onRemoveComponent()})}return c.value={canMove:i(),canSelectParent:g(),canDelete:m(),canNested:!u(),contents:e==null?void 0:e.schema.contents,elementRef:o,parent:(A=e==null?void 0:e.parent)==null?void 0:A.componentInstance,schema:e==null?void 0:e.schema,styles:s,designerClass:a,canAccepts:b,getBelongedComponentInstance:h,getDraggableDesignItemElement:f,getDraggingDisplayText:y,getPropConfig:I,getDragScopeElement:S,onAcceptMovedChildElement:D,onChildElementMovedOut:x,addNewChildComponentSchema:k,triggerBelongedComponentToMoveWhenMoved:!!n&&n.triggerBelongedComponentToMoveWhenMoved||t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!n&&n.triggerBelongedComponentToDeleteWhenDeleted||t.ref(!1),onRemoveComponent:V},c}const Fe=new Map([["buttons","items"],["appearance",ie]]);function _e(o,e){return{class:e.class,style:e.style}}const qe=new Map([["appearance",_e]]);function le(o,e,n){return e}const ze={$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"]},Ue={$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"]},de={customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]}},He=Object.assign({},de,{componentId:{type:String,default:""}});J(de,ze,Fe,le);const ue={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"}};J(ue,Ue,qe,le);class pe{constructor(e){N(this,"id","");N(this,"class","btn-secondary");N(this,"icon","");N(this,"groupId","");N(this,"order",-1);N(this,"asDropDownTop",!1);N(this,"text","");N(this,"visible",!0);N(this,"responsed",!1);N(this,"tipsEnable",!1);N(this,"tipsText","");N(this,"width",0);N(this,"onClick",()=>{});N(this,"options");this.options=e;const n=["id","class","icon","groupId","order","asDropDownTop","text","isDP","visible","responsed","width","tipsEnable","tipsText","onClick"];Object.keys(e).filter(s=>n.indexOf(s)>-1).forEach(s=>{this[s]=e[s]})}get enable(){return Object.keys(this.options).indexOf("disabled")>-1?!this.options.disabled:t.computed(()=>!0)}setWidth(e){this.width=parseInt(e,10)}getWidth(){return this.visible?this.width:!1}}class We extends pe{constructor(e){super(e)}}function Ge(){function o(e){const n=[];return e.reduce((s,a)=>(a.children&&a.children.length>0?s.push(new Y(a)):s.push(new We(a)),s),n),n}return{buildResponseToolbarItems:o}}const{buildResponseToolbarItems:Qe}=Ge();class Y extends pe{constructor(n){super(n);N(this,"placement","");N(this,"dropdownClass","");N(this,"menuClass","");N(this,"split",!1);N(this,"children",[]);N(this,"expanded",!1);const s=["isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(n).filter(a=>s.indexOf(a)>-1).forEach(a=>{this[a]=n[a]}),n.children&&n.children.length&&(this.children=Qe(n.children))}}function Ze(){function o(n){const s={"f-icon":!0};if(n.icon){const a=n.icon.trim().split(" ");a&&a.length&&a.reduce((c,i)=>(c[i]=!0,c),s)}return s}function e(n){return!!(n.icon&&n.icon.trim())}return{iconClass:o,shouldShowIcon:e}}function Je(o,e){const n=t.inject("design-item-context"),s=t.inject("toolbar-item-handler",()=>{});function a(){s&&s()}function c(d){const r={"dropdown-menu":!0};if(d.class){const l=d.menuClass.split(" ");l&&l.length&&l.reduce((p,T)=>(p[T]=!0,p),r)}return r}function i(d){const r={disabled:!d.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},l=d.dropdownClass.split(" ");return l&&l.length&&l.reduce((p,T)=>(p[T]=!0,p),r),r}function g(d){const r={disabled:!d.enable,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0},l=d.class.split(" ");return l&&l.length&&l.reduce((p,T)=>(p[T]=!0,p),r),r}let m;const u=new Map;function h(d,r,l){var T;((T=d.target)==null?void 0:T.id)===r.id&&d.stopPropagation();const p=l?l.id:"__top_item__";if(r.children&&r.children.length&&(r.expanded=!r.expanded,r.expanded?u.set(p,r):u.delete(p)),u.has(p)&&u.get(p)!==r){const P=u.get(p);P&&(P.expanded=!1)}}function f(d){d&&(d.stopPropagation(),d.preventDefault())}function b(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(r=>r.classList.remove("dgComponentFocused"));const d=document.getElementsByClassName("dgComponentSelected");Array.from(d).forEach(r=>r.classList.remove("dgComponentSelected"))}function y(d){d.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function S(d){const{buttons:r=[]}=n.schema;let l=[];r.forEach(P=>{l=l.concat(P.children||[])});const p=l.findIndex(P=>P.id===d),T=p===-1?null:l[p];return{index:p,item:T}}function D(d){const{buttons:r=[]}=n.schema,l=r.findIndex(T=>T.id===d),p=l===-1?null:r[l];return{index:l,item:p}}function k(d){var p;n.schema;const{index:r,item:l}=S(d);(p=n==null?void 0:n.setupContext)==null||p.emit("selectionChange",l==null?void 0:l.type,l)}const x=function(d){const{componentType:r}=d,l=H(r,d),p=r.toLowerCase().replace("-","_");return l&&!l.id&&l.type===r&&(l.id=`${p}_${Math.random().toString().slice(2,6)}`),l},I=function(){const d={componentType:"response-toolbar-item",parentComponentInstance:e.value,targetPosition:-1};return x(d)};function V(d,r){f(d),b(),y(d),k(r.id)}function A(d,r,l){f(d);const p=r.id,T=l&&l.id,{buttons:P=[]}=n.schema;if(!T)return;const{index:B}=D(T);if(B===-1)return;const{index:O}=S(p);O!==-1&&(P[B].children.splice(O,1),a())}function C(d,r,l){f(d);const p=l&&l.id,{buttons:T=[]}=n.schema;if(!p)return;const{index:P}=D(p);if(P===-1)return;const B=I(),O=Object.assign({},B,{text:r.text});T[P].children.push(O),a()}function w(d,r,l){f(d);const p=l&&l.id,{buttons:T=[]}=n.schema;if(!p)return;const{index:P}=D(p);if(P===-1)return;const B=I(),O=Object.assign({},B,{text:"按钮"});T[P].children.push(O),a()}function M(d,r){return t.createVNode("div",{class:"component-btn-group"},[t.createVNode("div",null,[t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:l=>A(l,d,r)},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:l=>C(l,d,r)},[t.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增同级",ref:"appendSame",style:"width:85px!important;padding:0 5px;position:static;",onClick:l=>w(l,d,r)},[t.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),t.createVNode("span",{style:"font-size:13px;margin:auto"},[t.createTextVNode("新增同级")])])])])}function E(d){return d.children.map(r=>r.children&&r.children.length?t.createVNode("li",{class:i(r),id:r.id,onClick:l=>r.enable&&h(l,r,d)},[t.createVNode("span",{id:r.id,class:g(r),onMouseover:l=>r.enable&&h(l,r,d)},[r.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),m(r,r)]):t.createVNode("li",{class:g(r),id:r.id,onClick:l=>V(l,r)},[M(r,d),o.shouldShowIcon(r)&&t.createVNode("i",{class:o.iconClass(r)},null),r.text]))}function L(d,r,l){const p={display:d.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},T=document.getElementsByTagName("body")[0].getClientRects()[0].width,P=r,B=P==null?void 0:P.getClientRects();if(P&&B&&B.length){const{top:O,width:G,left:z,right:R,height:j}=B[0],U=Math.ceil(j+O);p.top=`${U}px`,p.left=`${z}px`;const Q=d.id+"_menu",ne=r?r.querySelector("#"+Q):null;if(ne){p.display==="block"&&(ne.style.display="block");const ge=ne.getBoundingClientRect();if(l){p.top=`${O-6}px`;const ft=Math.ceil(G+z);p.left=`${ft}px`}T-z-G<ge.width&&(p.left=`${(l?z:R)-ge.width}px`)}}return p}m=function(d,r){var P,B;const l=t.getCurrentInstance(),p=r?r.id:d.id,T=(B=(P=l==null?void 0:l.exposed)==null?void 0:P.elementRef.value)==null?void 0:B.querySelector("#"+p);return t.createVNode("ul",{class:c(d),style:L(d,T,r),id:d.id+"_menu"},[E(d)])};function v(){u.forEach(d=>{d.expanded=!1}),u.clear()}return{renderDropdownMenu:m,clearAllDropDownMenu:v}}function Xe(o,e,n){const s=t.ref(o.alignment),{renderDropdownMenu:a,clearAllDropDownMenu:c}=Je(e,n),i=t.inject("design-item-context"),g=t.inject("toolbar-item-handler",()=>{});function m(){g&&g()}function u(v){const d={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":s.value==="right","f-btn-mr":s.value==="left"},r=v.dropdownClass.split(" ");return r&&r.length&&r.reduce((l,p)=>(l[p]=!0,l),d),d}function h(v){const d={btn:!0,disabled:!v.enable,"position-relative":!0,"farris-component":!0,"f-rt-btn":!0,"btn-icontext":!!(v.icon&&v.icon.trim())};if(v.class){const r=v.class.split(" ");r&&r.length&&r.reduce((l,p)=>(l[p]=!0,l),d)}return d}function f(v){v&&(v.stopPropagation(),v.preventDefault())}function b(v,d){f(v);const r=d.expanded;document.body.click(),d.expanded=!r}const y=function(v){const{componentType:d}=v,r=H(d,v),l=d.toLowerCase().replace("-","_");return r&&!r.id&&r.type===d&&(r.id=`${l}_${Math.random().toString().slice(2,6)}`),r},S=function(){const v={componentType:"response-toolbar-item",parentComponentInstance:n.value,targetPosition:-1};return y(v)};function D(v){const d=i.schema.buttons||i.schema.contents,r=d==null?void 0:d.findIndex(p=>p.id===v),l=r===-1?null:d[r];return{index:r,toolbarItem:l}}function k(v,d){var B;const{index:r,toolbarItem:l}=D(d);if(r===-1)return;const p=l.text||"按钮",T=S(),P=Object.assign({},T,{text:p});(B=i.schema.buttons)==null||B.push(P),m()}function x(v,d){const{index:r,toolbarItem:l}=D(d);if(r===-1)return;const p=l.text||"按钮",T=S(),P=Object.assign({},T,{text:p}),B=i.schema.buttons[r].children||[];B.push(P),i.schema.buttons[r].children=B,m()}function I(v,d){const r=i.schema.buttons||i.schema.contents,l=r==null?void 0:r.findIndex(p=>p.id===d);l!==-1&&(r.splice(l,1),m())}function V(v){return t.createVNode("div",{class:"component-btn-group"},[t.createVNode("div",null,[t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:d=>I(d,v)},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:d=>k(d,v)},[t.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增子级",ref:"appendChildButton",style:"width:85px!important;padding:0 5px;position:static;",onClick:d=>x(d,v)},[t.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),t.createVNode("span",{style:"font-size:13px;margin:auto"},[t.createTextVNode("新增子级")])])])])}function A(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(d=>d.classList.remove("dgComponentFocused"));const v=document.getElementsByClassName("dgComponentSelected");Array.from(v).forEach(d=>d.classList.remove("dgComponentSelected"))}function C(v){v.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function w(v){var p;const d=i.schema.buttons||i.schema.contents,r=d==null?void 0:d.findIndex(T=>T.id===v);if(r===-1)return;const l=d[r];(p=i==null?void 0:i.setupContext)==null||p.emit("selectionChange","response-toolbar-item",l)}function M(v,d){f(v),A(),C(v),f(v),b(v,d),w(d.id)}function E(v){return t.createVNode("div",{id:v.id,class:u(v)},[t.createVNode("div",{class:h(v),style:"display: flex;padding-right: 0.1rem;",onClick:d=>v.enable&&M(d,v)},[V(v.id),e.shouldShowIcon(v)&&t.createVNode("i",{class:e.iconClass(v)},null),t.createVNode("span",null,[v.text]),t.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)]),a(v)])}function L(){c()}return{renderToolbarDropdown:E,clearAllDropDown:L}}class te{constructor(e,n){N(this,"componentId");N(this,"viewModelId");N(this,"eventsEditorUtils");N(this,"formSchemaUtils");N(this,"formMetadataConverter");N(this,"designViewModelUtils");N(this,"designViewModelField");N(this,"controlCreatorUtils");N(this,"designerHostService");N(this,"schemaService",null);N(this,"metadataService",null);N(this,"propertyConfig",{type:"object",categories:{}});var s;this.componentId=e,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((s=this.formSchemaUtils)==null?void 0:s.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService,this.schemaService=n.schemaService}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){var s;const n=e.binding&&e.binding.type==="Form"&&e.binding.field;if(n){if(!this.designViewModelField){const a=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=a.fields.find(c=>c.id===n)}e.updateOn=(s=this.designViewModelField)==null?void 0:s.updateOn}}changeFieldEditorType(e,n){}getBasicPropConfig(e){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:e.type,name:F[e.type].name}]}}}}}getAppearanceConfig(e=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(e,n){const s=n&&n.parent&&n.parent.schema;if(!s)return;const a=s.contents.findIndex(i=>i.id===e),c=_.cloneDeep(s.contents[a]);s.contents.splice(a,1),s.contents.splice(a,0,c)}}class Ye extends te{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearancePropConfig(e),this.getBehaviorProperties(e),this.propertyConfig}getAppearancePropConfig(e){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"}}}}getBasicPropConfig(e){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:F["response-toolbar"].name}]}}}}}getBehaviorProperties(e){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 Ke(o,e){const n=o.schema;function s(h){return!1}function a(h,f){return f.text=h.label,f}function c(){return!1}function i(){return!1}function g(){return!0}function m(){return!0}function u(h){return new Ye(h,e).getPropertyConfig(n)}return{canAccepts:s,checkCanAddComponent:g,checkCanDeleteComponent:i,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:m,onResolveNewComponentSchema:a,getPropsConfig:u}}const et={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}},fe=t.ref(0);function tt(o,e){const n=e.getBoundingClientRect(),s=o.getBoundingClientRect(),a=s.top>=n.top,c=s.top<=n.bottom;return a&&c}function nt(o){if(!o)return;let e;if(o.className.includes("dgComponentSelected")?e=o:e=o.querySelector(".dgComponentSelected"),!e)return;const n=e.getBoundingClientRect();if(n.width===0&&n.height===0)return;const s=e.querySelector(".component-btn-group");if(s){if(!tt(e,o)){s.style.display="none";return}s.style.display="";const c=s.getBoundingClientRect(),i=s.querySelector("div");if(i){const g=i.getBoundingClientRect();i.style.top=c.top+"px",i.style.left=c.left-g.width+"px"}}}function ot(o,e,n){var A;const s="",a=t.ref();function c(){return!0}function i(){return!1}function g(){return!0}function m(){return!0}function u(){return!0}function h(C){if(!C||!C.value)return null;const w=t.ref(C==null?void 0:C.value.parent),M=h(w);return M||null}function f(C=e){const{componentInstance:w,designerItemElementRef:M}=C;return!w||!w.value?null:w.value.canMove||w.value.canAdd||w.value.canDelete?M:f(C.parent)}function b(C){return!!n}function y(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function S(){}function D(C,w){}function k(C){const{componentType:w}=C,M=t.inject("designer-host-service");let E=H(w,C,M);const L=w.toLowerCase().replace(/-/g,"_");return E&&!E.id&&E.type===w&&(E.id=`${L}_${Math.random().toString().slice(2,6)}`),E}function x(C){}function I(...C){return[]}function V(){}return a.value={canMove:c(),canSelectParent:i(),canAdd:m(),canDelete:g(),canNested:!u(),contents:[],elementRef:o,parent:(A=e.parent)==null?void 0:A.componentInstance,schema:e.schema,styles:s,canAccepts:b,getBelongedComponentInstance:h,getDraggableDesignItemElement:f,getDraggingDisplayText:y,getPropConfig:I,getDragScopeElement:S,onAcceptMovedChildElement:D,onChildElementMovedOut:x,addNewChildComponentSchema:k,onRemoveComponent:V,triggerBelongedComponentToMoveWhenMoved:t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:t.ref(!1)},a}const me=t.defineComponent({name:"FDesignerInnerItem",props:et,emits:["selectionChange","addComponent","removeComponent"],setup(o,e){const n=t.ref(o.canMove),s=t.ref(o.canAdd),a=t.ref(o.canDelete),c=t.ref(!1),i=t.ref(o.contentKey),g=t.ref(o.childType),m=t.ref(o.childLabel),u=t.ref(o.modelValue),h=t.ref(""),f=t.ref(),b=t.inject("canvas-dragula"),y=t.ref(),S=t.inject("design-item-context"),D={designerItemElementRef:f,componentInstance:y,schema:u.value,parent:S,setupContext:e};t.provide("design-item-context",D);const k=t.computed(()=>({"farris-component":!0,"flex-fill":o.id==="root-component","position-relative":n.value||a.value,"farris-nested":c.value,"can-move":n.value,"d-none":f.value&&f.value.classList.contains("d-none")})),x=t.computed(()=>{const r={};return h.value&&h.value.split(";").reduce((l,p)=>{const[T,P]=p.split(":");return T&&(l[T]=P),l},r),r});function I(r,l){if(S&&S.schema[i.value]){const p=S.schema[i.value].findIndex(T=>T.id===l.id);if(p>-1){const T=S.schema[i.value].length,P=S.schema[i.value][p%T];S.designerItemElementRef.value.querySelector(`#${P.id}-design-item`),S.schema[i.value].splice(p,1),fe.value++,e.emit("removeComponent")}}}function V(r){if(y.value.addNewChildComponentSchema){const l={componentType:g.value,label:m.value,parentComponentInstance:y.value,targetPosition:-1},p=y.value.addNewChildComponentSchema(l);u.value[i.value].push(p),e.emit("addComponent")}}function A(){return s.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:r=>{V()}},[t.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function C(r){return a.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:t.withModifiers(l=>I(l,r),["stop"])},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function w(){return n.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"移动",ref:"moveComponent"},[t.createVNode("i",{"data-dragging-icon":"true",class:"cmp_move f-icon f-icon-yxs_move"},null)])}function M(r){return t.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[t.createVNode("div",null,[A(),w(),C(r)])])}t.watch(()=>o.modelValue,r=>{u.value=r,D.schema=r});function E(r){const l=r.target;nt(l)}function L(){var r,l;(l=(r=u.value)==null?void 0:r.contents)!=null&&l.length&&f.value&&f.value.addEventListener("scroll",E)}function v(){const r=f.value,l=t.ref(r.children[1]);return ot(l,D).value}t.onMounted(()=>{if(f.value){const r=f.value.querySelector(`[data-dragref='${u.value.id}-container']`);y.value=r&&r.componentInstance?r.componentInstance.value:v(),b&&r&&b.attachComponents(r,u.value),c.value=y.value.canNested!==void 0?y.value.canNested:c.value,s.value=y.value.canAdd!==void 0?y.value.canAdd:s.value,a.value=y.value.canDelete!==void 0?y.value.canDelete:a.value,n.value=y.value.canMove!==void 0?y.value.canMove:n.value,h.value=y.value.styles||"",f.value&&(f.value.componentInstance=y,f.value.designItemContext=D)}L(),fe.value++}),t.onBeforeUnmount(()=>{f.value&&f.value.removeEventListener("scroll",E)});function d(r){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(T=>T.classList.remove("dgComponentFocused")),r&&(r.preventDefault(),r.stopPropagation());let l=D.designerItemElementRef;const p=f.value;if(p){const T=document.getElementsByClassName("dgComponentSelected");T&&T.length===1&&T[0]===f.value||(Array.from(T).forEach(B=>B.classList.remove("dgComponentSelected")),p.classList.add("dgComponentFocused"),e.emit("selectionChange",u.value.type,u.value,o.componentId,y.value),l=y.value.getDraggableDesignItemElement(D),l&&l.value&&l.value.classList.add("dgComponentSelected"))}E({target:l==null?void 0:l.value})}return()=>t.createVNode("div",{id:`${o.id}-design-item`,ref:f,class:k.value,style:x.value,onClick:d},[M(u.value),e.slots.default&&e.slots.default()])}});class rt extends te{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){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(e){this.propertyConfig.categories.appearance={title:"外观",properties:{class:{description:"组件的CSS样式",title:"class样式"},style:{description:"组件的内容样式",title:"style样式"}},setPropertyRelates(n,s){}}}getEventPropConfig(e){const n=[{label:"onClick",name:"点击事件"}],s=this,a=s.eventsEditorUtils.formProperties(e,s.viewModelId,n),c={};c[s.viewModelId]={type:"events-editor",editor:{initialData:a}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:c,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(i,g){const m=i.propertyValue;delete e[s.viewModelId],m&&(m.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,m.events,m))}}}}class st extends te{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(),this.getAppearanceProperties(e),this.getbBehaviorConfig(),this.getEventPropConfig(e),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:F["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(e){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"",$converter:"/converter/appearance.converter"}}}}getEventPropConfig(e){const n=[{label:"onClick",name:"点击事件"}],s=this,a=s.eventsEditorUtils.formProperties(e,s.viewModelId,n),c={};c[s.viewModelId]={type:"events-editor",editor:{initialData:a}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:c,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(i,g){const m=i.propertyValue;delete e[s.viewModelId],m&&(m.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,m.events,m))}}}}function it(o,e){function n(g){return!1}function s(){return!1}function a(){return!0}function c(){return!1}function i(g){let m;switch(o.schema.type){case"tab-toolbar-item":m=new rt(g,e);break;default:m=new st(g,e)}return m.getPropertyConfig(o.schema)}return{canAccepts:n,checkCanMoveComponent:s,checkCanDeleteComponent:a,checkCanAddComponent:c,getPropsConfig:i}}const at=t.defineComponent({name:"FResponseToolbarItemDesign",props:ue,emits:["Click"],setup(o,e){t.ref(),t.ref();const n=t.ref(o.alignment),s={id:"__more_buttons__",text:"More"},a=t.ref(new Y(s));t.computed(()=>a.value.children.length>0);const c=t.ref(),i=t.inject("designer-host-service"),g=t.inject("design-item-context"),m=it(g,i),u=oe.useDesignerInnerComponent(c,g,m);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{c.value.componentInstance=u}),e.expose(u.value);function h(){const y={"f-icon":!0},S=o.icon?o.icon.trim():"";return Z.getCustomClass(y,S)}function f(){return!!(o.icon&&o.icon.trim())}function b(){const y={btn:!0,"f-rt-btn":!0,"f-btn-ml":n.value==="right","f-btn-mr":n.value==="left","btn-icontext":!!(o.icon&&o.icon.trim()),disabled:o.disabled===!0};return Z.getCustomClass(y,o.class)}return()=>t.createVNode("div",{ref:c,"data-dragref":`${g.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[t.createVNode("button",{type:"button",class:b(),id:o.id},[f()&&t.createVNode("i",{class:h()},null),o.text])])}}),ct=t.defineComponent({name:"FResponseToolbarDesign",props:He,emits:["Click"],setup(o,e){const n=t.ref(o.items);let s=new Array(n.value.length).fill(t.ref());const a=t.ref(),c=t.ref(),i=t.ref(o.alignment),g={id:"__more_buttons__",text:"More"},m=t.ref(new Y(g)),u=Ze();t.computed(()=>m.value.children.length>0);const h=t.ref(),f=t.inject("designer-host-service"),b=t.inject("design-item-context"),y=Ke(b,f),S=oe.useDesignerInnerComponent(h,b,y),D=t.inject("toolbar-item-handler",()=>{});t.onMounted(()=>{h.value.componentInstance=S}),e.expose(S.value);function k(){D&&D()}const x=t.computed(()=>{const r={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return Z.getCustomClass(r,o.customClass)}),I=t.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":i.value==="right","justify-content-start":i.value==="left"})),{renderToolbarDropdown:V,clearAllDropDown:A}=Xe(o,u,S);function C(){n.value.filter(r=>r.children&&r.children.length>0).forEach(r=>{r.expanded=!1}),m.value.expanded=!1,A()}const w=new Map,M=[];function E(r){const l=c.value;let p=r;const T=Array.from(l.children),P=T[T.length-1].id==="__more_buttons__"?T[T.length-1]:null;if(P){const R=P.computedStyleMap().get("margin-left"),j=P.computedStyleMap().get("margin-right"),U=(R?R.value:0)+P.getBoundingClientRect().width+(j?j.value:0);p-=U}const B=T.filter(R=>R.id!=="__more_buttons__");for(const R of B){const j=R.computedStyleMap().get("margin-left"),U=R.computedStyleMap().get("margin-right"),Q=(j?j.value:0)+R.getBoundingClientRect().width+(U?U.value:0);p<Q?(w.set(R.id,!0),M.push({id:R.id,width:Q})):p-=Q}if(M.length)for(let R=M.length-1;R>=0;R--){const j=M[R].width;if(p>=j)p-=j,w.delete(M[R].id),M.pop();else break}const O=Object.assign({},m.value);O.children=[];const G=new Y(O),z=n.value.reduce((R,j)=>(w.has(j.id)&&G.children.push(j),j.visible=!w.has(j.id),R.push(j),R),[]);m.value=G,n.value=z}const L=new ResizeObserver(r=>{if(r.length){const p=r[0].contentRect.width,P=c.value.getBoundingClientRect().width;(p<P||M.length)&&E(p)}});t.onMounted(()=>{const r=a.value;L.observe(r),document.body.addEventListener("click",C)}),t.onUnmounted(()=>{L.disconnect(),document.body.removeEventListener("click",C)}),t.watch(()=>o.items,()=>{n.value=o.items},{deep:!0}),t.watch(n,r=>{s=new Array(n.value.length).fill(t.ref())});function v(r,l,p,T){b&&b.setupContext&&b.setupContext.emit("selectionChange",r,l,p,T)}function d(){const r=c.value.querySelector(".dgComponentFocused.dgComponentSelected");r==null||r.classList.remove("dgComponentSelected"),r==null||r.classList.remove("dgComponentFocused"),k()}return()=>t.createVNode("div",{ref:h,"data-dragref":`${b.schema.id}-container`,class:x.value},[t.createVNode("div",{ref:a,class:I.value},[t.createVNode("div",{ref:c,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[n.value.map((r,l)=>t.createVNode(me,{ref:s[l],class:"p-0 display-inline-block",modelValue:r,"onUpdate:modelValue":p=>r=p,canMove:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:o.componentId,id:r.id,style:"padding:0 !important;display:inline-block",onSelectionChange:v,onRemoveComponent:d},{default:()=>{var p;return[t.createVNode(at,{id:r.id,disabled:r.disabled,text:r.text,icon:r.icon,class:((p=r.appearance)==null?void 0:p.class)||"btn-secondary",alignment:o.alignment||"right",componentId:o.componentId},null)]}}))])])])}});function he(o,e){const n=t.computed(()=>"f-section-toolbar"+(o.buttonPosition==="inHead"?" f-section-header--toolbar":" f-section-content--toolbar")),s=t.ref(o.buttons),a=t.ref(e.schema.toolbar),c=e.schema.id,i=`${c}-toolbar`,g=t.computed(()=>o.buttonPosition==="inHead"?"right":"left");function m(u,h,f,b){var y;(y=e.setupContext)==null||y.emit("selectionChange",u,h,f,b)}return t.createVNode(t.Fragment,null,[a.value?t.createVNode("div",{class:n.value},[t.createVNode("div",{class:"w-100",style:"flex:1"},[t.createVNode(me,{modelValue:a.value,"onUpdate:modelValue":u=>a.value=u,class:"w-100 position-relative",canAdd:!0,childType:"section-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:i,onSelectionChange:m,componentId:c},{default:()=>[t.createVNode(ct,{customClass:"d-block",items:s.value,alignment:g.value},null)]})])]):""])}function lt(o,e,n,s,a,c,i){const g=t.computed(()=>o.buttonPosition),{onClickMaxMinIcon:m}=ae(s,a,c),u=t.computed(()=>!!o.subTitle),h=t.computed(()=>o.enableMaximize),f=t.computed(()=>o.enableAccordion!==""),b=t.computed(()=>{const V={"f-section-header":!0};return e.slots.header&&o.headerClass.split(" ").reduce((C,w)=>(C[w]=!0,C),V),V});function y(V){V.stopPropagation(),o.enableAccordion!==""&&(n.value=!n.value)}function S(){const V=t.computed(()=>({btn:!0,"f-btn-collapse-expand":!0,"f-btn-mx":!0,"f-state-expand":n.value})),A=t.computed(()=>({"f-icon":!0,"f-icon-maximize":!c.value,"f-icon-minimize":c.value}));return t.createVNode("div",{class:"f-max-accordion"},[h.value?t.createVNode("span",{class:A.value,onClick:m},null):"",f.value?t.createVNode("button",{class:V.value,onClick:y},[t.createVNode("span",null,[n.value?o.collapseLabel:o.expandLabel])]):""])}function D(){return e.slots.header?t.createVNode("div",{class:b.value},[e.slots.header()]):""}function k(){return t.createVNode("div",{class:"f-title",onClick:y},[t.createVNode("h4",{class:"f-title-text"},[o.mainTitle]),u.value&&t.createVNode("span",null,[o.subTitle])])}function x(){const V=t.computed(()=>{const A={"f-content":!0};return o.headerContentClass&&o.headerContentClass.split(" ").reduce((w,M)=>(w[M]=!0,w),A),A});return e.slots.headerContent?t.createVNode("div",{class:V.value},[e.slots.headerContent()]):""}function I(){return t.createVNode("div",{class:b.value},[e.slots.headerTitle?e.slots.headerTitle():k(),x(),g.value==="inHead"&&he(o,i),(h.value||f.value)&&S()])}return()=>o.showHeader&&(e.slots.header?D():I())}const dt=t.defineComponent({name:"FSectionDesign",props:X,emits:[],setup(o,e){const n=t.ref(),s=t.ref(),a=t.ref(),c=t.inject("designer-host-service"),i=t.inject("design-item-context"),g=Le(i,c),m=Oe(n,i,g);m.value.styles="display: inherit;",t.onMounted(()=>{n.value.componentInstance=m}),e.expose(m.value);const u=t.ref(o.customClass),h=t.computed(()=>o.enableAccordion),f=t.ref(o.expandStatus),b=t.computed(()=>o.buttonPosition),y=t.ref(!1),S=lt(o,e,f,s,a,y,i),D=t.computed(()=>{const A={"f-section":!0,"f-section-accordion":h.value==="default","f-state-collapse":(h.value==="default"||h.value==="custom")&&!f.value,"f-section-custom-accordion":h.value==="custom","f-section-fill":o.fill,"f-section-maximize":y.value,"f-utils-fill":!0,"p-0":!0};return q(A,u.value)}),k=t.computed(()=>q({"f-section-content":!0,"drag-container":!0},o.contentClass)),x=t.computed(()=>q({"f-section-extend":!0},x.value));function I(){return e.slots.extend&&t.createVNode("div",{class:x.value},[e.slots.extend()])}function V(){return t.createVNode("div",{class:k.value,ref:n,"data-dragref":`${i.schema.id}-container`},[b.value==="inContent"&&he(o,i),e.slots.default&&e.slots.default()])}return()=>t.createVNode("div",{class:D.value,ref:s,style:o.customStyle},[S(),I(),V()])}}),ut=J({text:{type:String,default:""},icon:{type:String,default:""}},{$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/section-toolbar-item.schema.json",title:"section-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:"section-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"]});W.register=(o,e,n,s)=>{o.section=W,e.section=ee},W.registerDesigner=(o,e,n)=>{o.section=dt,e.section=ee,e["section-toolbar-item"]=ut};const pt=Z.withInstall(W);$.Section=W,$.default=pt,$.propsResolver=ee,$.sectionProps=X,Object.defineProperties($,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});