@farris/ui-vue 1.3.5 → 1.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/components/accordion/index.esm.js +16 -16
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +65 -65
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/button-edit/index.esm.js +13 -13
  6. package/components/button-edit/index.umd.cjs +1 -1
  7. package/components/calendar/index.esm.js +504 -490
  8. package/components/calendar/index.umd.cjs +1 -1
  9. package/components/capsule/index.esm.js +247 -233
  10. package/components/capsule/index.umd.cjs +1 -1
  11. package/components/checkbox/index.esm.js +356 -344
  12. package/components/checkbox/index.umd.cjs +1 -1
  13. package/components/color-picker/index.esm.js +159 -145
  14. package/components/color-picker/index.umd.cjs +2 -2
  15. package/components/combo-list/index.esm.js +127 -128
  16. package/components/combo-list/index.umd.cjs +1 -1
  17. package/components/combo-tree/index.esm.js +15 -15
  18. package/components/combo-tree/index.umd.cjs +1 -1
  19. package/components/component/index.esm.js +101 -87
  20. package/components/component/index.umd.cjs +1 -1
  21. package/components/condition/index.esm.js +7 -5
  22. package/components/condition/index.umd.cjs +1 -1
  23. package/components/content-container/index.esm.js +181 -167
  24. package/components/content-container/index.umd.cjs +1 -1
  25. package/components/data-grid/index.esm.js +4057 -4304
  26. package/components/data-grid/index.umd.cjs +1 -1
  27. package/components/data-view/index.esm.js +2450 -2467
  28. package/components/data-view/index.umd.cjs +1 -1
  29. package/components/date-picker/index.esm.js +789 -777
  30. package/components/date-picker/index.umd.cjs +1 -1
  31. package/components/designer-canvas/index.esm.js +3593 -3585
  32. package/components/designer-canvas/index.umd.cjs +1 -1
  33. package/components/dropdown/index.esm.js +257 -243
  34. package/components/dropdown/index.umd.cjs +2 -2
  35. package/components/dynamic-form/index.esm.js +322 -306
  36. package/components/dynamic-form/index.umd.cjs +1 -1
  37. package/components/dynamic-resolver/index.esm.js +177 -163
  38. package/components/dynamic-resolver/index.umd.cjs +1 -1
  39. package/components/event-parameter/index.esm.js +163 -2643
  40. package/components/event-parameter/index.umd.cjs +1 -1
  41. package/components/events-editor/index.esm.js +500 -486
  42. package/components/events-editor/index.umd.cjs +1 -1
  43. package/components/expression-editor/index.esm.js +37 -37
  44. package/components/expression-editor/index.umd.cjs +1 -1
  45. package/components/external-container/index.esm.js +485 -470
  46. package/components/external-container/index.umd.cjs +1 -1
  47. package/components/field-selector/index.esm.js +2611 -2623
  48. package/components/field-selector/index.umd.cjs +1 -1
  49. package/components/filter-bar/index.esm.js +3825 -3837
  50. package/components/filter-bar/index.umd.cjs +1 -1
  51. package/components/flow-canvas/index.esm.js +3720 -3712
  52. package/components/flow-canvas/index.umd.cjs +1 -1
  53. package/components/image-cropper/index.esm.js +402 -388
  54. package/components/image-cropper/index.umd.cjs +1 -1
  55. package/components/input-group/index.esm.js +201 -202
  56. package/components/input-group/index.umd.cjs +1 -1
  57. package/components/layout/index.esm.js +264 -245
  58. package/components/layout/index.umd.cjs +1 -1
  59. package/components/list-nav/index.esm.js +157 -143
  60. package/components/list-nav/index.umd.cjs +1 -1
  61. package/components/list-view/index.esm.js +312 -296
  62. package/components/list-view/index.umd.cjs +1 -1
  63. package/components/lookup/index.esm.js +4748 -4992
  64. package/components/lookup/index.umd.cjs +1 -1
  65. package/components/mapping-editor/index.esm.js +4215 -4462
  66. package/components/mapping-editor/index.umd.cjs +1 -1
  67. package/components/nav/index.esm.js +169 -155
  68. package/components/nav/index.umd.cjs +2 -2
  69. package/components/number-range/index.esm.js +150 -137
  70. package/components/number-range/index.umd.cjs +1 -1
  71. package/components/number-spinner/index.esm.js +207 -194
  72. package/components/number-spinner/index.umd.cjs +1 -1
  73. package/components/order/index.esm.js +427 -414
  74. package/components/order/index.umd.cjs +1 -1
  75. package/components/page-footer/index.esm.js +22 -22
  76. package/components/page-footer/index.umd.cjs +1 -1
  77. package/components/page-header/index.esm.js +510 -492
  78. package/components/page-header/index.umd.cjs +1 -1
  79. package/components/pagination/index.esm.js +192 -178
  80. package/components/pagination/index.umd.cjs +1 -1
  81. package/components/progress/index.esm.js +234 -220
  82. package/components/progress/index.umd.cjs +3 -3
  83. package/components/property-editor/index.esm.js +288 -277
  84. package/components/property-editor/index.umd.cjs +2 -2
  85. package/components/property-panel/index.esm.js +62 -61
  86. package/components/property-panel/index.umd.cjs +1 -1
  87. package/components/query-solution/index.esm.js +3015 -3027
  88. package/components/query-solution/index.umd.cjs +5 -5
  89. package/components/radio-button/index.esm.js +64 -64
  90. package/components/radio-button/index.umd.cjs +1 -1
  91. package/components/radio-group/index.esm.js +293 -280
  92. package/components/radio-group/index.umd.cjs +1 -1
  93. package/components/rate/index.esm.js +222 -208
  94. package/components/rate/index.umd.cjs +1 -1
  95. package/components/response-layout/index.esm.js +187 -173
  96. package/components/response-layout/index.umd.cjs +1 -1
  97. package/components/response-layout-editor/index.esm.js +554 -542
  98. package/components/response-layout-editor/index.umd.cjs +1 -1
  99. package/components/response-toolbar/index.esm.js +483 -469
  100. package/components/response-toolbar/index.umd.cjs +1 -1
  101. package/components/schema-selector/index.esm.js +632 -617
  102. package/components/schema-selector/index.umd.cjs +2 -2
  103. package/components/search-box/index.esm.js +228 -214
  104. package/components/search-box/index.umd.cjs +1 -1
  105. package/components/section/index.esm.js +419 -406
  106. package/components/section/index.umd.cjs +1 -1
  107. package/components/smoke-detector/index.esm.js +162 -148
  108. package/components/smoke-detector/index.umd.cjs +1 -1
  109. package/components/splitter/index.esm.js +308 -284
  110. package/components/splitter/index.umd.cjs +1 -1
  111. package/components/step/index.esm.js +279 -265
  112. package/components/step/index.umd.cjs +1 -1
  113. package/components/switch/index.esm.js +183 -170
  114. package/components/switch/index.umd.cjs +1 -1
  115. package/components/tabs/index.esm.js +307 -294
  116. package/components/tabs/index.umd.cjs +1 -1
  117. package/components/tags/index.esm.js +320 -306
  118. package/components/tags/index.umd.cjs +1 -1
  119. package/components/text/index.esm.js +245 -231
  120. package/components/text/index.umd.cjs +1 -1
  121. package/components/textarea/index.esm.js +260 -247
  122. package/components/textarea/index.umd.cjs +1 -1
  123. package/components/time-picker/index.esm.js +409 -396
  124. package/components/time-picker/index.umd.cjs +1 -1
  125. package/components/transfer/index.esm.js +424 -410
  126. package/components/transfer/index.umd.cjs +1 -1
  127. package/components/tree-grid/index.esm.js +2994 -3006
  128. package/components/tree-grid/index.umd.cjs +1 -1
  129. package/components/tree-view/index.esm.js +749 -733
  130. package/components/tree-view/index.umd.cjs +1 -1
  131. package/components/uploader/index.esm.js +325 -311
  132. package/components/uploader/index.umd.cjs +2 -2
  133. package/components/verify-detail/index.esm.js +304 -290
  134. package/components/verify-detail/index.umd.cjs +1 -1
  135. package/components/video/index.esm.js +99 -85
  136. package/components/video/index.umd.cjs +1 -1
  137. package/components/weather/index.esm.js +947 -933
  138. package/components/weather/index.umd.cjs +4 -4
  139. package/farris.all.esm.js +7750 -7990
  140. package/farris.all.umd.cjs +12 -12
  141. package/package.json +1 -1
  142. package/types/data-view/composition/types.d.ts +0 -1
  143. package/types/entity-binding-selector/composition/use-entity-tree.d.ts +3 -0
  144. package/types/entity-binding-selector/composition/use-field-tree.d.ts +1 -0
  145. package/components/event-parameter/index.css +0 -1
  146. package/types/data-grid/src/components/data/data-grid-area.component.d.ts +0 -8
  147. package/types/data-grid/src/components/data/data-grid-area.props.d.ts +0 -3
@@ -1 +1 @@
1
- (function(B,n){typeof exports=="object"&&typeof module<"u"?n(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"],n):(B=typeof globalThis<"u"?globalThis:B||self,n(B["response-toolbar"]={},B.Vue,B.LodashES,B.common,B.designerCanvas))})(this,function(B,n,F,z,te){"use strict";var Je=Object.defineProperty;var Xe=(B,n,F)=>n in B?Je(B,n,{enumerable:!0,configurable:!0,writable:!0,value:F}):B[n]=F;var M=(B,n,F)=>Xe(B,typeof n!="symbol"?n+"":n,F);class ne{constructor(t){M(this,"id","");M(this,"class","btn-secondary");M(this,"icon","");M(this,"groupId","");M(this,"order",-1);M(this,"asDropDownTop",!1);M(this,"text","");M(this,"visible",!0);M(this,"responsed",!1);M(this,"tipsEnable",!1);M(this,"tipsText","");M(this,"width",0);M(this,"onClick",()=>{});M(this,"options");this.options=t;const o=["id","class","icon","groupId","order","asDropDownTop","text","isDP","visible","responsed","width","tipsEnable","tipsText","onClick"];Object.keys(t).filter(c=>o.indexOf(c)>-1).forEach(c=>{this[c]=t[c]})}get enable(){return Object.keys(this.options).indexOf("disabled")>-1?!this.options.disabled:n.computed(()=>!0)}setWidth(t){this.width=parseInt(t,10)}getWidth(){return this.visible?this.width:!1}}class oe extends ne{constructor(t){super(t)}}function re(){function i(t){const o=[];return t.reduce((c,p)=>(p.children&&p.children.length>0?c.push(new q(p)):c.push(new oe(p)),c),o),o}return{buildResponseToolbarItems:i}}const{buildResponseToolbarItems:ge}=re();class q extends ne{constructor(o){super(o);M(this,"placement","");M(this,"dropdownClass","");M(this,"menuClass","");M(this,"split",!1);M(this,"children",[]);M(this,"expanded",!1);const c=["isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(o).filter(p=>c.indexOf(p)>-1).forEach(p=>{this[p]=o[p]}),o.children&&o.children.length&&(this.children=ge(o.children))}}class he{constructor(t,o){M(this,"id");M(this,"name");M(this,"presetId",[]);M(this,"responsedIndex",[]);M(this,"width");this.id=t,this.name=o,this.width=0}setWidth(t){this.width=parseInt(t+"",10)}getWidth(){return this.width}setPreset(t){Array.isArray(t)?this.presetId=this.presetId.concat(t):this.presetId.push(t)}delPreset(){this.presetId=[]}removeResponsed(t){this.responsedIndex.splice(t,1)}setResponsed(t){Array.isArray(t)?this.responsedIndex=this.responsedIndex.concat(t):this.responsedIndex.push(t)}isResponsing(){return this.responsedIndex.length>0}isResponsed(){return this.presetId.length===this.responsedIndex.length}}const se={},ie={};function J(i){const{properties:t,title:o,ignore:c}=i,p=c&&Array.isArray(c),h=Object.keys(t).reduce((f,T)=>((!p||!c.find(x=>x===T))&&(f[T]=t[T].type==="object"&&t[T].properties?J(t[T]):F.cloneDeep(t[T].default)),f),{});if(o&&(!p||!c.find(f=>f==="id"))){const f=o.toLowerCase().replace(/-/g,"_");h.id=`${f}_${Math.random().toString().slice(2,6)}`}return h}function Q(i,t={},o){const c=se[i];if(c){let p=J(c);const h=ie[i];return p=h?h({getSchemaByType:Q},p,t,o):p,p}return null}function be(i,t){const o=J(t);return Object.keys(o).reduce((c,p)=>(c[p]&&F.isPlainObject(c[p])&&F.isPlainObject(i[p]||!i[p])?Object.assign(c[p],i[p]||{}):c[p]=i[p],c),o),o}function ye(i,t){return Object.keys(i).filter(c=>i[c]!=null).reduce((c,p)=>{if(t.has(p)){const h=t.get(p);if(typeof h=="string")c[h]=i[p];else{const f=h(p,i[p],i);Object.assign(c,f)}}else c[p]=i[p];return c},{})}function Ce(i,t,o=new Map){const c=be(i,t);return ye(c,o)}function we(i={}){function t(m,g,l,a){if(typeof l=="number")return a[m].length===l;if(typeof l=="object"){const u=Object.keys(l)[0],y=l[u];if(u==="not")return Number(a[m].length)!==Number(y);if(u==="moreThan")return Number(a[m].length)>=Number(y);if(u==="lessThan")return Number(a[m].length)<=Number(y)}return!1}function o(m,g,l,a){return a[m]&&a[m].propertyValue&&String(a[m].propertyValue.value)===String(l)}const c=new Map([["length",t],["getProperty",o]]);Object.keys(i).reduce((m,g)=>(m.set(g,i[g]),m),c);function p(m,g){const l=m;return typeof g=="number"?[{target:l,operator:"length",param:null,value:Number(g)}]:typeof g=="boolean"?[{target:l,operator:"getProperty",param:m,value:!!g}]:typeof g=="object"?Object.keys(g).map(a=>{if(a==="length")return{target:l,operator:"length",param:null,value:g[a]};const u=a,y=g[a];return{target:l,operator:"getProperty",param:u,value:y}}):[]}function h(m){return Object.keys(m).reduce((l,a)=>{const u=p(a,m[a]);return l.push(...u),l},[])}function f(m,g){if(c.has(m.operator)){const l=c.get(m.operator);return l&&l(m.target,m.param,m.value,g)||!1}return!1}function T(m,g){return h(m).reduce((u,y)=>u&&f(y,g),!0)}function x(m,g){const l=Object.keys(m),a=l.includes("allOf"),u=l.includes("anyOf"),y=a||u,V=(y?m[y?a?"allOf":"anyOf":"allOf"]:[m]).map(A=>T(A,g));return a?!V.includes(!1):V.includes(!0)}return{parseValueSchema:x}}const X={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},ve={},xe={};we();function ce(i,t,o=new Map,c=(f,T,x,m)=>T,p={},h=f=>f){return se[t.title]=t,ie[t.title]=c,ve[t.title]=p,xe[t.title]=h,(f={})=>{const T=Ce(f,t,o),x=Object.keys(i).reduce((m,g)=>(m[g]=i[g].default,m),{});return Object.assign(x,T)}}function Te(i,t){return{customClass:t.class,customStyle:t.style}}const Ie=new Map([["buttons","items"],["appearance",Te]]);function Se(i,t){return{class:t.class,style:t.style}}const Me=new Map([["appearance",Se]]);function ae(i,t,o){return t}const De={$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"]},Re={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-toolbar-item.schema.json",title:"response-toolbar-item",description:"A Farris Toolbar Item Component",type:"object",properties:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",type:"string",default:"response-toolbar-item"},appearance:{description:"",type:"object",properties:{class:{type:"string",default:"btn-secondary"}}},alignment:{description:"对齐",type:"string",default:"right"},text:{description:"文本",type:"string",default:"按钮"},icon:{description:"图标",type:"string",default:""},disabled:{description:"禁用",type:"boolean",default:!1},onClick:{description:"点击事件",type:"string",default:""}},required:["id","type","text"]},Y={customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]}},Ee=Object.assign({},Y,{componentId:{type:String,default:""}}),Z=ce(Y,De,Ie,ae),le={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"}},ke=ce(le,Re,Me,ae);function de(){function i(o){const c={"f-icon":!0};if(o.icon){const p=o.icon.trim().split(" ");p&&p.length&&p.reduce((h,f)=>(h[f]=!0,h),c)}return c}function t(o){return!!(o.icon&&o.icon.trim())}return{iconClass:i,shouldShowIcon:t}}function Ne(i){function t(l){const a={"dropdown-menu":!0};if(l.class){const u=l.menuClass.split(" ");u&&u.length&&u.reduce((y,I)=>(y[I]=!0,y),a)}return a}function o(l){const a={disabled:!l.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},u=l.dropdownClass.split(" ");return u&&u.length&&u.reduce((y,I)=>(y[I]=!0,y),a),a}function c(l){const a={disabled:!l.enable,"dropdown-item":!0,"f-rt-btn":!0},u=l.class.split(" ");return u&&u.length&&u.reduce((y,I)=>(y[I]=!0,y),a),a}let p;const h=new Map;function f(l,a,u){var I;((I=l.target)==null?void 0:I.id)===a.id&&l.stopPropagation();const y=u?u.id:"__top_item__";if(a.children&&a.children.length&&(a.expanded=!a.expanded,a.expanded?h.set(y,a):h.delete(y)),h.has(y)&&h.get(y)!==a){const N=h.get(y);N&&(N.expanded=!1)}}function T(l,a){document.body.click(),a.enable&&a.onClick(l,a.id)}function x(l){return l.children.map(a=>a.children&&a.children.length?n.createVNode("li",{class:o(a),id:a.id,onClick:u=>a.enable&&f(u,a,l)},[n.createVNode("span",{id:a.id,class:c(a),onMouseover:u=>a.enable&&f(u,a,l)},[a.text,n.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),p(a,a)]):n.createVNode("li",{class:c(a),id:a.id,onClick:u=>T(u,a),onMouseover:u=>a.enable&&f(u,a,l)},[i.shouldShowIcon(a)&&n.createVNode("i",{class:i.iconClass(a)},null),a.text]))}function m(l,a,u){const y={display:l.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},I=document.getElementsByTagName("body")[0].getClientRects()[0].width,N=a,V=N==null?void 0:N.getClientRects();if(N&&V&&V.length){const{top:_,width:A,left:P,right:E,height:R}=V[0],C=Math.ceil(R+_);y.top=`${C}px`,y.left=`${P}px`;const D=l.id+"_menu",k=a?a.querySelector("#"+D):null;if(k){y.display==="block"&&(k.style.display="block");const b=k.getBoundingClientRect();if(u){y.top=`${_-6}px`;const r=Math.ceil(A+P);y.left=`${r}px`}I-P-A<b.width&&(y.left=`${(u?P:E)-b.width}px`)}}return y}p=function(l,a){var N,V;const u=n.getCurrentInstance(),y=a?a.id:l.id,I=(V=(N=u==null?void 0:u.exposed)==null?void 0:N.elementRef.value)==null?void 0:V.querySelector("#"+y);return n.createVNode("ul",{class:t(l),style:m(l,I,a),id:l.id+"_menu"},[x(l)])};function g(){h.forEach(l=>{l.expanded=!1}),h.clear()}return{renderDropdownMenu:p,clearAllDropDownMenu:g}}function Pe(i,t){const o=n.ref(i.alignment),{renderDropdownMenu:c,clearAllDropDownMenu:p}=Ne(t);function h(g){const l={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":o.value==="right","f-btn-mr":o.value==="left"},a=g.dropdownClass.split(" ");return a&&a.length&&a.reduce((u,y)=>(u[y]=!0,u),l),l}function f(g){const l={btn:!0,disabled:!g.enable,"f-rt-btn":!0,"btn-icontext":!!(g.icon&&g.icon.trim())};if(g.class){const a=g.class.split(" ");a&&a.length&&a.reduce((u,y)=>(u[y]=!0,u),l)}return l}function T(g,l){g.stopPropagation();const a=l.expanded;document.body.click(),l.expanded=!a}function x(g){return n.createVNode("div",{id:g.id,class:h(g)},[n.createVNode("div",{class:f(g),style:"display: flex;padding-right: 0.1rem;border-top-right-radius: 6px;border-bottom-right-radius: 6px",onClick:l=>g.enable&&T(l,g)},[t.shouldShowIcon(g)&&n.createVNode("i",{class:t.iconClass(g)},null),n.createVNode("span",null,[g.text]),n.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(g)])}function m(){p()}return{renderToolbarDropdown:x,clearAllDropDown:m}}const{buildResponseToolbarItems:pe}=re(),G=n.defineComponent({name:"FResponseToolbar",props:Y,emits:["click"],setup(i,t){const o=n.ref(pe(i.items)),c=n.ref(),p=n.ref(),h=n.ref(),f=n.ref(i.alignment),T={id:"__more_buttons__",text:"更多"},x=n.ref(new q(T)),m=de(),g=n.computed(()=>x.value.children.length>0),l=n.computed(()=>{const C={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return z.getCustomClass(C,i.customClass)}),a=n.computed(()=>({"w-100":!0,"d-flex":!0,"flex-nowrap":!0,"justify-content-end":f.value==="right","justify-content-start":f.value==="left"})),{renderToolbarDropdown:u,clearAllDropDown:y}=Pe(i,m);function I(){o.value.filter(C=>C.children&&C.children.length>0).forEach(C=>{C.expanded=!1}),x.value.expanded=!1,y()}function N(C){const D={btn:!0,"f-rt-btn":!0,"f-btn-ml":f.value==="right","f-btn-mr":f.value==="left","btn-icontext":!!(C.icon&&C.icon.trim())};if(C.class){const k=C.class.split(" ");k&&k.length&&k.reduce((b,r)=>(b[r]=!0,b),D)}return D}function V(C,D){document.body.click(),typeof D.onClick=="function"&&D.onClick(C,D.id),t.emit("click",C,D.id)}function _(C){return n.createVNode("button",{type:"button",class:N(C),id:C.id,disabled:!C.enable,onClick:D=>V(D,C)},[m.shouldShowIcon(C)&&n.createVNode("i",{class:m.iconClass(C)},null),C.text])}const A=new Map,P=[];function E(C){const D=h.value;let k=C;const b=Array.from(D.children),r=b[b.length-1].id==="__more_buttons__"?b[b.length-1]:null;if(r){const w=r.computedStyleMap().get("margin-left"),S=r.computedStyleMap().get("margin-right"),O=(w?w.value:0)+r.getBoundingClientRect().width+(S?S.value:0);k-=O}const e=b.filter(w=>w.id!=="__more_buttons__");for(const w of e){const S=w.computedStyleMap().get("margin-left"),O=w.computedStyleMap().get("margin-right"),L=(S?S.value:0)+w.getBoundingClientRect().width+(O?O.value:0);k<L?(A.set(w.id,!0),P.push({id:w.id,width:L})):k-=L}if(P.length)for(let w=P.length-1;w>=0;w--){const S=P[w].width;if(k>=S)k-=S,A.delete(P[w].id),P.pop();else break}const s=Object.assign({},x.value);s.children=[];const d=new q(s),v=o.value.reduce((w,S)=>(A.has(S.id)&&d.children.push(S),S.visible=!A.has(S.id),w.push(S),w),[]);x.value=d,o.value=v}const R=new ResizeObserver(C=>{if(C.length){const k=C[0].contentRect.width,r=h.value.getBoundingClientRect().width;(k<r||P.length)&&(E(k),I())}});return n.onMounted(()=>{const C=p.value;R.observe(C),document.body.addEventListener("click",I),document.body.addEventListener("wheel",I)}),n.onUnmounted(()=>{R.disconnect(),document.body.removeEventListener("click",I),document.body.removeEventListener("wheel",I)}),n.watch(()=>i.items,()=>{o.value=pe(i.items)},{deep:!0}),t.expose({elementRef:c}),()=>n.createVNode("div",{class:l.value,ref:c},[n.createVNode("div",{ref:p,class:a.value},[n.createVNode("div",{ref:h,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[o.value.filter(C=>C.visible).map(C=>C.children&&C.children.length>0?u(C):_(C)),g.value&&u(x.value)])])])}});function Be(i,t){const o=n.inject("design-item-context"),c=n.inject("toolbar-item-handler",()=>{});function p(){c&&c()}function h(r){const e={"dropdown-menu":!0};if(r.class){const s=r.menuClass.split(" ");s&&s.length&&s.reduce((d,v)=>(d[v]=!0,d),e)}return e}function f(r){const e={disabled:!r.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},s=r.dropdownClass.split(" ");return s&&s.length&&s.reduce((d,v)=>(d[v]=!0,d),e),e}function T(r){const e={disabled:!r.enable,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0},s=r.class.split(" ");return s&&s.length&&s.reduce((d,v)=>(d[v]=!0,d),e),e}let x;const m=new Map;function g(r,e,s){var v;((v=r.target)==null?void 0:v.id)===e.id&&r.stopPropagation();const d=s?s.id:"__top_item__";if(e.children&&e.children.length&&(e.expanded=!e.expanded,e.expanded?m.set(d,e):m.delete(d)),m.has(d)&&m.get(d)!==e){const w=m.get(d);w&&(w.expanded=!1)}}function l(r){r&&(r.stopPropagation(),r.preventDefault())}function a(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(e=>e.classList.remove("dgComponentFocused"));const r=document.getElementsByClassName("dgComponentSelected");Array.from(r).forEach(e=>e.classList.remove("dgComponentSelected"))}function u(r){r.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function y(r){const{buttons:e=[]}=o.schema;let s=[];e.forEach(w=>{s=s.concat(w.children||[])});const d=s.findIndex(w=>w.id===r),v=d===-1?null:s[d];return{index:d,item:v}}function I(r){const{buttons:e=[]}=o.schema,s=e.findIndex(v=>v.id===r),d=s===-1?null:e[s];return{index:s,item:d}}function N(r){var d;o.schema;const{index:e,item:s}=y(r);(d=o==null?void 0:o.setupContext)==null||d.emit("selectionChange",s==null?void 0:s.type,s)}const V=function(r){const{componentType:e}=r,s=Q(e,r),d=e.toLowerCase().replace("-","_");return s&&!s.id&&s.type===e&&(s.id=`${d}_${Math.random().toString().slice(2,6)}`),s},_=function(){const r={componentType:"response-toolbar-item",parentComponentInstance:t.value,targetPosition:-1};return V(r)};function A(r,e){l(r),a(),u(r),N(e.id)}function P(r,e,s){l(r);const d=e.id,v=s&&s.id,{buttons:w=[]}=o.schema;if(!v)return;const{index:S}=I(v);if(S===-1)return;const{index:O}=y(d);O!==-1&&(w[S].children.splice(O,1),p())}function E(r,e,s){l(r);const d=s&&s.id,{buttons:v=[]}=o.schema;if(!d)return;const{index:w}=I(d);if(w===-1)return;const S=_(),O=Object.assign({},S,{text:e.text});v[w].children.push(O),p()}function R(r,e,s){l(r);const d=s&&s.id,{buttons:v=[]}=o.schema;if(!d)return;const{index:w}=I(d);if(w===-1)return;const S=_(),O=Object.assign({},S,{text:"按钮"});v[w].children.push(O),p()}function C(r,e){return n.createVNode("div",{class:"component-btn-group"},[n.createVNode("div",null,[n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:s=>P(s,r,e)},[n.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:s=>E(s,r,e)},[n.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增同级",ref:"appendSame",style:"width:85px!important;padding:0 5px;position:static;",onClick:s=>R(s,r,e)},[n.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),n.createVNode("span",{style:"font-size:13px;margin:auto"},[n.createTextVNode("新增同级")])])])])}function D(r){return r.children.map(e=>e.children&&e.children.length?n.createVNode("li",{class:f(e),id:e.id,onClick:s=>e.enable&&g(s,e,r)},[n.createVNode("span",{id:e.id,class:T(e),onMouseover:s=>e.enable&&g(s,e,r)},[e.text,n.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),x(e,e)]):n.createVNode("li",{class:T(e),id:e.id,onClick:s=>A(s,e)},[C(e,r),i.shouldShowIcon(e)&&n.createVNode("i",{class:i.iconClass(e)},null),e.text]))}function k(r,e,s){const d={display:r.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},v=document.getElementsByTagName("body")[0].getClientRects()[0].width,w=e,S=w==null?void 0:w.getClientRects();if(w&&S&&S.length){const{top:O,width:L,left:U,right:j,height:$}=S[0],W=Math.ceil($+O);d.top=`${W}px`,d.left=`${U}px`;const H=r.id+"_menu",ee=e?e.querySelector("#"+H):null;if(ee){d.display==="block"&&(ee.style.display="block");const me=ee.getBoundingClientRect();if(s){d.top=`${O-6}px`;const Qe=Math.ceil(L+U);d.left=`${Qe}px`}v-U-L<me.width&&(d.left=`${(s?U:j)-me.width}px`)}}return d}x=function(r,e){var w,S;const s=n.getCurrentInstance(),d=e?e.id:r.id,v=(S=(w=s==null?void 0:s.exposed)==null?void 0:w.elementRef.value)==null?void 0:S.querySelector("#"+d);return n.createVNode("ul",{class:h(r),style:k(r,v,e),id:r.id+"_menu"},[D(r)])};function b(){m.forEach(r=>{r.expanded=!1}),m.clear()}return{renderDropdownMenu:x,clearAllDropDownMenu:b}}function Ve(i,t,o){const c=n.ref(i.alignment),{renderDropdownMenu:p,clearAllDropDownMenu:h}=Be(t,o),f=n.inject("design-item-context"),T=n.inject("toolbar-item-handler",()=>{});function x(){T&&T()}function m(b){const r={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":c.value==="right","f-btn-mr":c.value==="left"},e=b.dropdownClass.split(" ");return e&&e.length&&e.reduce((s,d)=>(s[d]=!0,s),r),r}function g(b){const r={btn:!0,disabled:!b.enable,"position-relative":!0,"farris-component":!0,"f-rt-btn":!0,"btn-icontext":!!(b.icon&&b.icon.trim())};if(b.class){const e=b.class.split(" ");e&&e.length&&e.reduce((s,d)=>(s[d]=!0,s),r)}return r}function l(b){b&&(b.stopPropagation(),b.preventDefault())}function a(b,r){l(b);const e=r.expanded;document.body.click(),r.expanded=!e}const u=function(b){const{componentType:r}=b,e=Q(r,b),s=r.toLowerCase().replace("-","_");return e&&!e.id&&e.type===r&&(e.id=`${s}_${Math.random().toString().slice(2,6)}`),e},y=function(){const b={componentType:"response-toolbar-item",parentComponentInstance:o.value,targetPosition:-1};return u(b)};function I(b){const r=f.schema.buttons||f.schema.contents,e=r==null?void 0:r.findIndex(d=>d.id===b),s=e===-1?null:r[e];return{index:e,toolbarItem:s}}function N(b,r){var S;const{index:e,toolbarItem:s}=I(r);if(e===-1)return;const d=s.text||"按钮",v=y(),w=Object.assign({},v,{text:d});(S=f.schema.buttons)==null||S.push(w),x()}function V(b,r){const{index:e,toolbarItem:s}=I(r);if(e===-1)return;const d=s.text||"按钮",v=y(),w=Object.assign({},v,{text:d}),S=f.schema.buttons[e].children||[];S.push(w),f.schema.buttons[e].children=S,x()}function _(b,r){const e=f.schema.buttons||f.schema.contents,s=e==null?void 0:e.findIndex(d=>d.id===r);s!==-1&&(e.splice(s,1),x())}function A(b){return n.createVNode("div",{class:"component-btn-group"},[n.createVNode("div",null,[n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:r=>_(r,b)},[n.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:r=>N(r,b)},[n.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增子级",ref:"appendChildButton",style:"width:85px!important;padding:0 5px;position:static;",onClick:r=>V(r,b)},[n.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),n.createVNode("span",{style:"font-size:13px;margin:auto"},[n.createTextVNode("新增子级")])])])])}function P(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(r=>r.classList.remove("dgComponentFocused"));const b=document.getElementsByClassName("dgComponentSelected");Array.from(b).forEach(r=>r.classList.remove("dgComponentSelected"))}function E(b){b.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function R(b){var d;const r=f.schema.buttons||f.schema.contents,e=r==null?void 0:r.findIndex(v=>v.id===b);if(e===-1)return;const s=r[e];(d=f==null?void 0:f.setupContext)==null||d.emit("selectionChange","response-toolbar-item",s)}function C(b,r){l(b),P(),E(b),l(b),a(b,r),R(r.id)}function D(b){return n.createVNode("div",{id:b.id,class:m(b)},[n.createVNode("div",{class:g(b),style:"display: flex;padding-right: 0.1rem;",onClick:r=>b.enable&&C(r,b)},[A(b.id),t.shouldShowIcon(b)&&n.createVNode("i",{class:t.iconClass(b)},null),n.createVNode("span",null,[b.text]),n.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(b)])}function k(){h()}return{renderToolbarDropdown:D,clearAllDropDown:k}}class K{constructor(t,o){M(this,"componentId");M(this,"viewModelId");M(this,"eventsEditorUtils");M(this,"formSchemaUtils");M(this,"formMetadataConverter");M(this,"designViewModelUtils");M(this,"designViewModelField");M(this,"controlCreatorUtils");M(this,"designerHostService");M(this,"schemaService",null);M(this,"metadataService",null);M(this,"propertyConfig",{type:"object",categories:{}});var c;this.componentId=t,this.designerHostService=o,this.eventsEditorUtils=o.eventsEditorUtils,this.formSchemaUtils=o.formSchemaUtils,this.formMetadataConverter=o.formMetadataConverter,this.viewModelId=((c=this.formSchemaUtils)==null?void 0:c.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=o.designViewModelUtils,this.controlCreatorUtils=o.controlCreatorUtils,this.metadataService=o.metadataService,this.schemaService=o.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var c;const o=t.binding&&t.binding.type==="Form"&&t.binding.field;if(o){if(!this.designViewModelField){const p=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=p.fields.find(h=>h.id===o)}t.updateOn=(c=this.designViewModelField)==null?void 0:c.updateOn}}changeFieldEditorType(t,o){}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:t.type,name:X[t.type].name}]}}}}}getAppearanceConfig(t=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(t,o){const c=o&&o.parent&&o.parent.schema;if(!c)return;const p=c.contents.findIndex(f=>f.id===t),h=F.cloneDeep(c.contents[p]);c.contents.splice(p,1),c.contents.splice(p,0,h)}}class je extends K{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getAppearancePropConfig(t),this.getBehaviorProperties(t),this.propertyConfig}getAppearancePropConfig(t){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"}}}}getBasicPropConfig(t){this.propertyConfig.categories.basic={description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"response-toolbar",value:X["response-toolbar"].name}]}}}}}getBehaviorProperties(t){this.propertyConfig.categories.behavior={title:"行为",description:"",properties:{alignment:{title:"对齐方式",description:"The alignment of Response Toolbar Button.",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"right",name:"右对齐"},{value:"left",name:"左对齐"}]}},items:{title:"按钮",description:"The items of Response Toolbar.",type:"array",default:[],$converter:"/converter/buttons.converter",refreshPanelAfterChanged:!0}}}}}function Ae(i,t){const o=i.schema;function c(g){return!1}function p(g,l){return l.text=g.label,l}function h(){return!1}function f(){return!1}function T(){return!0}function x(){return!0}function m(g){return new je(g,t).getPropertyConfig(o)}return{canAccepts:c,checkCanAddComponent:T,checkCanDeleteComponent:f,checkCanMoveComponent:h,hideNestedPaddingInDesginerView:x,onResolveNewComponentSchema:p,getPropsConfig:m}}const Oe={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}},ue=n.ref(0);function _e(i,t){const o=t.getBoundingClientRect(),c=i.getBoundingClientRect(),p=c.top>=o.top,h=c.top<=o.bottom;return p&&h}function $e(i){if(!i)return;let t;if(i.className.includes("dgComponentSelected")?t=i:t=i.querySelector(".dgComponentSelected"),!t)return;const o=t.getBoundingClientRect();if(o.width===0&&o.height===0)return;const c=t.querySelector(".component-btn-group");if(c){if(!_e(t,i)){c.style.display="none";return}c.style.display="";const h=c.getBoundingClientRect(),f=c.querySelector("div");if(f){const T=f.getBoundingClientRect();f.style.top=h.top+"px",f.style.left=h.left-T.width+"px"}}}function Fe(i,t,o){var P;const c="",p=n.ref();function h(){return!0}function f(){return!1}function T(){return!0}function x(){return!0}function m(){return!0}function g(E){if(!E||!E.value)return null;const R=n.ref(E==null?void 0:E.value.parent),C=g(R);return C||null}function l(E=t){const{componentInstance:R,designerItemElementRef:C}=E;return!R||!R.value?null:R.value.canMove||R.value.canAdd||R.value.canDelete?C:l(E.parent)}function a(E){return!!o}function u(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function y(){}function I(E,R){}function N(E){const{componentType:R}=E,C=n.inject("designer-host-service");let D=Q(R,E,C);const k=R.toLowerCase().replace(/-/g,"_");return D&&!D.id&&D.type===R&&(D.id=`${k}_${Math.random().toString().slice(2,6)}`),D}function V(E){}function _(...E){return[]}function A(){}return p.value={canMove:h(),canSelectParent:f(),canAdd:x(),canDelete:T(),canNested:!m(),contents:[],elementRef:i,parent:(P=t.parent)==null?void 0:P.componentInstance,schema:t.schema,styles:c,canAccepts:a,getBelongedComponentInstance:g,getDraggableDesignItemElement:l,getDraggingDisplayText:u,getPropConfig:_,getDragScopeElement:y,onAcceptMovedChildElement:I,onChildElementMovedOut:V,addNewChildComponentSchema:N,onRemoveComponent:A,triggerBelongedComponentToMoveWhenMoved:n.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:n.ref(!1)},p}const Le=n.defineComponent({name:"FDesignerInnerItem",props:Oe,emits:["selectionChange","addComponent","removeComponent"],setup(i,t){const o=n.ref(i.canMove),c=n.ref(i.canAdd),p=n.ref(i.canDelete),h=n.ref(!1),f=n.ref(i.contentKey),T=n.ref(i.childType),x=n.ref(i.childLabel),m=n.ref(i.modelValue),g=n.ref(""),l=n.ref(),a=n.inject("canvas-dragula"),u=n.ref(),y=n.inject("design-item-context"),I={designerItemElementRef:l,componentInstance:u,schema:m.value,parent:y,setupContext:t};n.provide("design-item-context",I);const N=n.computed(()=>({"farris-component":!0,"flex-fill":i.id==="root-component","position-relative":o.value||p.value,"farris-nested":h.value,"can-move":o.value,"d-none":l.value&&l.value.classList.contains("d-none")})),V=n.computed(()=>{const e={};return g.value&&g.value.split(";").reduce((s,d)=>{const[v,w]=d.split(":");return v&&(s[v]=w),s},e),e});function _(e,s){if(y&&y.schema[f.value]){const d=y.schema[f.value].findIndex(v=>v.id===s.id);if(d>-1){const v=y.schema[f.value].length,w=y.schema[f.value][d%v];y.designerItemElementRef.value.querySelector(`#${w.id}-design-item`),y.schema[f.value].splice(d,1),ue.value++,t.emit("removeComponent")}}}function A(e){if(u.value.addNewChildComponentSchema){const s={componentType:T.value,label:x.value,parentComponentInstance:u.value,targetPosition:-1},d=u.value.addNewChildComponentSchema(s);m.value[f.value].push(d),t.emit("addComponent")}}function P(){return c.value&&n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:e=>{A()}},[n.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function E(e){return p.value&&n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:n.withModifiers(s=>_(s,e),["stop"])},[n.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function R(){return o.value&&n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"移动",ref:"moveComponent"},[n.createVNode("i",{"data-dragging-icon":"true",class:"cmp_move f-icon f-icon-yxs_move"},null)])}function C(e){return n.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[n.createVNode("div",null,[P(),R(),E(e)])])}n.watch(()=>i.modelValue,e=>{m.value=e,I.schema=e});function D(e){const s=e.target;$e(s)}function k(){var e,s;(s=(e=m.value)==null?void 0:e.contents)!=null&&s.length&&l.value&&l.value.addEventListener("scroll",D)}function b(){const e=l.value,s=n.ref(e.children[1]);return Fe(s,I).value}n.onMounted(()=>{if(l.value){const e=l.value.querySelector(`[data-dragref='${m.value.id}-container']`);u.value=e&&e.componentInstance?e.componentInstance.value:b(),a&&e&&a.attachComponents(e,m.value),h.value=u.value.canNested!==void 0?u.value.canNested:h.value,c.value=u.value.canAdd!==void 0?u.value.canAdd:c.value,p.value=u.value.canDelete!==void 0?u.value.canDelete:p.value,o.value=u.value.canMove!==void 0?u.value.canMove:o.value,g.value=u.value.styles||"",l.value&&(l.value.componentInstance=u,l.value.designItemContext=I)}k(),ue.value++}),n.onBeforeUnmount(()=>{l.value&&l.value.removeEventListener("scroll",D)});function r(e){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(v=>v.classList.remove("dgComponentFocused")),e&&(e.preventDefault(),e.stopPropagation());let s=I.designerItemElementRef;const d=l.value;if(d){const v=document.getElementsByClassName("dgComponentSelected");v&&v.length===1&&v[0]===l.value||(Array.from(v).forEach(S=>S.classList.remove("dgComponentSelected")),d.classList.add("dgComponentFocused"),t.emit("selectionChange",m.value.type,m.value,i.componentId,u.value),s=u.value.getDraggableDesignItemElement(I),s&&s.value&&s.value.classList.add("dgComponentSelected"))}D({target:s==null?void 0:s.value})}return()=>n.createVNode("div",{id:`${i.id}-design-item`,ref:l,class:N.value,style:V.value,onClick:r},[C(m.value),t.slots.default&&t.slots.default()])}});class qe extends K{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getAppearanceProperties(t),this.getEventPropConfig(t),this.propertyConfig}getBasicPropConfig(t){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识00",title:"标识",type:"string",readonly:!0},type:{description:"类型",title:"类型",type:"string",readonly:!0,$converter:"/converter/type.converter"},text:{title:"文本",type:"string",description:""},icon:{title:"图标",type:"string",description:""}}}}getAppearanceProperties(t){this.propertyConfig.categories.appearance={title:"外观",properties:{class:{description:"组件的CSS样式",title:"class样式"},style:{description:"组件的内容样式",title:"style样式"}},setPropertyRelates(o,c){}}}getEventPropConfig(t){const o=[{label:"onClick",name:"点击事件"}],c=this,p=c.eventsEditorUtils.formProperties(t,c.viewModelId,o),h={};h[c.viewModelId]={type:"events-editor",editor:{initialData:p}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:h,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(f,T){const x=f.propertyValue;delete t[c.viewModelId],x&&(x.setPropertyRelates=this.setPropertyRelates,c.eventsEditorUtils.saveRelatedParameters(t,c.viewModelId,x.events,x))}}}}class Ue extends K{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(),this.getAppearanceProperties(t),this.getbBehaviorConfig(),this.getEventPropConfig(t),this.propertyConfig}getBasicPropConfig(){this.propertyConfig.categories.basic={title:"基本信息",description:"Basic Infomation",properties:{id:{title:"标识",type:"string",description:"The identifier of a component.",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"response-toolbar-item",value:X["response-toolbar-item"].name}]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}getbBehaviorConfig(){this.propertyConfig.categories.behavior={title:"行为",description:"Behavior",properties:{disabled:{title:"禁用",type:"boolean",description:"按钮禁用状态",refreshPanelAfterChanged:!0}}}}getAppearanceProperties(t){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"",$converter:"/converter/appearance.converter"}}}}getEventPropConfig(t){const o=[{label:"onClick",name:"点击事件"}],c=this,p=c.eventsEditorUtils.formProperties(t,c.viewModelId,o),h={};h[c.viewModelId]={type:"events-editor",editor:{initialData:p}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:h,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(f,T){const x=f.propertyValue;delete t[c.viewModelId],x&&(x.setPropertyRelates=this.setPropertyRelates,c.eventsEditorUtils.saveRelatedParameters(t,c.viewModelId,x.events,x))}}}}function We(i,t){function o(T){return!1}function c(){return!1}function p(){return!0}function h(){return!1}function f(T){let x;switch(i.schema.type){case"tab-toolbar-item":x=new qe(T,t);break;default:x=new Ue(T,t)}return x.getPropertyConfig(i.schema)}return{canAccepts:o,checkCanMoveComponent:c,checkCanDeleteComponent:p,checkCanAddComponent:h,getPropsConfig:f}}const fe=n.defineComponent({name:"FResponseToolbarItemDesign",props:le,emits:["Click"],setup(i,t){n.ref(),n.ref();const o=n.ref(i.alignment),c={id:"__more_buttons__",text:"More"},p=n.ref(new q(c));n.computed(()=>p.value.children.length>0);const h=n.ref(),f=n.inject("designer-host-service"),T=n.inject("design-item-context"),x=We(T,f),m=te.useDesignerInnerComponent(h,T,x);n.inject("toolbar-item-handler",()=>{}),n.onMounted(()=>{h.value.componentInstance=m}),t.expose(m.value);function g(){const u={"f-icon":!0},y=i.icon?i.icon.trim():"";return z.getCustomClass(u,y)}function l(){return!!(i.icon&&i.icon.trim())}function a(){const u={btn:!0,"f-rt-btn":!0,"f-btn-ml":o.value==="right","f-btn-mr":o.value==="left","btn-icontext":!!(i.icon&&i.icon.trim()),disabled:i.disabled===!0};return z.getCustomClass(u,i.class)}return()=>n.createVNode("div",{ref:h,"data-dragref":`${T.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[n.createVNode("button",{type:"button",class:a(),id:i.id},[l()&&n.createVNode("i",{class:g()},null),i.text])])}}),ze=n.defineComponent({name:"FResponseToolbarDesign",props:Ee,emits:["Click"],setup(i,t){const o=n.ref(i.items);let c=new Array(o.value.length).fill(n.ref());const p=n.ref(),h=n.ref(),f=n.ref(i.alignment),T={id:"__more_buttons__",text:"More"},x=n.ref(new q(T)),m=de();n.computed(()=>x.value.children.length>0);const g=n.ref(),l=n.inject("designer-host-service"),a=n.inject("design-item-context"),u=Ae(a,l),y=te.useDesignerInnerComponent(g,a,u),I=n.inject("toolbar-item-handler",()=>{});n.onMounted(()=>{g.value.componentInstance=y}),t.expose(y.value);function N(){I&&I()}const V=n.computed(()=>{const e={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return z.getCustomClass(e,i.customClass)}),_=n.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":f.value==="right","justify-content-start":f.value==="left"})),{renderToolbarDropdown:A,clearAllDropDown:P}=Ve(i,m,y);function E(){o.value.filter(e=>e.children&&e.children.length>0).forEach(e=>{e.expanded=!1}),x.value.expanded=!1,P()}const R=new Map,C=[];function D(e){const s=h.value;let d=e;const v=Array.from(s.children),w=v[v.length-1].id==="__more_buttons__"?v[v.length-1]:null;if(w){const j=w.computedStyleMap().get("margin-left"),$=w.computedStyleMap().get("margin-right"),W=(j?j.value:0)+w.getBoundingClientRect().width+($?$.value:0);d-=W}const S=v.filter(j=>j.id!=="__more_buttons__");for(const j of S){const $=j.computedStyleMap().get("margin-left"),W=j.computedStyleMap().get("margin-right"),H=($?$.value:0)+j.getBoundingClientRect().width+(W?W.value:0);d<H?(R.set(j.id,!0),C.push({id:j.id,width:H})):d-=H}if(C.length)for(let j=C.length-1;j>=0;j--){const $=C[j].width;if(d>=$)d-=$,R.delete(C[j].id),C.pop();else break}const O=Object.assign({},x.value);O.children=[];const L=new q(O),U=o.value.reduce((j,$)=>(R.has($.id)&&L.children.push($),$.visible=!R.has($.id),j.push($),j),[]);x.value=L,o.value=U}const k=new ResizeObserver(e=>{if(e.length){const d=e[0].contentRect.width,w=h.value.getBoundingClientRect().width;(d<w||C.length)&&D(d)}});n.onMounted(()=>{const e=p.value;k.observe(e),document.body.addEventListener("click",E)}),n.onUnmounted(()=>{k.disconnect(),document.body.removeEventListener("click",E)}),n.watch(()=>i.items,()=>{o.value=i.items},{deep:!0}),n.watch(o,e=>{c=new Array(o.value.length).fill(n.ref())});function b(e,s,d,v){a&&a.setupContext&&a.setupContext.emit("selectionChange",e,s,d,v)}function r(){const e=h.value.querySelector(".dgComponentFocused.dgComponentSelected");e==null||e.classList.remove("dgComponentSelected"),e==null||e.classList.remove("dgComponentFocused"),N()}return()=>n.createVNode("div",{ref:g,"data-dragref":`${a.schema.id}-container`,class:V.value},[n.createVNode("div",{ref:p,class:_.value},[n.createVNode("div",{ref:h,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[o.value.map((e,s)=>n.createVNode(Le,{ref:c[s],class:"p-0 display-inline-block",modelValue:e,"onUpdate:modelValue":d=>e=d,canMove:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:i.componentId,id:e.id,style:"padding:0 !important;display:inline-block",onSelectionChange:b,onRemoveComponent:r},{default:()=>{var d;return[n.createVNode(fe,{id:e.id,disabled:e.disabled,text:e.text,icon:e.icon,class:((d=e.appearance)==null?void 0:d.class)||"btn-secondary",alignment:i.alignment||"right",componentId:i.componentId},null)]}}))])])])}}),Ge=Z;G.register=(i,t,o)=>{i["response-toolbar"]=G,t["response-toolbar"]=Z},G.registerDesigner=(i,t,o)=>{i["response-toolbar"]=ze,t["response-toolbar"]=Z,i["response-toolbar-item"]=fe,t["response-toolbar-item"]=ke};const He=z.withInstall(G);B.FResponseToolbar=G,B.ResponseToolbarDropDownItem=q,B.ResponseToolbarGroup=he,B.ResponseToolbarItem=oe,B.default=He,B.responseToolbarResolver=Ge,Object.defineProperties(B,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(B,n){typeof exports=="object"&&typeof module<"u"?n(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"],n):(B=typeof globalThis<"u"?globalThis:B||self,n(B["response-toolbar"]={},B.Vue,B.LodashES,B.common,B.designerCanvas))})(this,function(B,n,F,z,te){"use strict";var Xe=Object.defineProperty;var Ye=(B,n,F)=>n in B?Xe(B,n,{enumerable:!0,configurable:!0,writable:!0,value:F}):B[n]=F;var M=(B,n,F)=>Ye(B,typeof n!="symbol"?n+"":n,F);class ne{constructor(t){M(this,"id","");M(this,"class","btn-secondary");M(this,"icon","");M(this,"groupId","");M(this,"order",-1);M(this,"asDropDownTop",!1);M(this,"text","");M(this,"visible",!0);M(this,"responsed",!1);M(this,"tipsEnable",!1);M(this,"tipsText","");M(this,"width",0);M(this,"onClick",()=>{});M(this,"options");this.options=t;const o=["id","class","icon","groupId","order","asDropDownTop","text","isDP","visible","responsed","width","tipsEnable","tipsText","onClick"];Object.keys(t).filter(c=>o.indexOf(c)>-1).forEach(c=>{this[c]=t[c]})}get enable(){return Object.keys(this.options).indexOf("disabled")>-1?!this.options.disabled:n.computed(()=>!0)}setWidth(t){this.width=parseInt(t,10)}getWidth(){return this.visible?this.width:!1}}class oe extends ne{constructor(t){super(t)}}function re(){function i(t){const o=[];return t.reduce((c,d)=>(d.children&&d.children.length>0?c.push(new q(d)):c.push(new oe(d)),c),o),o}return{buildResponseToolbarItems:i}}const{buildResponseToolbarItems:ge}=re();class q extends ne{constructor(o){super(o);M(this,"placement","");M(this,"dropdownClass","");M(this,"menuClass","");M(this,"split",!1);M(this,"children",[]);M(this,"expanded",!1);const c=["isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(o).filter(d=>c.indexOf(d)>-1).forEach(d=>{this[d]=o[d]}),o.children&&o.children.length&&(this.children=ge(o.children))}}class he{constructor(t,o){M(this,"id");M(this,"name");M(this,"presetId",[]);M(this,"responsedIndex",[]);M(this,"width");this.id=t,this.name=o,this.width=0}setWidth(t){this.width=parseInt(t+"",10)}getWidth(){return this.width}setPreset(t){Array.isArray(t)?this.presetId=this.presetId.concat(t):this.presetId.push(t)}delPreset(){this.presetId=[]}removeResponsed(t){this.responsedIndex.splice(t,1)}setResponsed(t){Array.isArray(t)?this.responsedIndex=this.responsedIndex.concat(t):this.responsedIndex.push(t)}isResponsing(){return this.responsedIndex.length>0}isResponsed(){return this.presetId.length===this.responsedIndex.length}}const se={},ie={};function J(i){const{properties:t,title:o,ignore:c}=i,d=c&&Array.isArray(c),m=Object.keys(t).reduce((f,T)=>((!d||!c.find(x=>x===T))&&(f[T]=t[T].type==="object"&&t[T].properties?J(t[T]):F.cloneDeep(t[T].default)),f),{});if(o&&(!d||!c.find(f=>f==="id"))){const f=o.toLowerCase().replace(/-/g,"_");m.id=`${f}_${Math.random().toString().slice(2,6)}`}return m}function be(i){const{properties:t,title:o,required:c}=i;if(c&&Array.isArray(c)){const d=c.reduce((m,f)=>(m[f]=t[f].type==="object"&&t[f].properties?J(t[f]):F.cloneDeep(t[f].default),m),{});if(o&&c.find(m=>m==="id")){const m=o.toLowerCase().replace(/-/g,"_");d.id=`${m}_${Math.random().toString().slice(2,6)}`}return d}return{type:o}}function Q(i,t={},o){const c=se[i];if(c){let d=be(c);const m=ie[i];return d=m?m({getSchemaByType:Q},d,t,o):d,d}return null}function ye(i,t){const o=J(t);return Object.keys(o).reduce((c,d)=>(Object.prototype.hasOwnProperty.call(i,d)&&(c[d]&&F.isPlainObject(c[d])&&F.isPlainObject(i[d]||!i[d])?Object.assign(c[d],i[d]||{}):c[d]=i[d]),c),o),o}function Ce(i,t){return Object.keys(i).filter(c=>i[c]!=null).reduce((c,d)=>{if(t.has(d)){const m=t.get(d);if(typeof m=="string")c[m]=i[d];else{const f=m(d,i[d],i);Object.assign(c,f)}}else c[d]=i[d];return c},{})}function we(i,t,o=new Map){const c=ye(i,t);return Ce(c,o)}function ve(i={}){function t(g,h,l,a){if(typeof l=="number")return a[g].length===l;if(typeof l=="object"){const u=Object.keys(l)[0],y=l[u];if(u==="not")return Number(a[g].length)!==Number(y);if(u==="moreThan")return Number(a[g].length)>=Number(y);if(u==="lessThan")return Number(a[g].length)<=Number(y)}return!1}function o(g,h,l,a){return a[g]&&a[g].propertyValue&&String(a[g].propertyValue.value)===String(l)}const c=new Map([["length",t],["getProperty",o]]);Object.keys(i).reduce((g,h)=>(g.set(h,i[h]),g),c);function d(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 u=a,y=h[a];return{target:l,operator:"getProperty",param:u,value:y}}):[]}function m(g){return Object.keys(g).reduce((l,a)=>{const u=d(a,g[a]);return l.push(...u),l},[])}function f(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 T(g,h){return m(g).reduce((u,y)=>u&&f(y,h),!0)}function x(g,h){const l=Object.keys(g),a=l.includes("allOf"),u=l.includes("anyOf"),y=a||u,V=(y?g[y?a?"allOf":"anyOf":"allOf"]:[g]).map(A=>T(A,h));return a?!V.includes(!1):V.includes(!0)}return{parseValueSchema:x}}const X={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},xe={},Te={};ve();function ce(i,t,o=new Map,c=(f,T,x,g)=>T,d={},m=f=>f){return se[t.title]=t,ie[t.title]=c,xe[t.title]=d,Te[t.title]=m,(f={})=>{const T=we(f,t,o),x=Object.keys(i).reduce((g,h)=>(g[h]=i[h].default,g),{});return Object.assign(x,T)}}function Ie(i,t){return{customClass:t.class,customStyle:t.style}}const Se=new Map([["buttons","items"],["appearance",Ie]]);function Me(i,t){return{class:t.class,style:t.style}}const De=new Map([["appearance",Me]]);function ae(i,t,o){return t}const Re={$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"]},Pe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-toolbar-item.schema.json",title:"response-toolbar-item",description:"A Farris Toolbar Item Component",type:"object",properties:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",type:"string",default:"response-toolbar-item"},appearance:{description:"",type:"object",properties:{class:{type:"string",default:"btn-secondary"}}},alignment:{description:"对齐",type:"string",default:"right"},text:{description:"文本",type:"string",default:"按钮"},icon:{description:"图标",type:"string",default:""},disabled:{description:"禁用",type:"boolean",default:!1},onClick:{description:"点击事件",type:"string",default:""}},required:["id","type","text"]},Y={customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]}},Ee=Object.assign({},Y,{componentId:{type:String,default:""}}),Z=ce(Y,Re,Se,ae),le={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"}},ke=ce(le,Pe,De,ae);function de(){function i(o){const c={"f-icon":!0};if(o.icon){const d=o.icon.trim().split(" ");d&&d.length&&d.reduce((m,f)=>(m[f]=!0,m),c)}return c}function t(o){return!!(o.icon&&o.icon.trim())}return{iconClass:i,shouldShowIcon:t}}function Ne(i){function t(l){const a={"dropdown-menu":!0};if(l.class){const u=l.menuClass.split(" ");u&&u.length&&u.reduce((y,I)=>(y[I]=!0,y),a)}return a}function o(l){const a={disabled:!l.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},u=l.dropdownClass.split(" ");return u&&u.length&&u.reduce((y,I)=>(y[I]=!0,y),a),a}function c(l){const a={disabled:!l.enable,"dropdown-item":!0,"f-rt-btn":!0},u=l.class.split(" ");return u&&u.length&&u.reduce((y,I)=>(y[I]=!0,y),a),a}let d;const m=new Map;function f(l,a,u){var I;((I=l.target)==null?void 0:I.id)===a.id&&l.stopPropagation();const y=u?u.id:"__top_item__";if(a.children&&a.children.length&&(a.expanded=!a.expanded,a.expanded?m.set(y,a):m.delete(y)),m.has(y)&&m.get(y)!==a){const k=m.get(y);k&&(k.expanded=!1)}}function T(l,a){document.body.click(),a.enable&&a.onClick(l,a.id)}function x(l){return l.children.map(a=>a.children&&a.children.length?n.createVNode("li",{class:o(a),id:a.id,onClick:u=>a.enable&&f(u,a,l)},[n.createVNode("span",{id:a.id,class:c(a),onMouseover:u=>a.enable&&f(u,a,l)},[a.text,n.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),d(a,a)]):n.createVNode("li",{class:c(a),id:a.id,onClick:u=>T(u,a),onMouseover:u=>a.enable&&f(u,a,l)},[i.shouldShowIcon(a)&&n.createVNode("i",{class:i.iconClass(a)},null),a.text]))}function g(l,a,u){const y={display:l.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},I=document.getElementsByTagName("body")[0].getClientRects()[0].width,k=a,V=k==null?void 0:k.getClientRects();if(k&&V&&V.length){const{top:_,width:A,left:N,right:P,height:R}=V[0],C=Math.ceil(R+_);y.top=`${C}px`,y.left=`${N}px`;const D=l.id+"_menu",E=a?a.querySelector("#"+D):null;if(E){y.display==="block"&&(E.style.display="block");const b=E.getBoundingClientRect();if(u){y.top=`${_-6}px`;const r=Math.ceil(A+N);y.left=`${r}px`}I-N-A<b.width&&(y.left=`${(u?N:P)-b.width}px`)}}return y}d=function(l,a){var k,V;const u=n.getCurrentInstance(),y=a?a.id:l.id,I=(V=(k=u==null?void 0:u.exposed)==null?void 0:k.elementRef.value)==null?void 0:V.querySelector("#"+y);return n.createVNode("ul",{class:t(l),style:g(l,I,a),id:l.id+"_menu"},[x(l)])};function h(){m.forEach(l=>{l.expanded=!1}),m.clear()}return{renderDropdownMenu:d,clearAllDropDownMenu:h}}function Be(i,t){const o=n.ref(i.alignment),{renderDropdownMenu:c,clearAllDropDownMenu:d}=Ne(t);function m(h){const l={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":o.value==="right","f-btn-mr":o.value==="left"},a=h.dropdownClass.split(" ");return a&&a.length&&a.reduce((u,y)=>(u[y]=!0,u),l),l}function f(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((u,y)=>(u[y]=!0,u),l)}return l}function T(h,l){h.stopPropagation();const a=l.expanded;document.body.click(),l.expanded=!a}function x(h){return n.createVNode("div",{id:h.id,class:m(h)},[n.createVNode("div",{class:f(h),style:"display: flex;padding-right: 0.1rem;border-top-right-radius: 6px;border-bottom-right-radius: 6px",onClick:l=>h.enable&&T(l,h)},[t.shouldShowIcon(h)&&n.createVNode("i",{class:t.iconClass(h)},null),n.createVNode("span",null,[h.text]),n.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(){d()}return{renderToolbarDropdown:x,clearAllDropDown:g}}const{buildResponseToolbarItems:pe}=re(),G=n.defineComponent({name:"FResponseToolbar",props:Y,emits:["click"],setup(i,t){const o=n.ref(pe(i.items)),c=n.ref(),d=n.ref(),m=n.ref(),f=n.ref(i.alignment),T={id:"__more_buttons__",text:"更多"},x=n.ref(new q(T)),g=de(),h=n.computed(()=>x.value.children.length>0),l=n.computed(()=>{const C={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return z.getCustomClass(C,i.customClass)}),a=n.computed(()=>({"w-100":!0,"d-flex":!0,"flex-nowrap":!0,"justify-content-end":f.value==="right","justify-content-start":f.value==="left"})),{renderToolbarDropdown:u,clearAllDropDown:y}=Be(i,g);function I(){o.value.filter(C=>C.children&&C.children.length>0).forEach(C=>{C.expanded=!1}),x.value.expanded=!1,y()}function k(C){const D={btn:!0,"f-rt-btn":!0,"f-btn-ml":f.value==="right","f-btn-mr":f.value==="left","btn-icontext":!!(C.icon&&C.icon.trim())};if(C.class){const E=C.class.split(" ");E&&E.length&&E.reduce((b,r)=>(b[r]=!0,b),D)}return D}function V(C,D){document.body.click(),typeof D.onClick=="function"&&D.onClick(C,D.id),t.emit("click",C,D.id)}function _(C){return n.createVNode("button",{type:"button",class:k(C),id:C.id,disabled:!C.enable,onClick:D=>V(D,C)},[g.shouldShowIcon(C)&&n.createVNode("i",{class:g.iconClass(C)},null),C.text])}const A=new Map,N=[];function P(C){const D=m.value;let E=C;const b=Array.from(D.children),r=b[b.length-1].id==="__more_buttons__"?b[b.length-1]:null;if(r){const w=r.computedStyleMap().get("margin-left"),S=r.computedStyleMap().get("margin-right"),O=(w?w.value:0)+r.getBoundingClientRect().width+(S?S.value:0);E-=O}const e=b.filter(w=>w.id!=="__more_buttons__");for(const w of e){const S=w.computedStyleMap().get("margin-left"),O=w.computedStyleMap().get("margin-right"),L=(S?S.value:0)+w.getBoundingClientRect().width+(O?O.value:0);E<L?(A.set(w.id,!0),N.push({id:w.id,width:L})):E-=L}if(N.length)for(let w=N.length-1;w>=0;w--){const S=N[w].width;if(E>=S)E-=S,A.delete(N[w].id),N.pop();else break}const s=Object.assign({},x.value);s.children=[];const p=new q(s),v=o.value.reduce((w,S)=>(A.has(S.id)&&p.children.push(S),S.visible=!A.has(S.id),w.push(S),w),[]);x.value=p,o.value=v}const R=new ResizeObserver(C=>{if(C.length){const E=C[0].contentRect.width,r=m.value.getBoundingClientRect().width;(E<r||N.length)&&(P(E),I())}});return n.onMounted(()=>{const C=d.value;R.observe(C),document.body.addEventListener("click",I),document.body.addEventListener("wheel",I)}),n.onUnmounted(()=>{R.disconnect(),document.body.removeEventListener("click",I),document.body.removeEventListener("wheel",I)}),n.watch(()=>i.items,()=>{o.value=pe(i.items)},{deep:!0}),t.expose({elementRef:c}),()=>n.createVNode("div",{class:l.value,ref:c},[n.createVNode("div",{ref:d,class:a.value},[n.createVNode("div",{ref:m,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[o.value.filter(C=>C.visible).map(C=>C.children&&C.children.length>0?u(C):_(C)),h.value&&u(x.value)])])])}});function Ve(i,t){const o=n.inject("design-item-context"),c=n.inject("toolbar-item-handler",()=>{});function d(){c&&c()}function m(r){const e={"dropdown-menu":!0};if(r.class){const s=r.menuClass.split(" ");s&&s.length&&s.reduce((p,v)=>(p[v]=!0,p),e)}return e}function f(r){const e={disabled:!r.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},s=r.dropdownClass.split(" ");return s&&s.length&&s.reduce((p,v)=>(p[v]=!0,p),e),e}function T(r){const e={disabled:!r.enable,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0},s=r.class.split(" ");return s&&s.length&&s.reduce((p,v)=>(p[v]=!0,p),e),e}let x;const g=new Map;function h(r,e,s){var v;((v=r.target)==null?void 0:v.id)===e.id&&r.stopPropagation();const p=s?s.id:"__top_item__";if(e.children&&e.children.length&&(e.expanded=!e.expanded,e.expanded?g.set(p,e):g.delete(p)),g.has(p)&&g.get(p)!==e){const w=g.get(p);w&&(w.expanded=!1)}}function l(r){r&&(r.stopPropagation(),r.preventDefault())}function a(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(e=>e.classList.remove("dgComponentFocused"));const r=document.getElementsByClassName("dgComponentSelected");Array.from(r).forEach(e=>e.classList.remove("dgComponentSelected"))}function u(r){r.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function y(r){const{buttons:e=[]}=o.schema;let s=[];e.forEach(w=>{s=s.concat(w.children||[])});const p=s.findIndex(w=>w.id===r),v=p===-1?null:s[p];return{index:p,item:v}}function I(r){const{buttons:e=[]}=o.schema,s=e.findIndex(v=>v.id===r),p=s===-1?null:e[s];return{index:s,item:p}}function k(r){var p;o.schema;const{index:e,item:s}=y(r);(p=o==null?void 0:o.setupContext)==null||p.emit("selectionChange",s==null?void 0:s.type,s)}const V=function(r){const{componentType:e}=r,s=Q(e,r),p=e.toLowerCase().replace("-","_");return s&&!s.id&&s.type===e&&(s.id=`${p}_${Math.random().toString().slice(2,6)}`),s},_=function(){const r={componentType:"response-toolbar-item",parentComponentInstance:t.value,targetPosition:-1};return V(r)};function A(r,e){l(r),a(),u(r),k(e.id)}function N(r,e,s){l(r);const p=e.id,v=s&&s.id,{buttons:w=[]}=o.schema;if(!v)return;const{index:S}=I(v);if(S===-1)return;const{index:O}=y(p);O!==-1&&(w[S].children.splice(O,1),d())}function P(r,e,s){l(r);const p=s&&s.id,{buttons:v=[]}=o.schema;if(!p)return;const{index:w}=I(p);if(w===-1)return;const S=_(),O=Object.assign({},S,{text:e.text});v[w].children.push(O),d()}function R(r,e,s){l(r);const p=s&&s.id,{buttons:v=[]}=o.schema;if(!p)return;const{index:w}=I(p);if(w===-1)return;const S=_(),O=Object.assign({},S,{text:"按钮"});v[w].children.push(O),d()}function C(r,e){return n.createVNode("div",{class:"component-btn-group"},[n.createVNode("div",null,[n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:s=>N(s,r,e)},[n.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:s=>P(s,r,e)},[n.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增同级",ref:"appendSame",style:"width:85px!important;padding:0 5px;position:static;",onClick:s=>R(s,r,e)},[n.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),n.createVNode("span",{style:"font-size:13px;margin:auto"},[n.createTextVNode("新增同级")])])])])}function D(r){return r.children.map(e=>e.children&&e.children.length?n.createVNode("li",{class:f(e),id:e.id,onClick:s=>e.enable&&h(s,e,r)},[n.createVNode("span",{id:e.id,class:T(e),onMouseover:s=>e.enable&&h(s,e,r)},[e.text,n.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),x(e,e)]):n.createVNode("li",{class:T(e),id:e.id,onClick:s=>A(s,e)},[C(e,r),i.shouldShowIcon(e)&&n.createVNode("i",{class:i.iconClass(e)},null),e.text]))}function E(r,e,s){const p={display:r.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},v=document.getElementsByTagName("body")[0].getClientRects()[0].width,w=e,S=w==null?void 0:w.getClientRects();if(w&&S&&S.length){const{top:O,width:L,left:U,right:j,height:$}=S[0],W=Math.ceil($+O);p.top=`${W}px`,p.left=`${U}px`;const H=r.id+"_menu",ee=e?e.querySelector("#"+H):null;if(ee){p.display==="block"&&(ee.style.display="block");const me=ee.getBoundingClientRect();if(s){p.top=`${O-6}px`;const Je=Math.ceil(L+U);p.left=`${Je}px`}v-U-L<me.width&&(p.left=`${(s?U:j)-me.width}px`)}}return p}x=function(r,e){var w,S;const s=n.getCurrentInstance(),p=e?e.id:r.id,v=(S=(w=s==null?void 0:s.exposed)==null?void 0:w.elementRef.value)==null?void 0:S.querySelector("#"+p);return n.createVNode("ul",{class:m(r),style:E(r,v,e),id:r.id+"_menu"},[D(r)])};function b(){g.forEach(r=>{r.expanded=!1}),g.clear()}return{renderDropdownMenu:x,clearAllDropDownMenu:b}}function je(i,t,o){const c=n.ref(i.alignment),{renderDropdownMenu:d,clearAllDropDownMenu:m}=Ve(t,o),f=n.inject("design-item-context"),T=n.inject("toolbar-item-handler",()=>{});function x(){T&&T()}function g(b){const r={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":c.value==="right","f-btn-mr":c.value==="left"},e=b.dropdownClass.split(" ");return e&&e.length&&e.reduce((s,p)=>(s[p]=!0,s),r),r}function h(b){const r={btn:!0,disabled:!b.enable,"position-relative":!0,"farris-component":!0,"f-rt-btn":!0,"btn-icontext":!!(b.icon&&b.icon.trim())};if(b.class){const e=b.class.split(" ");e&&e.length&&e.reduce((s,p)=>(s[p]=!0,s),r)}return r}function l(b){b&&(b.stopPropagation(),b.preventDefault())}function a(b,r){l(b);const e=r.expanded;document.body.click(),r.expanded=!e}const u=function(b){const{componentType:r}=b,e=Q(r,b),s=r.toLowerCase().replace("-","_");return e&&!e.id&&e.type===r&&(e.id=`${s}_${Math.random().toString().slice(2,6)}`),e},y=function(){const b={componentType:"response-toolbar-item",parentComponentInstance:o.value,targetPosition:-1};return u(b)};function I(b){const r=f.schema.buttons||f.schema.contents,e=r==null?void 0:r.findIndex(p=>p.id===b),s=e===-1?null:r[e];return{index:e,toolbarItem:s}}function k(b,r){var S;const{index:e,toolbarItem:s}=I(r);if(e===-1)return;const p=s.text||"按钮",v=y(),w=Object.assign({},v,{text:p});(S=f.schema.buttons)==null||S.push(w),x()}function V(b,r){const{index:e,toolbarItem:s}=I(r);if(e===-1)return;const p=s.text||"按钮",v=y(),w=Object.assign({},v,{text:p}),S=f.schema.buttons[e].children||[];S.push(w),f.schema.buttons[e].children=S,x()}function _(b,r){const e=f.schema.buttons||f.schema.contents,s=e==null?void 0:e.findIndex(p=>p.id===r);s!==-1&&(e.splice(s,1),x())}function A(b){return n.createVNode("div",{class:"component-btn-group"},[n.createVNode("div",null,[n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:r=>_(r,b)},[n.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:r=>k(r,b)},[n.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增子级",ref:"appendChildButton",style:"width:85px!important;padding:0 5px;position:static;",onClick:r=>V(r,b)},[n.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),n.createVNode("span",{style:"font-size:13px;margin:auto"},[n.createTextVNode("新增子级")])])])])}function N(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(r=>r.classList.remove("dgComponentFocused"));const b=document.getElementsByClassName("dgComponentSelected");Array.from(b).forEach(r=>r.classList.remove("dgComponentSelected"))}function P(b){b.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function R(b){var p;const r=f.schema.buttons||f.schema.contents,e=r==null?void 0:r.findIndex(v=>v.id===b);if(e===-1)return;const s=r[e];(p=f==null?void 0:f.setupContext)==null||p.emit("selectionChange","response-toolbar-item",s)}function C(b,r){l(b),N(),P(b),l(b),a(b,r),R(r.id)}function D(b){return n.createVNode("div",{id:b.id,class:g(b)},[n.createVNode("div",{class:h(b),style:"display: flex;padding-right: 0.1rem;",onClick:r=>b.enable&&C(r,b)},[A(b.id),t.shouldShowIcon(b)&&n.createVNode("i",{class:t.iconClass(b)},null),n.createVNode("span",null,[b.text]),n.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)]),d(b)])}function E(){m()}return{renderToolbarDropdown:D,clearAllDropDown:E}}class K{constructor(t,o){M(this,"componentId");M(this,"viewModelId");M(this,"eventsEditorUtils");M(this,"formSchemaUtils");M(this,"formMetadataConverter");M(this,"designViewModelUtils");M(this,"designViewModelField");M(this,"controlCreatorUtils");M(this,"designerHostService");M(this,"schemaService",null);M(this,"metadataService",null);M(this,"propertyConfig",{type:"object",categories:{}});var c;this.componentId=t,this.designerHostService=o,this.eventsEditorUtils=o.eventsEditorUtils,this.formSchemaUtils=o.formSchemaUtils,this.formMetadataConverter=o.formMetadataConverter,this.viewModelId=((c=this.formSchemaUtils)==null?void 0:c.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=o.designViewModelUtils,this.controlCreatorUtils=o.controlCreatorUtils,this.metadataService=o.metadataService,this.schemaService=o.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var c;const o=t.binding&&t.binding.type==="Form"&&t.binding.field;if(o){if(!this.designViewModelField){const d=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=d.fields.find(m=>m.id===o)}t.updateOn=(c=this.designViewModelField)==null?void 0:c.updateOn}}changeFieldEditorType(t,o){}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:t.type,name:X[t.type].name}]}}}}}getAppearanceConfig(t=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(t,o){const c=o&&o.parent&&o.parent.schema;if(!c)return;const d=c.contents.findIndex(f=>f.id===t),m=F.cloneDeep(c.contents[d]);c.contents.splice(d,1),c.contents.splice(d,0,m)}}class Ae extends K{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getAppearancePropConfig(t),this.getBehaviorProperties(t),this.propertyConfig}getAppearancePropConfig(t){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"}}}}getBasicPropConfig(t){this.propertyConfig.categories.basic={description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"response-toolbar",value:X["response-toolbar"].name}]}}}}}getBehaviorProperties(t){this.propertyConfig.categories.behavior={title:"行为",description:"",properties:{alignment:{title:"对齐方式",description:"The alignment of Response Toolbar Button.",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"right",name:"右对齐"},{value:"left",name:"左对齐"}]}},items:{title:"按钮",description:"The items of Response Toolbar.",type:"array",default:[],$converter:"/converter/buttons.converter",refreshPanelAfterChanged:!0}}}}}function Oe(i,t){const o=i.schema;function c(h){return!1}function d(h,l){return l.text=h.label,l}function m(){return!1}function f(){return!1}function T(){return!0}function x(){return!0}function g(h){return new Ae(h,t).getPropertyConfig(o)}return{canAccepts:c,checkCanAddComponent:T,checkCanDeleteComponent:f,checkCanMoveComponent:m,hideNestedPaddingInDesginerView:x,onResolveNewComponentSchema:d,getPropsConfig:g}}const _e={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}},ue=n.ref(0);function $e(i,t){const o=t.getBoundingClientRect(),c=i.getBoundingClientRect(),d=c.top>=o.top,m=c.top<=o.bottom;return d&&m}function Fe(i){if(!i)return;let t;if(i.className.includes("dgComponentSelected")?t=i:t=i.querySelector(".dgComponentSelected"),!t)return;const o=t.getBoundingClientRect();if(o.width===0&&o.height===0)return;const c=t.querySelector(".component-btn-group");if(c){if(!$e(t,i)){c.style.display="none";return}c.style.display="";const m=c.getBoundingClientRect(),f=c.querySelector("div");if(f){const T=f.getBoundingClientRect();f.style.top=m.top+"px",f.style.left=m.left-T.width+"px"}}}function Le(i,t,o){var N;const c="",d=n.ref();function m(){return!0}function f(){return!1}function T(){return!0}function x(){return!0}function g(){return!0}function h(P){if(!P||!P.value)return null;const R=n.ref(P==null?void 0:P.value.parent),C=h(R);return C||null}function l(P=t){const{componentInstance:R,designerItemElementRef:C}=P;return!R||!R.value?null:R.value.canMove||R.value.canAdd||R.value.canDelete?C:l(P.parent)}function a(P){return!!o}function u(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function y(){}function I(P,R){}function k(P){const{componentType:R}=P,C=n.inject("designer-host-service");let D=Q(R,P,C);const E=R.toLowerCase().replace(/-/g,"_");return D&&!D.id&&D.type===R&&(D.id=`${E}_${Math.random().toString().slice(2,6)}`),D}function V(P){}function _(...P){return[]}function A(){}return d.value={canMove:m(),canSelectParent:f(),canAdd:x(),canDelete:T(),canNested:!g(),contents:[],elementRef:i,parent:(N=t.parent)==null?void 0:N.componentInstance,schema:t.schema,styles:c,canAccepts:a,getBelongedComponentInstance:h,getDraggableDesignItemElement:l,getDraggingDisplayText:u,getPropConfig:_,getDragScopeElement:y,onAcceptMovedChildElement:I,onChildElementMovedOut:V,addNewChildComponentSchema:k,onRemoveComponent:A,triggerBelongedComponentToMoveWhenMoved:n.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:n.ref(!1)},d}const qe=n.defineComponent({name:"FDesignerInnerItem",props:_e,emits:["selectionChange","addComponent","removeComponent"],setup(i,t){const o=n.ref(i.canMove),c=n.ref(i.canAdd),d=n.ref(i.canDelete),m=n.ref(!1),f=n.ref(i.contentKey),T=n.ref(i.childType),x=n.ref(i.childLabel),g=n.ref(i.modelValue),h=n.ref(""),l=n.ref(),a=n.inject("canvas-dragula"),u=n.ref(),y=n.inject("design-item-context"),I={designerItemElementRef:l,componentInstance:u,schema:g.value,parent:y,setupContext:t};n.provide("design-item-context",I);const k=n.computed(()=>({"farris-component":!0,"flex-fill":i.id==="root-component","position-relative":o.value||d.value,"farris-nested":m.value,"can-move":o.value,"d-none":l.value&&l.value.classList.contains("d-none")})),V=n.computed(()=>{const e={};return h.value&&h.value.split(";").reduce((s,p)=>{const[v,w]=p.split(":");return v&&(s[v]=w),s},e),e});function _(e,s){if(y&&y.schema[f.value]){const p=y.schema[f.value].findIndex(v=>v.id===s.id);if(p>-1){const v=y.schema[f.value].length,w=y.schema[f.value][p%v];y.designerItemElementRef.value.querySelector(`#${w.id}-design-item`),y.schema[f.value].splice(p,1),ue.value++,t.emit("removeComponent")}}}function A(e){if(u.value.addNewChildComponentSchema){const s={componentType:T.value,label:x.value,parentComponentInstance:u.value,targetPosition:-1},p=u.value.addNewChildComponentSchema(s);g.value[f.value].push(p),t.emit("addComponent")}}function N(){return c.value&&n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:e=>{A()}},[n.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function P(e){return d.value&&n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:n.withModifiers(s=>_(s,e),["stop"])},[n.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function R(){return o.value&&n.createVNode("div",{role:"button",class:"btn component-settings-button",title:"移动",ref:"moveComponent"},[n.createVNode("i",{"data-dragging-icon":"true",class:"cmp_move f-icon f-icon-yxs_move"},null)])}function C(e){return n.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[n.createVNode("div",null,[N(),R(),P(e)])])}n.watch(()=>i.modelValue,e=>{g.value=e,I.schema=e});function D(e){const s=e.target;Fe(s)}function E(){var e,s;(s=(e=g.value)==null?void 0:e.contents)!=null&&s.length&&l.value&&l.value.addEventListener("scroll",D)}function b(){const e=l.value,s=n.ref(e.children[1]);return Le(s,I).value}n.onMounted(()=>{if(l.value){const e=l.value.querySelector(`[data-dragref='${g.value.id}-container']`);u.value=e&&e.componentInstance?e.componentInstance.value:b(),a&&e&&a.attachComponents(e,g.value),m.value=u.value.canNested!==void 0?u.value.canNested:m.value,c.value=u.value.canAdd!==void 0?u.value.canAdd:c.value,d.value=u.value.canDelete!==void 0?u.value.canDelete:d.value,o.value=u.value.canMove!==void 0?u.value.canMove:o.value,h.value=u.value.styles||"",l.value&&(l.value.componentInstance=u,l.value.designItemContext=I)}E(),ue.value++}),n.onBeforeUnmount(()=>{l.value&&l.value.removeEventListener("scroll",D)});function r(e){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(v=>v.classList.remove("dgComponentFocused")),e&&(e.preventDefault(),e.stopPropagation());let s=I.designerItemElementRef;const p=l.value;if(p){const v=document.getElementsByClassName("dgComponentSelected");v&&v.length===1&&v[0]===l.value||(Array.from(v).forEach(S=>S.classList.remove("dgComponentSelected")),p.classList.add("dgComponentFocused"),t.emit("selectionChange",g.value.type,g.value,i.componentId,u.value),s=u.value.getDraggableDesignItemElement(I),s&&s.value&&s.value.classList.add("dgComponentSelected"))}D({target:s==null?void 0:s.value})}return()=>n.createVNode("div",{id:`${i.id}-design-item`,ref:l,class:k.value,style:V.value,onClick:r},[C(g.value),t.slots.default&&t.slots.default()])}});class Ue extends K{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getAppearanceProperties(t),this.getEventPropConfig(t),this.propertyConfig}getBasicPropConfig(t){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识00",title:"标识",type:"string",readonly:!0},type:{description:"类型",title:"类型",type:"string",readonly:!0,$converter:"/converter/type.converter"},text:{title:"文本",type:"string",description:""},icon:{title:"图标",type:"string",description:""}}}}getAppearanceProperties(t){this.propertyConfig.categories.appearance={title:"外观",properties:{class:{description:"组件的CSS样式",title:"class样式"},style:{description:"组件的内容样式",title:"style样式"}},setPropertyRelates(o,c){}}}getEventPropConfig(t){const o=[{label:"onClick",name:"点击事件"}],c=this,d=c.eventsEditorUtils.formProperties(t,c.viewModelId,o),m={};m[c.viewModelId]={type:"events-editor",editor:{initialData:d}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:m,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(f,T){const x=f.propertyValue;delete t[c.viewModelId],x&&(x.setPropertyRelates=this.setPropertyRelates,c.eventsEditorUtils.saveRelatedParameters(t,c.viewModelId,x.events,x))}}}}class We extends K{constructor(t,o){super(t,o)}getPropertyConfig(t){return this.getBasicPropConfig(),this.getAppearanceProperties(t),this.getbBehaviorConfig(),this.getEventPropConfig(t),this.propertyConfig}getBasicPropConfig(){this.propertyConfig.categories.basic={title:"基本信息",description:"Basic Infomation",properties:{id:{title:"标识",type:"string",description:"The identifier of a component.",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"response-toolbar-item",value:X["response-toolbar-item"].name}]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}getbBehaviorConfig(){this.propertyConfig.categories.behavior={title:"行为",description:"Behavior",properties:{disabled:{title:"禁用",type:"boolean",description:"按钮禁用状态",refreshPanelAfterChanged:!0}}}}getAppearanceProperties(t){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"",$converter:"/converter/appearance.converter"}}}}getEventPropConfig(t){const o=[{label:"onClick",name:"点击事件"}],c=this,d=c.eventsEditorUtils.formProperties(t,c.viewModelId,o),m={};m[c.viewModelId]={type:"events-editor",editor:{initialData:d}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:m,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(f,T){const x=f.propertyValue;delete t[c.viewModelId],x&&(x.setPropertyRelates=this.setPropertyRelates,c.eventsEditorUtils.saveRelatedParameters(t,c.viewModelId,x.events,x))}}}}function ze(i,t){function o(T){return!1}function c(){return!1}function d(){return!0}function m(){return!1}function f(T){let x;switch(i.schema.type){case"tab-toolbar-item":x=new Ue(T,t);break;default:x=new We(T,t)}return x.getPropertyConfig(i.schema)}return{canAccepts:o,checkCanMoveComponent:c,checkCanDeleteComponent:d,checkCanAddComponent:m,getPropsConfig:f}}const fe=n.defineComponent({name:"FResponseToolbarItemDesign",props:le,emits:["Click"],setup(i,t){n.ref(),n.ref();const o=n.ref(i.alignment),c={id:"__more_buttons__",text:"More"},d=n.ref(new q(c));n.computed(()=>d.value.children.length>0);const m=n.ref(),f=n.inject("designer-host-service"),T=n.inject("design-item-context"),x=ze(T,f),g=te.useDesignerInnerComponent(m,T,x);n.inject("toolbar-item-handler",()=>{}),n.onMounted(()=>{m.value.componentInstance=g}),t.expose(g.value);function h(){const u={"f-icon":!0},y=i.icon?i.icon.trim():"";return z.getCustomClass(u,y)}function l(){return!!(i.icon&&i.icon.trim())}function a(){const u={btn:!0,"f-rt-btn":!0,"f-btn-ml":o.value==="right","f-btn-mr":o.value==="left","btn-icontext":!!(i.icon&&i.icon.trim()),disabled:i.disabled===!0};return z.getCustomClass(u,i.class)}return()=>n.createVNode("div",{ref:m,"data-dragref":`${T.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[n.createVNode("button",{type:"button",class:a(),id:i.id},[l()&&n.createVNode("i",{class:h()},null),i.text])])}}),Ge=n.defineComponent({name:"FResponseToolbarDesign",props:Ee,emits:["Click"],setup(i,t){const o=n.ref(i.items);let c=new Array(o.value.length).fill(n.ref());const d=n.ref(),m=n.ref(),f=n.ref(i.alignment),T={id:"__more_buttons__",text:"More"},x=n.ref(new q(T)),g=de();n.computed(()=>x.value.children.length>0);const h=n.ref(),l=n.inject("designer-host-service"),a=n.inject("design-item-context"),u=Oe(a,l),y=te.useDesignerInnerComponent(h,a,u),I=n.inject("toolbar-item-handler",()=>{});n.onMounted(()=>{h.value.componentInstance=y}),t.expose(y.value);function k(){I&&I()}const V=n.computed(()=>{const e={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return z.getCustomClass(e,i.customClass)}),_=n.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":f.value==="right","justify-content-start":f.value==="left"})),{renderToolbarDropdown:A,clearAllDropDown:N}=je(i,g,y);function P(){o.value.filter(e=>e.children&&e.children.length>0).forEach(e=>{e.expanded=!1}),x.value.expanded=!1,N()}const R=new Map,C=[];function D(e){const s=m.value;let p=e;const v=Array.from(s.children),w=v[v.length-1].id==="__more_buttons__"?v[v.length-1]:null;if(w){const j=w.computedStyleMap().get("margin-left"),$=w.computedStyleMap().get("margin-right"),W=(j?j.value:0)+w.getBoundingClientRect().width+($?$.value:0);p-=W}const S=v.filter(j=>j.id!=="__more_buttons__");for(const j of S){const $=j.computedStyleMap().get("margin-left"),W=j.computedStyleMap().get("margin-right"),H=($?$.value:0)+j.getBoundingClientRect().width+(W?W.value:0);p<H?(R.set(j.id,!0),C.push({id:j.id,width:H})):p-=H}if(C.length)for(let j=C.length-1;j>=0;j--){const $=C[j].width;if(p>=$)p-=$,R.delete(C[j].id),C.pop();else break}const O=Object.assign({},x.value);O.children=[];const L=new q(O),U=o.value.reduce((j,$)=>(R.has($.id)&&L.children.push($),$.visible=!R.has($.id),j.push($),j),[]);x.value=L,o.value=U}const E=new ResizeObserver(e=>{if(e.length){const p=e[0].contentRect.width,w=m.value.getBoundingClientRect().width;(p<w||C.length)&&D(p)}});n.onMounted(()=>{const e=d.value;E.observe(e),document.body.addEventListener("click",P)}),n.onUnmounted(()=>{E.disconnect(),document.body.removeEventListener("click",P)}),n.watch(()=>i.items,()=>{o.value=i.items},{deep:!0}),n.watch(o,e=>{c=new Array(o.value.length).fill(n.ref())});function b(e,s,p,v){a&&a.setupContext&&a.setupContext.emit("selectionChange",e,s,p,v)}function r(){const e=m.value.querySelector(".dgComponentFocused.dgComponentSelected");e==null||e.classList.remove("dgComponentSelected"),e==null||e.classList.remove("dgComponentFocused"),k()}return()=>n.createVNode("div",{ref:h,"data-dragref":`${a.schema.id}-container`,class:V.value},[n.createVNode("div",{ref:d,class:_.value},[n.createVNode("div",{ref:m,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[o.value.map((e,s)=>n.createVNode(qe,{ref:c[s],class:"p-0 display-inline-block",modelValue:e,"onUpdate:modelValue":p=>e=p,canMove:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:i.componentId,id:e.id,style:"padding:0 !important;display:inline-block",onSelectionChange:b,onRemoveComponent:r},{default:()=>{var p;return[n.createVNode(fe,{id:e.id,disabled:e.disabled,text:e.text,icon:e.icon,class:((p=e.appearance)==null?void 0:p.class)||"btn-secondary",alignment:i.alignment||"right",componentId:i.componentId},null)]}}))])])])}}),He=Z;G.register=(i,t,o)=>{i["response-toolbar"]=G,t["response-toolbar"]=Z},G.registerDesigner=(i,t,o)=>{i["response-toolbar"]=Ge,t["response-toolbar"]=Z,i["response-toolbar-item"]=fe,t["response-toolbar-item"]=ke};const Qe=z.withInstall(G);B.FResponseToolbar=G,B.ResponseToolbarDropDownItem=q,B.ResponseToolbarGroup=he,B.ResponseToolbarItem=oe,B.default=Qe,B.responseToolbarResolver=He,Object.defineProperties(B,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});