@farris/ui-vue 1.3.0 → 1.3.1

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 (201) hide show
  1. package/components/accordion/index.esm.js +1 -1
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +472 -366
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/button-edit/index.esm.js +1 -1
  6. package/components/button-edit/index.umd.cjs +1 -1
  7. package/components/calendar/index.esm.js +472 -480
  8. package/components/calendar/index.umd.cjs +1 -1
  9. package/components/capsule/index.esm.js +225 -233
  10. package/components/capsule/index.umd.cjs +1 -1
  11. package/components/checkbox/index.esm.js +615 -517
  12. package/components/checkbox/index.umd.cjs +1 -1
  13. package/components/color-picker/index.esm.js +325 -333
  14. package/components/color-picker/index.umd.cjs +2 -2
  15. package/components/combo-list/index.esm.js +578 -472
  16. package/components/combo-list/index.umd.cjs +1 -1
  17. package/components/combo-tree/index.esm.js +49 -49
  18. package/components/combo-tree/index.umd.cjs +1 -1
  19. package/components/common/index.esm.js +832 -722
  20. package/components/common/index.umd.cjs +1 -1
  21. package/components/component/index.esm.js +303 -981
  22. package/components/component/index.umd.cjs +1 -1
  23. package/components/condition/index.esm.js +8 -8
  24. package/components/condition/index.umd.cjs +1 -1
  25. package/components/content-container/index.esm.js +335 -1002
  26. package/components/content-container/index.umd.cjs +1 -1
  27. package/components/data-grid/index.esm.js +4429 -4312
  28. package/components/data-grid/index.umd.cjs +1 -1
  29. package/components/data-view/index.esm.js +3037 -3020
  30. package/components/data-view/index.umd.cjs +1 -1
  31. package/components/date-picker/index.esm.js +2216 -2119
  32. package/components/date-picker/index.umd.cjs +1 -1
  33. package/components/designer-canvas/index.css +1 -1
  34. package/components/designer-canvas/index.esm.js +914 -883
  35. package/components/designer-canvas/index.umd.cjs +1 -1
  36. package/components/dropdown/index.esm.js +223 -231
  37. package/components/dropdown/index.umd.cjs +2 -2
  38. package/components/dynamic-form/index.esm.js +1691 -2187
  39. package/components/dynamic-form/index.umd.cjs +1 -1
  40. package/components/dynamic-resolver/index.esm.js +143 -136
  41. package/components/dynamic-resolver/index.umd.cjs +1 -1
  42. package/components/events-editor/index.esm.js +250 -258
  43. package/components/events-editor/index.umd.cjs +1 -1
  44. package/components/expression-editor/index.esm.js +1 -1
  45. package/components/expression-editor/index.umd.cjs +1 -1
  46. package/components/external-container/index.esm.js +2672 -3438
  47. package/components/external-container/index.umd.cjs +1 -1
  48. package/components/field-selector/index.esm.js +2965 -2970
  49. package/components/field-selector/index.umd.cjs +1 -1
  50. package/components/filter-bar/index.esm.js +1650 -1602
  51. package/components/filter-bar/index.umd.cjs +1 -1
  52. package/components/flow-canvas/index.css +1 -1
  53. package/components/flow-canvas/index.esm.js +684 -675
  54. package/components/flow-canvas/index.umd.cjs +1 -1
  55. package/components/image-cropper/index.esm.js +453 -461
  56. package/components/image-cropper/index.umd.cjs +1 -1
  57. package/components/input-group/index.esm.js +604 -507
  58. package/components/input-group/index.umd.cjs +1 -1
  59. package/components/layout/index.esm.js +402 -378
  60. package/components/layout/index.umd.cjs +1 -1
  61. package/components/list-nav/index.esm.js +348 -1019
  62. package/components/list-nav/index.umd.cjs +1 -1
  63. package/components/list-view/index.esm.js +1658 -1666
  64. package/components/list-view/index.umd.cjs +1 -1
  65. package/components/lookup/index.esm.js +5209 -5088
  66. package/components/lookup/index.umd.cjs +1 -1
  67. package/components/mapping-editor/index.esm.js +4329 -4213
  68. package/components/mapping-editor/index.umd.cjs +1 -1
  69. package/components/nav/index.esm.js +905 -1357
  70. package/components/nav/index.umd.cjs +3 -3
  71. package/components/number-range/index.esm.js +517 -420
  72. package/components/number-range/index.umd.cjs +1 -1
  73. package/components/number-spinner/index.esm.js +588 -491
  74. package/components/number-spinner/index.umd.cjs +1 -1
  75. package/components/order/index.esm.js +1376 -1965
  76. package/components/order/index.umd.cjs +1 -1
  77. package/components/page-footer/index.esm.js +1 -1
  78. package/components/page-footer/index.umd.cjs +1 -1
  79. package/components/page-header/index.esm.js +1073 -1905
  80. package/components/page-header/index.umd.cjs +1 -1
  81. package/components/pagination/index.esm.js +809 -1237
  82. package/components/pagination/index.umd.cjs +1 -1
  83. package/components/progress/index.esm.js +198 -206
  84. package/components/progress/index.umd.cjs +3 -3
  85. package/components/property-editor/index.esm.js +1297 -1200
  86. package/components/property-editor/index.umd.cjs +2 -2
  87. package/components/property-panel/index.esm.js +609 -507
  88. package/components/property-panel/index.umd.cjs +1 -1
  89. package/components/query-solution/index.esm.js +3391 -3758
  90. package/components/query-solution/index.umd.cjs +1 -1
  91. package/components/radio-button/index.esm.js +1 -1
  92. package/components/radio-button/index.umd.cjs +1 -1
  93. package/components/radio-group/index.esm.js +544 -447
  94. package/components/radio-group/index.umd.cjs +1 -1
  95. package/components/rate/index.esm.js +247 -255
  96. package/components/rate/index.umd.cjs +1 -1
  97. package/components/response-layout/index.esm.js +146 -154
  98. package/components/response-layout/index.umd.cjs +1 -1
  99. package/components/response-layout-editor/index.esm.js +700 -675
  100. package/components/response-layout-editor/index.umd.cjs +1 -1
  101. package/components/response-toolbar/index.esm.js +956 -1786
  102. package/components/response-toolbar/index.umd.cjs +1 -1
  103. package/components/schema-selector/index.esm.js +4963 -5617
  104. package/components/schema-selector/index.umd.cjs +2 -2
  105. package/components/search-box/index.esm.js +158 -161
  106. package/components/search-box/index.umd.cjs +1 -1
  107. package/components/section/index.esm.js +436 -1124
  108. package/components/section/index.umd.cjs +1 -1
  109. package/components/smoke-detector/index.esm.js +92 -100
  110. package/components/smoke-detector/index.umd.cjs +1 -1
  111. package/components/splitter/index.esm.js +571 -1210
  112. package/components/splitter/index.umd.cjs +1 -1
  113. package/components/splitter/style.js +2 -0
  114. package/components/step/index.esm.js +239 -247
  115. package/components/step/index.umd.cjs +1 -1
  116. package/components/switch/index.esm.js +445 -348
  117. package/components/switch/index.umd.cjs +1 -1
  118. package/components/tabs/index.esm.js +2278 -3031
  119. package/components/tabs/index.umd.cjs +1 -1
  120. package/components/tags/index.esm.js +311 -319
  121. package/components/tags/index.umd.cjs +1 -1
  122. package/components/text/index.esm.js +215 -223
  123. package/components/text/index.umd.cjs +1 -1
  124. package/components/textarea/index.esm.js +468 -371
  125. package/components/textarea/index.umd.cjs +1 -1
  126. package/components/time-picker/index.esm.js +1271 -1174
  127. package/components/time-picker/index.umd.cjs +1 -1
  128. package/components/transfer/index.esm.js +469 -477
  129. package/components/transfer/index.umd.cjs +1 -1
  130. package/components/tree-grid/index.esm.js +3060 -3065
  131. package/components/tree-grid/index.umd.cjs +1 -1
  132. package/components/tree-view/index.esm.js +2476 -2481
  133. package/components/tree-view/index.umd.cjs +1 -1
  134. package/components/uploader/index.esm.js +374 -382
  135. package/components/uploader/index.umd.cjs +2 -2
  136. package/components/verify-detail/index.esm.js +248 -256
  137. package/components/verify-detail/index.umd.cjs +1 -1
  138. package/components/video/index.esm.js +414 -1093
  139. package/components/video/index.umd.cjs +1 -1
  140. package/components/weather/index.esm.js +498 -506
  141. package/components/weather/index.umd.cjs +5 -5
  142. package/farris.all.esm.js +20216 -21844
  143. package/farris.all.umd.cjs +9 -9
  144. package/index.css +1 -1
  145. package/package.json +1 -1
  146. package/types/common/directive/area-response.d.ts +10 -0
  147. package/types/common/index.d.ts +8 -0
  148. package/types/common/radio-checkbox/radio-checkbox.props.d.ts +1 -0
  149. package/types/common/utils/resolve-field.d.ts +2 -0
  150. package/types/common/utils/use-class.d.ts +7 -0
  151. package/types/component/src/designer/use-designer-rules.d.ts +2 -2
  152. package/types/condition/src/types.d.ts +2 -1
  153. package/types/content-container/src/designer/use-designer-rules.d.ts +3 -3
  154. package/types/data-grid/index.d.ts +8 -5
  155. package/types/data-grid/src/data-grid.component.d.ts +3 -2
  156. package/types/data-grid/src/designer/data-grid.design.component.d.ts +2 -2
  157. package/types/data-grid/src/designer/use-designer-rules.d.ts +2 -2
  158. package/types/data-view/components/row/hierarchy-row.component.d.ts +2 -2
  159. package/types/data-view/composition/data/use-tree-data.d.ts +1 -1
  160. package/types/data-view/composition/types.d.ts +7 -9
  161. package/types/designer-canvas/index.d.ts +2 -1
  162. package/types/designer-canvas/src/composition/rule/use-dragula-common-rule.d.ts +4 -0
  163. package/types/designer-canvas/src/composition/rule/use-template-rule.d.ts +30 -0
  164. package/types/designer-canvas/src/composition/types.d.ts +1 -2
  165. package/types/designer-canvas/src/types.d.ts +2 -1
  166. package/types/dynamic-form/src/designer/response-form.design.component.d.ts +7 -1
  167. package/types/dynamic-form/src/designer/use-designer-rules.d.ts +2 -2
  168. package/types/dynamic-form/src/property-config/form.property-config.d.ts +1 -1
  169. package/types/dynamic-resolver/src/common/toolbar-resolver.d.ts +1 -1
  170. package/types/external-container/src/designer/use-designer-rules.d.ts +3 -3
  171. package/types/layout/src/designer/layout-pane-use-designer-rules.d.ts +3 -3
  172. package/types/list-nav/src/designer/use-designer-rules.d.ts +3 -0
  173. package/types/pagination/src/components/buttons/goto-buttons.component.d.ts +2 -2
  174. package/types/pagination/src/components/buttons/next-buttons.component.d.ts +2 -2
  175. package/types/pagination/src/components/buttons/previous-buttons.component.d.ts +2 -2
  176. package/types/pagination/src/components/pages/page-list.component.d.ts +2 -2
  177. package/types/pagination/src/components/pages/page-number.component.d.ts +2 -2
  178. package/types/property-panel/index.d.ts +2 -1
  179. package/types/property-panel/src/composition/entity/input-base-property.d.ts +1 -1
  180. package/types/query-solution/src/designer/query-solution-config/composition/types.d.ts +34 -27
  181. package/types/query-solution/src/designer/query-solution-config/composition/use-panel.d.ts +2 -16
  182. package/types/query-solution/src/designer/query-solution-config/composition/use-property.d.ts +19 -0
  183. package/types/query-solution/src/designer/query-solution-config/composition/use-querysolution-rules.d.ts +3 -0
  184. package/types/query-solution/src/designer/query-solution-config/composition/use-transfer.d.ts +1 -1
  185. package/types/query-solution/src/property-config/query-solution.property-config.d.ts +60 -0
  186. package/types/query-solution/src/solutions.d.ts +108 -509
  187. package/types/response-layout-editor/index.d.ts +3 -1
  188. package/types/response-toolbar/src/designer/use-designer-rules.d.ts +3 -3
  189. package/types/response-toolbar/src/property-config/response-toolbar-item.property-config.d.ts +1 -0
  190. package/types/section/src/designer/use-designer-rules.d.ts +3 -3
  191. package/types/splitter/src/components/splitter-pane.component.d.ts +1 -1
  192. package/types/splitter/src/designer/splitter-pane-use-designer-rules.d.ts +3 -3
  193. package/types/splitter/src/designer/splitter-use-designer-rules.d.ts +3 -3
  194. package/types/tabs/src/designer/tab-page-use-designer-rules.d.ts +3 -3
  195. package/types/tabs/src/designer/tab-use-designer-rules.d.ts +3 -3
  196. package/types/tree-grid/index.d.ts +3 -3
  197. package/types/tree-grid/src/tree-grid.component.d.ts +1 -1
  198. package/types/designer-canvas/src/composition/rule/use-drag-drop-rules.d.ts +0 -19
  199. package/types/designer-canvas/src/composition/use-dragula-common-rule.d.ts +0 -4
  200. package/types/list-nav/src/composition/use-designer-rules.d.ts +0 -3
  201. package/types/query-solution/src/designer/query-solution-config/composition/mock-data.d.ts +0 -6
@@ -1 +1 @@
1
- (function($,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("lodash-es"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../common/index.umd.js","../designer-canvas/index.umd.js"],t):($=typeof globalThis<"u"?globalThis:$||self,t($["response-toolbar"]={},$.Vue,$.LodashES,$.common,$.designerCanvas))})(this,function($,t,L,z,re){"use strict";var et=Object.defineProperty;var tt=($,t,L)=>t in $?et($,t,{enumerable:!0,configurable:!0,writable:!0,value:L}):$[t]=L;var k=($,t,L)=>tt($,typeof t!="symbol"?t+"":t,L);class se{constructor(e){k(this,"id","");k(this,"class","btn-secondary");k(this,"icon","");k(this,"groupId","");k(this,"order",-1);k(this,"asDropDownTop",!1);k(this,"text","");k(this,"visible",!0);k(this,"responsed",!1);k(this,"tipsEnable",!1);k(this,"tipsText","");k(this,"width",0);k(this,"onClick",()=>{});k(this,"options");this.options=e;const r=["id","class","icon","groupId","order","asDropDownTop","text","isDP","visible","responsed","width","tipsEnable","tipsText","onClick"];Object.keys(e).filter(a=>r.indexOf(a)>-1).forEach(a=>{this[a]=e[a]})}get enable(){return Object.keys(this.options).indexOf("enable")>-1?this.options.enable:t.computed(()=>!0)}setWidth(e){this.width=parseInt(e,10)}getWidth(){return this.visible?this.width:!1}}class ie extends se{constructor(e){super(e)}}function ce(){function i(e){const r=[];return e.reduce((a,u)=>(u.children&&u.children.length>0?a.push(new U(u)):a.push(new ie(u)),a),r),r}return{buildResponseToolbarItems:i}}const{buildResponseToolbarItems:Ce}=ce();class U extends se{constructor(r){super(r);k(this,"placement","");k(this,"dropdownClass","");k(this,"menuClass","");k(this,"split",!1);k(this,"children",[]);k(this,"expanded",!1);const a=["isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(r).filter(u=>a.indexOf(u)>-1).forEach(u=>{this[u]=r[u]}),r.children&&r.children.length&&(this.children=Ce(r.children))}}class we{constructor(e,r){k(this,"id");k(this,"name");k(this,"presetId",[]);k(this,"responsedIndex",[]);k(this,"width");this.id=e,this.name=r,this.width=0}setWidth(e){this.width=parseInt(e+"",10)}getWidth(){return this.width}setPreset(e){Array.isArray(e)?this.presetId=this.presetId.concat(e):this.presetId.push(e)}delPreset(){this.presetId=[]}removeResponsed(e){this.responsedIndex.splice(e,1)}setResponsed(e){Array.isArray(e)?this.responsedIndex=this.responsedIndex.concat(e):this.responsedIndex.push(e)}isResponsing(){return this.responsedIndex.length>0}isResponsed(){return this.presetId.length===this.responsedIndex.length}}const H={},ae={};function J(i){const{properties:e,title:r,ignore:a}=i,u=a&&Array.isArray(a),y=Object.keys(e).reduce((b,I)=>((!u||!a.find(D=>D==I))&&(b[I]=e[I].type==="object"&&e[I].properties?J(e[I]):L.cloneDeep(e[I].default)),b),{});return(!u||!a.find(b=>b=="id"))&&(y.id=`${r}-${Date.now()}`),y}function q(i,e={},r){const a=H[i];if(a){let u=J(a);const y=ae[i];return u=y?y({getSchemaByType:q},u,e,r):u,u}return null}function ve(i,e){const r=J(e);return Object.keys(i).reduce((a,u)=>(a[u]&&L.isPlainObject(a[u])&&L.isPlainObject(i[u])?Object.assign(a[u],i[u]):a[u]=i[u],a),r),r}function xe(i,e){return Object.keys(i).filter(a=>i[a]!=null).reduce((a,u)=>{if(e.has(u)){const y=e.get(u);if(typeof y=="string")a[y]=i[u];else{const b=y(u,i[u],i);Object.assign(a,b)}}else a[u]=i[u];return a},{})}function Te(i,e,r=new Map){const a=ve(i,e);return xe(a,r)}function je(i={}){function e(g,v,d,c){if(typeof d=="number")return c[g].length===d;if(typeof d=="object"){const m=Object.keys(d)[0],l=d[m];if(m==="not")return Number(c[g].length)!==Number(l);if(m==="moreThan")return Number(c[g].length)>=Number(l);if(m==="lessThan")return Number(c[g].length)<=Number(l)}return!1}function r(g,v,d,c){return c[g]&&c[g].propertyValue&&String(c[g].propertyValue.value)===String(d)}const a=new Map([["length",e],["getProperty",r]]);Object.keys(i).reduce((g,v)=>(g.set(v,i[v]),g),a);function u(g,v){const d=g;return typeof v=="number"?[{target:d,operator:"length",param:null,value:Number(v)}]:typeof v=="boolean"?[{target:d,operator:"getProperty",param:g,value:!!v}]:typeof v=="object"?Object.keys(v).map(c=>{if(c==="length")return{target:d,operator:"length",param:null,value:v[c]};const m=c,l=v[c];return{target:d,operator:"getProperty",param:m,value:l}}):[]}function y(g){return Object.keys(g).reduce((d,c)=>{const m=u(c,g[c]);return d.push(...m),d},[])}function b(g,v){if(a.has(g.operator)){const d=a.get(g.operator);return d&&d(g.target,g.param,g.value,v)||!1}return!1}function I(g,v){return y(g).reduce((m,l)=>m&&b(l,v),!0)}function D(g,v){const d=Object.keys(g),c=d.includes("allOf"),m=d.includes("anyOf"),l=c||m,T=(l?g[l?c?"allOf":"anyOf":"allOf"]:[g]).map(R=>I(R,v));return c?!T.includes(!1):T.includes(!0)}return{parseValueSchema:D}}const Q={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"}},le={},De={};je();function pe(i,e,r=new Map,a=(b,I,D)=>I,u={},y=b=>b){return H[e.title]=e,ae[e.title]=a,le[e.title]=u,De[e.title]=y,(b={})=>{const I=Te(b,e,r),D=Object.keys(i).reduce((g,v)=>(g[v]=i[v].default,g),{});return Object.assign(D,I)}}function Ie(i,e){return{customClass:e.class,customStyle:e.style}}const Pe=new Map([["buttons","items"],["appearance",Ie]]),Re=new Map([["appearance",Se]]);function Se(i,e){return{class:e.class,style:e.style}}function de(i,e,r){return e}const Me={$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"},style:{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"]},X={$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-primary"},style:{type:"string"}},default:{}},alignment:{description:"对齐",type:"string",default:"right"},text:{description:"文本",type:"string",default:"新增"},icon:{description:"图标",type:"string",default:""},onClick:{description:"点击事件",type:"string",default:""}},required:["id","type","text"]},ue={title:"response-toolbar-item",description:"A Farris Container Component",type:"object",categories:{basic:{title:"基本信息",description:"Basic Infomation",properties:{id:{title:"标识",type:"string",description:"The identifier of a component.",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",data:[]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}},Y={customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]}};H[X.title]=X,le[ue.title]=ue;const Ee=Object.assign({},Y,{componentId:{type:String,default:""}}),Z=pe(Y,Me,Pe,de),fe={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"}},Ne=pe(fe,X,Re,de);function me(){function i(r){const a={"f-icon":!0};if(r.icon){const u=r.icon.trim().split(" ");u&&u.length&&u.reduce((y,b)=>(y[b]=!0,y),a)}return a}function e(r){return!!(r.icon&&r.icon.trim())}return{iconClass:i,shouldShowIcon:e}}function ke(i){function e(d){const c={"dropdown-menu":!0};if(d.class){const m=d.menuClass.split(" ");m&&m.length&&m.reduce((l,C)=>(l[C]=!0,l),c)}return c}function r(d){const c={disabled:!d.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},m=d.dropdownClass.split(" ");return m&&m.length&&m.reduce((l,C)=>(l[C]=!0,l),c),c}function a(d){const c={disabled:!d.enable,"dropdown-item":!0,"f-rt-btn":!0},m=d.class.split(" ");return m&&m.length&&m.reduce((l,C)=>(l[C]=!0,l),c),c}let u;const y=new Map;function b(d,c,m){var C;((C=d.target)==null?void 0:C.id)===c.id&&d.stopPropagation();const l=m?m.id:"__top_item__";if(c.children&&c.children.length&&(c.expanded=!c.expanded,c.expanded?y.set(l,c):y.delete(l)),y.has(l)&&y.get(l)!==c){const w=y.get(l);w&&(w.expanded=!1)}}function I(d,c){document.body.click(),c.enable&&c.onClick(d,c.id)}function D(d){return d.children.map(c=>c.children&&c.children.length?t.createVNode("li",{class:r(c),id:c.id,onClick:m=>c.enable&&b(m,c,d)},[t.createVNode("span",{id:c.id,class:a(c),onMouseover:m=>c.enable&&b(m,c,d)},[c.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),u(c,c)]):t.createVNode("li",{class:a(c),id:c.id,onClick:m=>I(m,c),onMouseover:m=>c.enable&&b(m,c,d)},[i.shouldShowIcon(c)&&t.createVNode("i",{class:i.iconClass(c)},null),c.text]))}function g(d,c,m){const l={display:d.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},C=document.getElementsByTagName("body")[0].getClientRects()[0].width,w=c,T=w==null?void 0:w.getClientRects();if(w&&T&&T.length){const{top:A,width:R,left:E,right:B,height:j}=T[0],h=Math.ceil(j+A);l.top=`${h}px`,l.left=`${E}px`;const P=d.id+"_menu",N=c?c.querySelector("#"+P):null;if(N){l.display==="block"&&(N.style.display="block");const p=N.getBoundingClientRect();if(m){l.top=`${A-6}px`;const o=Math.ceil(R+E);l.left=`${o}px`}C-E-R<p.width&&(l.left=`${(m?E:B)-p.width}px`)}}return l}u=function(d,c){var w,T;const m=t.getCurrentInstance(),l=c?c.id:d.id,C=(T=(w=m==null?void 0:m.exposed)==null?void 0:w.elementRef.value)==null?void 0:T.querySelector("#"+l);return t.createVNode("ul",{class:e(d),style:g(d,C,c),id:d.id+"_menu"},[D(d)])};function v(){y.forEach(d=>{d.expanded=!1}),y.clear()}return{renderDropdownMenu:u,clearAllDropDownMenu:v}}function Ae(i,e){const r=t.ref(i.alignment),{renderDropdownMenu:a,clearAllDropDownMenu:u}=ke(e);function y(v){const d={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":r.value==="right","f-btn-mr":r.value==="left"},c=v.dropdownClass.split(" ");return c&&c.length&&c.reduce((m,l)=>(m[l]=!0,m),d),d}function b(v){const d={btn:!0,disabled:!v.enable,"f-rt-btn":!0,"btn-icontext":!!(v.icon&&v.icon.trim())};if(v.class){const c=v.class.split(" ");c&&c.length&&c.reduce((m,l)=>(m[l]=!0,m),d)}return d}function I(v,d){v.stopPropagation();const c=d.expanded;document.body.click(),d.expanded=!c}function D(v){return t.createVNode("div",{id:v.id,class:y(v)},[t.createVNode("div",{class:b(v),style:"display: flex;padding-right: 0.1rem;border-top-right-radius: 6px;border-bottom-right-radius: 6px",onClick:d=>v.enable&&I(d,v)},[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 g(){u()}return{renderToolbarDropdown:D,clearAllDropDown:g}}const{buildResponseToolbarItems:ge}=ce(),G=t.defineComponent({name:"FResponseToolbar",props:Y,emits:["click"],setup(i,e){const r=t.ref(ge(i.items)),a=t.ref(),u=t.ref(),y=t.ref(),b=t.ref(i.alignment),I={id:"__more_buttons__",text:"更多"},D=t.ref(new U(I)),g=me(),v=t.computed(()=>D.value.children.length>0),d=t.computed(()=>{const h={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return z.getCustomClass(h,i.customClass)}),c=t.computed(()=>({"w-100":!0,"d-flex":!0,"flex-nowrap":!0,"justify-content-end":b.value==="right","justify-content-start":b.value==="left"})),{renderToolbarDropdown:m,clearAllDropDown:l}=Ae(i,g);function C(){r.value.filter(h=>h.children&&h.children.length>0).forEach(h=>{h.expanded=!1}),D.value.expanded=!1,l()}function w(h){const P={btn:!0,"f-rt-btn":!0,"f-btn-ml":b.value==="right","f-btn-mr":b.value==="left","btn-icontext":!!(h.icon&&h.icon.trim())};if(h.class){const N=h.class.split(" ");N&&N.length&&N.reduce((p,o)=>(p[o]=!0,p),P)}return P}function T(h,P){document.body.click(),typeof P.onClick=="function"&&P.onClick(h,P.id),e.emit("click",h,P.id)}function A(h){return t.createVNode("button",{type:"button",class:w(h),id:h.id,disabled:!h.enable,onClick:P=>T(P,h)},[g.shouldShowIcon(h)&&t.createVNode("i",{class:g.iconClass(h)},null),h.text])}const R=new Map,E=[];function B(h){const P=y.value;let N=h;const p=Array.from(P.children),o=p[p.length-1].id==="__more_buttons__"?p[p.length-1]:null;if(o){const x=o.computedStyleMap().get("margin-left"),M=o.computedStyleMap().get("margin-right"),_=(x?x.value:0)+o.getBoundingClientRect().width+(M?M.value:0);N-=_}const n=p.filter(x=>x.id!=="__more_buttons__");for(const x of n){const M=x.computedStyleMap().get("margin-left"),_=x.computedStyleMap().get("margin-right"),V=(M?M.value:0)+x.getBoundingClientRect().width+(_?_.value:0);N<V?(R.set(x.id,!0),E.push({id:x.id,width:V})):N-=V}if(E.length)for(let x=E.length-1;x>=0;x--){const M=E[x].width;if(N>=M)N-=M,R.delete(E[x].id),E.pop();else break}const s=Object.assign({},D.value);s.children=[];const f=new U(s),S=r.value.reduce((x,M)=>(R.has(M.id)&&f.children.push(M),M.visible=!R.has(M.id),x.push(M),x),[]);D.value=f,r.value=S}const j=new ResizeObserver(h=>{if(h.length){const N=h[0].contentRect.width,o=y.value.getBoundingClientRect().width;(N<o||E.length)&&(B(N),C())}});return t.onMounted(()=>{const h=u.value;j.observe(h),document.body.addEventListener("click",C),document.body.addEventListener("wheel",C)}),t.onUnmounted(()=>{j.disconnect(),document.body.removeEventListener("click",C),document.body.removeEventListener("wheel",C)}),t.watch(()=>i.items,()=>{r.value=ge(i.items)},{deep:!0}),e.expose({elementRef:a}),()=>t.createVNode("div",{class:d.value,ref:a},[t.createVNode("div",{ref:u,class:c.value},[t.createVNode("div",{ref:y,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[r.value.filter(h=>h.visible).map(h=>h.children&&h.children.length>0?m(h):A(h)),v.value&&m(D.value)])])])}});function Ve(i,e){const r=t.inject("design-item-context"),a=t.inject("toolbar-item-handler",()=>{});function u(){a&&a()}function y(o){const n={"dropdown-menu":!0};if(o.class){const s=o.menuClass.split(" ");s&&s.length&&s.reduce((f,S)=>(f[S]=!0,f),n)}return n}function b(o){const n={disabled:!o.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},s=o.dropdownClass.split(" ");return s&&s.length&&s.reduce((f,S)=>(f[S]=!0,f),n),n}function I(o){const n={disabled:!o.enable,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0},s=o.class.split(" ");return s&&s.length&&s.reduce((f,S)=>(f[S]=!0,f),n),n}let D;const g=new Map;function v(o,n,s){var S;((S=o.target)==null?void 0:S.id)===n.id&&o.stopPropagation();const f=s?s.id:"__top_item__";if(n.children&&n.children.length&&(n.expanded=!n.expanded,n.expanded?g.set(f,n):g.delete(f)),g.has(f)&&g.get(f)!==n){const x=g.get(f);x&&(x.expanded=!1)}}function d(o){o&&(o.stopPropagation(),o.preventDefault())}function c(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(n=>n.classList.remove("dgComponentFocused"));const o=document.getElementsByClassName("dgComponentSelected");Array.from(o).forEach(n=>n.classList.remove("dgComponentSelected"))}function m(o){o.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function l(o){const{buttons:n=[]}=r.schema;let s=[];n.forEach(x=>{s=s.concat(x.children||[])});const f=s.findIndex(x=>x.id===o),S=f===-1?null:s[f];return{index:f,item:S}}function C(o){const{buttons:n=[]}=r.schema,s=n.findIndex(S=>S.id===o),f=s===-1?null:n[s];return{index:s,item:f}}function w(o){var f;r.schema;const{index:n,item:s}=l(o);(f=r==null?void 0:r.setupContext)==null||f.emit("selectionChange",s==null?void 0:s.type,s)}const T=function(o){const{componentType:n}=o,s=q(n,o),f=n.toLowerCase().replace("-","_");return s&&!s.id&&s.type===n&&(s.id=`${f}_${Math.random().toString().slice(2,6)}`),s},A=function(){const o={componentType:"response-toolbar-item",parentComponentInstance:e.value,targetPosition:-1};return T(o)};function R(o,n){d(o),c(),m(o),w(n.id)}function E(o,n,s){d(o);const f=n.id,S=s&&s.id,{buttons:x=[]}=r.schema;if(!S)return;const{index:M}=C(S);if(M===-1)return;const{index:_}=l(f);_!==-1&&(x[M].children.splice(_,1),u())}function B(o,n,s){d(o);const f=s&&s.id,{buttons:S=[]}=r.schema;if(!f)return;const{index:x}=C(f);if(x===-1)return;const M=A(),_=Object.assign({},M,{text:n.text});S[x].children.push(_),u()}function j(o,n,s){d(o);const f=s&&s.id,{buttons:S=[]}=r.schema;if(!f)return;const{index:x}=C(f);if(x===-1)return;const M=A(),_=Object.assign({},M,{text:"按钮"});S[x].children.push(_),u()}function h(o,n){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:s=>E(s,o,n)},[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:s=>B(s,o,n)},[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:s=>j(s,o,n)},[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 P(o){return o.children.map(n=>n.children&&n.children.length?t.createVNode("li",{class:b(n),id:n.id,onClick:s=>n.enable&&v(s,n,o)},[t.createVNode("span",{id:n.id,class:I(n),onMouseover:s=>n.enable&&v(s,n,o)},[n.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),D(n,n)]):t.createVNode("li",{class:I(n),id:n.id,onClick:s=>R(s,n)},[h(n,o),i.shouldShowIcon(n)&&t.createVNode("i",{class:i.iconClass(n)},null),n.text]))}function N(o,n,s){const f={display:o.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},S=document.getElementsByTagName("body")[0].getClientRects()[0].width,x=n,M=x==null?void 0:x.getClientRects();if(x&&M&&M.length){const{top:_,width:V,left:O,right:F,height:W}=M[0],ne=Math.ceil(W+_);f.top=`${ne}px`,f.left=`${O}px`;const Ze=o.id+"_menu",oe=n?n.querySelector("#"+Ze):null;if(oe){f.display==="block"&&(oe.style.display="block");const ye=oe.getBoundingClientRect();if(s){f.top=`${_-6}px`;const Ke=Math.ceil(V+O);f.left=`${Ke}px`}S-O-V<ye.width&&(f.left=`${(s?O:F)-ye.width}px`)}}return f}D=function(o,n){var x,M;const s=t.getCurrentInstance(),f=n?n.id:o.id,S=(M=(x=s==null?void 0:s.exposed)==null?void 0:x.elementRef.value)==null?void 0:M.querySelector("#"+f);return t.createVNode("ul",{class:y(o),style:N(o,S,n),id:o.id+"_menu"},[P(o)])};function p(){g.forEach(o=>{o.expanded=!1}),g.clear()}return{renderDropdownMenu:D,clearAllDropDownMenu:p}}function Be(i,e,r){const a=t.ref(i.alignment),{renderDropdownMenu:u,clearAllDropDownMenu:y}=Ve(e,r),b=t.inject("design-item-context"),I=t.inject("toolbar-item-handler",()=>{});function D(){I&&I()}function g(p){const o={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":a.value==="right","f-btn-mr":a.value==="left"},n=p.dropdownClass.split(" ");return n&&n.length&&n.reduce((s,f)=>(s[f]=!0,s),o),o}function v(p){const o={btn:!0,disabled:!p.enable,"position-relative":!0,"farris-component":!0,"f-rt-btn":!0,"btn-icontext":!!(p.icon&&p.icon.trim())};if(p.class){const n=p.class.split(" ");n&&n.length&&n.reduce((s,f)=>(s[f]=!0,s),o)}return o}function d(p){p&&(p.stopPropagation(),p.preventDefault())}function c(p,o){d(p);const n=o.expanded;document.body.click(),o.expanded=!n}const m=function(p){const{componentType:o}=p,n=q(o,p),s=o.toLowerCase().replace("-","_");return n&&!n.id&&n.type===o&&(n.id=`${s}_${Math.random().toString().slice(2,6)}`),n},l=function(){const p={componentType:"response-toolbar-item",parentComponentInstance:r.value,targetPosition:-1};return m(p)};function C(p){const o=b.schema.buttons||b.schema.contents,n=o==null?void 0:o.findIndex(f=>f.id===p),s=n===-1?null:o[n];return{index:n,toolbarItem:s}}function w(p,o){var M;const{index:n,toolbarItem:s}=C(o);if(n===-1)return;const f=s.text||"按钮",S=l(),x=Object.assign({},S,{text:f});(M=b.schema.buttons)==null||M.push(x),D()}function T(p,o){const{index:n,toolbarItem:s}=C(o);if(n===-1)return;const f=s.text||"按钮",S=l(),x=Object.assign({},S,{text:f}),M=b.schema.buttons[n].children||[];M.push(x),b.schema.buttons[n].children=M,D()}function A(p,o){const n=b.schema.buttons||b.schema.contents,s=n==null?void 0:n.findIndex(f=>f.id===o);s!==-1&&(n.splice(s,1),D())}function R(p){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:o=>A(o,p)},[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:o=>w(o,p)},[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:o=>T(o,p)},[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(o=>o.classList.remove("dgComponentFocused"));const p=document.getElementsByClassName("dgComponentSelected");Array.from(p).forEach(o=>o.classList.remove("dgComponentSelected"))}function B(p){p.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function j(p){var f;const o=b.schema.buttons||b.schema.contents,n=o==null?void 0:o.findIndex(S=>S.id===p);if(n===-1)return;const s=o[n];(f=b==null?void 0:b.setupContext)==null||f.emit("selectionChange","response-toolbar-item",s)}function h(p,o){d(p),E(),B(p),d(p),c(p,o),j(o.id)}function P(p){return t.createVNode("div",{id:p.id,class:g(p)},[t.createVNode("div",{class:v(p),style:"display: flex;padding-right: 0.1rem;",onClick:o=>p.enable&&h(o,p)},[R(p.id),e.shouldShowIcon(p)&&t.createVNode("i",{class:e.iconClass(p)},null),t.createVNode("span",null,[p.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)]),u(p)])}function N(){y()}return{renderToolbarDropdown:P,clearAllDropDown:N}}function Oe(){function i(e){var u,y;if(!e)return!1;const r=((u=e.targetContainer)==null?void 0:u.componentInstance)&&e.targetContainer.componentInstance.value;if(!r)return!1;const a=(y=r.schema.appearance)==null?void 0:y.class;if(e.controlCategory==="input"||e.controlType==="form-group"){const b=r.schema.type,I=(b==="response-form"||b==="content-container")&&a&&a.includes("farris-form");if(r.schema.type!=="response-layout-item"&&!I)return!1}return e.controlType!=="field-set"}return{basalDragulaRuleForContainer:i}}const $e={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/dragging-rules.schema.json",title:"Dragging Rules",description:"The rules of designer canvas",type:"object",properties:{"f-page":{description:"The root class of page designed by farris.",type:"object",properties:{contents:{type:"object",properties:{"f-page-header":{description:"The class of page header designed by farris.",type:"string"},"f-page-main":{description:"The class of page body designed by farris.",type:"object",properties:{contents:{type:"object",properties:{"f-struct-like-card":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-struct-form":{description:"The class of form component which has a hierarchical structure of component -> section -> respnse-form.",type:"object",properties:{contents:{type:"object",properties:{"f-section-form":{description:"The class of section which has wrapped a reponse-form component.",type:"object",properties:{contents:{type:"object",properties:{"f-form-layout":{description:"The class of reponse form",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}},"f-struct-wrapper":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-section-tabs":{description:"The class of section which has wrapped sub-grid tabs.",type:"object",properties:{contents:{type:"object",properties:{"f-tabs-in-card":{description:"The class of tabs which contains sub-grid.",type:"object",properties:{contents:{type:"object",properties:{"f-struct-data-grid-in-card":{description:"The class of sub-grid component",type:"object",properties:{contents:{type:"object",properties:{"f-grid-is-sub":{description:"The class of sub-grid",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-section-in-main":{description:"The class of section which has wrapped a reponse-form component.",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"object",const:{allOf:[{sibling:0,parent:{"f-page-main":!0}}]}}}}}},"f-struct-data-grid":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"object",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-page-main-content":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-page-content-nav":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-struct-data-grid-in-nav":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-page-content-nav-extend":{description:"",type:"object"},"f-section-in-nav":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}}}},"f-page-content-main":{description:"",type:"object",properties:{}}}}}},"f-page-content":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-page-content-nav":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-list-nav":{description:"",type:"object"},"f-list-nav-left":{description:"",type:"object"},"f-struct-data-grid-in-nav":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-section-form":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-section-grid":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}},"f-page-content-main":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"object",const:{anyOf:[{children:0},{children:{length:{not:1},"f-struct-like-card":!0}},{children:{"scroll-spy":!1,"f-page-content":!1,"f-struct-like-card":!1}}]}},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-page-footer":{description:"The class of page footer designed by farris.",type:"string"}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-page-is-managelist":{description:"The root class of mangement list page.",type:"string"},"f-page-card":{description:"",type:"object"},"f-page-is-mainsubcard":{description:"",type:"object"}}},K=new Map;function he(){function i(l,C,w,T){var A;if(typeof w=="number")return((A=T[l])==null?void 0:A.length)===w;if(typeof w=="object"){const R=Object.keys(w)[0],E=w[R];if(R==="not")return Number(T[l].length)!==Number(E);if(R==="moreThan")return Number(T[l].length)>=Number(E);if(R==="lessThan")return Number(T[l].length)<=Number(E)}return!1}function e(l,C,w,T){return typeof w=="boolean"?T.childrenClassList.includes(C)===!!w:!1}function r(l,C,w,T){return typeof w=="boolean"?T.parentClassList.includes(C)===!!w:!1}function a(l,C,w,T){return typeof w=="boolean"?T.parentClassList.includes(C)===!!w:!1}const u=new Map([["length",i],["hasChildren",e],["hasSibling",a],["hasParent",r]]);function y(l,C){const w=l;return typeof C=="number"?[{target:w,operator:"length",param:null,value:Number(C)}]:typeof C=="object"?Object.keys(C).map(T=>{if(T==="length")return{target:w,operator:"length",param:null,value:C[T]};const A=T,R=C[T];return{target:w,operator:l==="children"?"hasChildren":l==="parent"?"hasParent":"hasSibling",param:A,value:R}}):[]}function b(l,C){if(u.has(l.operator)){const w=u.get(l.operator);return w&&w(l.target,l.param,l.value,C)||!1}return!1}function I(l,C){return Object.keys(l).reduce((R,E)=>{const B=y(E,l[E]);return R.push(...B),R},[]).reduce((R,E)=>R&&b(E,C),!0)}function D(l,C){const w=Object.keys(l),T=w.includes("allOf"),A=w.includes("anyOf"),R=T||A,j=(R?l[R?T?"allOf":"anyOf":"allOf"]:[l]).map(P=>I(P,C));return T?!j.includes(!1):j.includes(!0)}function g(l,C){const w=l.const;return w?typeof w=="boolean"?w:typeof w=="object"?D(w,C):!1:!1}function v(l){return C=>{const w={canAccept:!0,fixed:!1,hidePadding:!1};return l&&l.properties&&Object.keys(l.properties).reduce((T,A)=>{const R=l.properties[A];return T[A]=g(R,C),T},w),w}}function d(l,C,w){if(C.type==="object"&&C.properties){const{rules:T,contents:A}=C.properties;w.set(l,v(T)),A&&Object.keys(A.properties).forEach(R=>d(R,A.properties[R],w))}}function c(){const{properties:l}=$e;Object.keys(l).forEach(C=>{d(C,l[C],K)})}function m(l,C){const w={canAccept:!0,fixed:!1,hidePadding:!0};return K.has(l)?K.get(l)(C):w}return c(),{getRuleValue:m}}class ee{constructor(e,r){k(this,"componentId");k(this,"viewModelId");k(this,"eventsEditorUtils");k(this,"formSchemaUtils");k(this,"formMetadataConverter");k(this,"designViewModelUtils");k(this,"designViewModelField");k(this,"controlCreatorUtils");k(this,"designerHostService");k(this,"schemaService",null);k(this,"metadataService",null);k(this,"propertyConfig",{type:"object",categories:{}});var a;this.componentId=e,this.designerHostService=r,this.eventsEditorUtils=r.eventsEditorUtils,this.formSchemaUtils=r.formSchemaUtils,this.formMetadataConverter=r.formMetadataConverter,this.viewModelId=((a=this.formSchemaUtils)==null?void 0:a.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=r.designViewModelUtils,this.controlCreatorUtils=r.controlCreatorUtils,this.metadataService=r.metadataService,this.schemaService=r.schemaService}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){const r=e.binding&&e.binding.type==="Form"&&e.binding.field;if(r){if(!this.designViewModelField){const a=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=a.fields.find(u=>u.id===r)}e.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(e,r){}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,r){const a=r&&r.parent&&r.parent.schema;if(!a)return;const u=a.contents.findIndex(b=>b.id===e),y=L.cloneDeep(a.contents[u]);a.contents.splice(u,1),a.contents.splice(u,0,y)}}class _e extends ee{constructor(e,r){super(e,r)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getBehaviorProperties(e),this.propertyConfig}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:"左对齐"}]}},buttons:{title:"按钮",description:"The items of Response Toolbar.",type:"array",default:[],$converter:"/converter/buttons.converter",refreshPanelAfterChanged:!0}}}}}function Fe(i,e,r,a){const u=he(),y=t.ref(!1),b=t.ref(!1);let I=!0,D=!1,g;function v(j){return g&&g.componentClassList&&g.componentClassList.includes("f-form-layout")&&g.componentClassList.includes("farris-form")?j.sourceType==="control"&&j.controlCategory==="input"||j.sourceType==="move"&&j.controlType==="form-group":!0}function d(j){return!Oe().basalDragulaRuleForContainer(j)||!I||!v(j),!1}function c(){y.value=!1,b.value=!1;const j=i,h=j.appearance&&j.appearance.class||"",P=h.split(" "),N=j.buttons||[],p=N.length?N[0]:null,o=p&&p.appearance?p.appearance.class:"",n=o?o.split(" "):[],s=N.length?N.reduce((O,F)=>{const W=F&&F.appearance?F.appearance.class:"",ne=W?W.split(" "):[];return O.push(...ne),O},[]):[],f=r==null?void 0:r.schema,S=f&&f.appearance&&f.appearance.class||"",x=S?S.split(" "):[];g={componentClass:h,componentClassList:P,childContents:N,firstChildContent:p,firstChildClass:o,firstChildClassList:n,parent:f,parentClass:S,parentClassList:x,children:N,childrenClassList:s};const{canAccept:M,fixed:_,hidePadding:V}=u.getRuleValue(P[0],g);return I=M,D=V,!0}function m(j){}function l(){return i.componentType?"display:inherit;flex-direction:inherit;margin-bottom:10px":""}function C(j,h){return h.text=j.label,h}function w(j,h,P){const N=i;if((N.appearance&&N.appearance.class||"").split(" ").includes("f-form-layout")){const n=String(j.innerText),s=q("form-group");return s.editor=P,s.label=n,s}return P}function T(){return!1}function A(){return!1}function R(){return!0}function E(){return D}function B(j){return new _e(j,e).getPropertyConfig(i)}return{canAccepts:d,checkCanAddComponent:R,checkCanDeleteComponent:A,checkCanMoveComponent:T,getStyles:l,hideNestedPaddingInDesginerView:E,onAcceptNewChildElement:w,onAcceptMovedChildElement:m,onResolveNewComponentSchema:C,resolveComponentContext:c,getPropsConfig:B,triggerBelongedComponentToMoveWhenMoved:y,triggerBelongedComponentToDeleteWhenDeleted:b}}const Le={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}},te=t.ref(0);function We(i,e){const r=e.getBoundingClientRect(),a=i.getBoundingClientRect(),u=a.top>=r.top,y=a.top<=r.bottom;return u&&y}function Ue(i){if(!i)return;let e;if(i.className.includes("dgComponentSelected")?e=i:e=i.querySelector(".dgComponentSelected"),!e)return;const r=e.getBoundingClientRect();if(r.width===0&&r.height===0)return;const a=e.querySelector(".component-btn-group");if(a){if(!We(e,i)){a.style.display="none";return}a.style.display="";const y=a.getBoundingClientRect(),b=a.querySelector("div");if(b){const I=b.getBoundingClientRect();b.style.top=y.top+"px",b.style.left=y.left-I.width+"px"}}}function qe(i,e,r){var B;function a(){}const u="",y=t.ref();function b(){return!0}function I(){return!1}function D(){return!0}function g(){return!0}function v(){return!0}function d(j){if(!j||!j.value)return null;const h=t.ref(j==null?void 0:j.value.parent),P=d(h);return P||null}function c(j=e){const{componentInstance:h,designerItemElementRef:P}=j;return!h||!h.value?null:h.value.canMove||h.value.canAdd||h.value.canDelete?P:c(j.parent)}function m(j){return!!r}function l(){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 w(j,h){}function T(j){const{componentType:h}=j;let P=q(h,j);const N=h.toLowerCase().replace("-","_");return P&&!P.id&&P.type===h&&(P.id=`${N}_${Math.random().toString().slice(2,6)}`),P}function A(j,h){const P=String(j.getAttribute("data-controltype")),N=j.getAttribute("data-feature"),p=N?JSON.parse(N):{};p.parentComponentInstance=y.value;let o=q(P,p);const n=P.toLowerCase().replace("-","_");return o&&!o.id&&o.type===P&&(o.id=`${n}_${Math.random().toString().slice(2,6)}`),o}function R(j){}function E(...j){return[]}return y.value={canMove:b(),canSelectParent:I(),canAdd:g(),canDelete:D(),canNested:!v(),contents:[],elementRef:i,parent:(B=e.parent)==null?void 0:B.componentInstance,schema:e.schema,styles:u,canAccepts:m,getBelongedComponentInstance:d,getDraggableDesignItemElement:c,getDraggingDisplayText:l,getPropConfig:E,getDragScopeElement:C,onAcceptMovedChildElement:w,onAcceptNewChildElement:A,onChildElementMovedOut:R,addNewChildComponentSchema:T,updateDragAndDropRules:a,triggerBelongedComponentToMoveWhenMoved:t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:t.ref(!1)},y}const ze=t.defineComponent({name:"FDesignerInnerItem",props:Le,emits:["selectionChange","addComponent","removeComponent"],setup(i,e){const r=t.ref(i.canMove),a=t.ref(i.canAdd),u=t.ref(i.canDelete),y=t.ref(!1),b=t.ref(i.contentKey),I=t.ref(i.childType),D=t.ref(i.childLabel),g=t.ref(i.modelValue),v=t.ref(""),d=t.ref(),c=t.inject("canvas-dragula"),m=t.ref(),l=t.inject("design-item-context"),C={designerItemElementRef:d,componentInstance:m,schema:g.value,parent:l,setupContext:e};t.provide("design-item-context",C);const w=t.computed(()=>({"farris-component":!0,"flex-fill":i.id=="root-component","position-relative":r.value||u.value,"farris-nested":y.value,"can-move":r.value,"d-none":d.value&&d.value.classList.contains("d-none")})),T=t.computed(()=>{const n={};return v.value&&v.value.split(";").reduce((s,f)=>{const[S,x]=f.split(":");return S&&(s[S]=x),s},n),n});function A(n,s){if(l&&l.schema[b.value]){const f=l.schema[b.value].findIndex(S=>S.id===s.id);if(f>-1){const S=l.schema[b.value].length,x=l.schema[b.value][f%S];l.designerItemElementRef.value.querySelector(`#${x.id}-design-item`),l.schema[b.value].splice(f,1),l.componentInstance.value.updateDragAndDropRules(),te.value++,e.emit("removeComponent")}}}function R(n){if(m.value.addNewChildComponentSchema){const s={componentType:I.value,label:D.value,parentComponentInstance:m.value,targetPosition:-1},f=m.value.addNewChildComponentSchema(s);g.value[b.value].push(f),e.emit("addComponent")}}function E(){return a.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:n=>{R()}},[t.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function B(n){return u.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:t.withModifiers(s=>A(s,n),["stop"])},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function j(){return r.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 h(n){return t.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[t.createVNode("div",null,[E(),j(),B(n)])])}t.watch(()=>i.modelValue,n=>{g.value=n,C.schema=n});function P(n){const s=n.target;Ue(s)}function N(){var n,s;(s=(n=g.value)==null?void 0:n.contents)!=null&&s.length&&d.value&&d.value.addEventListener("scroll",P)}function p(){const n=d.value,s=t.ref(n.children[1]);return qe(s,C).value}t.onMounted(()=>{if(d.value){const n=d.value.querySelector(`[data-dragref='${g.value.id}-container']`);m.value=n&&n.componentInstance?n.componentInstance.value:p(),c&&n&&c.attachComponents(n,g.value),y.value=m.value.canNested!==void 0?m.value.canNested:y.value,a.value=m.value.canAdd!==void 0?m.value.canAdd:a.value,u.value=m.value.canDelete!==void 0?m.value.canDelete:u.value,r.value=m.value.canMove!==void 0?m.value.canMove:r.value,v.value=m.value.styles||"",d.value&&(d.value.componentInstance=m,d.value.designItemContext=C)}N(),te.value++}),t.onBeforeUnmount(()=>{d.value&&d.value.removeEventListener("scroll",P)});function o(n){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(f=>f.classList.remove("dgComponentFocused")),n&&(n.preventDefault(),n.stopPropagation());const s=d.value;if(s){const f=document.getElementsByClassName("dgComponentSelected");if(!(f&&f.length===1&&f[0]===d.value)){Array.from(f).forEach(M=>M.classList.remove("dgComponentSelected")),s.classList.add("dgComponentFocused"),e.emit("selectionChange",g.value.type,g.value,i.componentId,m.value);const x=m.value.getDraggableDesignItemElement(C);x&&x.value&&x.value.classList.add("dgComponentSelected")}}te.value++}return()=>t.createVNode("div",{id:`${i.id}-design-item`,ref:d,class:w.value,style:T.value,onClick:o},[h(g.value),e.slots.default&&e.slots.default()])}});class Ge extends ee{constructor(e,r){super(e,r)}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(r,a){}}}getEventPropConfig(e){const r=[{label:"onClick",name:"点击事件"}];var a=this;const u=a.eventsEditorUtils.formProperties(e,a.viewModelId,r),y={};y[a.viewModelId]={type:"events-editor",editor:{initialData:u}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:y,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(b,I){const D=b.propertyValue;delete e[a.viewModelId],D&&(D.setPropertyRelates=this.setPropertyRelates,a.eventsEditorUtils.saveRelatedParameters(e,a.viewModelId,D.events,D))}}}}class He extends ee{constructor(e,r){super(e,r)}getPropertyConfig(e){return this.getBasicPropConfig(),this.getAppearanceProperties(e),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:""}}}}getAppearanceProperties(e){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class",type:"string",description:""},style:{title:"style",type:"string",description:""}}}}getEventPropConfig(e){const r=[{label:"onClick",name:"点击事件"}],a=this,u=a.eventsEditorUtils.formProperties(e,a.viewModelId,r),y={};y[a.viewModelId]={type:"events-editor",editor:{initialData:u}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:y,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(b,I){const D=b.propertyValue;delete e[a.viewModelId],D&&(D.setPropertyRelates=this.setPropertyRelates,a.eventsEditorUtils.saveRelatedParameters(e,a.viewModelId,D.events,D))}}}}function Je(i,e){he();const r=t.ref(!1),a=t.ref(!1);let u=!1,y=!1;function b(w){return!1}function I(w){}function D(){return""}function g(w,T){return T.text=w.label,T}function v(w,T,A){const R=i.schema;if((R.appearance&&R.appearance.class||"").split(" ").includes("f-form-layout")){const j=String(w.innerText),h=q("form-group");return h.editor=A,h.label=j,h}return A}function d(){return!1}function c(){return!y}function m(){return!1}function l(){return u}function C(w){let T;switch(i.schema.type){case"tab-toolbar-item":T=new Ge(w,e);break;default:T=new He(w,e)}return T.getPropertyConfig(i.schema)}return{canAccepts:b,checkCanAddComponent:m,checkCanDeleteComponent:c,checkCanMoveComponent:d,getStyles:D,hideNestedPaddingInDesginerView:l,onAcceptNewChildElement:v,onAcceptMovedChildElement:I,onResolveNewComponentSchema:g,getPropsConfig:C,triggerBelongedComponentToMoveWhenMoved:r,triggerBelongedComponentToDeleteWhenDeleted:a}}const be=t.defineComponent({name:"FResponseToolbarItemDesign",props:fe,emits:["Click"],setup(i,e){t.ref(),t.ref();const r=t.ref(i.alignment),a={id:"__more_buttons__",text:"More"},u=t.ref(new U(a));t.computed(()=>u.value.children.length>0);const y=t.ref(),b=t.inject("designer-host-service"),I=t.inject("design-item-context"),D=Je(I,b),g=re.useDesignerInnerComponent(y,I,D);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{y.value.componentInstance=g}),e.expose(g.value);function v(){const m={"f-icon":!0},l=i.icon?i.icon.trim():"";return z.getCustomClass(m,l)}function d(){return!!(i.icon&&i.icon.trim())}function c(){const m={btn:!0,"f-rt-btn":!0,"f-btn-ml":r.value==="right","f-btn-mr":r.value==="left","btn-icontext":!!(i.icon&&i.icon.trim())};return z.getCustomClass(m,i.class)}return t.onMounted(()=>{}),t.onUnmounted(()=>{}),()=>t.createVNode("div",{ref:y,"data-dragref":`${I.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[t.createVNode("button",{type:"button",class:c(),id:i.id},[d()&&t.createVNode("i",{class:v()},null),i.text])])}}),Qe=t.defineComponent({name:"FResponseToolbarDesign",props:Ee,emits:["Click"],setup(i,e){const r=t.ref(i.items);let a=new Array(r.value.length).fill(t.ref());const u=t.ref(),y=t.ref(),b=t.ref(i.alignment),I={id:"__more_buttons__",text:"More"},D=t.ref(new U(I)),g=me();t.computed(()=>D.value.children.length>0);const v=t.ref(),d=t.inject("designer-host-service"),c=t.inject("design-item-context"),m=Fe(c.schema,d,c),l=re.useDesignerInnerComponent(v,c,m);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{v.value.componentInstance=l}),e.expose(l.value);const C=t.computed(()=>{const p={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return z.getCustomClass(p,i.customClass)}),w=t.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":b.value==="right","justify-content-start":b.value==="left"})),{renderToolbarDropdown:T,clearAllDropDown:A}=Be(i,g,l);function R(){r.value.filter(p=>p.children&&p.children.length>0).forEach(p=>{p.expanded=!1}),D.value.expanded=!1,A()}const E=new Map,B=[];function j(p){const o=y.value;let n=p;const s=Array.from(o.children),f=s[s.length-1].id==="__more_buttons__"?s[s.length-1]:null;if(f){const V=f.computedStyleMap().get("margin-left"),O=f.computedStyleMap().get("margin-right"),F=(V?V.value:0)+f.getBoundingClientRect().width+(O?O.value:0);n-=F}const S=s.filter(V=>V.id!=="__more_buttons__");for(const V of S){const O=V.computedStyleMap().get("margin-left"),F=V.computedStyleMap().get("margin-right"),W=(O?O.value:0)+V.getBoundingClientRect().width+(F?F.value:0);n<W?(E.set(V.id,!0),B.push({id:V.id,width:W})):n-=W}if(B.length)for(let V=B.length-1;V>=0;V--){const O=B[V].width;if(n>=O)n-=O,E.delete(B[V].id),B.pop();else break}const x=Object.assign({},D.value);x.children=[];const M=new U(x),_=r.value.reduce((V,O)=>(E.has(O.id)&&M.children.push(O),O.visible=!E.has(O.id),V.push(O),V),[]);D.value=M,r.value=_}const h=new ResizeObserver(p=>{if(p.length){const n=p[0].contentRect.width,f=y.value.getBoundingClientRect().width;(n<f||B.length)&&j(n)}});t.onMounted(()=>{const p=u.value;h.observe(p),document.body.addEventListener("click",R)}),t.onUnmounted(()=>{h.disconnect(),document.body.removeEventListener("click",R)}),t.watch(()=>i.items,()=>{r.value=i.items},{deep:!0}),t.watch(r,p=>{a=new Array(r.value.length).fill(t.ref())});function P(p,o,n,s){c&&c.setupContext&&c.setupContext.emit("selectionChange",p,o,n,s)}function N(){const p=y.value.querySelector(".dgComponentFocused.dgComponentSelected");p==null||p.classList.remove("dgComponentSelected"),p==null||p.classList.remove("dgComponentFocused")}return()=>t.createVNode("div",{ref:v,"data-dragref":`${c.schema.id}-container`,class:C.value},[t.createVNode("div",{ref:u,class:w.value},[t.createVNode("div",{ref:y,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[r.value.map((p,o)=>t.createVNode(ze,{ref:a[o],class:"p-0 display-inline-block",modelValue:p,"onUpdate:modelValue":n=>p=n,canMove:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:i.componentId,id:p.id,style:"padding:0 !important;display:inline-block",onSelectionChange:P,onRemoveComponent:N},{default:()=>{var n;return[t.createVNode(be,{id:p.id,disable:p.disable,text:p.text,icon:p.icon,class:((n=p.appearance)==null?void 0:n.class)||"btn-secondary",alignment:i.alignment||"right",componentId:i.componentId},null)]}}))])])])}}),Xe=Z;G.register=(i,e,r)=>{i["response-toolbar"]=G,e["response-toolbar"]=Z},G.registerDesigner=(i,e,r)=>{i["response-toolbar"]=Qe,e["response-toolbar"]=Z,i["response-toolbar-item"]=be,e["response-toolbar-item"]=Ne};const Ye=z.withInstall(G);$.FResponseToolbar=G,$.ResponseToolbarDropDownItem=U,$.ResponseToolbarGroup=we,$.ResponseToolbarItem=ie,$.default=Ye,$.responseToolbarResolver=Xe,Object.defineProperties($,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(V,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("lodash-es"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../common/index.umd.js","../designer-canvas/index.umd.js"],t):(V=typeof globalThis<"u"?globalThis:V||self,t(V["response-toolbar"]={},V.Vue,V.LodashES,V.common,V.designerCanvas))})(this,function(V,t,F,q,ne){"use strict";var Xe=Object.defineProperty;var Ye=(V,t,F)=>t in V?Xe(V,t,{enumerable:!0,configurable:!0,writable:!0,value:F}):V[t]=F;var D=(V,t,F)=>Ye(V,typeof t!="symbol"?t+"":t,F);class oe{constructor(e){D(this,"id","");D(this,"class","btn-secondary");D(this,"icon","");D(this,"groupId","");D(this,"order",-1);D(this,"asDropDownTop",!1);D(this,"text","");D(this,"visible",!0);D(this,"responsed",!1);D(this,"tipsEnable",!1);D(this,"tipsText","");D(this,"width",0);D(this,"onClick",()=>{});D(this,"options");this.options=e;const r=["id","class","icon","groupId","order","asDropDownTop","text","isDP","visible","responsed","width","tipsEnable","tipsText","onClick"];Object.keys(e).filter(c=>r.indexOf(c)>-1).forEach(c=>{this[c]=e[c]})}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 re extends oe{constructor(e){super(e)}}function se(){function i(e){const r=[];return e.reduce((c,p)=>(p.children&&p.children.length>0?c.push(new L(p)):c.push(new re(p)),c),r),r}return{buildResponseToolbarItems:i}}const{buildResponseToolbarItems:he}=se();class L extends oe{constructor(r){super(r);D(this,"placement","");D(this,"dropdownClass","");D(this,"menuClass","");D(this,"split",!1);D(this,"children",[]);D(this,"expanded",!1);const c=["isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(r).filter(p=>c.indexOf(p)>-1).forEach(p=>{this[p]=r[p]}),r.children&&r.children.length&&(this.children=he(r.children))}}class be{constructor(e,r){D(this,"id");D(this,"name");D(this,"presetId",[]);D(this,"responsedIndex",[]);D(this,"width");this.id=e,this.name=r,this.width=0}setWidth(e){this.width=parseInt(e+"",10)}getWidth(){return this.width}setPreset(e){Array.isArray(e)?this.presetId=this.presetId.concat(e):this.presetId.push(e)}delPreset(){this.presetId=[]}removeResponsed(e){this.responsedIndex.splice(e,1)}setResponsed(e){Array.isArray(e)?this.responsedIndex=this.responsedIndex.concat(e):this.responsedIndex.push(e)}isResponsing(){return this.responsedIndex.length>0}isResponsed(){return this.presetId.length===this.responsedIndex.length}}const H={},ie={};function J(i){const{properties:e,title:r,ignore:c}=i,p=c&&Array.isArray(c),b=Object.keys(e).reduce((m,x)=>((!p||!c.find(v=>v==x))&&(m[x]=e[x].type==="object"&&e[x].properties?J(e[x]):F.cloneDeep(e[x].default)),m),{});return r&&(!p||!c.find(m=>m=="id"))&&(b.id=`${r}-${Date.now()}`),b}function G(i,e={},r){const c=H[i];if(c){let p=J(c);const b=ie[i];return p=b?b({getSchemaByType:G},p,e,r):p,p}return null}function ye(i,e){const r=J(e);return Object.keys(i).reduce((c,p)=>(c[p]&&F.isPlainObject(c[p])&&F.isPlainObject(i[p])?Object.assign(c[p],i[p]):c[p]=i[p],c),r),r}function Ce(i,e){return Object.keys(i).filter(c=>i[c]!=null).reduce((c,p)=>{if(e.has(p)){const b=e.get(p);if(typeof b=="string")c[b]=i[p];else{const m=b(p,i[p],i);Object.assign(c,m)}}else c[p]=i[p];return c},{})}function we(i,e,r=new Map){const c=ye(i,e);return Ce(c,r)}function ve(i={}){function e(g,h,l,a){if(typeof l=="number")return a[g].length===l;if(typeof l=="object"){const f=Object.keys(l)[0],y=l[f];if(f==="not")return Number(a[g].length)!==Number(y);if(f==="moreThan")return Number(a[g].length)>=Number(y);if(f==="lessThan")return Number(a[g].length)<=Number(y)}return!1}function r(g,h,l,a){return a[g]&&a[g].propertyValue&&String(a[g].propertyValue.value)===String(l)}const c=new Map([["length",e],["getProperty",r]]);Object.keys(i).reduce((g,h)=>(g.set(h,i[h]),g),c);function p(g,h){const l=g;return typeof h=="number"?[{target:l,operator:"length",param:null,value:Number(h)}]:typeof h=="boolean"?[{target:l,operator:"getProperty",param:g,value:!!h}]:typeof h=="object"?Object.keys(h).map(a=>{if(a==="length")return{target:l,operator:"length",param:null,value:h[a]};const f=a,y=h[a];return{target:l,operator:"getProperty",param:f,value:y}}):[]}function b(g){return Object.keys(g).reduce((l,a)=>{const f=p(a,g[a]);return l.push(...f),l},[])}function m(g,h){if(c.has(g.operator)){const l=c.get(g.operator);return l&&l(g.target,g.param,g.value,h)||!1}return!1}function x(g,h){return b(g).reduce((f,y)=>f&&m(y,h),!0)}function v(g,h){const l=Object.keys(g),a=l.includes("allOf"),f=l.includes("anyOf"),y=a||f,j=(y?g[y?a?"allOf":"anyOf":"allOf"]:[g]).map(A=>x(A,h));return a?!j.includes(!1):j.includes(!0)}return{parseValueSchema:v}}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"}},ce={},xe={};ve();function ae(i,e,r=new Map,c=(m,x,v)=>x,p={},b=m=>m){return H[e.title]=e,ie[e.title]=c,ce[e.title]=p,xe[e.title]=b,(m={})=>{const x=we(m,e,r),v=Object.keys(i).reduce((g,h)=>(g[h]=i[h].default,g),{});return Object.assign(v,x)}}function Te(i,e){return{customClass:e.class,customStyle:e.style}}const Ie=new Map([["buttons","items"],["appearance",Te]]),De=new Map([["appearance",Me]]);function Me(i,e){return{class:e.class,style:e.style}}function le(i,e,r){return e}const Se={$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"]},X={$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"}},default:{}},alignment:{description:"对齐",type:"string",default:"right"},text:{description:"文本",type:"string",default:"按钮"},icon:{description:"图标",type:"string",default:""},disabled:{description:"禁用",type:"boolean",default:!1},onClick:{description:"点击事件",type:"string",default:""}},required:["id","type","text"]},de={title:"response-toolbar-item",description:"A Farris Container Component",type:"object",categories:{basic:{title:"基本信息",description:"Basic Infomation",properties:{id:{title:"标识",type:"string",description:"The identifier of a component.",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",data:[]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}},Y={customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]}};H[X.title]=X,ce[de.title]=de;const Re=Object.assign({},Y,{componentId:{type:String,default:""}}),Z=ae(Y,Se,Ie,le),pe={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"}},Ee=ae(pe,X,De,le);function ue(){function i(r){const c={"f-icon":!0};if(r.icon){const p=r.icon.trim().split(" ");p&&p.length&&p.reduce((b,m)=>(b[m]=!0,b),c)}return c}function e(r){return!!(r.icon&&r.icon.trim())}return{iconClass:i,shouldShowIcon:e}}function ke(i){function e(l){const a={"dropdown-menu":!0};if(l.class){const f=l.menuClass.split(" ");f&&f.length&&f.reduce((y,M)=>(y[M]=!0,y),a)}return a}function r(l){const a={disabled:!l.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},f=l.dropdownClass.split(" ");return f&&f.length&&f.reduce((y,M)=>(y[M]=!0,y),a),a}function c(l){const a={disabled:!l.enable,"dropdown-item":!0,"f-rt-btn":!0},f=l.class.split(" ");return f&&f.length&&f.reduce((y,M)=>(y[M]=!0,y),a),a}let p;const b=new Map;function m(l,a,f){var M;((M=l.target)==null?void 0:M.id)===a.id&&l.stopPropagation();const y=f?f.id:"__top_item__";if(a.children&&a.children.length&&(a.expanded=!a.expanded,a.expanded?b.set(y,a):b.delete(y)),b.has(y)&&b.get(y)!==a){const B=b.get(y);B&&(B.expanded=!1)}}function x(l,a){document.body.click(),a.enable&&a.onClick(l,a.id)}function v(l){return l.children.map(a=>a.children&&a.children.length?t.createVNode("li",{class:r(a),id:a.id,onClick:f=>a.enable&&m(f,a,l)},[t.createVNode("span",{id:a.id,class:c(a),onMouseover:f=>a.enable&&m(f,a,l)},[a.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),p(a,a)]):t.createVNode("li",{class:c(a),id:a.id,onClick:f=>x(f,a),onMouseover:f=>a.enable&&m(f,a,l)},[i.shouldShowIcon(a)&&t.createVNode("i",{class:i.iconClass(a)},null),a.text]))}function g(l,a,f){const y={display:l.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},M=document.getElementsByTagName("body")[0].getClientRects()[0].width,B=a,j=B==null?void 0:B.getClientRects();if(B&&j&&j.length){const{top:_,width:A,left:R,right:S,height:E}=j[0],C=Math.ceil(E+_);y.top=`${C}px`,y.left=`${R}px`;const k=l.id+"_menu",P=a?a.querySelector("#"+k):null;if(P){y.display==="block"&&(P.style.display="block");const d=P.getBoundingClientRect();if(f){y.top=`${_-6}px`;const o=Math.ceil(A+R);y.left=`${o}px`}M-R-A<d.width&&(y.left=`${(f?R:S)-d.width}px`)}}return y}p=function(l,a){var B,j;const f=t.getCurrentInstance(),y=a?a.id:l.id,M=(j=(B=f==null?void 0:f.exposed)==null?void 0:B.elementRef.value)==null?void 0:j.querySelector("#"+y);return t.createVNode("ul",{class:e(l),style:g(l,M,a),id:l.id+"_menu"},[v(l)])};function h(){b.forEach(l=>{l.expanded=!1}),b.clear()}return{renderDropdownMenu:p,clearAllDropDownMenu:h}}function Ne(i,e){const r=t.ref(i.alignment),{renderDropdownMenu:c,clearAllDropDownMenu:p}=ke(e);function b(h){const l={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":r.value==="right","f-btn-mr":r.value==="left"},a=h.dropdownClass.split(" ");return a&&a.length&&a.reduce((f,y)=>(f[y]=!0,f),l),l}function m(h){const l={btn:!0,disabled:!h.enable,"f-rt-btn":!0,"btn-icontext":!!(h.icon&&h.icon.trim())};if(h.class){const a=h.class.split(" ");a&&a.length&&a.reduce((f,y)=>(f[y]=!0,f),l)}return l}function x(h,l){h.stopPropagation();const a=l.expanded;document.body.click(),l.expanded=!a}function v(h){return t.createVNode("div",{id:h.id,class:b(h)},[t.createVNode("div",{class:m(h),style:"display: flex;padding-right: 0.1rem;border-top-right-radius: 6px;border-bottom-right-radius: 6px",onClick:l=>h.enable&&x(l,h)},[e.shouldShowIcon(h)&&t.createVNode("i",{class:e.iconClass(h)},null),t.createVNode("span",null,[h.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)]),c(h)])}function g(){p()}return{renderToolbarDropdown:v,clearAllDropDown:g}}const{buildResponseToolbarItems:fe}=se(),W=t.defineComponent({name:"FResponseToolbar",props:Y,emits:["click"],setup(i,e){const r=t.ref(fe(i.items)),c=t.ref(),p=t.ref(),b=t.ref(),m=t.ref(i.alignment),x={id:"__more_buttons__",text:"更多"},v=t.ref(new L(x)),g=ue(),h=t.computed(()=>v.value.children.length>0),l=t.computed(()=>{const C={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return q.getCustomClass(C,i.customClass)}),a=t.computed(()=>({"w-100":!0,"d-flex":!0,"flex-nowrap":!0,"justify-content-end":m.value==="right","justify-content-start":m.value==="left"})),{renderToolbarDropdown:f,clearAllDropDown:y}=Ne(i,g);function M(){r.value.filter(C=>C.children&&C.children.length>0).forEach(C=>{C.expanded=!1}),v.value.expanded=!1,y()}function B(C){const k={btn:!0,"f-rt-btn":!0,"f-btn-ml":m.value==="right","f-btn-mr":m.value==="left","btn-icontext":!!(C.icon&&C.icon.trim())};if(C.class){const P=C.class.split(" ");P&&P.length&&P.reduce((d,o)=>(d[o]=!0,d),k)}return k}function j(C,k){document.body.click(),typeof k.onClick=="function"&&k.onClick(C,k.id),e.emit("click",C,k.id)}function _(C){return t.createVNode("button",{type:"button",class:B(C),id:C.id,disabled:!C.enable,onClick:k=>j(k,C)},[g.shouldShowIcon(C)&&t.createVNode("i",{class:g.iconClass(C)},null),C.text])}const A=new Map,R=[];function S(C){const k=b.value;let P=C;const d=Array.from(k.children),o=d[d.length-1].id==="__more_buttons__"?d[d.length-1]:null;if(o){const w=o.computedStyleMap().get("margin-left"),I=o.computedStyleMap().get("margin-right"),$=(w?w.value:0)+o.getBoundingClientRect().width+(I?I.value:0);P-=$}const n=d.filter(w=>w.id!=="__more_buttons__");for(const w of n){const I=w.computedStyleMap().get("margin-left"),$=w.computedStyleMap().get("margin-right"),N=(I?I.value:0)+w.getBoundingClientRect().width+($?$.value:0);P<N?(A.set(w.id,!0),R.push({id:w.id,width:N})):P-=N}if(R.length)for(let w=R.length-1;w>=0;w--){const I=R[w].width;if(P>=I)P-=I,A.delete(R[w].id),R.pop();else break}const s=Object.assign({},v.value);s.children=[];const u=new L(s),T=r.value.reduce((w,I)=>(A.has(I.id)&&u.children.push(I),I.visible=!A.has(I.id),w.push(I),w),[]);v.value=u,r.value=T}const E=new ResizeObserver(C=>{if(C.length){const P=C[0].contentRect.width,o=b.value.getBoundingClientRect().width;(P<o||R.length)&&(S(P),M())}});return t.onMounted(()=>{const C=p.value;E.observe(C),document.body.addEventListener("click",M),document.body.addEventListener("wheel",M)}),t.onUnmounted(()=>{E.disconnect(),document.body.removeEventListener("click",M),document.body.removeEventListener("wheel",M)}),t.watch(()=>i.items,()=>{r.value=fe(i.items)},{deep:!0}),e.expose({elementRef:c}),()=>t.createVNode("div",{class:l.value,ref:c},[t.createVNode("div",{ref:p,class:a.value},[t.createVNode("div",{ref:b,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[r.value.filter(C=>C.visible).map(C=>C.children&&C.children.length>0?f(C):_(C)),h.value&&f(v.value)])])])}});function Pe(i,e){const r=t.inject("design-item-context"),c=t.inject("toolbar-item-handler",()=>{});function p(){c&&c()}function b(o){const n={"dropdown-menu":!0};if(o.class){const s=o.menuClass.split(" ");s&&s.length&&s.reduce((u,T)=>(u[T]=!0,u),n)}return n}function m(o){const n={disabled:!o.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},s=o.dropdownClass.split(" ");return s&&s.length&&s.reduce((u,T)=>(u[T]=!0,u),n),n}function x(o){const n={disabled:!o.enable,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0},s=o.class.split(" ");return s&&s.length&&s.reduce((u,T)=>(u[T]=!0,u),n),n}let v;const g=new Map;function h(o,n,s){var T;((T=o.target)==null?void 0:T.id)===n.id&&o.stopPropagation();const u=s?s.id:"__top_item__";if(n.children&&n.children.length&&(n.expanded=!n.expanded,n.expanded?g.set(u,n):g.delete(u)),g.has(u)&&g.get(u)!==n){const w=g.get(u);w&&(w.expanded=!1)}}function l(o){o&&(o.stopPropagation(),o.preventDefault())}function a(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(n=>n.classList.remove("dgComponentFocused"));const o=document.getElementsByClassName("dgComponentSelected");Array.from(o).forEach(n=>n.classList.remove("dgComponentSelected"))}function f(o){o.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function y(o){const{buttons:n=[]}=r.schema;let s=[];n.forEach(w=>{s=s.concat(w.children||[])});const u=s.findIndex(w=>w.id===o),T=u===-1?null:s[u];return{index:u,item:T}}function M(o){const{buttons:n=[]}=r.schema,s=n.findIndex(T=>T.id===o),u=s===-1?null:n[s];return{index:s,item:u}}function B(o){var u;r.schema;const{index:n,item:s}=y(o);(u=r==null?void 0:r.setupContext)==null||u.emit("selectionChange",s==null?void 0:s.type,s)}const j=function(o){const{componentType:n}=o,s=G(n,o),u=n.toLowerCase().replace("-","_");return s&&!s.id&&s.type===n&&(s.id=`${u}_${Math.random().toString().slice(2,6)}`),s},_=function(){const o={componentType:"response-toolbar-item",parentComponentInstance:e.value,targetPosition:-1};return j(o)};function A(o,n){l(o),a(),f(o),B(n.id)}function R(o,n,s){l(o);const u=n.id,T=s&&s.id,{buttons:w=[]}=r.schema;if(!T)return;const{index:I}=M(T);if(I===-1)return;const{index:$}=y(u);$!==-1&&(w[I].children.splice($,1),p())}function S(o,n,s){l(o);const u=s&&s.id,{buttons:T=[]}=r.schema;if(!u)return;const{index:w}=M(u);if(w===-1)return;const I=_(),$=Object.assign({},I,{text:n.text});T[w].children.push($),p()}function E(o,n,s){l(o);const u=s&&s.id,{buttons:T=[]}=r.schema;if(!u)return;const{index:w}=M(u);if(w===-1)return;const I=_(),$=Object.assign({},I,{text:"按钮"});T[w].children.push($),p()}function C(o,n){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:s=>R(s,o,n)},[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:s=>S(s,o,n)},[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:s=>E(s,o,n)},[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(o){return o.children.map(n=>n.children&&n.children.length?t.createVNode("li",{class:m(n),id:n.id,onClick:s=>n.enable&&h(s,n,o)},[t.createVNode("span",{id:n.id,class:x(n),onMouseover:s=>n.enable&&h(s,n,o)},[n.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),v(n,n)]):t.createVNode("li",{class:x(n),id:n.id,onClick:s=>A(s,n)},[C(n,o),i.shouldShowIcon(n)&&t.createVNode("i",{class:i.iconClass(n)},null),n.text]))}function P(o,n,s){const u={display:o.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},T=document.getElementsByTagName("body")[0].getClientRects()[0].width,w=n,I=w==null?void 0:w.getClientRects();if(w&&I&&I.length){const{top:$,width:N,left:O,right:U,height:z}=I[0],He=Math.ceil(z+$);u.top=`${He}px`,u.left=`${O}px`;const Je=o.id+"_menu",te=n?n.querySelector("#"+Je):null;if(te){u.display==="block"&&(te.style.display="block");const ge=te.getBoundingClientRect();if(s){u.top=`${$-6}px`;const Qe=Math.ceil(N+O);u.left=`${Qe}px`}T-O-N<ge.width&&(u.left=`${(s?O:U)-ge.width}px`)}}return u}v=function(o,n){var w,I;const s=t.getCurrentInstance(),u=n?n.id:o.id,T=(I=(w=s==null?void 0:s.exposed)==null?void 0:w.elementRef.value)==null?void 0:I.querySelector("#"+u);return t.createVNode("ul",{class:b(o),style:P(o,T,n),id:o.id+"_menu"},[k(o)])};function d(){g.forEach(o=>{o.expanded=!1}),g.clear()}return{renderDropdownMenu:v,clearAllDropDownMenu:d}}function Be(i,e,r){const c=t.ref(i.alignment),{renderDropdownMenu:p,clearAllDropDownMenu:b}=Pe(e,r),m=t.inject("design-item-context"),x=t.inject("toolbar-item-handler",()=>{});function v(){x&&x()}function g(d){const o={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":c.value==="right","f-btn-mr":c.value==="left"},n=d.dropdownClass.split(" ");return n&&n.length&&n.reduce((s,u)=>(s[u]=!0,s),o),o}function h(d){const o={btn:!0,disabled:!d.enable,"position-relative":!0,"farris-component":!0,"f-rt-btn":!0,"btn-icontext":!!(d.icon&&d.icon.trim())};if(d.class){const n=d.class.split(" ");n&&n.length&&n.reduce((s,u)=>(s[u]=!0,s),o)}return o}function l(d){d&&(d.stopPropagation(),d.preventDefault())}function a(d,o){l(d);const n=o.expanded;document.body.click(),o.expanded=!n}const f=function(d){const{componentType:o}=d,n=G(o,d),s=o.toLowerCase().replace("-","_");return n&&!n.id&&n.type===o&&(n.id=`${s}_${Math.random().toString().slice(2,6)}`),n},y=function(){const d={componentType:"response-toolbar-item",parentComponentInstance:r.value,targetPosition:-1};return f(d)};function M(d){const o=m.schema.buttons||m.schema.contents,n=o==null?void 0:o.findIndex(u=>u.id===d),s=n===-1?null:o[n];return{index:n,toolbarItem:s}}function B(d,o){var I;const{index:n,toolbarItem:s}=M(o);if(n===-1)return;const u=s.text||"按钮",T=y(),w=Object.assign({},T,{text:u});(I=m.schema.buttons)==null||I.push(w),v()}function j(d,o){const{index:n,toolbarItem:s}=M(o);if(n===-1)return;const u=s.text||"按钮",T=y(),w=Object.assign({},T,{text:u}),I=m.schema.buttons[n].children||[];I.push(w),m.schema.buttons[n].children=I,v()}function _(d,o){const n=m.schema.buttons||m.schema.contents,s=n==null?void 0:n.findIndex(u=>u.id===o);s!==-1&&(n.splice(s,1),v())}function A(d){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:o=>_(o,d)},[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:o=>B(o,d)},[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:o=>j(o,d)},[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 R(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(o=>o.classList.remove("dgComponentFocused"));const d=document.getElementsByClassName("dgComponentSelected");Array.from(d).forEach(o=>o.classList.remove("dgComponentSelected"))}function S(d){d.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function E(d){var u;const o=m.schema.buttons||m.schema.contents,n=o==null?void 0:o.findIndex(T=>T.id===d);if(n===-1)return;const s=o[n];(u=m==null?void 0:m.setupContext)==null||u.emit("selectionChange","response-toolbar-item",s)}function C(d,o){l(d),R(),S(d),l(d),a(d,o),E(o.id)}function k(d){return t.createVNode("div",{id:d.id,class:g(d)},[t.createVNode("div",{class:h(d),style:"display: flex;padding-right: 0.1rem;",onClick:o=>d.enable&&C(o,d)},[A(d.id),e.shouldShowIcon(d)&&t.createVNode("i",{class:e.iconClass(d)},null),t.createVNode("span",null,[d.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)]),p(d)])}function P(){b()}return{renderToolbarDropdown:k,clearAllDropDown:P}}class K{constructor(e,r){D(this,"componentId");D(this,"viewModelId");D(this,"eventsEditorUtils");D(this,"formSchemaUtils");D(this,"formMetadataConverter");D(this,"designViewModelUtils");D(this,"designViewModelField");D(this,"controlCreatorUtils");D(this,"designerHostService");D(this,"schemaService",null);D(this,"metadataService",null);D(this,"propertyConfig",{type:"object",categories:{}});var c;this.componentId=e,this.designerHostService=r,this.eventsEditorUtils=r.eventsEditorUtils,this.formSchemaUtils=r.formSchemaUtils,this.formMetadataConverter=r.formMetadataConverter,this.viewModelId=((c=this.formSchemaUtils)==null?void 0:c.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=r.designViewModelUtils,this.controlCreatorUtils=r.controlCreatorUtils,this.metadataService=r.metadataService,this.schemaService=r.schemaService}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){const r=e.binding&&e.binding.type==="Form"&&e.binding.field;if(r){if(!this.designViewModelField){const c=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=c.fields.find(p=>p.id===r)}e.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(e,r){}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,r){const c=r&&r.parent&&r.parent.schema;if(!c)return;const p=c.contents.findIndex(m=>m.id===e),b=F.cloneDeep(c.contents[p]);c.contents.splice(p,1),c.contents.splice(p,0,b)}}class Ve extends K{constructor(e,r){super(e,r)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getBehaviorProperties(e),this.propertyConfig}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:"左对齐"}]}},buttons:{title:"按钮",description:"The items of Response Toolbar.",type:"array",default:[],$converter:"/converter/buttons.converter",refreshPanelAfterChanged:!0}}}}}function je(i,e){const r=i.schema;function c(h){return!1}function p(h,l){return l.text=h.label,l}function b(){return!1}function m(){return!1}function x(){return!0}function v(){return!0}function g(h){return new Ve(h,e).getPropertyConfig(r)}return{canAccepts:c,checkCanAddComponent:x,checkCanDeleteComponent:m,checkCanMoveComponent:b,hideNestedPaddingInDesginerView:v,onResolveNewComponentSchema:p,getPropsConfig:g}}const Ae={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}},ee=t.ref(0);function Oe(i,e){const r=e.getBoundingClientRect(),c=i.getBoundingClientRect(),p=c.top>=r.top,b=c.top<=r.bottom;return p&&b}function _e(i){if(!i)return;let e;if(i.className.includes("dgComponentSelected")?e=i:e=i.querySelector(".dgComponentSelected"),!e)return;const r=e.getBoundingClientRect();if(r.width===0&&r.height===0)return;const c=e.querySelector(".component-btn-group");if(c){if(!Oe(e,i)){c.style.display="none";return}c.style.display="";const b=c.getBoundingClientRect(),m=c.querySelector("div");if(m){const x=m.getBoundingClientRect();m.style.top=b.top+"px",m.style.left=b.left-x.width+"px"}}}function $e(i,e,r){var R;function c(){}const p="",b=t.ref();function m(){return!0}function x(){return!1}function v(){return!0}function g(){return!0}function h(){return!0}function l(S){if(!S||!S.value)return null;const E=t.ref(S==null?void 0:S.value.parent),C=l(E);return C||null}function a(S=e){const{componentInstance:E,designerItemElementRef:C}=S;return!E||!E.value?null:E.value.canMove||E.value.canAdd||E.value.canDelete?C:a(S.parent)}function f(S){return!!r}function y(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function M(){}function B(S,E){}function j(S){const{componentType:E}=S;let C=G(E,S);const k=E.toLowerCase().replace("-","_");return C&&!C.id&&C.type===E&&(C.id=`${k}_${Math.random().toString().slice(2,6)}`),C}function _(S){}function A(...S){return[]}return b.value={canMove:m(),canSelectParent:x(),canAdd:g(),canDelete:v(),canNested:!h(),contents:[],elementRef:i,parent:(R=e.parent)==null?void 0:R.componentInstance,schema:e.schema,styles:p,canAccepts:f,getBelongedComponentInstance:l,getDraggableDesignItemElement:a,getDraggingDisplayText:y,getPropConfig:A,getDragScopeElement:M,onAcceptMovedChildElement:B,onChildElementMovedOut:_,addNewChildComponentSchema:j,updateDragAndDropRules:c,triggerBelongedComponentToMoveWhenMoved:t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:t.ref(!1)},b}const Fe=t.defineComponent({name:"FDesignerInnerItem",props:Ae,emits:["selectionChange","addComponent","removeComponent"],setup(i,e){const r=t.ref(i.canMove),c=t.ref(i.canAdd),p=t.ref(i.canDelete),b=t.ref(!1),m=t.ref(i.contentKey),x=t.ref(i.childType),v=t.ref(i.childLabel),g=t.ref(i.modelValue),h=t.ref(""),l=t.ref(),a=t.inject("canvas-dragula"),f=t.ref(),y=t.inject("design-item-context"),M={designerItemElementRef:l,componentInstance:f,schema:g.value,parent:y,setupContext:e};t.provide("design-item-context",M);const B=t.computed(()=>({"farris-component":!0,"flex-fill":i.id=="root-component","position-relative":r.value||p.value,"farris-nested":b.value,"can-move":r.value,"d-none":l.value&&l.value.classList.contains("d-none")})),j=t.computed(()=>{const n={};return h.value&&h.value.split(";").reduce((s,u)=>{const[T,w]=u.split(":");return T&&(s[T]=w),s},n),n});function _(n,s){if(y&&y.schema[m.value]){const u=y.schema[m.value].findIndex(T=>T.id===s.id);if(u>-1){const T=y.schema[m.value].length,w=y.schema[m.value][u%T];y.designerItemElementRef.value.querySelector(`#${w.id}-design-item`),y.schema[m.value].splice(u,1),y.componentInstance.value.updateDragAndDropRules(),ee.value++,e.emit("removeComponent")}}}function A(n){if(f.value.addNewChildComponentSchema){const s={componentType:x.value,label:v.value,parentComponentInstance:f.value,targetPosition:-1},u=f.value.addNewChildComponentSchema(s);g.value[m.value].push(u),e.emit("addComponent")}}function R(){return c.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:n=>{A()}},[t.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function S(n){return p.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:t.withModifiers(s=>_(s,n),["stop"])},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function E(){return r.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 C(n){return t.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[t.createVNode("div",null,[R(),E(),S(n)])])}t.watch(()=>i.modelValue,n=>{g.value=n,M.schema=n});function k(n){const s=n.target;_e(s)}function P(){var n,s;(s=(n=g.value)==null?void 0:n.contents)!=null&&s.length&&l.value&&l.value.addEventListener("scroll",k)}function d(){const n=l.value,s=t.ref(n.children[1]);return $e(s,M).value}t.onMounted(()=>{if(l.value){const n=l.value.querySelector(`[data-dragref='${g.value.id}-container']`);f.value=n&&n.componentInstance?n.componentInstance.value:d(),a&&n&&a.attachComponents(n,g.value),b.value=f.value.canNested!==void 0?f.value.canNested:b.value,c.value=f.value.canAdd!==void 0?f.value.canAdd:c.value,p.value=f.value.canDelete!==void 0?f.value.canDelete:p.value,r.value=f.value.canMove!==void 0?f.value.canMove:r.value,h.value=f.value.styles||"",l.value&&(l.value.componentInstance=f,l.value.designItemContext=M)}P(),ee.value++}),t.onBeforeUnmount(()=>{l.value&&l.value.removeEventListener("scroll",k)});function o(n){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(u=>u.classList.remove("dgComponentFocused")),n&&(n.preventDefault(),n.stopPropagation());const s=l.value;if(s){const u=document.getElementsByClassName("dgComponentSelected");if(!(u&&u.length===1&&u[0]===l.value)){Array.from(u).forEach(I=>I.classList.remove("dgComponentSelected")),s.classList.add("dgComponentFocused"),e.emit("selectionChange",g.value.type,g.value,i.componentId,f.value);const w=f.value.getDraggableDesignItemElement(M);w&&w.value&&w.value.classList.add("dgComponentSelected")}}ee.value++}return()=>t.createVNode("div",{id:`${i.id}-design-item`,ref:l,class:B.value,style:j.value,onClick:o},[C(g.value),e.slots.default&&e.slots.default()])}});class Le extends K{constructor(e,r){super(e,r)}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(r,c){}}}getEventPropConfig(e){const r=[{label:"onClick",name:"点击事件"}];var c=this;const p=c.eventsEditorUtils.formProperties(e,c.viewModelId,r),b={};b[c.viewModelId]={type:"events-editor",editor:{initialData:p}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:b,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(m,x){const v=m.propertyValue;delete e[c.viewModelId],v&&(v.setPropertyRelates=this.setPropertyRelates,c.eventsEditorUtils.saveRelatedParameters(e,c.viewModelId,v.events,v))}}}}class Ue extends K{constructor(e,r){super(e,r)}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 r=[{label:"onClick",name:"点击事件"}],c=this,p=c.eventsEditorUtils.formProperties(e,c.viewModelId,r),b={};b[c.viewModelId]={type:"events-editor",editor:{initialData:p}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:b,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(m,x){const v=m.propertyValue;delete e[c.viewModelId],v&&(v.setPropertyRelates=this.setPropertyRelates,c.eventsEditorUtils.saveRelatedParameters(e,c.viewModelId,v.events,v))}}}}function qe(i,e){function r(x){return!1}function c(){return!1}function p(){return!0}function b(){return!1}function m(x){let v;switch(i.schema.type){case"tab-toolbar-item":v=new Le(x,e);break;default:v=new Ue(x,e)}return v.getPropertyConfig(i.schema)}return{canAccepts:r,checkCanMoveComponent:c,checkCanDeleteComponent:p,checkCanAddComponent:b,getPropsConfig:m}}const me=t.defineComponent({name:"FResponseToolbarItemDesign",props:pe,emits:["Click"],setup(i,e){t.ref(),t.ref();const r=t.ref(i.alignment),c={id:"__more_buttons__",text:"More"},p=t.ref(new L(c));t.computed(()=>p.value.children.length>0);const b=t.ref(),m=t.inject("designer-host-service"),x=t.inject("design-item-context"),v=qe(x,m),g=ne.useDesignerInnerComponent(b,x,v);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{b.value.componentInstance=g}),e.expose(g.value);function h(){const f={"f-icon":!0},y=i.icon?i.icon.trim():"";return q.getCustomClass(f,y)}function l(){return!!(i.icon&&i.icon.trim())}function a(){const f={btn:!0,"f-rt-btn":!0,"f-btn-ml":r.value==="right","f-btn-mr":r.value==="left","btn-icontext":!!(i.icon&&i.icon.trim()),disabled:i.disabled===!0};return q.getCustomClass(f,i.class)}return()=>t.createVNode("div",{ref:b,"data-dragref":`${x.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[t.createVNode("button",{type:"button",class:a(),id:i.id},[l()&&t.createVNode("i",{class:h()},null),i.text])])}}),We=t.defineComponent({name:"FResponseToolbarDesign",props:Re,emits:["Click"],setup(i,e){const r=t.ref(i.items);let c=new Array(r.value.length).fill(t.ref());const p=t.ref(),b=t.ref(),m=t.ref(i.alignment),x={id:"__more_buttons__",text:"More"},v=t.ref(new L(x)),g=ue();t.computed(()=>v.value.children.length>0);const h=t.ref(),l=t.inject("designer-host-service"),a=t.inject("design-item-context"),f=je(a,l),y=ne.useDesignerInnerComponent(h,a,f);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{h.value.componentInstance=y}),e.expose(y.value);const M=t.computed(()=>{const d={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return q.getCustomClass(d,i.customClass)}),B=t.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":m.value==="right","justify-content-start":m.value==="left"})),{renderToolbarDropdown:j,clearAllDropDown:_}=Be(i,g,y);function A(){r.value.filter(d=>d.children&&d.children.length>0).forEach(d=>{d.expanded=!1}),v.value.expanded=!1,_()}const R=new Map,S=[];function E(d){const o=b.value;let n=d;const s=Array.from(o.children),u=s[s.length-1].id==="__more_buttons__"?s[s.length-1]:null;if(u){const N=u.computedStyleMap().get("margin-left"),O=u.computedStyleMap().get("margin-right"),U=(N?N.value:0)+u.getBoundingClientRect().width+(O?O.value:0);n-=U}const T=s.filter(N=>N.id!=="__more_buttons__");for(const N of T){const O=N.computedStyleMap().get("margin-left"),U=N.computedStyleMap().get("margin-right"),z=(O?O.value:0)+N.getBoundingClientRect().width+(U?U.value:0);n<z?(R.set(N.id,!0),S.push({id:N.id,width:z})):n-=z}if(S.length)for(let N=S.length-1;N>=0;N--){const O=S[N].width;if(n>=O)n-=O,R.delete(S[N].id),S.pop();else break}const w=Object.assign({},v.value);w.children=[];const I=new L(w),$=r.value.reduce((N,O)=>(R.has(O.id)&&I.children.push(O),O.visible=!R.has(O.id),N.push(O),N),[]);v.value=I,r.value=$}const C=new ResizeObserver(d=>{if(d.length){const n=d[0].contentRect.width,u=b.value.getBoundingClientRect().width;(n<u||S.length)&&E(n)}});t.onMounted(()=>{const d=p.value;C.observe(d),document.body.addEventListener("click",A)}),t.onUnmounted(()=>{C.disconnect(),document.body.removeEventListener("click",A)}),t.watch(()=>i.items,()=>{r.value=i.items},{deep:!0}),t.watch(r,d=>{c=new Array(r.value.length).fill(t.ref())});function k(d,o,n,s){a&&a.setupContext&&a.setupContext.emit("selectionChange",d,o,n,s)}function P(){const d=b.value.querySelector(".dgComponentFocused.dgComponentSelected");d==null||d.classList.remove("dgComponentSelected"),d==null||d.classList.remove("dgComponentFocused")}return()=>t.createVNode("div",{ref:h,"data-dragref":`${a.schema.id}-container`,class:M.value},[t.createVNode("div",{ref:p,class:B.value},[t.createVNode("div",{ref:b,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[r.value.map((d,o)=>t.createVNode(Fe,{ref:c[o],class:"p-0 display-inline-block",modelValue:d,"onUpdate:modelValue":n=>d=n,canMove:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:i.componentId,id:d.id,style:"padding:0 !important;display:inline-block",onSelectionChange:k,onRemoveComponent:P},{default:()=>{var n;return[t.createVNode(me,{id:d.id,disabled:d.disabled,text:d.text,icon:d.icon,class:((n=d.appearance)==null?void 0:n.class)||"btn-secondary",alignment:i.alignment||"right",componentId:i.componentId},null)]}}))])])])}}),ze=Z;W.register=(i,e,r)=>{i["response-toolbar"]=W,e["response-toolbar"]=Z},W.registerDesigner=(i,e,r)=>{i["response-toolbar"]=We,e["response-toolbar"]=Z,i["response-toolbar-item"]=me,e["response-toolbar-item"]=Ee};const Ge=q.withInstall(W);V.FResponseToolbar=W,V.ResponseToolbarDropDownItem=L,V.ResponseToolbarGroup=be,V.ResponseToolbarItem=re,V.default=Ge,V.responseToolbarResolver=ze,Object.defineProperties(V,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});