@farris/ui-vue 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/components/accordion/index.esm.js +1 -1
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +472 -366
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/button-edit/index.esm.js +1 -1
  6. package/components/button-edit/index.umd.cjs +1 -1
  7. package/components/calendar/index.esm.js +472 -480
  8. package/components/calendar/index.umd.cjs +1 -1
  9. package/components/capsule/index.esm.js +225 -233
  10. package/components/capsule/index.umd.cjs +1 -1
  11. package/components/checkbox/index.esm.js +615 -517
  12. package/components/checkbox/index.umd.cjs +1 -1
  13. package/components/color-picker/index.esm.js +325 -333
  14. package/components/color-picker/index.umd.cjs +2 -2
  15. package/components/combo-list/index.esm.js +578 -472
  16. package/components/combo-list/index.umd.cjs +1 -1
  17. package/components/combo-tree/index.esm.js +49 -49
  18. package/components/combo-tree/index.umd.cjs +1 -1
  19. package/components/common/index.esm.js +832 -722
  20. package/components/common/index.umd.cjs +1 -1
  21. package/components/component/index.esm.js +303 -981
  22. package/components/component/index.umd.cjs +1 -1
  23. package/components/condition/index.esm.js +8 -8
  24. package/components/condition/index.umd.cjs +1 -1
  25. package/components/content-container/index.esm.js +335 -1002
  26. package/components/content-container/index.umd.cjs +1 -1
  27. package/components/data-grid/index.esm.js +4429 -4312
  28. package/components/data-grid/index.umd.cjs +1 -1
  29. package/components/data-view/index.esm.js +3037 -3020
  30. package/components/data-view/index.umd.cjs +1 -1
  31. package/components/date-picker/index.esm.js +2216 -2119
  32. package/components/date-picker/index.umd.cjs +1 -1
  33. package/components/designer-canvas/index.css +1 -1
  34. package/components/designer-canvas/index.esm.js +914 -883
  35. package/components/designer-canvas/index.umd.cjs +1 -1
  36. package/components/dropdown/index.esm.js +223 -231
  37. package/components/dropdown/index.umd.cjs +2 -2
  38. package/components/dynamic-form/index.esm.js +1691 -2187
  39. package/components/dynamic-form/index.umd.cjs +1 -1
  40. package/components/dynamic-resolver/index.esm.js +143 -136
  41. package/components/dynamic-resolver/index.umd.cjs +1 -1
  42. package/components/events-editor/index.esm.js +250 -258
  43. package/components/events-editor/index.umd.cjs +1 -1
  44. package/components/expression-editor/index.esm.js +1 -1
  45. package/components/expression-editor/index.umd.cjs +1 -1
  46. package/components/external-container/index.esm.js +2672 -3438
  47. package/components/external-container/index.umd.cjs +1 -1
  48. package/components/field-selector/index.esm.js +2965 -2970
  49. package/components/field-selector/index.umd.cjs +1 -1
  50. package/components/filter-bar/index.esm.js +1650 -1602
  51. package/components/filter-bar/index.umd.cjs +1 -1
  52. package/components/flow-canvas/index.css +1 -1
  53. package/components/flow-canvas/index.esm.js +684 -675
  54. package/components/flow-canvas/index.umd.cjs +1 -1
  55. package/components/image-cropper/index.esm.js +453 -461
  56. package/components/image-cropper/index.umd.cjs +1 -1
  57. package/components/input-group/index.esm.js +604 -507
  58. package/components/input-group/index.umd.cjs +1 -1
  59. package/components/layout/index.esm.js +402 -378
  60. package/components/layout/index.umd.cjs +1 -1
  61. package/components/list-nav/index.esm.js +348 -1019
  62. package/components/list-nav/index.umd.cjs +1 -1
  63. package/components/list-view/index.esm.js +1658 -1666
  64. package/components/list-view/index.umd.cjs +1 -1
  65. package/components/lookup/index.esm.js +5209 -5088
  66. package/components/lookup/index.umd.cjs +1 -1
  67. package/components/mapping-editor/index.esm.js +4329 -4213
  68. package/components/mapping-editor/index.umd.cjs +1 -1
  69. package/components/nav/index.esm.js +905 -1357
  70. package/components/nav/index.umd.cjs +3 -3
  71. package/components/number-range/index.esm.js +517 -420
  72. package/components/number-range/index.umd.cjs +1 -1
  73. package/components/number-spinner/index.esm.js +588 -491
  74. package/components/number-spinner/index.umd.cjs +1 -1
  75. package/components/order/index.esm.js +1376 -1965
  76. package/components/order/index.umd.cjs +1 -1
  77. package/components/page-footer/index.esm.js +1 -1
  78. package/components/page-footer/index.umd.cjs +1 -1
  79. package/components/page-header/index.esm.js +1073 -1905
  80. package/components/page-header/index.umd.cjs +1 -1
  81. package/components/pagination/index.esm.js +809 -1237
  82. package/components/pagination/index.umd.cjs +1 -1
  83. package/components/progress/index.esm.js +198 -206
  84. package/components/progress/index.umd.cjs +3 -3
  85. package/components/property-editor/index.esm.js +1297 -1200
  86. package/components/property-editor/index.umd.cjs +2 -2
  87. package/components/property-panel/index.esm.js +609 -507
  88. package/components/property-panel/index.umd.cjs +1 -1
  89. package/components/query-solution/index.esm.js +3391 -3758
  90. package/components/query-solution/index.umd.cjs +1 -1
  91. package/components/radio-button/index.esm.js +1 -1
  92. package/components/radio-button/index.umd.cjs +1 -1
  93. package/components/radio-group/index.esm.js +544 -447
  94. package/components/radio-group/index.umd.cjs +1 -1
  95. package/components/rate/index.esm.js +247 -255
  96. package/components/rate/index.umd.cjs +1 -1
  97. package/components/response-layout/index.esm.js +146 -154
  98. package/components/response-layout/index.umd.cjs +1 -1
  99. package/components/response-layout-editor/index.esm.js +700 -675
  100. package/components/response-layout-editor/index.umd.cjs +1 -1
  101. package/components/response-toolbar/index.esm.js +956 -1786
  102. package/components/response-toolbar/index.umd.cjs +1 -1
  103. package/components/schema-selector/index.esm.js +4963 -5617
  104. package/components/schema-selector/index.umd.cjs +2 -2
  105. package/components/search-box/index.esm.js +158 -161
  106. package/components/search-box/index.umd.cjs +1 -1
  107. package/components/section/index.esm.js +436 -1124
  108. package/components/section/index.umd.cjs +1 -1
  109. package/components/smoke-detector/index.esm.js +92 -100
  110. package/components/smoke-detector/index.umd.cjs +1 -1
  111. package/components/splitter/index.esm.js +571 -1210
  112. package/components/splitter/index.umd.cjs +1 -1
  113. package/components/splitter/style.js +2 -0
  114. package/components/step/index.esm.js +239 -247
  115. package/components/step/index.umd.cjs +1 -1
  116. package/components/switch/index.esm.js +445 -348
  117. package/components/switch/index.umd.cjs +1 -1
  118. package/components/tabs/index.esm.js +2278 -3031
  119. package/components/tabs/index.umd.cjs +1 -1
  120. package/components/tags/index.esm.js +311 -319
  121. package/components/tags/index.umd.cjs +1 -1
  122. package/components/text/index.esm.js +215 -223
  123. package/components/text/index.umd.cjs +1 -1
  124. package/components/textarea/index.esm.js +468 -371
  125. package/components/textarea/index.umd.cjs +1 -1
  126. package/components/time-picker/index.esm.js +1271 -1174
  127. package/components/time-picker/index.umd.cjs +1 -1
  128. package/components/transfer/index.esm.js +469 -477
  129. package/components/transfer/index.umd.cjs +1 -1
  130. package/components/tree-grid/index.esm.js +3060 -3065
  131. package/components/tree-grid/index.umd.cjs +1 -1
  132. package/components/tree-view/index.esm.js +2476 -2481
  133. package/components/tree-view/index.umd.cjs +1 -1
  134. package/components/uploader/index.esm.js +374 -382
  135. package/components/uploader/index.umd.cjs +2 -2
  136. package/components/verify-detail/index.esm.js +248 -256
  137. package/components/verify-detail/index.umd.cjs +1 -1
  138. package/components/video/index.esm.js +414 -1093
  139. package/components/video/index.umd.cjs +1 -1
  140. package/components/weather/index.esm.js +498 -506
  141. package/components/weather/index.umd.cjs +5 -5
  142. package/farris.all.esm.js +20216 -21844
  143. package/farris.all.umd.cjs +9 -9
  144. package/index.css +1 -1
  145. package/package.json +1 -1
  146. package/types/common/directive/area-response.d.ts +10 -0
  147. package/types/common/index.d.ts +8 -0
  148. package/types/common/radio-checkbox/radio-checkbox.props.d.ts +1 -0
  149. package/types/common/utils/resolve-field.d.ts +2 -0
  150. package/types/common/utils/use-class.d.ts +7 -0
  151. package/types/component/src/designer/use-designer-rules.d.ts +2 -2
  152. package/types/condition/src/types.d.ts +2 -1
  153. package/types/content-container/src/designer/use-designer-rules.d.ts +3 -3
  154. package/types/data-grid/index.d.ts +8 -5
  155. package/types/data-grid/src/data-grid.component.d.ts +3 -2
  156. package/types/data-grid/src/designer/data-grid.design.component.d.ts +2 -2
  157. package/types/data-grid/src/designer/use-designer-rules.d.ts +2 -2
  158. package/types/data-view/components/row/hierarchy-row.component.d.ts +2 -2
  159. package/types/data-view/composition/data/use-tree-data.d.ts +1 -1
  160. package/types/data-view/composition/types.d.ts +7 -9
  161. package/types/designer-canvas/index.d.ts +2 -1
  162. package/types/designer-canvas/src/composition/rule/use-dragula-common-rule.d.ts +4 -0
  163. package/types/designer-canvas/src/composition/rule/use-template-rule.d.ts +30 -0
  164. package/types/designer-canvas/src/composition/types.d.ts +1 -2
  165. package/types/designer-canvas/src/types.d.ts +2 -1
  166. package/types/dynamic-form/src/designer/response-form.design.component.d.ts +7 -1
  167. package/types/dynamic-form/src/designer/use-designer-rules.d.ts +2 -2
  168. package/types/dynamic-form/src/property-config/form.property-config.d.ts +1 -1
  169. package/types/dynamic-resolver/src/common/toolbar-resolver.d.ts +1 -1
  170. package/types/external-container/src/designer/use-designer-rules.d.ts +3 -3
  171. package/types/layout/src/designer/layout-pane-use-designer-rules.d.ts +3 -3
  172. package/types/list-nav/src/designer/use-designer-rules.d.ts +3 -0
  173. package/types/pagination/src/components/buttons/goto-buttons.component.d.ts +2 -2
  174. package/types/pagination/src/components/buttons/next-buttons.component.d.ts +2 -2
  175. package/types/pagination/src/components/buttons/previous-buttons.component.d.ts +2 -2
  176. package/types/pagination/src/components/pages/page-list.component.d.ts +2 -2
  177. package/types/pagination/src/components/pages/page-number.component.d.ts +2 -2
  178. package/types/property-panel/index.d.ts +2 -1
  179. package/types/property-panel/src/composition/entity/input-base-property.d.ts +1 -1
  180. package/types/query-solution/src/designer/query-solution-config/composition/types.d.ts +34 -27
  181. package/types/query-solution/src/designer/query-solution-config/composition/use-panel.d.ts +2 -16
  182. package/types/query-solution/src/designer/query-solution-config/composition/use-property.d.ts +19 -0
  183. package/types/query-solution/src/designer/query-solution-config/composition/use-querysolution-rules.d.ts +3 -0
  184. package/types/query-solution/src/designer/query-solution-config/composition/use-transfer.d.ts +1 -1
  185. package/types/query-solution/src/property-config/query-solution.property-config.d.ts +60 -0
  186. package/types/query-solution/src/solutions.d.ts +108 -509
  187. package/types/response-layout-editor/index.d.ts +3 -1
  188. package/types/response-toolbar/src/designer/use-designer-rules.d.ts +3 -3
  189. package/types/response-toolbar/src/property-config/response-toolbar-item.property-config.d.ts +1 -0
  190. package/types/section/src/designer/use-designer-rules.d.ts +3 -3
  191. package/types/splitter/src/components/splitter-pane.component.d.ts +1 -1
  192. package/types/splitter/src/designer/splitter-pane-use-designer-rules.d.ts +3 -3
  193. package/types/splitter/src/designer/splitter-use-designer-rules.d.ts +3 -3
  194. package/types/tabs/src/designer/tab-page-use-designer-rules.d.ts +3 -3
  195. package/types/tabs/src/designer/tab-use-designer-rules.d.ts +3 -3
  196. package/types/tree-grid/index.d.ts +3 -3
  197. package/types/tree-grid/src/tree-grid.component.d.ts +1 -1
  198. package/types/designer-canvas/src/composition/rule/use-drag-drop-rules.d.ts +0 -19
  199. package/types/designer-canvas/src/composition/use-dragula-common-rule.d.ts +0 -4
  200. package/types/list-nav/src/composition/use-designer-rules.d.ts +0 -3
  201. package/types/query-solution/src/designer/query-solution-config/composition/mock-data.d.ts +0 -6
@@ -1 +1 @@
1
- (function(N,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("lodash-es"),require("../data-view/index.umd.js"),require("../checkbox/index.umd.js"),require("../list-view/index.umd.js"),require("../button-edit/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../response-layout-editor/index.umd.js/src/composition/converter/use-response-layout-editor-setting"),require("../property-panel/index.umd.js/src/composition/entity/base-property"),require("../designer-canvas/index.umd.js/src/composition/dg-control")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../data-view/index.umd.js","../checkbox/index.umd.js","../list-view/index.umd.js","../button-edit/index.umd.js","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js","../response-layout-editor/index.umd.js/src/composition/converter/use-response-layout-editor-setting","../property-panel/index.umd.js/src/composition/entity/base-property","../designer-canvas/index.umd.js/src/composition/dg-control"],t):(N=typeof globalThis<"u"?globalThis:N||self,t(N.order={},N.Vue,N.LodashES,N.dataView,N.checkbox,N.FListView$1,N.FButtonEdit,N.dynamicResolver,N.designerCanvas,N.useResponseLayoutEditorSetting,N.baseProperty,N.dgControl))})(this,function(N,t,E,x,X,he,be,J,oe,re,Ce,ve){"use strict";var At=Object.defineProperty;var Dt=(N,t,E)=>t in N?At(N,t,{enumerable:!0,configurable:!0,writable:!0,value:E}):N[t]=E;var D=(N,t,E)=>Dt(N,typeof t!="symbol"?t+"":t,E);const ae={},ie={};function Q(e){const{properties:n,title:o,ignore:r}=e,a=r&&Array.isArray(r),i=Object.keys(n).reduce((c,m)=>((!a||!r.find(d=>d==m))&&(c[m]=n[m].type==="object"&&n[m].properties?Q(n[m]):E.cloneDeep(n[m].default)),c),{});return(!a||!r.find(c=>c=="id"))&&(i.id=`${o}-${Date.now()}`),i}function q(e,n={},o){const r=ae[e];if(r){let a=Q(r);const i=ie[e];return a=i?i({getSchemaByType:q},a,n,o):a,a}return null}function we(e,n){const o=Q(n);return Object.keys(e).reduce((r,a)=>(r[a]&&E.isPlainObject(r[a])&&E.isPlainObject(e[a])?Object.assign(r[a],e[a]):r[a]=e[a],r),o),o}function Se(e,n){return Object.keys(e).filter(r=>e[r]!=null).reduce((r,a)=>{if(n.has(a)){const i=n.get(a);if(typeof i=="string")r[i]=e[a];else{const c=i(a,e[a],e);Object.assign(r,c)}}else r[a]=e[a];return r},{})}function ke(e,n,o=new Map){const r=we(e,n);return Se(r,o)}function Ve(e={}){function n(l,h,s,p){if(typeof s=="number")return p[l].length===s;if(typeof s=="object"){const C=Object.keys(s)[0],u=s[C];if(C==="not")return Number(p[l].length)!==Number(u);if(C==="moreThan")return Number(p[l].length)>=Number(u);if(C==="lessThan")return Number(p[l].length)<=Number(u)}return!1}function o(l,h,s,p){return p[l]&&p[l].propertyValue&&String(p[l].propertyValue.value)===String(s)}const r=new Map([["length",n],["getProperty",o]]);Object.keys(e).reduce((l,h)=>(l.set(h,e[h]),l),r);function a(l,h){const s=l;return typeof h=="number"?[{target:s,operator:"length",param:null,value:Number(h)}]:typeof h=="boolean"?[{target:s,operator:"getProperty",param:l,value:!!h}]:typeof h=="object"?Object.keys(h).map(p=>{if(p==="length")return{target:s,operator:"length",param:null,value:h[p]};const C=p,u=h[p];return{target:s,operator:"getProperty",param:C,value:u}}):[]}function i(l){return Object.keys(l).reduce((s,p)=>{const C=a(p,l[p]);return s.push(...C),s},[])}function c(l,h){if(r.has(l.operator)){const s=r.get(l.operator);return s&&s(l.target,l.param,l.value,h)||!1}return!1}function m(l,h){return i(l).reduce((C,u)=>C&&c(u,h),!0)}function d(l,h){const s=Object.keys(l),p=s.includes("allOf"),C=s.includes("anyOf"),u=p||C,g=(u?l[u?p?"allOf":"anyOf":"allOf"]:[l]).map(S=>m(S,h));return p?!g.includes(!1):g.includes(!0)}return{parseValueSchema:d}}const j={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"}},Fe={},Ie={};Ve();function U(e,n,o=new Map,r=(c,m,d)=>m,a={},i=c=>c){return ae[n.title]=n,ie[n.title]=r,Fe[n.title]=a,Ie[n.title]=i,(c={})=>{const m=ke(c,n,o),d=Object.keys(e).reduce((l,h)=>(l[h]=e[h].default,l),{});return Object.assign(d,m)}}function Y(e,n){return{customClass:n.class,customStyle:n.style}}const je=new Map([["appearance",Y]]),Me={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/order.schema.json",title:"order",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a order",type:"string"},type:{description:"The type string of order component",type:"string",default:"order"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"]};function Be(e,n,o){return n}const Te={title:"order",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}}}}},H={dataSource:{type:Array,default:[{id:"1",name:"发票类型"},{id:"2",name:"发票代码"},{id:"3",name:"开票日期"},{id:"4",name:"票价(燃油附加费)"},{id:"5",name:"税收分类编号"}]},items:{type:Array,default:[{id:"1",name:"发票类型",order:"asc"},{id:"2",name:"发票代码",order:"desc"},{id:"3",name:"开票日期",order:"asc"}]}},Z=U(H,Me,je,Be,Te),$e=new Map([["appearance",Y]]);function Oe(e,n,o){return n}const Ne={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/list-view.schema.json",title:"list-view",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for list-view",type:"string"},type:{description:"The type string of list-view",type:"string",default:"list-view"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},Pe={title:"list-view",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},se={columns:{type:Array,default:[{field:"name",title:"",dataType:"string"}]},data:{type:Array,default:[]},draggable:{type:Boolean,default:!1},multiSelect:{Type:Boolean,default:!1},multiSelectMode:{Type:String,default:"OnCheck"},idField:{Type:String,default:"id"},valueField:{Type:String,default:"id"},textField:{Type:String,default:"name"},titleField:{Type:String,default:"name"},view:{Type:String,default:"ContentView"},size:{Type:String,default:"default"},placeholder:{type:String,default:""},header:{Type:String,default:"ContentHeader"},headerClass:{Type:String,default:""},itemClass:{Type:String,default:""},selectionValues:{type:Array,default:[]},group:{type:Object},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},keepOrder:{type:Boolean,default:!1},disableField:{type:String,default:"disabled"},enableHighlightSearch:{type:Boolean,default:!0}};U(se,Ne,$e,Oe,Pe);function Le(e,n){function o(i){const c=[];let m=i.nextNode();for(;m;)c.push(m),m=i.nextNode();return c}function r(i,c){const m=document.createTreeWalker(i,NodeFilter.SHOW_TEXT);return o(m).map(s=>({textNode:s,text:(s.textContent||"").toLocaleLowerCase()})).map(({textNode:s,text:p})=>{const C=[];let u=0;for(;u<p.length;){const y=p.indexOf(c,u);if(y===-1)break;C.push(y),u=y+c.length}return C.map(y=>{const f=new Range;return f.setStart(s,y),f.setEnd(s,y+c.length),f})}).flat()}function a(i){if(!CSS.highlights||(CSS.highlights.clear(),!i||!n))return;const c=r(n.value,i.toLocaleLowerCase()),m=new Highlight(...c);CSS.highlights.set("search-result",m)}return{search:a}}function le(e,n,o,r,a,i,c,m,d,l){const h=t.ref(e.size),s=t.ref(e.textField),p=t.ref(e.titleField),C=t.ref(e.disableField),u=t.computed(()=>{var k,V;return((k=e.selection)==null?void 0:k.multiSelect)&&((V=e.selection)==null?void 0:V.showCheckbox)}),{onMouseenterItem:y,onMouseoverItem:f,onMouseoutItem:g}=i,{getKey:w,listViewItemClass:S,onCheckItem:I,onClickItem:v}=c,b=t.computed(()=>({margin:h.value==="small"?"0.25rem 0":"10px 0"}));function M(k,V,B){return k.checked=m.findIndexInSelectedItems(k)>-1,t.createVNode("li",{class:S(k,V),id:w(k,V),key:w(k,V),onClick:F=>v(F,k,V),onMouseenter:F=>y(F,k,V),onMouseover:F=>f(F,k,V),onMouseout:F=>g(F,k,V)},[u.value&&t.createVNode("div",{class:"f-list-select",onClick:F=>F.stopPropagation()},[t.createVNode(X.FCheckBox,{id:"list-"+w(k,V),customClass:"listview-checkbox",disabled:k[C.value],checked:k.checked,"onUpdate:checked":F=>k.checked=F,onChange:F=>{I(k,V,!F.checked)}},null)]),t.createVNode("div",{class:"f-list-content"},[t.createVNode("div",{style:b.value,title:k.raw[p.value]||k.raw[s.value]},[k.raw[s.value]])])])}return{renderItem:M}}function Ae(e,n,o,r,a,i,c,m,d,l){const h=t.ref(e.multiSelect),s=t.ref(e.disableField),{onMouseenterItem:p,onMouseoverItem:C,onMouseoutItem:u}=i,{getKey:y,listViewItemClass:f,onCheckItem:g,onClickItem:w}=c;function S(v,b,M){return n.slots.content?t.createVNode(t.Fragment,null,[n.slots.content&&n.slots.content({item:v.raw,index:b,selectedItem:M})]):t.createVNode("div",{style:"margin: 10px 0;"},[v.raw.name])}function I(v,b,M){return t.createVNode("li",{class:f(v,b),id:y(v,b),key:y(v,b),onClick:k=>w(k,v,b),onMouseenter:k=>p(k,v,b),onMouseover:k=>C(k,v,b),onMouseout:k=>u(k,v,b)},[h.value&&t.createVNode("div",{class:"f-list-select",onClick:k=>k.stopPropagation()},[t.createVNode(X.FCheckBox,{id:"list-"+y(v,b),customClass:"listview-checkbox",disabled:v[s.value]||!v.checked,checked:v.checked,"onUpdate:checked":k=>v.checked=k,onChange:k=>g(v,b,!k.checked)},null)]),t.createVNode("div",{class:"f-list-content"},[S(v,b,M)])])}return{renderItem:I}}function De(e,n,o,r,a,i,c,m,d,l){const h=t.ref(e.multiSelect),s=t.ref(e.disableField),{onMouseenterItem:p,onMouseoverItem:C,onMouseoutItem:u}=i,{getKey:y,listViewItemClass:f,onCheckItem:g,onClickItem:w}=c,{dragstart:S,dragenter:I,dragover:v,dragend:b}=r,{removeItem:M}=d,k=t.computed(()=>({margin:h.value?"10px 0":"10px 0px 10px 14px"}));function V(T){return t.createVNode("div",{style:k.value},[T.raw.name])}function B(){return n.slots.itemContent?n.slots.itemContent:V}const F=B();function O(T,P,L){return t.createVNode("li",{class:f(T,P),id:y(T,P),key:y(T,P),onClick:$=>w($,T,P),onMouseenter:$=>p($,T,P),onMouseover:$=>C($,T,P),onMouseout:$=>u($,T,P),draggable:"true",onDragstart:$=>S($,T,P),onDragenter:$=>I($,P),onDragend:$=>b($,T),onDragover:$=>v($,P)},[h.value&&t.createVNode("div",{class:"f-list-select",onClick:$=>$.stopPropagation()},[t.createVNode(X.FCheckBox,{id:"list-"+y(T,P),customClass:"listview-checkbox",disabled:T[s.value]||!T.checked,checked:T.checked,"onUpdate:checked":$=>T.checked=$,onChange:$=>g(T,P,!$.checked)},null)]),t.createVNode("div",{class:"f-list-content"},[F(T)]),t.createVNode("div",{class:"f-list-remove",onClick:$=>M(P)},[t.createVNode("div",{class:"f-list-remove-icon"},[t.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),t.createVNode("div",{class:"f-list-handle"},[t.createVNode("div",null,[t.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:O}}function xe(e,n,o,r,a,i,c,m,d,l){var y;const h=t.ref(((y=e.group)==null?void 0:y.groupFields)||[]),{collpaseGroupIconClass:s}=a,{toggleGroupRow:p}=l;function C(f,g){g.collapse=!g.collapse,o.value=p(g.collapse?"collapse":"expand",g,o.value)}function u(f,g,w){return f.layer>-1&&t.createVNode("div",{class:"f-navlookup-recentHeader",onClick:S=>C(S,f)},[t.createVNode("div",{class:"fv-grid-group-row-icon"},[t.createVNode("span",{class:s(f)},null)]),t.createVNode("div",{class:"f-navlookup-recommandLabel"},[f.raw[h.value[f.layer]]])])}return{renderItem:u}}function Ee(){const e=t.ref(-1),n=t.ref(""),o=t.ref(-1),r=t.ref(!1);function a(l,h,s){o.value=s}function i(l,h,s){r.value||(o.value=s)}function c(l,h,s){o.value=-1}function m(){r.value=!0}function d(){r.value=!1}return{activeIndex:e,focusedItemId:n,hoverIndex:o,onMouseenterItem:a,onMouseoverItem:i,onMouseoutItem:c,resumeHover:d,suspendHover:m}}function Re(e,n,o,r){const a=t.ref(e.idField),{dataView:i}=o,c=t.ref(-1),m=t.ref(!1),{activeIndex:d,focusedItemId:l,hoverIndex:h,resumeHover:s,suspendHover:p}=r;function C(g,w,S){g.stopPropagation(),p(),w&&setTimeout(()=>{c.value=S,m.value=!0,w.moving=!0})}function u(g,w){if(g.preventDefault(),c.value!==w){const S=i.value[c.value],I=i.value;I.splice(c.value,1),I.splice(w,0,S),c.value=w}}function y(g,w){g.preventDefault(),g.dataTransfer&&(g.dataTransfer.dropEffect="move")}function f(g,w){w&&(w.moving=!1),i.value.forEach((S,I)=>{S.__fv_index__=I}),m.value=!1,s(),h.value=w.raw.__fv_index__,d.value=w.raw.__fv_index__,l.value=w.raw[a.value],n.emit("change",i.value),n.emit("activeChange",w)}return{dragstart:C,dragenter:u,dragover:y,dragend:f,isDragging:m}}function qe(e,n,o){const{dataView:r}=o;function a(i){if(i>-1&&i<r.value.length){const c=r.value.splice(i,1);n.emit("removeItem",c[0])}}return{removeItem:a}}function Ue(e,n,o,r,a,i){const c=t.ref(e.idField),m=t.ref(e.disableField),d=t.ref(e.draggable),l=t.ref(e.itemClass),h=t.ref(e.selection.multiSelect??!1),s=t.ref(e.selection.multiSelectMode),{isDragging:p}=r,{activeIndex:C,focusedItemId:u,hoverIndex:y}=a,{clearSelection:f,getSelectedItems:g,toggleSelectItem:w}=i,S=t.ref(g());function I(F,O){const T={"f-listview-item":!0,"f-list-view-group-item":!0,"f-list-view-draggable-item":d.value,"f-un-click":!F.checked,"f-un-select":!!F.raw[m.value],"f-listview-active":S.value.findIndex(L=>L[c.value]===F.raw[c.value])>-1,"f-listview-item-active":S.value.findIndex(L=>L[c.value]===F.raw[c.value])>-1,"f-listview-hover":!p.value&&O===y.value,"f-listview-item-hover":!p.value&&O===y.value,moving:!!F.moving};return l.value.split(" ").reduce((L,$)=>(L[$]=!0,L),T),T}function v(F,O){return F.raw[c.value]||""}const b=t.computed(()=>!h.value);function M(F,O,T){F.checked=T,!F.raw[m.value]&&(b.value&&(u.value=F.raw[c.value]),w(F))}const k=t.computed(()=>h.value&&s.value==="OnCheckClearByClick"),V=t.computed(()=>!h.value||h.value&&(s.value==="OnCheckAndClick"||s.value==="OnClick"));function B(F,O,T){if(O.raw[m.value]){F.preventDefault(),F.stopPropagation();return}u.value=O.raw[c.value],C.value=T,k.value&&f(o.value),V.value&&(w(O),S.value=g()),n.emit("clickItem",{data:S.value,index:T}),n.emit("activeChange",S.value)}return{getKey:v,listViewItemClass:I,onCheckItem:M,onClickItem:B}}function He(e,n,o,r,a,i,c){const m=t.ref(e.view),d=t.ref(e.view==="CardView"),l=t.ref({}),h=t.ref("暂无数据"),s=Ee(),p=Re(e,n,r,s),C=qe(e,n,r),u=Ue(e,n,o,p,s,i),y=t.computed(()=>({"f-list-view-group":!0,"d-flex":d.value,"flex-wrap":d.value})),f=t.computed(()=>!!o.value&&o.value.length>0),g=t.computed(()=>o.value.length===0);t.computed(()=>g.value&&!n.slots.empty);function w(){return m.value==="SingleView"?le:m.value==="DraggableView"?De:(m.value==="ContentView"||m.value==="CardView")&&n.slots.content?Ae:le}const S=w(),{renderItem:I}=S(e,n,o,p,a,s,u,i,C,c),{renderItem:v}=xe(e,n,o,p,a,s,u,i,C,c),b=[I,v];function M(){return o.value.filter(B=>B.visible!==!1).map((B,F)=>b[B.type](B,F,l))}function k(){return t.createVNode("div",{class:"f-list-view-emptydata"},[t.createVNode("p",{class:"f-empty-title"},[n.slots.empty?n.slots.empty():h.value])])}function V(){return t.createVNode("ul",{class:y.value,style:"list-style: none;"},[f.value&&M(),g.value&&k()])}return{renderListArea:V}}function Ge(e,n,o){function r(){return n.slots.header&&t.createVNode("div",{class:"f-list-view-header"},[n.slots.header()])}return{renderHeader:r}}function ce(e,n,o){const r=t.ref(e.headerClass),a=t.ref(e.placeholder),i=t.ref(""),c=t.computed(()=>!i.value),m=t.computed(()=>!!i.value);function d(p){i.value=""}t.watch(i,p=>{e.enableHighlightSearch&&o.search(p),n.emit("afterSearch",p)});const l=t.computed(()=>{const p={"form-group":!0,"farris-form-group":!0};return r.value&&r.value.split(" ").reduce((u,y)=>(u[y]=!0,u),p),p});function h(p){}function s(){return t.createVNode("div",{class:"f-list-view-header",onClick:t.withModifiers(()=>h,["prevent","stop"])},[t.createVNode("div",{class:l.value},[t.createVNode("div",{class:"farris-input-wrap"},[t.createVNode("div",{class:"f-cmp-inputgroup"},[t.createVNode("div",{class:"input-group f-state-editable"},[t.withDirectives(t.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":p=>i.value=p,name:"input-group-value",type:"text",placeholder:a.value,autocomplete:"off"},null),[[t.vModelText,i.value]]),t.createVNode("div",{class:"input-group-append"},[m.value&&t.createVNode("span",{class:"input-group-text input-group-clear",onClick:p=>d()},[t.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),c.value&&t.createVNode("span",{class:"input-group-text"},[t.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:s}}const de=t.defineComponent({name:"FListView",props:se,emits:["afterSearch","checkValuesChange","clickItem","selectionChange","removeItem","change","activeChange"],setup(e,n){const o=t.ref(),r=t.ref(!0),a=t.ref(!1),i=t.ref([]),c=0,m=t.ref(e.columns),d=x.useIdentify(e),l=x.useHierarchy(e),h=x.useGroupData(e,d),s=x.usePagination(e),p=x.useDataView(e,new Map,l,d,s),C=x.useSelection(e,p,d,i,n),u=Le(e,o),y=t.computed(()=>p.dataView.value.length),f=x.useEdit(e,n,d),g=x.useVisualDataBound(),w=x.useVisualDataCell(e,{},g),S=x.useVisualDataRow(e,f,l,d,g,w),I=x.useVisualGroupRow(e,d,w,S),v=x.useVisualSummaryRow(e,d,w,S),b=x.useVisualData(e,m,p,y,c,S,I,v),{getVisualData:M}=b;i.value=M(0,y.value+c-1);const k=t.computed(()=>{const A={"f-list-view":!0,"f-list-view-multiple":e.multiSelect};return e.size!=="default"&&(A[`${e.size}-item`]=!0),A}),V=t.computed(()=>!!n.slots.footer||r.value);function B(){return e.header==="SearchBar"?ce:e.header==="ContentHeader"?Ge:ce}const F=B(),{renderHeader:O}=F(e,n,u),{renderListArea:T}=He(e,n,i,p,h,C,b);function P(A){u.search(A)}function L(A){A&&(p.load(A),i.value=M(0,y.value+c-1))}n.expose({search:P,updateDataSource:L});function $(A){e.multiSelect&&(A.preventDefault(),A.stopPropagation())}return()=>t.createVNode("div",{class:k.value,onClick:$},[O(),t.createVNode("div",{ref:o,class:"f-list-view-content",onMouseover:()=>{a.value=!0},onMouseleave:()=>{a.value=!1}},[T()]),V.value&&t.createVNode("div",{class:"f-list-view-footer"},[n.slots.footer&&n.slots.footer()])])}}),We={id:String,type:{type:String,default:"primary"},disabled:{type:Boolean,default:!1},size:{type:String,default:"middle"},icon:{type:String},customClass:{type:Object,default:{}}};function _e(e,n){function o(r){r.stopPropagation(),e.disabled||n.emit("click",r)}return{onClickButton:o}}function ze(e){const n=t.computed(()=>{const r={"f-icon":!0};if(e.icon){const a=e.icon.trim().split(" ");a&&a.length&&a.reduce((i,c)=>(i[c]=!0,i),r)}return r}),o=t.computed(()=>!!(e.icon&&e.icon.trim()));return{iconClass:n,shouldShowIcon:o}}const ue=t.defineComponent({name:"FButton",props:We,emits:["click"],setup(e,n){const{onClickButton:o}=_e(e,n),{iconClass:r,shouldShowIcon:a}=ze(e),i=t.computed(()=>{const c={btn:!0,"btn-lg":e.size==="large","btn-md":e.size!=="large"&&e.size!=="small","btn-sm":e.size==="small","btn-icontext":a.value};return c[`btn-${e.type}`]=!0,e.customClass&&Object.keys(e.customClass).reduce((m,d)=>(m[d]=e.customClass[d],m),c),c});return()=>t.createVNode("button",{class:i.value,disabled:e.disabled,onClick:c=>o(c)},[a.value&&t.createVNode("i",{class:r.value},null),n.slots.default&&n.slots.default()])}}),Xe=new Map([["appearance",Y]]),Je={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},data:{description:"",type:"array"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"],ignore:["id","appearance","binding"]};function Qe(e,n,o){return n}const K={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0}},pe=U(K,Je,Xe,Qe),Ye={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0}},Ze=t.defineComponent({name:"FComboListContainer",props:Ye,emits:["selectionChange"],setup(e,n){const o=t.ref(),r=t.ref(e.dataSource),a=t.ref([]),i=t.ref(e.separator),c=t.ref(e.width),m=t.ref(e.maxHeight),d=t.ref(String(e.selectedValues).split(i.value)),l=t.computed(()=>e.multiSelect),h=t.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:l.value,showSelectAll:!1,showSelection:!0}));t.watch(e.dataSource,()=>{r.value=e.dataSource});const s=t.computed(()=>e.enableSearch?"SearchBar":"ContentHeader"),p=t.computed(()=>{const y={};return c.value!==void 0&&(y.width=`${c.value}px`),m.value!==void 0&&m.value>0&&(y.maxHeight=`${m.value}px`),y});function C(y){a.value=y.map(f=>Object.assign({},f)),d.value=y.map(f=>f[e.idField]),n.emit("selectionChange",a.value)}function u(y){if(e.enableHighlightSearch)return;let f=[];typeof e.searchOption=="function"?f=r.value.filter(g=>e.searchOption(y,g)):f=r.value.filter(g=>g[e.valueField].indexOf(y)>-1||g[e.textField].indexOf(y)>-1),o.value.updateDataSource(f)}return t.watch([()=>e.selectedValues],([y])=>{d.value=y.split(i.value)}),()=>t.createVNode("div",{class:"f-combo-list-container pl-1",style:p.value},[t.createVNode(he,{ref:o,size:"small",itemClass:"f-combo-list-item",header:s.value,headerClass:"f-combo-list-search-box",data:r.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:h.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:d.value,onSelectionChange:C,onAfterSearch:u},null)])}});function Ke(e){const n=t.ref(""),o=t.ref(e.modelValue),r=t.ref(e.data||[]),a=t.ref(e.editable);function i(s){const p=String(s).split(e.separator),C=p.map(f=>[f,!0]),u=new Map(C);return r.value.filter(f=>u.has(String(f[e.valueField]))).sort((f,g)=>{const w=p.indexOf(f[e.valueField]),S=p.indexOf(g[e.valueField]);return w-S})}function c(s){const p=i(s).map(C=>C[e.textField]).join(e.separator);n.value=a.value?p||s:p}function m(s){const p=s.split(e.separator).map(u=>[u,!0]),C=new Map(p);return r.value.filter(u=>C.has(u[e.textField]))}function d(s){const p={};return p[e.idField]=s,p[e.textField]=s,[p]}function l(s){let p=m(s);const C=p&&p.length>0;return a.value&&!C&&(p=d(s)),p}function h(){const{url:s,method:p="GET",headers:C={},body:u=null}=e.remote,y=p.toLowerCase()=="get"?{method:p,headers:C}:{method:p,headers:C,body:u};let f=!1;fetch(s,y).then(g=>{var S,I;if(g.status===200)return f=!!((I=(S=g.headers)==null?void 0:S.get("content-type"))!=null&&I.includes("application/json")),f?g.text():g.json();throw new Error(g.statusText)}).then(g=>{r.value=f?JSON.parse(g):g}).catch(g=>{console.error(g)})}return e.remote&&h(),t.watch(()=>e.data,()=>{r.value=e.data}),t.watch([r],([s])=>{if(e.modelValue!=null){const p=s.find(C=>C[e.valueField]===e.modelValue);p&&(n.value=p[e.textField])}}),t.watch(()=>e.modelValue,s=>{o.value=s,c(s)}),c(e.modelValue),{dataSource:r,displayText:n,editable:a,modelValue:o,getItemsByDisplayText:m,getItemsByValue:i,getSelectedItemsByDisplayText:l}}const G=t.defineComponent({name:"FComboList",props:K,emits:["clear","update:modelValue","change","input"],setup(e,n){const o=t.ref(),r=t.ref(e.disabled),a=t.ref(e.enableClear),i=t.ref(e.enableSearch),c=t.ref(e.readonly),{dataSource:m,displayText:d,editable:l,modelValue:h,getSelectedItemsByDisplayText:s}=Ke(e),p=t.computed(()=>e.multiSelect),C=t.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function u(){!p.value&&o.value&&o.value.hidePopup()}function y(v){d.value=v.map(b=>b[e.textField]).join(e.separator),v.length===1?h.value=v[0][e.valueField]:h.value=v.map(b=>b[e.valueField]).join(e.separator),n.emit("update:modelValue",h.value),n.emit("change",v,h.value),u()}function f(){c.value||o.value.togglePopup()}function g(v){h.value="",n.emit("update:modelValue",""),n.emit("clear")}function w(v){const b=s(v);y(b)}function S(){return d.value}function I(v){n.emit("input",v)}return n.expose({getDisplayText:S}),t.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([v,b,M,k,V])=>{r.value=v,l.value=b,a.value=M,i.value=k,c.value=V}),()=>t.createVNode(be,{ref:o,id:e.id,disable:r.value,readonly:c.value,forcePlaceholder:e.forcePlaceholder,editable:l.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:a.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:d.value,"onUpdate:modelValue":v=>d.value=v,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:g,onClick:f,onChange:w,onInput:I,beforeOpen:e.beforeOpen},{default:()=>[t.createVNode(Ze,{idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:m.value,selectedValues:h.value,multiSelect:e.multiSelect,enableSearch:i.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?C.value:void 0,onSelectionChange:y},null)]})}}),et=new Map([["appearance",J.resolveAppearance]]);function tt(e,n,o){return n}const nt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-edit.schema.json",title:"button-edit",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"button-edit"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},autoComplete:{description:"",type:"boolean",default:!1},buttonContent:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["text","tag"],default:"text"},multiSelect:{description:"",type:"boolean",default:!1},popup:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},ot={title:"buttonEdit",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}}}}},fe={id:String,buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:Number,tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"}};U(fe,nt,et,tt,ot);const rt={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},at=t.defineComponent({name:"FOverlay",props:rt,emits:["click"],setup(e,n){const o=t.ref(e.popupContentPosition),r=t.ref(e.host),a=t.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function i(m){n.emit("click"),m.preventDefault(),m.stopPropagation()}t.computed(()=>{const m=r.value;if(m){const d=m.getBoundingClientRect(),{left:l,top:h,height:s}=d;return{left:l,top:h+s}}return o.value});const c=t.computed(()=>({}));return()=>t.createVNode(t.Teleport,{to:"body"},{default:()=>{var m,d;return[t.createVNode("div",{class:"overlay-container",onClick:l=>i(l),style:a.value},[t.createVNode("div",{style:c.value},[(d=(m=n.slots).default)==null?void 0:d.call(m)])])]}})}});function it(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function st(e){const n=document.createElement("div");n.style.display="contents";let o;const r=e.onClickCallback||(()=>{}),a=()=>{r(),o&&o.unmount()};return o=t.createApp({setup(){t.onUnmounted(()=>{document.body.removeChild(n)});const i=it(e);return()=>t.createVNode(at,{"popup-content-position":e.popupPosition,host:e.host,onClick:a,backgroundColor:e.backgroundColor},{default:()=>[i&&i()]})}}),document.body.appendChild(n),o.mount(n),o}class lt{static show(n){return st(n)}}const ct=Symbol("FModalService");function me(e,n){function o(){const r=e.beforeOpen||e.beforeClickButton||null;let a=Promise.resolve(!0);if(r){const i=r(n.value);if(typeof i>"u")return a;typeof i=="boolean"?a=Promise.resolve(i):a=i}return a}return{judgeCanOpen:o}}function dt(e,n,o,r,a){const i=t.ref(e.buttonBehavior),c=t.ref(e.popupOnInput),m=t.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:d}=me(e,a),l=t.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),h=t.inject(ct,null),s=t.ref();async function p(y){if(await d()&&l.value){const f=!!n.slots.default;if(i.value==="Modal"){const g=e.modalOptions,w=h==null?void 0:h.open({...g,render:()=>n.slots.default&&n.slots.default()});s.value=w==null?void 0:w.modalRef}i.value==="Overlay"&&lt.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>n.slots.default&&n.slots.default()}),f&&i.value==="Popup"&&r.togglePopup(!0),f&&c.value&&r.hidePopup(),n.emit("clickButton",{origin:y,value:e.modelValue})}}function C(y){n.emit("mouseEnterIcon",y)}function u(y){n.emit("mouseLeaveIcon",y)}return{buttonGroupClass:m,onClickButton:p,onMouseEnterButton:C,onMouseLeaveButton:u,modalRef:s}}function ut(e,n,o,r){const a=t.ref(),i=t.ref(!1),{judgeCanOpen:c}=me(e,r);function m(){const s=a.value;s&&s.show(o.value)}async function d(s=!1){if(!!n.slots.default){if(!s&&!i.value&&!await c())return;i.value=!i.value,await t.nextTick(),m()}}async function l(s=!1){if(!!n.slots.default){if(!s&&!await c())return;i.value=!0,await t.nextTick(),m()}}function h(){i.value=!1}return{hidePopup:h,popup:l,shouldPopupContent:i,togglePopup:d,popoverRef:a}}function pt(e,n,o){const{buttonGroupClass:r}=o,a=t.ref();return{renderButtonGroup:()=>t.createVNode("div",{id:`${e.id}-button-group`,class:r.value},[n.slots.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button"},[n.slots.buttonContent()]):e.buttonContent?t.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:a},null):null]),buttonHandleElement:a}}const ft=t.defineComponent({name:"FButtonEdit",props:fe,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,n){const o=t.ref(),r=t.inject("design-item-context"),a=oe.useDesignerComponent(o,r),i=t.ref(e.customClass),c=t.ref(e.modelValue),m=ut(e,n,o,c),d=dt(e,n,o,m,c),l=t.ref(),h=t.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":!0,"f-state-editable":!1,"f-state-readonly":!0}));t.onMounted(()=>{o.value.componentInstance=a}),n.expose(a.value);const s=t.computed(()=>{const C={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return i.value&&i.value.split(" ").reduce((u,y)=>(u[y]=!0,u),C),C}),{renderButtonGroup:p}=pt(e,n,d);return()=>t.createVNode("div",t.mergeProps(n.attrs,{ref:o,class:s.value,id:e.id}),[t.createVNode("div",{class:h.value},[t.createVNode("input",{ref:l,class:"form-control",readonly:!0,placeholder:e.placeholder},null),p()])])}});function mt(e,n){e.schema;const o=t.ref(!0),r=t.ref(!0);function a(s){return!1}function i(){return!1}function c(){return!1}function m(){return!0}function d(s){}function l(){}function h(s){return null}return{canAccepts:a,checkCanDeleteComponent:i,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:m,onAcceptMovedChildElement:d,resolveComponentContext:l,triggerBelongedComponentToMoveWhenMoved:o,triggerBelongedComponentToDeleteWhenDeleted:r,getPropsConfig:h}}class yt{constructor(n,o){D(this,"componentId");D(this,"viewModelId");D(this,"eventsEditorUtils");D(this,"formSchemaUtils");D(this,"formMetadataConverter");D(this,"designViewModelUtils");D(this,"designViewModelField");D(this,"controlCreatorUtils");D(this,"designerHostService");D(this,"schemaService",null);D(this,"metadataService",null);D(this,"propertyConfig",{type:"object",categories:{}});var r;this.componentId=n,this.designerHostService=o,this.eventsEditorUtils=o.eventsEditorUtils,this.formSchemaUtils=o.formSchemaUtils,this.formMetadataConverter=o.formMetadataConverter,this.viewModelId=((r=this.formSchemaUtils)==null?void 0:r.getViewModelIdByComponentId(n))||"",this.designViewModelUtils=o.designViewModelUtils,this.controlCreatorUtils=o.controlCreatorUtils,this.metadataService=o.metadataService,this.schemaService=o.schemaService}getTableInfo(){var n;return(n=this.schemaService)==null?void 0:n.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(n){const o=n.binding&&n.binding.type==="Form"&&n.binding.field;if(o){if(!this.designViewModelField){const r=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=r.fields.find(a=>a.id===o)}n.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(n,o){}getBasicPropConfig(n){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:n.type,name:j[n.type].name}]}}}}}getAppearanceConfig(n=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(n,o){const r=o&&o.parent&&o.parent.schema;if(!r)return;const a=r.contents.findIndex(c=>c.id===n),i=E.cloneDeep(r.contents[a]);r.contents.splice(a,1),r.contents.splice(a,0,i)}}const R=class R{static getEditorTypesByMDataType(n){const o=R.fieldControlTypeMapping[n];return o||[{key:"",value:""}]}static getAllInputTypes(){const n=[];for(let o in R.fieldControlTypeMapping)R.fieldControlTypeMapping[o].forEach(r=>{n.find(a=>a.key===r.key&&a.value===r.value)||n.push({key:r.key,value:r.value})});return n}};D(R,"fieldControlTypeMapping",{String:[{key:j["input-group"].type,value:j["input-group"].name},{key:j.lookup.type,value:j.lookup.name},{key:j["date-picker"].type,value:j["date-picker"].name},{key:j["check-box"].type,value:j["check-box"].name},{key:j["radio-group"].type,value:j["radio-group"].name},{key:j["combo-list"].type,value:j["combo-list"].name},{key:j.textarea.type,value:j.textarea.name}],Text:[{key:j.textarea.type,value:j.textarea.name},{key:j.lookup.type,value:j.lookup.name}],Decimal:[{key:j["number-spinner"].type,value:j["number-spinner"].name}],Integer:[{key:j["number-spinner"].type,value:j["number-spinner"].name}],Number:[{key:j["number-spinner"].type,value:j["number-spinner"].name}],BigNumber:[{key:j["number-spinner"].type,value:j["number-spinner"].name}],Date:[{key:j["date-picker"].type,value:j["date-picker"].name}],DateTime:[{key:j["date-picker"].type,value:j["date-picker"].name}],Boolean:[{key:j.switch.type,value:j.switch.name},{key:j["check-box"].type,value:j["check-box"].name}],Enum:[{key:j["combo-list"].type,value:j["combo-list"].name},{key:j["radio-group"].type,value:j["radio-group"].name}],Object:[{key:j.lookup.type,value:j.lookup.name},{key:j["combo-list"].type,value:j["combo-list"].name},{key:j["radio-group"].type,value:j["radio-group"].name}]});let W=R;const gt=t.ref(0);class ht extends yt{constructor(o,r){super(o,r);D(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=re.useResponseLayoutEditorSetting(this.formSchemaUtils)}getPropertyConfig(o,r){return this.propertyConfig.categories.basic=this.getBasicProperties(o,r),this.propertyConfig.categories.appearance=this.getAppearanceProperties(o,r),this.propertyConfig.categories.editor=this.getEditorProperties(o),this.propertyConfig}getBasicProperties(o,r){var m;var a=this;this.setDesignViewModelField(o);const i=this.formSchemaUtils.getFormMetadataBasicInfo(),c=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:a.designViewModelField?W.getEditorTypesByMDataType((m=a.designViewModelField.type)==null?void 0:m.name):W.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",$converter:"/converter/field-selector.converter",editor:{type:"field-selector",bindingType:{enable:!1},editorParams:{propertyData:o,formBasicInfo:i},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],textField:"bindingField",data:c}}},setPropertyRelates(d,l){if(d)switch(d&&d.propertyID){case"type":{a.changeControlType(o,d,r);break}case"label":{d.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(o,r){var a=this;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"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:a.responseLayoutEditorFunction.checkCanOpenLayoutEditor(o,a.componentId)}}},setPropertyRelates(i,c){if(i)switch(i&&i.propertyID){case"responseLayout":a.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(i.propertyValue,a.componentId||o.id),a.updateUnifiedLayoutAfterResponseLayoutChanged(a.componentId),a.updateElementByParentContainer(o.id,r),delete o.responseLayout;break;case"class":a.updateUnifiedLayoutAfterControlChanged(i.propertyValue,o.id,this.componentId),a.updateElementByParentContainer(o.id,r);break}}}}getEditorProperties(o){return this.getComponentConfig(o)}changeControlType(o,r,a){var h,s,p,C;const i=r.propertyValue,c=a&&a.parent&&a.parent.schema;if(!c)return;const m=c.contents.findIndex(u=>u.id===o.id),d=c.contents[m];let l;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:i},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),l=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,i)),l||(l=J.getSchemaByType("form-group")||{},l.editor=J.getSchemaByType(i)||{},delete l.editor.id,delete l.editor.binding,delete l.editor.appearance),Object.assign(l,{id:d.id,appearance:d.appearance,size:d.size,label:d.label,binding:d.binding,visible:d.visible}),Object.assign(l.editor,{isTextArea:l.isTextArea&&d.isTextArea,placeholder:(h=d.editor)==null?void 0:h.placeholder,holdPlace:(s=d.editor)==null?void 0:s.holdPlace,readonly:(p=d.editor)==null?void 0:p.readonly,require:(C=d.editor)==null?void 0:C.require}),c.contents.splice(m,1),c.contents.splice(m,0,l),a.schema=Object.assign(d,l),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),gt.value++}getComponentConfig(o,r={},a={}){const i=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},r),c=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},a);return{...i,properties:{...c}}}updateUnifiedLayoutAfterControlChanged(o,r,a){const i=o.split(" ");let c=i.find(s=>/^col-([1-9]|10|11|12)$/.test(s)),m=i.find(s=>/^col-md-([1-9]|10|11|12)$/.test(s)),d=i.find(s=>/^col-xl-([1-9]|10|11|12)$/.test(s)),l=i.find(s=>/^col-el-([1-9]|10|11|12)$/.test(s));c=c||"col-12",m=m||"col-md-"+c.replace("col-",""),d=d||"col-xl-"+m.replace("col-md-",""),l=l||"col-el-"+d.replace("col-xl-","");const h={id:r,columnInSM:parseInt(c.replace("col-",""),10),columnInMD:parseInt(m.replace("col-md-",""),10),columnInLG:parseInt(d.replace("col-xl-",""),10),columnInEL:parseInt(l.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(a,h)}updateUnifiedLayoutAfterResponseLayoutChanged(o,r){const{formNode:a}=this.responseLayoutEditorFunction.checkCanFindFormNode(o);if(!a||!a.unifiedLayout)return;const i=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(a,i,1),r){const u=i.find(y=>y.id===r.id);Object.assign(u||{},r)}const c=i.map(u=>u.columnInSM),m=i.map(u=>u.columnInMD),d=i.map(u=>u.columnInLG),l=i.map(u=>u.columnInEL),h=this.checkIsUniqueColumn(c)?c[0]:null,s=this.checkIsUniqueColumn(m)?m[0]:null,p=this.checkIsUniqueColumn(d)?d[0]:null,C=this.checkIsUniqueColumn(l)?l[0]:null;Object.assign(a.unifiedLayout,{uniqueColClassInSM:h,uniqueColClassInMD:s,uniqueColClassInLG:p,uniqueColClassInEL:C})}checkIsUniqueColumn(o){const r=new Set(o);return Array.from(r).length===1}}class bt extends ht{constructor(n,o){super(n,o)}getEditorProperties(n){return this.getComponentConfig(n,{type:"combo-list"},{editable:{description:"",title:"允许编辑",type:"boolean"},textField:{description:"",title:"数据源显示字段",type:"string"},idField:{description:"",title:"数据源值字段",type:"string"}})}}function Ct(e,n){const{canAccepts:o,checkCanDeleteComponent:r,checkCanMoveComponent:a,hideNestedPaddingInDesginerView:i,onAcceptMovedChildElement:c,resolveComponentContext:m,triggerBelongedComponentToMoveWhenMoved:d,triggerBelongedComponentToDeleteWhenDeleted:l}=mt(e),h=e.schema;function s(p,C){return new bt(p,n).getPropertyConfig(h,C)}return{canAccepts:o,checkCanDeleteComponent:r,checkCanMoveComponent:a,hideNestedPaddingInDesginerView:i,onAcceptMovedChildElement:c,resolveComponentContext:m,triggerBelongedComponentToMoveWhenMoved:d,triggerBelongedComponentToDeleteWhenDeleted:l,getPropsConfig:s}}const vt=t.defineComponent({name:"FComboListDesign",props:K,emits:["clear","update:modelValue","change"],setup(e,n){const o=t.ref(),r=t.inject("designer-host-service"),a=t.inject("design-item-context"),i=Ct(a,r),c=oe.useDesignerComponent(o,a,i);return t.onMounted(()=>{o.value.componentInstance=c}),n.expose(c.value),()=>t.createVNode(ft,{ref:o,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}}),wt=e=>{const n=e;return n.install=function(o){o.component(n.name,e)},e};G.register=(e,n,o,r)=>{e["combo-list"]=G,n["combo-list"]=pe},G.registerDesigner=(e,n,o)=>{e["combo-list"]=vt,n["combo-list"]=pe};const _=wt(G),z=t.defineComponent({name:"FOrder",props:H,emits:["change"],setup(e,n){const o=t.ref(e.items),r=t.ref("排序列"),a=t.ref("排序方式"),i=t.ref("添加排序列"),c=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],m=t.ref(new Map);function d(){const f=o.value.map(g=>[g.id,!0]);m.value=new Map(f)}d();const l=t.computed(()=>e.dataSource.map(f=>(f.disabled=m.value.has(f.id),f))),h=t.computed(()=>({"f-order":!0}));function s(f){o.value=o.value.filter(g=>g.id!==f.id),d(),n.emit("change",o.value)}function p(){o.value=[...o.value,{id:Date.now().toString(),name:"",order:"asc"}],d(),n.emit("change",o.value)}function C(f){if(f&&f.length===1){const g=f[0],w=o.value.find(S=>S.id===g.id);w&&(w.name=g.name)}d(),n.emit("change",o.value)}function u(f){if(f&&f.length){const g=new Map;f.reduce((w,S)=>(w.set(S.id,S),w),g),o.value=f.map(w=>g.get(w.id)),n.emit("change",o.value)}}function y(){return t.createVNode(de,{style:"flex:1",data:o.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:s,onChange:u},{header:()=>t.createVNode("div",{class:"f-order-header"},[t.createVNode("span",{class:"f-order-header-order-field"},[r.value]),t.createVNode("span",{class:"f-order-header-order-type"},[a.value])]),itemContent:f=>t.createVNode("div",{class:"f-order-item-content"},[t.createVNode(_,{class:"f-order-item-content-order-field",data:l.value,valueField:"id",textField:"name",idField:"id",modelValue:f.id,"onUpdate:modelValue":g=>f.id=g,onChange:C,onClear:C},null),t.createVNode(_,{class:"f-order-item-content-order-type",data:c,valueField:"id",textField:"name",idField:"id",modelValue:f.order,"onUpdate:modelValue":g=>f.order=g,onChange:C},null)]),footer:()=>t.createVNode("div",{class:"f-order-footer"},[t.createVNode(ue,{type:"link",class:"f-order-add-button",onClick:p},{default:()=>t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"f-order-add-icon"},[t.createVNode("i",{class:"f-icon f-icon-add"},null)]),i.value])})])})}return()=>t.createVNode("div",{class:h.value},[y()])}});function St(e,n,o){var v;function r(){o!=null&&o.resolveComponentContext&&o.resolveComponentContext()}r();const a=o&&o.getStyles&&o.getStyles()||"",i=o&&o.getDesignerClass&&o.getDesignerClass()||"",c=t.ref();function m(){return(n==null?void 0:n.schema.componentType)==="frame"?!1:o&&o.checkCanMoveComponent?o.checkCanMoveComponent():!0}function d(){return!1}function l(){return(n==null?void 0:n.schema.componentType)==="frame"?!1:o&&o.checkCanDeleteComponent?o.checkCanDeleteComponent():!0}function h(){return(n==null?void 0:n.schema.componentType)==="frame"?!0:o&&o.hideNestedPaddingInDesginerView?o.hideNestedPaddingInDesginerView():!1}function s(b){if(!b||!b.value)return null;if(b.value.schema&&b.value.schema.type==="component")return b.value;const M=t.ref(b==null?void 0:b.value.parent),k=s(M);return k||null}function p(b=n){const{componentInstance:M,designerItemElementRef:k}=b;return!M||!M.value?null:M.value.canMove?k:p(b.parent)}function C(b){return!!o&&o.canAccepts(b)}function u(){return(n==null?void 0:n.schema.label)||(n==null?void 0:n.schema.title)||(n==null?void 0:n.schema.name)}function y(){}function f(b,M){M&&o!=null&&o.onAcceptMovedChildElement&&o.onAcceptMovedChildElement(M)}function g(b,M){const{componentType:k}=b;let V=q(k,b,M);o&&o.onResolveNewComponentSchema&&(V=o.onResolveNewComponentSchema(b,V));const B=k.toLowerCase().replace("-","_");return V&&!V.id&&V.type===k&&(V.id=`${B}_${Math.random().toString().slice(2,6)}`),V}function w(b,M){const k=String(b.getAttribute("data-controltype")),V=b.getAttribute("data-feature"),B=V?JSON.parse(V):{};B.parentComponentInstance=c.value;let F=q(k,B);o&&o.onAcceptNewChildElement&&(F=o.onAcceptNewChildElement(b,M,F));const O=k.toLowerCase().replace("-","_");return F&&!F.id&&F.type===k&&(F.id=`${O}_${Math.random().toString().slice(2,6)}`),F}function S(b){}function I(...b){if(o&&o.getPropsConfig)return o.getPropsConfig(...b)}return c.value={canMove:m(),canSelectParent:d(),canDelete:l(),canNested:!h(),contents:n==null?void 0:n.schema.contents,elementRef:e,parent:(v=n==null?void 0:n.parent)==null?void 0:v.componentInstance,schema:n==null?void 0:n.schema,styles:a,designerClass:i,canAccepts:C,getBelongedComponentInstance:s,getDraggableDesignItemElement:p,getDraggingDisplayText:u,getPropConfig:I,getDragScopeElement:y,onAcceptMovedChildElement:f,onAcceptNewChildElement:w,onChildElementMovedOut:S,addNewChildComponentSchema:g,updateDragAndDropRules:r,triggerBelongedComponentToMoveWhenMoved:!!o&&o.triggerBelongedComponentToMoveWhenMoved||t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!o&&o.triggerBelongedComponentToDeleteWhenDeleted||t.ref(!1)},c}function kt(){function e(n){var a,i;if(!n)return!1;const o=((a=n.targetContainer)==null?void 0:a.componentInstance)&&n.targetContainer.componentInstance.value;if(!o)return!1;const r=(i=o.schema.appearance)==null?void 0:i.class;if(n.controlCategory==="input"||n.controlType==="form-group"){const c=o.schema.type,m=(c==="response-form"||c==="content-container")&&r&&r.includes("farris-form");if(o.schema.type!=="response-layout-item"&&!m)return!1}return n.controlType!=="field-set"}return{basalDragulaRuleForContainer:e}}const Vt={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/dragging-rules.schema.json",title:"Dragging Rules",description:"The rules of designer canvas",type:"object",properties:{"f-page":{description:"The root class of page designed by farris.",type:"object",properties:{contents:{type:"object",properties:{"f-page-header":{description:"The class of page header designed by farris.",type:"string"},"f-page-main":{description:"The class of page body designed by farris.",type:"object",properties:{contents:{type:"object",properties:{"f-struct-like-card":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-struct-form":{description:"The class of form component which has a hierarchical structure of component -> section -> respnse-form.",type:"object",properties:{contents:{type:"object",properties:{"f-section-form":{description:"The class of section which has wrapped a reponse-form component.",type:"object",properties:{contents:{type:"object",properties:{"f-form-layout":{description:"The class of reponse form",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}},"f-struct-wrapper":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-section-tabs":{description:"The class of section which has wrapped sub-grid tabs.",type:"object",properties:{contents:{type:"object",properties:{"f-tabs-in-card":{description:"The class of tabs which contains sub-grid.",type:"object",properties:{contents:{type:"object",properties:{"f-struct-data-grid-in-card":{description:"The class of sub-grid component",type:"object",properties:{contents:{type:"object",properties:{"f-grid-is-sub":{description:"The class of sub-grid",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-section-in-main":{description:"The class of section which has wrapped a reponse-form component.",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"object",const:{allOf:[{sibling:0,parent:{"f-page-main":!0}}]}}}}}},"f-struct-data-grid":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"object",const:!0},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-page-main-content":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-page-content-nav":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-struct-data-grid-in-nav":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-page-content-nav-extend":{description:"",type:"object"},"f-section-in-nav":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!1}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!0},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}}}},"f-page-content-main":{description:"",type:"object",properties:{}}}}}},"f-page-content":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-page-content-nav":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-list-nav":{description:"",type:"object"},"f-list-nav-left":{description:"",type:"object"},"f-struct-data-grid-in-nav":{description:"",type:"object",properties:{contents:{type:"object",properties:{"f-section-form":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-section-grid":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}},"f-page-content-main":{description:"",type:"object",properties:{rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!1},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}}}},rules:{type:"object",properties:{canAccept:{type:"object",const:{anyOf:[{children:0},{children:{length:{not:1},"f-struct-like-card":!0}},{children:{"scroll-spy":!1,"f-page-content":!1,"f-struct-like-card":!1}}]}},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-page-footer":{description:"The class of page footer designed by farris.",type:"string"}}},rules:{type:"object",properties:{canAccept:{type:"boolean",const:!1},fixed:{type:"boolean",const:!0},hidePadding:{type:"boolean",const:!0}}}}},"f-page-is-managelist":{description:"The root class of mangement list page.",type:"string"},"f-page-card":{description:"",type:"object"},"f-page-is-mainsubcard":{description:"",type:"object"}}},ee=new Map;function Ft(){function e(u,y,f,g){var w;if(typeof f=="number")return((w=g[u])==null?void 0:w.length)===f;if(typeof f=="object"){const S=Object.keys(f)[0],I=f[S];if(S==="not")return Number(g[u].length)!==Number(I);if(S==="moreThan")return Number(g[u].length)>=Number(I);if(S==="lessThan")return Number(g[u].length)<=Number(I)}return!1}function n(u,y,f,g){return typeof f=="boolean"?g.childrenClassList.includes(y)===!!f:!1}function o(u,y,f,g){return typeof f=="boolean"?g.parentClassList.includes(y)===!!f:!1}function r(u,y,f,g){return typeof f=="boolean"?g.parentClassList.includes(y)===!!f:!1}const a=new Map([["length",e],["hasChildren",n],["hasSibling",r],["hasParent",o]]);function i(u,y){const f=u;return typeof y=="number"?[{target:f,operator:"length",param:null,value:Number(y)}]:typeof y=="object"?Object.keys(y).map(g=>{if(g==="length")return{target:f,operator:"length",param:null,value:y[g]};const w=g,S=y[g];return{target:f,operator:u==="children"?"hasChildren":u==="parent"?"hasParent":"hasSibling",param:w,value:S}}):[]}function c(u,y){if(a.has(u.operator)){const f=a.get(u.operator);return f&&f(u.target,u.param,u.value,y)||!1}return!1}function m(u,y){return Object.keys(u).reduce((S,I)=>{const v=i(I,u[I]);return S.push(...v),S},[]).reduce((S,I)=>S&&c(I,y),!0)}function d(u,y){const f=Object.keys(u),g=f.includes("allOf"),w=f.includes("anyOf"),S=g||w,b=(S?u[S?g?"allOf":"anyOf":"allOf"]:[u]).map(k=>m(k,y));return g?!b.includes(!1):b.includes(!0)}function l(u,y){const f=u.const;return f?typeof f=="boolean"?f:typeof f=="object"?d(f,y):!1:!1}function h(u){return y=>{const f={canAccept:!0,fixed:!1,hidePadding:!1};return u&&u.properties&&Object.keys(u.properties).reduce((g,w)=>{const S=u.properties[w];return g[w]=l(S,y),g},f),f}}function s(u,y,f){if(y.type==="object"&&y.properties){const{rules:g,contents:w}=y.properties;f.set(u,h(g)),w&&Object.keys(w.properties).forEach(S=>s(S,w.properties[S],f))}}function p(){const{properties:u}=Vt;Object.keys(u).forEach(y=>{s(y,u[y],ee)})}function C(u,y){const f={canAccept:!0,fixed:!1,hidePadding:!0};return ee.has(u)?ee.get(u)(y):f}return p(),{getRuleValue:C}}function It(e,n){function o(d,l=null){if(l)return l;const h=e.getComponentById(n);return e.selectNode(h,s=>s.id===d)}function r(d){const l=e.getComponentById(d);return!(!l||!l.componentType||!l.componentType.startsWith("form"))}function a(d){const l=o(d.id),h=re.useResponseLayoutEditorSetting(e),s=[];h.getResonseFormLayoutConfig(l,s,1);const p=s.map(I=>I.columnInSM),C=s.map(I=>I.columnInMD),u=s.map(I=>I.columnInLG),y=s.map(I=>I.columnInEL),f=i(p)?p[0]:0,g=i(C)?C[0]:0,w=i(u)?u[0]:0,S=i(y)?y[0]:0;return{uniqueColClassInSM:f,uniqueColClassInMD:g,uniqueColClassInLG:w,uniqueColClassInEL:S}}function i(d){const l=new Set(d);return Array.from(l).length===1}function c(d,l,h){d=o(h,d),d.contents.forEach(s=>{if(s.type===ve.DgControl.fieldset.type){c(s,l,s.id);return}s.appearance||(s.appearance={});const p=s.appearance.class;s.appearance.class=m(p,l)})}function m(d,l){let h,s,p,C,u=[];if(d){const I=d.split(" "),v=I.filter(b=>b.startsWith("col-"));h=v.find(b=>/^col-([1-9]|10|11|12)$/.test(b)),s=v.find(b=>/^col-md-([1-9]|10|11|12)$/.test(b)),p=v.find(b=>/^col-xl-([1-9]|10|11|12)$/.test(b)),C=v.find(b=>/^col-el-([1-9]|10|11|12)$/.test(b)),u=I.filter(b=>!b.startsWith("col-"))}const y=l.uniqueColClassInSM?"col-"+l.uniqueColClassInSM:h,f=l.uniqueColClassInMD?"col-md-"+l.uniqueColClassInMD:s,g=l.uniqueColClassInLG?"col-xl-"+l.uniqueColClassInLG:p,w=l.uniqueColClassInEL?"col-el-"+l.uniqueColClassInEL:C;return[y,f,g,w].concat(u).join(" ")}return{checkIsInFormComponent:r,assembleUnifiedLayoutContext:a,changeFormControlsByUnifiedLayoutConfig:c}}class jt extends Ce.BaseControlProperty{constructor(n,o){super(n,o)}getPropertyConfig(n,o){var r=this;this.propertyConfig.categories.basic=this.getBasicPropConfig(n);const{checkIsInFormComponent:a,assembleUnifiedLayoutContext:i,changeFormControlsByUnifiedLayoutConfig:c}=It(this.formSchemaUtils,this.componentId),m=this.getAppearanceConfig(n);return m.properties.unifiedLayout={title:"统一布局配置",description:"统一配置卡片区域内所有控件的宽度,只支持标准模式",visible:a(this.componentId),refreshPanelAfterChanged:!0,editor:{type:"response-form-layout-setting",initialState:i(n)}},m.setPropertyRelates=function(d,l){if(d)switch(d&&d.propertyID){case"unifiedLayout":{c(null,d.propertyValue,n.id),r.updateElementByParentContainer(n.id,o);break}}},this.propertyConfig.categories.appearance=m,this.propertyConfig}}function Mt(e,n){var k;const o=e.schema,r=(k=e.parent)==null?void 0:k.schema,a=Ft(),i=t.ref(!1),c=t.ref(!1);let m=!0,d=!1,l,h=!1;function s(V){return l&&l.componentClassList&&l.componentClassList.includes("f-form-layout")&&l.componentClassList.includes("farris-form")?V.sourceType==="control"&&V.controlCategory==="input"||V.sourceType==="move"&&V.controlType==="form-group":!0}function p(V){return!(!kt().basalDragulaRuleForContainer(V)||!m||!s(V))}function C(){i.value=!1,c.value=!1;const V=o,B=V.appearance&&V.appearance.class||"",F=B.split(" "),O=V.contents||[],T=O.length?O[0]:null,P=T&&T.appearance?T.appearance.class:"",L=P?P.split(" "):[],$=O.length?O.reduce((ye,ne)=>{const ge=ne&&ne.appearance?ne.appearance.class:"",Lt=ge?ge.split(" "):[];return ye.push(...Lt),ye},[]):[],A=r,te=A&&A.appearance&&A.appearance.class||"",$t=te?te.split(" "):[];l={componentClass:B,componentClassList:F,childContents:O,firstChildContent:T,firstChildClass:P,firstChildClassList:L,parent:A,parentClass:te,parentClassList:$t,children:O,childrenClassList:$};const{canAccept:Ot,fixed:Nt,hidePadding:Pt}=a.getRuleValue(F[0],l);return m=Ot,d=Pt,h=Nt,!0}function u(V){t.nextTick()}function y(){return o.componentType?"display:inherit;flex-direction:inherit;margin-bottom:10px":""}function f(V,B){const F=o;if((F.appearance&&F.appearance.class||"").split(" ").includes("f-form-layout")){const{label:P}=V,L=q("form-group");return L.editor=B,L.label=P,g(L),delete L.editor.id,delete L.editor.binding,delete L.editor.appearance,delete L.editor.visible,L}return B}function g(V){const B=e.componentInstance.value.getBelongedComponentInstance(e.componentInstance);if(B&&B.schema&&B.schema.componentType){const F=B.schema.formColumns;let O=w(F);O=n.formSchemaUtils.getControlClassByFormUnifiedLayout(O,"",e.schema),V.appearance||(V.appearance={}),V.appearance.class=O}}function w(V){let B="";switch(V){case 1:{B="col-12 col-md-12 col-xl-12 col-el-12";break}case 2:{B="col-12 col-md-6 col-xl-6 col-el-6";break}case 3:{B="col-12 col-md-6 col-xl-4 col-el-4";break}case 4:{B="col-12 col-md-6 col-xl-3 col-el-2";break}}return B}function S(V,B,F){const O=o;if((O.appearance&&O.appearance.class||"").split(" ").includes("f-form-layout")){const L=String(V.innerText),$=q("form-group");return $.editor=F,$.label=L,$}return F}function I(){return!h}function v(){return!h}function b(){return d}function M(V){return new jt(V,n).getPropertyConfig(o,e.componentInstance.value)}return{canAccepts:p,checkCanDeleteComponent:v,checkCanMoveComponent:I,getStyles:y,getPropsConfig:M,hideNestedPaddingInDesginerView:b,onAcceptNewChildElement:S,onAcceptMovedChildElement:u,resolveComponentContext:C,onResolveNewComponentSchema:f,triggerBelongedComponentToMoveWhenMoved:i,triggerBelongedComponentToDeleteWhenDeleted:c}}const Bt=t.defineComponent({name:"FOrderDesign",props:H,emits:["change"],setup(e,n){var I;const o=t.ref(e.items),r=t.ref("排序列"),a=t.ref("排序方式"),i=t.ref("添加排序列"),c=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],m=t.ref(new Map),d=t.ref(),l=t.inject("design-item-context"),h=Mt(l.schema,(I=l.parent)==null?void 0:I.schema),s=St(d,l,h);t.onMounted(()=>{d.value.componentInstance=s}),n.expose(s.value);function p(){const v=o.value.map(b=>[b.id,!0]);m.value=new Map(v)}p();const C=t.computed(()=>e.dataSource.map(v=>(v.disabled=m.value.has(v.id),v))),u=t.computed(()=>({"f-order":!0}));function y(v){o.value=o.value.filter(b=>b.id!==v.id),p(),n.emit("change",o.value)}function f(){o.value=[...o.value,{id:Date.now().toString(),name:"",order:"asc"}],p(),n.emit("change",o.value)}function g(v){p(),n.emit("change",o.value)}function w(v){if(v&&v.length){const b=new Map;v.reduce((M,k)=>(M.set(k.id,k),M),b),o.value=v.map(M=>b.get(M.id)),n.emit("change",o.value)}}function S(){return t.createVNode(de,{style:"flex:1",data:o.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:y,onChange:w},{header:()=>t.createVNode("div",{class:"f-order-header"},[t.createVNode("span",{class:"f-order-header-order-field"},[r.value]),t.createVNode("span",{class:"f-order-header-order-type"},[a.value])]),itemContent:v=>t.createVNode("div",{class:"f-order-item-content"},[t.createVNode(_,{class:"f-order-item-content-order-field",data:C.value,valueField:"id",textField:"name",idField:"id",modelValue:v.id,"onUpdate:modelValue":b=>v.id=b,onChange:g,onClear:g},null),t.createVNode(_,{class:"f-order-item-content-order-type",data:c,valueField:"id",textField:"name",idField:"id",modelValue:v.order,"onUpdate:modelValue":b=>v.order=b,onChange:g},null)]),footer:()=>t.createVNode("div",{class:"f-order-footer"},[t.createVNode(ue,{type:"link",class:"f-order-add-button",onClick:f},{default:()=>t.createVNode(t.Fragment,null,[t.createVNode("span",{class:"f-order-add-icon"},[t.createVNode("i",{class:"f-icon f-icon-add"},null)]),i.value])})])})}return()=>t.createVNode("div",{ref:d,class:u.value},[S()])}}),Tt={install(e){e.component(z.name,z)},register(e,n,o,r){e.order=z,n.order=Z},registerDesigner(e,n,o){e.order=Bt,n.order=Z}};N.FOrder=z,N.default=Tt,N.orderProps=H,N.propsResolver=Z,Object.defineProperties(N,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(D,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es"),require("../data-view/index.umd.js"),require("../checkbox/index.umd.js"),require("../list-view/index.umd.js"),require("../button-edit/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../data-view/index.umd.js","../checkbox/index.umd.js","../list-view/index.umd.js","../button-edit/index.umd.js","../dynamic-resolver/index.umd.js","../designer-canvas/index.umd.js"],n):(D=typeof globalThis<"u"?globalThis:D||self,n(D.order={},D.Vue,D.LodashES,D.dataView,D.checkbox,D.FListView$1,D.FButtonEdit,D.dynamicResolver,D.designerCanvas))})(this,function(D,n,j,P,X,pe,fe,me,R){"use strict";var It=Object.defineProperty;var Ft=(D,n,j)=>n in D?It(D,n,{enumerable:!0,configurable:!0,writable:!0,value:j}):D[n]=j;var B=(D,n,j)=>Ft(D,typeof n!="symbol"?n+"":n,j);const ee={},te={};function J(e){const{properties:t,title:o,ignore:i}=e,r=i&&Array.isArray(i),l=Object.keys(t).reduce((s,p)=>((!r||!i.find(u=>u==p))&&(s[p]=t[p].type==="object"&&t[p].properties?J(t[p]):j.cloneDeep(t[p].default)),s),{});return o&&(!r||!i.find(s=>s=="id"))&&(l.id=`${o}-${Date.now()}`),l}function Q(e,t={},o){const i=ee[e];if(i){let r=J(i);const l=te[e];return r=l?l({getSchemaByType:Q},r,t,o):r,r}return null}function ye(e,t){const o=J(t);return Object.keys(e).reduce((i,r)=>(i[r]&&j.isPlainObject(i[r])&&j.isPlainObject(e[r])?Object.assign(i[r],e[r]):i[r]=e[r],i),o),o}function he(e,t){return Object.keys(e).filter(i=>e[i]!=null).reduce((i,r)=>{if(t.has(r)){const l=t.get(r);if(typeof l=="string")i[l]=e[r];else{const s=l(r,e[r],e);Object.assign(i,s)}}else i[r]=e[r];return i},{})}function ge(e,t,o=new Map){const i=ye(e,t);return he(i,o)}function Ce(e={}){function t(d,f,a,c){if(typeof a=="number")return c[d].length===a;if(typeof a=="object"){const y=Object.keys(a)[0],h=a[y];if(y==="not")return Number(c[d].length)!==Number(h);if(y==="moreThan")return Number(c[d].length)>=Number(h);if(y==="lessThan")return Number(c[d].length)<=Number(h)}return!1}function o(d,f,a,c){return c[d]&&c[d].propertyValue&&String(c[d].propertyValue.value)===String(a)}const i=new Map([["length",t],["getProperty",o]]);Object.keys(e).reduce((d,f)=>(d.set(f,e[f]),d),i);function r(d,f){const a=d;return typeof f=="number"?[{target:a,operator:"length",param:null,value:Number(f)}]:typeof f=="boolean"?[{target:a,operator:"getProperty",param:d,value:!!f}]:typeof f=="object"?Object.keys(f).map(c=>{if(c==="length")return{target:a,operator:"length",param:null,value:f[c]};const y=c,h=f[c];return{target:a,operator:"getProperty",param:y,value:h}}):[]}function l(d){return Object.keys(d).reduce((a,c)=>{const y=r(c,d[c]);return a.push(...y),a},[])}function s(d,f){if(i.has(d.operator)){const a=i.get(d.operator);return a&&a(d.target,d.param,d.value,f)||!1}return!1}function p(d,f){return l(d).reduce((y,h)=>y&&s(h,f),!0)}function u(d,f){const a=Object.keys(d),c=a.includes("allOf"),y=a.includes("anyOf"),h=c||y,b=(h?d[h?c?"allOf":"anyOf":"allOf"]:[d]).map(S=>p(S,f));return c?!b.includes(!1):b.includes(!0)}return{parseValueSchema:u}}const I={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"}},be={},ve={};Ce();function G(e,t,o=new Map,i=(s,p,u)=>p,r={},l=s=>s){return ee[t.title]=t,te[t.title]=i,be[t.title]=r,ve[t.title]=l,(s={})=>{const p=ge(s,t,o),u=Object.keys(e).reduce((d,f)=>(d[f]=e[f].default,d),{});return Object.assign(u,p)}}function Y(e,t){return{customClass:t.class,customStyle:t.style}}const Se=new Map([["appearance",Y]]),we={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/order.schema.json",title:"order",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a order",type:"string"},type:{description:"The type string of order component",type:"string",default:"order"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"]};function ke(e,t,o){return t}const Ie={title:"order",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}}}}},U={dataSource:{type:Array,default:[{id:"1",name:"发票类型"},{id:"2",name:"发票代码"},{id:"3",name:"开票日期"},{id:"4",name:"票价(燃油附加费)"},{id:"5",name:"税收分类编号"}]},items:{type:Array,default:[{id:"1",name:"发票类型",order:"asc"},{id:"2",name:"发票代码",order:"desc"},{id:"3",name:"开票日期",order:"asc"}]}},Z=G(U,we,Se,ke,Ie),Fe=new Map([["appearance",Y]]);function Ve(e,t,o){return t}const Me={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/list-view.schema.json",title:"list-view",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for list-view",type:"string"},type:{description:"The type string of list-view",type:"string",default:"list-view"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},Be={title:"list-view",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},ne={columns:{type:Array,default:[{field:"name",title:"",dataType:"string"}]},data:{type:Array,default:[]},draggable:{type:Boolean,default:!1},multiSelect:{Type:Boolean,default:!1},multiSelectMode:{Type:String,default:"OnCheck"},idField:{Type:String,default:"id"},valueField:{Type:String,default:"id"},textField:{Type:String,default:"name"},titleField:{Type:String,default:"name"},view:{Type:String,default:"ContentView"},size:{Type:String,default:"default"},placeholder:{type:String,default:""},header:{Type:String,default:"ContentHeader"},headerClass:{Type:String,default:""},itemClass:{Type:String,default:""},selectionValues:{type:Array,default:[]},group:{type:Object},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!0}},keepOrder:{type:Boolean,default:!1},disableField:{type:String,default:"disabled"},enableHighlightSearch:{type:Boolean,default:!0}};G(ne,Me,Fe,Ve,Be);function Le(e,t){function o(l){const s=[];let p=l.nextNode();for(;p;)s.push(p),p=l.nextNode();return s}function i(l,s){const p=document.createTreeWalker(l,NodeFilter.SHOW_TEXT);return o(p).map(a=>({textNode:a,text:(a.textContent||"").toLocaleLowerCase()})).map(({textNode:a,text:c})=>{const y=[];let h=0;for(;h<c.length;){const m=c.indexOf(s,h);if(m===-1)break;y.push(m),h=m+s.length}return y.map(m=>{const C=new Range;return C.setStart(a,m),C.setEnd(a,m+s.length),C})}).flat()}function r(l){if(!CSS.highlights||(CSS.highlights.clear(),!l||!t))return;const s=i(t.value,l.toLocaleLowerCase()),p=new Highlight(...s);CSS.highlights.set("search-result",p)}return{search:r}}function oe(e,t,o,i,r,l,s,p,u,d){const f=n.ref(e.size),a=n.ref(e.textField),c=n.ref(e.titleField),y=n.ref(e.disableField),h=n.computed(()=>{var k,T;return((k=e.selection)==null?void 0:k.multiSelect)&&((T=e.selection)==null?void 0:T.showCheckbox)}),{onMouseenterItem:m,onMouseoverItem:C,onMouseoutItem:b}=l,{getKey:v,listViewItemClass:S,onCheckItem:F,onClickItem:g}=s,w=n.computed(()=>({margin:f.value==="small"?"0.25rem 0":"10px 0"}));function M(k,T,O){return k.checked=p.findIndexInSelectedItems(k)>-1,n.createVNode("li",{class:S(k,T),id:v(k,T),key:v(k,T),onClick:V=>g(V,k,T),onMouseenter:V=>m(V,k,T),onMouseover:V=>C(V,k,T),onMouseout:V=>b(V,k,T)},[h.value&&n.createVNode("div",{class:"f-list-select",onClick:V=>V.stopPropagation()},[n.createVNode(X.FCheckBox,{id:"list-"+v(k,T),customClass:"listview-checkbox",disabled:k[y.value],checked:k.checked,"onUpdate:checked":V=>k.checked=V,onChange:V=>{F(k,T,!V.checked)}},null)]),n.createVNode("div",{class:"f-list-content"},[n.createVNode("div",{style:w.value,title:k.raw[c.value]||k.raw[a.value]},[k.raw[a.value]])])])}return{renderItem:M}}function Te(e,t,o,i,r,l,s,p,u,d){const f=n.ref(e.multiSelect),a=n.ref(e.disableField),{onMouseenterItem:c,onMouseoverItem:y,onMouseoutItem:h}=l,{getKey:m,listViewItemClass:C,onCheckItem:b,onClickItem:v}=s;function S(g,w,M){return t.slots.content?n.createVNode(n.Fragment,null,[t.slots.content&&t.slots.content({item:g.raw,index:w,selectedItem:M})]):n.createVNode("div",{style:"margin: 10px 0;"},[g.raw.name])}function F(g,w,M){return n.createVNode("li",{class:C(g,w),id:m(g,w),key:m(g,w),onClick:k=>v(k,g,w),onMouseenter:k=>c(k,g,w),onMouseover:k=>y(k,g,w),onMouseout:k=>h(k,g,w)},[f.value&&n.createVNode("div",{class:"f-list-select",onClick:k=>k.stopPropagation()},[n.createVNode(X.FCheckBox,{id:"list-"+m(g,w),customClass:"listview-checkbox",disabled:g[a.value]||!g.checked,checked:g.checked,"onUpdate:checked":k=>g.checked=k,onChange:k=>b(g,w,!k.checked)},null)]),n.createVNode("div",{class:"f-list-content"},[S(g,w,M)])])}return{renderItem:F}}function Ne(e,t,o,i,r,l,s,p,u,d){const f=n.ref(e.multiSelect),a=n.ref(e.disableField),{onMouseenterItem:c,onMouseoverItem:y,onMouseoutItem:h}=l,{getKey:m,listViewItemClass:C,onCheckItem:b,onClickItem:v}=s,{dragstart:S,dragenter:F,dragover:g,dragend:w}=i,{removeItem:M}=u,k=n.computed(()=>({margin:f.value?"10px 0":"10px 0px 10px 14px"}));function T(L){return n.createVNode("div",{style:k.value},[L.raw.name])}function O(){return t.slots.itemContent?t.slots.itemContent:T}const V=O();function E(L,$,x){return n.createVNode("li",{class:C(L,$),id:m(L,$),key:m(L,$),onClick:N=>v(N,L,$),onMouseenter:N=>c(N,L,$),onMouseover:N=>y(N,L,$),onMouseout:N=>h(N,L,$),draggable:"true",onDragstart:N=>S(N,L,$),onDragenter:N=>F(N,$),onDragend:N=>w(N,L),onDragover:N=>g(N,$)},[f.value&&n.createVNode("div",{class:"f-list-select",onClick:N=>N.stopPropagation()},[n.createVNode(X.FCheckBox,{id:"list-"+m(L,$),customClass:"listview-checkbox",disabled:L[a.value]||!L.checked,checked:L.checked,"onUpdate:checked":N=>L.checked=N,onChange:N=>b(L,$,!N.checked)},null)]),n.createVNode("div",{class:"f-list-content"},[V(L)]),n.createVNode("div",{class:"f-list-remove",onClick:N=>M($)},[n.createVNode("div",{class:"f-list-remove-icon"},[n.createVNode("i",{class:"f-icon f-icon-remove_face"},null)])]),n.createVNode("div",{class:"f-list-handle"},[n.createVNode("div",null,[n.createVNode("i",{class:"f-icon f-icon-drag-vertical"},null)])])])}return{renderItem:E}}function De(e,t,o,i,r,l,s,p,u,d){var m;const f=n.ref(((m=e.group)==null?void 0:m.groupFields)||[]),{collpaseGroupIconClass:a}=r,{toggleGroupRow:c}=d;function y(C,b){b.collapse=!b.collapse,o.value=c(b.collapse?"collapse":"expand",b,o.value)}function h(C,b,v){return C.layer>-1&&n.createVNode("div",{class:"f-navlookup-recentHeader",onClick:S=>y(S,C)},[n.createVNode("div",{class:"fv-grid-group-row-icon"},[n.createVNode("span",{class:a(C)},null)]),n.createVNode("div",{class:"f-navlookup-recommandLabel"},[C.raw[f.value[C.layer]]])])}return{renderItem:h}}function $e(){const e=n.ref(-1),t=n.ref(""),o=n.ref(-1),i=n.ref(!1);function r(d,f,a){o.value=a}function l(d,f,a){i.value||(o.value=a)}function s(d,f,a){o.value=-1}function p(){i.value=!0}function u(){i.value=!1}return{activeIndex:e,focusedItemId:t,hoverIndex:o,onMouseenterItem:r,onMouseoverItem:l,onMouseoutItem:s,resumeHover:u,suspendHover:p}}function Oe(e,t,o,i){const r=n.ref(e.idField),{dataView:l}=o,s=n.ref(-1),p=n.ref(!1),{activeIndex:u,focusedItemId:d,hoverIndex:f,resumeHover:a,suspendHover:c}=i;function y(b,v,S){b.stopPropagation(),c(),v&&setTimeout(()=>{s.value=S,p.value=!0,v.moving=!0})}function h(b,v){if(b.preventDefault(),s.value!==v){const S=l.value[s.value],F=l.value;F.splice(s.value,1),F.splice(v,0,S),s.value=v}}function m(b,v){b.preventDefault(),b.dataTransfer&&(b.dataTransfer.dropEffect="move")}function C(b,v){v&&(v.moving=!1),l.value.forEach((S,F)=>{S.__fv_index__=F}),p.value=!1,a(),f.value=v.raw.__fv_index__,u.value=v.raw.__fv_index__,d.value=v.raw[r.value],t.emit("change",l.value),t.emit("activeChange",v)}return{dragstart:y,dragenter:h,dragover:m,dragend:C,isDragging:p}}function Pe(e,t,o){const{dataView:i}=o;function r(l){if(l>-1&&l<i.value.length){const s=i.value.splice(l,1);t.emit("removeItem",s[0])}}return{removeItem:r}}function Ee(e,t,o,i,r,l){const s=n.ref(e.idField),p=n.ref(e.disableField),u=n.ref(e.draggable),d=n.ref(e.itemClass),f=n.ref(e.selection.multiSelect??!1),a=n.ref(e.selection.multiSelectMode),{isDragging:c}=i,{activeIndex:y,focusedItemId:h,hoverIndex:m}=r,{clearSelection:C,getSelectedItems:b,toggleSelectItem:v}=l,S=n.ref(b());function F(V,E){const L={"f-listview-item":!0,"f-list-view-group-item":!0,"f-list-view-draggable-item":u.value,"f-un-click":!V.checked,"f-un-select":!!V.raw[p.value],"f-listview-active":S.value.findIndex(x=>x[s.value]===V.raw[s.value])>-1,"f-listview-item-active":S.value.findIndex(x=>x[s.value]===V.raw[s.value])>-1,"f-listview-hover":!c.value&&E===m.value,"f-listview-item-hover":!c.value&&E===m.value,moving:!!V.moving};return d.value.split(" ").reduce((x,N)=>(x[N]=!0,x),L),L}function g(V,E){return V.raw[s.value]||""}const w=n.computed(()=>!f.value);function M(V,E,L){V.checked=L,!V.raw[p.value]&&(w.value&&(h.value=V.raw[s.value]),v(V))}const k=n.computed(()=>f.value&&a.value==="OnCheckClearByClick"),T=n.computed(()=>!f.value||f.value&&(a.value==="OnCheckAndClick"||a.value==="OnClick"));function O(V,E,L){if(E.raw[p.value]){V.preventDefault(),V.stopPropagation();return}h.value=E.raw[s.value],y.value=L,k.value&&C(o.value),T.value&&(v(E),S.value=b()),t.emit("clickItem",{data:S.value,index:L}),t.emit("activeChange",S.value)}return{getKey:g,listViewItemClass:F,onCheckItem:M,onClickItem:O}}function Ae(e,t,o,i,r,l,s){const p=n.ref(e.view),u=n.ref(e.view==="CardView"),d=n.ref({}),f=n.ref("暂无数据"),a=$e(),c=Oe(e,t,i,a),y=Pe(e,t,i),h=Ee(e,t,o,c,a,l),m=n.computed(()=>({"f-list-view-group":!0,"d-flex":u.value,"flex-wrap":u.value})),C=n.computed(()=>!!o.value&&o.value.length>0),b=n.computed(()=>o.value.length===0);n.computed(()=>b.value&&!t.slots.empty);function v(){return p.value==="SingleView"?oe:p.value==="DraggableView"?Ne:(p.value==="ContentView"||p.value==="CardView")&&t.slots.content?Te:oe}const S=v(),{renderItem:F}=S(e,t,o,c,r,a,h,l,y,s),{renderItem:g}=De(e,t,o,c,r,a,h,l,y,s),w=[F,g];function M(){return o.value.filter(O=>O.visible!==!1).map((O,V)=>w[O.type](O,V,d))}function k(){return n.createVNode("div",{class:"f-list-view-emptydata"},[n.createVNode("p",{class:"f-empty-title"},[t.slots.empty?t.slots.empty():f.value])])}function T(){return n.createVNode("ul",{class:m.value,style:"list-style: none;"},[C.value&&M(),b.value&&k()])}return{renderListArea:T}}function je(e,t,o){function i(){return t.slots.header&&n.createVNode("div",{class:"f-list-view-header"},[t.slots.header()])}return{renderHeader:i}}function ae(e,t,o){const i=n.ref(e.headerClass),r=n.ref(e.placeholder),l=n.ref(""),s=n.computed(()=>!l.value),p=n.computed(()=>!!l.value);function u(c){l.value=""}n.watch(l,c=>{e.enableHighlightSearch&&o.search(c),t.emit("afterSearch",c)});const d=n.computed(()=>{const c={"form-group":!0,"farris-form-group":!0};return i.value&&i.value.split(" ").reduce((h,m)=>(h[m]=!0,h),c),c});function f(c){}function a(){return n.createVNode("div",{class:"f-list-view-header",onClick:n.withModifiers(()=>f,["prevent","stop"])},[n.createVNode("div",{class:d.value},[n.createVNode("div",{class:"farris-input-wrap"},[n.createVNode("div",{class:"f-cmp-inputgroup"},[n.createVNode("div",{class:"input-group f-state-editable"},[n.withDirectives(n.createVNode("input",{class:"form-control f-utils-fill text-left","onUpdate:modelValue":c=>l.value=c,name:"input-group-value",type:"text",placeholder:r.value,autocomplete:"off"},null),[[n.vModelText,l.value]]),n.createVNode("div",{class:"input-group-append"},[p.value&&n.createVNode("span",{class:"input-group-text input-group-clear",onClick:c=>u()},[n.createVNode("i",{class:"f-icon f-icon-close-circle"},null)]),s.value&&n.createVNode("span",{class:"input-group-text"},[n.createVNode("span",{class:"f-icon f-icon-search"},null)])])])])])])])}return{renderHeader:a}}const le=n.defineComponent({name:"FListView",props:ne,emits:["afterSearch","checkValuesChange","clickItem","selectionChange","removeItem","change","activeChange"],setup(e,t){const o=n.ref(),i=n.ref(!0),r=n.ref(!1),l=n.ref([]),s=0,p=n.ref(e.columns),u=P.useIdentify(e),d=P.useHierarchy(e),f=P.useGroupData(e,u),a=P.usePagination(e),c=P.useDataView(e,new Map,d,u,a),y=P.useSelection(e,c,u,l,t),h=Le(e,o),m=n.computed(()=>c.dataView.value.length),C=P.useEdit(e,t,u),b=P.useVisualDataBound(),v=P.useVisualDataCell(e,{},b),S=P.useVisualDataRow(e,C,d,u,b,v),F=P.useVisualGroupRow(e,u,v,S),g=P.useVisualSummaryRow(e,u,v,S),w=P.useVisualData(e,p,c,m,s,S,F,g),{getVisualData:M}=w;l.value=M(0,m.value+s-1);const k=n.computed(()=>{const A={"f-list-view":!0,"f-list-view-multiple":e.multiSelect};return e.size!=="default"&&(A[`${e.size}-item`]=!0),A}),T=n.computed(()=>!!t.slots.footer||i.value);function O(){return e.header==="SearchBar"?ae:e.header==="ContentHeader"?je:ae}const V=O(),{renderHeader:E}=V(e,t,h),{renderListArea:L}=Ae(e,t,l,c,f,y,w);function $(A){h.search(A)}function x(A){A&&(c.load(A),l.value=M(0,m.value+s-1))}t.expose({search:$,updateDataSource:x});function N(A){e.multiSelect&&(A.preventDefault(),A.stopPropagation())}return()=>n.createVNode("div",{class:k.value,onClick:N},[E(),n.createVNode("div",{ref:o,class:"f-list-view-content",onMouseover:()=>{r.value=!0},onMouseleave:()=>{r.value=!1}},[L()]),T.value&&n.createVNode("div",{class:"f-list-view-footer"},[t.slots.footer&&t.slots.footer()])])}}),xe={id:String,type:{type:String,default:"primary"},disabled:{type:Boolean,default:!1},size:{type:String,default:"middle"},icon:{type:String},customClass:{type:Object,default:{}}};function qe(e,t){function o(i){i.stopPropagation(),e.disabled||t.emit("click",i)}return{onClickButton:o}}function Re(e){const t=n.computed(()=>{const i={"f-icon":!0};if(e.icon){const r=e.icon.trim().split(" ");r&&r.length&&r.reduce((l,s)=>(l[s]=!0,l),i)}return i}),o=n.computed(()=>!!(e.icon&&e.icon.trim()));return{iconClass:t,shouldShowIcon:o}}const ie=n.defineComponent({name:"FButton",props:xe,emits:["click"],setup(e,t){const{onClickButton:o}=qe(e,t),{iconClass:i,shouldShowIcon:r}=Re(e),l=n.computed(()=>{const s={btn:!0,"btn-lg":e.size==="large","btn-md":e.size!=="large"&&e.size!=="small","btn-sm":e.size==="small","btn-icontext":r.value};return s[`btn-${e.type}`]=!0,e.customClass&&Object.keys(e.customClass).reduce((p,u)=>(p[u]=e.customClass[u],p),s),s});return()=>n.createVNode("button",{class:l.value,disabled:e.disabled,onClick:s=>o(s)},[r.value&&n.createVNode("i",{class:i.value},null),t.slots.default&&t.slots.default()])}}),Ge=new Map([["appearance",Y]]),Ue={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/combo-list.schema.json",title:"combo-list",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"combo-list"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{description:"",type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},valueField:{description:"",type:"string",default:"id"},titleField:{description:"",type:"string",default:"name"},textField:{description:"",type:"string",default:"name"},data:{description:"",type:"array"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"],ignore:["id","appearance","binding"]};function We(e,t,o){return t}const K={id:{type:String},data:{type:Array,default:[]},disabled:{default:!1,type:Boolean},dropDownIcon:{type:String,default:'<span class="f-icon f-icon-arrow-60-down"></span>'},editable:{default:!1,type:Boolean},enableClear:{default:!0,type:Boolean},enableSearch:{type:Boolean,default:!1},enableTitle:{default:!0,type:Boolean},fitEditor:{default:!1,type:Boolean},forcePlaceholder:{default:!1,type:Boolean},hidePanelOnClear:{default:!0,type:Boolean},idField:{default:"id",type:String},mapFields:{type:Object},maxHeight:{default:350,type:Number},maxLength:{type:Number},multiSelect:{type:Boolean,default:!1},modelValue:{},placeholder:{type:String},placement:{type:String,default:"auto"},readonly:{default:!1,type:Boolean},remote:{default:null,type:Object},remoteSearch:{default:!1,type:Boolean},separator:{default:",",type:String},tabIndex:{type:Number,default:-1},textField:{default:"name",type:String},titleField:{default:"name",type:String},valueField:{default:"id",type:String},viewType:{default:"tag",type:String},change:{type:Function,default:()=>{}},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},autoHeight:{type:Boolean,default:!0},beforeOpen:{type:Function,default:null},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0}},re=G(K,Ue,Ge,We),He={dataSource:{type:Array,default:[]},enableSearch:{type:Boolean,default:!1},idField:{type:String,default:"id"},multiSelect:{type:Boolean,default:!1},selectedValues:{type:String,default:""},separator:{type:String,default:","},textField:{type:String,default:"name"},titleField:{type:String,default:"name"},width:{type:Number},maxHeight:{type:Number},valueField:{type:String,default:"id"},onSelectionChange:{type:Function,default:()=>{}},searchOption:{type:Object,default:!1},enableHighlightSearch:{type:Boolean,default:!0}},_e=n.defineComponent({name:"FComboListContainer",props:He,emits:["selectionChange"],setup(e,t){const o=n.ref(),i=n.ref(e.dataSource),r=n.ref([]),l=n.ref(e.separator),s=n.ref(e.width),p=n.ref(e.maxHeight),u=n.ref(String(e.selectedValues).split(l.value)),d=n.computed(()=>e.multiSelect),f=n.computed(()=>({enableSelectRow:!0,multiSelect:e.multiSelect,multiSelectMode:"OnCheckAndClick",showCheckbox:d.value,showSelectAll:!1,showSelection:!0}));n.watch(e.dataSource,()=>{i.value=e.dataSource});const a=n.computed(()=>e.enableSearch?"SearchBar":"ContentHeader"),c=n.computed(()=>{const m={};return s.value!==void 0&&(m.width=`${s.value}px`),p.value!==void 0&&p.value>0&&(m.maxHeight=`${p.value}px`),m});function y(m){r.value=m.map(C=>Object.assign({},C)),u.value=m.map(C=>C[e.idField]),t.emit("selectionChange",r.value)}function h(m){if(e.enableHighlightSearch)return;let C=[];typeof e.searchOption=="function"?C=i.value.filter(b=>e.searchOption(m,b)):C=i.value.filter(b=>b[e.valueField].indexOf(m)>-1||b[e.textField].indexOf(m)>-1),o.value.updateDataSource(C)}return n.watch([()=>e.selectedValues],([m])=>{u.value=m.split(l.value)}),()=>n.createVNode("div",{class:"f-combo-list-container pl-1",style:c.value},[n.createVNode(pe,{ref:o,size:"small",itemClass:"f-combo-list-item",header:a.value,headerClass:"f-combo-list-search-box",data:i.value,idField:e.idField,textField:e.textField,titleField:e.titleField,multiSelect:e.multiSelect,selection:f.value,enableHighlightSearch:e.enableHighlightSearch,selectionValues:u.value,onSelectionChange:y,onAfterSearch:h},null)])}});function ze(e){const t=n.ref(""),o=n.ref(e.modelValue),i=n.ref(e.data||[]),r=n.ref(e.editable);function l(a){const c=String(a).split(e.separator),y=c.map(C=>[C,!0]),h=new Map(y);return i.value.filter(C=>h.has(String(C[e.valueField]))).sort((C,b)=>{const v=c.indexOf(C[e.valueField]),S=c.indexOf(b[e.valueField]);return v-S})}function s(a){const c=l(a).map(y=>y[e.textField]).join(e.separator);t.value=r.value?c||a:c}function p(a){const c=a.split(e.separator).map(h=>[h,!0]),y=new Map(c);return i.value.filter(h=>y.has(h[e.textField]))}function u(a){const c={};return c[e.idField]=a,c[e.textField]=a,[c]}function d(a){let c=p(a);const y=c&&c.length>0;return r.value&&!y&&(c=u(a)),c}function f(){const{url:a,method:c="GET",headers:y={},body:h=null}=e.remote,m=c.toLowerCase()=="get"?{method:c,headers:y}:{method:c,headers:y,body:h};let C=!1;fetch(a,m).then(b=>{var S,F;if(b.status===200)return C=!!((F=(S=b.headers)==null?void 0:S.get("content-type"))!=null&&F.includes("application/json")),C?b.text():b.json();throw new Error(b.statusText)}).then(b=>{i.value=C?JSON.parse(b):b}).catch(b=>{console.error(b)})}return e.remote&&f(),n.watch(()=>e.data,()=>{i.value=e.data}),n.watch([i],([a])=>{if(e.modelValue!=null){const c=a.find(y=>y[e.valueField]===e.modelValue);c&&(t.value=c[e.textField])}}),n.watch(()=>e.modelValue,a=>{o.value=a,s(a)}),s(e.modelValue),{dataSource:i,displayText:t,editable:r,modelValue:o,getItemsByDisplayText:p,getItemsByValue:l,getSelectedItemsByDisplayText:d}}const W=n.defineComponent({name:"FComboList",props:K,emits:["clear","update:modelValue","change","input"],setup(e,t){const o=n.ref(),i=n.ref(e.disabled),r=n.ref(e.enableClear),l=n.ref(e.enableSearch),s=n.ref(e.readonly),{dataSource:p,displayText:u,editable:d,modelValue:f,getSelectedItemsByDisplayText:a}=ze(e),c=n.computed(()=>e.multiSelect),y=n.computed(()=>o.value?o.value.elementRef.getBoundingClientRect().width:0);function h(){!c.value&&o.value&&o.value.hidePopup()}function m(g){u.value=g.map(w=>w[e.textField]).join(e.separator),g.length===1?f.value=g[0][e.valueField]:f.value=g.map(w=>w[e.valueField]).join(e.separator),t.emit("update:modelValue",f.value),t.emit("change",g,f.value),h()}function C(){s.value||o.value.togglePopup()}function b(g){f.value="",t.emit("update:modelValue",""),t.emit("clear")}function v(g){const w=a(g);m(w)}function S(){return u.value}function F(g){t.emit("input",g)}return t.expose({getDisplayText:S}),n.watch([()=>e.disabled,()=>e.editable,()=>e.enableClear,()=>e.enableSearch,()=>e.readonly],([g,w,M,k,T])=>{i.value=g,d.value=w,r.value=M,l.value=k,s.value=T}),()=>n.createVNode(fe,{ref:o,id:e.id,disable:i.value,readonly:s.value,forcePlaceholder:e.forcePlaceholder,editable:d.value,buttonContent:e.dropDownIcon,placeholder:e.placeholder,enableClear:r.value,maxLength:e.maxLength,tabIndex:e.tabIndex,enableTitle:e.enableTitle,multiSelect:e.multiSelect,inputType:e.multiSelect?e.viewType:"text",modelValue:u.value,"onUpdate:modelValue":g=>u.value=g,focusOnCreated:e.focusOnCreated,selectOnCreated:e.selectOnCreated,onClear:b,onClick:C,onChange:v,onInput:F,beforeOpen:e.beforeOpen},{default:()=>[n.createVNode(_e,{idField:e.idField,valueField:e.valueField,textField:e.textField,titleField:e.titleField,dataSource:p.value,selectedValues:f.value,multiSelect:e.multiSelect,enableSearch:l.value,maxHeight:e.maxHeight,enableHighlightSearch:e.enableHighlightSearch,width:e.fitEditor?y.value:void 0,onSelectionChange:m},null)]})}}),Xe=new Map([["appearance",me.resolveAppearance]]);function Je(e,t,o){return t}const Qe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-edit.schema.json",title:"button-edit",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"button-edit"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},autoComplete:{description:"",type:"boolean",default:!1},buttonContent:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["text","tag"],default:"text"},multiSelect:{description:"",type:"boolean",default:!1},popup:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},Ye={title:"buttonEdit",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}}}}},se={id:String,buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:Number,tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"}};G(se,Qe,Xe,Je,Ye);const Ze={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},Ke=n.defineComponent({name:"FOverlay",props:Ze,emits:["click"],setup(e,t){const o=n.ref(e.popupContentPosition),i=n.ref(e.host),r=n.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function l(p){t.emit("click"),p.preventDefault(),p.stopPropagation()}n.computed(()=>{const p=i.value;if(p){const u=p.getBoundingClientRect(),{left:d,top:f,height:a}=u;return{left:d,top:f+a}}return o.value});const s=n.computed(()=>({}));return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>{var p,u;return[n.createVNode("div",{class:"overlay-container",onClick:d=>l(d),style:r.value},[n.createVNode("div",{style:s.value},[(u=(p=t.slots).default)==null?void 0:u.call(p)])])]}})}});function et(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function tt(e){const t=document.createElement("div");t.style.display="contents";let o;const i=e.onClickCallback||(()=>{}),r=()=>{i(),o&&o.unmount()};return o=n.createApp({setup(){n.onUnmounted(()=>{document.body.removeChild(t)});const l=et(e);return()=>n.createVNode(Ke,{"popup-content-position":e.popupPosition,host:e.host,onClick:r,backgroundColor:e.backgroundColor},{default:()=>[l&&l()]})}}),document.body.appendChild(t),o.mount(t),o}class nt{static show(t){return tt(t)}}const ot=Symbol("FModalService");function ce(e,t){function o(){const i=e.beforeOpen||e.beforeClickButton||null;let r=Promise.resolve(!0);if(i){const l=i(t.value);if(typeof l>"u")return r;typeof l=="boolean"?r=Promise.resolve(l):r=l}return r}return{judgeCanOpen:o}}function at(e,t,o,i,r){const l=n.ref(e.buttonBehavior),s=n.ref(e.popupOnInput),p=n.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:u}=ce(e,r),d=n.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),f=n.inject(ot,null),a=n.ref();async function c(m){if(await u()&&d.value){const C=!!t.slots.default;if(l.value==="Modal"){const b=e.modalOptions,v=f==null?void 0:f.open({...b,render:()=>t.slots.default&&t.slots.default()});a.value=v==null?void 0:v.modalRef}l.value==="Overlay"&&nt.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>t.slots.default&&t.slots.default()}),C&&l.value==="Popup"&&i.togglePopup(!0),C&&s.value&&i.hidePopup(),t.emit("clickButton",{origin:m,value:e.modelValue})}}function y(m){t.emit("mouseEnterIcon",m)}function h(m){t.emit("mouseLeaveIcon",m)}return{buttonGroupClass:p,onClickButton:c,onMouseEnterButton:y,onMouseLeaveButton:h,modalRef:a}}function lt(e,t,o,i){const r=n.ref(),l=n.ref(!1),{judgeCanOpen:s}=ce(e,i);function p(){const a=r.value;a&&a.show(o.value)}async function u(a=!1){if(!!t.slots.default){if(!a&&!l.value&&!await s())return;l.value=!l.value,await n.nextTick(),p()}}async function d(a=!1){if(!!t.slots.default){if(!a&&!await s())return;l.value=!0,await n.nextTick(),p()}}function f(){l.value=!1}return{hidePopup:f,popup:d,shouldPopupContent:l,togglePopup:u,popoverRef:r}}function it(e,t,o){const{buttonGroupClass:i}=o,r=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:i.value},[t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button"},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:r},null):null]),buttonHandleElement:r}}const rt=n.defineComponent({name:"FButtonEdit",props:se,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const o=n.ref(),i=n.inject("design-item-context"),r=R.useDesignerComponent(o,i),l=n.ref(e.customClass),s=n.ref(e.modelValue),p=lt(e,t,o,s),u=at(e,t,o,p,s),d=n.ref(),f=n.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":!0,"f-state-editable":!1,"f-state-readonly":!0}));n.onMounted(()=>{o.value.componentInstance=r}),t.expose(r.value);const a=n.computed(()=>{const y={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return l.value&&l.value.split(" ").reduce((h,m)=>(h[m]=!0,h),y),y}),{renderButtonGroup:c}=it(e,t,u);return()=>n.createVNode("div",n.mergeProps(t.attrs,{ref:o,class:a.value,id:e.id}),[n.createVNode("div",{class:f.value},[n.createVNode("input",{ref:d,class:"form-control",readonly:!0,placeholder:e.placeholder},null),c()])])}});function st(e,t){e.schema;const o=n.ref(!0),i=n.ref(!0);function r(a){return!1}function l(){return!1}function s(){return!1}function p(){return!0}function u(a){}function d(){}function f(a){return null}return{canAccepts:r,checkCanDeleteComponent:l,checkCanMoveComponent:s,hideNestedPaddingInDesginerView:p,onAcceptMovedChildElement:u,resolveComponentContext:d,triggerBelongedComponentToMoveWhenMoved:o,triggerBelongedComponentToDeleteWhenDeleted:i,getPropsConfig:f}}class de{constructor(t,o){B(this,"componentId");B(this,"viewModelId");B(this,"eventsEditorUtils");B(this,"formSchemaUtils");B(this,"formMetadataConverter");B(this,"designViewModelUtils");B(this,"designViewModelField");B(this,"controlCreatorUtils");B(this,"designerHostService");B(this,"schemaService",null);B(this,"metadataService",null);B(this,"propertyConfig",{type:"object",categories:{}});var i;this.componentId=t,this.designerHostService=o,this.eventsEditorUtils=o.eventsEditorUtils,this.formSchemaUtils=o.formSchemaUtils,this.formMetadataConverter=o.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.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){const o=t.binding&&t.binding.type==="Form"&&t.binding.field;if(o){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(r=>r.id===o)}t.updateOn=this.designViewModelField.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:I[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 i=o&&o.parent&&o.parent.schema;if(!i)return;const r=i.contents.findIndex(s=>s.id===t),l=j.cloneDeep(i.contents[r]);i.contents.splice(r,1),i.contents.splice(r,0,l)}}const q=class q{static getEditorTypesByMDataType(t){const o=q.fieldControlTypeMapping[t];return o||[{key:"",value:""}]}static getAllInputTypes(){const t=[];for(let o in q.fieldControlTypeMapping)q.fieldControlTypeMapping[o].forEach(i=>{t.find(r=>r.key===i.key&&r.value===i.value)||t.push({key:i.key,value:i.value})});return t}};B(q,"fieldControlTypeMapping",{String:[{key:I["input-group"].type,value:I["input-group"].name},{key:I.lookup.type,value:I.lookup.name},{key:I["date-picker"].type,value:I["date-picker"].name},{key:I["check-box"].type,value:I["check-box"].name},{key:I["check-group"].type,value:I["check-group"].name},{key:I["radio-group"].type,value:I["radio-group"].name},{key:I["combo-list"].type,value:I["combo-list"].name},{key:I.textarea.type,value:I.textarea.name}],Text:[{key:I.textarea.type,value:I.textarea.name},{key:I.lookup.type,value:I.lookup.name}],Decimal:[{key:I["number-spinner"].type,value:I["number-spinner"].name}],Integer:[{key:I["number-spinner"].type,value:I["number-spinner"].name}],Number:[{key:I["number-spinner"].type,value:I["number-spinner"].name}],BigNumber:[{key:I["number-spinner"].type,value:I["number-spinner"].name}],Date:[{key:I["date-picker"].type,value:I["date-picker"].name}],DateTime:[{key:I["date-picker"].type,value:I["date-picker"].name}],Boolean:[{key:I.switch.type,value:I.switch.name},{key:I["check-box"].type,value:I["check-box"].name}],Enum:[{key:I["combo-list"].type,value:I["combo-list"].name},{key:I["radio-group"].type,value:I["radio-group"].name}],Object:[{key:I.lookup.type,value:I.lookup.name},{key:I["combo-list"].type,value:I["combo-list"].name},{key:I["radio-group"].type,value:I["radio-group"].name}]});let H=q;const ct=n.ref(0);class dt{constructor(){B(this,"label","");B(this,"id","");B(this,"columnInSM",12);B(this,"columnInMD",6);B(this,"columnInLG",3);B(this,"columnInEL",2);B(this,"displayWidthInSM",1);B(this,"displayWidthInMD",1);B(this,"displayWidthInLG",1);B(this,"displayWidthInEL",1);B(this,"displayColumnCountAtBreakPoint","md");B(this,"tagRow",0);B(this,"showTopBorder",0);B(this,"group",1);B(this,"isSupportedClass",!0);B(this,"fieldSetId","")}}function ue(e){let t,o;const i=new Map;let r=[];function l(f,a){const y=f.split(" ").filter(v=>v.startsWith("col-"));if(y.length===0){a.isSupportedClass=!1;return}let h=y.find(v=>/^col-([1-9]|10|11|12)$/.test(v)),m=y.find(v=>/^col-md-([1-9]|10|11|12)$/.test(v)),C=y.find(v=>/^col-xl-([1-9]|10|11|12)$/.test(v)),b=y.find(v=>/^col-el-([1-9]|10|11|12)$/.test(v));h=h||"col-12",a.columnInSM=parseInt(h.replace("col-",""),10),a.displayWidthInSM=a.columnInSM/12,a.displayWidthInSM!==1&&(a.isSupportedClass=!1),m=m||"col-md-"+a.columnInSM,a.columnInMD=parseInt(m.replace("col-md-",""),10),a.displayWidthInMD=a.columnInMD/6,[1,2].includes(a.displayWidthInMD)||(a.isSupportedClass=!1),C=C||"col-xl-"+a.columnInMD,a.columnInLG=parseInt(C.replace("col-xl-",""),10),a.displayWidthInLG=a.columnInLG/3,[1,2,3,4].includes(a.displayWidthInLG)||(a.isSupportedClass=!1),b=b||"col-el-"+a.columnInLG,a.columnInEL=parseInt(b.replace("col-el-",""),10),a.displayWidthInEL=a.columnInEL/2,[1,2,3,4,5,6].includes(a.displayWidthInEL)||(a.isSupportedClass=!1)}function s(f,a,c,y=!1){let h=!1;f.contents.forEach(m=>{if(m.type==="fieldset"){c+=1,s(m,a,c,!0),h=!0;return}h&&(c+=1,h=!1);const C=m.appearance&&m.appearance.class,b=new dt;C?l(C,b):b.isSupportedClass=!1,b.label=m.label||m.id,b.id=m.id,b.group=c,y&&(b.fieldSetId=f.id),o===m.id&&(t=c),i.set(m.id,m),a.push(b)})}function p(f){const a=e.getComponentById(f);if(!a||!a.componentType||!a.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const c=e.selectNode(a,y=>y.type===R.DgControl["response-form"].type);return!c||!c.contents||c.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:c}}function u(f,a){a=a||f.id;const{result:c,message:y,formNode:h}=p(a);if(!c)return{result:c,message:y};o=f.id,r=[],i.clear();const m=h.contents[0].type===R.DgControl.fieldset.type?0:1;s(h,r,m);const C=r.find(v=>!v.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:C?"customize":"standard"},importData:r}}function d(f,a){a=a;const{result:c,formNode:y}=p(a);if(!c)return"";const h=[];return f.forEach(m=>{var v;const C=i.get(m.id),b=C.appearance&&C.appearance.class;if(b){const F=b.split(" ").filter(O=>!O.startsWith("col-")),g="col-"+m.columnInSM,w="col-md-"+m.columnInMD,M="col-xl-"+m.columnInLG,k="col-el-"+m.columnInEL,T=[g,w,M,k].concat(F);C.appearance.class=T.join(" ")}if(m.fieldSetId){const S=y.contents.find(g=>g.id===m.fieldSetId),F=h.find(g=>g.id===m.fieldSetId);F?(v=F.contents)==null||v.push(C):(h.push(S),S.contents=[C])}else h.push(C)}),y.contents=h,y.id}return{checkCanFindFormNode:p,checkCanOpenLayoutEditor:u,changeFormControlsByResponseLayoutConfig:d,getResonseFormLayoutConfig:s}}class ut extends de{constructor(o,i){super(o,i);B(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=ue(this.formSchemaUtils)}getPropertyConfig(o,i){return this.propertyConfig.categories.basic=this.getBasicProperties(o,i),this.propertyConfig.categories.appearance=this.getAppearanceProperties(o,i),this.propertyConfig.categories.editor=this.getEditorProperties(o),this.propertyConfig}getBasicProperties(o,i){var p;var r=this;this.setDesignViewModelField(o);const l=this.formSchemaUtils.getFormMetadataBasicInfo(),s=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:r.designViewModelField?H.getEditorTypesByMDataType((p=r.designViewModelField.type)==null?void 0:p.name):H.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",$converter:"/converter/field-selector.converter",editor:{type:"field-selector",bindingType:{enable:!1},editorParams:{propertyData:o,formBasicInfo:l},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],textField:"bindingField",data:s}}},setPropertyRelates(u,d){if(u)switch(u&&u.propertyID){case"type":{r.changeControlType(o,u,i);break}case"label":{u.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(o,i){var r=this;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"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:r.responseLayoutEditorFunction.checkCanOpenLayoutEditor(o,r.componentId)}}},setPropertyRelates(l,s){if(l)switch(l&&l.propertyID){case"responseLayout":r.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,r.componentId||o.id),r.updateUnifiedLayoutAfterResponseLayoutChanged(r.componentId),r.updateElementByParentContainer(o.id,i),delete o.responseLayout;break;case"class":r.updateUnifiedLayoutAfterControlChanged(l.propertyValue,o.id,this.componentId),r.updateElementByParentContainer(o.id,i);break}}}}getEditorProperties(o){return this.getComponentConfig(o)}changeControlType(o,i,r){var f,a,c,y;const l=i.propertyValue,s=r&&r.parent&&r.parent.schema;if(!s)return;const p=s.contents.findIndex(h=>h.id===o.id),u=s.contents[p];let d;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:l},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),d=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)),d||(d=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(d,{id:u.id,appearance:u.appearance,size:u.size,label:u.label,binding:u.binding,visible:u.visible}),Object.assign(d.editor,{isTextArea:d.isTextArea&&u.isTextArea,placeholder:(f=u.editor)==null?void 0:f.placeholder,holdPlace:(a=u.editor)==null?void 0:a.holdPlace,readonly:(c=u.editor)==null?void 0:c.readonly,require:(y=u.editor)==null?void 0:y.require}),s.contents.splice(p,1),s.contents.splice(p,0,d),r.schema=Object.assign(u,d),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(h=>h.classList.remove("dgComponentSelected")),ct.value++}getComponentConfig(o,i={},r={}){const l=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},i),s=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},r);return{...l,properties:{...s}}}updateUnifiedLayoutAfterControlChanged(o,i,r){const l=o.split(" ");let s=l.find(a=>/^col-([1-9]|10|11|12)$/.test(a)),p=l.find(a=>/^col-md-([1-9]|10|11|12)$/.test(a)),u=l.find(a=>/^col-xl-([1-9]|10|11|12)$/.test(a)),d=l.find(a=>/^col-el-([1-9]|10|11|12)$/.test(a));s=s||"col-12",p=p||"col-md-"+s.replace("col-",""),u=u||"col-xl-"+p.replace("col-md-",""),d=d||"col-el-"+u.replace("col-xl-","");const f={id:i,columnInSM:parseInt(s.replace("col-",""),10),columnInMD:parseInt(p.replace("col-md-",""),10),columnInLG:parseInt(u.replace("col-xl-",""),10),columnInEL:parseInt(d.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(r,f)}updateUnifiedLayoutAfterResponseLayoutChanged(o,i){const{formNode:r}=this.responseLayoutEditorFunction.checkCanFindFormNode(o);if(!r||!r.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(r,l,1),i){const h=l.find(m=>m.id===i.id);Object.assign(h||{},i)}const s=l.map(h=>h.columnInSM),p=l.map(h=>h.columnInMD),u=l.map(h=>h.columnInLG),d=l.map(h=>h.columnInEL),f=this.checkIsUniqueColumn(s)?s[0]:null,a=this.checkIsUniqueColumn(p)?p[0]:null,c=this.checkIsUniqueColumn(u)?u[0]:null,y=this.checkIsUniqueColumn(d)?d[0]:null;Object.assign(r.unifiedLayout,{uniqueColClassInSM:f,uniqueColClassInMD:a,uniqueColClassInLG:c,uniqueColClassInEL:y})}checkIsUniqueColumn(o){const i=new Set(o);return Array.from(i).length===1}}class pt extends ut{constructor(t,o){super(t,o)}getEditorProperties(t){return this.getComponentConfig(t,{type:"combo-list"},{editable:{description:"",title:"允许编辑",type:"boolean"},textField:{description:"",title:"数据源显示字段",type:"string"},idField:{description:"",title:"数据源值字段",type:"string"}})}}function ft(e,t){const{canAccepts:o,checkCanDeleteComponent:i,checkCanMoveComponent:r,hideNestedPaddingInDesginerView:l,onAcceptMovedChildElement:s,resolveComponentContext:p,triggerBelongedComponentToMoveWhenMoved:u,triggerBelongedComponentToDeleteWhenDeleted:d}=st(e),f=e.schema;function a(c,y){return new pt(c,t).getPropertyConfig(f,y)}return{canAccepts:o,checkCanDeleteComponent:i,checkCanMoveComponent:r,hideNestedPaddingInDesginerView:l,onAcceptMovedChildElement:s,resolveComponentContext:p,triggerBelongedComponentToMoveWhenMoved:u,triggerBelongedComponentToDeleteWhenDeleted:d,getPropsConfig:a}}const mt=n.defineComponent({name:"FComboListDesign",props:K,emits:["clear","update:modelValue","change"],setup(e,t){const o=n.ref(),i=n.inject("designer-host-service"),r=n.inject("design-item-context"),l=ft(r,i),s=R.useDesignerComponent(o,r,l);return n.onMounted(()=>{o.value.componentInstance=s}),t.expose(s.value),()=>n.createVNode(rt,{ref:o,buttonContent:e.dropDownIcon,readonly:!0,editable:!1,forcePlaceholder:!0,placeholder:e.placeholder,enableClear:!0},null)}}),yt=e=>{const t=e;return t.install=function(o){o.component(t.name,e)},e};W.register=(e,t,o,i)=>{e["combo-list"]=W,t["combo-list"]=re},W.registerDesigner=(e,t,o)=>{e["combo-list"]=mt,t["combo-list"]=re};const _=yt(W),z=n.defineComponent({name:"FOrder",props:U,emits:["change"],setup(e,t){const o=n.ref(e.items),i=n.ref("排序列"),r=n.ref("排序方式"),l=n.ref("添加排序列"),s=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],p=n.ref(new Map);function u(){const C=o.value.map(b=>[b.id,!0]);p.value=new Map(C)}u();const d=n.computed(()=>e.dataSource.map(C=>(C.disabled=p.value.has(C.id),C))),f=n.computed(()=>({"f-order":!0}));function a(C){o.value=o.value.filter(b=>b.id!==C.id),u(),t.emit("change",o.value)}function c(){o.value=[...o.value,{id:Date.now().toString(),name:"",order:"asc"}],u(),t.emit("change",o.value)}function y(C){if(C&&C.length===1){const b=C[0],v=o.value.find(S=>S.id===b.id);v&&(v.name=b.name)}u(),t.emit("change",o.value)}function h(C){if(C&&C.length){const b=new Map;C.reduce((v,S)=>(v.set(S.id,S),v),b),o.value=C.map(v=>b.get(v.id)),t.emit("change",o.value)}}function m(){return n.createVNode(le,{style:"flex:1",data:o.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:a,onChange:h},{header:()=>n.createVNode("div",{class:"f-order-header"},[n.createVNode("span",{class:"f-order-header-order-field"},[i.value]),n.createVNode("span",{class:"f-order-header-order-type"},[r.value])]),itemContent:C=>n.createVNode("div",{class:"f-order-item-content"},[n.createVNode(_,{class:"f-order-item-content-order-field",data:d.value,valueField:"id",textField:"name",idField:"id",modelValue:C.id,"onUpdate:modelValue":b=>C.id=b,onChange:y,onClear:y},null),n.createVNode(_,{class:"f-order-item-content-order-type",data:s,valueField:"id",textField:"name",idField:"id",modelValue:C.order,"onUpdate:modelValue":b=>C.order=b,onChange:y},null)]),footer:()=>n.createVNode("div",{class:"f-order-footer"},[n.createVNode(ie,{type:"link",class:"f-order-add-button",onClick:c},{default:()=>n.createVNode(n.Fragment,null,[n.createVNode("span",{class:"f-order-add-icon"},[n.createVNode("i",{class:"f-icon f-icon-add"},null)]),l.value])})])})}return()=>n.createVNode("div",{class:f.value},[m()])}});function ht(e,t,o){var F;function i(){o!=null&&o.resolveComponentContext&&o.resolveComponentContext()}i();const r=o&&o.getStyles&&o.getStyles()||"",l=o&&o.getDesignerClass&&o.getDesignerClass()||"",s=n.ref();function p(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:o&&o.checkCanMoveComponent?o.checkCanMoveComponent():!0}function u(){return!1}function d(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:o&&o.checkCanDeleteComponent?o.checkCanDeleteComponent():!0}function f(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:o&&o.hideNestedPaddingInDesginerView?o.hideNestedPaddingInDesginerView():!1}function a(g){if(!g||!g.value)return null;if(g.value.schema&&g.value.schema.type==="component")return g.value;const w=n.ref(g==null?void 0:g.value.parent),M=a(w);return M||null}function c(g=t){const{componentInstance:w,designerItemElementRef:M}=g;return!w||!w.value?null:w.value.canMove?M:c(g.parent)}function y(g){return!!o&&o.canAccepts(g)}function h(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function m(){}function C(g,w){w&&o!=null&&o.onAcceptMovedChildElement&&o.onAcceptMovedChildElement(w)}function b(g,w){const{componentType:M}=g;let k=Q(M,g,w);o&&o.onResolveNewComponentSchema&&(k=o.onResolveNewComponentSchema(g,k));const T=M.toLowerCase().replace("-","_");return k&&!k.id&&k.type===M&&(k.id=`${T}_${Math.random().toString().slice(2,6)}`),k}function v(g){}function S(...g){if(o&&o.getPropsConfig)return o.getPropsConfig(...g)}return s.value={canMove:p(),canSelectParent:u(),canDelete:d(),canNested:!f(),contents:t==null?void 0:t.schema.contents,elementRef:e,parent:(F=t==null?void 0:t.parent)==null?void 0:F.componentInstance,schema:t==null?void 0:t.schema,styles:r,designerClass:l,canAccepts:y,getBelongedComponentInstance:a,getDraggableDesignItemElement:c,getDraggingDisplayText:h,getPropConfig:S,getDragScopeElement:m,onAcceptMovedChildElement:C,onChildElementMovedOut:v,addNewChildComponentSchema:b,updateDragAndDropRules:i,triggerBelongedComponentToMoveWhenMoved:!!o&&o.triggerBelongedComponentToMoveWhenMoved||n.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!o&&o.triggerBelongedComponentToDeleteWhenDeleted||n.ref(!1)},s}function gt(){function e(t,o){var s;if(!t)return!1;const i=((s=t.targetContainer)==null?void 0:s.componentInstance)&&t.targetContainer.componentInstance.value;if(!i)return!1;const r=i.schema.type,l=o==null?void 0:o.formSchemaUtils.getComponentById(i.belongedComponentId);return!((t.controlCategory==="input"||t.controlType==="form-group")&&![I["response-layout-item"].type,I["response-form"].type].includes(r)||(t.controlType===I.tabs.type||t.controlType===I.section.type)&&((l==null?void 0:l.componentType)!=="frame"||![I["content-container"].type,I["splitter-pane"].type,I["response-layout-item"].type].includes(r)))}return{basalDragulaRuleForContainer:e}}class Ct{getTemplateRule(t,o){const i=o==null?void 0:o.formSchemaUtils,r=i==null?void 0:i.getFormTemplateRule(),l={canAccept:!0,canDelete:!0,canMove:!0};if(!r)return l;const s=this.getComponentContext(t);return s.componentClassList.forEach(u=>{if(!u||!r[u])return;const{canMove:d,canDelete:f,canAccept:a}=r[u];l.canMove=l.canMove&&this.resolveRuleValue(d,s),l.canDelete=l.canDelete&&this.resolveRuleValue(f,s),l.canAccept=l.canAccept&&this.resolveRuleValue(a,s)}),l}resolveRuleValue(t,o){return typeof t=="boolean"?t:this.parseRuleValueSchema(t,o)}parseRuleValueSchema(t,o){const i=t.invalidContext||[];let r=!0;for(const l of i){if(l.firstLevelChild){if(l.firstLevelChild.class){const s=o.firstLevelChildClassList;if(s&&!s.includes(l.firstLevelChild.class)){r=!1;continue}}if(l.firstLevelChild.type){const s=o.firstLevelChildSchema;if(s&&s.type!==l.firstLevelChild.type){r=!1;continue}}}if(l.secondLevelChild){if(l.secondLevelChild.class){const s=o.secondLevelChildClassList;if(s&&!s.includes(l.secondLevelChild.class)){r=!1;continue}}if(l.secondLevelChild.type){const s=o.secondLevelChildSchema;if(s&&s.type!==l.secondLevelChild.type){r=!1;continue}}}if(l.parent){if(l.parent.class){const s=o.parentClassList;if(s&&!s.includes(l.parent.class)){r=!1;continue}}if(l.parent.type){const s=o.parentSchema;if(s&&s.type!==l.parent.type){r=!1;continue}}}r=!0;break}return!r}getComponentContext(t){var m,C,b,v;const o=t.schema,i=o.appearance&&o.appearance.class||"",r=i.split(" ")||[],l=o.contents||[],s=l.length?l[0]:null,p=s&&s.appearance?s.appearance.class:"",u=p?p.split(" "):[],d=(m=s==null?void 0:s.contents)!=null&&m.length?s==null?void 0:s.contents[0]:null,f=d&&d.appearance?d.appearance.class:"",a=f?f.split(" "):[],c=o.type==="component"?(b=(C=t.parent)==null?void 0:C.parent)==null?void 0:b.schema:(v=t.parent)==null?void 0:v.schema,y=c&&c.appearance&&c.appearance.class||"",h=y?y.split(" "):[];return{componentClass:i,componentClassList:r,childContents:l,firstLevelChildSchema:s,firstLevelChildClass:p,firstLevelChildClassList:u,secondLevelChildSchema:d,secondLevelChildClass:f,secondLevelChildClassList:a,parentSchema:c,parentClass:y,parentClassList:h}}}function bt(e,t){function o(u,d=null){if(d)return d;const f=e.getComponentById(t);return e.selectNode(f,a=>a.id===u)}function i(u){const d=e.getComponentById(u);return!(!d||!d.componentType||!d.componentType.startsWith("form"))}function r(u){const d=o(u.id),f=ue(e),a=[];f.getResonseFormLayoutConfig(d,a,1);const c=a.map(F=>F.columnInSM),y=a.map(F=>F.columnInMD),h=a.map(F=>F.columnInLG),m=a.map(F=>F.columnInEL),C=l(c)?c[0]:0,b=l(y)?y[0]:0,v=l(h)?h[0]:0,S=l(m)?m[0]:0;return{uniqueColClassInSM:C,uniqueColClassInMD:b,uniqueColClassInLG:v,uniqueColClassInEL:S}}function l(u){const d=new Set(u);return Array.from(d).length===1}function s(u,d,f){u=o(f,u),u.contents.forEach(a=>{if(a.type===R.DgControl.fieldset.type){s(a,d,a.id);return}a.appearance||(a.appearance={});const c=a.appearance.class;a.appearance.class=p(c,d)})}function p(u,d){let f,a,c,y,h=[];if(u){const F=u.split(" "),g=F.filter(w=>w.startsWith("col-"));f=g.find(w=>/^col-([1-9]|10|11|12)$/.test(w)),a=g.find(w=>/^col-md-([1-9]|10|11|12)$/.test(w)),c=g.find(w=>/^col-xl-([1-9]|10|11|12)$/.test(w)),y=g.find(w=>/^col-el-([1-9]|10|11|12)$/.test(w)),h=F.filter(w=>!w.startsWith("col-"))}const m=d.uniqueColClassInSM?"col-"+d.uniqueColClassInSM:f,C=d.uniqueColClassInMD?"col-md-"+d.uniqueColClassInMD:a,b=d.uniqueColClassInLG?"col-xl-"+d.uniqueColClassInLG:c,v=d.uniqueColClassInEL?"col-el-"+d.uniqueColClassInEL:y;return[m,C,b,v].concat(h).join(" ")}return{checkIsInFormComponent:i,assembleUnifiedLayoutContext:r,changeFormControlsByUnifiedLayoutConfig:s}}class vt extends de{constructor(t,o){super(t,o)}getPropertyConfig(t,o){var i=this;this.propertyConfig.categories.basic=this.getBasicPropConfig(t);const{checkIsInFormComponent:r,assembleUnifiedLayoutContext:l,changeFormControlsByUnifiedLayoutConfig:s}=bt(this.formSchemaUtils,this.componentId),p=this.getAppearanceConfig(t);return p.properties.unifiedLayout={title:"统一布局配置",description:"统一配置卡片区域内所有控件的宽度,只支持标准模式",visible:r(this.componentId),refreshPanelAfterChanged:!0,editor:{type:"response-form-layout-setting",initialState:l(t)}},p.setPropertyRelates=function(u,d){if(u)switch(u&&u.propertyID){case"unifiedLayout":{s(null,u.propertyValue,t.id),i.updateElementByParentContainer(t.id,o);break}}},this.propertyConfig.categories.appearance=p,this.propertyConfig}}function St(e,t){const o=e.schema,i=new Ct,{canMove:r,canAccept:l,canDelete:s}=i.getTemplateRule(e,t);function p(v){const S=i.getComponentContext(e);return S&&S.componentClassList&&S.componentClassList.includes("f-form-layout")&&S.componentClassList.includes("farris-form")?v.sourceType==="control"&&v.controlCategory==="input"||v.sourceType==="move"&&v.controlType==="form-group":!0}function u(v){return!(!gt().basalDragulaRuleForContainer(v,t)||!l||!p(v))}function d(v){n.nextTick()}function f(){return o.componentType?"display:inherit;flex-direction:inherit;margin-bottom:10px":""}function a(v,S){const F=o;if((F.appearance&&F.appearance.class||"").split(" ").includes("f-form-layout")){const{label:M}=v,k=Q("form-group");return k.editor=S,k.label=M,c(k),delete k.editor.id,delete k.editor.binding,delete k.editor.appearance,delete k.editor.visible,k}return S}function c(v){const S=e.componentInstance.value.getBelongedComponentInstance(e.componentInstance);if(S&&S.schema&&S.schema.componentType){const F=S.schema.formColumns;let g=y(F);g=t==null?void 0:t.formSchemaUtils.getControlClassByFormUnifiedLayout(g,"",e.schema),v.appearance||(v.appearance={}),v.appearance.class=g}}function y(v){let S="";switch(v){case 1:{S="col-12";break}case 2:{S="col-12 col-md-6 col-xl-6 col-el-6";break}case 3:{S="col-12 col-md-6 col-xl-4 col-el-4";break}case 4:{S="col-12 col-md-6 col-xl-3 col-el-2";break}}return S}function h(){return r}function m(){return s}function C(){return!1}function b(v){return new vt(v,t).getPropertyConfig(o,e.componentInstance.value)}return{canAccepts:u,checkCanDeleteComponent:m,checkCanMoveComponent:h,getStyles:f,getPropsConfig:b,hideNestedPaddingInDesginerView:C,onAcceptMovedChildElement:d,onResolveNewComponentSchema:a}}const wt=n.defineComponent({name:"FOrderDesign",props:U,emits:["change"],setup(e,t){var F;const o=n.ref(e.items),i=n.ref("排序列"),r=n.ref("排序方式"),l=n.ref("添加排序列"),s=[{id:"asc",name:"升序"},{id:"desc",name:"降序"}],p=n.ref(new Map),u=n.ref(),d=n.inject("design-item-context"),f=St(d.schema,(F=d.parent)==null?void 0:F.schema),a=ht(u,d,f);n.onMounted(()=>{u.value.componentInstance=a}),t.expose(a.value);function c(){const g=o.value.map(w=>[w.id,!0]);p.value=new Map(g)}c();const y=n.computed(()=>e.dataSource.map(g=>(g.disabled=p.value.has(g.id),g))),h=n.computed(()=>({"f-order":!0}));function m(g){o.value=o.value.filter(w=>w.id!==g.id),c(),t.emit("change",o.value)}function C(){o.value=[...o.value,{id:Date.now().toString(),name:"",order:"asc"}],c(),t.emit("change",o.value)}function b(g){c(),t.emit("change",o.value)}function v(g){if(g&&g.length){const w=new Map;g.reduce((M,k)=>(M.set(k.id,k),M),w),o.value=g.map(M=>w.get(M.id)),t.emit("change",o.value)}}function S(){return n.createVNode(le,{style:"flex:1",data:o.value,draggable:!0,view:"DraggableView","keep-order":!0,itemClass:"f-order-item",onRemoveItem:m,onChange:v},{header:()=>n.createVNode("div",{class:"f-order-header"},[n.createVNode("span",{class:"f-order-header-order-field"},[i.value]),n.createVNode("span",{class:"f-order-header-order-type"},[r.value])]),itemContent:g=>n.createVNode("div",{class:"f-order-item-content"},[n.createVNode(_,{class:"f-order-item-content-order-field",data:y.value,valueField:"id",textField:"name",idField:"id",modelValue:g.id,"onUpdate:modelValue":w=>g.id=w,onChange:b,onClear:b},null),n.createVNode(_,{class:"f-order-item-content-order-type",data:s,valueField:"id",textField:"name",idField:"id",modelValue:g.order,"onUpdate:modelValue":w=>g.order=w,onChange:b},null)]),footer:()=>n.createVNode("div",{class:"f-order-footer"},[n.createVNode(ie,{type:"link",class:"f-order-add-button",onClick:C},{default:()=>n.createVNode(n.Fragment,null,[n.createVNode("span",{class:"f-order-add-icon"},[n.createVNode("i",{class:"f-icon f-icon-add"},null)]),l.value])})])})}return()=>n.createVNode("div",{ref:u,class:h.value},[S()])}}),kt={install(e){e.component(z.name,z)},register(e,t,o,i){e.order=z,t.order=Z},registerDesigner(e,t,o){e.order=wt,t.order=Z}};D.FOrder=z,D.default=kt,D.orderProps=U,D.propsResolver=Z,Object.defineProperties(D,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -5,7 +5,7 @@ import { useDesignerRules as z } from "../dynamic-form/index.esm.js";
5
5
  const G = {}, J = {};
6
6
  function $(t) {
7
7
  const { properties: e, title: c, ignore: r } = t, n = r && Array.isArray(r), p = Object.keys(e).reduce((f, m) => ((!n || !r.find((A) => A == m)) && (f[m] = e[m].type === "object" && e[m].properties ? $(e[m]) : q(e[m].default)), f), {});
8
- return (!n || !r.find((f) => f == "id")) && (p.id = `${c}-${Date.now()}`), p;
8
+ return c && (!n || !r.find((f) => f == "id")) && (p.id = `${c}-${Date.now()}`), p;
9
9
  }
10
10
  function Q(t, e) {
11
11
  const c = $(e);
@@ -1 +1 @@
1
- (function(h,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("lodash-es"),require("../designer-canvas/index.umd.js"),require("../dynamic-form/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../designer-canvas/index.umd.js","../dynamic-form/index.umd.js"],e):(h=typeof globalThis<"u"?globalThis:h||self,e(h["page-footer"]={},h.Vue,h.LodashES,h.designerCanvas,h.dynamicForm))})(this,function(h,e,$,v,I){"use strict";const E={},D={};function q(r){const{properties:t,title:i,ignore:o}=r,a=o&&Array.isArray(o),p=Object.keys(t).reduce((f,m)=>((!a||!o.find(j=>j==m))&&(f[m]=t[m].type==="object"&&t[m].properties?q(t[m]):$.cloneDeep(t[m].default)),f),{});return(!a||!o.find(f=>f=="id"))&&(p.id=`${i}-${Date.now()}`),p}function B(r,t){const i=q(t);return Object.keys(r).reduce((o,a)=>(o[a]&&$.isPlainObject(o[a])&&$.isPlainObject(r[a])?Object.assign(o[a],r[a]):o[a]=r[a],o),i),i}function L(r,t){return Object.keys(r).filter(o=>r[o]!=null).reduce((o,a)=>{if(t.has(a)){const p=t.get(a);if(typeof p=="string")o[p]=r[a];else{const f=p(a,r[a],r);Object.assign(o,f)}}else o[a]=r[a];return o},{})}function _(r,t,i=new Map){const o=B(r,t);return L(o,i)}function W(r={}){function t(s,l,n,c){if(typeof n=="number")return c[s].length===n;if(typeof n=="object"){const g=Object.keys(n)[0],C=n[g];if(g==="not")return Number(c[s].length)!==Number(C);if(g==="moreThan")return Number(c[s].length)>=Number(C);if(g==="lessThan")return Number(c[s].length)<=Number(C)}return!1}function i(s,l,n,c){return c[s]&&c[s].propertyValue&&String(c[s].propertyValue.value)===String(n)}const o=new Map([["length",t],["getProperty",i]]);Object.keys(r).reduce((s,l)=>(s.set(l,r[l]),s),o);function a(s,l){const n=s;return typeof l=="number"?[{target:n,operator:"length",param:null,value:Number(l)}]:typeof l=="boolean"?[{target:n,operator:"getProperty",param:s,value:!!l}]:typeof l=="object"?Object.keys(l).map(c=>{if(c==="length")return{target:n,operator:"length",param:null,value:l[c]};const g=c,C=l[c];return{target:n,operator:"getProperty",param:g,value:C}}):[]}function p(s){return Object.keys(s).reduce((n,c)=>{const g=a(c,s[c]);return n.push(...g),n},[])}function f(s,l){if(o.has(s.operator)){const n=o.get(s.operator);return n&&n(s.target,s.param,s.value,l)||!1}return!1}function m(s,l){return p(s).reduce((g,C)=>g&&f(C,l),!0)}function j(s,l){const n=Object.keys(s),c=n.includes("allOf"),g=n.includes("anyOf"),C=c||g,N=(C?s[C?c?"allOf":"anyOf":"allOf"]:[s]).map(F=>m(F,l));return c?!N.includes(!1):N.includes(!0)}return{parseValueSchema:j}}const z={},G={};W();function J(r,t,i=new Map,o=(f,m,j)=>m,a={},p=f=>f){return E[t.title]=t,D[t.title]=o,z[t.title]=a,G[t.title]=p,(f={})=>{const m=_(f,t,i),j=Object.keys(r).reduce((s,l)=>(s[l]=r[l].default,s),{});return Object.assign(j,m)}}function Q(r,t){return{customClass:t.class,customStyle:t.style}}const U=new Map([["appearance",Q]]),X={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/page-footer.schema.json",title:"page-footer",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a page-footer",type:"string"},type:{description:"The type string of page-footer component",type:"string",default:"page-footer"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"]};function Y(r,t,i){return t}const Z={title:"page-footer",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}}}}},P={customClass:{type:String,default:""},enableCollapse:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!0},collapsedText:{type:String,default:"More"},expandedText:{type:String,default:"More"},contentClass:{type:String,default:""},headerClass:{type:String,default:""},headerContentClass:{type:String,default:""},headerToolbarClass:{type:String,default:""},showHeader:{type:String,default:!1}},w=J(P,X,U,Y,Z),H=e.defineComponent({name:"FPageFooter",props:P,emits:[],setup(r,t){const i=e.ref(r.collapsed),o=e.computed(()=>r.collapsedText),a=e.ref(r.contentClass),p=e.computed(()=>r.enableCollapse),f=e.computed(()=>r.expandedText),m=e.ref(r.headerClass),j=e.ref(r.headerContentClass),s=e.ref(r.headerToolbarClass),l=e.computed(()=>r.showHeader),n=e.ref(r.customClass);function c(d){d&&d.stopImmediatePropagation(),i.value=!i.value}function g(){return p.value&&e.createVNode("div",{class:"toolbar--collapse",onClick:d=>c(d)},[e.createVNode("span",{class:"toobar--collapse-text"},[i.value?f.value:o.value]),e.createVNode("i",{class:"f-icon toolbar--collapse-icon"},null)])}const C=e.computed(()=>{const d={"f-toolbar":!0};return s.value.split(" ").reduce((y,T)=>(y[T]=!0,y),d),d});function V(){return e.createVNode("div",{class:C.value},[t.slots.headerToolbar&&t.slots.headerToolbar(),!t.slots.headerToolbar&&g()])}const M=e.computed(()=>{const d={"f-content":!0};return j.value.split(" ").reduce((y,T)=>(y[T]=!0,y),d),d});function N(){return e.createVNode(e.Fragment,null,[t.slots.headerContent&&e.createVNode("div",{class:M.value},[t.slots.headerContent()]),V()])}const x=e.computed(()=>{const d={"f-cmp-footer-header":!0};return m.value.split(" ").reduce((y,T)=>(y[T]=!0,y),d),d});function F(){return e.createVNode("header",{class:x.value},[t.slots.header&&t.slots.header(),!t.slots.header&&N()])}const S=e.computed(()=>{const d={"f-cmp-footer":!0,"f-state-collapse":p.value&&i.value,"f-cmp-footer-accordion":p.value};return n.value.split(" ").reduce((y,T)=>(y[T]=!0,y),d),d}),k=e.computed(()=>{const d={"f-cmp-footer-content":!0};return a.value.split(" ").reduce((y,T)=>(y[T]=!0,y),d),d});return()=>e.createVNode("div",{class:S.value},[e.createVNode("footer",{class:"f-cmp-footer-container"},[l.value&&F(),e.createVNode("div",{class:k.value},[t.slots.default&&t.slots.default()])])])}}),K=e.defineComponent({name:"FPageFooterDesign",props:P,emits:[],setup(r,t){var T;const i=e.ref(r.collapsed),o=e.ref(r.collapsedText),a=e.ref(r.contentClass),p=e.ref(r.enableCollapse),f=e.ref(r.expandedText),m=e.ref(r.headerClass),j=e.ref(r.headerContentClass),s=e.ref(r.headerToolbarClass),l=e.ref(r.showHeader),n=e.ref(),c=e.inject("design-item-context"),g=I.useDesignerRules(c.schema,(T=c.parent)==null?void 0:T.schema),C=v.useDesignerComponent(n,c,g);e.onMounted(()=>{n.value.componentInstance=C}),t.expose(C.value);function V(u){u&&u.stopImmediatePropagation(),i.value=!i.value}function M(){return p.value&&e.createVNode("div",{class:"toolbar--collapse",onClick:u=>V(u)},[e.createVNode("span",{class:"toobar--collapse-text"},[i.value?f.value:o.value]),e.createVNode("i",{class:"f-icon toolbar--collapse-icon"},null)])}const N=e.computed(()=>{const u={"f-toolbar":!0};return s.value.split(" ").reduce((b,A)=>(b[A]=!0,b),u),u});function x(){return e.createVNode("div",{class:N.value},[t.slots.headerToolbar&&t.slots.headerToolbar(),!t.slots.headerToolbar&&M()])}const F=e.computed(()=>{const u={"f-content":!0};return j.value.split(" ").reduce((b,A)=>(b[A]=!0,b),u),u});function S(){return e.createVNode(e.Fragment,null,[t.slots.headerContent&&e.createVNode("div",{class:F.value},[t.slots.headerContent()]),x()])}const k=e.computed(()=>{const u={"f-cmp-footer-header":!0};return m.value.split(" ").reduce((b,A)=>(b[A]=!0,b),u),u});function d(){return e.createVNode("header",{class:k.value},[t.slots.header&&t.slots.header(),!t.slots.header&&S()])}const O=e.computed(()=>{const u={"f-cmp-footer":!0,"f-state-collapse":p.value&&i.value,"f-cmp-footer-accordion":p.value};return m.value.split(" ").reduce((b,A)=>(b[A]=!0,b),u),u}),y=e.computed(()=>{const u={"f-cmp-footer-content":!0};return a.value.split(" ").reduce((b,A)=>(b[A]=!0,b),u),u});return()=>e.createVNode("div",{ref:n,class:O.value},[e.createVNode("footer",{class:"f-cmp-footer-container"},[l.value&&d(),e.createVNode("div",{class:y.value},[t.slots.default&&t.slots.default()])])])}}),ee={install(r){r.component(H.name,H)},register(r,t,i,o){r["page-footer"]=H,t["page-footer"]=w},registerDesigner(r,t,i){r["page-footer"]=K,t["page-footer"]=w}};h.FPageFooter=H,h.default=ee,h.pageFooterProps=P,h.propsResolver=w,Object.defineProperties(h,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(h,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("lodash-es"),require("../designer-canvas/index.umd.js"),require("../dynamic-form/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../designer-canvas/index.umd.js","../dynamic-form/index.umd.js"],e):(h=typeof globalThis<"u"?globalThis:h||self,e(h["page-footer"]={},h.Vue,h.LodashES,h.designerCanvas,h.dynamicForm))})(this,function(h,e,$,v,I){"use strict";const E={},D={};function q(r){const{properties:t,title:i,ignore:o}=r,a=o&&Array.isArray(o),p=Object.keys(t).reduce((f,m)=>((!a||!o.find(j=>j==m))&&(f[m]=t[m].type==="object"&&t[m].properties?q(t[m]):$.cloneDeep(t[m].default)),f),{});return i&&(!a||!o.find(f=>f=="id"))&&(p.id=`${i}-${Date.now()}`),p}function B(r,t){const i=q(t);return Object.keys(r).reduce((o,a)=>(o[a]&&$.isPlainObject(o[a])&&$.isPlainObject(r[a])?Object.assign(o[a],r[a]):o[a]=r[a],o),i),i}function L(r,t){return Object.keys(r).filter(o=>r[o]!=null).reduce((o,a)=>{if(t.has(a)){const p=t.get(a);if(typeof p=="string")o[p]=r[a];else{const f=p(a,r[a],r);Object.assign(o,f)}}else o[a]=r[a];return o},{})}function _(r,t,i=new Map){const o=B(r,t);return L(o,i)}function W(r={}){function t(s,l,n,c){if(typeof n=="number")return c[s].length===n;if(typeof n=="object"){const g=Object.keys(n)[0],C=n[g];if(g==="not")return Number(c[s].length)!==Number(C);if(g==="moreThan")return Number(c[s].length)>=Number(C);if(g==="lessThan")return Number(c[s].length)<=Number(C)}return!1}function i(s,l,n,c){return c[s]&&c[s].propertyValue&&String(c[s].propertyValue.value)===String(n)}const o=new Map([["length",t],["getProperty",i]]);Object.keys(r).reduce((s,l)=>(s.set(l,r[l]),s),o);function a(s,l){const n=s;return typeof l=="number"?[{target:n,operator:"length",param:null,value:Number(l)}]:typeof l=="boolean"?[{target:n,operator:"getProperty",param:s,value:!!l}]:typeof l=="object"?Object.keys(l).map(c=>{if(c==="length")return{target:n,operator:"length",param:null,value:l[c]};const g=c,C=l[c];return{target:n,operator:"getProperty",param:g,value:C}}):[]}function p(s){return Object.keys(s).reduce((n,c)=>{const g=a(c,s[c]);return n.push(...g),n},[])}function f(s,l){if(o.has(s.operator)){const n=o.get(s.operator);return n&&n(s.target,s.param,s.value,l)||!1}return!1}function m(s,l){return p(s).reduce((g,C)=>g&&f(C,l),!0)}function j(s,l){const n=Object.keys(s),c=n.includes("allOf"),g=n.includes("anyOf"),C=c||g,N=(C?s[C?c?"allOf":"anyOf":"allOf"]:[s]).map(F=>m(F,l));return c?!N.includes(!1):N.includes(!0)}return{parseValueSchema:j}}const z={},G={};W();function J(r,t,i=new Map,o=(f,m,j)=>m,a={},p=f=>f){return E[t.title]=t,D[t.title]=o,z[t.title]=a,G[t.title]=p,(f={})=>{const m=_(f,t,i),j=Object.keys(r).reduce((s,l)=>(s[l]=r[l].default,s),{});return Object.assign(j,m)}}function Q(r,t){return{customClass:t.class,customStyle:t.style}}const U=new Map([["appearance",Q]]),X={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/page-footer.schema.json",title:"page-footer",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a page-footer",type:"string"},type:{description:"The type string of page-footer component",type:"string",default:"page-footer"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"]};function Y(r,t,i){return t}const Z={title:"page-footer",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}}}}},P={customClass:{type:String,default:""},enableCollapse:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!0},collapsedText:{type:String,default:"More"},expandedText:{type:String,default:"More"},contentClass:{type:String,default:""},headerClass:{type:String,default:""},headerContentClass:{type:String,default:""},headerToolbarClass:{type:String,default:""},showHeader:{type:String,default:!1}},w=J(P,X,U,Y,Z),H=e.defineComponent({name:"FPageFooter",props:P,emits:[],setup(r,t){const i=e.ref(r.collapsed),o=e.computed(()=>r.collapsedText),a=e.ref(r.contentClass),p=e.computed(()=>r.enableCollapse),f=e.computed(()=>r.expandedText),m=e.ref(r.headerClass),j=e.ref(r.headerContentClass),s=e.ref(r.headerToolbarClass),l=e.computed(()=>r.showHeader),n=e.ref(r.customClass);function c(d){d&&d.stopImmediatePropagation(),i.value=!i.value}function g(){return p.value&&e.createVNode("div",{class:"toolbar--collapse",onClick:d=>c(d)},[e.createVNode("span",{class:"toobar--collapse-text"},[i.value?f.value:o.value]),e.createVNode("i",{class:"f-icon toolbar--collapse-icon"},null)])}const C=e.computed(()=>{const d={"f-toolbar":!0};return s.value.split(" ").reduce((y,T)=>(y[T]=!0,y),d),d});function V(){return e.createVNode("div",{class:C.value},[t.slots.headerToolbar&&t.slots.headerToolbar(),!t.slots.headerToolbar&&g()])}const M=e.computed(()=>{const d={"f-content":!0};return j.value.split(" ").reduce((y,T)=>(y[T]=!0,y),d),d});function N(){return e.createVNode(e.Fragment,null,[t.slots.headerContent&&e.createVNode("div",{class:M.value},[t.slots.headerContent()]),V()])}const x=e.computed(()=>{const d={"f-cmp-footer-header":!0};return m.value.split(" ").reduce((y,T)=>(y[T]=!0,y),d),d});function F(){return e.createVNode("header",{class:x.value},[t.slots.header&&t.slots.header(),!t.slots.header&&N()])}const S=e.computed(()=>{const d={"f-cmp-footer":!0,"f-state-collapse":p.value&&i.value,"f-cmp-footer-accordion":p.value};return n.value.split(" ").reduce((y,T)=>(y[T]=!0,y),d),d}),k=e.computed(()=>{const d={"f-cmp-footer-content":!0};return a.value.split(" ").reduce((y,T)=>(y[T]=!0,y),d),d});return()=>e.createVNode("div",{class:S.value},[e.createVNode("footer",{class:"f-cmp-footer-container"},[l.value&&F(),e.createVNode("div",{class:k.value},[t.slots.default&&t.slots.default()])])])}}),K=e.defineComponent({name:"FPageFooterDesign",props:P,emits:[],setup(r,t){var T;const i=e.ref(r.collapsed),o=e.ref(r.collapsedText),a=e.ref(r.contentClass),p=e.ref(r.enableCollapse),f=e.ref(r.expandedText),m=e.ref(r.headerClass),j=e.ref(r.headerContentClass),s=e.ref(r.headerToolbarClass),l=e.ref(r.showHeader),n=e.ref(),c=e.inject("design-item-context"),g=I.useDesignerRules(c.schema,(T=c.parent)==null?void 0:T.schema),C=v.useDesignerComponent(n,c,g);e.onMounted(()=>{n.value.componentInstance=C}),t.expose(C.value);function V(u){u&&u.stopImmediatePropagation(),i.value=!i.value}function M(){return p.value&&e.createVNode("div",{class:"toolbar--collapse",onClick:u=>V(u)},[e.createVNode("span",{class:"toobar--collapse-text"},[i.value?f.value:o.value]),e.createVNode("i",{class:"f-icon toolbar--collapse-icon"},null)])}const N=e.computed(()=>{const u={"f-toolbar":!0};return s.value.split(" ").reduce((b,A)=>(b[A]=!0,b),u),u});function x(){return e.createVNode("div",{class:N.value},[t.slots.headerToolbar&&t.slots.headerToolbar(),!t.slots.headerToolbar&&M()])}const F=e.computed(()=>{const u={"f-content":!0};return j.value.split(" ").reduce((b,A)=>(b[A]=!0,b),u),u});function S(){return e.createVNode(e.Fragment,null,[t.slots.headerContent&&e.createVNode("div",{class:F.value},[t.slots.headerContent()]),x()])}const k=e.computed(()=>{const u={"f-cmp-footer-header":!0};return m.value.split(" ").reduce((b,A)=>(b[A]=!0,b),u),u});function d(){return e.createVNode("header",{class:k.value},[t.slots.header&&t.slots.header(),!t.slots.header&&S()])}const O=e.computed(()=>{const u={"f-cmp-footer":!0,"f-state-collapse":p.value&&i.value,"f-cmp-footer-accordion":p.value};return m.value.split(" ").reduce((b,A)=>(b[A]=!0,b),u),u}),y=e.computed(()=>{const u={"f-cmp-footer-content":!0};return a.value.split(" ").reduce((b,A)=>(b[A]=!0,b),u),u});return()=>e.createVNode("div",{ref:n,class:O.value},[e.createVNode("footer",{class:"f-cmp-footer-container"},[l.value&&d(),e.createVNode("div",{class:y.value},[t.slots.default&&t.slots.default()])])])}}),ee={install(r){r.component(H.name,H)},register(r,t,i,o){r["page-footer"]=H,t["page-footer"]=w},registerDesigner(r,t,i){r["page-footer"]=K,t["page-footer"]=w}};h.FPageFooter=H,h.default=ee,h.pageFooterProps=P,h.propsResolver=w,Object.defineProperties(h,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});