@farris/ui-vue 1.2.9 → 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 (287) hide show
  1. package/components/accordion/index.esm.js +64 -64
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +521 -336
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/button-edit/index.css +1 -1
  6. package/components/button-edit/index.esm.js +99 -97
  7. package/components/button-edit/index.umd.cjs +1 -1
  8. package/components/calendar/index.esm.js +496 -504
  9. package/components/calendar/index.umd.cjs +1 -1
  10. package/components/capsule/index.esm.js +251 -259
  11. package/components/capsule/index.umd.cjs +1 -1
  12. package/components/checkbox/index.esm.js +696 -519
  13. package/components/checkbox/index.umd.cjs +1 -1
  14. package/components/color-picker/index.esm.js +368 -376
  15. package/components/color-picker/index.umd.cjs +2 -2
  16. package/components/combo-list/index.css +1 -0
  17. package/components/combo-list/index.esm.js +1141 -340
  18. package/components/combo-list/index.umd.cjs +1 -1
  19. package/components/combo-tree/index.esm.js +116 -116
  20. package/components/combo-tree/index.umd.cjs +1 -1
  21. package/components/common/index.esm.js +986 -798
  22. package/components/common/index.umd.cjs +1 -1
  23. package/components/component/index.esm.js +463 -998
  24. package/components/component/index.umd.cjs +1 -1
  25. package/components/condition/index.css +1 -0
  26. package/components/condition/index.esm.js +2233 -1057
  27. package/components/condition/index.umd.cjs +1 -1
  28. package/components/content-container/index.esm.js +335 -1002
  29. package/components/content-container/index.umd.cjs +1 -1
  30. package/components/data-grid/index.css +1 -1
  31. package/components/data-grid/index.esm.js +6193 -4702
  32. package/components/data-grid/index.umd.cjs +1 -1
  33. package/components/data-view/index.css +1 -0
  34. package/components/data-view/index.esm.js +4562 -3294
  35. package/components/data-view/index.umd.cjs +1 -1
  36. package/components/date-picker/index.css +1 -1
  37. package/components/date-picker/index.esm.js +3420 -2623
  38. package/components/date-picker/index.umd.cjs +1 -1
  39. package/components/designer-canvas/index.css +1 -1
  40. package/components/designer-canvas/index.esm.js +914 -883
  41. package/components/designer-canvas/index.umd.cjs +1 -1
  42. package/components/designer-outline/index.esm.js +14 -13
  43. package/components/designer-outline/index.umd.cjs +1 -1
  44. package/components/dropdown/index.esm.js +204 -212
  45. package/components/dropdown/index.umd.cjs +2 -2
  46. package/components/dynamic-form/index.css +1 -0
  47. package/components/dynamic-form/index.esm.js +2795 -1835
  48. package/components/dynamic-form/index.umd.cjs +1 -1
  49. package/components/dynamic-resolver/index.esm.js +180 -130
  50. package/components/dynamic-resolver/index.umd.cjs +1 -1
  51. package/components/dynamic-view/index.esm.js +303 -290
  52. package/components/dynamic-view/index.umd.cjs +1 -1
  53. package/components/events-editor/index.esm.js +328 -336
  54. package/components/events-editor/index.umd.cjs +1 -1
  55. package/components/expression-editor/index.esm.js +65 -65
  56. package/components/expression-editor/index.umd.cjs +1 -1
  57. package/components/external-container/index.css +1 -1
  58. package/components/external-container/index.esm.js +3349 -3626
  59. package/components/external-container/index.umd.cjs +1 -1
  60. package/components/field-selector/index.css +1 -1
  61. package/components/field-selector/index.esm.js +5344 -8588
  62. package/components/field-selector/index.umd.cjs +1 -1
  63. package/components/filter-bar/index.css +1 -1
  64. package/components/filter-bar/index.esm.js +2179 -2227
  65. package/components/filter-bar/index.umd.cjs +1 -1
  66. package/components/flow-canvas/index.css +1 -1
  67. package/components/flow-canvas/index.esm.js +684 -675
  68. package/components/flow-canvas/index.umd.cjs +1 -1
  69. package/components/image-cropper/index.esm.js +482 -490
  70. package/components/image-cropper/index.umd.cjs +1 -1
  71. package/components/input-group/index.esm.js +746 -569
  72. package/components/input-group/index.umd.cjs +1 -1
  73. package/components/layout/index.esm.js +409 -385
  74. package/components/layout/index.umd.cjs +1 -1
  75. package/components/list-nav/index.esm.js +348 -1019
  76. package/components/list-nav/index.umd.cjs +1 -1
  77. package/components/list-view/index.css +1 -1
  78. package/components/list-view/index.esm.js +3606 -2388
  79. package/components/list-view/index.umd.cjs +1 -1
  80. package/components/lookup/index.css +1 -1
  81. package/components/lookup/index.esm.js +10871 -8970
  82. package/components/lookup/index.umd.cjs +1 -1
  83. package/components/mapping-editor/index.css +1 -1
  84. package/components/mapping-editor/index.esm.js +6019 -5631
  85. package/components/mapping-editor/index.umd.cjs +1 -1
  86. package/components/message-box/index.css +1 -1
  87. package/components/message-box/index.esm.js +511 -471
  88. package/components/message-box/index.umd.cjs +1 -1
  89. package/components/modal/index.css +1 -1
  90. package/components/modal/index.esm.js +438 -398
  91. package/components/modal/index.umd.cjs +1 -1
  92. package/components/nav/index.esm.js +912 -1281
  93. package/components/nav/index.umd.cjs +3 -3
  94. package/components/notify/index.esm.js +59 -53
  95. package/components/notify/index.umd.cjs +1 -1
  96. package/components/number-range/index.esm.js +660 -484
  97. package/components/number-range/index.umd.cjs +1 -1
  98. package/components/number-spinner/index.esm.js +682 -506
  99. package/components/number-spinner/index.umd.cjs +1 -1
  100. package/components/order/index.css +1 -1
  101. package/components/order/index.esm.js +1848 -1658
  102. package/components/order/index.umd.cjs +1 -1
  103. package/components/page-footer/index.esm.js +100 -100
  104. package/components/page-footer/index.umd.cjs +1 -1
  105. package/components/page-header/index.esm.js +1120 -1923
  106. package/components/page-header/index.umd.cjs +1 -1
  107. package/components/pagination/index.esm.js +875 -1214
  108. package/components/pagination/index.umd.cjs +1 -1
  109. package/components/popover/index.esm.js +71 -70
  110. package/components/popover/index.umd.cjs +1 -1
  111. package/components/progress/index.esm.js +229 -237
  112. package/components/progress/index.umd.cjs +3 -3
  113. package/components/property-editor/index.css +1 -1
  114. package/components/property-editor/index.esm.js +2314 -1521
  115. package/components/property-editor/index.umd.cjs +3 -3
  116. package/components/property-panel/index.esm.js +867 -868
  117. package/components/property-panel/index.umd.cjs +1 -1
  118. package/components/query-solution/index.css +1 -1
  119. package/components/query-solution/index.esm.js +4332 -3623
  120. package/components/query-solution/index.umd.cjs +1 -1
  121. package/components/radio-button/index.esm.js +72 -72
  122. package/components/radio-button/index.umd.cjs +1 -1
  123. package/components/radio-group/index.esm.js +613 -437
  124. package/components/radio-group/index.umd.cjs +1 -1
  125. package/components/rate/index.esm.js +255 -263
  126. package/components/rate/index.umd.cjs +1 -1
  127. package/components/response-layout/index.esm.js +144 -152
  128. package/components/response-layout/index.umd.cjs +1 -1
  129. package/components/response-layout-editor/index.css +1 -1
  130. package/components/response-layout-editor/index.esm.js +1101 -1038
  131. package/components/response-layout-editor/index.umd.cjs +1 -1
  132. package/components/response-toolbar/index.esm.js +935 -1750
  133. package/components/response-toolbar/index.umd.cjs +1 -1
  134. package/components/schema-selector/index.css +1 -1
  135. package/components/schema-selector/index.esm.js +5264 -5677
  136. package/components/schema-selector/index.umd.cjs +2 -2
  137. package/components/search-box/index.esm.js +151 -154
  138. package/components/search-box/index.umd.cjs +1 -1
  139. package/components/section/index.esm.js +438 -1125
  140. package/components/section/index.umd.cjs +1 -1
  141. package/components/smoke-detector/index.esm.js +93 -101
  142. package/components/smoke-detector/index.umd.cjs +1 -1
  143. package/components/splitter/index.esm.js +563 -1202
  144. package/components/splitter/index.umd.cjs +1 -1
  145. package/components/splitter/style.js +2 -0
  146. package/components/step/index.esm.js +248 -256
  147. package/components/step/index.umd.cjs +1 -1
  148. package/components/switch/index.esm.js +549 -373
  149. package/components/switch/index.umd.cjs +1 -1
  150. package/components/tabs/index.css +1 -1
  151. package/components/tabs/index.esm.js +2436 -3110
  152. package/components/tabs/index.umd.cjs +1 -1
  153. package/components/tags/index.esm.js +328 -336
  154. package/components/tags/index.umd.cjs +1 -1
  155. package/components/text/index.esm.js +339 -347
  156. package/components/text/index.umd.cjs +1 -1
  157. package/components/textarea/index.esm.js +554 -378
  158. package/components/textarea/index.umd.cjs +1 -1
  159. package/components/time-picker/index.css +1 -1
  160. package/components/time-picker/index.esm.js +1322 -1144
  161. package/components/time-picker/index.umd.cjs +1 -1
  162. package/components/transfer/index.css +1 -1
  163. package/components/transfer/index.esm.js +537 -543
  164. package/components/transfer/index.umd.cjs +1 -1
  165. package/components/tree-grid/index.css +1 -1
  166. package/components/tree-grid/index.esm.js +5113 -9426
  167. package/components/tree-grid/index.umd.cjs +1 -1
  168. package/components/tree-view/index.css +1 -0
  169. package/components/tree-view/index.esm.js +3900 -2677
  170. package/components/tree-view/index.umd.cjs +1 -1
  171. package/components/uploader/index.esm.js +568 -570
  172. package/components/uploader/index.umd.cjs +2 -2
  173. package/components/verify-detail/index.esm.js +266 -274
  174. package/components/verify-detail/index.umd.cjs +1 -1
  175. package/components/video/index.esm.js +553 -1052
  176. package/components/video/index.umd.cjs +1 -1
  177. package/components/weather/index.esm.js +558 -566
  178. package/components/weather/index.umd.cjs +5 -5
  179. package/farris.all.esm.js +22009 -22688
  180. package/farris.all.umd.cjs +9 -9
  181. package/index.css +1 -1
  182. package/package.json +1 -1
  183. package/types/capsule/src/capsule.props.d.ts +2 -2
  184. package/types/combo-list/src/components/list-container.component.d.ts +0 -3
  185. package/types/combo-list/src/components/list-container.props.d.ts +0 -4
  186. package/types/common/directive/area-response.d.ts +10 -0
  187. package/types/common/index.d.ts +9 -0
  188. package/types/common/radio-checkbox/radio-checkbox.props.d.ts +1 -0
  189. package/types/common/types.d.ts +1 -1
  190. package/types/common/utils/encrypt.d.ts +2 -0
  191. package/types/common/utils/resolve-field.d.ts +2 -0
  192. package/types/common/utils/use-class.d.ts +7 -0
  193. package/types/component/src/component.props.d.ts +7 -0
  194. package/types/component/src/designer/use-designer-rules.d.ts +2 -2
  195. package/types/component/src/property-config/component.property-config.d.ts +9 -0
  196. package/types/components.d.ts +1 -0
  197. package/types/condition/src/types.d.ts +2 -1
  198. package/types/content-container/src/designer/use-designer-rules.d.ts +3 -3
  199. package/types/data-grid/index.d.ts +11 -5
  200. package/types/data-grid/src/data-grid.component.d.ts +4 -2
  201. package/types/data-grid/src/data-grid.props.d.ts +1 -0
  202. package/types/data-grid/src/designer/data-grid.design.component.d.ts +2 -2
  203. package/types/data-grid/src/designer/use-designer-rules.d.ts +2 -2
  204. package/types/data-view/components/row/hierarchy-row.component.d.ts +2 -2
  205. package/types/data-view/composition/data/use-tree-data.d.ts +1 -1
  206. package/types/data-view/composition/types.d.ts +19 -4
  207. package/types/data-view/composition/visualization/use-virtual-scroll.d.ts +0 -15
  208. package/types/designer-canvas/index.d.ts +2 -1
  209. package/types/designer-canvas/src/composition/dg-control.d.ts +5 -0
  210. package/types/designer-canvas/src/composition/rule/use-dragula-common-rule.d.ts +4 -0
  211. package/types/designer-canvas/src/composition/rule/use-template-rule.d.ts +30 -0
  212. package/types/designer-canvas/src/composition/types.d.ts +2 -3
  213. package/types/designer-canvas/src/types.d.ts +2 -1
  214. package/types/dynamic-form/src/composition/use-response-form-layout-setting.d.ts +2 -0
  215. package/types/dynamic-form/src/designer/response-form-layout-setting.component.d.ts +8 -0
  216. package/types/dynamic-form/src/designer/response-form-layout-setting.props.d.ts +4 -0
  217. package/types/dynamic-form/src/designer/response-form.design.component.d.ts +7 -1
  218. package/types/dynamic-form/src/designer/use-designer-rules.d.ts +1 -1
  219. package/types/dynamic-form/src/property-config/form.property-config.d.ts +9 -0
  220. package/types/dynamic-form/src/schema/schema-mapper.d.ts +1 -0
  221. package/types/dynamic-form/src/schema/schema-resolver.d.ts +1 -0
  222. package/types/dynamic-form/src/types.d.ts +12 -1
  223. package/types/dynamic-resolver/index.d.ts +1 -0
  224. package/types/dynamic-resolver/src/common/toolbar-resolver.d.ts +1 -1
  225. package/types/dynamic-resolver/src/event-handler-resolver.d.ts +4 -0
  226. package/types/dynamic-resolver/src/types.d.ts +9 -0
  227. package/types/dynamic-view/index.d.ts +1 -0
  228. package/types/dynamic-view/src/event-dispatcher.d.ts +1 -1
  229. package/types/external-container/src/designer/use-designer-rules.d.ts +3 -3
  230. package/types/index.d.ts +2 -0
  231. package/types/layout/src/designer/layout-pane-use-designer-rules.d.ts +3 -3
  232. package/types/list-nav/src/designer/use-designer-rules.d.ts +3 -0
  233. package/types/lookup/src/components/favorite/lookup-favorite.component.d.ts +29 -0
  234. package/types/lookup/src/components/favorite/lookup-favorite.props.d.ts +15 -0
  235. package/types/lookup/src/components/modal-container.component.d.ts +25 -0
  236. package/types/lookup/src/components/modal-container.props.d.ts +29 -0
  237. package/types/lookup/src/composition/types.d.ts +8 -0
  238. package/types/lookup/src/composition/use-check-props.d.ts +9 -2
  239. package/types/lookup/src/composition/use-dialog.d.ts +5 -1
  240. package/types/lookup/src/composition/use-favorite.d.ts +12 -0
  241. package/types/lookup/src/composition/use-http.d.ts +9 -5
  242. package/types/lookup/src/composition/use-input-change.d.ts +3 -0
  243. package/types/lookup/src/composition/use-user-data.d.ts +24 -0
  244. package/types/lookup/src/property-config/lookup.property-config.d.ts +6 -4
  245. package/types/mapping-editor/src/mapping-editor.component.d.ts +3 -0
  246. package/types/mapping-editor/src/mapping-editor.props.d.ts +0 -1
  247. package/types/modal/src/composition/use-draggable.d.ts +2 -1
  248. package/types/modal/src/composition/use-shortcut.d.ts +6 -0
  249. package/types/modal/src/modal.component.d.ts +3 -0
  250. package/types/modal/src/modal.props.d.ts +4 -0
  251. package/types/page-header/src/page-header.props.d.ts +1 -0
  252. package/types/pagination/src/components/buttons/goto-buttons.component.d.ts +2 -2
  253. package/types/pagination/src/components/buttons/next-buttons.component.d.ts +2 -2
  254. package/types/pagination/src/components/buttons/previous-buttons.component.d.ts +2 -2
  255. package/types/pagination/src/components/pages/page-list.component.d.ts +2 -2
  256. package/types/pagination/src/components/pages/page-number.component.d.ts +2 -2
  257. package/types/property-panel/index.d.ts +2 -1
  258. package/types/property-panel/src/composition/entity/base-property.d.ts +8 -0
  259. package/types/property-panel/src/composition/entity/input-base-property.d.ts +20 -1
  260. package/types/query-solution/src/designer/query-solution-config/composition/types.d.ts +34 -27
  261. package/types/query-solution/src/designer/query-solution-config/composition/use-panel.d.ts +2 -16
  262. package/types/{data-grid/src/designer/use-group-column.d.ts → query-solution/src/designer/query-solution-config/composition/use-property.d.ts} +4 -5
  263. package/types/query-solution/src/designer/query-solution-config/composition/use-querysolution-rules.d.ts +3 -0
  264. package/types/query-solution/src/designer/query-solution-config/composition/use-transfer.d.ts +1 -1
  265. package/types/query-solution/src/property-config/query-solution.property-config.d.ts +60 -0
  266. package/types/query-solution/src/solutions.d.ts +108 -509
  267. package/types/response-layout-editor/index.d.ts +3 -1
  268. package/types/response-layout-editor/src/composition/converter/use-response-layout-editor-setting.d.ts +2 -0
  269. package/types/response-layout-editor/src/type.d.ts +21 -0
  270. package/types/response-toolbar/src/designer/use-designer-rules.d.ts +3 -3
  271. package/types/response-toolbar/src/property-config/response-toolbar-item.property-config.d.ts +1 -0
  272. package/types/section/src/designer/use-designer-rules.d.ts +3 -3
  273. package/types/splitter/src/components/splitter-pane.component.d.ts +1 -1
  274. package/types/splitter/src/designer/splitter-pane-use-designer-rules.d.ts +3 -3
  275. package/types/splitter/src/designer/splitter-use-designer-rules.d.ts +3 -3
  276. package/types/tabs/src/designer/tab-page-use-designer-rules.d.ts +3 -3
  277. package/types/tabs/src/designer/tab-use-designer-rules.d.ts +3 -3
  278. package/types/tabs/src/tabs.props.d.ts +1 -0
  279. package/types/tree-grid/index.d.ts +8 -2
  280. package/types/tree-grid/src/tree-grid.component.d.ts +3 -1
  281. package/types/designer-canvas/src/composition/rule/use-drag-drop-rules.d.ts +0 -19
  282. package/types/designer-canvas/src/composition/use-dragula-common-rule.d.ts +0 -4
  283. package/types/list-nav/src/composition/use-designer-rules.d.ts +0 -3
  284. package/types/modal/src/composition/use-esc.d.ts +0 -1
  285. package/types/query-solution/src/designer/query-solution-config/composition/mock-data.d.ts +0 -6
  286. package/types/response-layout-editor/src/composition/converter/response-layout-editor.converter.d.ts +0 -3
  287. package/types/response-layout-editor/src/composition/converter/use-convert-property-value.d.ts +0 -20
@@ -1 +1 @@
1
- (function(O,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("lodash-es"),require("../response-toolbar/index.umd.js"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../response-toolbar/index.umd.js","../common/index.umd.js","../designer-canvas/index.umd.js"],t):(O=typeof globalThis<"u"?globalThis:O||self,t(O["page-header"]={},O.Vue,O.LodashES,O.FResponseToolbar$1,O.common,O.designerCanvas))})(this,function(O,t,U,Ne,H,ae){"use strict";var mt=Object.defineProperty;var gt=(O,t,U)=>t in O?mt(O,t,{enumerable:!0,configurable:!0,writable:!0,value:U}):O[t]=U;var B=(O,t,U)=>gt(O,typeof t!="symbol"?t+"":t,U);const Z={},le={};function K(r){const{properties:e,title:n,ignore:i}=r,u=i&&Array.isArray(i),b=Object.keys(e).reduce((g,D)=>((!u||!i.find(j=>j==D))&&(g[D]=e[D].type==="object"&&e[D].properties?K(e[D]):U.cloneDeep(e[D].default)),g),{});return(!u||!i.find(g=>g=="id"))&&(b.id=`${n}-${Date.now()}`),b}function L(r,e={},n){const i=Z[r];if(i){let u=K(i);const b=le[r];return u=b?b({getSchemaByType:L},u,e,n):u,u}return null}function Me(r,e){const n=K(e);return Object.keys(r).reduce((i,u)=>(i[u]&&typeof i[u]=="object"?Object.assign(i[u],r[u]):i[u]=r[u],i),n),n}function xe(r,e){return Object.keys(r).filter(i=>r[i]!=null).reduce((i,u)=>{if(e.has(u)){const b=e.get(u);if(typeof b=="string")i[b]=r[u];else{const g=b(u,r[u],r);Object.assign(i,g)}}else i[u]=r[u];return i},{})}function Ee(r,e,n=new Map){const i=Me(r,e);return xe(i,n)}function Ve(r={}){function e(y,T,p,c){if(typeof p=="number")return c[y].length===p;if(typeof p=="object"){const f=Object.keys(p)[0],l=p[f];if(f==="not")return Number(c[y].length)!==Number(l);if(f==="moreThan")return Number(c[y].length)>=Number(l);if(f==="lessThan")return Number(c[y].length)<=Number(l)}return!1}function n(y,T,p,c){return c[y]&&c[y].propertyValue&&String(c[y].propertyValue.value)===String(p)}const i=new Map([["length",e],["getProperty",n]]);Object.keys(r).reduce((y,T)=>(y.set(T,r[T]),y),i);function u(y,T){const p=y;return typeof T=="number"?[{target:p,operator:"length",param:null,value:Number(T)}]:typeof T=="boolean"?[{target:p,operator:"getProperty",param:y,value:!!T}]:typeof T=="object"?Object.keys(T).map(c=>{if(c==="length")return{target:p,operator:"length",param:null,value:T[c]};const f=c,l=T[c];return{target:p,operator:"getProperty",param:f,value:l}}):[]}function b(y){return Object.keys(y).reduce((p,c)=>{const f=u(c,y[c]);return p.push(...f),p},[])}function g(y,T){if(i.has(y.operator)){const p=i.get(y.operator);return p&&p(y.target,y.param,y.value,T)||!1}return!1}function D(y,T){return b(y).reduce((f,l)=>f&&g(l,T),!0)}function j(y,T){const p=Object.keys(y),c=p.includes("allOf"),f=p.includes("anyOf"),l=c||f,S=(l?y[l?c?"allOf":"anyOf":"allOf"]:[y]).map(P=>D(P,T));return c?!S.includes(!1):S.includes(!0)}return{parseValueSchema:j}}const z={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"}},pe={},ke={};Ve();function ee(r,e,n=new Map,i=(g,D,j)=>D,u={},b=g=>g){return Z[e.title]=e,le[e.title]=i,pe[e.title]=u,ke[e.title]=b,(g={})=>{const D=Ee(g,e,n),j=Object.keys(r).reduce((y,T)=>(y[T]=r[T].default,y),{});return Object.assign(j,D)}}function de(r,e){return{customClass:e.class,customStyle:e.style}}function Ae(r,e){return{buttons:e.buttons}}const Be=new Map([["appearance",de],["toolbar",Ae]]),Re={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/page-header.schema.json",title:"page-header",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a Page Header",type:"string"},type:{description:"The type string of Page Header component",type:"string",default:"page-header"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},showIcon:{description:"",type:"boolean",default:!0},icon:{description:"",type:"string",default:"f-icon-page-title-record"},iconClass:{description:"",type:"string",default:"f-text-orna-bill"},title:{description:"",type:"string",default:""},subTitle:{description:"",type:"string",default:""},toolbar:{description:"",type:"object",properties:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",type:"string",default:"response-toolbar"},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Response Toolbar.",type:"array",default:[]}}},buttonClass:{description:"",type:"string",default:"col-6"},titleContentClass:{description:"",type:"string",default:""},contentClass:{description:"",type:"string",default:""},downContentClass:{description:"",type:"string",default:""},showPagination:{description:"",type:"boolean",default:!1},prePaginationDisabled:{description:"",type:"boolean",default:!0},nextPaginationDisabled:{description:"",type:"boolean",default:!1}}};function Ie(r,e,n){return e.title="标题",e}const G={customClass:{type:String,default:""},showIcon:{type:Boolean,default:!0},icon:{type:String,default:"f-icon-page-title-record"},iconClass:{type:String,default:"f-text-orna-bill"},title:{type:String,default:""},subTitle:{type:String,default:""},buttonClass:{type:String,default:"col-6"},buttons:{type:Array,default:[]},titleContentClass:{type:String,default:""},contentClass:{type:String,default:""},downContentClass:{type:String,default:""},showPagination:{type:Boolean,default:!1},prePaginationDisabled:{type:Boolean,default:!0},nextPaginationDisabled:{type:Boolean,default:!1}},ue=Object.assign({},G,{componentId:{type:String,default:""}}),te=ee(G,Re,Be,Ie),J=t.defineComponent({name:"FPageHeader",props:G,emits:["Click","PrePaginationClick","NextPaginationClick"],setup(r,e){const n=t.ref(r.buttons),i=(P,E)=>{e.emit("Click",P,E)};function u(P,E){P&&E&&E.split(" ").reduce((C,m)=>(C[m]=!0,C),P)}const b=t.computed(()=>{const P={"f-page-header":!0};return u(P,r.customClass),P}),g=t.computed(()=>{const P={"f-title-icon":!0};return u(P,r.iconClass),P}),D=t.computed(()=>{const P={"f-icon":!0};return u(P,r.icon),P}),j=t.computed(()=>{const P={"f-title":!0};return u(P,r.titleContentClass),P}),y=t.computed(()=>{const P={"f-content":!0};return u(P,r.contentClass),P}),T=t.computed(()=>{const P={"f-content":!0};return u(P,r.downContentClass),P}),p=t.computed(()=>({"f-icon f-icon-arrow-w":!0,"f-state-disabled":r.prePaginationDisabled})),c=t.computed(()=>({"f-icon f-icon-arrow-e":!0,"f-state-disabled":r.nextPaginationDisabled}));function f(P){r.prePaginationDisabled||e.emit("PrePaginationClick",P)}function l(P){r.nextPaginationDisabled||e.emit("NextPaginationClick",P)}function w(){return e.slots.titleContent?t.createVNode("div",{class:j.value},[t.createTextVNode(" "),e.slots.titleContent()]):t.createVNode("div",{class:"f-title"},[r.showIcon&&r.icon?t.createVNode("span",{class:g.value},[t.createVNode("i",{class:D.value},null)]):"",t.createVNode("h4",{class:"f-title-text"},[r.title]),r.subTitle?t.createVNode("h5",{class:"f-title-subtitle"},[r.subTitle]):"",r.showPagination?t.createVNode("div",{class:"f-title-pagination"},[t.createVNode("span",{class:p.value,onClick:f},null),t.createVNode("span",{class:c.value,onClick:l},null)]):""])}function v(){return e.slots.content?t.createVNode("div",{class:y.value},[t.createTextVNode(" "),e.slots.content()]):""}function S(){if(r.buttons&&r.buttons.length>0)return t.createVNode(Ne,{customClass:r.buttonClass,items:n.value,onClick:i},null)}function A(){return e.slots.downContent?t.createVNode("div",{class:T.value},[t.createTextVNode(" "),e.slots.downContent()]):""}return t.watch(()=>r.buttons,P=>{n.value=P},{deep:!0}),()=>t.createVNode("div",{class:b.value},[t.createVNode("nav",{class:"f-page-header-base"},[w(),v(),S()]),A()])}});function $e(r,e,n){var R;function i(){n!=null&&n.resolveComponentContext&&n.resolveComponentContext()}i();const u=n&&n.getStyles&&n.getStyles()||"",b=n&&n.getDesignerClass&&n.getDesignerClass()||"",g=t.ref();function D(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanMoveComponent?n.checkCanMoveComponent():!0}function j(){return!1}function y(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanDeleteComponent?n.checkCanDeleteComponent():!0}function T(){return(e==null?void 0:e.schema.componentType)==="frame"?!0:n&&n.hideNestedPaddingInDesginerView?n.hideNestedPaddingInDesginerView():!1}function p(C){if(!C||!C.value)return null;if(C.value.schema&&C.value.schema.type==="component")return C.value;const m=t.ref(C==null?void 0:C.value.parent),N=p(m);return N||null}function c(C=e){const{componentInstance:m,designerItemElementRef:N}=C;return!m||!m.value?null:m.value.canMove?N:c(C.parent)}function f(C){return!!n&&n.canAccepts(C)}function l(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function w(){}function v(C,m){m&&n!=null&&n.onAcceptMovedChildElement&&n.onAcceptMovedChildElement(m)}function S(C,m){const{componentType:N}=C;let x=L(N,C,m);n&&n.onResolveNewComponentSchema&&(x=n.onResolveNewComponentSchema(C,x));const d=N.toLowerCase().replace("-","_");return x&&!x.id&&x.type===N&&(x.id=`${d}_${Math.random().toString().slice(2,6)}`),x}function A(C,m){const N=String(C.getAttribute("data-controltype")),x=C.getAttribute("data-feature"),d=x?JSON.parse(x):{};d.parentComponentInstance=g.value;let s=L(N,d);n&&n.onAcceptNewChildElement&&(s=n.onAcceptNewChildElement(C,m,s));const o=N.toLowerCase().replace("-","_");return s&&!s.id&&s.type===N&&(s.id=`${o}_${Math.random().toString().slice(2,6)}`),s}function P(C){}function E(...C){if(n&&n.getPropsConfig)return n.getPropsConfig(...C)}return g.value={canMove:D(),canSelectParent:j(),canDelete:y(),canNested:!T(),contents:e==null?void 0:e.schema.contents,elementRef:r,parent:(R=e==null?void 0:e.parent)==null?void 0:R.componentInstance,schema:e==null?void 0:e.schema,styles:u,designerClass:b,canAccepts:f,getBelongedComponentInstance:p,getDraggableDesignItemElement:c,getDraggingDisplayText:l,getPropConfig:E,getDragScopeElement:w,onAcceptMovedChildElement:v,onAcceptNewChildElement:A,onChildElementMovedOut:P,addNewChildComponentSchema:S,updateDragAndDropRules:i,triggerBelongedComponentToMoveWhenMoved:!!n&&n.triggerBelongedComponentToMoveWhenMoved||t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!n&&n.triggerBelongedComponentToDeleteWhenDeleted||t.ref(!1)},g}class Q{constructor(e,n){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=e,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((i=this.formSchemaUtils)==null?void 0:i.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService,this.schemaService=n.schemaService}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){const n=e.binding&&e.binding.type==="Form"&&e.binding.field;if(n){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(u=>u.id===n)}e.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(e,n){}getBasicPropConfig(e){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:e.type,name:z[e.type].name}]}}}}}getAppearanceConfig(e=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}}class Oe extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.propertyConfig}getBasicPropConfig(e){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"page-header",value:z["page-header"].name}]}},icon:{title:"图标",type:"string",description:"图标"},title:{title:"标题",type:"string",description:"标题"}},setPropertyRelates(n,i){if(n)switch(n&&n.propertyID){case"title":{n.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(e){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class",type:"string",description:""},style:{title:"style",type:"string",description:""}}}}getEventPropConfig(e){const n=[{label:"click",name:"点击事件"}],i=this,u=i.eventsEditorUtils.formProperties(e,i.viewModelId,n);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:{"data-grid-component-viewmodel":{type:"events-editor",editor:{initialData:u}}},refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(b,g){const D=b.propertyValue;delete e[i.viewModelId],D&&(D.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(e,i.viewModelId,D.events,D))}}}}function _e(r,e){function n(D){return!1}function i(){return!1}function u(){return!1}function b(){return!0}function g(D){return new Oe(D,e).getPropertyConfig(r)}return{canAccepts:n,hideNestedPaddingInDesginerView:b,getPropsConfig:g,checkCanDeleteComponent:i,checkCanMoveComponent:u}}class fe{constructor(e){B(this,"id","");B(this,"class","btn-secondary");B(this,"icon","");B(this,"groupId","");B(this,"order",-1);B(this,"asDropDownTop",!1);B(this,"text","");B(this,"visible",!0);B(this,"responsed",!1);B(this,"tipsEnable",!1);B(this,"tipsText","");B(this,"width",0);B(this,"onClick",()=>{});B(this,"options");this.options=e;const n=["id","class","icon","groupId","order","asDropDownTop","text","isDP","visible","responsed","width","tipsEnable","tipsText","onClick"];Object.keys(e).filter(i=>n.indexOf(i)>-1).forEach(i=>{this[i]=e[i]})}get enable(){return Object.keys(this.options).indexOf("enable")>-1?this.options.enable:t.computed(()=>!0)}setWidth(e){this.width=parseInt(e,10)}getWidth(){return this.visible?this.width:!1}}class Fe extends fe{constructor(e){super(e)}}function me(){function r(e){const n=[];return e.reduce((i,u)=>(u.children&&u.children.length>0?i.push(new q(u)):i.push(new Fe(u)),i),n),n}return{buildResponseToolbarItems:r}}const{buildResponseToolbarItems:Le}=me();class q extends fe{constructor(n){super(n);B(this,"placement","");B(this,"dropdownClass","");B(this,"menuClass","");B(this,"split",!1);B(this,"children",[]);B(this,"expanded",!1);const i=["isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(n).filter(u=>i.indexOf(u)>-1).forEach(u=>{this[u]=n[u]}),n.children&&n.children.length&&(this.children=Le(n.children))}}const We=new Map([["buttons","items"],["appearance",de]]),Ue=new Map([["appearance",qe]]);function qe(r,e){return{class:e.class,style:e.style}}function ge(r,e,n){return e}const He={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-toolbar.schema.json",title:"response-toolbar",description:"A Farris Toolbar Component",type:"object",properties:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",type:"string",default:"response-toolbar"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Response Toolbar.",type:"array",default:[]}},required:["id","type","buttons"]},ne={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-toolbar-item.schema.json",title:"response-toolbar-item",description:"A Farris Toolbar Item Component",type:"object",properties:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",type:"string",default:"response-toolbar-item"},appearance:{description:"",type:"object",properties:{class:{type:"string",default:"btn-primary"},style:{type:"string"}},default:{}},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},text:{description:"The items of Response Toolbar.",type:"string",default:"新增"},icon:{description:"The icon of response toolbar item.",type:"string",default:""},click:{description:"The event of response toolbar item.",type:"string",default:""}},required:["id","type","text"]},he={title:"response-toolbar-item",description:"A Farris Container Component",type:"object",categories:{basic:{title:"基本信息",description:"Basic Infomation",properties:{id:{title:"标识",type:"string",description:"The identifier of a component.",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",data:[]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}},oe={customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]}};Z[ne.title]=ne,pe[he.title]=he;const ze=Object.assign({},oe,{componentId:{type:String,default:""}}),re=ee(oe,He,We,ge),be={id:{type:String,default:""},items:{type:Object,default:{}},class:{type:String,default:""},text:{type:String,default:""},disabled:{type:Boolean,default:!1},icon:{type:String,default:""},componentId:{type:String,default:""},alignment:{Type:String,default:"right"}},Ge=ee(be,ne,Ue,ge);function ye(){function r(n){const i={"f-icon":!0};if(n.icon){const u=n.icon.trim().split(" ");u&&u.length&&u.reduce((b,g)=>(b[g]=!0,b),i)}return i}function e(n){return!!(n.icon&&n.icon.trim())}return{iconClass:r,shouldShowIcon:e}}function Je(r){function e(p){const c={"dropdown-menu":!0};if(p.class){const f=p.menuClass.split(" ");f&&f.length&&f.reduce((l,w)=>(l[w]=!0,l),c)}return c}function n(p){const c={disabled:!p.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},f=p.dropdownClass.split(" ");return f&&f.length&&f.reduce((l,w)=>(l[w]=!0,l),c),c}function i(p){const c={disabled:!p.enable,"dropdown-item":!0,"f-rt-btn":!0},f=p.class.split(" ");return f&&f.length&&f.reduce((l,w)=>(l[w]=!0,l),c),c}let u;const b=new Map;function g(p,c,f){var w;((w=p.target)==null?void 0:w.id)===c.id&&p.stopPropagation();const l=f?f.id:"__top_item__";if(c.children&&c.children.length&&(c.expanded=!c.expanded,c.expanded?b.set(l,c):b.delete(l)),b.has(l)&&b.get(l)!==c){const v=b.get(l);v&&(v.expanded=!1)}}function D(p,c){document.body.click(),c.enable&&c.onClick(p,c.id)}function j(p){return p.children.map(c=>c.children&&c.children.length?t.createVNode("li",{class:n(c),id:c.id,onClick:f=>c.enable&&g(f,c,p)},[t.createVNode("span",{id:c.id,class:i(c),onMouseover:f=>c.enable&&g(f,c,p)},[c.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),u(c,c)]):t.createVNode("li",{class:i(c),id:c.id,onClick:f=>D(f,c),onMouseover:f=>c.enable&&g(f,c,p)},[r.shouldShowIcon(c)&&t.createVNode("i",{class:r.iconClass(c)},null),c.text]))}function y(p,c,f){const l={display:p.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},w=document.getElementsByTagName("body")[0].getClientRects()[0].width,v=c,S=v==null?void 0:v.getClientRects();if(v&&S&&S.length){const{top:A,width:P,left:E,right:R,height:C}=S[0],m=Math.ceil(C+A);l.top=`${m}px`,l.left=`${E}px`;const N=p.id+"_menu",x=c?c.querySelector("#"+N):null;if(x){l.display==="block"&&(x.style.display="block");const d=x.getBoundingClientRect();if(f){l.top=`${A-6}px`;const s=Math.ceil(P+E);l.left=`${s}px`}w-E-P<d.width&&(l.left=`${(f?E:R)-d.width}px`)}}return l}u=function(p,c){var v,S;const f=t.getCurrentInstance(),l=c?c.id:p.id,w=(S=(v=f==null?void 0:f.exposed)==null?void 0:v.elementRef.value)==null?void 0:S.querySelector("#"+l);return t.createVNode("ul",{class:e(p),style:y(p,w,c),id:p.id+"_menu"},[j(p)])};function T(){b.forEach(p=>{p.expanded=!1}),b.clear()}return{renderDropdownMenu:u,clearAllDropDownMenu:T}}function Qe(r,e){const n=t.ref(r.alignment),{renderDropdownMenu:i,clearAllDropDownMenu:u}=Je(e);function b(T){const p={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":n.value==="right","f-btn-mr":n.value==="left"},c=T.dropdownClass.split(" ");return c&&c.length&&c.reduce((f,l)=>(f[l]=!0,f),p),p}function g(T){const p={btn:!0,disabled:!T.enable,"f-rt-btn":!0,"btn-icontext":!!(T.icon&&T.icon.trim())};if(T.class){const c=T.class.split(" ");c&&c.length&&c.reduce((f,l)=>(f[l]=!0,f),p)}return p}function D(T,p){T.stopPropagation();const c=p.expanded;document.body.click(),p.expanded=!c}function j(T){return t.createVNode("div",{id:T.id,class:b(T)},[t.createVNode("div",{class:g(T),style:"display: flex;padding-right: 0.1rem;border-top-right-radius: 6px;border-bottom-right-radius: 6px",onClick:p=>T.enable&&D(p,T)},[e.shouldShowIcon(T)&&t.createVNode("i",{class:e.iconClass(T)},null),t.createVNode("span",null,[T.text]),t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-down",style:"display: inline-block;float: right;line-height: 1.25rem;margin-left: .25rem;margin-right: .25rem;"},null)]),i(T)])}function y(){u()}return{renderToolbarDropdown:j,clearAllDropDown:y}}const{buildResponseToolbarItems:Ce}=me(),X=t.defineComponent({name:"FResponseToolbar",props:oe,emits:["click"],setup(r,e){const n=t.ref(Ce(r.items)),i=t.ref(),u=t.ref(),b=t.ref(),g=t.ref(r.alignment),D={id:"__more_buttons__",text:"更多"},j=t.ref(new q(D)),y=ye(),T=t.computed(()=>j.value.children.length>0),p=t.computed(()=>{const m={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return H.getCustomClass(m,r.customClass)}),c=t.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":g.value==="right","justify-content-start":g.value==="left"})),{renderToolbarDropdown:f,clearAllDropDown:l}=Qe(r,y);function w(){n.value.filter(m=>m.children&&m.children.length>0).forEach(m=>{m.expanded=!1}),j.value.expanded=!1,l()}function v(m){const N={btn:!0,"f-rt-btn":!0,"f-btn-ml":g.value==="right","f-btn-mr":g.value==="left","btn-icontext":!!(m.icon&&m.icon.trim())};if(m.class){const x=m.class.split(" ");x&&x.length&&x.reduce((d,s)=>(d[s]=!0,d),N)}return N}function S(m,N){document.body.click(),N.onClick(m,N.id),e.emit("click",m,N.id)}function A(m){return t.createVNode("button",{type:"button",class:v(m),id:m.id,disabled:!m.enable,onClick:N=>S(N,m)},[y.shouldShowIcon(m)&&t.createVNode("i",{class:y.iconClass(m)},null),m.text])}const P=new Map,E=[];function R(m){const N=b.value;let x=m;const d=Array.from(N.children),s=d[d.length-1].id==="__more_buttons__"?d[d.length-1]:null;if(s){const M=s.computedStyleMap().get("margin-left"),k=s.computedStyleMap().get("margin-right"),_=(M?M.value:0)+s.getBoundingClientRect().width+(k?k.value:0);x-=_}const o=d.filter(M=>M.id!=="__more_buttons__");for(const M of o){const k=M.computedStyleMap().get("margin-left"),_=M.computedStyleMap().get("margin-right"),I=(k?k.value:0)+M.getBoundingClientRect().width+(_?_.value:0);x<I?(P.set(M.id,!0),E.push({id:M.id,width:I})):x-=I}if(E.length)for(let M=E.length-1;M>=0;M--){const k=E[M].width;if(x>=k)x-=k,P.delete(E[M].id),E.pop();else break}const a=Object.assign({},j.value);a.children=[];const h=new q(a),V=n.value.reduce((M,k)=>(P.has(k.id)&&h.children.push(k),k.visible=!P.has(k.id),M.push(k),M),[]);j.value=h,n.value=V}const C=new ResizeObserver(m=>{if(m.length){const x=m[0].contentRect.width,s=b.value.getBoundingClientRect().width;(x<s||E.length)&&(R(x),w())}});return t.onMounted(()=>{const m=u.value;C.observe(m),document.body.addEventListener("click",w),document.body.addEventListener("wheel",w)}),t.onUnmounted(()=>{C.disconnect(),document.body.removeEventListener("click",w),document.body.removeEventListener("wheel",w)}),t.watch(()=>r.items,()=>{n.value=Ce(r.items)},{deep:!0}),e.expose({elementRef:i}),()=>t.createVNode("div",{class:p.value,ref:i},[t.createVNode("div",{ref:u,class:c.value},[t.createVNode("div",{ref:b,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[n.value.filter(m=>m.visible).map(m=>m.children&&m.children.length>0?f(m):A(m)),T.value&&f(j.value)])])])}});function Xe(r,e){const n=t.inject("design-item-context"),i=t.inject("toolbar-item-handler",()=>{});function u(){i&&i()}function b(s){const o={"dropdown-menu":!0};if(s.class){const a=s.menuClass.split(" ");a&&a.length&&a.reduce((h,V)=>(h[V]=!0,h),o)}return o}function g(s){const o={disabled:!s.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},a=s.dropdownClass.split(" ");return a&&a.length&&a.reduce((h,V)=>(h[V]=!0,h),o),o}function D(s){const o={disabled:!s.enable,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0},a=s.class.split(" ");return a&&a.length&&a.reduce((h,V)=>(h[V]=!0,h),o),o}let j;const y=new Map;function T(s,o,a){var V;((V=s.target)==null?void 0:V.id)===o.id&&s.stopPropagation();const h=a?a.id:"__top_item__";if(o.children&&o.children.length&&(o.expanded=!o.expanded,o.expanded?y.set(h,o):y.delete(h)),y.has(h)&&y.get(h)!==o){const M=y.get(h);M&&(M.expanded=!1)}}function p(s){s&&(s.stopPropagation(),s.preventDefault())}function c(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(o=>o.classList.remove("dgComponentFocused"));const s=document.getElementsByClassName("dgComponentSelected");Array.from(s).forEach(o=>o.classList.remove("dgComponentSelected"))}function f(s){s.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function l(s){const{buttons:o=[]}=n.schema;let a=[];o.forEach(M=>{a=a.concat(M.children||[])});const h=a.findIndex(M=>M.id===s),V=h===-1?null:a[h];return{index:h,item:V}}function w(s){const{buttons:o=[]}=n.schema,a=o.findIndex(V=>V.id===s),h=a===-1?null:o[a];return{index:a,item:h}}function v(s){var h;n.schema;const{index:o,item:a}=l(s);(h=n==null?void 0:n.setupContext)==null||h.emit("selectionChange",a==null?void 0:a.type,a)}const S=function(s){const{componentType:o}=s,a=L(o,s),h=o.toLowerCase().replace("-","_");return a&&!a.id&&a.type===o&&(a.id=`${h}_${Math.random().toString().slice(2,6)}`),a},A=function(){const s={componentType:"response-toolbar-item",parentComponentInstance:e.value,targetPosition:-1};return S(s)};function P(s,o){p(s),c(),f(s),v(o.id)}function E(s,o,a){p(s);const h=o.id,V=a&&a.id,{buttons:M=[]}=n.schema;if(!V)return;const{index:k}=w(V);if(k===-1)return;const{index:_}=l(h);_!==-1&&(M[k].children.splice(_,1),u())}function R(s,o,a){p(s);const h=a&&a.id,{buttons:V=[]}=n.schema;if(!h)return;const{index:M}=w(h);if(M===-1)return;const k=A(),_=Object.assign({},k,{text:o.text});V[M].children.push(_),u()}function C(s,o,a){p(s);const h=a&&a.id,{buttons:V=[]}=n.schema;if(!h)return;const{index:M}=w(h);if(M===-1)return;const k=A(),_=Object.assign({},k,{text:"按钮"});V[M].children.push(_),u()}function m(s,o){return t.createVNode("div",{class:"component-btn-group"},[t.createVNode("div",null,[t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:a=>E(a,s,o)},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:a=>R(a,s,o)},[t.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增同级",ref:"appendSame",style:"width:85px!important;padding:0 5px;position:static;",onClick:a=>C(a,s,o)},[t.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),t.createVNode("span",{style:"font-size:13px;margin:auto"},[t.createTextVNode("新增同级")])])])])}function N(s){return s.children.map(o=>o.children&&o.children.length?t.createVNode("li",{class:g(o),id:o.id,onClick:a=>o.enable&&T(a,o,s)},[t.createVNode("span",{id:o.id,class:D(o),onMouseover:a=>o.enable&&T(a,o,s)},[o.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),j(o,o)]):t.createVNode("li",{class:D(o),id:o.id,onClick:a=>P(a,o)},[m(o,s),r.shouldShowIcon(o)&&t.createVNode("i",{class:r.iconClass(o)},null),o.text]))}function x(s,o,a){const h={display:s.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},V=document.getElementsByTagName("body")[0].getClientRects()[0].width,M=o,k=M==null?void 0:M.getClientRects();if(M&&k&&k.length){const{top:_,width:I,left:$,right:F,height:W}=k[0],ie=Math.ceil(W+_);h.top=`${ie}px`,h.left=`${$}px`;const ut=s.id+"_menu",ce=o?o.querySelector("#"+ut):null;if(ce){h.display==="block"&&(ce.style.display="block");const Se=ce.getBoundingClientRect();if(a){h.top=`${_-6}px`;const ft=Math.ceil(I+$);h.left=`${ft}px`}V-$-I<Se.width&&(h.left=`${(a?$:F)-Se.width}px`)}}return h}j=function(s,o){var M,k;const a=t.getCurrentInstance(),h=o?o.id:s.id,V=(k=(M=a==null?void 0:a.exposed)==null?void 0:M.elementRef.value)==null?void 0:k.querySelector("#"+h);return t.createVNode("ul",{class:b(s),style:x(s,V,o),id:s.id+"_menu"},[N(s)])};function d(){y.forEach(s=>{s.expanded=!1}),y.clear()}return{renderDropdownMenu:j,clearAllDropDownMenu:d}}function Ye(r,e,n){const i=t.ref(r.alignment),{renderDropdownMenu:u,clearAllDropDownMenu:b}=Xe(e,n),g=t.inject("design-item-context"),D=t.inject("toolbar-item-handler",()=>{});function j(){D&&D()}function y(d){const s={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":i.value==="right","f-btn-mr":i.value==="left"},o=d.dropdownClass.split(" ");return o&&o.length&&o.reduce((a,h)=>(a[h]=!0,a),s),s}function T(d){const s={btn:!0,disabled:!d.enable,"position-relative":!0,"farris-component":!0,"f-rt-btn":!0,"btn-icontext":!!(d.icon&&d.icon.trim())};if(d.class){const o=d.class.split(" ");o&&o.length&&o.reduce((a,h)=>(a[h]=!0,a),s)}return s}function p(d){d&&(d.stopPropagation(),d.preventDefault())}function c(d,s){p(d);const o=s.expanded;document.body.click(),s.expanded=!o}const f=function(d){const{componentType:s}=d,o=L(s,d),a=s.toLowerCase().replace("-","_");return o&&!o.id&&o.type===s&&(o.id=`${a}_${Math.random().toString().slice(2,6)}`),o},l=function(){const d={componentType:"response-toolbar-item",parentComponentInstance:n.value,targetPosition:-1};return f(d)};function w(d){const s=g.schema.buttons||g.schema.contents,o=s==null?void 0:s.findIndex(h=>h.id===d),a=o===-1?null:s[o];return{index:o,toolbarItem:a}}function v(d,s){var k;const{index:o,toolbarItem:a}=w(s);if(o===-1)return;const h=a.text||"按钮",V=l(),M=Object.assign({},V,{text:h});(k=g.schema.buttons)==null||k.push(M),j()}function S(d,s){const{index:o,toolbarItem:a}=w(s);if(o===-1)return;const h=a.text||"按钮",V=l(),M=Object.assign({},V,{text:h}),k=g.schema.buttons[o].children||[];k.push(M),g.schema.buttons[o].children=k,j()}function A(d,s){const o=g.schema.buttons||g.schema.contents,a=o==null?void 0:o.findIndex(h=>h.id===s);a!==-1&&(o.splice(a,1),j())}function P(d){return t.createVNode("div",{class:"component-btn-group"},[t.createVNode("div",null,[t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:s=>A(s,d)},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:s=>v(s,d)},[t.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增子级",ref:"appendChildButton",style:"width:85px!important;padding:0 5px;position:static;",onClick:s=>S(s,d)},[t.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),t.createVNode("span",{style:"font-size:13px;margin:auto"},[t.createTextVNode("新增子级")])])])])}function E(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(s=>s.classList.remove("dgComponentFocused"));const d=document.getElementsByClassName("dgComponentSelected");Array.from(d).forEach(s=>s.classList.remove("dgComponentSelected"))}function R(d){d.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function C(d){var h;const s=g.schema.buttons||g.schema.contents,o=s==null?void 0:s.findIndex(V=>V.id===d);if(o===-1)return;const a=s[o];(h=g==null?void 0:g.setupContext)==null||h.emit("selectionChange","response-toolbar-item",a)}function m(d,s){p(d),E(),R(d),p(d),c(d,s),C(s.id)}function N(d){return t.createVNode("div",{id:d.id,class:y(d)},[t.createVNode("div",{class:T(d),style:"display: flex;padding-right: 0.1rem;",onClick:s=>d.enable&&m(s,d)},[P(d.id),e.shouldShowIcon(d)&&t.createVNode("i",{class:e.iconClass(d)},null),t.createVNode("span",null,[d.text]),t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-down",style:"display: inline-block;float: right;line-height: 1.25rem;margin-left: .25rem;margin-right: .25rem;"},null)]),u(d)])}function x(){b()}return{renderToolbarDropdown:N,clearAllDropDown:x}}function Ze(){function r(e){var u,b;if(!e)return!1;const n=((u=e.targetContainer)==null?void 0:u.componentInstance)&&e.targetContainer.componentInstance.value;if(!n)return!1;const i=(b=n.schema.appearance)==null?void 0:b.class;if(e.controlCategory==="input"||e.controlType==="form-group"){const g=n.schema.type,D=(g==="response-form"||g==="content-container")&&i&&i.includes("farris-form");if(n.schema.type!=="response-layout-item"&&!D)return!1}return e.controlType!=="field-set"}return{basalDragulaRuleForContainer:r}}const Ke={$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"}}},se=new Map;function we(){function r(l,w,v,S){var A;if(typeof v=="number")return((A=S[l])==null?void 0:A.length)===v;if(typeof v=="object"){const P=Object.keys(v)[0],E=v[P];if(P==="not")return Number(S[l].length)!==Number(E);if(P==="moreThan")return Number(S[l].length)>=Number(E);if(P==="lessThan")return Number(S[l].length)<=Number(E)}return!1}function e(l,w,v,S){return typeof v=="boolean"?S.childrenClassList.includes(w)===!!v:!1}function n(l,w,v,S){return typeof v=="boolean"?S.parentClassList.includes(w)===!!v:!1}function i(l,w,v,S){return typeof v=="boolean"?S.parentClassList.includes(w)===!!v:!1}const u=new Map([["length",r],["hasChildren",e],["hasSibling",i],["hasParent",n]]);function b(l,w){const v=l;return typeof w=="number"?[{target:v,operator:"length",param:null,value:Number(w)}]:typeof w=="object"?Object.keys(w).map(S=>{if(S==="length")return{target:v,operator:"length",param:null,value:w[S]};const A=S,P=w[S];return{target:v,operator:l==="children"?"hasChildren":l==="parent"?"hasParent":"hasSibling",param:A,value:P}}):[]}function g(l,w){if(u.has(l.operator)){const v=u.get(l.operator);return v&&v(l.target,l.param,l.value,w)||!1}return!1}function D(l,w){return Object.keys(l).reduce((P,E)=>{const R=b(E,l[E]);return P.push(...R),P},[]).reduce((P,E)=>P&&g(E,w),!0)}function j(l,w){const v=Object.keys(l),S=v.includes("allOf"),A=v.includes("anyOf"),P=S||A,C=(P?l[P?S?"allOf":"anyOf":"allOf"]:[l]).map(N=>D(N,w));return S?!C.includes(!1):C.includes(!0)}function y(l,w){const v=l.const;return v?typeof v=="boolean"?v:typeof v=="object"?j(v,w):!1:!1}function T(l){return w=>{const v={canAccept:!0,fixed:!1,hidePadding:!1};return l&&l.properties&&Object.keys(l.properties).reduce((S,A)=>{const P=l.properties[A];return S[A]=y(P,w),S},v),v}}function p(l,w,v){if(w.type==="object"&&w.properties){const{rules:S,contents:A}=w.properties;v.set(l,T(S)),A&&Object.keys(A.properties).forEach(P=>p(P,A.properties[P],v))}}function c(){const{properties:l}=Ke;Object.keys(l).forEach(w=>{p(w,l[w],se)})}function f(l,w){const v={canAccept:!0,fixed:!1,hidePadding:!0};return se.has(l)?se.get(l)(w):v}return c(),{getRuleValue:f}}class et extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getBehaviorProperties(e),this.propertyConfig}getBasicPropConfig(e){this.propertyConfig.categories.basic={description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"response-toolbar",value:z["response-toolbar"].name}]}}}}}getBehaviorProperties(e){this.propertyConfig.categories.behavior={title:"行为",description:"",properties:{alignment:{title:"对齐方式",description:"The alignment of Response Toolbar Button.",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"right",name:"右对齐"},{value:"left",name:"左对齐"}]}},buttons:{title:"按钮",description:"The items of Response Toolbar.",type:"array",default:[],$converter:"/converter/buttons.converter",refreshPanelAfterChanged:!0}}}}}function tt(r,e,n,i){const u=we(),b=t.ref(!1),g=t.ref(!1);let D=!0,j=!1,y;function T(C){return y&&y.componentClassList&&y.componentClassList.includes("f-form-layout")&&y.componentClassList.includes("farris-form")?C.sourceType==="control"&&C.controlCategory==="input"||C.sourceType==="move"&&C.controlType==="form-group":!0}function p(C){return!Ze().basalDragulaRuleForContainer(C)||!D||!T(C),!1}function c(){b.value=!1,g.value=!1;const C=r,m=C.appearance&&C.appearance.class||"",N=m.split(" "),x=C.buttons||[],d=x.length?x[0]:null,s=d&&d.appearance?d.appearance.class:"",o=s?s.split(" "):[],a=x.length?x.reduce(($,F)=>{const W=F&&F.appearance?F.appearance.class:"",ie=W?W.split(" "):[];return $.push(...ie),$},[]):[],h=n==null?void 0:n.schema,V=h&&h.appearance&&h.appearance.class||"",M=V?V.split(" "):[];y={componentClass:m,componentClassList:N,childContents:x,firstChildContent:d,firstChildClass:s,firstChildClassList:o,parent:h,parentClass:V,parentClassList:M,children:x,childrenClassList:a};const{canAccept:k,fixed:_,hidePadding:I}=u.getRuleValue(N[0],y);return D=k,j=I,!0}function f(C){}function l(){return r.componentType?"display:inherit;flex-direction:inherit;margin-bottom:10px":""}function w(C,m){return m.text=C.label,m}function v(C,m,N){const x=r;if((x.appearance&&x.appearance.class||"").split(" ").includes("f-form-layout")){const o=String(C.innerText),a=L("form-group");return a.editor=N,a.label=o,a}return N}function S(){return!1}function A(){return!1}function P(){return!0}function E(){return j}function R(C){return new et(C,e).getPropertyConfig(r)}return{canAccepts:p,checkCanAddComponent:P,checkCanDeleteComponent:A,checkCanMoveComponent:S,getStyles:l,hideNestedPaddingInDesginerView:E,onAcceptNewChildElement:v,onAcceptMovedChildElement:f,onResolveNewComponentSchema:w,resolveComponentContext:c,getPropsConfig:R,triggerBelongedComponentToMoveWhenMoved:b,triggerBelongedComponentToDeleteWhenDeleted:g}}const nt={id:{type:String,default:""},componentId:{type:String,default:""},canAdd:{type:Boolean,default:!1},canDelete:{type:Boolean,default:!1},canMove:{type:Boolean,default:!1},contentKey:{type:String,default:"contents"},childLabel:{type:String,default:""},childType:{type:String,default:""},modelValue:{type:Object}},Y=t.ref(0);function ot(r,e){const n=e.getBoundingClientRect(),i=r.getBoundingClientRect(),u=i.top>=n.top,b=i.top<=n.bottom;return u&&b}function rt(r){if(!r)return;let e;if(r.className.includes("dgComponentSelected")?e=r:e=r.querySelector(".dgComponentSelected"),!e)return;const n=e.getBoundingClientRect();if(n.width===0&&n.height===0)return;const i=e.querySelector(".component-btn-group");if(i){if(!ot(e,r)){i.style.display="none";return}i.style.display="";const b=i.getBoundingClientRect(),g=i.querySelector("div");if(g){const D=g.getBoundingClientRect();g.style.top=b.top+"px",g.style.left=b.left-D.width+"px"}}}function st(r,e,n){var R;function i(){}const u="",b=t.ref();function g(){return!0}function D(){return!1}function j(){return!0}function y(){return!0}function T(){return!0}function p(C){if(!C||!C.value)return null;const m=t.ref(C==null?void 0:C.value.parent),N=p(m);return N||null}function c(C=e){const{componentInstance:m,designerItemElementRef:N}=C;return!m||!m.value?null:m.value.canMove||m.value.canAdd||m.value.canDelete?N:c(C.parent)}function f(C){return!!n}function l(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function w(){}function v(C,m){}function S(C){const{componentType:m}=C;let N=L(m,C);const x=m.toLowerCase().replace("-","_");return N&&!N.id&&N.type===m&&(N.id=`${x}_${Math.random().toString().slice(2,6)}`),N}function A(C,m){const N=String(C.getAttribute("data-controltype")),x=C.getAttribute("data-feature"),d=x?JSON.parse(x):{};d.parentComponentInstance=b.value;let s=L(N,d);const o=N.toLowerCase().replace("-","_");return s&&!s.id&&s.type===N&&(s.id=`${o}_${Math.random().toString().slice(2,6)}`),s}function P(C){}function E(...C){return[]}return b.value={canMove:g(),canSelectParent:D(),canAdd:y(),canDelete:j(),canNested:!T(),contents:[],elementRef:r,parent:(R=e.parent)==null?void 0:R.componentInstance,schema:e.schema,styles:u,canAccepts:f,getBelongedComponentInstance:p,getDraggableDesignItemElement:c,getDraggingDisplayText:l,getPropConfig:E,getDragScopeElement:w,onAcceptMovedChildElement:v,onAcceptNewChildElement:A,onChildElementMovedOut:P,addNewChildComponentSchema:S,updateDragAndDropRules:i,triggerBelongedComponentToMoveWhenMoved:t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:t.ref(!1)},b}const ve=t.defineComponent({name:"FDesignerInnerItem",props:nt,emits:["selectionChange","addComponent","removeComponent"],setup(r,e){const n=t.ref(r.canMove),i=t.ref(r.canAdd),u=t.ref(r.canDelete),b=t.ref(!1),g=t.ref(r.contentKey),D=t.ref(r.childType),j=t.ref(r.childLabel),y=t.ref(r.modelValue),T=t.ref(""),p=t.ref(),c=t.inject("canvas-dragula"),f=t.ref(),l=t.inject("design-item-context"),w={designerItemElementRef:p,componentInstance:f,schema:y.value,parent:l,setupContext:e};t.provide("design-item-context",w);const v=t.computed(()=>({"farris-component":!0,"flex-fill":r.id=="root-component","position-relative":n.value||u.value,"farris-nested":b.value,"can-move":n.value,"d-none":p.value&&p.value.classList.contains("d-none")})),S=t.computed(()=>{const o={};return T.value&&T.value.split(";").reduce((a,h)=>{const[V,M]=h.split(":");return V&&(a[V]=M),a},o),o});function A(o,a){if(l&&l.schema[g.value]){const h=l.schema[g.value].findIndex(V=>V.id===a.id);if(h>-1){const V=l.schema[g.value].length,M=l.schema[g.value][h%V];l.designerItemElementRef.value.querySelector(`#${M.id}-design-item`),l.schema[g.value].splice(h,1),l.componentInstance.value.updateDragAndDropRules(),Y.value++,e.emit("removeComponent")}}}function P(o){if(f.value.addNewChildComponentSchema){const a={componentType:D.value,label:j.value,parentComponentInstance:f.value,targetPosition:-1},h=f.value.addNewChildComponentSchema(a);y.value[g.value].push(h),e.emit("addComponent")}}function E(){return i.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:o=>{P()}},[t.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function R(o){return u.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:t.withModifiers(a=>A(a,o),["stop"])},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function C(){return n.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"移动",ref:"moveComponent"},[t.createVNode("i",{"data-dragging-icon":"true",class:"cmp_move f-icon f-icon-yxs_move"},null)])}function m(o){return t.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[t.createVNode("div",null,[E(),C(),R(o)])])}t.watch(()=>r.modelValue,o=>{y.value=o,w.schema=o});function N(o){const a=o.target;rt(a)}function x(){var o,a;(a=(o=y.value)==null?void 0:o.contents)!=null&&a.length&&p.value&&p.value.addEventListener("scroll",N)}function d(){const o=p.value,a=t.ref(o.children[1]);return st(a,w).value}t.onMounted(()=>{if(p.value){const o=p.value.querySelector(`[data-dragref='${y.value.id}-container']`);f.value=o&&o.componentInstance?o.componentInstance.value:d(),c&&o&&c.attachComponents(o,y.value),b.value=f.value.canNested!==void 0?f.value.canNested:b.value,i.value=f.value.canAdd!==void 0?f.value.canAdd:i.value,u.value=f.value.canDelete!==void 0?f.value.canDelete:u.value,n.value=f.value.canMove!==void 0?f.value.canMove:n.value,T.value=f.value.styles||"",p.value&&(p.value.componentInstance=f,p.value.designItemContext=w)}x(),Y.value++}),t.onBeforeUnmount(()=>{p.value&&p.value.removeEventListener("scroll",N)});function s(o){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(h=>h.classList.remove("dgComponentFocused")),o&&(o.preventDefault(),o.stopPropagation());const a=p.value;if(a){const h=document.getElementsByClassName("dgComponentSelected");if(!(h&&h.length===1&&h[0]===p.value)){Array.from(h).forEach(k=>k.classList.remove("dgComponentSelected")),a.classList.add("dgComponentFocused"),e.emit("selectionChange",y.value.type,y.value,r.componentId,f.value);const M=f.value.getDraggableDesignItemElement(w);M&&M.value&&M.value.classList.add("dgComponentSelected")}}Y.value++}return()=>t.createVNode("div",{id:`${r.id}-design-item`,ref:p,class:v.value,style:S.value,onClick:s},[m(y.value),e.slots.default&&e.slots.default()])}});class it extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识00",title:"标识",type:"string",readonly:!0},type:{description:"类型",title:"类型",type:"string",readonly:!0,$converter:"/converter/type.converter"},text:{title:"文本",type:"string",description:""},icon:{title:"图标",type:"string",description:""}}}}getAppearanceProperties(e){this.propertyConfig.categories.appearance={title:"外观",properties:{class:{description:"组件的CSS样式",title:"class样式"},style:{description:"组件的内容样式",title:"style样式"}},setPropertyRelates(n,i){}}}getEventPropConfig(e){const n=[{label:"click",name:"点击事件"}];var i=this;const u=i.eventsEditorUtils.formProperties(e,i.viewModelId,n),b={};b[i.viewModelId]={type:"events-editor",editor:{initialData:u}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:b,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(g,D){const j=g.propertyValue;delete e[i.viewModelId],j&&(j.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(e,i.viewModelId,j.events,j))}}}}class ct extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(),this.getAppearanceProperties(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(){this.propertyConfig.categories.basic={title:"基本信息",description:"Basic Infomation",properties:{id:{title:"标识",type:"string",description:"The identifier of a component.",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"response-toolbar-item",value:z["response-toolbar-item"].name}]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}getAppearanceProperties(e){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class",type:"string",description:""},style:{title:"style",type:"string",description:""}}}}getEventPropConfig(e){const n=[{label:"click",name:"点击事件"}],i=this,u=i.eventsEditorUtils.formProperties(e,i.viewModelId,n),b={};b[i.viewModelId]={type:"events-editor",editor:{initialData:u}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:b,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(g,D){const j=g.propertyValue;delete e[i.viewModelId],j&&(j.setPropertyRelates=this.setPropertyRelates,i.eventsEditorUtils.saveRelatedParameters(e,i.viewModelId,j.events,j))}}}}function at(r,e){we();const n=t.ref(!1),i=t.ref(!1);let u=!1,b=!1;function g(v){return!1}function D(v){}function j(){return""}function y(v,S){return S.text=v.label,S}function T(v,S,A){const P=r.schema;if((P.appearance&&P.appearance.class||"").split(" ").includes("f-form-layout")){const C=String(v.innerText),m=L("form-group");return m.editor=A,m.label=C,m}return A}function p(){return!1}function c(){return!b}function f(){return!1}function l(){return u}function w(v){let S;switch(r.schema.type){case"tab-toolbar-item":S=new it(v,e);break;default:S=new ct(v,e)}return S.getPropertyConfig(r.schema)}return{canAccepts:g,checkCanAddComponent:f,checkCanDeleteComponent:c,checkCanMoveComponent:p,getStyles:j,hideNestedPaddingInDesginerView:l,onAcceptNewChildElement:T,onAcceptMovedChildElement:D,onResolveNewComponentSchema:y,getPropsConfig:w,triggerBelongedComponentToMoveWhenMoved:n,triggerBelongedComponentToDeleteWhenDeleted:i}}const Te=t.defineComponent({name:"FResponseToolbarItemDesign",props:be,emits:["Click"],setup(r,e){t.ref(),t.ref();const n=t.ref(r.alignment),i={id:"__more_buttons__",text:"More"},u=t.ref(new q(i));t.computed(()=>u.value.children.length>0);const b=t.ref(),g=t.inject("designer-host-service"),D=t.inject("design-item-context"),j=at(D,g),y=ae.useDesignerInnerComponent(b,D,j);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{b.value.componentInstance=y}),e.expose(y.value);function T(){const f={"f-icon":!0},l=r.icon?r.icon.trim():"";return H.getCustomClass(f,l)}function p(){return!!(r.icon&&r.icon.trim())}function c(){const f={btn:!0,"f-rt-btn":!0,"f-btn-ml":n.value==="right","f-btn-mr":n.value==="left","btn-icontext":!!(r.icon&&r.icon.trim())};return H.getCustomClass(f,r.class)}return t.onMounted(()=>{}),t.onUnmounted(()=>{}),()=>t.createVNode("div",{ref:b,"data-dragref":`${D.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[t.createVNode("button",{type:"button",class:c(),id:r.id},[p()&&t.createVNode("i",{class:T()},null),r.text])])}}),Pe=t.defineComponent({name:"FResponseToolbarDesign",props:ze,emits:["Click"],setup(r,e){const n=t.ref(r.items);let i=new Array(n.value.length).fill(t.ref());const u=t.ref(),b=t.ref(),g=t.ref(r.alignment),D={id:"__more_buttons__",text:"More"},j=t.ref(new q(D)),y=ye();t.computed(()=>j.value.children.length>0);const T=t.ref(),p=t.inject("designer-host-service"),c=t.inject("design-item-context"),f=tt(c.schema,p,c),l=ae.useDesignerInnerComponent(T,c,f);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{T.value.componentInstance=l}),e.expose(l.value);const w=t.computed(()=>{const d={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return H.getCustomClass(d,r.customClass)}),v=t.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":g.value==="right","justify-content-start":g.value==="left"})),{renderToolbarDropdown:S,clearAllDropDown:A}=Ye(r,y,l);function P(){n.value.filter(d=>d.children&&d.children.length>0).forEach(d=>{d.expanded=!1}),j.value.expanded=!1,A()}const E=new Map,R=[];function C(d){const s=b.value;let o=d;const a=Array.from(s.children),h=a[a.length-1].id==="__more_buttons__"?a[a.length-1]:null;if(h){const I=h.computedStyleMap().get("margin-left"),$=h.computedStyleMap().get("margin-right"),F=(I?I.value:0)+h.getBoundingClientRect().width+($?$.value:0);o-=F}const V=a.filter(I=>I.id!=="__more_buttons__");for(const I of V){const $=I.computedStyleMap().get("margin-left"),F=I.computedStyleMap().get("margin-right"),W=($?$.value:0)+I.getBoundingClientRect().width+(F?F.value:0);o<W?(E.set(I.id,!0),R.push({id:I.id,width:W})):o-=W}if(R.length)for(let I=R.length-1;I>=0;I--){const $=R[I].width;if(o>=$)o-=$,E.delete(R[I].id),R.pop();else break}const M=Object.assign({},j.value);M.children=[];const k=new q(M),_=n.value.reduce((I,$)=>(E.has($.id)&&k.children.push($),$.visible=!E.has($.id),I.push($),I),[]);j.value=k,n.value=_}const m=new ResizeObserver(d=>{if(d.length){const o=d[0].contentRect.width,h=b.value.getBoundingClientRect().width;(o<h||R.length)&&C(o)}});t.onMounted(()=>{const d=u.value;m.observe(d),document.body.addEventListener("click",P)}),t.onUnmounted(()=>{m.disconnect(),document.body.removeEventListener("click",P)}),t.watch(()=>r.items,()=>{n.value=r.items},{deep:!0}),t.watch(n,d=>{i=new Array(n.value.length).fill(t.ref())});function N(d,s,o,a){c&&c.setupContext&&c.setupContext.emit("selectionChange",d,s,o,a)}function x(){const d=b.value.querySelector(".dgComponentFocused.dgComponentSelected");d==null||d.classList.remove("dgComponentSelected"),d==null||d.classList.remove("dgComponentFocused")}return()=>t.createVNode("div",{ref:T,"data-dragref":`${c.schema.id}-container`,class:w.value},[t.createVNode("div",{ref:u,class:v.value},[t.createVNode("div",{ref:b,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[n.value.map((d,s)=>t.createVNode(ve,{ref:i[s],class:"p-0 display-inline-block",modelValue:d,"onUpdate:modelValue":o=>d=o,canMove:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:r.componentId,id:d.id,style:"padding:0 !important;display:inline-block",onSelectionChange:N,onRemoveComponent:x},{default:()=>{var o;return[t.createVNode(Te,{id:d.id,disable:d.disable,text:d.text,icon:d.icon,class:((o=d.appearance)==null?void 0:o.class)||"btn-secondary",alignment:r.alignment||"right",componentId:r.componentId},null)]}}))])])])}}),De=re;X.register=(r,e,n)=>{r["response-toolbar"]=X,e["response-toolbar"]=re},X.registerDesigner=(r,e,n)=>{r["response-toolbar"]=Pe,e["response-toolbar"]=re,r["response-toolbar-item"]=Te,e["response-toolbar-item"]=Ge},H.withInstall(X);const lt={id:{type:String,default:""},componentId:{type:String,default:""},type:{type:String,default:""},canDelete:{type:Boolean,default:!0},canMove:{type:Boolean,default:!0},canSelectParent:{type:Boolean,default:!0},customButtons:{type:Array,default:[]},customClass:{type:String,default:""},customStyle:{type:String,default:""},modelValue:{type:Object},ignore:{type:Boolean,default:!1}},je=t.defineComponent({name:"FDesignerTemplateItem",props:lt,emits:["selectionChange"],setup(r,e){const n=t.ref(),i=t.computed(()=>({"farris-component":!0}));function u(b){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(D=>D.classList.remove("dgComponentFocused")),b&&(b.preventDefault(),b.stopPropagation());const g=n.value;if(g){const D=document.getElementsByClassName("dgComponentSelected");D&&D.length===1&&D[0]===n.value||(Array.from(D).forEach(y=>y.classList.remove("dgComponentSelected")),g.classList.add("dgComponentFocused"))}Y.value++}return()=>t.createVNode("div",{id:`${r.id}-design-item`,ref:n,class:i.value,onClick:u},[e.slots.default&&e.slots.default()])}}),pt=t.defineComponent({name:"FPageHeaderDesign",props:ue,emits:["Click"],setup(r,e){const n=t.ref(),i=t.inject("designer-host-service"),u=t.inject("design-item-context"),b=_e(u.schema,i),g=$e(n,u,b),D=t.ref(u.schema.toolbar||{type:"response-toolbar",buttons:[]}),j=t.ref(De(D.value));t.onMounted(()=>{n.value.componentInstance=g}),t.watch(()=>u.schema.toolbar,()=>{D.value=u.schema.toolbar||{type:"response-toolbar",buttons:[]},j.value=De(D.value)},{deep:!0});const y=t.computed(()=>[...j.value.items]);function T(p,c,f,l){u&&u.setupContext&&u.setupContext.emit("selectionChange",p,c,f,l)}return e.expose(g.value),()=>t.createVNode("div",{ref:n},[t.createVNode("nav",{class:"f-page-header-base"},[t.createVNode("div",{class:"f-title"},[t.createVNode(je,null,{default:()=>[t.createVNode("span",{class:"f-title-icon f-text-orna-manage"},[t.createVNode("i",{class:r.icon},null)])]}),t.createVNode(je,null,{default:()=>[t.createVNode("h4",{class:"f-title-text"},[r.title])]})]),t.createVNode(ve,{class:"col-6 text-right",modelValue:D.value,"onUpdate:modelValue":p=>D.value=p,canAdd:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:D.value.id,componentId:r.componentId,onSelectionChange:T},{default:()=>[t.createVNode(Pe,{customClass:"w-100",items:y.value,componentId:r.componentId},null)]})])])}}),dt={install(r){r.component(J.name,J)},register(r,e,n,i){r["page-header"]=J,e["page-header"]=te},registerDesigner(r,e,n){r["page-header"]=pt,e["page-header"]=te}};O.PageHeader=J,O.default=dt,O.pageHeaderDesignerProps=ue,O.pageHeaderProps=G,O.propsResolver=te,Object.defineProperties(O,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(A,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("lodash-es"),require("../response-toolbar/index.umd.js"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../response-toolbar/index.umd.js","../common/index.umd.js","../designer-canvas/index.umd.js"],t):(A=typeof globalThis<"u"?globalThis:A||self,t(A["page-header"]={},A.Vue,A.LodashES,A.FResponseToolbar$1,A.common,A.designerCanvas))})(this,function(A,t,F,Se,q,ie){"use strict";var ut=Object.defineProperty;var ft=(A,t,F)=>t in A?ut(A,t,{enumerable:!0,configurable:!0,writable:!0,value:F}):A[t]=F;var E=(A,t,F)=>ft(A,typeof t!="symbol"?t+"":t,F);const Z={},ae={};function K(r){const{properties:e,title:n,ignore:s}=r,a=s&&Array.isArray(s),f=Object.keys(e).reduce((u,y)=>((!a||!s.find(w=>w==y))&&(u[y]=e[y].type==="object"&&e[y].properties?K(e[y]):F.cloneDeep(e[y].default)),u),{});return n&&(!a||!s.find(u=>u=="id"))&&(f.id=`${n}-${Date.now()}`),f}function W(r,e={},n){const s=Z[r];if(s){let a=K(s);const f=ae[r];return a=f?f({getSchemaByType:W},a,e,n):a,a}return null}function Ne(r,e){const n=K(e);return Object.keys(r).reduce((s,a)=>(s[a]&&F.isPlainObject(s[a])&&F.isPlainObject(r[a])?Object.assign(s[a],r[a]):s[a]=r[a],s),n),n}function Me(r,e){return Object.keys(r).filter(s=>r[s]!=null).reduce((s,a)=>{if(e.has(a)){const f=e.get(a);if(typeof f=="string")s[f]=r[a];else{const u=f(a,r[a],r);Object.assign(s,u)}}else s[a]=r[a];return s},{})}function ke(r,e,n=new Map){const s=Ne(r,e);return Me(s,n)}function xe(r={}){function e(h,b,l,d){if(typeof l=="number")return d[h].length===l;if(typeof l=="object"){const m=Object.keys(l)[0],C=l[m];if(m==="not")return Number(d[h].length)!==Number(C);if(m==="moreThan")return Number(d[h].length)>=Number(C);if(m==="lessThan")return Number(d[h].length)<=Number(C)}return!1}function n(h,b,l,d){return d[h]&&d[h].propertyValue&&String(d[h].propertyValue.value)===String(l)}const s=new Map([["length",e],["getProperty",n]]);Object.keys(r).reduce((h,b)=>(h.set(b,r[b]),h),s);function a(h,b){const l=h;return typeof b=="number"?[{target:l,operator:"length",param:null,value:Number(b)}]:typeof b=="boolean"?[{target:l,operator:"getProperty",param:h,value:!!b}]:typeof b=="object"?Object.keys(b).map(d=>{if(d==="length")return{target:l,operator:"length",param:null,value:b[d]};const m=d,C=b[d];return{target:l,operator:"getProperty",param:m,value:C}}):[]}function f(h){return Object.keys(h).reduce((l,d)=>{const m=a(d,h[d]);return l.push(...m),l},[])}function u(h,b){if(s.has(h.operator)){const l=s.get(h.operator);return l&&l(h.target,h.param,h.value,b)||!1}return!1}function y(h,b){return f(h).reduce((m,C)=>m&&u(C,b),!0)}function w(h,b){const l=Object.keys(h),d=l.includes("allOf"),m=l.includes("anyOf"),C=d||m,j=(C?h[C?d?"allOf":"anyOf":"allOf"]:[h]).map(D=>y(D,b));return d?!j.includes(!1):j.includes(!0)}return{parseValueSchema:w}}const z={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"}},ce={},Ve={};xe();function ee(r,e,n=new Map,s=(u,y,w)=>y,a={},f=u=>u){return Z[e.title]=e,ae[e.title]=s,ce[e.title]=a,Ve[e.title]=f,(u={})=>{const y=ke(u,e,n),w=Object.keys(r).reduce((h,b)=>(h[b]=r[b].default,h),{});return Object.assign(w,y)}}function le(r,e){return{customClass:e.class,customStyle:e.style}}function Ee(r,e){const n=[];return e==null||e.buttons.map(s=>{const a={};Object.keys(s).map(f=>{var u;f=="appearance"?a.class=((u=s[f])==null?void 0:u.class)||"":a[f]=s[f]}),n.push(a)}),{buttons:n}}function Be(){function r(e,n){var y;const s=(y=e.toolbar)==null?void 0:y.buttons;if(!s||s.length<1)return null;const[a,f]=n.payloads,u=s.find(w=>w.id===f);return u?u.onClick||u.click:null}return{resolve:r}}const Ie=new Map([["appearance",le],["toolbar",Ee]]),Re={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/page-header.schema.json",title:"page-header",description:"A Farris Container Component",type:"object",properties:{id:{description:"The unique identifier for a Page Header",type:"string"},type:{description:"The type string of Page Header component",type:"string",default:"page-header"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},showIcon:{description:"",type:"boolean",default:!0},icon:{description:"",type:"string",default:"f-icon-page-title-record"},iconClass:{description:"",type:"string",default:"f-text-orna-bill"},title:{description:"",type:"string",default:""},subTitle:{description:"",type:"string",default:""},toolbar:{description:"",type:"object",properties:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",type:"string",default:"response-toolbar"},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Response Toolbar.",type:"array",default:[]}}},buttonClass:{description:"",type:"string",default:"col-6"},titleContentClass:{description:"",type:"string",default:""},contentClass:{description:"",type:"string",default:""},downContentClass:{description:"",type:"string",default:""},showPagination:{description:"",type:"boolean",default:!1},prePaginationDisabled:{description:"",type:"boolean",default:!0},nextPaginationDisabled:{description:"",type:"boolean",default:!1}}};function je(r,e,n){return e.title="标题",e}const G={customClass:{type:String,default:""},showIcon:{type:Boolean,default:!0},icon:{type:String,default:"f-icon-page-title-record"},iconClass:{type:String,default:"f-text-orna-bill"},title:{type:String,default:""},subTitle:{type:String,default:""},buttonClass:{type:String,default:"col-6"},buttons:{type:Array,default:[]},titleContentClass:{type:String,default:""},contentClass:{type:String,default:""},downContentClass:{type:String,default:""},showPagination:{type:Boolean,default:!1},prePaginationDisabled:{type:Boolean,default:!0},nextPaginationDisabled:{type:Boolean,default:!1}},de=Object.assign({},G,{componentId:{type:String,default:""}}),te=ee(G,Re,Ie,je),pe=Be(),J=t.defineComponent({name:"FPageHeader",props:G,emits:["Click","PrePaginationClick","NextPaginationClick"],setup(r,e){const n=t.ref(r.buttons),s=(D,x)=>{e.emit("Click",D,x)};function a(D,x){D&&x&&x.split(" ").reduce((M,v)=>(M[v]=!0,M),D)}const f=t.computed(()=>{const D={"f-page-header":!0};return a(D,r.customClass),D}),u=t.computed(()=>{const D={"f-title-icon":!0};return a(D,r.iconClass),D}),y=t.computed(()=>{const D={"f-icon":!0};return a(D,r.icon),D}),w=t.computed(()=>{const D={"f-title":!0};return a(D,r.titleContentClass),D}),h=t.computed(()=>{const D={"f-content":!0};return a(D,r.contentClass),D}),b=t.computed(()=>{const D={"f-content":!0};return a(D,r.downContentClass),D}),l=t.computed(()=>({"f-icon f-icon-arrow-w":!0,"f-state-disabled":r.prePaginationDisabled})),d=t.computed(()=>({"f-icon f-icon-arrow-e":!0,"f-state-disabled":r.nextPaginationDisabled}));function m(D){r.prePaginationDisabled||e.emit("PrePaginationClick",D)}function C(D){r.nextPaginationDisabled||e.emit("NextPaginationClick",D)}function S(){return e.slots.titleContent?t.createVNode("div",{class:w.value},[t.createTextVNode(" "),e.slots.titleContent()]):t.createVNode("div",{class:"f-title"},[r.showIcon&&r.icon?t.createVNode("span",{class:u.value},[t.createVNode("i",{class:y.value},null)]):"",t.createVNode("h4",{class:"f-title-text"},[r.title]),r.subTitle?t.createVNode("h5",{class:"f-title-subtitle"},[r.subTitle]):"",r.showPagination?t.createVNode("div",{class:"f-title-pagination"},[t.createVNode("span",{class:l.value,onClick:m},null),t.createVNode("span",{class:d.value,onClick:C},null)]):""])}function B(){return e.slots.content?t.createVNode("div",{class:h.value},[t.createTextVNode(" "),e.slots.content()]):""}function j(){if(r.buttons&&r.buttons.length>0)return t.createVNode(Se,{customClass:r.buttonClass,items:n.value,onClick:s},null)}function $(){return e.slots.downContent?t.createVNode("div",{class:b.value},[t.createTextVNode(" "),e.slots.downContent()]):""}return t.watch(()=>r.buttons,D=>{n.value=D},{deep:!0}),()=>t.createVNode("div",{class:f.value},[t.createVNode("nav",{class:"f-page-header-base"},[S(),B(),j()]),$()])}});function Ae(r,e,n){var x;function s(){n!=null&&n.resolveComponentContext&&n.resolveComponentContext()}s();const a=n&&n.getStyles&&n.getStyles()||"",f=n&&n.getDesignerClass&&n.getDesignerClass()||"",u=t.ref();function y(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanMoveComponent?n.checkCanMoveComponent():!0}function w(){return!1}function h(){return(e==null?void 0:e.schema.componentType)==="frame"?!1:n&&n.checkCanDeleteComponent?n.checkCanDeleteComponent():!0}function b(){return(e==null?void 0:e.schema.componentType)==="frame"?!0:n&&n.hideNestedPaddingInDesginerView?n.hideNestedPaddingInDesginerView():!1}function l(P){if(!P||!P.value)return null;if(P.value.schema&&P.value.schema.type==="component")return P.value;const M=t.ref(P==null?void 0:P.value.parent),v=l(M);return v||null}function d(P=e){const{componentInstance:M,designerItemElementRef:v}=P;return!M||!M.value?null:M.value.canMove?v:d(P.parent)}function m(P){return!!n&&n.canAccepts(P)}function C(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function S(){}function B(P,M){M&&n!=null&&n.onAcceptMovedChildElement&&n.onAcceptMovedChildElement(M)}function j(P,M){const{componentType:v}=P;let V=W(v,P,M);n&&n.onResolveNewComponentSchema&&(V=n.onResolveNewComponentSchema(P,V));const I=v.toLowerCase().replace("-","_");return V&&!V.id&&V.type===v&&(V.id=`${I}_${Math.random().toString().slice(2,6)}`),V}function $(P){}function D(...P){if(n&&n.getPropsConfig)return n.getPropsConfig(...P)}return u.value={canMove:y(),canSelectParent:w(),canDelete:h(),canNested:!b(),contents:e==null?void 0:e.schema.contents,elementRef:r,parent:(x=e==null?void 0:e.parent)==null?void 0:x.componentInstance,schema:e==null?void 0:e.schema,styles:a,designerClass:f,canAccepts:m,getBelongedComponentInstance:l,getDraggableDesignItemElement:d,getDraggingDisplayText:C,getPropConfig:D,getDragScopeElement:S,onAcceptMovedChildElement:B,onChildElementMovedOut:$,addNewChildComponentSchema:j,updateDragAndDropRules:s,triggerBelongedComponentToMoveWhenMoved:!!n&&n.triggerBelongedComponentToMoveWhenMoved||t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!n&&n.triggerBelongedComponentToDeleteWhenDeleted||t.ref(!1)},u}class Q{constructor(e,n){E(this,"componentId");E(this,"viewModelId");E(this,"eventsEditorUtils");E(this,"formSchemaUtils");E(this,"formMetadataConverter");E(this,"designViewModelUtils");E(this,"designViewModelField");E(this,"controlCreatorUtils");E(this,"designerHostService");E(this,"schemaService",null);E(this,"metadataService",null);E(this,"propertyConfig",{type:"object",categories:{}});var s;this.componentId=e,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((s=this.formSchemaUtils)==null?void 0:s.getViewModelIdByComponentId(e))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService,this.schemaService=n.schemaService}getTableInfo(){var e;return(e=this.schemaService)==null?void 0:e.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(e){const n=e.binding&&e.binding.type==="Form"&&e.binding.field;if(n){if(!this.designViewModelField){const s=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=s.fields.find(a=>a.id===n)}e.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(e,n){}getBasicPropConfig(e){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:e.type,name:z[e.type].name}]}}}}}getAppearanceConfig(e=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(e,n){const s=n&&n.parent&&n.parent.schema;if(!s)return;const a=s.contents.findIndex(u=>u.id===e),f=F.cloneDeep(s.contents[a]);s.contents.splice(a,1),s.contents.splice(a,0,f)}}class $e extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.propertyConfig}getBasicPropConfig(e){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"page-header",value:z["page-header"].name}]}},icon:{title:"图标",type:"string",description:"图标"},title:{title:"标题",type:"string",description:"标题"}},setPropertyRelates(n,s){if(n)switch(n&&n.propertyID){case"title":{n.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(e){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class",type:"string",description:""},style:{title:"style",type:"string",description:""}}}}getEventPropConfig(e){const n=[{label:"click",name:"点击事件"}],s=this,a=s.eventsEditorUtils.formProperties(e,s.viewModelId,n);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:{"data-grid-component-viewmodel":{type:"events-editor",editor:{initialData:a}}},refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(f,u){const y=f.propertyValue;delete e[s.viewModelId],y&&(y.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,y.events,y))}}}}function Oe(r,e){function n(y){return!1}function s(){return!1}function a(){return!1}function f(){return!0}function u(y){return new $e(y,e).getPropertyConfig(r)}return{canAccepts:n,hideNestedPaddingInDesginerView:f,getPropsConfig:u,checkCanDeleteComponent:s,checkCanMoveComponent:a}}class ue{constructor(e){E(this,"id","");E(this,"class","btn-secondary");E(this,"icon","");E(this,"groupId","");E(this,"order",-1);E(this,"asDropDownTop",!1);E(this,"text","");E(this,"visible",!0);E(this,"responsed",!1);E(this,"tipsEnable",!1);E(this,"tipsText","");E(this,"width",0);E(this,"onClick",()=>{});E(this,"options");this.options=e;const n=["id","class","icon","groupId","order","asDropDownTop","text","isDP","visible","responsed","width","tipsEnable","tipsText","onClick"];Object.keys(e).filter(s=>n.indexOf(s)>-1).forEach(s=>{this[s]=e[s]})}get enable(){return Object.keys(this.options).indexOf("disabled")>-1?!this.options.disabled:t.computed(()=>!0)}setWidth(e){this.width=parseInt(e,10)}getWidth(){return this.visible?this.width:!1}}class _e extends ue{constructor(e){super(e)}}function fe(){function r(e){const n=[];return e.reduce((s,a)=>(a.children&&a.children.length>0?s.push(new L(a)):s.push(new _e(a)),s),n),n}return{buildResponseToolbarItems:r}}const{buildResponseToolbarItems:Fe}=fe();class L extends ue{constructor(n){super(n);E(this,"placement","");E(this,"dropdownClass","");E(this,"menuClass","");E(this,"split",!1);E(this,"children",[]);E(this,"expanded",!1);const s=["isDP","class","dropdownClass","menuClass","placement","split","expanded"];Object.keys(n).filter(a=>s.indexOf(a)>-1).forEach(a=>{this[a]=n[a]}),n.children&&n.children.length&&(this.children=Fe(n.children))}}const Le=new Map([["buttons","items"],["appearance",le]]),Ue=new Map([["appearance",qe]]);function qe(r,e){return{class:e.class,style:e.style}}function me(r,e,n){return e}const We={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-toolbar.schema.json",title:"response-toolbar",description:"A Farris Toolbar Component",type:"object",properties:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",type:"string",default:"response-toolbar"},appearance:{description:"",type:"object",properties:{class:{type:"string"}},default:{}},alignment:{description:"The alignment of Response Toolbar Button.",type:"string",default:"right"},buttons:{description:"The items of Response Toolbar.",type:"array",default:[]}},required:["id","type","buttons"]},ne={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/response-toolbar-item.schema.json",title:"response-toolbar-item",description:"A Farris Toolbar Item Component",type:"object",properties:{id:{description:"The unique identifier for a Response Toolbar",type:"string"},type:{description:"The type string of Response Toolbar",type:"string",default:"response-toolbar-item"},appearance:{description:"",type:"object",properties:{class:{type:"string",default:"btn-secondary"}},default:{}},alignment:{description:"对齐",type:"string",default:"right"},text:{description:"文本",type:"string",default:"按钮"},icon:{description:"图标",type:"string",default:""},disabled:{description:"禁用",type:"boolean",default:!1},onClick:{description:"点击事件",type:"string",default:""}},required:["id","type","text"]},ge={title:"response-toolbar-item",description:"A Farris Container Component",type:"object",categories:{basic:{title:"基本信息",description:"Basic Infomation",properties:{id:{title:"标识",type:"string",description:"The identifier of a component.",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",data:[]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}},oe={customClass:{type:String,default:""},alignment:{Type:String,default:"right"},items:{Type:Array,default:[]}};Z[ne.title]=ne,ce[ge.title]=ge;const He=Object.assign({},oe,{componentId:{type:String,default:""}}),re=ee(oe,We,Le,me),he={id:{type:String,default:""},items:{type:Object,default:{}},class:{type:String,default:""},text:{type:String,default:""},disabled:{type:Boolean,default:!1},icon:{type:String,default:""},componentId:{type:String,default:""},alignment:{Type:String,default:"right"}},ze=ee(he,ne,Ue,me);function be(){function r(n){const s={"f-icon":!0};if(n.icon){const a=n.icon.trim().split(" ");a&&a.length&&a.reduce((f,u)=>(f[u]=!0,f),s)}return s}function e(n){return!!(n.icon&&n.icon.trim())}return{iconClass:r,shouldShowIcon:e}}function Ge(r){function e(l){const d={"dropdown-menu":!0};if(l.class){const m=l.menuClass.split(" ");m&&m.length&&m.reduce((C,S)=>(C[S]=!0,C),d)}return d}function n(l){const d={disabled:!l.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},m=l.dropdownClass.split(" ");return m&&m.length&&m.reduce((C,S)=>(C[S]=!0,C),d),d}function s(l){const d={disabled:!l.enable,"dropdown-item":!0,"f-rt-btn":!0},m=l.class.split(" ");return m&&m.length&&m.reduce((C,S)=>(C[S]=!0,C),d),d}let a;const f=new Map;function u(l,d,m){var S;((S=l.target)==null?void 0:S.id)===d.id&&l.stopPropagation();const C=m?m.id:"__top_item__";if(d.children&&d.children.length&&(d.expanded=!d.expanded,d.expanded?f.set(C,d):f.delete(C)),f.has(C)&&f.get(C)!==d){const B=f.get(C);B&&(B.expanded=!1)}}function y(l,d){document.body.click(),d.enable&&d.onClick(l,d.id)}function w(l){return l.children.map(d=>d.children&&d.children.length?t.createVNode("li",{class:n(d),id:d.id,onClick:m=>d.enable&&u(m,d,l)},[t.createVNode("span",{id:d.id,class:s(d),onMouseover:m=>d.enable&&u(m,d,l)},[d.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),a(d,d)]):t.createVNode("li",{class:s(d),id:d.id,onClick:m=>y(m,d),onMouseover:m=>d.enable&&u(m,d,l)},[r.shouldShowIcon(d)&&t.createVNode("i",{class:r.iconClass(d)},null),d.text]))}function h(l,d,m){const C={display:l.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},S=document.getElementsByTagName("body")[0].getClientRects()[0].width,B=d,j=B==null?void 0:B.getClientRects();if(B&&j&&j.length){const{top:$,width:D,left:x,right:P,height:M}=j[0],v=Math.ceil(M+$);C.top=`${v}px`,C.left=`${x}px`;const V=l.id+"_menu",I=d?d.querySelector("#"+V):null;if(I){C.display==="block"&&(I.style.display="block");const p=I.getBoundingClientRect();if(m){C.top=`${$-6}px`;const i=Math.ceil(D+x);C.left=`${i}px`}S-x-D<p.width&&(C.left=`${(m?x:P)-p.width}px`)}}return C}a=function(l,d){var B,j;const m=t.getCurrentInstance(),C=d?d.id:l.id,S=(j=(B=m==null?void 0:m.exposed)==null?void 0:B.elementRef.value)==null?void 0:j.querySelector("#"+C);return t.createVNode("ul",{class:e(l),style:h(l,S,d),id:l.id+"_menu"},[w(l)])};function b(){f.forEach(l=>{l.expanded=!1}),f.clear()}return{renderDropdownMenu:a,clearAllDropDownMenu:b}}function Je(r,e){const n=t.ref(r.alignment),{renderDropdownMenu:s,clearAllDropDownMenu:a}=Ge(e);function f(b){const l={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":n.value==="right","f-btn-mr":n.value==="left"},d=b.dropdownClass.split(" ");return d&&d.length&&d.reduce((m,C)=>(m[C]=!0,m),l),l}function u(b){const l={btn:!0,disabled:!b.enable,"f-rt-btn":!0,"btn-icontext":!!(b.icon&&b.icon.trim())};if(b.class){const d=b.class.split(" ");d&&d.length&&d.reduce((m,C)=>(m[C]=!0,m),l)}return l}function y(b,l){b.stopPropagation();const d=l.expanded;document.body.click(),l.expanded=!d}function w(b){return t.createVNode("div",{id:b.id,class:f(b)},[t.createVNode("div",{class:u(b),style:"display: flex;padding-right: 0.1rem;border-top-right-radius: 6px;border-bottom-right-radius: 6px",onClick:l=>b.enable&&y(l,b)},[e.shouldShowIcon(b)&&t.createVNode("i",{class:e.iconClass(b)},null),t.createVNode("span",null,[b.text]),t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-down",style:"display: inline-block;float: right;line-height: 1.25rem;margin-left: .25rem;margin-right: .25rem;"},null)]),s(b)])}function h(){a()}return{renderToolbarDropdown:w,clearAllDropDown:h}}const{buildResponseToolbarItems:ye}=fe(),X=t.defineComponent({name:"FResponseToolbar",props:oe,emits:["click"],setup(r,e){const n=t.ref(ye(r.items)),s=t.ref(),a=t.ref(),f=t.ref(),u=t.ref(r.alignment),y={id:"__more_buttons__",text:"更多"},w=t.ref(new L(y)),h=be(),b=t.computed(()=>w.value.children.length>0),l=t.computed(()=>{const v={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return q.getCustomClass(v,r.customClass)}),d=t.computed(()=>({"w-100":!0,"d-flex":!0,"flex-nowrap":!0,"justify-content-end":u.value==="right","justify-content-start":u.value==="left"})),{renderToolbarDropdown:m,clearAllDropDown:C}=Je(r,h);function S(){n.value.filter(v=>v.children&&v.children.length>0).forEach(v=>{v.expanded=!1}),w.value.expanded=!1,C()}function B(v){const V={btn:!0,"f-rt-btn":!0,"f-btn-ml":u.value==="right","f-btn-mr":u.value==="left","btn-icontext":!!(v.icon&&v.icon.trim())};if(v.class){const I=v.class.split(" ");I&&I.length&&I.reduce((p,i)=>(p[i]=!0,p),V)}return V}function j(v,V){document.body.click(),typeof V.onClick=="function"&&V.onClick(v,V.id),e.emit("click",v,V.id)}function $(v){return t.createVNode("button",{type:"button",class:B(v),id:v.id,disabled:!v.enable,onClick:V=>j(V,v)},[h.shouldShowIcon(v)&&t.createVNode("i",{class:h.iconClass(v)},null),v.text])}const D=new Map,x=[];function P(v){const V=f.value;let I=v;const p=Array.from(V.children),i=p[p.length-1].id==="__more_buttons__"?p[p.length-1]:null;if(i){const T=i.computedStyleMap().get("margin-left"),k=i.computedStyleMap().get("margin-right"),_=(T?T.value:0)+i.getBoundingClientRect().width+(k?k.value:0);I-=_}const o=p.filter(T=>T.id!=="__more_buttons__");for(const T of o){const k=T.computedStyleMap().get("margin-left"),_=T.computedStyleMap().get("margin-right"),R=(k?k.value:0)+T.getBoundingClientRect().width+(_?_.value:0);I<R?(D.set(T.id,!0),x.push({id:T.id,width:R})):I-=R}if(x.length)for(let T=x.length-1;T>=0;T--){const k=x[T].width;if(I>=k)I-=k,D.delete(x[T].id),x.pop();else break}const c=Object.assign({},w.value);c.children=[];const g=new L(c),N=n.value.reduce((T,k)=>(D.has(k.id)&&g.children.push(k),k.visible=!D.has(k.id),T.push(k),T),[]);w.value=g,n.value=N}const M=new ResizeObserver(v=>{if(v.length){const I=v[0].contentRect.width,i=f.value.getBoundingClientRect().width;(I<i||x.length)&&(P(I),S())}});return t.onMounted(()=>{const v=a.value;M.observe(v),document.body.addEventListener("click",S),document.body.addEventListener("wheel",S)}),t.onUnmounted(()=>{M.disconnect(),document.body.removeEventListener("click",S),document.body.removeEventListener("wheel",S)}),t.watch(()=>r.items,()=>{n.value=ye(r.items)},{deep:!0}),e.expose({elementRef:s}),()=>t.createVNode("div",{class:l.value,ref:s},[t.createVNode("div",{ref:a,class:d.value},[t.createVNode("div",{ref:f,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[n.value.filter(v=>v.visible).map(v=>v.children&&v.children.length>0?m(v):$(v)),b.value&&m(w.value)])])])}});function Qe(r,e){const n=t.inject("design-item-context"),s=t.inject("toolbar-item-handler",()=>{});function a(){s&&s()}function f(i){const o={"dropdown-menu":!0};if(i.class){const c=i.menuClass.split(" ");c&&c.length&&c.reduce((g,N)=>(g[N]=!0,g),o)}return o}function u(i){const o={disabled:!i.enable,"dropdown-submenu":!0,"f-rt-dropdown":!0},c=i.dropdownClass.split(" ");return c&&c.length&&c.reduce((g,N)=>(g[N]=!0,g),o),o}function y(i){const o={disabled:!i.enable,"dropdown-item":!0,"f-rt-btn":!0,"position-relative":!0,"farris-component":!0},c=i.class.split(" ");return c&&c.length&&c.reduce((g,N)=>(g[N]=!0,g),o),o}let w;const h=new Map;function b(i,o,c){var N;((N=i.target)==null?void 0:N.id)===o.id&&i.stopPropagation();const g=c?c.id:"__top_item__";if(o.children&&o.children.length&&(o.expanded=!o.expanded,o.expanded?h.set(g,o):h.delete(g)),h.has(g)&&h.get(g)!==o){const T=h.get(g);T&&(T.expanded=!1)}}function l(i){i&&(i.stopPropagation(),i.preventDefault())}function d(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(o=>o.classList.remove("dgComponentFocused"));const i=document.getElementsByClassName("dgComponentSelected");Array.from(i).forEach(o=>o.classList.remove("dgComponentSelected"))}function m(i){i.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function C(i){const{buttons:o=[]}=n.schema;let c=[];o.forEach(T=>{c=c.concat(T.children||[])});const g=c.findIndex(T=>T.id===i),N=g===-1?null:c[g];return{index:g,item:N}}function S(i){const{buttons:o=[]}=n.schema,c=o.findIndex(N=>N.id===i),g=c===-1?null:o[c];return{index:c,item:g}}function B(i){var g;n.schema;const{index:o,item:c}=C(i);(g=n==null?void 0:n.setupContext)==null||g.emit("selectionChange",c==null?void 0:c.type,c)}const j=function(i){const{componentType:o}=i,c=W(o,i),g=o.toLowerCase().replace("-","_");return c&&!c.id&&c.type===o&&(c.id=`${g}_${Math.random().toString().slice(2,6)}`),c},$=function(){const i={componentType:"response-toolbar-item",parentComponentInstance:e.value,targetPosition:-1};return j(i)};function D(i,o){l(i),d(),m(i),B(o.id)}function x(i,o,c){l(i);const g=o.id,N=c&&c.id,{buttons:T=[]}=n.schema;if(!N)return;const{index:k}=S(N);if(k===-1)return;const{index:_}=C(g);_!==-1&&(T[k].children.splice(_,1),a())}function P(i,o,c){l(i);const g=c&&c.id,{buttons:N=[]}=n.schema;if(!g)return;const{index:T}=S(g);if(T===-1)return;const k=$(),_=Object.assign({},k,{text:o.text});N[T].children.push(_),a()}function M(i,o,c){l(i);const g=c&&c.id,{buttons:N=[]}=n.schema;if(!g)return;const{index:T}=S(g);if(T===-1)return;const k=$(),_=Object.assign({},k,{text:"按钮"});N[T].children.push(_),a()}function v(i,o){return t.createVNode("div",{class:"component-btn-group"},[t.createVNode("div",null,[t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:c=>x(c,i,o)},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:c=>P(c,i,o)},[t.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增同级",ref:"appendSame",style:"width:85px!important;padding:0 5px;position:static;",onClick:c=>M(c,i,o)},[t.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),t.createVNode("span",{style:"font-size:13px;margin:auto"},[t.createTextVNode("新增同级")])])])])}function V(i){return i.children.map(o=>o.children&&o.children.length?t.createVNode("li",{class:u(o),id:o.id,onClick:c=>o.enable&&b(c,o,i)},[t.createVNode("span",{id:o.id,class:y(o),onMouseover:c=>o.enable&&b(c,o,i)},[o.text,t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-right",style:"display: inline-block;float: right;line-height: 1.25rem;"},null)]),w(o,o)]):t.createVNode("li",{class:y(o),id:o.id,onClick:c=>D(c,o)},[v(o,i),r.shouldShowIcon(o)&&t.createVNode("i",{class:r.iconClass(o)},null),o.text]))}function I(i,o,c){const g={display:i.expanded?"block":"none",position:"fixed",maxWidth:"300px",width:"auto",minWidth:"120px"},N=document.getElementsByTagName("body")[0].getClientRects()[0].width,T=o,k=T==null?void 0:T.getClientRects();if(T&&k&&k.length){const{top:_,width:R,left:O,right:U,height:H}=k[0],lt=Math.ceil(H+_);g.top=`${lt}px`,g.left=`${O}px`;const dt=i.id+"_menu",se=o?o.querySelector("#"+dt):null;if(se){g.display==="block"&&(se.style.display="block");const De=se.getBoundingClientRect();if(c){g.top=`${_-6}px`;const pt=Math.ceil(R+O);g.left=`${pt}px`}N-O-R<De.width&&(g.left=`${(c?O:U)-De.width}px`)}}return g}w=function(i,o){var T,k;const c=t.getCurrentInstance(),g=o?o.id:i.id,N=(k=(T=c==null?void 0:c.exposed)==null?void 0:T.elementRef.value)==null?void 0:k.querySelector("#"+g);return t.createVNode("ul",{class:f(i),style:I(i,N,o),id:i.id+"_menu"},[V(i)])};function p(){h.forEach(i=>{i.expanded=!1}),h.clear()}return{renderDropdownMenu:w,clearAllDropDownMenu:p}}function Xe(r,e,n){const s=t.ref(r.alignment),{renderDropdownMenu:a,clearAllDropDownMenu:f}=Qe(e,n),u=t.inject("design-item-context"),y=t.inject("toolbar-item-handler",()=>{});function w(){y&&y()}function h(p){const i={"btn-group":!0,"f-rt-dropdown":!0,"f-btn-ml":s.value==="right","f-btn-mr":s.value==="left"},o=p.dropdownClass.split(" ");return o&&o.length&&o.reduce((c,g)=>(c[g]=!0,c),i),i}function b(p){const i={btn:!0,disabled:!p.enable,"position-relative":!0,"farris-component":!0,"f-rt-btn":!0,"btn-icontext":!!(p.icon&&p.icon.trim())};if(p.class){const o=p.class.split(" ");o&&o.length&&o.reduce((c,g)=>(c[g]=!0,c),i)}return i}function l(p){p&&(p.stopPropagation(),p.preventDefault())}function d(p,i){l(p);const o=i.expanded;document.body.click(),i.expanded=!o}const m=function(p){const{componentType:i}=p,o=W(i,p),c=i.toLowerCase().replace("-","_");return o&&!o.id&&o.type===i&&(o.id=`${c}_${Math.random().toString().slice(2,6)}`),o},C=function(){const p={componentType:"response-toolbar-item",parentComponentInstance:n.value,targetPosition:-1};return m(p)};function S(p){const i=u.schema.buttons||u.schema.contents,o=i==null?void 0:i.findIndex(g=>g.id===p),c=o===-1?null:i[o];return{index:o,toolbarItem:c}}function B(p,i){var k;const{index:o,toolbarItem:c}=S(i);if(o===-1)return;const g=c.text||"按钮",N=C(),T=Object.assign({},N,{text:g});(k=u.schema.buttons)==null||k.push(T),w()}function j(p,i){const{index:o,toolbarItem:c}=S(i);if(o===-1)return;const g=c.text||"按钮",N=C(),T=Object.assign({},N,{text:g}),k=u.schema.buttons[o].children||[];k.push(T),u.schema.buttons[o].children=k,w()}function $(p,i){const o=u.schema.buttons||u.schema.contents,c=o==null?void 0:o.findIndex(g=>g.id===i);c!==-1&&(o.splice(c,1),w())}function D(p){return t.createVNode("div",{class:"component-btn-group"},[t.createVNode("div",null,[t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeButton",style:"position:static;",onClick:i=>$(i,p)},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"复制",ref:"copyButton",style:"position:static;",onClick:i=>B(i,p)},[t.createVNode("i",{class:"f-icon f-icon-yxs_copy"},null)]),t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增子级",ref:"appendChildButton",style:"width:85px!important;padding:0 5px;position:static;",onClick:i=>j(i,p)},[t.createVNode("i",{class:"f-icon f-icon-plus-circle text-white mr-1"},null),t.createVNode("span",{style:"font-size:13px;margin:auto"},[t.createTextVNode("新增子级")])])])])}function x(){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(i=>i.classList.remove("dgComponentFocused"));const p=document.getElementsByClassName("dgComponentSelected");Array.from(p).forEach(i=>i.classList.remove("dgComponentSelected"))}function P(p){p.currentTarget.classList.add("dgComponentFocused","dgComponentSelected")}function M(p){var g;const i=u.schema.buttons||u.schema.contents,o=i==null?void 0:i.findIndex(N=>N.id===p);if(o===-1)return;const c=i[o];(g=u==null?void 0:u.setupContext)==null||g.emit("selectionChange","response-toolbar-item",c)}function v(p,i){l(p),x(),P(p),l(p),d(p,i),M(i.id)}function V(p){return t.createVNode("div",{id:p.id,class:h(p)},[t.createVNode("div",{class:b(p),style:"display: flex;padding-right: 0.1rem;",onClick:i=>p.enable&&v(i,p)},[D(p.id),e.shouldShowIcon(p)&&t.createVNode("i",{class:e.iconClass(p)},null),t.createVNode("span",null,[p.text]),t.createVNode("i",{class:"f-icon f-icon-arrow-chevron-down",style:"display: inline-block;float: right;line-height: 1.25rem;margin-left: .25rem;margin-right: .25rem;"},null)]),a(p)])}function I(){f()}return{renderToolbarDropdown:V,clearAllDropDown:I}}class Ye extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getBehaviorProperties(e),this.propertyConfig}getBasicPropConfig(e){this.propertyConfig.categories.basic={description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"response-toolbar",value:z["response-toolbar"].name}]}}}}}getBehaviorProperties(e){this.propertyConfig.categories.behavior={title:"行为",description:"",properties:{alignment:{title:"对齐方式",description:"The alignment of Response Toolbar Button.",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"right",name:"右对齐"},{value:"left",name:"左对齐"}]}},buttons:{title:"按钮",description:"The items of Response Toolbar.",type:"array",default:[],$converter:"/converter/buttons.converter",refreshPanelAfterChanged:!0}}}}}function Ze(r,e){const n=r.schema;function s(b){return!1}function a(b,l){return l.text=b.label,l}function f(){return!1}function u(){return!1}function y(){return!0}function w(){return!0}function h(b){return new Ye(b,e).getPropertyConfig(n)}return{canAccepts:s,checkCanAddComponent:y,checkCanDeleteComponent:u,checkCanMoveComponent:f,hideNestedPaddingInDesginerView:w,onResolveNewComponentSchema:a,getPropsConfig:h}}const Ke={id:{type:String,default:""},componentId:{type:String,default:""},canAdd:{type:Boolean,default:!1},canDelete:{type:Boolean,default:!1},canMove:{type:Boolean,default:!1},contentKey:{type:String,default:"contents"},childLabel:{type:String,default:""},childType:{type:String,default:""},modelValue:{type:Object}},Y=t.ref(0);function et(r,e){const n=e.getBoundingClientRect(),s=r.getBoundingClientRect(),a=s.top>=n.top,f=s.top<=n.bottom;return a&&f}function tt(r){if(!r)return;let e;if(r.className.includes("dgComponentSelected")?e=r:e=r.querySelector(".dgComponentSelected"),!e)return;const n=e.getBoundingClientRect();if(n.width===0&&n.height===0)return;const s=e.querySelector(".component-btn-group");if(s){if(!et(e,r)){s.style.display="none";return}s.style.display="";const f=s.getBoundingClientRect(),u=s.querySelector("div");if(u){const y=u.getBoundingClientRect();u.style.top=f.top+"px",u.style.left=f.left-y.width+"px"}}}function nt(r,e,n){var x;function s(){}const a="",f=t.ref();function u(){return!0}function y(){return!1}function w(){return!0}function h(){return!0}function b(){return!0}function l(P){if(!P||!P.value)return null;const M=t.ref(P==null?void 0:P.value.parent),v=l(M);return v||null}function d(P=e){const{componentInstance:M,designerItemElementRef:v}=P;return!M||!M.value?null:M.value.canMove||M.value.canAdd||M.value.canDelete?v:d(P.parent)}function m(P){return!!n}function C(){return(e==null?void 0:e.schema.label)||(e==null?void 0:e.schema.title)||(e==null?void 0:e.schema.name)}function S(){}function B(P,M){}function j(P){const{componentType:M}=P;let v=W(M,P);const V=M.toLowerCase().replace("-","_");return v&&!v.id&&v.type===M&&(v.id=`${V}_${Math.random().toString().slice(2,6)}`),v}function $(P){}function D(...P){return[]}return f.value={canMove:u(),canSelectParent:y(),canAdd:h(),canDelete:w(),canNested:!b(),contents:[],elementRef:r,parent:(x=e.parent)==null?void 0:x.componentInstance,schema:e.schema,styles:a,canAccepts:m,getBelongedComponentInstance:l,getDraggableDesignItemElement:d,getDraggingDisplayText:C,getPropConfig:D,getDragScopeElement:S,onAcceptMovedChildElement:B,onChildElementMovedOut:$,addNewChildComponentSchema:j,updateDragAndDropRules:s,triggerBelongedComponentToMoveWhenMoved:t.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:t.ref(!1)},f}const Ce=t.defineComponent({name:"FDesignerInnerItem",props:Ke,emits:["selectionChange","addComponent","removeComponent"],setup(r,e){const n=t.ref(r.canMove),s=t.ref(r.canAdd),a=t.ref(r.canDelete),f=t.ref(!1),u=t.ref(r.contentKey),y=t.ref(r.childType),w=t.ref(r.childLabel),h=t.ref(r.modelValue),b=t.ref(""),l=t.ref(),d=t.inject("canvas-dragula"),m=t.ref(),C=t.inject("design-item-context"),S={designerItemElementRef:l,componentInstance:m,schema:h.value,parent:C,setupContext:e};t.provide("design-item-context",S);const B=t.computed(()=>({"farris-component":!0,"flex-fill":r.id=="root-component","position-relative":n.value||a.value,"farris-nested":f.value,"can-move":n.value,"d-none":l.value&&l.value.classList.contains("d-none")})),j=t.computed(()=>{const o={};return b.value&&b.value.split(";").reduce((c,g)=>{const[N,T]=g.split(":");return N&&(c[N]=T),c},o),o});function $(o,c){if(C&&C.schema[u.value]){const g=C.schema[u.value].findIndex(N=>N.id===c.id);if(g>-1){const N=C.schema[u.value].length,T=C.schema[u.value][g%N];C.designerItemElementRef.value.querySelector(`#${T.id}-design-item`),C.schema[u.value].splice(g,1),C.componentInstance.value.updateDragAndDropRules(),Y.value++,e.emit("removeComponent")}}}function D(o){if(m.value.addNewChildComponentSchema){const c={componentType:y.value,label:w.value,parentComponentInstance:m.value,targetPosition:-1},g=m.value.addNewChildComponentSchema(c);h.value[u.value].push(g),e.emit("addComponent")}}function x(){return s.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"新增",ref:"removeComponent",onClick:o=>{D()}},[t.createVNode("i",{class:"f-icon f-icon-plus-circle"},null)])}function P(o){return a.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"删除",ref:"removeComponent",onClick:t.withModifiers(c=>$(c,o),["stop"])},[t.createVNode("i",{class:"f-icon f-icon-yxs_delete"},null)])}function M(){return n.value&&t.createVNode("div",{role:"button",class:"btn component-settings-button",title:"移动",ref:"moveComponent"},[t.createVNode("i",{"data-dragging-icon":"true",class:"cmp_move f-icon f-icon-yxs_move"},null)])}function v(o){return t.createVNode("div",{class:"component-btn-group","data-noattach":"true"},[t.createVNode("div",null,[x(),M(),P(o)])])}t.watch(()=>r.modelValue,o=>{h.value=o,S.schema=o});function V(o){const c=o.target;tt(c)}function I(){var o,c;(c=(o=h.value)==null?void 0:o.contents)!=null&&c.length&&l.value&&l.value.addEventListener("scroll",V)}function p(){const o=l.value,c=t.ref(o.children[1]);return nt(c,S).value}t.onMounted(()=>{if(l.value){const o=l.value.querySelector(`[data-dragref='${h.value.id}-container']`);m.value=o&&o.componentInstance?o.componentInstance.value:p(),d&&o&&d.attachComponents(o,h.value),f.value=m.value.canNested!==void 0?m.value.canNested:f.value,s.value=m.value.canAdd!==void 0?m.value.canAdd:s.value,a.value=m.value.canDelete!==void 0?m.value.canDelete:a.value,n.value=m.value.canMove!==void 0?m.value.canMove:n.value,b.value=m.value.styles||"",l.value&&(l.value.componentInstance=m,l.value.designItemContext=S)}I(),Y.value++}),t.onBeforeUnmount(()=>{l.value&&l.value.removeEventListener("scroll",V)});function i(o){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(g=>g.classList.remove("dgComponentFocused")),o&&(o.preventDefault(),o.stopPropagation());const c=l.value;if(c){const g=document.getElementsByClassName("dgComponentSelected");if(!(g&&g.length===1&&g[0]===l.value)){Array.from(g).forEach(k=>k.classList.remove("dgComponentSelected")),c.classList.add("dgComponentFocused"),e.emit("selectionChange",h.value.type,h.value,r.componentId,m.value);const T=m.value.getDraggableDesignItemElement(S);T&&T.value&&T.value.classList.add("dgComponentSelected")}}Y.value++}return()=>t.createVNode("div",{id:`${r.id}-design-item`,ref:l,class:B.value,style:j.value,onClick:i},[v(h.value),e.slots.default&&e.slots.default()])}});class ot extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(e),this.getAppearanceProperties(e),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(e){this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识00",title:"标识",type:"string",readonly:!0},type:{description:"类型",title:"类型",type:"string",readonly:!0,$converter:"/converter/type.converter"},text:{title:"文本",type:"string",description:""},icon:{title:"图标",type:"string",description:""}}}}getAppearanceProperties(e){this.propertyConfig.categories.appearance={title:"外观",properties:{class:{description:"组件的CSS样式",title:"class样式"},style:{description:"组件的内容样式",title:"style样式"}},setPropertyRelates(n,s){}}}getEventPropConfig(e){const n=[{label:"onClick",name:"点击事件"}];var s=this;const a=s.eventsEditorUtils.formProperties(e,s.viewModelId,n),f={};f[s.viewModelId]={type:"events-editor",editor:{initialData:a}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:f,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(u,y){const w=u.propertyValue;delete e[s.viewModelId],w&&(w.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,w.events,w))}}}}class rt extends Q{constructor(e,n){super(e,n)}getPropertyConfig(e){return this.getBasicPropConfig(),this.getAppearanceProperties(e),this.getbBehaviorConfig(),this.getEventPropConfig(e),this.propertyConfig}getBasicPropConfig(){this.propertyConfig.categories.basic={title:"基本信息",description:"Basic Infomation",properties:{id:{title:"标识",type:"string",description:"The identifier of a component.",readonly:!0},type:{title:"类型",type:"enum",description:"The type of a component.",editor:{type:"combo-list",textField:"value",valueField:"key",data:[{key:"response-toolbar-item",value:z["response-toolbar-item"].name}]}},text:{title:"文本",type:"string",description:"",refreshPanelAfterChanged:!0},icon:{title:"图标",type:"string",description:""}}}}getbBehaviorConfig(){this.propertyConfig.categories.behavior={title:"行为",description:"Behavior",properties:{disabled:{title:"禁用状态",type:"boolean",description:"按钮禁用状态",refreshPanelAfterChanged:!0}}}}getAppearanceProperties(e){this.propertyConfig.categories.appearance={title:"样式",description:"Appearance",properties:{class:{title:"class",type:"string",description:"",$converter:"/converter/appearance.converter"}}}}getEventPropConfig(e){const n=[{label:"onClick",name:"点击事件"}],s=this,a=s.eventsEditorUtils.formProperties(e,s.viewModelId,n),f={};f[s.viewModelId]={type:"events-editor",editor:{initialData:a}},this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:f,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(u,y){const w=u.propertyValue;delete e[s.viewModelId],w&&(w.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(e,s.viewModelId,w.events,w))}}}}function st(r,e){function n(y){return!1}function s(){return!1}function a(){return!0}function f(){return!1}function u(y){let w;switch(r.schema.type){case"tab-toolbar-item":w=new ot(y,e);break;default:w=new rt(y,e)}return w.getPropertyConfig(r.schema)}return{canAccepts:n,checkCanMoveComponent:s,checkCanDeleteComponent:a,checkCanAddComponent:f,getPropsConfig:u}}const ve=t.defineComponent({name:"FResponseToolbarItemDesign",props:he,emits:["Click"],setup(r,e){t.ref(),t.ref();const n=t.ref(r.alignment),s={id:"__more_buttons__",text:"More"},a=t.ref(new L(s));t.computed(()=>a.value.children.length>0);const f=t.ref(),u=t.inject("designer-host-service"),y=t.inject("design-item-context"),w=st(y,u),h=ie.useDesignerInnerComponent(f,y,w);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{f.value.componentInstance=h}),e.expose(h.value);function b(){const m={"f-icon":!0},C=r.icon?r.icon.trim():"";return q.getCustomClass(m,C)}function l(){return!!(r.icon&&r.icon.trim())}function d(){const m={btn:!0,"f-rt-btn":!0,"f-btn-ml":n.value==="right","f-btn-mr":n.value==="left","btn-icontext":!!(r.icon&&r.icon.trim()),disabled:r.disabled===!0};return q.getCustomClass(m,r.class)}return()=>t.createVNode("div",{ref:f,"data-dragref":`${y.schema.id}-container`,class:"farris-component position-relative",style:"display:inline-block!important;"},[t.createVNode("button",{type:"button",class:d(),id:r.id},[l()&&t.createVNode("i",{class:b()},null),r.text])])}}),we=t.defineComponent({name:"FResponseToolbarDesign",props:He,emits:["Click"],setup(r,e){const n=t.ref(r.items);let s=new Array(n.value.length).fill(t.ref());const a=t.ref(),f=t.ref(),u=t.ref(r.alignment),y={id:"__more_buttons__",text:"More"},w=t.ref(new L(y)),h=be();t.computed(()=>w.value.children.length>0);const b=t.ref(),l=t.inject("designer-host-service"),d=t.inject("design-item-context"),m=Ze(d,l),C=ie.useDesignerInnerComponent(b,d,m);t.inject("toolbar-item-handler",()=>{}),t.onMounted(()=>{b.value.componentInstance=C}),e.expose(C.value);const S=t.computed(()=>{const p={"f-toolbar":!0,"f-response-toolbar":!0,"position-relative":!0};return q.getCustomClass(p,r.customClass)}),B=t.computed(()=>({"d-flex":!0,"flex-nowrap":!0,"justify-content-end":u.value==="right","justify-content-start":u.value==="left"})),{renderToolbarDropdown:j,clearAllDropDown:$}=Xe(r,h,C);function D(){n.value.filter(p=>p.children&&p.children.length>0).forEach(p=>{p.expanded=!1}),w.value.expanded=!1,$()}const x=new Map,P=[];function M(p){const i=f.value;let o=p;const c=Array.from(i.children),g=c[c.length-1].id==="__more_buttons__"?c[c.length-1]:null;if(g){const R=g.computedStyleMap().get("margin-left"),O=g.computedStyleMap().get("margin-right"),U=(R?R.value:0)+g.getBoundingClientRect().width+(O?O.value:0);o-=U}const N=c.filter(R=>R.id!=="__more_buttons__");for(const R of N){const O=R.computedStyleMap().get("margin-left"),U=R.computedStyleMap().get("margin-right"),H=(O?O.value:0)+R.getBoundingClientRect().width+(U?U.value:0);o<H?(x.set(R.id,!0),P.push({id:R.id,width:H})):o-=H}if(P.length)for(let R=P.length-1;R>=0;R--){const O=P[R].width;if(o>=O)o-=O,x.delete(P[R].id),P.pop();else break}const T=Object.assign({},w.value);T.children=[];const k=new L(T),_=n.value.reduce((R,O)=>(x.has(O.id)&&k.children.push(O),O.visible=!x.has(O.id),R.push(O),R),[]);w.value=k,n.value=_}const v=new ResizeObserver(p=>{if(p.length){const o=p[0].contentRect.width,g=f.value.getBoundingClientRect().width;(o<g||P.length)&&M(o)}});t.onMounted(()=>{const p=a.value;v.observe(p),document.body.addEventListener("click",D)}),t.onUnmounted(()=>{v.disconnect(),document.body.removeEventListener("click",D)}),t.watch(()=>r.items,()=>{n.value=r.items},{deep:!0}),t.watch(n,p=>{s=new Array(n.value.length).fill(t.ref())});function V(p,i,o,c){d&&d.setupContext&&d.setupContext.emit("selectionChange",p,i,o,c)}function I(){const p=f.value.querySelector(".dgComponentFocused.dgComponentSelected");p==null||p.classList.remove("dgComponentSelected"),p==null||p.classList.remove("dgComponentFocused")}return()=>t.createVNode("div",{ref:b,"data-dragref":`${d.schema.id}-container`,class:S.value},[t.createVNode("div",{ref:a,class:B.value},[t.createVNode("div",{ref:f,class:"d-inline-block f-response-content",style:"white-space: nowrap;"},[n.value.map((p,i)=>t.createVNode(Ce,{ref:s[i],class:"p-0 display-inline-block",modelValue:p,"onUpdate:modelValue":o=>p=o,canMove:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",componentId:r.componentId,id:p.id,style:"padding:0 !important;display:inline-block",onSelectionChange:V,onRemoveComponent:I},{default:()=>{var o;return[t.createVNode(ve,{id:p.id,disabled:p.disabled,text:p.text,icon:p.icon,class:((o=p.appearance)==null?void 0:o.class)||"btn-secondary",alignment:r.alignment||"right",componentId:r.componentId},null)]}}))])])])}}),Pe=re;X.register=(r,e,n)=>{r["response-toolbar"]=X,e["response-toolbar"]=re},X.registerDesigner=(r,e,n)=>{r["response-toolbar"]=we,e["response-toolbar"]=re,r["response-toolbar-item"]=ve,e["response-toolbar-item"]=ze},q.withInstall(X);const it={id:{type:String,default:""},componentId:{type:String,default:""},type:{type:String,default:""},canDelete:{type:Boolean,default:!0},canMove:{type:Boolean,default:!0},canSelectParent:{type:Boolean,default:!0},customButtons:{type:Array,default:[]},customClass:{type:String,default:""},customStyle:{type:String,default:""},modelValue:{type:Object},ignore:{type:Boolean,default:!1}},Te=t.defineComponent({name:"FDesignerTemplateItem",props:it,emits:["selectionChange"],setup(r,e){const n=t.ref(),s=t.computed(()=>({"farris-component":!0}));function a(f){Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(y=>y.classList.remove("dgComponentFocused")),f&&(f.preventDefault(),f.stopPropagation());const u=n.value;if(u){const y=document.getElementsByClassName("dgComponentSelected");y&&y.length===1&&y[0]===n.value||(Array.from(y).forEach(h=>h.classList.remove("dgComponentSelected")),u.classList.add("dgComponentFocused"))}Y.value++}return()=>t.createVNode("div",{id:`${r.id}-design-item`,ref:n,class:s.value,onClick:a},[e.slots.default&&e.slots.default()])}}),at=t.defineComponent({name:"FPageHeaderDesign",props:de,emits:["Click"],setup(r,e){const n=t.ref(),s=t.inject("designer-host-service"),a=t.inject("design-item-context"),f=Oe(a.schema,s),u=Ae(n,a,f),y=t.ref(a.schema.toolbar||{type:"response-toolbar",buttons:[]}),w=t.ref(Pe(y.value));t.onMounted(()=>{n.value.componentInstance=u}),t.watch(()=>a.schema.toolbar,()=>{y.value=a.schema.toolbar||{type:"response-toolbar",buttons:[]},w.value=Pe(y.value)},{deep:!0});const h=t.computed(()=>[...w.value.items]);function b(l,d,m,C){a&&a.setupContext&&a.setupContext.emit("selectionChange",l,d,m,C)}return e.expose(u.value),()=>t.createVNode("div",{ref:n},[t.createVNode("nav",{class:"f-page-header-base"},[t.createVNode("div",{class:"f-title"},[t.createVNode(Te,null,{default:()=>[t.createVNode("span",{class:"f-title-icon f-text-orna-manage"},[t.createVNode("i",{class:r.icon},null)])]}),t.createVNode(Te,null,{default:()=>[t.createVNode("h4",{class:"f-title-text"},[r.title])]})]),t.createVNode(Ce,{class:"col-6 text-right",modelValue:y.value,"onUpdate:modelValue":l=>y.value=l,canAdd:!0,childType:"response-toolbar-item",childLabel:"按钮",contentKey:"buttons",id:y.value.id,componentId:r.componentId,onSelectionChange:b},{default:()=>[t.createVNode(we,{customClass:"w-100",items:h.value,componentId:r.componentId},null)]})])])}}),ct={install(r){r.component(J.name,J)},register(r,e,n,s){r["page-header"]=J,e["page-header"]=te,s["page-header"]={eventHandlerResolver:pe}},registerDesigner(r,e,n){r["page-header"]=at,e["page-header"]=te}};A.PageHeader=J,A.default=ct,A.eventHandlerResolver=pe,A.pageHeaderDesignerProps=de,A.pageHeaderProps=G,A.propsResolver=te,Object.defineProperties(A,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});