@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(j,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("lodash-es"),require("../response-toolbar/index.umd.js"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../response-toolbar/index.umd.js","../common/index.umd.js","../designer-canvas/index.umd.js"],t):(j=typeof globalThis<"u"?globalThis:j||self,t(j["page-header"]={},j.Vue,j.LodashES,j.FResponseToolbar$1,j.common,j.designerCanvas))})(this,function(j,t,F,Se,W,ie){"use strict";var pt=Object.defineProperty;var ut=(j,t,F)=>t in j?pt(j,t,{enumerable:!0,configurable:!0,writable:!0,value:F}):j[t]=F;var x=(j,t,F)=>ut(j,typeof t!="symbol"?t+"":t,F);const ae={},ce={};function K(r){const{properties:e,title:n,ignore:s}=r,a=s&&Array.isArray(s),u=Object.keys(e).reduce((p,g)=>((!a||!s.find(w=>w===g))&&(p[g]=e[g].type==="object"&&e[g].properties?K(e[g]):F.cloneDeep(e[g].default)),p),{});if(n&&(!a||!s.find(p=>p==="id"))){const p=n.toLowerCase().replace(/-/g,"_");u.id=`${p}_${Math.random().toString().slice(2,6)}`}return u}function z(r,e={},n){const s=ae[r];if(s){let a=K(s);const u=ce[r];return a=u?u({getSchemaByType:z},a,e,n):a,a}return null}function De(r,e){const n=K(e);return Object.keys(n).reduce((s,a)=>(s[a]&&F.isPlainObject(s[a])&&F.isPlainObject(r[a]||!r[a])?Object.assign(s[a],r[a]||{}):s[a]=r[a],s),n),n}function Me(r,e){return Object.keys(r).filter(s=>r[s]!=null).reduce((s,a)=>{if(e.has(a)){const u=e.get(a);if(typeof u=="string")s[u]=r[a];else{const p=u(a,r[a],r);Object.assign(s,p)}}else s[a]=r[a];return s},{})}function Ne(r,e,n=new Map){const s=De(r,e);return Me(s,n)}function ke(r={}){function e(h,b,l,d){if(typeof l=="number")return d[h].length===l;if(typeof l=="object"){const m=Object.keys(l)[0],C=l[m];if(m==="not")return Number(d[h].length)!==Number(C);if(m==="moreThan")return Number(d[h].length)>=Number(C);if(m==="lessThan")return Number(d[h].length)<=Number(C)}return!1}function n(h,b,l,d){return d[h]&&d[h].propertyValue&&String(d[h].propertyValue.value)===String(l)}const s=new Map([["length",e],["getProperty",n]]);Object.keys(r).reduce((h,b)=>(h.set(b,r[b]),h),s);function a(h,b){const l=h;return typeof b=="number"?[{target:l,operator:"length",param:null,value:Number(b)}]:typeof b=="boolean"?[{target:l,operator:"getProperty",param:h,value:!!b}]:typeof b=="object"?Object.keys(b).map(d=>{if(d==="length")return{target:l,operator:"length",param:null,value:b[d]};const m=d,C=b[d];return{target:l,operator:"getProperty",param:m,value:C}}):[]}function u(h){return Object.keys(h).reduce((l,d)=>{const m=a(d,h[d]);return l.push(...m),l},[])}function p(h,b){if(s.has(h.operator)){const l=s.get(h.operator);return l&&l(h.target,h.param,h.value,b)||!1}return!1}function g(h,b){return u(h).reduce((m,C)=>m&&p(C,b),!0)}function w(h,b){const l=Object.keys(h),d=l.includes("allOf"),m=l.includes("anyOf"),C=d||m,I=(C?h[C?d?"allOf":"anyOf":"allOf"]:[h]).map(D=>g(D,b));return d?!I.includes(!1):I.includes(!0)}return{parseValueSchema:w}}const Q={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},Ve={},xe={};ke();function ee(r,e,n=new Map,s=(p,g,w,h)=>g,a={},u=p=>p){return ae[e.title]=e,ce[e.title]=s,Ve[e.title]=a,xe[e.title]=u,(p={})=>{const g=Ne(p,e,n),w=Object.keys(r).reduce((h,b)=>(h[b]=r[b].default,h),{});return Object.assign(w,g)}}function le(r,e){return{customClass:e.class,customStyle:e.style}}function Ee(r,e){var s,a;const n=[];return e==null||e.buttons.map(u=>{const p={};Object.keys(u).map(g=>{var w;g==="appearance"?p.class=((w=u[g])==null?void 0:w.class)||"":p[g]=u[g]}),n.push(p)}),(s=e.appearance)!=null&&s.class?{buttons:n,buttonClass:(a=e.appearance)==null?void 0:a.class}:{buttons:n}}function Be(){function r(e,n){var g;const s=(g=e.toolbar)==null?void 0:g.buttons;if(!s||s.length<1)return null;const[a,u]=n.payloads,p=s.find(w=>w.id===u);return p?p.onClick||p.click:null}return{resolve:r}}const Re=new Map([["appearance",le],["toolbar",Ee]]),Ie={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/page-header.schema.json",title:"page-header",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a Page Header",type:"string"},type:{description:"The type string of Page Header component",type:"string",default:"page-header"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},showIcon:{description:"",type:"boolean",default:!0},icon:{description:"",type:"string",default:"f-icon-page-title-record"},iconClass:{description:"",type:"string",default:"f-text-orna-bill"},title:{description:"",type:"string",default:""},subTitle:{description:"",type:"string",default:""},toolbar:{description:"",type:"object",properties:{appearance:{description:"",type:"object",properties:{class:{type:"string",default:"col-6"}}},id:{description:"",type:"string"},type:{description:"",type:"string",default:"response-toolbar"},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Response Toolbar.",type:"array",default:[]}}},buttonClass:{description:"",type:"string",default:"col-6"},titleContentClass:{description:"",type:"string",default:""},contentClass:{description:"",type:"string",default:""},downContentClass:{description:"",type:"string",default:""},showPagination:{description:"",type:"boolean",default:!1},prePaginationDisabled:{description:"",type:"boolean",default:!0},nextPaginationDisabled:{description:"",type:"boolean",default:!1}}};function je(r,e,n){return e.title="标题",e}const J={customClass:{type:String,default:""},showIcon:{type:Boolean,default:!0},icon:{type:String,default:"f-icon-page-title-record"},iconClass:{type:String,default:"f-text-orna-bill"},title:{type:String,default:""},subTitle:{type:String,default:""},buttonClass:{type:String,default:"col-6"},buttons:{type:Array,default:[]},titleContentClass:{type:String,default:""},contentClass:{type:String,default:""},downContentClass:{type:String,default:""},showPagination:{type:Boolean,default:!1},prePaginationDisabled:{type:Boolean,default:!0},nextPaginationDisabled:{type:Boolean,default:!1}},de=Object.assign({},J,{componentId:{type:String,default:""}}),te=ee(J,Ie,Re,je),pe=Be(),X=t.defineComponent({name:"FPageHeader",props:J,emits:["click","prePaginationClick","nextPaginationClick"],setup(r,e){const n=t.ref(r.buttons),s=(D,E)=>{e.emit("click",D,E)};function a(D,E){D&&E&&E.split(" ").reduce((M,y)=>(M[y]=!0,M),D)}const u=t.computed(()=>{const D={"f-page-header":!0};return a(D,r.customClass),D}),p=t.computed(()=>{const D={"f-title-icon":!0};return a(D,r.iconClass),D}),g=t.computed(()=>{const D={"f-icon":!0};return a(D,r.icon),D}),w=t.computed(()=>{const D={"f-title":!0};return a(D,r.titleContentClass),D}),h=t.computed(()=>{const D={"f-content":!0};return a(D,r.contentClass),D}),b=t.computed(()=>{const D={"f-content":!0};return a(D,r.downContentClass),D}),l=t.computed(()=>({"f-icon f-icon-arrow-w":!0,"f-state-disabled":r.prePaginationDisabled})),d=t.computed(()=>({"f-icon f-icon-arrow-e":!0,"f-state-disabled":r.nextPaginationDisabled}));function m(D){r.prePaginationDisabled||e.emit("prePaginationClick",D)}function C(D){r.nextPaginationDisabled||e.emit("nextPaginationClick",D)}function N(){return e.slots.titleContent?t.createVNode("div",{class:w.value},[t.createTextVNode(" "),e.slots.titleContent()]):t.createVNode("div",{class:"f-title"},[r.showIcon&&r.icon?t.createVNode("span",{class:p.value},[t.createVNode("i",{class:g.value},null)]):"",t.createVNode("h4",{class:"f-title-text"},[r.title]),r.subTitle?t.createVNode("h5",{class:"f-title-subtitle"},[r.subTitle]):"",r.showPagination?t.createVNode("div",{class:"f-title-pagination"},[t.createVNode("span",{class:l.value,onClick:m},null),t.createVNode("span",{class:d.value,onClick:C},null)]):""])}function R(){return e.slots.content?t.createVNode("div",{class:h.value},[t.createTextVNode(" "),e.slots.content()]):""}function I(){if(r.buttons&&r.buttons.length>0)return t.createVNode(Se,{customClass:r.buttonClass,items:n.value,onClick:s},null)}function A(){return e.slots.downContent?t.createVNode("div",{class:b.value},[t.createTextVNode(" "),e.slots.downContent()]):""}return t.watch(()=>r.buttons,D=>{n.value=D},{deep:!0}),()=>t.createVNode("div",{class:u.value},[t.createVNode("nav",{class:"f-page-header-base"},[N(),R(),I()]),A()])}});function Ae(r,e,n){var E;const s=n&&n.getStyles&&n.getStyles()||"",a=n&&n.getDesignerClass&&n.getDesignerClass()||"",u=t.ref();function p(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanMoveComponent?n.checkCanMoveComponent():!0}function g(){return!1}function w(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanDeleteComponent?n.checkCanDeleteComponent():!0}function h(){return(e==null?void 0:e.schema.componentType)==="frame"?!0:n&&n.hideNestedPaddingInDesginerView?n.hideNestedPaddingInDesginerView():!1}function b(T){if(!T||!T.value)return null;if(T.value.schema&&T.value.schema.type==="component")return T.value;const M=t.ref(T==null?void 0:T.value.parent),y=b(M);return y||null}function l(T=e){const{componentInstance:M,designerItemElementRef:y}=T;return!M||!M.value?null:M.value.canMove?y:l(T.parent)}function d(T){return!!n&&n.canAccepts(T)}function m(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function C(){}function N(T,M){M&&n!=null&&n.onAcceptMovedChildElement&&n.onAcceptMovedChildElement(M)}function R(T,M){const{componentType:y}=T;let k=z(y,T,M);n&&n.onResolveNewComponentSchema&&(k=n.onResolveNewComponentSchema(T,k));const B=y.toLowerCase().replace(/-/g,"_");return k&&!k.id&&k.type===y&&(k.id=`${B}_${Math.random().toString().slice(2,6)}`),k}function I(T){}function A(...T){if(n&&n.getPropsConfig)return n.getPropsConfig(...T)}function D(){n&&n.onRemoveComponent&&n.onRemoveComponent(),e!=null&&e.schema.contents&&e.schema.contents.map(T=>{var k;let M=T.id;T.type==="component-ref"&&(M=T.component);const y=r.value.querySelector(`#${M}-design-item`);(k=y==null?void 0:y.componentInstance)!=null&&k.value.onRemoveComponent&&y.componentInstance.value.onRemoveComponent()})}return u.value={canMove:p(),canSelectParent:g(),canDelete:w(),canNested:!h(),contents:e==null?void 0:e.schema.contents,elementRef:r,parent:(E=e==null?void 0:e.parent)==null?void 0:E.componentInstance,schema:e==null?void 0:e.schema,styles:s,designerClass:a,canAccepts:d,getBelongedComponentInstance:b,getDraggableDesignItemElement:l,getDraggingDisplayText:m,getPropConfig:A,getDragScopeElement:C,onAcceptMovedChildElement:N,onChildElementMovedOut:I,addNewChildComponentSchema:R,triggerBelongedComponentToMoveWhenMoved:!!n&&n.triggerBelongedComponentToMoveWhenMoved||t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!n&&n.triggerBelongedComponentToDeleteWhenDeleted||t.ref(!1),onRemoveComponent:D},u}class Y{constructor(e,n){x(this,"componentId");x(this,"viewModelId");x(this,"eventsEditorUtils");x(this,"formSchemaUtils");x(this,"formMetadataConverter");x(this,"designViewModelUtils");x(this,"designViewModelField");x(this,"controlCreatorUtils");x(this,"designerHostService");x(this,"schemaService",null);x(this,"metadataService",null);x(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(u=>u.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:Q[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(p=>p.id===e),u=F.cloneDeep(s.contents[a]);s.contents.splice(a,1),s.contents.splice(a,0,u)}}class $e extends Y{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.propertyConfig}getBasicPropConfig(e){this.propertyConfig.categories.basic={description:"Basic Information",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:"page-header",value:Q["page-header"].name}]}},icon:{title:"图标",type:"string",description:"图标"},title:{title:"标题",type:"string",description:"标题"}},setPropertyRelates(n,s){if(n)switch(n&&n.propertyID){case"title":{n.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(e){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:""}}}}getEventPropConfig(e){const n=[{label:"click",name:"点击事件"}],s=this,a=s.eventsEditorUtils.formProperties(e,s.viewModelId,n);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:{"data-grid-component-viewmodel":{type:"events-editor",editor:{initialData:a}}},refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(u,p){const g=u.propertyValue;delete e[s.viewModelId],g&&(g.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,g.events,g))}}}}function Oe(r,e){function n(g){return!1}function s(){return!1}function a(){return!1}function u(){return!0}function p(g){return new $e(g,e).getPropertyConfig(r)}return{canAccepts:n,hideNestedPaddingInDesginerView:u,getPropsConfig:p,checkCanDeleteComponent:s,checkCanMoveComponent:a}}class ue{constructor(e){x(this,"id","");x(this,"class","btn-secondary");x(this,"icon","");x(this,"groupId","");x(this,"order",-1);x(this,"asDropDownTop",!1);x(this,"text","");x(this,"visible",!0);x(this,"responsed",!1);x(this,"tipsEnable",!1);x(this,"tipsText","");x(this,"width",0);x(this,"onClick",()=>{});x(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 _e extends ue{constructor(e){super(e)}}function fe(){function r(e){const n=[];return e.reduce((s,a)=>(a.children&&a.children.length>0?s.push(new q(a)):s.push(new _e(a)),s),n),n}return{buildResponseToolbarItems:r}}const{buildResponseToolbarItems:Fe}=fe();class q extends ue{constructor(n){super(n);x(this,"placement","");x(this,"dropdownClass","");x(this,"menuClass","");x(this,"split",!1);x(this,"children",[]);x(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=Fe(n.children))}}const Le=new Map([["buttons","items"],["appearance",le]]);function qe(r,e){return{class:e.class,style:e.style}}const Ue=new Map([["appearance",qe]]);function me(r,e,n){return e}const He={$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"]},We={$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"]},ne={customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]}},ze=Object.assign({},ne,{componentId:{type:String,default:""}}),oe=ee(ne,He,Le,me),ge={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"}},Ge=ee(ge,We,Ue,me);function he(){function r(n){const s={"f-icon":!0};if(n.icon){const a=n.icon.trim().split(" ");a&&a.length&&a.reduce((u,p)=>(u[p]=!0,u),s)}return s}function e(n){return!!(n.icon&&n.icon.trim())}return{iconClass:r,shouldShowIcon:e}}function Qe(r){function e(l){const d={"dropdown-menu":!0};if(l.class){const m=l.menuClass.split(" ");m&&m.length&&m.reduce((C,N)=>(C[N]=!0,C),d)}return d}function n(l){const d={disabled:!l.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},m=l.dropdownClass.split(" ");return m&&m.length&&m.reduce((C,N)=>(C[N]=!0,C),d),d}function s(l){const d={disabled:!l.enable,"dropdown-item":!0,"f-rt-btn":!0},m=l.class.split(" ");return m&&m.length&&m.reduce((C,N)=>(C[N]=!0,C),d),d}let a;const u=new Map;function p(l,d,m){var N;((N=l.target)==null?void 0:N.id)===d.id&&l.stopPropagation();const C=m?m.id:"__top_item__";if(d.children&&d.children.length&&(d.expanded=!d.expanded,d.expanded?u.set(C,d):u.delete(C)),u.has(C)&&u.get(C)!==d){const R=u.get(C);R&&(R.expanded=!1)}}function g(l,d){document.body.click(),d.enable&&d.onClick(l,d.id)}function w(l){return l.children.map(d=>d.children&&d.children.length?t.createVNode("li",{class:n(d),id:d.id,onClick:m=>d.enable&&p(m,d,l)},[t.createVNode("span",{id:d.id,class:s(d),onMouseover:m=>d.enable&&p(m,d,l)},[d.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),a(d,d)]):t.createVNode("li",{class:s(d),id:d.id,onClick:m=>g(m,d),onMouseover:m=>d.enable&&p(m,d,l)},[r.shouldShowIcon(d)&&t.createVNode("i",{class:r.iconClass(d)},null),d.text]))}function h(l,d,m){const C={display:l.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},N=document.getElementsByTagName("body")[0].getClientRects()[0].width,R=d,I=R==null?void 0:R.getClientRects();if(R&&I&&I.length){const{top:A,width:D,left:E,right:T,height:M}=I[0],y=Math.ceil(M+A);C.top=`${y}px`,C.left=`${E}px`;const k=l.id+"_menu",B=d?d.querySelector("#"+k):null;if(B){C.display==="block"&&(B.style.display="block");const v=B.getBoundingClientRect();if(m){C.top=`${A-6}px`;const i=Math.ceil(D+E);C.left=`${i}px`}N-E-D<v.width&&(C.left=`${(m?E:T)-v.width}px`)}}return C}a=function(l,d){var R,I;const m=t.getCurrentInstance(),C=d?d.id:l.id,N=(I=(R=m==null?void 0:m.exposed)==null?void 0:R.elementRef.value)==null?void 0:I.querySelector("#"+C);return t.createVNode("ul",{class:e(l),style:h(l,N,d),id:l.id+"_menu"},[w(l)])};function b(){u.forEach(l=>{l.expanded=!1}),u.clear()}return{renderDropdownMenu:a,clearAllDropDownMenu:b}}function Je(r,e){const n=t.ref(r.alignment),{renderDropdownMenu:s,clearAllDropDownMenu:a}=Qe(e);function u(b){const l={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":n.value==="right","f-btn-mr":n.value==="left"},d=b.dropdownClass.split(" ");return d&&d.length&&d.reduce((m,C)=>(m[C]=!0,m),l),l}function p(b){const l={btn:!0,disabled:!b.enable,"f-rt-btn":!0,"btn-icontext":!!(b.icon&&b.icon.trim())};if(b.class){const d=b.class.split(" ");d&&d.length&&d.reduce((m,C)=>(m[C]=!0,m),l)}return l}function g(b,l){b.stopPropagation();const d=l.expanded;document.body.click(),l.expanded=!d}function w(b){return t.createVNode("div",{id:b.id,class:u(b)},[t.createVNode("div",{class:p(b),style:"display: flex;padding-right: 0.1rem;border-top-right-radius: 6px;border-bottom-right-radius: 6px",onClick:l=>b.enable&&g(l,b)},[e.shouldShowIcon(b)&&t.createVNode("i",{class:e.iconClass(b)},null),t.createVNode("span",null,[b.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)]),s(b)])}function h(){a()}return{renderToolbarDropdown:w,clearAllDropDown:h}}const{buildResponseToolbarItems:be}=fe(),Z=t.defineComponent({name:"FResponseToolbar",props:ne,emits:["click"],setup(r,e){const n=t.ref(be(r.items)),s=t.ref(),a=t.ref(),u=t.ref(),p=t.ref(r.alignment),g={id:"__more_buttons__",text:"更多"},w=t.ref(new q(g)),h=he(),b=t.computed(()=>w.value.children.length>0),l=t.computed(()=>{const y={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return W.getCustomClass(y,r.customClass)}),d=t.computed(()=>({"w-100":!0,"d-flex":!0,"flex-nowrap":!0,"justify-content-end":p.value==="right","justify-content-start":p.value==="left"})),{renderToolbarDropdown:m,clearAllDropDown:C}=Je(r,h);function N(){n.value.filter(y=>y.children&&y.children.length>0).forEach(y=>{y.expanded=!1}),w.value.expanded=!1,C()}function R(y){const k={btn:!0,"f-rt-btn":!0,"f-btn-ml":p.value==="right","f-btn-mr":p.value==="left","btn-icontext":!!(y.icon&&y.icon.trim())};if(y.class){const B=y.class.split(" ");B&&B.length&&B.reduce((v,i)=>(v[i]=!0,v),k)}return k}function I(y,k){document.body.click(),typeof k.onClick=="function"&&k.onClick(y,k.id),e.emit("click",y,k.id)}function A(y){return t.createVNode("button",{type:"button",class:R(y),id:y.id,disabled:!y.enable,onClick:k=>I(k,y)},[h.shouldShowIcon(y)&&t.createVNode("i",{class:h.iconClass(y)},null),y.text])}const D=new Map,E=[];function T(y){const k=u.value;let B=y;const v=Array.from(k.children),i=v[v.length-1].id==="__more_buttons__"?v[v.length-1]:null;if(i){const P=i.computedStyleMap().get("margin-left"),V=i.computedStyleMap().get("margin-right"),O=(P?P.value:0)+i.getBoundingClientRect().width+(V?V.value:0);B-=O}const o=v.filter(P=>P.id!=="__more_buttons__");for(const P of o){const V=P.computedStyleMap().get("margin-left"),O=P.computedStyleMap().get("margin-right"),L=(V?V.value:0)+P.getBoundingClientRect().width+(O?O.value:0);B<L?(D.set(P.id,!0),E.push({id:P.id,width:L})):B-=L}if(E.length)for(let P=E.length-1;P>=0;P--){const V=E[P].width;if(B>=V)B-=V,D.delete(E[P].id),E.pop();else break}const c=Object.assign({},w.value);c.children=[];const f=new q(c),S=n.value.reduce((P,V)=>(D.has(V.id)&&f.children.push(V),V.visible=!D.has(V.id),P.push(V),P),[]);w.value=f,n.value=S}const M=new ResizeObserver(y=>{if(y.length){const B=y[0].contentRect.width,i=u.value.getBoundingClientRect().width;(B<i||E.length)&&(T(B),N())}});return t.onMounted(()=>{const y=a.value;M.observe(y),document.body.addEventListener("click",N),document.body.addEventListener("wheel",N)}),t.onUnmounted(()=>{M.disconnect(),document.body.removeEventListener("click",N),document.body.removeEventListener("wheel",N)}),t.watch(()=>r.items,()=>{n.value=be(r.items)},{deep:!0}),e.expose({elementRef:s}),()=>t.createVNode("div",{class:l.value,ref:s},[t.createVNode("div",{ref:a,class:d.value},[t.createVNode("div",{ref:u,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[n.value.filter(y=>y.visible).map(y=>y.children&&y.children.length>0?m(y):A(y)),b.value&&m(w.value)])])])}});function Xe(r,e){const n=t.inject("design-item-context"),s=t.inject("toolbar-item-handler",()=>{});function a(){s&&s()}function u(i){const o={"dropdown-menu":!0};if(i.class){const c=i.menuClass.split(" ");c&&c.length&&c.reduce((f,S)=>(f[S]=!0,f),o)}return o}function p(i){const o={disabled:!i.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},c=i.dropdownClass.split(" ");return c&&c.length&&c.reduce((f,S)=>(f[S]=!0,f),o),o}function g(i){const o={disabled:!i.enable,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0},c=i.class.split(" ");return c&&c.length&&c.reduce((f,S)=>(f[S]=!0,f),o),o}let w;const h=new Map;function b(i,o,c){var S;((S=i.target)==null?void 0:S.id)===o.id&&i.stopPropagation();const f=c?c.id:"__top_item__";if(o.children&&o.children.length&&(o.expanded=!o.expanded,o.expanded?h.set(f,o):h.delete(f)),h.has(f)&&h.get(f)!==o){const P=h.get(f);P&&(P.expanded=!1)}}function l(i){i&&(i.stopPropagation(),i.preventDefault())}function d(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(o=>o.classList.remove("dgComponentFocused"));const i=document.getElementsByClassName("dgComponentSelected");Array.from(i).forEach(o=>o.classList.remove("dgComponentSelected"))}function m(i){i.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function C(i){const{buttons:o=[]}=n.schema;let c=[];o.forEach(P=>{c=c.concat(P.children||[])});const f=c.findIndex(P=>P.id===i),S=f===-1?null:c[f];return{index:f,item:S}}function N(i){const{buttons:o=[]}=n.schema,c=o.findIndex(S=>S.id===i),f=c===-1?null:o[c];return{index:c,item:f}}function R(i){var f;n.schema;const{index:o,item:c}=C(i);(f=n==null?void 0:n.setupContext)==null||f.emit("selectionChange",c==null?void 0:c.type,c)}const I=function(i){const{componentType:o}=i,c=z(o,i),f=o.toLowerCase().replace("-","_");return c&&!c.id&&c.type===o&&(c.id=`${f}_${Math.random().toString().slice(2,6)}`),c},A=function(){const i={componentType:"response-toolbar-item",parentComponentInstance:e.value,targetPosition:-1};return I(i)};function D(i,o){l(i),d(),m(i),R(o.id)}function E(i,o,c){l(i);const f=o.id,S=c&&c.id,{buttons:P=[]}=n.schema;if(!S)return;const{index:V}=N(S);if(V===-1)return;const{index:O}=C(f);O!==-1&&(P[V].children.splice(O,1),a())}function T(i,o,c){l(i);const f=c&&c.id,{buttons:S=[]}=n.schema;if(!f)return;const{index:P}=N(f);if(P===-1)return;const V=A(),O=Object.assign({},V,{text:o.text});S[P].children.push(O),a()}function M(i,o,c){l(i);const f=c&&c.id,{buttons:S=[]}=n.schema;if(!f)return;const{index:P}=N(f);if(P===-1)return;const V=A(),O=Object.assign({},V,{text:"按钮"});S[P].children.push(O),a()}function y(i,o){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:c=>E(c,i,o)},[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:c=>T(c,i,o)},[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:c=>M(c,i,o)},[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 k(i){return i.children.map(o=>o.children&&o.children.length?t.createVNode("li",{class:p(o),id:o.id,onClick:c=>o.enable&&b(c,o,i)},[t.createVNode("span",{id:o.id,class:g(o),onMouseover:c=>o.enable&&b(c,o,i)},[o.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),w(o,o)]):t.createVNode("li",{class:g(o),id:o.id,onClick:c=>D(c,o)},[y(o,i),r.shouldShowIcon(o)&&t.createVNode("i",{class:r.iconClass(o)},null),o.text]))}function B(i,o,c){const f={display:i.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},S=document.getElementsByTagName("body")[0].getClientRects()[0].width,P=o,V=P==null?void 0:P.getClientRects();if(P&&V&&V.length){const{top:O,width:L,left:U,right:$,height:_}=V[0],H=Math.ceil(_+O);f.top=`${H}px`,f.left=`${U}px`;const G=i.id+"_menu",se=o?o.querySelector("#"+G):null;if(se){f.display==="block"&&(se.style.display="block");const Te=se.getBoundingClientRect();if(c){f.top=`${O-6}px`;const dt=Math.ceil(L+U);f.left=`${dt}px`}S-U-L<Te.width&&(f.left=`${(c?U:$)-Te.width}px`)}}return f}w=function(i,o){var P,V;const c=t.getCurrentInstance(),f=o?o.id:i.id,S=(V=(P=c==null?void 0:c.exposed)==null?void 0:P.elementRef.value)==null?void 0:V.querySelector("#"+f);return t.createVNode("ul",{class:u(i),style:B(i,S,o),id:i.id+"_menu"},[k(i)])};function v(){h.forEach(i=>{i.expanded=!1}),h.clear()}return{renderDropdownMenu:w,clearAllDropDownMenu:v}}function Ye(r,e,n){const s=t.ref(r.alignment),{renderDropdownMenu:a,clearAllDropDownMenu:u}=Xe(e,n),p=t.inject("design-item-context"),g=t.inject("toolbar-item-handler",()=>{});function w(){g&&g()}function h(v){const i={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":s.value==="right","f-btn-mr":s.value==="left"},o=v.dropdownClass.split(" ");return o&&o.length&&o.reduce((c,f)=>(c[f]=!0,c),i),i}function b(v){const i={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 o=v.class.split(" ");o&&o.length&&o.reduce((c,f)=>(c[f]=!0,c),i)}return i}function l(v){v&&(v.stopPropagation(),v.preventDefault())}function d(v,i){l(v);const o=i.expanded;document.body.click(),i.expanded=!o}const m=function(v){const{componentType:i}=v,o=z(i,v),c=i.toLowerCase().replace("-","_");return o&&!o.id&&o.type===i&&(o.id=`${c}_${Math.random().toString().slice(2,6)}`),o},C=function(){const v={componentType:"response-toolbar-item",parentComponentInstance:n.value,targetPosition:-1};return m(v)};function N(v){const i=p.schema.buttons||p.schema.contents,o=i==null?void 0:i.findIndex(f=>f.id===v),c=o===-1?null:i[o];return{index:o,toolbarItem:c}}function R(v,i){var V;const{index:o,toolbarItem:c}=N(i);if(o===-1)return;const f=c.text||"按钮",S=C(),P=Object.assign({},S,{text:f});(V=p.schema.buttons)==null||V.push(P),w()}function I(v,i){const{index:o,toolbarItem:c}=N(i);if(o===-1)return;const f=c.text||"按钮",S=C(),P=Object.assign({},S,{text:f}),V=p.schema.buttons[o].children||[];V.push(P),p.schema.buttons[o].children=V,w()}function A(v,i){const o=p.schema.buttons||p.schema.contents,c=o==null?void 0:o.findIndex(f=>f.id===i);c!==-1&&(o.splice(c,1),w())}function D(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:i=>A(i,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:i=>R(i,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:i=>I(i,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 E(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(i=>i.classList.remove("dgComponentFocused"));const v=document.getElementsByClassName("dgComponentSelected");Array.from(v).forEach(i=>i.classList.remove("dgComponentSelected"))}function T(v){v.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function M(v){var f;const i=p.schema.buttons||p.schema.contents,o=i==null?void 0:i.findIndex(S=>S.id===v);if(o===-1)return;const c=i[o];(f=p==null?void 0:p.setupContext)==null||f.emit("selectionChange","response-toolbar-item",c)}function y(v,i){l(v),E(),T(v),l(v),d(v,i),M(i.id)}function k(v){return t.createVNode("div",{id:v.id,class:h(v)},[t.createVNode("div",{class:b(v),style:"display: flex;padding-right: 0.1rem;",onClick:i=>v.enable&&y(i,v)},[D(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 B(){u()}return{renderToolbarDropdown:k,clearAllDropDown:B}}class Ze extends Y{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:Q["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(r,e){const n=r.schema;function s(b){return!1}function a(b,l){return l.text=b.label,l}function u(){return!1}function p(){return!1}function g(){return!0}function w(){return!0}function h(b){return new Ze(b,e).getPropertyConfig(n)}return{canAccepts:s,checkCanAddComponent:g,checkCanDeleteComponent:p,checkCanMoveComponent:u,hideNestedPaddingInDesginerView:w,onResolveNewComponentSchema:a,getPropsConfig:h}}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}},re=t.ref(0);function tt(r,e){const n=e.getBoundingClientRect(),s=r.getBoundingClientRect(),a=s.top>=n.top,u=s.top<=n.bottom;return a&&u}function nt(r){if(!r)return;let e;if(r.className.includes("dgComponentSelected")?e=r:e=r.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,r)){s.style.display="none";return}s.style.display="";const u=s.getBoundingClientRect(),p=s.querySelector("div");if(p){const g=p.getBoundingClientRect();p.style.top=u.top+"px",p.style.left=u.left-g.width+"px"}}}function ot(r,e,n){var E;const s="",a=t.ref();function u(){return!0}function p(){return!1}function g(){return!0}function w(){return!0}function h(){return!0}function b(T){if(!T||!T.value)return null;const M=t.ref(T==null?void 0:T.value.parent),y=b(M);return y||null}function l(T=e){const{componentInstance:M,designerItemElementRef:y}=T;return!M||!M.value?null:M.value.canMove||M.value.canAdd||M.value.canDelete?y:l(T.parent)}function d(T){return!!n}function m(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function C(){}function N(T,M){}function R(T){const{componentType:M}=T,y=t.inject("designer-host-service");let k=z(M,T,y);const B=M.toLowerCase().replace(/-/g,"_");return k&&!k.id&&k.type===M&&(k.id=`${B}_${Math.random().toString().slice(2,6)}`),k}function I(T){}function A(...T){return[]}function D(){}return a.value={canMove:u(),canSelectParent:p(),canAdd:w(),canDelete:g(),canNested:!h(),contents:[],elementRef:r,parent:(E=e.parent)==null?void 0:E.componentInstance,schema:e.schema,styles:s,canAccepts:d,getBelongedComponentInstance:b,getDraggableDesignItemElement:l,getDraggingDisplayText:m,getPropConfig:A,getDragScopeElement:C,onAcceptMovedChildElement:N,onChildElementMovedOut:I,addNewChildComponentSchema:R,onRemoveComponent:D,triggerBelongedComponentToMoveWhenMoved:t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:t.ref(!1)},a}const ye=t.defineComponent({name:"FDesignerInnerItem",props:et,emits:["selectionChange","addComponent","removeComponent"],setup(r,e){const n=t.ref(r.canMove),s=t.ref(r.canAdd),a=t.ref(r.canDelete),u=t.ref(!1),p=t.ref(r.contentKey),g=t.ref(r.childType),w=t.ref(r.childLabel),h=t.ref(r.modelValue),b=t.ref(""),l=t.ref(),d=t.inject("canvas-dragula"),m=t.ref(),C=t.inject("design-item-context"),N={designerItemElementRef:l,componentInstance:m,schema:h.value,parent:C,setupContext:e};t.provide("design-item-context",N);const R=t.computed(()=>({"farris-component":!0,"flex-fill":r.id==="root-component","position-relative":n.value||a.value,"farris-nested":u.value,"can-move":n.value,"d-none":l.value&&l.value.classList.contains("d-none")})),I=t.computed(()=>{const o={};return b.value&&b.value.split(";").reduce((c,f)=>{const[S,P]=f.split(":");return S&&(c[S]=P),c},o),o});function A(o,c){if(C&&C.schema[p.value]){const f=C.schema[p.value].findIndex(S=>S.id===c.id);if(f>-1){const S=C.schema[p.value].length,P=C.schema[p.value][f%S];C.designerItemElementRef.value.querySelector(`#${P.id}-design-item`),C.schema[p.value].splice(f,1),re.value++,e.emit("removeComponent")}}}function D(o){if(m.value.addNewChildComponentSchema){const c={componentType:g.value,label:w.value,parentComponentInstance:m.value,targetPosition:-1},f=m.value.addNewChildComponentSchema(c);h.value[p.value].push(f),e.emit("addComponent")}}function E(){return s.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:o=>{D()}},[t.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function T(o){return a.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:t.withModifiers(c=>A(c,o),["stop"])},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function M(){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 y(o){return t.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[t.createVNode("div",null,[E(),M(),T(o)])])}t.watch(()=>r.modelValue,o=>{h.value=o,N.schema=o});function k(o){const c=o.target;nt(c)}function B(){var o,c;(c=(o=h.value)==null?void 0:o.contents)!=null&&c.length&&l.value&&l.value.addEventListener("scroll",k)}function v(){const o=l.value,c=t.ref(o.children[1]);return ot(c,N).value}t.onMounted(()=>{if(l.value){const o=l.value.querySelector(`[data-dragref='${h.value.id}-container']`);m.value=o&&o.componentInstance?o.componentInstance.value:v(),d&&o&&d.attachComponents(o,h.value),u.value=m.value.canNested!==void 0?m.value.canNested:u.value,s.value=m.value.canAdd!==void 0?m.value.canAdd:s.value,a.value=m.value.canDelete!==void 0?m.value.canDelete:a.value,n.value=m.value.canMove!==void 0?m.value.canMove:n.value,b.value=m.value.styles||"",l.value&&(l.value.componentInstance=m,l.value.designItemContext=N)}B(),re.value++}),t.onBeforeUnmount(()=>{l.value&&l.value.removeEventListener("scroll",k)});function i(o){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(S=>S.classList.remove("dgComponentFocused")),o&&(o.preventDefault(),o.stopPropagation());let c=N.designerItemElementRef;const f=l.value;if(f){const S=document.getElementsByClassName("dgComponentSelected");S&&S.length===1&&S[0]===l.value||(Array.from(S).forEach(V=>V.classList.remove("dgComponentSelected")),f.classList.add("dgComponentFocused"),e.emit("selectionChange",h.value.type,h.value,r.componentId,m.value),c=m.value.getDraggableDesignItemElement(N),c&&c.value&&c.value.classList.add("dgComponentSelected"))}k({target:c==null?void 0:c.value})}return()=>t.createVNode("div",{id:`${r.id}-design-item`,ref:l,class:R.value,style:I.value,onClick:i},[y(h.value),e.slots.default&&e.slots.default()])}});class rt extends Y{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),u={};u[s.viewModelId]={type:"events-editor",editor:{initialData:a}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:u,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(p,g){const w=p.propertyValue;delete e[s.viewModelId],w&&(w.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,w.events,w))}}}}class st extends Y{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:Q["response-toolbar-item"].name}]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}getbBehaviorConfig(){this.propertyConfig.categories.behavior={title:"行为",description:"Behavior",properties:{disabled:{title:"禁用",type:"boolean",description:"按钮禁用状态",refreshPanelAfterChanged:!0}}}}getAppearanceProperties(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),u={};u[s.viewModelId]={type:"events-editor",editor:{initialData:a}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:u,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(p,g){const w=p.propertyValue;delete e[s.viewModelId],w&&(w.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,w.events,w))}}}}function it(r,e){function n(g){return!1}function s(){return!1}function a(){return!0}function u(){return!1}function p(g){let w;switch(r.schema.type){case"tab-toolbar-item":w=new rt(g,e);break;default:w=new st(g,e)}return w.getPropertyConfig(r.schema)}return{canAccepts:n,checkCanMoveComponent:s,checkCanDeleteComponent:a,checkCanAddComponent:u,getPropsConfig:p}}const Ce=t.defineComponent({name:"FResponseToolbarItemDesign",props:ge,emits:["Click"],setup(r,e){t.ref(),t.ref();const n=t.ref(r.alignment),s={id:"__more_buttons__",text:"More"},a=t.ref(new q(s));t.computed(()=>a.value.children.length>0);const u=t.ref(),p=t.inject("designer-host-service"),g=t.inject("design-item-context"),w=it(g,p),h=ie.useDesignerInnerComponent(u,g,w);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{u.value.componentInstance=h}),e.expose(h.value);function b(){const m={"f-icon":!0},C=r.icon?r.icon.trim():"";return W.getCustomClass(m,C)}function l(){return!!(r.icon&&r.icon.trim())}function d(){const m={btn:!0,"f-rt-btn":!0,"f-btn-ml":n.value==="right","f-btn-mr":n.value==="left","btn-icontext":!!(r.icon&&r.icon.trim()),disabled:r.disabled===!0};return W.getCustomClass(m,r.class)}return()=>t.createVNode("div",{ref:u,"data-dragref":`${g.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[t.createVNode("button",{type:"button",class:d(),id:r.id},[l()&&t.createVNode("i",{class:b()},null),r.text])])}}),ve=t.defineComponent({name:"FResponseToolbarDesign",props:ze,emits:["Click"],setup(r,e){const n=t.ref(r.items);let s=new Array(n.value.length).fill(t.ref());const a=t.ref(),u=t.ref(),p=t.ref(r.alignment),g={id:"__more_buttons__",text:"More"},w=t.ref(new q(g)),h=he();t.computed(()=>w.value.children.length>0);const b=t.ref(),l=t.inject("designer-host-service"),d=t.inject("design-item-context"),m=Ke(d,l),C=ie.useDesignerInnerComponent(b,d,m),N=t.inject("toolbar-item-handler",()=>{});t.onMounted(()=>{b.value.componentInstance=C}),e.expose(C.value);function R(){N&&N()}const I=t.computed(()=>{const o={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return W.getCustomClass(o,r.customClass)}),A=t.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":p.value==="right","justify-content-start":p.value==="left"})),{renderToolbarDropdown:D,clearAllDropDown:E}=Ye(r,h,C);function T(){n.value.filter(o=>o.children&&o.children.length>0).forEach(o=>{o.expanded=!1}),w.value.expanded=!1,E()}const M=new Map,y=[];function k(o){const c=u.value;let f=o;const S=Array.from(c.children),P=S[S.length-1].id==="__more_buttons__"?S[S.length-1]:null;if(P){const $=P.computedStyleMap().get("margin-left"),_=P.computedStyleMap().get("margin-right"),H=($?$.value:0)+P.getBoundingClientRect().width+(_?_.value:0);f-=H}const V=S.filter($=>$.id!=="__more_buttons__");for(const $ of V){const _=$.computedStyleMap().get("margin-left"),H=$.computedStyleMap().get("margin-right"),G=(_?_.value:0)+$.getBoundingClientRect().width+(H?H.value:0);f<G?(M.set($.id,!0),y.push({id:$.id,width:G})):f-=G}if(y.length)for(let $=y.length-1;$>=0;$--){const _=y[$].width;if(f>=_)f-=_,M.delete(y[$].id),y.pop();else break}const O=Object.assign({},w.value);O.children=[];const L=new q(O),U=n.value.reduce(($,_)=>(M.has(_.id)&&L.children.push(_),_.visible=!M.has(_.id),$.push(_),$),[]);w.value=L,n.value=U}const B=new ResizeObserver(o=>{if(o.length){const f=o[0].contentRect.width,P=u.value.getBoundingClientRect().width;(f<P||y.length)&&k(f)}});t.onMounted(()=>{const o=a.value;B.observe(o),document.body.addEventListener("click",T)}),t.onUnmounted(()=>{B.disconnect(),document.body.removeEventListener("click",T)}),t.watch(()=>r.items,()=>{n.value=r.items},{deep:!0}),t.watch(n,o=>{s=new Array(n.value.length).fill(t.ref())});function v(o,c,f,S){d&&d.setupContext&&d.setupContext.emit("selectionChange",o,c,f,S)}function i(){const o=u.value.querySelector(".dgComponentFocused.dgComponentSelected");o==null||o.classList.remove("dgComponentSelected"),o==null||o.classList.remove("dgComponentFocused"),R()}return()=>t.createVNode("div",{ref:b,"data-dragref":`${d.schema.id}-container`,class:I.value},[t.createVNode("div",{ref:a,class:A.value},[t.createVNode("div",{ref:u,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[n.value.map((o,c)=>t.createVNode(ye,{ref:s[c],class:"p-0 display-inline-block",modelValue:o,"onUpdate:modelValue":f=>o=f,canMove:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:r.componentId,id:o.id,style:"padding:0 !important;display:inline-block",onSelectionChange:v,onRemoveComponent:i},{default:()=>{var f;return[t.createVNode(Ce,{id:o.id,disabled:o.disabled,text:o.text,icon:o.icon,class:((f=o.appearance)==null?void 0:f.class)||"btn-secondary",alignment:r.alignment||"right",componentId:r.componentId},null)]}}))])])])}}),we=oe;Z.register=(r,e,n)=>{r["response-toolbar"]=Z,e["response-toolbar"]=oe},Z.registerDesigner=(r,e,n)=>{r["response-toolbar"]=ve,e["response-toolbar"]=oe,r["response-toolbar-item"]=Ce,e["response-toolbar-item"]=Ge},W.withInstall(Z);const at={id:{type:String,default:""},componentId:{type:String,default:""},type:{type:String,default:""},canDelete:{type:Boolean,default:!0},canMove:{type:Boolean,default:!0},canSelectParent:{type:Boolean,default:!0},customButtons:{type:Array,default:[]},customClass:{type:String,default:""},customStyle:{type:String,default:""},modelValue:{type:Object},ignore:{type:Boolean,default:!1}},Pe=t.defineComponent({name:"FDesignerTemplateItem",props:at,emits:["selectionChange"],setup(r,e){const n=t.ref(),s=t.computed(()=>({"farris-component":!0}));function a(u){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(g=>g.classList.remove("dgComponentFocused")),u&&(u.preventDefault(),u.stopPropagation());const p=n.value;if(p){const g=document.getElementsByClassName("dgComponentSelected");g&&g.length===1&&g[0]===n.value||(Array.from(g).forEach(h=>h.classList.remove("dgComponentSelected")),p.classList.add("dgComponentFocused"))}re.value++}return()=>t.createVNode("div",{id:`${r.id}-design-item`,ref:n,class:s.value,onClick:a},[e.slots.default&&e.slots.default()])}}),ct=t.defineComponent({name:"FPageHeaderDesign",props:de,emits:["click"],setup(r,e){const n=t.ref(),s=t.inject("designer-host-service"),a=t.inject("design-item-context"),u=Oe(a.schema,s),p=Ae(n,a,u),g=t.ref(a.schema.toolbar||{type:"response-toolbar",buttons:[]}),w=t.ref(we(g.value));t.onMounted(()=>{n.value.componentInstance=p}),t.watch(()=>a.schema.toolbar,()=>{g.value=a.schema.toolbar||{type:"response-toolbar",buttons:[]},w.value=we(g.value)},{deep:!0});const h=t.computed(()=>[...w.value.items]);function b(l,d,m,C){a&&a.setupContext&&a.setupContext.emit("selectionChange",l,d,m,C)}return e.expose(p.value),()=>t.createVNode("div",{ref:n},[t.createVNode("nav",{class:"f-page-header-base"},[t.createVNode("div",{class:"f-title"},[t.createVNode(Pe,null,{default:()=>[t.createVNode("span",{class:"f-title-icon f-text-orna-manage"},[t.createVNode("i",{class:r.icon},null)])]}),t.createVNode(Pe,null,{default:()=>[t.createVNode("h4",{class:"f-title-text"},[r.title])]})]),t.createVNode(ye,{class:"col-6 text-right",modelValue:g.value,"onUpdate:modelValue":l=>g.value=l,canAdd:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:g.value.id,componentId:r.componentId,onSelectionChange:b},{default:()=>[t.createVNode(ve,{customClass:"w-100",items:h.value,componentId:r.componentId},null)]})])])}}),lt={install(r){r.component(X.name,X)},register(r,e,n,s){r["page-header"]=X,e["page-header"]=te,s["page-header"]={eventHandlerResolver:pe}},registerDesigner(r,e,n){r["page-header"]=ct,e["page-header"]=te}};j.PageHeader=X,j.default=lt,j.eventHandlerResolver=pe,j.pageHeaderDesignerProps=de,j.pageHeaderProps=J,j.propsResolver=te,Object.defineProperties(j,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(j,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("lodash-es"),require("../response-toolbar/index.umd.js"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../response-toolbar/index.umd.js","../common/index.umd.js","../designer-canvas/index.umd.js"],t):(j=typeof globalThis<"u"?globalThis:j||self,t(j["page-header"]={},j.Vue,j.LodashES,j.FResponseToolbar$1,j.common,j.designerCanvas))})(this,function(j,t,F,Te,W,ie){"use strict";var ut=Object.defineProperty;var ft=(j,t,F)=>t in j?ut(j,t,{enumerable:!0,configurable:!0,writable:!0,value:F}):j[t]=F;var x=(j,t,F)=>ft(j,typeof t!="symbol"?t+"":t,F);const ae={},ce={};function K(r){const{properties:e,title:n,ignore:s}=r,i=s&&Array.isArray(s),u=Object.keys(e).reduce((p,g)=>((!i||!s.find(w=>w===g))&&(p[g]=e[g].type==="object"&&e[g].properties?K(e[g]):F.cloneDeep(e[g].default)),p),{});if(n&&(!i||!s.find(p=>p==="id"))){const p=n.toLowerCase().replace(/-/g,"_");u.id=`${p}_${Math.random().toString().slice(2,6)}`}return u}function De(r){const{properties:e,title:n,required:s}=r;if(s&&Array.isArray(s)){const i=s.reduce((u,p)=>(u[p]=e[p].type==="object"&&e[p].properties?K(e[p]):F.cloneDeep(e[p].default),u),{});if(n&&s.find(u=>u==="id")){const u=n.toLowerCase().replace(/-/g,"_");i.id=`${u}_${Math.random().toString().slice(2,6)}`}return i}return{type:n}}function z(r,e={},n){const s=ae[r];if(s){let i=De(s);const u=ce[r];return i=u?u({getSchemaByType:z},i,e,n):i,i}return null}function Me(r,e){const n=K(e);return Object.keys(n).reduce((s,i)=>(Object.prototype.hasOwnProperty.call(r,i)&&(s[i]&&F.isPlainObject(s[i])&&F.isPlainObject(r[i]||!r[i])?Object.assign(s[i],r[i]||{}):s[i]=r[i]),s),n),n}function Ne(r,e){return Object.keys(r).filter(s=>r[s]!=null).reduce((s,i)=>{if(e.has(i)){const u=e.get(i);if(typeof u=="string")s[u]=r[i];else{const p=u(i,r[i],r);Object.assign(s,p)}}else s[i]=r[i];return s},{})}function ke(r,e,n=new Map){const s=Me(r,e);return Ne(s,n)}function Ve(r={}){function e(h,y,l,d){if(typeof l=="number")return d[h].length===l;if(typeof l=="object"){const m=Object.keys(l)[0],C=l[m];if(m==="not")return Number(d[h].length)!==Number(C);if(m==="moreThan")return Number(d[h].length)>=Number(C);if(m==="lessThan")return Number(d[h].length)<=Number(C)}return!1}function n(h,y,l,d){return d[h]&&d[h].propertyValue&&String(d[h].propertyValue.value)===String(l)}const s=new Map([["length",e],["getProperty",n]]);Object.keys(r).reduce((h,y)=>(h.set(y,r[y]),h),s);function i(h,y){const l=h;return typeof y=="number"?[{target:l,operator:"length",param:null,value:Number(y)}]:typeof y=="boolean"?[{target:l,operator:"getProperty",param:h,value:!!y}]:typeof y=="object"?Object.keys(y).map(d=>{if(d==="length")return{target:l,operator:"length",param:null,value:y[d]};const m=d,C=y[d];return{target:l,operator:"getProperty",param:m,value:C}}):[]}function u(h){return Object.keys(h).reduce((l,d)=>{const m=i(d,h[d]);return l.push(...m),l},[])}function p(h,y){if(s.has(h.operator)){const l=s.get(h.operator);return l&&l(h.target,h.param,h.value,y)||!1}return!1}function g(h,y){return u(h).reduce((m,C)=>m&&p(C,y),!0)}function w(h,y){const l=Object.keys(h),d=l.includes("allOf"),m=l.includes("anyOf"),C=d||m,I=(C?h[C?d?"allOf":"anyOf":"allOf"]:[h]).map(D=>g(D,y));return d?!I.includes(!1):I.includes(!0)}return{parseValueSchema:w}}const Q={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},xe={},Ee={};Ve();function ee(r,e,n=new Map,s=(p,g,w,h)=>g,i={},u=p=>p){return ae[e.title]=e,ce[e.title]=s,xe[e.title]=i,Ee[e.title]=u,(p={})=>{const g=ke(p,e,n),w=Object.keys(r).reduce((h,y)=>(h[y]=r[y].default,h),{});return Object.assign(w,g)}}function le(r,e){return{customClass:e.class,customStyle:e.style}}function Be(r,e){var s,i;const n=[];return e==null||e.buttons.map(u=>{const p={};Object.keys(u).map(g=>{var w;g==="appearance"?p.class=((w=u[g])==null?void 0:w.class)||"":p[g]=u[g]}),n.push(p)}),(s=e.appearance)!=null&&s.class?{buttons:n,buttonClass:(i=e.appearance)==null?void 0:i.class}:{buttons:n}}function Re(){function r(e,n){var g;const s=(g=e.toolbar)==null?void 0:g.buttons;if(!s||s.length<1)return null;const[i,u]=n.payloads,p=s.find(w=>w.id===u);return p?p.onClick||p.click:null}return{resolve:r}}const Ie=new Map([["appearance",le],["toolbar",Be]]),je={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/page-header.schema.json",title:"page-header",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a Page Header",type:"string"},type:{description:"The type string of Page Header component",type:"string",default:"page-header"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},showIcon:{description:"",type:"boolean",default:!0},icon:{description:"",type:"string",default:"f-icon-page-title-record"},iconClass:{description:"",type:"string",default:"f-text-orna-bill"},title:{description:"",type:"string",default:""},subTitle:{description:"",type:"string",default:""},toolbar:{description:"",type:"object",properties:{appearance:{description:"",type:"object",properties:{class:{type:"string",default:"col-6"}}},id:{description:"",type:"string"},type:{description:"",type:"string",default:"response-toolbar"},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Response Toolbar.",type:"array",default:[]}}},buttonClass:{description:"",type:"string",default:"col-6"},titleContentClass:{description:"",type:"string",default:""},contentClass:{description:"",type:"string",default:""},downContentClass:{description:"",type:"string",default:""},showPagination:{description:"",type:"boolean",default:!1},prePaginationDisabled:{description:"",type:"boolean",default:!0},nextPaginationDisabled:{description:"",type:"boolean",default:!1}},required:["id","type"]};function Ae(r,e,n){return e.title="标题",e}const J={customClass:{type:String,default:""},showIcon:{type:Boolean,default:!0},icon:{type:String,default:"f-icon-page-title-record"},iconClass:{type:String,default:"f-text-orna-bill"},title:{type:String,default:""},subTitle:{type:String,default:""},buttonClass:{type:String,default:"col-6"},buttons:{type:Array,default:[]},titleContentClass:{type:String,default:""},contentClass:{type:String,default:""},downContentClass:{type:String,default:""},showPagination:{type:Boolean,default:!1},prePaginationDisabled:{type:Boolean,default:!0},nextPaginationDisabled:{type:Boolean,default:!1}},de=Object.assign({},J,{componentId:{type:String,default:""}}),te=ee(J,je,Ie,Ae),pe=Re(),X=t.defineComponent({name:"FPageHeader",props:J,emits:["click","prePaginationClick","nextPaginationClick"],setup(r,e){const n=t.ref(r.buttons),s=(D,E)=>{e.emit("click",D,E)};function i(D,E){D&&E&&E.split(" ").reduce((M,b)=>(M[b]=!0,M),D)}const u=t.computed(()=>{const D={"f-page-header":!0};return i(D,r.customClass),D}),p=t.computed(()=>{const D={"f-title-icon":!0};return i(D,r.iconClass),D}),g=t.computed(()=>{const D={"f-icon":!0};return i(D,r.icon),D}),w=t.computed(()=>{const D={"f-title":!0};return i(D,r.titleContentClass),D}),h=t.computed(()=>{const D={"f-content":!0};return i(D,r.contentClass),D}),y=t.computed(()=>{const D={"f-content":!0};return i(D,r.downContentClass),D}),l=t.computed(()=>({"f-icon f-icon-arrow-w":!0,"f-state-disabled":r.prePaginationDisabled})),d=t.computed(()=>({"f-icon f-icon-arrow-e":!0,"f-state-disabled":r.nextPaginationDisabled}));function m(D){r.prePaginationDisabled||e.emit("prePaginationClick",D)}function C(D){r.nextPaginationDisabled||e.emit("nextPaginationClick",D)}function N(){return e.slots.titleContent?t.createVNode("div",{class:w.value},[t.createTextVNode(" "),e.slots.titleContent()]):t.createVNode("div",{class:"f-title"},[r.showIcon&&r.icon?t.createVNode("span",{class:p.value},[t.createVNode("i",{class:g.value},null)]):"",t.createVNode("h4",{class:"f-title-text"},[r.title]),r.subTitle?t.createVNode("h5",{class:"f-title-subtitle"},[r.subTitle]):"",r.showPagination?t.createVNode("div",{class:"f-title-pagination"},[t.createVNode("span",{class:l.value,onClick:m},null),t.createVNode("span",{class:d.value,onClick:C},null)]):""])}function R(){return e.slots.content?t.createVNode("div",{class:h.value},[t.createTextVNode(" "),e.slots.content()]):""}function I(){if(r.buttons&&r.buttons.length>0)return t.createVNode(Te,{customClass:r.buttonClass,items:n.value,onClick:s},null)}function A(){return e.slots.downContent?t.createVNode("div",{class:y.value},[t.createTextVNode(" "),e.slots.downContent()]):""}return t.watch(()=>r.buttons,D=>{n.value=D},{deep:!0}),()=>t.createVNode("div",{class:u.value},[t.createVNode("nav",{class:"f-page-header-base"},[N(),R(),I()]),A()])}});function $e(r,e,n){var E;const s=n&&n.getStyles&&n.getStyles()||"",i=n&&n.getDesignerClass&&n.getDesignerClass()||"",u=t.ref();function p(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanMoveComponent?n.checkCanMoveComponent():!0}function g(){return!1}function w(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanDeleteComponent?n.checkCanDeleteComponent():!0}function h(){return(e==null?void 0:e.schema.componentType)==="frame"?!0:n&&n.hideNestedPaddingInDesginerView?n.hideNestedPaddingInDesginerView():!1}function y(S){if(!S||!S.value)return null;if(S.value.schema&&S.value.schema.type==="component")return S.value;const M=t.ref(S==null?void 0:S.value.parent),b=y(M);return b||null}function l(S=e){const{componentInstance:M,designerItemElementRef:b}=S;return!M||!M.value?null:M.value.canMove?b:l(S.parent)}function d(S){return!!n&&n.canAccepts(S)}function m(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function C(){}function N(S,M){M&&n!=null&&n.onAcceptMovedChildElement&&n.onAcceptMovedChildElement(M)}function R(S,M){const{componentType:b}=S;let k=z(b,S,M);n&&n.onResolveNewComponentSchema&&(k=n.onResolveNewComponentSchema(S,k));const B=b.toLowerCase().replace(/-/g,"_");return k&&!k.id&&k.type===b&&(k.id=`${B}_${Math.random().toString().slice(2,6)}`),k}function I(S){}function A(...S){if(n&&n.getPropsConfig)return n.getPropsConfig(...S)}function D(){n&&n.onRemoveComponent&&n.onRemoveComponent(),e!=null&&e.schema.contents&&e.schema.contents.map(S=>{var k;let M=S.id;S.type==="component-ref"&&(M=S.component);const b=r.value.querySelector(`#${M}-design-item`);(k=b==null?void 0:b.componentInstance)!=null&&k.value.onRemoveComponent&&b.componentInstance.value.onRemoveComponent()})}return u.value={canMove:p(),canSelectParent:g(),canDelete:w(),canNested:!h(),contents:e==null?void 0:e.schema.contents,elementRef:r,parent:(E=e==null?void 0:e.parent)==null?void 0:E.componentInstance,schema:e==null?void 0:e.schema,styles:s,designerClass:i,canAccepts:d,getBelongedComponentInstance:y,getDraggableDesignItemElement:l,getDraggingDisplayText:m,getPropConfig:A,getDragScopeElement:C,onAcceptMovedChildElement:N,onChildElementMovedOut:I,addNewChildComponentSchema:R,triggerBelongedComponentToMoveWhenMoved:!!n&&n.triggerBelongedComponentToMoveWhenMoved||t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!n&&n.triggerBelongedComponentToDeleteWhenDeleted||t.ref(!1),onRemoveComponent:D},u}class Y{constructor(e,n){x(this,"componentId");x(this,"viewModelId");x(this,"eventsEditorUtils");x(this,"formSchemaUtils");x(this,"formMetadataConverter");x(this,"designViewModelUtils");x(this,"designViewModelField");x(this,"controlCreatorUtils");x(this,"designerHostService");x(this,"schemaService",null);x(this,"metadataService",null);x(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(u=>u.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:Q[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(p=>p.id===e),u=F.cloneDeep(s.contents[i]);s.contents.splice(i,1),s.contents.splice(i,0,u)}}class Oe extends Y{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.propertyConfig}getBasicPropConfig(e){this.propertyConfig.categories.basic={description:"Basic Information",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:"page-header",value:Q["page-header"].name}]}},icon:{title:"图标",type:"string",description:"图标"},title:{title:"标题",type:"string",description:"标题"}},setPropertyRelates(n,s){if(n)switch(n&&n.propertyID){case"title":{n.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(e){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:""}}}}getEventPropConfig(e){const n=[{label:"click",name:"点击事件"}],s=this,i=s.eventsEditorUtils.formProperties(e,s.viewModelId,n);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:{"data-grid-component-viewmodel":{type:"events-editor",editor:{initialData:i}}},refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(u,p){const g=u.propertyValue;delete e[s.viewModelId],g&&(g.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,g.events,g))}}}}function _e(r,e){function n(g){return!1}function s(){return!1}function i(){return!1}function u(){return!0}function p(g){return new Oe(g,e).getPropertyConfig(r)}return{canAccepts:n,hideNestedPaddingInDesginerView:u,getPropsConfig:p,checkCanDeleteComponent:s,checkCanMoveComponent:i}}class ue{constructor(e){x(this,"id","");x(this,"class","btn-secondary");x(this,"icon","");x(this,"groupId","");x(this,"order",-1);x(this,"asDropDownTop",!1);x(this,"text","");x(this,"visible",!0);x(this,"responsed",!1);x(this,"tipsEnable",!1);x(this,"tipsText","");x(this,"width",0);x(this,"onClick",()=>{});x(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 Fe extends ue{constructor(e){super(e)}}function fe(){function r(e){const n=[];return e.reduce((s,i)=>(i.children&&i.children.length>0?s.push(new q(i)):s.push(new Fe(i)),s),n),n}return{buildResponseToolbarItems:r}}const{buildResponseToolbarItems:Le}=fe();class q extends ue{constructor(n){super(n);x(this,"placement","");x(this,"dropdownClass","");x(this,"menuClass","");x(this,"split",!1);x(this,"children",[]);x(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=Le(n.children))}}const qe=new Map([["buttons","items"],["appearance",le]]);function Ue(r,e){return{class:e.class,style:e.style}}const He=new Map([["appearance",Ue]]);function me(r,e,n){return e}const We={$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"]},ne={customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]}},Ge=Object.assign({},ne,{componentId:{type:String,default:""}}),oe=ee(ne,We,qe,me),ge={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"}},Qe=ee(ge,ze,He,me);function he(){function r(n){const s={"f-icon":!0};if(n.icon){const i=n.icon.trim().split(" ");i&&i.length&&i.reduce((u,p)=>(u[p]=!0,u),s)}return s}function e(n){return!!(n.icon&&n.icon.trim())}return{iconClass:r,shouldShowIcon:e}}function Je(r){function e(l){const d={"dropdown-menu":!0};if(l.class){const m=l.menuClass.split(" ");m&&m.length&&m.reduce((C,N)=>(C[N]=!0,C),d)}return d}function n(l){const d={disabled:!l.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},m=l.dropdownClass.split(" ");return m&&m.length&&m.reduce((C,N)=>(C[N]=!0,C),d),d}function s(l){const d={disabled:!l.enable,"dropdown-item":!0,"f-rt-btn":!0},m=l.class.split(" ");return m&&m.length&&m.reduce((C,N)=>(C[N]=!0,C),d),d}let i;const u=new Map;function p(l,d,m){var N;((N=l.target)==null?void 0:N.id)===d.id&&l.stopPropagation();const C=m?m.id:"__top_item__";if(d.children&&d.children.length&&(d.expanded=!d.expanded,d.expanded?u.set(C,d):u.delete(C)),u.has(C)&&u.get(C)!==d){const R=u.get(C);R&&(R.expanded=!1)}}function g(l,d){document.body.click(),d.enable&&d.onClick(l,d.id)}function w(l){return l.children.map(d=>d.children&&d.children.length?t.createVNode("li",{class:n(d),id:d.id,onClick:m=>d.enable&&p(m,d,l)},[t.createVNode("span",{id:d.id,class:s(d),onMouseover:m=>d.enable&&p(m,d,l)},[d.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),i(d,d)]):t.createVNode("li",{class:s(d),id:d.id,onClick:m=>g(m,d),onMouseover:m=>d.enable&&p(m,d,l)},[r.shouldShowIcon(d)&&t.createVNode("i",{class:r.iconClass(d)},null),d.text]))}function h(l,d,m){const C={display:l.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},N=document.getElementsByTagName("body")[0].getClientRects()[0].width,R=d,I=R==null?void 0:R.getClientRects();if(R&&I&&I.length){const{top:A,width:D,left:E,right:S,height:M}=I[0],b=Math.ceil(M+A);C.top=`${b}px`,C.left=`${E}px`;const k=l.id+"_menu",B=d?d.querySelector("#"+k):null;if(B){C.display==="block"&&(B.style.display="block");const v=B.getBoundingClientRect();if(m){C.top=`${A-6}px`;const a=Math.ceil(D+E);C.left=`${a}px`}N-E-D<v.width&&(C.left=`${(m?E:S)-v.width}px`)}}return C}i=function(l,d){var R,I;const m=t.getCurrentInstance(),C=d?d.id:l.id,N=(I=(R=m==null?void 0:m.exposed)==null?void 0:R.elementRef.value)==null?void 0:I.querySelector("#"+C);return t.createVNode("ul",{class:e(l),style:h(l,N,d),id:l.id+"_menu"},[w(l)])};function y(){u.forEach(l=>{l.expanded=!1}),u.clear()}return{renderDropdownMenu:i,clearAllDropDownMenu:y}}function Xe(r,e){const n=t.ref(r.alignment),{renderDropdownMenu:s,clearAllDropDownMenu:i}=Je(e);function u(y){const l={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":n.value==="right","f-btn-mr":n.value==="left"},d=y.dropdownClass.split(" ");return d&&d.length&&d.reduce((m,C)=>(m[C]=!0,m),l),l}function p(y){const l={btn:!0,disabled:!y.enable,"f-rt-btn":!0,"btn-icontext":!!(y.icon&&y.icon.trim())};if(y.class){const d=y.class.split(" ");d&&d.length&&d.reduce((m,C)=>(m[C]=!0,m),l)}return l}function g(y,l){y.stopPropagation();const d=l.expanded;document.body.click(),l.expanded=!d}function w(y){return t.createVNode("div",{id:y.id,class:u(y)},[t.createVNode("div",{class:p(y),style:"display: flex;padding-right: 0.1rem;border-top-right-radius: 6px;border-bottom-right-radius: 6px",onClick:l=>y.enable&&g(l,y)},[e.shouldShowIcon(y)&&t.createVNode("i",{class:e.iconClass(y)},null),t.createVNode("span",null,[y.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)]),s(y)])}function h(){i()}return{renderToolbarDropdown:w,clearAllDropDown:h}}const{buildResponseToolbarItems:ye}=fe(),Z=t.defineComponent({name:"FResponseToolbar",props:ne,emits:["click"],setup(r,e){const n=t.ref(ye(r.items)),s=t.ref(),i=t.ref(),u=t.ref(),p=t.ref(r.alignment),g={id:"__more_buttons__",text:"更多"},w=t.ref(new q(g)),h=he(),y=t.computed(()=>w.value.children.length>0),l=t.computed(()=>{const b={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return W.getCustomClass(b,r.customClass)}),d=t.computed(()=>({"w-100":!0,"d-flex":!0,"flex-nowrap":!0,"justify-content-end":p.value==="right","justify-content-start":p.value==="left"})),{renderToolbarDropdown:m,clearAllDropDown:C}=Xe(r,h);function N(){n.value.filter(b=>b.children&&b.children.length>0).forEach(b=>{b.expanded=!1}),w.value.expanded=!1,C()}function R(b){const k={btn:!0,"f-rt-btn":!0,"f-btn-ml":p.value==="right","f-btn-mr":p.value==="left","btn-icontext":!!(b.icon&&b.icon.trim())};if(b.class){const B=b.class.split(" ");B&&B.length&&B.reduce((v,a)=>(v[a]=!0,v),k)}return k}function I(b,k){document.body.click(),typeof k.onClick=="function"&&k.onClick(b,k.id),e.emit("click",b,k.id)}function A(b){return t.createVNode("button",{type:"button",class:R(b),id:b.id,disabled:!b.enable,onClick:k=>I(k,b)},[h.shouldShowIcon(b)&&t.createVNode("i",{class:h.iconClass(b)},null),b.text])}const D=new Map,E=[];function S(b){const k=u.value;let B=b;const v=Array.from(k.children),a=v[v.length-1].id==="__more_buttons__"?v[v.length-1]:null;if(a){const P=a.computedStyleMap().get("margin-left"),V=a.computedStyleMap().get("margin-right"),O=(P?P.value:0)+a.getBoundingClientRect().width+(V?V.value:0);B-=O}const o=v.filter(P=>P.id!=="__more_buttons__");for(const P of o){const V=P.computedStyleMap().get("margin-left"),O=P.computedStyleMap().get("margin-right"),L=(V?V.value:0)+P.getBoundingClientRect().width+(O?O.value:0);B<L?(D.set(P.id,!0),E.push({id:P.id,width:L})):B-=L}if(E.length)for(let P=E.length-1;P>=0;P--){const V=E[P].width;if(B>=V)B-=V,D.delete(E[P].id),E.pop();else break}const c=Object.assign({},w.value);c.children=[];const f=new q(c),T=n.value.reduce((P,V)=>(D.has(V.id)&&f.children.push(V),V.visible=!D.has(V.id),P.push(V),P),[]);w.value=f,n.value=T}const M=new ResizeObserver(b=>{if(b.length){const B=b[0].contentRect.width,a=u.value.getBoundingClientRect().width;(B<a||E.length)&&(S(B),N())}});return t.onMounted(()=>{const b=i.value;M.observe(b),document.body.addEventListener("click",N),document.body.addEventListener("wheel",N)}),t.onUnmounted(()=>{M.disconnect(),document.body.removeEventListener("click",N),document.body.removeEventListener("wheel",N)}),t.watch(()=>r.items,()=>{n.value=ye(r.items)},{deep:!0}),e.expose({elementRef:s}),()=>t.createVNode("div",{class:l.value,ref:s},[t.createVNode("div",{ref:i,class:d.value},[t.createVNode("div",{ref:u,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[n.value.filter(b=>b.visible).map(b=>b.children&&b.children.length>0?m(b):A(b)),y.value&&m(w.value)])])])}});function Ye(r,e){const n=t.inject("design-item-context"),s=t.inject("toolbar-item-handler",()=>{});function i(){s&&s()}function u(a){const o={"dropdown-menu":!0};if(a.class){const c=a.menuClass.split(" ");c&&c.length&&c.reduce((f,T)=>(f[T]=!0,f),o)}return o}function p(a){const o={disabled:!a.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},c=a.dropdownClass.split(" ");return c&&c.length&&c.reduce((f,T)=>(f[T]=!0,f),o),o}function g(a){const o={disabled:!a.enable,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0},c=a.class.split(" ");return c&&c.length&&c.reduce((f,T)=>(f[T]=!0,f),o),o}let w;const h=new Map;function y(a,o,c){var T;((T=a.target)==null?void 0:T.id)===o.id&&a.stopPropagation();const f=c?c.id:"__top_item__";if(o.children&&o.children.length&&(o.expanded=!o.expanded,o.expanded?h.set(f,o):h.delete(f)),h.has(f)&&h.get(f)!==o){const P=h.get(f);P&&(P.expanded=!1)}}function l(a){a&&(a.stopPropagation(),a.preventDefault())}function d(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(o=>o.classList.remove("dgComponentFocused"));const a=document.getElementsByClassName("dgComponentSelected");Array.from(a).forEach(o=>o.classList.remove("dgComponentSelected"))}function m(a){a.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function C(a){const{buttons:o=[]}=n.schema;let c=[];o.forEach(P=>{c=c.concat(P.children||[])});const f=c.findIndex(P=>P.id===a),T=f===-1?null:c[f];return{index:f,item:T}}function N(a){const{buttons:o=[]}=n.schema,c=o.findIndex(T=>T.id===a),f=c===-1?null:o[c];return{index:c,item:f}}function R(a){var f;n.schema;const{index:o,item:c}=C(a);(f=n==null?void 0:n.setupContext)==null||f.emit("selectionChange",c==null?void 0:c.type,c)}const I=function(a){const{componentType:o}=a,c=z(o,a),f=o.toLowerCase().replace("-","_");return c&&!c.id&&c.type===o&&(c.id=`${f}_${Math.random().toString().slice(2,6)}`),c},A=function(){const a={componentType:"response-toolbar-item",parentComponentInstance:e.value,targetPosition:-1};return I(a)};function D(a,o){l(a),d(),m(a),R(o.id)}function E(a,o,c){l(a);const f=o.id,T=c&&c.id,{buttons:P=[]}=n.schema;if(!T)return;const{index:V}=N(T);if(V===-1)return;const{index:O}=C(f);O!==-1&&(P[V].children.splice(O,1),i())}function S(a,o,c){l(a);const f=c&&c.id,{buttons:T=[]}=n.schema;if(!f)return;const{index:P}=N(f);if(P===-1)return;const V=A(),O=Object.assign({},V,{text:o.text});T[P].children.push(O),i()}function M(a,o,c){l(a);const f=c&&c.id,{buttons:T=[]}=n.schema;if(!f)return;const{index:P}=N(f);if(P===-1)return;const V=A(),O=Object.assign({},V,{text:"按钮"});T[P].children.push(O),i()}function b(a,o){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:c=>E(c,a,o)},[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:c=>S(c,a,o)},[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:c=>M(c,a,o)},[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 k(a){return a.children.map(o=>o.children&&o.children.length?t.createVNode("li",{class:p(o),id:o.id,onClick:c=>o.enable&&y(c,o,a)},[t.createVNode("span",{id:o.id,class:g(o),onMouseover:c=>o.enable&&y(c,o,a)},[o.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),w(o,o)]):t.createVNode("li",{class:g(o),id:o.id,onClick:c=>D(c,o)},[b(o,a),r.shouldShowIcon(o)&&t.createVNode("i",{class:r.iconClass(o)},null),o.text]))}function B(a,o,c){const f={display:a.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},T=document.getElementsByTagName("body")[0].getClientRects()[0].width,P=o,V=P==null?void 0:P.getClientRects();if(P&&V&&V.length){const{top:O,width:L,left:U,right:$,height:_}=V[0],H=Math.ceil(_+O);f.top=`${H}px`,f.left=`${U}px`;const G=a.id+"_menu",se=o?o.querySelector("#"+G):null;if(se){f.display==="block"&&(se.style.display="block");const Se=se.getBoundingClientRect();if(c){f.top=`${O-6}px`;const pt=Math.ceil(L+U);f.left=`${pt}px`}T-U-L<Se.width&&(f.left=`${(c?U:$)-Se.width}px`)}}return f}w=function(a,o){var P,V;const c=t.getCurrentInstance(),f=o?o.id:a.id,T=(V=(P=c==null?void 0:c.exposed)==null?void 0:P.elementRef.value)==null?void 0:V.querySelector("#"+f);return t.createVNode("ul",{class:u(a),style:B(a,T,o),id:a.id+"_menu"},[k(a)])};function v(){h.forEach(a=>{a.expanded=!1}),h.clear()}return{renderDropdownMenu:w,clearAllDropDownMenu:v}}function Ze(r,e,n){const s=t.ref(r.alignment),{renderDropdownMenu:i,clearAllDropDownMenu:u}=Ye(e,n),p=t.inject("design-item-context"),g=t.inject("toolbar-item-handler",()=>{});function w(){g&&g()}function h(v){const a={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":s.value==="right","f-btn-mr":s.value==="left"},o=v.dropdownClass.split(" ");return o&&o.length&&o.reduce((c,f)=>(c[f]=!0,c),a),a}function y(v){const a={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 o=v.class.split(" ");o&&o.length&&o.reduce((c,f)=>(c[f]=!0,c),a)}return a}function l(v){v&&(v.stopPropagation(),v.preventDefault())}function d(v,a){l(v);const o=a.expanded;document.body.click(),a.expanded=!o}const m=function(v){const{componentType:a}=v,o=z(a,v),c=a.toLowerCase().replace("-","_");return o&&!o.id&&o.type===a&&(o.id=`${c}_${Math.random().toString().slice(2,6)}`),o},C=function(){const v={componentType:"response-toolbar-item",parentComponentInstance:n.value,targetPosition:-1};return m(v)};function N(v){const a=p.schema.buttons||p.schema.contents,o=a==null?void 0:a.findIndex(f=>f.id===v),c=o===-1?null:a[o];return{index:o,toolbarItem:c}}function R(v,a){var V;const{index:o,toolbarItem:c}=N(a);if(o===-1)return;const f=c.text||"按钮",T=C(),P=Object.assign({},T,{text:f});(V=p.schema.buttons)==null||V.push(P),w()}function I(v,a){const{index:o,toolbarItem:c}=N(a);if(o===-1)return;const f=c.text||"按钮",T=C(),P=Object.assign({},T,{text:f}),V=p.schema.buttons[o].children||[];V.push(P),p.schema.buttons[o].children=V,w()}function A(v,a){const o=p.schema.buttons||p.schema.contents,c=o==null?void 0:o.findIndex(f=>f.id===a);c!==-1&&(o.splice(c,1),w())}function D(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:a=>A(a,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:a=>R(a,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:a=>I(a,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 E(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(a=>a.classList.remove("dgComponentFocused"));const v=document.getElementsByClassName("dgComponentSelected");Array.from(v).forEach(a=>a.classList.remove("dgComponentSelected"))}function S(v){v.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function M(v){var f;const a=p.schema.buttons||p.schema.contents,o=a==null?void 0:a.findIndex(T=>T.id===v);if(o===-1)return;const c=a[o];(f=p==null?void 0:p.setupContext)==null||f.emit("selectionChange","response-toolbar-item",c)}function b(v,a){l(v),E(),S(v),l(v),d(v,a),M(a.id)}function k(v){return t.createVNode("div",{id:v.id,class:h(v)},[t.createVNode("div",{class:y(v),style:"display: flex;padding-right: 0.1rem;",onClick:a=>v.enable&&b(a,v)},[D(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 B(){u()}return{renderToolbarDropdown:k,clearAllDropDown:B}}class Ke extends Y{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:Q["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 et(r,e){const n=r.schema;function s(y){return!1}function i(y,l){return l.text=y.label,l}function u(){return!1}function p(){return!1}function g(){return!0}function w(){return!0}function h(y){return new Ke(y,e).getPropertyConfig(n)}return{canAccepts:s,checkCanAddComponent:g,checkCanDeleteComponent:p,checkCanMoveComponent:u,hideNestedPaddingInDesginerView:w,onResolveNewComponentSchema:i,getPropsConfig:h}}const tt={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}},re=t.ref(0);function nt(r,e){const n=e.getBoundingClientRect(),s=r.getBoundingClientRect(),i=s.top>=n.top,u=s.top<=n.bottom;return i&&u}function ot(r){if(!r)return;let e;if(r.className.includes("dgComponentSelected")?e=r:e=r.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(!nt(e,r)){s.style.display="none";return}s.style.display="";const u=s.getBoundingClientRect(),p=s.querySelector("div");if(p){const g=p.getBoundingClientRect();p.style.top=u.top+"px",p.style.left=u.left-g.width+"px"}}}function rt(r,e,n){var E;const s="",i=t.ref();function u(){return!0}function p(){return!1}function g(){return!0}function w(){return!0}function h(){return!0}function y(S){if(!S||!S.value)return null;const M=t.ref(S==null?void 0:S.value.parent),b=y(M);return b||null}function l(S=e){const{componentInstance:M,designerItemElementRef:b}=S;return!M||!M.value?null:M.value.canMove||M.value.canAdd||M.value.canDelete?b:l(S.parent)}function d(S){return!!n}function m(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function C(){}function N(S,M){}function R(S){const{componentType:M}=S,b=t.inject("designer-host-service");let k=z(M,S,b);const B=M.toLowerCase().replace(/-/g,"_");return k&&!k.id&&k.type===M&&(k.id=`${B}_${Math.random().toString().slice(2,6)}`),k}function I(S){}function A(...S){return[]}function D(){}return i.value={canMove:u(),canSelectParent:p(),canAdd:w(),canDelete:g(),canNested:!h(),contents:[],elementRef:r,parent:(E=e.parent)==null?void 0:E.componentInstance,schema:e.schema,styles:s,canAccepts:d,getBelongedComponentInstance:y,getDraggableDesignItemElement:l,getDraggingDisplayText:m,getPropConfig:A,getDragScopeElement:C,onAcceptMovedChildElement:N,onChildElementMovedOut:I,addNewChildComponentSchema:R,onRemoveComponent:D,triggerBelongedComponentToMoveWhenMoved:t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:t.ref(!1)},i}const be=t.defineComponent({name:"FDesignerInnerItem",props:tt,emits:["selectionChange","addComponent","removeComponent"],setup(r,e){const n=t.ref(r.canMove),s=t.ref(r.canAdd),i=t.ref(r.canDelete),u=t.ref(!1),p=t.ref(r.contentKey),g=t.ref(r.childType),w=t.ref(r.childLabel),h=t.ref(r.modelValue),y=t.ref(""),l=t.ref(),d=t.inject("canvas-dragula"),m=t.ref(),C=t.inject("design-item-context"),N={designerItemElementRef:l,componentInstance:m,schema:h.value,parent:C,setupContext:e};t.provide("design-item-context",N);const R=t.computed(()=>({"farris-component":!0,"flex-fill":r.id==="root-component","position-relative":n.value||i.value,"farris-nested":u.value,"can-move":n.value,"d-none":l.value&&l.value.classList.contains("d-none")})),I=t.computed(()=>{const o={};return y.value&&y.value.split(";").reduce((c,f)=>{const[T,P]=f.split(":");return T&&(c[T]=P),c},o),o});function A(o,c){if(C&&C.schema[p.value]){const f=C.schema[p.value].findIndex(T=>T.id===c.id);if(f>-1){const T=C.schema[p.value].length,P=C.schema[p.value][f%T];C.designerItemElementRef.value.querySelector(`#${P.id}-design-item`),C.schema[p.value].splice(f,1),re.value++,e.emit("removeComponent")}}}function D(o){if(m.value.addNewChildComponentSchema){const c={componentType:g.value,label:w.value,parentComponentInstance:m.value,targetPosition:-1},f=m.value.addNewChildComponentSchema(c);h.value[p.value].push(f),e.emit("addComponent")}}function E(){return s.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:o=>{D()}},[t.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function S(o){return i.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:t.withModifiers(c=>A(c,o),["stop"])},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function M(){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 b(o){return t.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[t.createVNode("div",null,[E(),M(),S(o)])])}t.watch(()=>r.modelValue,o=>{h.value=o,N.schema=o});function k(o){const c=o.target;ot(c)}function B(){var o,c;(c=(o=h.value)==null?void 0:o.contents)!=null&&c.length&&l.value&&l.value.addEventListener("scroll",k)}function v(){const o=l.value,c=t.ref(o.children[1]);return rt(c,N).value}t.onMounted(()=>{if(l.value){const o=l.value.querySelector(`[data-dragref='${h.value.id}-container']`);m.value=o&&o.componentInstance?o.componentInstance.value:v(),d&&o&&d.attachComponents(o,h.value),u.value=m.value.canNested!==void 0?m.value.canNested:u.value,s.value=m.value.canAdd!==void 0?m.value.canAdd:s.value,i.value=m.value.canDelete!==void 0?m.value.canDelete:i.value,n.value=m.value.canMove!==void 0?m.value.canMove:n.value,y.value=m.value.styles||"",l.value&&(l.value.componentInstance=m,l.value.designItemContext=N)}B(),re.value++}),t.onBeforeUnmount(()=>{l.value&&l.value.removeEventListener("scroll",k)});function a(o){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(T=>T.classList.remove("dgComponentFocused")),o&&(o.preventDefault(),o.stopPropagation());let c=N.designerItemElementRef;const f=l.value;if(f){const T=document.getElementsByClassName("dgComponentSelected");T&&T.length===1&&T[0]===l.value||(Array.from(T).forEach(V=>V.classList.remove("dgComponentSelected")),f.classList.add("dgComponentFocused"),e.emit("selectionChange",h.value.type,h.value,r.componentId,m.value),c=m.value.getDraggableDesignItemElement(N),c&&c.value&&c.value.classList.add("dgComponentSelected"))}k({target:c==null?void 0:c.value})}return()=>t.createVNode("div",{id:`${r.id}-design-item`,ref:l,class:R.value,style:I.value,onClick:a},[b(h.value),e.slots.default&&e.slots.default()])}});class st extends Y{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),u={};u[s.viewModelId]={type:"events-editor",editor:{initialData:i}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:u,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(p,g){const w=p.propertyValue;delete e[s.viewModelId],w&&(w.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,w.events,w))}}}}class it extends Y{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:Q["response-toolbar-item"].name}]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}getbBehaviorConfig(){this.propertyConfig.categories.behavior={title:"行为",description:"Behavior",properties:{disabled:{title:"禁用",type:"boolean",description:"按钮禁用状态",refreshPanelAfterChanged:!0}}}}getAppearanceProperties(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),u={};u[s.viewModelId]={type:"events-editor",editor:{initialData:i}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:u,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(p,g){const w=p.propertyValue;delete e[s.viewModelId],w&&(w.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,w.events,w))}}}}function at(r,e){function n(g){return!1}function s(){return!1}function i(){return!0}function u(){return!1}function p(g){let w;switch(r.schema.type){case"tab-toolbar-item":w=new st(g,e);break;default:w=new it(g,e)}return w.getPropertyConfig(r.schema)}return{canAccepts:n,checkCanMoveComponent:s,checkCanDeleteComponent:i,checkCanAddComponent:u,getPropsConfig:p}}const Ce=t.defineComponent({name:"FResponseToolbarItemDesign",props:ge,emits:["Click"],setup(r,e){t.ref(),t.ref();const n=t.ref(r.alignment),s={id:"__more_buttons__",text:"More"},i=t.ref(new q(s));t.computed(()=>i.value.children.length>0);const u=t.ref(),p=t.inject("designer-host-service"),g=t.inject("design-item-context"),w=at(g,p),h=ie.useDesignerInnerComponent(u,g,w);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{u.value.componentInstance=h}),e.expose(h.value);function y(){const m={"f-icon":!0},C=r.icon?r.icon.trim():"";return W.getCustomClass(m,C)}function l(){return!!(r.icon&&r.icon.trim())}function d(){const m={btn:!0,"f-rt-btn":!0,"f-btn-ml":n.value==="right","f-btn-mr":n.value==="left","btn-icontext":!!(r.icon&&r.icon.trim()),disabled:r.disabled===!0};return W.getCustomClass(m,r.class)}return()=>t.createVNode("div",{ref:u,"data-dragref":`${g.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[t.createVNode("button",{type:"button",class:d(),id:r.id},[l()&&t.createVNode("i",{class:y()},null),r.text])])}}),ve=t.defineComponent({name:"FResponseToolbarDesign",props:Ge,emits:["Click"],setup(r,e){const n=t.ref(r.items);let s=new Array(n.value.length).fill(t.ref());const i=t.ref(),u=t.ref(),p=t.ref(r.alignment),g={id:"__more_buttons__",text:"More"},w=t.ref(new q(g)),h=he();t.computed(()=>w.value.children.length>0);const y=t.ref(),l=t.inject("designer-host-service"),d=t.inject("design-item-context"),m=et(d,l),C=ie.useDesignerInnerComponent(y,d,m),N=t.inject("toolbar-item-handler",()=>{});t.onMounted(()=>{y.value.componentInstance=C}),e.expose(C.value);function R(){N&&N()}const I=t.computed(()=>{const o={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return W.getCustomClass(o,r.customClass)}),A=t.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":p.value==="right","justify-content-start":p.value==="left"})),{renderToolbarDropdown:D,clearAllDropDown:E}=Ze(r,h,C);function S(){n.value.filter(o=>o.children&&o.children.length>0).forEach(o=>{o.expanded=!1}),w.value.expanded=!1,E()}const M=new Map,b=[];function k(o){const c=u.value;let f=o;const T=Array.from(c.children),P=T[T.length-1].id==="__more_buttons__"?T[T.length-1]:null;if(P){const $=P.computedStyleMap().get("margin-left"),_=P.computedStyleMap().get("margin-right"),H=($?$.value:0)+P.getBoundingClientRect().width+(_?_.value:0);f-=H}const V=T.filter($=>$.id!=="__more_buttons__");for(const $ of V){const _=$.computedStyleMap().get("margin-left"),H=$.computedStyleMap().get("margin-right"),G=(_?_.value:0)+$.getBoundingClientRect().width+(H?H.value:0);f<G?(M.set($.id,!0),b.push({id:$.id,width:G})):f-=G}if(b.length)for(let $=b.length-1;$>=0;$--){const _=b[$].width;if(f>=_)f-=_,M.delete(b[$].id),b.pop();else break}const O=Object.assign({},w.value);O.children=[];const L=new q(O),U=n.value.reduce(($,_)=>(M.has(_.id)&&L.children.push(_),_.visible=!M.has(_.id),$.push(_),$),[]);w.value=L,n.value=U}const B=new ResizeObserver(o=>{if(o.length){const f=o[0].contentRect.width,P=u.value.getBoundingClientRect().width;(f<P||b.length)&&k(f)}});t.onMounted(()=>{const o=i.value;B.observe(o),document.body.addEventListener("click",S)}),t.onUnmounted(()=>{B.disconnect(),document.body.removeEventListener("click",S)}),t.watch(()=>r.items,()=>{n.value=r.items},{deep:!0}),t.watch(n,o=>{s=new Array(n.value.length).fill(t.ref())});function v(o,c,f,T){d&&d.setupContext&&d.setupContext.emit("selectionChange",o,c,f,T)}function a(){const o=u.value.querySelector(".dgComponentFocused.dgComponentSelected");o==null||o.classList.remove("dgComponentSelected"),o==null||o.classList.remove("dgComponentFocused"),R()}return()=>t.createVNode("div",{ref:y,"data-dragref":`${d.schema.id}-container`,class:I.value},[t.createVNode("div",{ref:i,class:A.value},[t.createVNode("div",{ref:u,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[n.value.map((o,c)=>t.createVNode(be,{ref:s[c],class:"p-0 display-inline-block",modelValue:o,"onUpdate:modelValue":f=>o=f,canMove:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:r.componentId,id:o.id,style:"padding:0 !important;display:inline-block",onSelectionChange:v,onRemoveComponent:a},{default:()=>{var f;return[t.createVNode(Ce,{id:o.id,disabled:o.disabled,text:o.text,icon:o.icon,class:((f=o.appearance)==null?void 0:f.class)||"btn-secondary",alignment:r.alignment||"right",componentId:r.componentId},null)]}}))])])])}}),we=oe;Z.register=(r,e,n)=>{r["response-toolbar"]=Z,e["response-toolbar"]=oe},Z.registerDesigner=(r,e,n)=>{r["response-toolbar"]=ve,e["response-toolbar"]=oe,r["response-toolbar-item"]=Ce,e["response-toolbar-item"]=Qe},W.withInstall(Z);const ct={id:{type:String,default:""},componentId:{type:String,default:""},type:{type:String,default:""},canDelete:{type:Boolean,default:!0},canMove:{type:Boolean,default:!0},canSelectParent:{type:Boolean,default:!0},customButtons:{type:Array,default:[]},customClass:{type:String,default:""},customStyle:{type:String,default:""},modelValue:{type:Object},ignore:{type:Boolean,default:!1}},Pe=t.defineComponent({name:"FDesignerTemplateItem",props:ct,emits:["selectionChange"],setup(r,e){const n=t.ref(),s=t.computed(()=>({"farris-component":!0}));function i(u){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(g=>g.classList.remove("dgComponentFocused")),u&&(u.preventDefault(),u.stopPropagation());const p=n.value;if(p){const g=document.getElementsByClassName("dgComponentSelected");g&&g.length===1&&g[0]===n.value||(Array.from(g).forEach(h=>h.classList.remove("dgComponentSelected")),p.classList.add("dgComponentFocused"))}re.value++}return()=>t.createVNode("div",{id:`${r.id}-design-item`,ref:n,class:s.value,onClick:i},[e.slots.default&&e.slots.default()])}}),lt=t.defineComponent({name:"FPageHeaderDesign",props:de,emits:["click"],setup(r,e){const n=t.ref(),s=t.inject("designer-host-service"),i=t.inject("design-item-context"),u=_e(i.schema,s),p=$e(n,i,u),g=t.ref(i.schema.toolbar||{type:"response-toolbar",buttons:[]}),w=t.ref(we(g.value));t.onMounted(()=>{n.value.componentInstance=p}),t.watch(()=>i.schema.toolbar,()=>{g.value=i.schema.toolbar||{type:"response-toolbar",buttons:[]},w.value=we(g.value)},{deep:!0});const h=t.computed(()=>[...w.value.items]);function y(l,d,m,C){i&&i.setupContext&&i.setupContext.emit("selectionChange",l,d,m,C)}return e.expose(p.value),()=>t.createVNode("div",{ref:n},[t.createVNode("nav",{class:"f-page-header-base"},[t.createVNode("div",{class:"f-title"},[t.createVNode(Pe,null,{default:()=>[t.createVNode("span",{class:"f-title-icon f-text-orna-manage"},[t.createVNode("i",{class:r.icon},null)])]}),t.createVNode(Pe,null,{default:()=>[t.createVNode("h4",{class:"f-title-text"},[r.title])]})]),t.createVNode(be,{class:"col-6 text-right",modelValue:g.value,"onUpdate:modelValue":l=>g.value=l,canAdd:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:g.value.id,componentId:r.componentId,onSelectionChange:y},{default:()=>[t.createVNode(ve,{customClass:"w-100",items:h.value,componentId:r.componentId},null)]})])])}}),dt={install(r){r.component(X.name,X)},register(r,e,n,s){r["page-header"]=X,e["page-header"]=te,s["page-header"]={eventHandlerResolver:pe}},registerDesigner(r,e,n){r["page-header"]=lt,e["page-header"]=te}};j.PageHeader=X,j.default=dt,j.eventHandlerResolver=pe,j.pageHeaderDesignerProps=de,j.pageHeaderProps=J,j.propsResolver=te,Object.defineProperties(j,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});