@farris/ui-vue 1.3.0 → 1.3.3

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 (305) hide show
  1. package/components/accordion/index.esm.js +103 -99
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +454 -398
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/binding-selector/index.esm.js +444 -0
  6. package/components/binding-selector/index.umd.cjs +1 -0
  7. package/components/binding-selector/package.json +8 -0
  8. package/components/border-editor/index.esm.js +5 -3
  9. package/components/border-editor/index.umd.cjs +1 -1
  10. package/components/button-edit/index.esm.js +143 -139
  11. package/components/button-edit/index.umd.cjs +1 -1
  12. package/components/calendar/index.esm.js +479 -476
  13. package/components/calendar/index.umd.cjs +1 -1
  14. package/components/capsule/index.esm.js +255 -252
  15. package/components/capsule/index.umd.cjs +1 -1
  16. package/components/checkbox/index.esm.js +652 -567
  17. package/components/checkbox/index.umd.cjs +1 -1
  18. package/components/color-picker/index.esm.js +518 -521
  19. package/components/color-picker/index.umd.cjs +2 -2
  20. package/components/combo-list/index.esm.js +659 -553
  21. package/components/combo-list/index.umd.cjs +1 -1
  22. package/components/combo-tree/index.esm.js +162 -155
  23. package/components/combo-tree/index.umd.cjs +1 -1
  24. package/components/common/index.esm.js +866 -747
  25. package/components/common/index.umd.cjs +1 -1
  26. package/components/component/index.esm.js +371 -998
  27. package/components/component/index.umd.cjs +1 -1
  28. package/components/condition/index.esm.js +1174 -1280
  29. package/components/condition/index.umd.cjs +1 -1
  30. package/components/content-container/index.esm.js +340 -991
  31. package/components/content-container/index.umd.cjs +1 -1
  32. package/components/data-grid/index.esm.js +6066 -5847
  33. package/components/data-grid/index.umd.cjs +1 -1
  34. package/components/data-view/index.esm.js +3400 -3486
  35. package/components/data-view/index.umd.cjs +1 -1
  36. package/components/date-picker/index.esm.js +2328 -2446
  37. package/components/date-picker/index.umd.cjs +1 -1
  38. package/components/designer-canvas/index.css +1 -1
  39. package/components/designer-canvas/index.esm.js +9551 -1200
  40. package/components/designer-canvas/index.umd.cjs +1 -1
  41. package/components/designer-outline/index.esm.js +2 -1
  42. package/components/designer-outline/index.umd.cjs +1 -1
  43. package/components/drawer/index.esm.js +34 -38
  44. package/components/drawer/index.umd.cjs +1 -1
  45. package/components/dropdown/index.esm.js +234 -231
  46. package/components/dropdown/index.umd.cjs +2 -2
  47. package/components/dynamic-form/index.esm.js +1996 -2630
  48. package/components/dynamic-form/index.umd.cjs +1 -1
  49. package/components/dynamic-resolver/index.esm.js +138 -123
  50. package/components/dynamic-resolver/index.umd.cjs +1 -1
  51. package/components/dynamic-view/index.esm.js +218 -218
  52. package/components/dynamic-view/index.umd.cjs +1 -1
  53. package/components/event-parameter/index.esm.js +311 -0
  54. package/components/event-parameter/index.umd.cjs +1 -0
  55. package/components/event-parameter/package.json +8 -0
  56. package/components/events-editor/index.css +1 -1
  57. package/components/events-editor/index.esm.js +548 -586
  58. package/components/events-editor/index.umd.cjs +1 -1
  59. package/components/expression-editor/index.esm.js +95 -91
  60. package/components/expression-editor/index.umd.cjs +1 -1
  61. package/components/external-container/index.esm.js +2871 -3736
  62. package/components/external-container/index.umd.cjs +1 -1
  63. package/components/field-selector/index.esm.js +3380 -3645
  64. package/components/field-selector/index.umd.cjs +1 -1
  65. package/components/filter-bar/index.css +1 -1
  66. package/components/filter-bar/index.esm.js +10543 -3207
  67. package/components/filter-bar/index.umd.cjs +1 -1
  68. package/components/flow-canvas/index.css +1 -1
  69. package/components/flow-canvas/index.esm.js +9775 -1312
  70. package/components/flow-canvas/index.umd.cjs +1 -1
  71. package/components/image-cropper/index.esm.js +442 -438
  72. package/components/image-cropper/index.umd.cjs +1 -1
  73. package/components/input-group/index.esm.js +587 -807
  74. package/components/input-group/index.umd.cjs +1 -1
  75. package/components/layout/index.esm.js +415 -381
  76. package/components/layout/index.umd.cjs +1 -1
  77. package/components/list-nav/index.esm.js +361 -1024
  78. package/components/list-nav/index.umd.cjs +1 -1
  79. package/components/list-view/index.esm.js +2265 -2371
  80. package/components/list-view/index.umd.cjs +1 -1
  81. package/components/lookup/index.esm.js +6425 -6257
  82. package/components/lookup/index.umd.cjs +1 -1
  83. package/components/mapping-editor/index.esm.js +6164 -5946
  84. package/components/mapping-editor/index.umd.cjs +1 -1
  85. package/components/message-box/index.esm.js +252 -252
  86. package/components/message-box/index.umd.cjs +1 -1
  87. package/components/modal/index.esm.js +70 -70
  88. package/components/modal/index.umd.cjs +1 -1
  89. package/components/nav/index.esm.js +524 -1474
  90. package/components/nav/index.umd.cjs +3 -3
  91. package/components/number-range/index.esm.js +547 -502
  92. package/components/number-range/index.umd.cjs +1 -1
  93. package/components/number-spinner/index.esm.js +646 -574
  94. package/components/number-spinner/index.umd.cjs +1 -1
  95. package/components/order/index.esm.js +1181 -2028
  96. package/components/order/index.umd.cjs +1 -1
  97. package/components/page-footer/index.esm.js +134 -131
  98. package/components/page-footer/index.umd.cjs +1 -1
  99. package/components/page-header/index.esm.js +1185 -2027
  100. package/components/page-header/index.umd.cjs +1 -1
  101. package/components/pagination/index.esm.js +442 -1368
  102. package/components/pagination/index.umd.cjs +1 -1
  103. package/components/progress/index.esm.js +238 -235
  104. package/components/progress/index.umd.cjs +3 -3
  105. package/components/property-editor/index.esm.js +1635 -1713
  106. package/components/property-editor/index.umd.cjs +2 -2
  107. package/components/property-panel/index.esm.js +791 -716
  108. package/components/property-panel/index.umd.cjs +1 -1
  109. package/components/query-solution/index.css +1 -1
  110. package/components/query-solution/index.esm.js +12203 -5274
  111. package/components/query-solution/index.umd.cjs +6 -1
  112. package/components/radio-button/index.esm.js +97 -97
  113. package/components/radio-button/index.umd.cjs +1 -1
  114. package/components/radio-group/index.css +1 -1
  115. package/components/radio-group/index.esm.js +1873 -520
  116. package/components/radio-group/index.umd.cjs +1 -1
  117. package/components/rate/index.esm.js +299 -300
  118. package/components/rate/index.umd.cjs +1 -1
  119. package/components/response-layout/index.esm.js +176 -173
  120. package/components/response-layout/index.umd.cjs +1 -1
  121. package/components/response-layout-editor/index.esm.js +715 -659
  122. package/components/response-layout-editor/index.umd.cjs +1 -1
  123. package/components/response-toolbar/index.esm.js +1032 -1883
  124. package/components/response-toolbar/index.umd.cjs +1 -1
  125. package/components/schema-selector/index.esm.js +4767 -5693
  126. package/components/schema-selector/index.umd.cjs +2 -2
  127. package/components/search-box/index.esm.js +169 -161
  128. package/components/search-box/index.umd.cjs +1 -1
  129. package/components/section/index.esm.js +490 -1167
  130. package/components/section/index.umd.cjs +1 -1
  131. package/components/smoke-detector/index.esm.js +154 -151
  132. package/components/smoke-detector/index.umd.cjs +1 -1
  133. package/components/splitter/index.esm.js +575 -1204
  134. package/components/splitter/index.umd.cjs +1 -1
  135. package/components/splitter/style.js +2 -0
  136. package/components/step/index.esm.js +279 -276
  137. package/components/step/index.umd.cjs +1 -1
  138. package/components/switch/index.esm.js +478 -428
  139. package/components/switch/index.umd.cjs +1 -1
  140. package/components/tabs/index.esm.js +2591 -3326
  141. package/components/tabs/index.umd.cjs +1 -1
  142. package/components/tags/index.esm.js +442 -439
  143. package/components/tags/index.umd.cjs +1 -1
  144. package/components/text/index.esm.js +309 -307
  145. package/components/text/index.umd.cjs +1 -1
  146. package/components/textarea/index.esm.js +500 -430
  147. package/components/textarea/index.umd.cjs +1 -1
  148. package/components/time-picker/index.esm.js +1391 -1341
  149. package/components/time-picker/index.umd.cjs +1 -1
  150. package/components/transfer/index.esm.js +574 -575
  151. package/components/transfer/index.umd.cjs +1 -1
  152. package/components/tree-grid/index.esm.js +3422 -3536
  153. package/components/tree-grid/index.umd.cjs +1 -1
  154. package/components/tree-view/index.esm.js +2661 -2764
  155. package/components/tree-view/index.umd.cjs +1 -1
  156. package/components/uploader/index.esm.js +675 -674
  157. package/components/uploader/index.umd.cjs +2 -2
  158. package/components/verify-detail/index.esm.js +300 -297
  159. package/components/verify-detail/index.umd.cjs +1 -1
  160. package/components/video/index.esm.js +454 -1089
  161. package/components/video/index.umd.cjs +1 -1
  162. package/components/weather/index.esm.js +709 -706
  163. package/components/weather/index.umd.cjs +5 -5
  164. package/farris.all.esm.js +54780 -52757
  165. package/farris.all.umd.cjs +14 -9
  166. package/index.css +1 -1
  167. package/package.json +1 -1
  168. package/types/binding-selector/index.d.ts +55 -0
  169. package/types/binding-selector/src/binding-selector.component.d.ts +11 -0
  170. package/types/binding-selector/src/binding-selector.props.d.ts +52 -0
  171. package/types/binding-selector/src/components/binding-selector-container.component.d.ts +13 -0
  172. package/types/binding-selector/src/composition/use-field-selection.d.ts +9 -0
  173. package/types/combo-list/src/components/list-container.component.d.ts +6 -6
  174. package/types/combo-list/src/components/list-container.props.d.ts +1 -1
  175. package/types/combo-tree/src/components/tree-container.component.d.ts +5 -5
  176. package/types/common/directive/area-response.d.ts +10 -0
  177. package/types/common/entity/entity-schema.d.ts +26 -11
  178. package/types/common/index.d.ts +9 -0
  179. package/types/common/radio-checkbox/radio-checkbox.props.d.ts +1 -0
  180. package/types/common/types.d.ts +2 -2
  181. package/types/common/utils/resolve-field.d.ts +2 -0
  182. package/types/common/utils/use-class.d.ts +7 -0
  183. package/types/component/src/designer/use-designer-rules.d.ts +2 -2
  184. package/types/condition/src/condition-fields.design.component.d.ts +18 -0
  185. package/types/condition/src/types.d.ts +5 -4
  186. package/types/content-container/src/designer/use-designer-rules.d.ts +3 -3
  187. package/types/data-grid/index.d.ts +8 -5
  188. package/types/data-grid/src/composition/data-grid-component-creator.service.d.ts +20 -0
  189. package/types/data-grid/src/{designer/data-grid-column.props.d.ts → data-grid-column.props.d.ts} +1 -1
  190. package/types/data-grid/src/data-grid.component.d.ts +3 -2
  191. package/types/data-grid/src/data-grid.props.d.ts +2 -2
  192. package/types/data-grid/src/designer/data-grid.design.component.d.ts +2 -2
  193. package/types/data-grid/src/designer/grid-field-editor.component.d.ts +14 -14
  194. package/types/data-grid/src/designer/use-designer-rules.d.ts +2 -2
  195. package/types/data-grid/src/schema/schema-resolver.d.ts +1 -1
  196. package/types/data-view/components/row/hierarchy-row.component.d.ts +2 -2
  197. package/types/data-view/composition/data/use-tree-data.d.ts +1 -1
  198. package/types/data-view/composition/types.d.ts +9 -11
  199. package/types/date-picker/src/components/calendar/calendar.component.d.ts +3 -3
  200. package/types/date-picker/src/components/month/month.component.d.ts +3 -3
  201. package/types/date-picker/src/components/year/year.component.d.ts +3 -3
  202. package/types/designer-canvas/index.d.ts +3 -1
  203. package/types/designer-canvas/src/composition/dg-control.d.ts +5 -0
  204. package/types/designer-canvas/src/composition/function/drag-resolve.d.ts +5 -0
  205. package/types/designer-canvas/src/composition/rule/use-dragula-common-rule.d.ts +4 -0
  206. package/types/designer-canvas/src/composition/rule/use-template-rule.d.ts +30 -0
  207. package/types/designer-canvas/src/composition/types.d.ts +49 -41
  208. package/types/designer-canvas/src/types.d.ts +10 -21
  209. package/types/dynamic-form/index.d.ts +1 -1
  210. package/types/dynamic-form/src/designer/form-group-use-designer-rules.d.ts +3 -0
  211. package/types/dynamic-form/src/designer/response-form-use-designer-rules.d.ts +3 -0
  212. package/types/dynamic-form/src/designer/response-form.design.component.d.ts +7 -1
  213. package/types/dynamic-form/src/property-config/{form.property-config.d.ts → response-form.property-config.d.ts} +1 -1
  214. package/types/dynamic-form/src/schema/{schema-resolver.d.ts → response-form-schema-resolver.d.ts} +1 -1
  215. package/types/dynamic-form/src/types.d.ts +1 -1
  216. package/types/dynamic-resolver/src/common/toolbar-resolver.d.ts +6 -1
  217. package/types/dynamic-resolver/src/converter/row-number.converter.d.ts +3 -0
  218. package/types/entity-binding-selector/composition/use-entity-tree.d.ts +7 -0
  219. package/types/entity-binding-selector/entity-binding-selector.component.d.ts +11 -0
  220. package/types/entity-binding-selector/entity-binding-selector.props.d.ts +3 -0
  221. package/types/enum-editor/src/components/enum-editor-container.component.d.ts +3 -3
  222. package/types/enum-editor/src/enum-editor.component.d.ts +3 -3
  223. package/types/event-parameter/index.d.ts +31 -0
  224. package/types/event-parameter/src/composition/type.d.ts +77 -0
  225. package/types/event-parameter/src/composition/use-editor-combotree.d.ts +3 -0
  226. package/types/event-parameter/src/composition/use-editor-input.d.ts +3 -0
  227. package/types/event-parameter/src/composition/use-editor-select.d.ts +3 -0
  228. package/types/event-parameter/src/composition/use-editor-switch.d.ts +3 -0
  229. package/types/event-parameter/src/composition/use-editor.d.ts +3 -0
  230. package/types/event-parameter/src/event-parameter.component.d.ts +8 -0
  231. package/types/event-parameter/src/event-parameter.props.d.ts +34 -0
  232. package/types/external-container/src/designer/import-external-schema.component.d.ts +1 -1
  233. package/types/external-container/src/designer/use-designer-rules.d.ts +3 -3
  234. package/types/field-selector/src/field-selector.component.d.ts +1 -2
  235. package/types/field-selector/src/field-selector.props.d.ts +0 -9
  236. package/types/input-group/src/designer/use-input-group-rules.d.ts +1 -2
  237. package/types/layout/src/designer/layout-pane-use-designer-rules.d.ts +3 -3
  238. package/types/list-nav/src/designer/use-designer-rules.d.ts +3 -0
  239. package/types/list-view/src/designer/list-view-table.design.component.d.ts +15 -0
  240. package/types/list-view/src/list-view-table.component.d.ts +15 -0
  241. package/types/lookup/src/composition/use-user-data.d.ts +2 -2
  242. package/types/lookup/src/property-config/lookup.property-config.d.ts +2 -6
  243. package/types/modal/src/composition/modal.service.d.ts +2 -1
  244. package/types/page-header/src/designer/page-header.design.component.d.ts +1 -1
  245. package/types/page-header/src/page-header.component.d.ts +1 -1
  246. package/types/pagination/src/components/buttons/goto-buttons.component.d.ts +2 -2
  247. package/types/pagination/src/components/buttons/next-buttons.component.d.ts +2 -2
  248. package/types/pagination/src/components/buttons/previous-buttons.component.d.ts +2 -2
  249. package/types/pagination/src/components/pages/page-list.component.d.ts +2 -2
  250. package/types/pagination/src/components/pages/page-number.component.d.ts +2 -2
  251. package/types/property-panel/index.d.ts +3 -1
  252. package/types/property-panel/src/composition/entity/input-base-property.d.ts +1 -1
  253. package/types/property-panel/src/composition/entity/property-entity.d.ts +1 -1
  254. package/types/property-panel/src/composition/type.d.ts +0 -13
  255. package/types/query-solution/src/composition/types.d.ts +35 -4
  256. package/types/query-solution/src/composition/use-header.d.ts +21 -0
  257. package/types/query-solution/src/composition/{use-filter.d.ts → use-http.d.ts} +2 -2
  258. package/types/query-solution/src/composition/use-solution.d.ts +20 -0
  259. package/types/query-solution/src/designer/query-solution-config/composition/types.d.ts +43 -35
  260. package/types/query-solution/src/designer/query-solution-config/composition/use-panel.d.ts +2 -16
  261. package/types/query-solution/src/designer/query-solution-config/composition/use-property.d.ts +19 -0
  262. package/types/query-solution/src/designer/query-solution-config/composition/use-querysolution-rules.d.ts +3 -0
  263. package/types/query-solution/src/designer/query-solution-config/composition/use-transfer.d.ts +1 -1
  264. package/types/query-solution/src/designer/query-solution-config/query-solution-config.props.d.ts +14 -14
  265. package/types/query-solution/src/property-config/query-solution.property-config.d.ts +12 -0
  266. package/types/query-solution/src/query-solution.d.ts +10 -2
  267. package/types/query-solution/src/solutions.d.ts +108 -509
  268. package/types/radio-group/src/designer/item-collection-editor-inner.component.d.ts +29 -0
  269. package/types/radio-group/src/designer/item-collection-editor.component.d.ts +29 -0
  270. package/types/radio-group/src/designer/item-collection-editor.props.d.ts +21 -0
  271. package/types/radio-group/src/schema/schema-mapper.d.ts +1 -0
  272. package/types/radio-group/src/schema/schema-resolver.d.ts +1 -0
  273. package/types/response-layout-editor/index.d.ts +3 -1
  274. package/types/response-toolbar/src/designer/use-designer-rules.d.ts +3 -3
  275. package/types/response-toolbar/src/property-config/response-toolbar-item.property-config.d.ts +1 -0
  276. package/types/response-toolbar/src/property-config/response-toolbar.property-config.d.ts +1 -0
  277. package/types/section/src/designer/use-designer-rules.d.ts +3 -3
  278. package/types/section/src/property-config/section.property-config.d.ts +17 -17
  279. package/types/section/src/schema/schema-resolver.d.ts +1 -2
  280. package/types/section/src/schema/toolbar-resolver.d.ts +1 -1
  281. package/types/splitter/src/components/splitter-pane.component.d.ts +1 -1
  282. package/types/splitter/src/designer/splitter-pane-use-designer-rules.d.ts +3 -3
  283. package/types/splitter/src/designer/splitter-use-designer-rules.d.ts +3 -3
  284. package/types/tabs/src/composition/types.d.ts +4 -1
  285. package/types/tabs/src/designer/tab-page-use-designer-rules.d.ts +3 -3
  286. package/types/tabs/src/designer/tab-use-designer-rules.d.ts +3 -3
  287. package/types/tabs/src/property-config/tab-page.property-config.d.ts +9 -59
  288. package/types/tabs/src/property-config/tabs.property-config.d.ts +8 -71
  289. package/types/tabs/src/schema/schema-resolver.d.ts +1 -2
  290. package/types/text/src/composition/types.d.ts +4 -4
  291. package/types/textarea/src/property-config/textarea.property-config.d.ts +23 -0
  292. package/types/tree-grid/index.d.ts +3 -3
  293. package/types/tree-grid/src/tree-grid.component.d.ts +1 -1
  294. package/types/weather/src/composition/use-weather-charts.d.ts +15 -0
  295. package/types/weather/src/composition/use-weather-color.d.ts +15 -0
  296. package/types/weather/src/composition/use-weather-data.d.ts +15 -0
  297. package/types/weather/src/composition/use-weather-format-number.d.ts +15 -0
  298. package/types/designer-canvas/src/composition/rule/use-drag-drop-rules.d.ts +0 -19
  299. package/types/designer-canvas/src/composition/use-dragula-common-rule.d.ts +0 -4
  300. package/types/dynamic-form/src/designer/use-designer-rules.d.ts +0 -3
  301. package/types/list-nav/src/composition/use-designer-rules.d.ts +0 -3
  302. package/types/property-panel/src/composition/entity/use-input-rules.d.ts +0 -3
  303. package/types/query-solution/src/designer/query-solution-config/composition/mock-data.d.ts +0 -6
  304. package/types/tree-grid/src/schema/column-resolver.d.ts +0 -3
  305. package/types/weather/src/composition/types.d.ts +0 -2
@@ -1 +1 @@
1
- (function(b,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("vue"),require("../common/index.umd.js"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../response-layout-editor/index.umd.js/src/composition/converter/use-response-layout-editor-setting")):typeof define=="function"&&define.amd?define(["exports","vue","../common/index.umd.js","lodash-es","../dynamic-resolver/index.umd.js","../response-layout-editor/index.umd.js/src/composition/converter/use-response-layout-editor-setting"],l):(b=typeof globalThis<"u"?globalThis:b||self,l(b["radio-group"]={},b.Vue,b.common,b.LodashES,b.dynamicResolver,b.useResponseLayoutEditorSetting))})(this,function(b,l,F,B,q,X){"use strict";var ye=Object.defineProperty;var ge=(b,l,F)=>l in b?ye(b,l,{enumerable:!0,configurable:!0,writable:!0,value:F}):b[l]=F;var C=(b,l,F)=>ge(b,typeof l!="symbol"?l+"":l,F);const O={value:{type:String,default:""},modelValue:{type:String,default:""},name:{type:String,default:""},label:{type:String,default:""},id:{type:String,default:""}},G=Symbol("radioGroupContext"),x=l.defineComponent({name:"FRadio",props:O,emits:["update:value"],setup(i,t){const e=l.inject(G,null),{buttonClass:n,checked:o,disabled:a,name:p,tagClass:m,shouldRenderButton:s,shouldRenderNative:r,shouldRenderTag:d,onClickRadio:c}=F.useCheck(i,t,e==null?void 0:e.parentProps,e==null?void 0:e.parentContext);return l.onMounted(()=>{}),()=>{var f,g,y,M,w,S;return l.createVNode(l.Fragment,null,[s.value&&l.createVNode("div",{class:n.value,style:"border-radius:0;border: 1px solid #E8EBF2;",onClick:c},[(g=(f=t.slots).default)==null?void 0:g.call(f)]),d.value&&l.createVNode("div",{class:m.value,onClick:c},[l.createVNode("div",{class:"title"},[(M=(y=t.slots).default)==null?void 0:M.call(y)]),l.createVNode("div",{class:"tip"},null),l.createVNode("span",{class:"f-icon f-icon-check f-radio-icon"},null)]),r.value&&l.createVNode("div",{class:"custom-control custom-radio",onClick:c},[l.createVNode("input",{type:"radio",class:"custom-control-input",name:p.value,id:i.id,value:i.value,checked:o.value,disabled:a.value},null),l.createVNode("div",{class:"custom-control-label"},[(S=(w=t.slots).default)==null?void 0:S.call(w)])])])}}});function J(i,t,e){return t}const I={},z={};function L(i){const{properties:t,title:e,ignore:n}=i,o=n&&Array.isArray(n),a=Object.keys(t).reduce((p,m)=>((!o||!n.find(s=>s==m))&&(p[m]=t[m].type==="object"&&t[m].properties?L(t[m]):B.cloneDeep(t[m].default)),p),{});return(!o||!n.find(p=>p=="id"))&&(a.id=`${e}-${Date.now()}`),a}function U(i,t={},e){const n=I[i];if(n){let o=L(n);const a=z[i];return o=a?a({getSchemaByType:U},o,t,e):o,o}return null}function Q(i,t){const e=L(t);return Object.keys(i).reduce((n,o)=>(n[o]&&B.isPlainObject(n[o])&&B.isPlainObject(i[o])?Object.assign(n[o],i[o]):n[o]=i[o],n),e),e}function Y(i,t){return Object.keys(i).filter(n=>i[n]!=null).reduce((n,o)=>{if(t.has(o)){const a=t.get(o);if(typeof a=="string")n[a]=i[o];else{const p=a(o,i[o],i);Object.assign(n,p)}}else n[o]=i[o];return n},{})}function Z(i,t,e=new Map){const n=Q(i,t);return Y(n,e)}function H(i={}){function t(r,d,c,f){if(typeof c=="number")return f[r].length===c;if(typeof c=="object"){const g=Object.keys(c)[0],y=c[g];if(g==="not")return Number(f[r].length)!==Number(y);if(g==="moreThan")return Number(f[r].length)>=Number(y);if(g==="lessThan")return Number(f[r].length)<=Number(y)}return!1}function e(r,d,c,f){return f[r]&&f[r].propertyValue&&String(f[r].propertyValue.value)===String(c)}const n=new Map([["length",t],["getProperty",e]]);Object.keys(i).reduce((r,d)=>(r.set(d,i[d]),r),n);function o(r,d){const c=r;return typeof d=="number"?[{target:c,operator:"length",param:null,value:Number(d)}]:typeof d=="boolean"?[{target:c,operator:"getProperty",param:r,value:!!d}]:typeof d=="object"?Object.keys(d).map(f=>{if(f==="length")return{target:c,operator:"length",param:null,value:d[f]};const g=f,y=d[f];return{target:c,operator:"getProperty",param:g,value:y}}):[]}function a(r){return Object.keys(r).reduce((c,f)=>{const g=o(f,r[f]);return c.push(...g),c},[])}function p(r,d){if(n.has(r.operator)){const c=n.get(r.operator);return c&&c(r.target,r.param,r.value,d)||!1}return!1}function m(r,d){return a(r).reduce((g,y)=>g&&p(y,d),!0)}function s(r,d){const c=Object.keys(r),f=c.includes("allOf"),g=c.includes("anyOf"),y=f||g,S=(y?r[y?f?"allOf":"anyOf":"allOf"]:[r]).map($=>m($,d));return f?!S.includes(!1):S.includes(!0)}return{parseValueSchema:s}}const u={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"}},K={},ee={};H();function te(i,t,e=new Map,n=(p,m,s)=>m,o={},a=p=>p){return I[t.title]=t,z[t.title]=n,K[t.title]=o,ee[t.title]=a,(p={})=>{const m=Z(p,t,e),s=Object.keys(i).reduce((r,d)=>(r[d]=i[d].default,r),{});return Object.assign(s,m)}}function ne(i,t){return{customClass:t.class,customStyle:t.style}}const oe=new Map([["appearance",ne]]),re={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/radio-group.schema.json",title:"radio-group",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a radio-group",type:"string"},type:{description:"The type string of radio-group component",type:"string",default:"radio-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},horizontal:{description:"",type:"boolean",default:!1},textField:{description:"",type:"string",default:"name"},valueField:{description:"",type:"string",default:"value"},enumData:{description:"",type:"array"}},required:["id","type"],ignore:["id","appearance","binding"]},D={...{checked:{type:Boolean,default:!1},mode:{type:String,default:"default"},type:{type:String,default:"secondary"},size:{type:String,default:"middle"}},id:String,disabled:{type:Boolean,default:!1},enumData:{type:Array,default:[{value:"example",name:"example1"}]},horizontal:{type:Boolean,default:!1},direction:{type:String,default:"horizontal"},modelValue:{type:String,default:""},name:{type:String,default:""},tabIndex:Number,textField:{type:String,default:"name"},valueField:{type:String,default:"value"}},j=te(D,re,oe,J);function R(i,t,e){const n=l.computed(()=>!i.disabled),o=l.computed(()=>i.enumData||[]);function a(s){return s[i.valueField]}function p(s){return s[i.textField]}function m(s,r){if(n.value){const d=a(s);e.value!==d&&(e.value=d,t.emit("changeValue",d),t.emit("update:modelValue",d))}r.stopPropagation()}return{enumData:o,getValue:a,getText:p,onClickRadio:m}}const T=l.defineComponent({name:"FRadioGroup",props:D,emits:["changeValue","update:modelValue"],setup(i,t){const e=l.ref(i.modelValue),{enumData:n,onClickRadio:o,getValue:a,getText:p}=R(i,t,e),m=l.computed(()=>({"farris-checkradio-hor":i.direction==="horizontal"})),s=l.ref([]);return l.provide(G,{radios:s,parentProps:i,parentContext:t}),()=>l.createVNode("div",{class:["farris-input-wrap",m.value]},[t.slots.default?t.slots.default():n.value.map((r,d)=>{const c="radio_"+i.id+i.name+r[i.valueField];return l.createVNode("div",{class:"custom-control custom-radio"},[l.createVNode("input",{type:"radio",class:"custom-control-input",name:c,id:c,value:a(r),checked:a(r)===e.value,disabled:i.disabled,tabindex:i.tabIndex,onClick:f=>o(r,f)},null),l.createVNode("label",{class:"custom-control-label",for:c},[p(r)])])})])}});function ie(i,t,e){var _;function n(){e!=null&&e.resolveComponentContext&&e.resolveComponentContext()}n();const o=e&&e.getStyles&&e.getStyles()||"",a=e&&e.getDesignerClass&&e.getDesignerClass()||"",p=l.ref();function m(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanMoveComponent?e.checkCanMoveComponent():!0}function s(){return!1}function r(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanDeleteComponent?e.checkCanDeleteComponent():!0}function d(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:e&&e.hideNestedPaddingInDesginerView?e.hideNestedPaddingInDesginerView():!1}function c(h){if(!h||!h.value)return null;if(h.value.schema&&h.value.schema.type==="component")return h.value;const v=l.ref(h==null?void 0:h.value.parent),k=c(v);return k||null}function f(h=t){const{componentInstance:v,designerItemElementRef:k}=h;return!v||!v.value?null:v.value.canMove?k:f(h.parent)}function g(h){return!!e&&e.canAccepts(h)}function y(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function M(){}function w(h,v){v&&e!=null&&e.onAcceptMovedChildElement&&e.onAcceptMovedChildElement(v)}function S(h,v){const{componentType:k}=h;let V=U(k,h,v);e&&e.onResolveNewComponentSchema&&(V=e.onResolveNewComponentSchema(h,V));const N=k.toLowerCase().replace("-","_");return V&&!V.id&&V.type===k&&(V.id=`${N}_${Math.random().toString().slice(2,6)}`),V}function W(h,v){const k=String(h.getAttribute("data-controltype")),V=h.getAttribute("data-feature"),N=V?JSON.parse(V):{};N.parentComponentInstance=p.value;let P=U(k,N);e&&e.onAcceptNewChildElement&&(P=e.onAcceptNewChildElement(h,v,P));const fe=k.toLowerCase().replace("-","_");return P&&!P.id&&P.type===k&&(P.id=`${fe}_${Math.random().toString().slice(2,6)}`),P}function $(h){}function me(...h){if(e&&e.getPropsConfig)return e.getPropsConfig(...h)}return p.value={canMove:m(),canSelectParent:s(),canDelete:r(),canNested:!d(),contents:t==null?void 0:t.schema.contents,elementRef:i,parent:(_=t==null?void 0:t.parent)==null?void 0:_.componentInstance,schema:t==null?void 0:t.schema,styles:o,designerClass:a,canAccepts:g,getBelongedComponentInstance:c,getDraggableDesignItemElement:f,getDraggingDisplayText:y,getPropConfig:me,getDragScopeElement:M,onAcceptMovedChildElement:w,onAcceptNewChildElement:W,onChildElementMovedOut:$,addNewChildComponentSchema:S,updateDragAndDropRules:n,triggerBelongedComponentToMoveWhenMoved:!!e&&e.triggerBelongedComponentToMoveWhenMoved||l.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!e&&e.triggerBelongedComponentToDeleteWhenDeleted||l.ref(!1)},p}class ae{constructor(t,e){C(this,"componentId");C(this,"viewModelId");C(this,"eventsEditorUtils");C(this,"formSchemaUtils");C(this,"formMetadataConverter");C(this,"designViewModelUtils");C(this,"designViewModelField");C(this,"controlCreatorUtils");C(this,"designerHostService");C(this,"schemaService",null);C(this,"metadataService",null);C(this,"propertyConfig",{type:"object",categories:{}});var n;this.componentId=t,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((n=this.formSchemaUtils)==null?void 0:n.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){const e=t.binding&&t.binding.type==="Form"&&t.binding.field;if(e){if(!this.designViewModelField){const n=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=n.fields.find(o=>o.id===e)}t.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(t,e){}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:t.type,name:u[t.type].name}]}}}}}getAppearanceConfig(t=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(t,e){const n=e&&e.parent&&e.parent.schema;if(!n)return;const o=n.contents.findIndex(p=>p.id===t),a=B.cloneDeep(n.contents[o]);n.contents.splice(o,1),n.contents.splice(o,0,a)}}const E=class E{static getEditorTypesByMDataType(t){const e=E.fieldControlTypeMapping[t];return e||[{key:"",value:""}]}static getAllInputTypes(){const t=[];for(let e in E.fieldControlTypeMapping)E.fieldControlTypeMapping[e].forEach(n=>{t.find(o=>o.key===n.key&&o.value===n.value)||t.push({key:n.key,value:n.value})});return t}};C(E,"fieldControlTypeMapping",{String:[{key:u["input-group"].type,value:u["input-group"].name},{key:u.lookup.type,value:u.lookup.name},{key:u["date-picker"].type,value:u["date-picker"].name},{key:u["check-box"].type,value:u["check-box"].name},{key:u["radio-group"].type,value:u["radio-group"].name},{key:u["combo-list"].type,value:u["combo-list"].name},{key:u.textarea.type,value:u.textarea.name}],Text:[{key:u.textarea.type,value:u.textarea.name},{key:u.lookup.type,value:u.lookup.name}],Decimal:[{key:u["number-spinner"].type,value:u["number-spinner"].name}],Integer:[{key:u["number-spinner"].type,value:u["number-spinner"].name}],Number:[{key:u["number-spinner"].type,value:u["number-spinner"].name}],BigNumber:[{key:u["number-spinner"].type,value:u["number-spinner"].name}],Date:[{key:u["date-picker"].type,value:u["date-picker"].name}],DateTime:[{key:u["date-picker"].type,value:u["date-picker"].name}],Boolean:[{key:u.switch.type,value:u.switch.name},{key:u["check-box"].type,value:u["check-box"].name}],Enum:[{key:u["combo-list"].type,value:u["combo-list"].name},{key:u["radio-group"].type,value:u["radio-group"].name}],Object:[{key:u.lookup.type,value:u.lookup.name},{key:u["combo-list"].type,value:u["combo-list"].name},{key:u["radio-group"].type,value:u["radio-group"].name}]});let A=E;const le=l.ref(0);class se extends ae{constructor(e,n){super(e,n);C(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=X.useResponseLayoutEditorSetting(this.formSchemaUtils)}getPropertyConfig(e,n){return this.propertyConfig.categories.basic=this.getBasicProperties(e,n),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,n),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig}getBasicProperties(e,n){var m;var o=this;this.setDesignViewModelField(e);const a=this.formSchemaUtils.getFormMetadataBasicInfo(),p=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:o.designViewModelField?A.getEditorTypesByMDataType((m=o.designViewModelField.type)==null?void 0:m.name):A.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",$converter:"/converter/field-selector.converter",editor:{type:"field-selector",bindingType:{enable:!1},editorParams:{propertyData:e,formBasicInfo:a},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],textField:"bindingField",data:p}}},setPropertyRelates(s,r){if(s)switch(s&&s.propertyID){case"type":{o.changeControlType(e,s,n);break}case"label":{s.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(e,n){var o=this;return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:o.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,o.componentId)}}},setPropertyRelates(a,p){if(a)switch(a&&a.propertyID){case"responseLayout":o.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(a.propertyValue,o.componentId||e.id),o.updateUnifiedLayoutAfterResponseLayoutChanged(o.componentId),o.updateElementByParentContainer(e.id,n),delete e.responseLayout;break;case"class":o.updateUnifiedLayoutAfterControlChanged(a.propertyValue,e.id,this.componentId),o.updateElementByParentContainer(e.id,n);break}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,n,o){var d,c,f,g;const a=n.propertyValue,p=o&&o.parent&&o.parent.schema;if(!p)return;const m=p.contents.findIndex(y=>y.id===e.id),s=p.contents[m];let r;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:a},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),r=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,a)),r||(r=q.getSchemaByType("form-group")||{},r.editor=q.getSchemaByType(a)||{},delete r.editor.id,delete r.editor.binding,delete r.editor.appearance),Object.assign(r,{id:s.id,appearance:s.appearance,size:s.size,label:s.label,binding:s.binding,visible:s.visible}),Object.assign(r.editor,{isTextArea:r.isTextArea&&s.isTextArea,placeholder:(d=s.editor)==null?void 0:d.placeholder,holdPlace:(c=s.editor)==null?void 0:c.holdPlace,readonly:(f=s.editor)==null?void 0:f.readonly,require:(g=s.editor)==null?void 0:g.require}),p.contents.splice(m,1),p.contents.splice(m,0,r),o.schema=Object.assign(s,r),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(y=>y.classList.remove("dgComponentSelected")),le.value++}getComponentConfig(e,n={},o={}){const a=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},n),p=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},o);return{...a,properties:{...p}}}updateUnifiedLayoutAfterControlChanged(e,n,o){const a=e.split(" ");let p=a.find(c=>/^col-([1-9]|10|11|12)$/.test(c)),m=a.find(c=>/^col-md-([1-9]|10|11|12)$/.test(c)),s=a.find(c=>/^col-xl-([1-9]|10|11|12)$/.test(c)),r=a.find(c=>/^col-el-([1-9]|10|11|12)$/.test(c));p=p||"col-12",m=m||"col-md-"+p.replace("col-",""),s=s||"col-xl-"+m.replace("col-md-",""),r=r||"col-el-"+s.replace("col-xl-","");const d={id:n,columnInSM:parseInt(p.replace("col-",""),10),columnInMD:parseInt(m.replace("col-md-",""),10),columnInLG:parseInt(s.replace("col-xl-",""),10),columnInEL:parseInt(r.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(o,d)}updateUnifiedLayoutAfterResponseLayoutChanged(e,n){const{formNode:o}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!o||!o.unifiedLayout)return;const a=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(o,a,1),n){const y=a.find(M=>M.id===n.id);Object.assign(y||{},n)}const p=a.map(y=>y.columnInSM),m=a.map(y=>y.columnInMD),s=a.map(y=>y.columnInLG),r=a.map(y=>y.columnInEL),d=this.checkIsUniqueColumn(p)?p[0]:null,c=this.checkIsUniqueColumn(m)?m[0]:null,f=this.checkIsUniqueColumn(s)?s[0]:null,g=this.checkIsUniqueColumn(r)?r[0]:null;Object.assign(o.unifiedLayout,{uniqueColClassInSM:d,uniqueColClassInMD:c,uniqueColClassInLG:f,uniqueColClassInEL:g})}checkIsUniqueColumn(e){const n=new Set(e);return Array.from(n).length===1}}class ce extends se{constructor(t,e){super(t,e)}getEditorProperties(t){return this.getComponentConfig(t,{type:"number-spinner"},{readonly:{visible:!1},placeholder:{visible:!1},horizontal:{description:"",title:"是否横向",type:"boolean"},textField:{description:"",title:"显示文本字段",type:"string"},valueField:{description:"",title:"值字段",type:"string"},enumData:{visible:!1,description:"",title:"数据",type:"array"}})}}function pe(i,t){i.schema;const e=l.ref(!0),n=l.ref(!0);function o(c){return!1}function a(){return!1}function p(){return!1}function m(){return!0}function s(c){}function r(){}function d(c){return null}return{canAccepts:o,checkCanDeleteComponent:a,checkCanMoveComponent:p,hideNestedPaddingInDesginerView:m,onAcceptMovedChildElement:s,resolveComponentContext:r,triggerBelongedComponentToMoveWhenMoved:e,triggerBelongedComponentToDeleteWhenDeleted:n,getPropsConfig:d}}function de(i,t){const{canAccepts:e,checkCanDeleteComponent:n,checkCanMoveComponent:o,hideNestedPaddingInDesginerView:a,onAcceptMovedChildElement:p,resolveComponentContext:m,triggerBelongedComponentToMoveWhenMoved:s,triggerBelongedComponentToDeleteWhenDeleted:r}=pe(i),d=i.schema;function c(f,g){return new ce(f,t).getPropertyConfig(d,g)}return{canAccepts:e,checkCanDeleteComponent:n,checkCanMoveComponent:o,hideNestedPaddingInDesginerView:a,onAcceptMovedChildElement:p,resolveComponentContext:m,triggerBelongedComponentToMoveWhenMoved:s,triggerBelongedComponentToDeleteWhenDeleted:r,getPropsConfig:c}}const ue=l.defineComponent({name:"FRadioGroupDesign",props:D,emits:["changeValue","update:modelValue"],setup(i,t){const e=l.ref(i.modelValue),{enumData:n,onClickRadio:o,getValue:a,getText:p}=R(i,t,e),m=l.computed(()=>({"farris-checkradio-hor":i.horizontal})),s=l.ref(),r=l.inject("designer-host-service"),d=l.inject("design-item-context"),c=de(d,r),f=ie(s,d,c);return l.onMounted(()=>{s.value.componentInstance=f}),t.expose(f.value),()=>l.createVNode("div",{class:["farris-input-wrap",m.value],ref:s},[n.value.map((g,y)=>{const M="radio_"+i.name+y;return l.createVNode("div",{class:"custom-control custom-radio"},[l.createVNode("input",{type:"radio",class:"custom-control-input",name:i.name,id:M,value:a(g),checked:a(g)===e.value,disabled:i.disabled,tabindex:i.tabIndex,onClick:w=>o(g,w)},null),l.createVNode("label",{class:"custom-control-label",for:M},[p(g)])])})])}});T.install=i=>{i.component(T.name,T),i.component(x.name,x)},T.register=(i,t,e,n)=>{i["radio-group"]=T,t["radio-group"]=j},T.registerDesigner=(i,t,e)=>{i["radio-group"]=ue,t["radio-group"]=j},b.RadioGroup=T,b.default=T,b.propsResolver=j,b.radioGroupProps=D,b.radioProps=O,Object.defineProperties(b,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(T,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue"),require("../common/index.umd.js"),require("lodash-es"),require("../designer-canvas/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../tags/index.umd.js"),require("../popover/index.umd.js"),require("../data-grid/index.umd.js"),require("../notify/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../common/index.umd.js","lodash-es","../designer-canvas/index.umd.js","../dynamic-resolver/index.umd.js","../tags/index.umd.js","../popover/index.umd.js","../data-grid/index.umd.js","../notify/index.umd.js"],o):(T=typeof globalThis<"u"?globalThis:T||self,o(T["radio-group"]={},T.Vue,T.common,T.LodashES,T.designerCanvas,T.dynamicResolver,T.FTags,T.FPopover,T.FDataGrid,T.notify))})(this,function(T,o,N,$,q,G,Z,ee,te,ne){"use strict";var Ke=Object.defineProperty;var Qe=(T,o,N)=>o in T?Ke(T,o,{enumerable:!0,configurable:!0,writable:!0,value:N}):T[o]=N;var w=(T,o,N)=>Qe(T,typeof o!="symbol"?o+"":o,N);const U={value:{type:String,default:""},modelValue:{type:String,default:""},name:{type:String,default:""},label:{type:String,default:""},id:{type:String,default:""}},W=Symbol("radioGroupContext"),R=o.defineComponent({name:"FRadio",props:U,emits:["update:value"],setup(e,t){const n=o.inject(W,null),{buttonClass:a,checked:i,disabled:r,name:d,tagClass:u,shouldRenderButton:f,shouldRenderNative:s,shouldRenderTag:p,onClickRadio:l}=N.useCheck(e,t,n==null?void 0:n.parentProps,n==null?void 0:n.parentContext);return o.onMounted(()=>{}),()=>{var c,m,y,g,F,k;return o.createVNode(o.Fragment,null,[f.value&&o.createVNode("div",{class:a.value,style:"border-radius:0;border: 1px solid #E8EBF2;",onClick:l},[(m=(c=t.slots).default)==null?void 0:m.call(c)]),p.value&&o.createVNode("div",{class:u.value,onClick:l},[o.createVNode("div",{class:"title"},[(g=(y=t.slots).default)==null?void 0:g.call(y)]),o.createVNode("div",{class:"tip"},null),o.createVNode("span",{class:"f-icon f-icon-check f-radio-icon"},null)]),s.value&&o.createVNode("div",{class:"custom-control custom-radio",onClick:l},[o.createVNode("input",{type:"radio",class:"custom-control-input",name:d.value,id:e.id,value:e.value,checked:i.value,disabled:r.value},null),o.createVNode("div",{class:"custom-control-label"},[(k=(F=t.slots).default)==null?void 0:k.call(F)])])])}}});function oe(e,t,n){return t}function ie(e,t,n){return t}const z={},X={};function L(e){const{properties:t,title:n,ignore:a}=e,i=a&&Array.isArray(a),r=Object.keys(t).reduce((d,u)=>((!i||!a.find(f=>f===u))&&(d[u]=t[u].type==="object"&&t[u].properties?L(t[u]):$.cloneDeep(t[u].default)),d),{});if(n&&(!i||!a.find(d=>d==="id"))){const d=n.toLowerCase().replace(/-/g,"_");r.id=`${d}_${Math.random().toString().slice(2,6)}`}return r}function _(e,t={},n){const a=z[e];if(a){let i=L(a);const r=X[e];return i=r?r({getSchemaByType:_},i,t,n):i,i}return null}function ae(e,t){const n=L(t);return Object.keys(n).reduce((a,i)=>(a[i]&&$.isPlainObject(a[i])&&$.isPlainObject(e[i]||!e[i])?Object.assign(a[i],e[i]||{}):a[i]=e[i],a),n),n}function le(e,t){return Object.keys(e).filter(a=>e[a]!=null).reduce((a,i)=>{if(t.has(i)){const r=t.get(i);if(typeof r=="string")a[r]=e[i];else{const d=r(i,e[i],e);Object.assign(a,d)}}else a[i]=e[i];return a},{})}function re(e,t,n=new Map){const a=ae(e,t);return le(a,n)}function se(e={}){function t(s,p,l,c){if(typeof l=="number")return c[s].length===l;if(typeof l=="object"){const m=Object.keys(l)[0],y=l[m];if(m==="not")return Number(c[s].length)!==Number(y);if(m==="moreThan")return Number(c[s].length)>=Number(y);if(m==="lessThan")return Number(c[s].length)<=Number(y)}return!1}function n(s,p,l,c){return c[s]&&c[s].propertyValue&&String(c[s].propertyValue.value)===String(l)}const a=new Map([["length",t],["getProperty",n]]);Object.keys(e).reduce((s,p)=>(s.set(p,e[p]),s),a);function i(s,p){const l=s;return typeof p=="number"?[{target:l,operator:"length",param:null,value:Number(p)}]:typeof p=="boolean"?[{target:l,operator:"getProperty",param:s,value:!!p}]:typeof p=="object"?Object.keys(p).map(c=>{if(c==="length")return{target:l,operator:"length",param:null,value:p[c]};const m=c,y=p[c];return{target:l,operator:"getProperty",param:m,value:y}}):[]}function r(s){return Object.keys(s).reduce((l,c)=>{const m=i(c,s[c]);return l.push(...m),l},[])}function d(s,p){if(a.has(s.operator)){const l=a.get(s.operator);return l&&l(s.target,s.param,s.value,p)||!1}return!1}function u(s,p){return r(s).reduce((m,y)=>m&&d(y,p),!0)}function f(s,p){const l=Object.keys(s),c=l.includes("allOf"),m=l.includes("anyOf"),y=c||m,k=(y?s[y?c?"allOf":"anyOf":"allOf"]:[s]).map(B=>u(B,p));return c?!k.includes(!1):k.includes(!0)}return{parseValueSchema:f}}const C={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},ce={},de={};se();function H(e,t,n=new Map,a=(d,u,f,s)=>u,i={},r=d=>d){return z[t.title]=t,X[t.title]=a,ce[t.title]=i,de[t.title]=r,(d={})=>{const u=re(d,t,n),f=Object.keys(e).reduce((s,p)=>(s[p]=e[p].default,s),{});return Object.assign(f,u)}}function ue(e,t){return{customClass:t.class,customStyle:t.style}}const pe=new Map([["appearance",ue]]),fe=new Map([]),me={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/radio-group.schema.json",title:"radio-group",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a radio-group",type:"string"},type:{description:"The type string of radio-group component",type:"string",default:"radio-group"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",default:!1},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},horizontal:{description:"",type:"boolean",default:!1},textField:{description:"",type:"string",default:"name"},valueField:{description:"",type:"string",default:"value"},data:{description:"",type:"array"}},required:["id","type"],ignore:["id","appearance","binding","visible"]},D={...{checked:{type:Boolean,default:!1},mode:{type:String,default:"default"},type:{type:String,default:"secondary"},size:{type:String,default:"middle"}},id:String,disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},enumData:{type:Array,default:[{value:"example1",name:"示例一"},{value:"example2",name:"示例二"}]},data:{type:Array,default:[{value:"example1",name:"示例一"},{value:"example2",name:"示例二"}]},horizontal:{type:Boolean,default:!1},direction:{type:String,default:"horizontal"},modelValue:{type:String,default:""},name:{type:String,default:""},tabIndex:{type:Number,default:-1},textField:{type:String,default:"name"},valueField:{type:String,default:"value"}},j=H(D,me,pe,oe);function K(e,t,n){const a=o.computed(()=>!e.disabled),i=o.computed(()=>e.data||e.enumData||[]);function r(f){return f[e.valueField]}function d(f){return f[e.textField]}function u(f,s){if(a.value){const p=r(f);n.value!==p&&(n.value=p,t.emit("changeValue",p),t.emit("update:modelValue",p))}s.stopPropagation()}return{enumData:i,getValue:r,getText:d,onClickRadio:u}}const P=o.defineComponent({name:"FRadioGroup",props:D,emits:["changeValue","update:modelValue"],setup(e,t){const n=o.ref(e.modelValue),{enumData:a,onClickRadio:i,getValue:r,getText:d}=K(e,t,n),u=o.computed(()=>({"farris-checkradio-hor":e.direction==="horizontal"})),f=o.ref([]);return o.provide(W,{radios:f,parentProps:e,parentContext:t}),()=>o.createVNode("div",{class:["farris-input-wrap",u.value]},[t.slots.default?t.slots.default():a.value.map((s,p)=>{const l="radio_"+e.id+e.name+s[e.valueField];return o.createVNode("div",{class:"custom-control custom-radio"},[o.createVNode("input",{type:"radio",class:"custom-control-input",name:l,id:l,value:r(s),checked:r(s)===n.value,disabled:e.readonly||e.disabled,tabindex:e.tabIndex,onClick:c=>i(s,c)},null),o.createVNode("label",{class:"custom-control-label",for:l},[d(s)])])})])}});function ye(e,t,n){var E;const a=n&&n.getStyles&&n.getStyles()||"",i=n&&n.getDesignerClass&&n.getDesignerClass()||"",r=o.ref();function d(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:n&&n.checkCanMoveComponent?n.checkCanMoveComponent():!0}function u(){return!1}function f(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:n&&n.checkCanDeleteComponent?n.checkCanDeleteComponent():!0}function s(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:n&&n.hideNestedPaddingInDesginerView?n.hideNestedPaddingInDesginerView():!1}function p(v){if(!v||!v.value)return null;if(v.value.schema&&v.value.schema.type==="component")return v.value;const S=o.ref(v==null?void 0:v.value.parent),V=p(S);return V||null}function l(v=t){const{componentInstance:S,designerItemElementRef:V}=v;return!S||!S.value?null:S.value.canMove?V:l(v.parent)}function c(v){return!!n&&n.canAccepts(v)}function m(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function y(){}function g(v,S){S&&n!=null&&n.onAcceptMovedChildElement&&n.onAcceptMovedChildElement(S)}function F(v,S){const{componentType:V}=v;let M=_(V,v,S);n&&n.onResolveNewComponentSchema&&(M=n.onResolveNewComponentSchema(v,M));const b=V.toLowerCase().replace(/-/g,"_");return M&&!M.id&&M.type===V&&(M.id=`${b}_${Math.random().toString().slice(2,6)}`),M}function k(v){}function h(...v){if(n&&n.getPropsConfig)return n.getPropsConfig(...v)}function B(){n&&n.onRemoveComponent&&n.onRemoveComponent(),t!=null&&t.schema.contents&&t.schema.contents.map(v=>{var M;let S=v.id;v.type==="component-ref"&&(S=v.component);const V=e.value.querySelector(`#${S}-design-item`);(M=V==null?void 0:V.componentInstance)!=null&&M.value.onRemoveComponent&&V.componentInstance.value.onRemoveComponent()})}return r.value={canMove:d(),canSelectParent:u(),canDelete:f(),canNested:!s(),contents:t==null?void 0:t.schema.contents,elementRef:e,parent:(E=t==null?void 0:t.parent)==null?void 0:E.componentInstance,schema:t==null?void 0:t.schema,styles:a,designerClass:i,canAccepts:c,getBelongedComponentInstance:p,getDraggableDesignItemElement:l,getDraggingDisplayText:m,getPropConfig:h,getDragScopeElement:y,onAcceptMovedChildElement:g,onChildElementMovedOut:k,addNewChildComponentSchema:F,triggerBelongedComponentToMoveWhenMoved:!!n&&n.triggerBelongedComponentToMoveWhenMoved||o.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!n&&n.triggerBelongedComponentToDeleteWhenDeleted||o.ref(!1),onRemoveComponent:B},r}class ge{constructor(t,n){w(this,"componentId");w(this,"viewModelId");w(this,"eventsEditorUtils");w(this,"formSchemaUtils");w(this,"formMetadataConverter");w(this,"designViewModelUtils");w(this,"designViewModelField");w(this,"controlCreatorUtils");w(this,"designerHostService");w(this,"schemaService",null);w(this,"metadataService",null);w(this,"propertyConfig",{type:"object",categories:{}});var a;this.componentId=t,this.designerHostService=n,this.eventsEditorUtils=n.eventsEditorUtils,this.formSchemaUtils=n.formSchemaUtils,this.formMetadataConverter=n.formMetadataConverter,this.viewModelId=((a=this.formSchemaUtils)==null?void 0:a.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=n.designViewModelUtils,this.controlCreatorUtils=n.controlCreatorUtils,this.metadataService=n.metadataService,this.schemaService=n.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var a;const n=t.binding&&t.binding.type==="Form"&&t.binding.field;if(n){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(r=>r.id===n)}t.updateOn=(a=this.designViewModelField)==null?void 0:a.updateOn}}changeFieldEditorType(t,n){}getBasicPropConfig(t){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:t.type,name:C[t.type].name}]}}}}}getAppearanceConfig(t=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(t,n){const a=n&&n.parent&&n.parent.schema;if(!a)return;const i=a.contents.findIndex(d=>d.id===t),r=$.cloneDeep(a.contents[i]);a.contents.splice(i,1),a.contents.splice(i,0,r)}}const I=class I{static getEditorTypesByMDataType(t){const n=I.fieldControlTypeMapping[t];return n||[{key:"",value:""}]}static getAllInputTypes(){const t=[];for(const n in I.fieldControlTypeMapping)I.fieldControlTypeMapping[n].forEach(a=>{t.find(i=>i.key===a.key&&i.value===a.value)||t.push({key:a.key,value:a.value})});return t}};w(I,"fieldControlTypeMapping",{String:[{key:C["input-group"].type,value:C["input-group"].name},{key:C.lookup.type,value:C.lookup.name},{key:C["date-picker"].type,value:C["date-picker"].name},{key:C["check-box"].type,value:C["check-box"].name},{key:C["check-group"].type,value:C["check-group"].name},{key:C["radio-group"].type,value:C["radio-group"].name},{key:C["combo-list"].type,value:C["combo-list"].name},{key:C.textarea.type,value:C.textarea.name}],Text:[{key:C.textarea.type,value:C.textarea.name},{key:C.lookup.type,value:C.lookup.name}],Decimal:[{key:C["number-spinner"].type,value:C["number-spinner"].name}],Integer:[{key:C["number-spinner"].type,value:C["number-spinner"].name}],Number:[{key:C["number-spinner"].type,value:C["number-spinner"].name}],BigNumber:[{key:C["number-spinner"].type,value:C["number-spinner"].name}],Date:[{key:C["date-picker"].type,value:C["date-picker"].name}],DateTime:[{key:C["date-picker"].type,value:C["date-picker"].name}],Boolean:[{key:C.switch.type,value:C.switch.name},{key:C["check-box"].type,value:C["check-box"].name}],Enum:[{key:C["combo-list"].type,value:C["combo-list"].name},{key:C["radio-group"].type,value:C["radio-group"].name}],Object:[{key:C.lookup.type,value:C.lookup.name},{key:C["combo-list"].type,value:C["combo-list"].name},{key:C["radio-group"].type,value:C["radio-group"].name}]});let A=I;const he=o.ref(0);class be{constructor(){w(this,"label","");w(this,"id","");w(this,"columnInSM",12);w(this,"columnInMD",6);w(this,"columnInLG",3);w(this,"columnInEL",2);w(this,"displayWidthInSM",1);w(this,"displayWidthInMD",1);w(this,"displayWidthInLG",1);w(this,"displayWidthInEL",1);w(this,"displayColumnCountAtBreakPoint","md");w(this,"tagRow",0);w(this,"showTopBorder",0);w(this,"group",1);w(this,"isSupportedClass",!0);w(this,"fieldSetId","")}}function Ce(e){let t,n;const a=new Map;let i=[];function r(p,l){const m=p.split(" ").filter(h=>h.startsWith("col-"));if(m.length===0){l.isSupportedClass=!1;return}let y=m.find(h=>/^col-([1-9]|10|11|12)$/.test(h)),g=m.find(h=>/^col-md-([1-9]|10|11|12)$/.test(h)),F=m.find(h=>/^col-xl-([1-9]|10|11|12)$/.test(h)),k=m.find(h=>/^col-el-([1-9]|10|11|12)$/.test(h));y=y||"col-12",l.columnInSM=parseInt(y.replace("col-",""),10),l.displayWidthInSM=l.columnInSM/12,l.displayWidthInSM!==1&&(l.isSupportedClass=!1),g=g||"col-md-"+l.columnInSM,l.columnInMD=parseInt(g.replace("col-md-",""),10),l.displayWidthInMD=l.columnInMD/6,[1,2].includes(l.displayWidthInMD)||(l.isSupportedClass=!1),F=F||"col-xl-"+l.columnInMD,l.columnInLG=parseInt(F.replace("col-xl-",""),10),l.displayWidthInLG=l.columnInLG/3,[1,2,3,4].includes(l.displayWidthInLG)||(l.isSupportedClass=!1),k=k||"col-el-"+l.columnInLG,l.columnInEL=parseInt(k.replace("col-el-",""),10),l.displayWidthInEL=l.columnInEL/2,[1,2,3,4,5,6].includes(l.displayWidthInEL)||(l.isSupportedClass=!1)}function d(p,l,c,m=!1){let y=!1;p.contents.forEach(g=>{if(g.type==="fieldset"){c+=1,d(g,l,c,!0),y=!0;return}y&&(c+=1,y=!1);const F=g.appearance&&g.appearance.class,k=new be;F?r(F,k):k.isSupportedClass=!1,k.label=g.label||g.id,k.id=g.id,k.group=c,m&&(k.fieldSetId=p.id),n===g.id&&(t=c),a.set(g.id,g),l.push(k)})}function u(p){const l=e.getComponentById(p);if(!l||!l.componentType||!l.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const c=e.selectNode(l,m=>m.type===q.DgControl["response-form"].type);return!c||!c.contents||c.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:c}}function f(p,l){l=l||p.id;const{result:c,message:m,formNode:y}=u(l);if(!c)return{result:c,message:m};n=p.id,i=[],a.clear();const g=y.contents[0].type===q.DgControl.fieldset.type?0:1;d(y,i,g);const F=i.find(h=>!h.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:F?"customize":"standard"},importData:i}}function s(p,l){l=l;const{result:c,formNode:m}=u(l);if(!c)return"";const y=[];return p.forEach(g=>{var h;const F=a.get(g.id),k=F.appearance&&F.appearance.class;if(k){const E=k.split(" ").filter(x=>!x.startsWith("col-")),v="col-"+g.columnInSM,S="col-md-"+g.columnInMD,V="col-xl-"+g.columnInLG,M="col-el-"+g.columnInEL,b=[v,S,V,M].concat(E);F.appearance.class=b.join(" ")}if(g.fieldSetId){const B=m.contents.find(v=>v.id===g.fieldSetId),E=y.find(v=>v.id===g.fieldSetId);E?(h=E.contents)==null||h.push(F):(y.push(B),B.contents=[F])}else y.push(F)}),m.contents=y,m.id}return{checkCanFindFormNode:u,checkCanOpenLayoutEditor:f,changeFormControlsByResponseLayoutConfig:s,getResonseFormLayoutConfig:d}}class ve extends ge{constructor(n,a){super(n,a);w(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=Ce(this.formSchemaUtils)}getPropertyConfig(n,a){return this.propertyConfig.categories.basic=this.getBasicProperties(n,a),this.propertyConfig.categories.appearance=this.getAppearanceProperties(n,a),this.propertyConfig.categories.editor=this.getEditorProperties(n),this.propertyConfig}getBasicProperties(n,a){var r;const i=this;return this.setDesignViewModelField(n),this.formSchemaUtils.getFormMetadataBasicInfo(),{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:i.designViewModelField?A.getEditorTypesByMDataType((r=i.designViewModelField.type)==null?void 0:r.name):A.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:n,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"}}},setPropertyRelates(d,u){if(d)switch(d&&d.propertyID){case"type":{i.changeControlType(n,d,a);break}case"label":{d.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(n,a){const i=this;return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:i.responseLayoutEditorFunction.checkCanOpenLayoutEditor(n,i.componentId)}}},setPropertyRelates(r,d){if(r)switch(r&&r.propertyID){case"responseLayout":i.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(r.propertyValue,i.componentId||n.id),i.updateUnifiedLayoutAfterResponseLayoutChanged(i.componentId),i.updateElementByParentContainer(n.id,a),delete n.responseLayout;break;case"class":i.updateUnifiedLayoutAfterControlChanged(r.propertyValue,n.id,this.componentId),i.updateElementByParentContainer(n.id,a);break}}}}getEditorProperties(n){return this.getComponentConfig(n)}changeControlType(n,a,i){var p,l,c,m;const r=a.propertyValue,d=i&&i.parent&&i.parent.schema;if(!d)return;const u=d.contents.findIndex(y=>y.id===n.id),f=d.contents[u];let s;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:r},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),s=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,r)),s||(s=this.controlCreatorUtils.createFormGroupWithoutField(r)),Object.assign(s,{id:f.id,appearance:f.appearance,size:f.size,label:f.label,binding:f.binding,visible:f.visible}),Object.assign(s.editor,{isTextArea:s.isTextArea&&f.isTextArea,placeholder:(p=f.editor)==null?void 0:p.placeholder,holdPlace:(l=f.editor)==null?void 0:l.holdPlace,readonly:(c=f.editor)==null?void 0:c.readonly,require:(m=f.editor)==null?void 0:m.require}),d.contents.splice(u,1),d.contents.splice(u,0,s),i.schema=Object.assign(f,s),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(y=>y.classList.remove("dgComponentSelected")),he.value++}getComponentConfig(n,a={},i={}){const r=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},a),d=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},i);return{...r,properties:{...d}}}updateUnifiedLayoutAfterControlChanged(n,a,i){const r=n.split(" ");let d=r.find(l=>/^col-([1-9]|10|11|12)$/.test(l)),u=r.find(l=>/^col-md-([1-9]|10|11|12)$/.test(l)),f=r.find(l=>/^col-xl-([1-9]|10|11|12)$/.test(l)),s=r.find(l=>/^col-el-([1-9]|10|11|12)$/.test(l));d=d||"col-12",u=u||"col-md-"+d.replace("col-",""),f=f||"col-xl-"+u.replace("col-md-",""),s=s||"col-el-"+f.replace("col-xl-","");const p={id:a,columnInSM:parseInt(d.replace("col-",""),10),columnInMD:parseInt(u.replace("col-md-",""),10),columnInLG:parseInt(f.replace("col-xl-",""),10),columnInEL:parseInt(s.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(i,p)}updateUnifiedLayoutAfterResponseLayoutChanged(n,a){const{formNode:i}=this.responseLayoutEditorFunction.checkCanFindFormNode(n);if(!i||!i.unifiedLayout)return;const r=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(i,r,1),a){const y=r.find(g=>g.id===a.id);Object.assign(y||{},a)}const d=r.map(y=>y.columnInSM),u=r.map(y=>y.columnInMD),f=r.map(y=>y.columnInLG),s=r.map(y=>y.columnInEL),p=this.checkIsUniqueColumn(d)?d[0]:null,l=this.checkIsUniqueColumn(u)?u[0]:null,c=this.checkIsUniqueColumn(f)?f[0]:null,m=this.checkIsUniqueColumn(s)?s[0]:null;Object.assign(i.unifiedLayout,{uniqueColClassInSM:p,uniqueColClassInMD:l,uniqueColClassInLG:c,uniqueColClassInEL:m})}checkIsUniqueColumn(n){const a=new Set(n);return Array.from(a).length===1}}class ke extends ve{constructor(t,n){super(t,n)}getEditorProperties(t){const n=this.getComponentConfig(t,{type:"radio-group"},{disabled:{visible:!1},placeholder:{visible:!1},horizontal:{description:"",title:"是否横向",type:"boolean"},textField:{visible:!1,description:"",title:"显示文本字段",type:"string"},valueField:{visible:!1,description:"",title:"值字段",type:"string"},data:{description:"",title:"数据",type:"array",editor:{columns:[{field:t.editor.valueField,title:"值",dataType:"string"},{field:t.editor.textField,title:"名称",dataType:"string"},{field:"disabled",title:"禁用",visible:!1,dataType:"boolean",editor:{type:"switch"}}],type:"item-collection-editor",valueField:t.editor.valueField,nameField:t.editor.textField,requiredFields:[t.editor.valueField,t.editor.textField],uniqueFields:[t.editor.valueField,t.editor.textField]},refreshPanelAfterChanged:!0}});return n.setPropertyRelates=function(a){if(a)switch(a.propertyID){case"data":{a.propertyValue.parameters&&(t.editor.valueField=a.propertyValue.parameters.valueField,t.editor.textField=a.propertyValue.parameters.nameField),t.editor.data=a.propertyValue.value;break}}},n}}function Fe(e,t){const n=e.schema;function a(i,r){return new ke(i,t).getPropertyConfig(n,r)}return{getPropsConfig:a}}const Be=o.defineComponent({name:"FRadioGroupDesign",props:D,emits:["changeValue","update:modelValue"],setup(e,t){const n=o.ref(e.modelValue),{enumData:a,onClickRadio:i,getValue:r,getText:d}=K(e,t,n),u=o.computed(()=>({"farris-checkradio-hor":e.horizontal})),f=o.ref(),s=o.inject("designer-host-service"),p=o.inject("design-item-context"),l=Fe(p,s),c=ye(f,p,l);return o.onMounted(()=>{f.value.componentInstance=c}),t.expose(c.value),()=>o.createVNode("div",{class:["farris-input-wrap",u.value],ref:f},[a.value.map((m,y)=>{const g="radio_"+e.name+y;return o.createVNode("div",{class:"custom-control custom-radio"},[o.createVNode("input",{type:"radio",class:"custom-control-input",name:e.name,id:g,value:r(m),checked:r(m)===n.value,disabled:e.disabled,tabindex:e.tabIndex,onClick:F=>i(m,F)},null),o.createVNode("label",{class:"custom-control-label",for:g},[d(m)])])})])}}),Me=new Map([["appearance",G.resolveAppearance]]);function Ve(e,t,n){return t}const we={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-edit.schema.json",title:"button-edit",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"button-edit"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},autoComplete:{description:"",type:"boolean",default:!1},buttonContent:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["text","tag"],default:"text"},multiSelect:{description:"",type:"boolean",default:!1},popup:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},Te={title:"buttonEdit",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中"},{value:"right",name:"右对齐"}]}}}}}},Q={id:String,buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:Number,tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"}};H(Q,we,Me,Ve,Te);const Se={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},Ee=o.defineComponent({name:"FOverlay",props:Se,emits:["click"],setup(e,t){const n=o.ref(e.popupContentPosition),a=o.ref(e.host),i=o.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function r(u){t.emit("click"),u.preventDefault(),u.stopPropagation()}o.computed(()=>{const u=a.value;if(u){const f=u.getBoundingClientRect(),{left:s,top:p,height:l}=f;return{left:s,top:p+l}}return n.value});const d=o.computed(()=>({}));return()=>o.createVNode(o.Teleport,{to:"body"},{default:()=>{var u,f;return[o.createVNode("div",{class:"overlay-container",onClick:s=>r(s),style:i.value},[o.createVNode("div",{style:d.value},[(f=(u=t.slots).default)==null?void 0:f.call(u)])])]}})}});function xe(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function Ne(e){const t=document.createElement("div");t.style.display="contents";let n;const a=e.onClickCallback||(()=>{}),i=()=>{a(),n&&n.unmount()};return n=o.createApp({setup(){o.onUnmounted(()=>{document.body.removeChild(t)});const r=xe(e);return()=>o.createVNode(Ee,{"popup-content-position":e.popupPosition,host:e.host,onClick:i,backgroundColor:e.backgroundColor},{default:()=>[r&&r()]})}}),document.body.appendChild(t),n.mount(t),n}class Pe{static show(t){return Ne(t)}}const Ie=Symbol("FModalService");function J(e,t){function n(){const a=e.beforeOpen||e.beforeClickButton||null;let i=Promise.resolve(!0);if(a){const r=a(t.value);if(typeof r>"u")return i;typeof r=="boolean"?i=Promise.resolve(r):i=r}return i}return{judgeCanOpen:n}}function $e(e,t,n,a,i){const r=o.ref(e.buttonBehavior),d=o.ref(e.popupOnInput),u=o.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:f}=J(e,i),s=o.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),p=o.inject(Ie,null),l=o.ref();async function c(g){if(await f()&&s.value){const F=!!t.slots.default;if(r.value==="Modal"){const k=e.modalOptions,h=p==null?void 0:p.open({...k,render:()=>t.slots.default&&t.slots.default()});l.value=h==null?void 0:h.modalRef}r.value==="Overlay"&&Pe.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>t.slots.default&&t.slots.default()}),F&&r.value==="Popup"&&a.togglePopup(!0),F&&d.value&&a.hidePopup(),t.emit("clickButton",{origin:g,value:e.modelValue})}}function m(g){t.emit("mouseEnterIcon",g)}function y(g){t.emit("mouseLeaveIcon",g)}return{buttonGroupClass:u,onClickButton:c,onMouseEnterButton:m,onMouseLeaveButton:y,modalRef:l}}function Oe(e,t,n,a,i,r){const d=o.ref(!1),u=o.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:f}=r;function s(m){d.value=m}o.watch(i,()=>{s(!!i.value)});function p(m){const y=!e.readonly&&!e.disable&&e.editable,g=!e.editable;m.stopPropagation(),(y||g)&&(f("",!1),s(!d.value),t.emit("clear"))}function l(m){if(u.value){if(!n.value){s(!1);return}!e.disable&&!e.readonly&&s(!0)}}function c(m){u.value&&s(!1)}return{enableClearButton:u,showClearButton:d,onClearValue:p,onMouseEnterTextBox:l,onMouseLeaveTextBox:c}}function De(e,t,n,a,i){const r=o.computed(()=>e.popupOnInput),d=o.computed(()=>e.popupOnFocus),{shouldPopupContent:u}=i,f=o.computed(()=>e.enableTitle?n.value:""),s=o.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),p=o.computed(()=>e.readonly||!e.editable),l=o.ref(!1),c=o.computed(()=>!e.disable&&l.value),m=o.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),y=o.computed(()=>({"input-group":!0,"f-state-disable":e.disable,"f-state-editable":e.editable&&!e.disable&&!e.readonly,"f-state-readonly":e.readonly&&!e.disable,"f-state-focus":c.value}));function g(b,x=!0){n.value!==b&&(n.value=b,x&&(t.emit("change",b),t.emit("update:modelValue",b)))}function F(b){u.value=!1,g(b,!0)}o.watch(()=>e.modelValue,b=>{n.value=b});function k(b){l.value=!1,t.emit("blur",b),b.stopPropagation()}function h(b){t.emit("click",b)}function B(b){e.disable||(l.value=!0,p.value||(t.emit("focus",b),d.value&&!u.value&&i.popup()))}function E(b){t.emit("input",b.target.value);const x=b.target.value;a.value=x,n.value!==x&&g(x,e.updateOn==="change"),r.value&&!u.value&&i.popup()}function v(b){b.target.tagName!=="INPUT"&&b.preventDefault(),b.stopPropagation()}function S(b){t.emit("keydown",b)}function V(b){b.key==="Enter"&&(r.value||d.value)&&i.hidePopup(),t.emit("keyup",b)}function M(b){const x=b.target.value;b.stopPropagation(),g(x)}return{hasFocusedTextBox:c,isTextBoxReadonly:p,textBoxClass:m,textBoxPlaceholder:s,textBoxTitle:f,inputGroupClass:y,changeTextBoxValue:g,commitValue:F,onBlurTextBox:k,onClickTextBox:h,onFocusTextBox:B,onInput:E,onKeyDownTextBox:S,onKeyUpTextBox:V,onMouseDownTextBox:v,onTextBoxValueChange:M}}function Ae(e,t,n,a){const i=o.ref(),r=o.ref(!1),{judgeCanOpen:d}=J(e,a);function u(){const l=i.value;l&&l.show(n.value)}async function f(l=!1){if(!!t.slots.default){if(!l&&!r.value&&!await d())return;r.value=!r.value,await o.nextTick(),u()}}async function s(l=!1){if(!!t.slots.default){if(!l&&!await d())return;r.value=!0,await o.nextTick(),u()}}function p(){r.value=!1}return{hidePopup:p,popup:s,shouldPopupContent:r,togglePopup:f,popoverRef:i}}function Le(e,t,n){const a=o.ref(),{isTextBoxReadonly:i,textBoxClass:r,textBoxPlaceholder:d,textBoxTitle:u,onBlurTextBox:f,onClickTextBox:s,onFocusTextBox:p,onInput:l,onKeyDownTextBox:c,onKeyUpTextBox:m,onMouseDownTextBox:y,onTextBoxValueChange:g}=n;return o.onMounted(()=>{var F,k;e.selectOnCreated&&((F=a.value)==null||F.select()),e.focusOnCreated&&((k=a.value)==null||k.focus())}),()=>o.createVNode("input",{ref:a,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:r.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:d.value,readonly:i.value,tabindex:e.tabIndex,title:u.value,type:e.inputType,value:t.value,onBlur:f,onChange:g,onClick:s,onFocus:p,onInput:l,onKeydown:c,onKeyup:m,onMousedown:y},null)}function je(e,t,n){const a=o.ref(e.separator),{changeTextBoxValue:i}=n,r=o.computed(()=>t.value?t.value.split(a.value).map(u=>({name:u,selectable:!0})):[]);function d(u){i(u.map(f=>f.name).join(a.value),!0)}return()=>o.createVNode(Z,{id:`${e.id}-tag-editor`,class:"form-control",data:r.value,showClose:!0,showInput:!0,onChange:d},null)}function qe(e,t,n,a){const{buttonGroupClass:i,onClickButton:r,onMouseEnterButton:d,onMouseLeaveButton:u}=n,{enableClearButton:f,showClearButton:s,onClearValue:p}=a,l=o.ref();return{renderButtonGroup:()=>o.createVNode("div",{id:`${e.id}-button-group`,class:i.value},[f.value&&o.withDirectives(o.createVNode("span",{class:"input-group-text input-group-clear",onClick:p},[o.createVNode("i",{class:"f-icon modal_close"},null)]),[[o.vShow,s.value]]),t.slots.buttonContent?o.createVNode("span",{class:"input-group-text input-group-append-button",onClick:r,onMouseenter:d,onMouseleave:u},[t.slots.buttonContent()]):e.buttonContent?o.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:l,onClick:r,onMouseenter:d,onMouseleave:u},null):null]),buttonHandleElement:l}}function Ge(e,t,n){const a=o.ref(e.popupMinWidth),{hidePopup:i,popoverRef:r}=n;return()=>o.createVNode(ee,{id:`${e.id}-popover`,ref:r,visible:!0,placement:"bottom-left",host:e.popupHost,"keep-width-with-reference":!0,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:a.value,offsetX:e.popupOffsetX,onHidden:i},{default:()=>{var d,u;return[(u=(d=t.slots).default)==null?void 0:u.call(d)]}})}const Ue=o.defineComponent({name:"FButtonEdit",props:Q,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const n=o.ref(),a=o.ref(e.customClass),i=o.ref(e.modelValue),r=Ae(e,t,n,i),{shouldPopupContent:d,hidePopup:u,togglePopup:f}=r,s=$e(e,t,n,r,i),p=o.ref(""),l=De(e,t,i,p,r),{hasFocusedTextBox:c,commitValue:m,inputGroupClass:y}=l,g=Oe(e,t,i,c,p,l),{onMouseEnterTextBox:F,onMouseLeaveTextBox:k}=g,h=o.computed(()=>{const b={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return a.value&&a.value.split(" ").reduce((x,O)=>(x[O]=!0,x),b),b});function B(){return e.multiSelect&&e.inputType==="tag"?je(e,i,l):Le(e,i,l)}let E=B();o.watch([()=>e.multiSelect,()=>e.inputType],()=>{E=B()});const{renderButtonGroup:v,buttonHandleElement:S}=qe(e,t,s,g),V=Ge(e,t,r),M={commitValue:m,elementRef:n,hidePopup:u,shouldPopupContent:d,togglePopup:f,openDialog:()=>{S.value&&e.buttonBehavior==="Modal"&&S.value.click()},getModal:()=>{var b;return e.buttonBehavior==="Modal"?(b=s.modalRef.value)==null?void 0:b.value:null}};return o.onMounted(()=>{n.value.componentInstance=M,window.onresize=()=>{document.body.click()}}),t.expose(M),()=>o.createVNode(o.Fragment,null,[o.createVNode("div",o.mergeProps(t.attrs,{ref:n,class:h.value,id:e.id}),[o.createVNode("div",{id:`${e.id}-input-group`,class:y.value,onMouseenter:F,onMouseleave:k},[E(),v()])]),d.value&&V()])}}),We={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/radio-group.schema.json",title:"item-collection-editor",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a item-collection-editor",type:"string"},type:{description:"The type string of item-collection-editor component",type:"string",default:"item-collection-editor"},requiredFields:{description:"",type:"array",default:[]},uniqueFields:{description:"",type:"array",default:[]},dynamicMappingKeys:{type:"boolean",default:!1},columns:{description:"",type:"array",default:[]},modalTitle:{description:"",type:"string",default:""},canEmpty:{description:"",type:"boolean",default:!0},valueField:{description:"",type:"string",default:"id"},nameField:{description:"",type:"string",default:"name"},idField:{description:"",type:"string",default:"id"},readonly:{description:"",type:"boolean",default:!1},modelValue:{description:"",type:"string",default:""}},required:["id","type"],ignore:[]},Y={requiredFields:{type:Array,default:[]},uniqueFields:{type:Array,default:[]},dynamicMappingKeys:{type:Boolean,default:!1},columns:{type:Array,default:[]},modalTitle:{type:String,default:"项编辑器"},canEmpty:{type:Boolean,default:!0},valueField:{type:String,default:"id"},nameField:{type:String,default:"name"},idField:{type:String,default:"id"},readonly:{type:Boolean,default:!1},modelValue:{type:Array,default:[]}},Re=G.createPropsResolver(Y,We,fe,ie),ze={requiredFields:{type:Array,default:[]},uniqueFields:{type:Array,default:[]},dynamicMappingKeys:{type:Boolean,default:!1},columns:{type:Array,default:[]},canEmpty:{type:Boolean,default:!0},valueField:{type:String,default:"id"},nameField:{type:String,default:"name"},datas:{type:Array,default:[]}},Xe=o.defineComponent({name:"FItemCollectionEditorInner",props:ze,emits:["change"],setup(e,t){const{guid:n}=N.useGuid(),a=new ne.FNotifyService,i=o.ref(e.valueField),r=o.ref(e.nameField),d={editMode:"cell"},u=o.ref(),f=e.columns;let s=e.datas;function p(){const h={};return f.forEach(B=>{B.editor&&(B.editor.type==="checkbox"||B.editor.type==="switch")?h[B.field]=!1:h[B.field]=""}),h}function l(){if(e.dynamicMappingKeys){const h="请先填写XXX",B=i.value.trim()?r.value.trim()?"":"枚举名称字段":"枚举值字段";return a.warning({position:"top-center",message:h.replace("XXX",B)}),!1}return!0}function c(h){const B="不允许重复。";if(!l())return!1;if(!h||h.length===0)return e.canEmpty?!0:(a.warning({position:"top-center",message:"请添加值"}),!1);const E=e.requiredFields||[],v="不允许为空";for(const V of h)for(const M of Object.keys(V)){const b=f.find(x=>x.field===M);if(b&&b.editor&&(b.editor.type==="checkbox"||b.editor.type==="switch")){if(E.includes(M)&&(V[M]===null||V[M]===void 0))return a.warning({position:"top-center",message:b.title+v}),!1}else if(E.includes(M)&&(V[M]===void 0||V[M]===""||V[M]===null))return a.warning({position:"top-center",message:b.title+v}),!1}const S=e.uniqueFields||[];for(const V of S){const M=h.map(O=>O[V]),b=new Set(M),x=Array.from(b);if(M.length!==x.length){const O=f.find(He=>He.field===V);return a.warning({position:"top-center",message:O.title+B}),!1}}return!0}function m(){if(e.readonly||!l())return;const h=p(),B=n();s.push({hId:B,...h}),u.value.updateDataSource(s),u.value.selectItemById(B)}function y(){s&&s.length>0&&u.value.selectItemById(s[0].hId)}function g(){s=[...u.value.getVisibleData().filter(B=>!B.checked).map(B=>B.raw)],u.value.updateDataSource(s),y()}function F(h){if(!h||h.length===0)return h;const B=[];return h.forEach(E=>{const{value:v,name:S,...V}=E,M=Object.assign({},V);M[i.value.trim()]=v,M[r.value.trim()]=S,B.push(M)}),B}function k(){let h=[];return u.value.getVisibleData().forEach(B=>{const{hId:E,...v}=B.raw;h.push(v)}),c(h)?(e.dynamicMappingKeys?(h=F(h),t.emit("change",{value:h,parameters:{valueField:i.value.trim(),nameField:r.value.trim()}})):t.emit("change",{value:h}),!0):!1}return t.expose({clickConfirm:k}),o.onMounted(()=>{y()}),()=>o.createVNode("div",{class:"f-utils-fill-flex-column"},[!e.readonly&&o.createVNode("div",{class:"mb-1 py-1 ml-1"},[o.createVNode("button",{class:"btn f-rt-btn f-btn-ml btn-primary",onClick:()=>m()},[o.createTextVNode("新增")]),o.createVNode("button",{class:"btn f-rt-btn f-btn-ml btn-secondary",onClick:()=>g()},[o.createTextVNode("删除")])]),o.createVNode("div",{class:"f-utils-fill border",style:"margin:0 8px;border-radius:12px;"},[o.createVNode(te,{ref:u,showBorder:!0,idField:"hId",columns:f,data:s,editable:!0,"edit-option":d,fit:"true"},null)])])}}),_e=o.defineComponent({name:"FItemCollectionEditor",props:Y,components:{},emits:["change"],setup(e,t){const{guid:n}=N.useGuid(),a=o.ref(`共 ${(e.modelValue||[]).length} 项`),i=o.ref(e.valueField),r=o.ref(e.nameField),d=o.ref();function u(){let c=[];return e.dynamicMappingKeys?(c=[],i.value=i.value.trim(),r.value=r.value.trim(),(e.modelValue||[]).forEach(m=>{if(i.value&&r.value){const{[i.value]:y,[r.value]:g,...F}=m,k=F||{};k.value=y,k.name=g,k.hId=n(),c.push(k)}})):(c=$.cloneDeep(e.modelValue||[]),c.forEach(m=>{m.hId=n()})),c}function f(){let c=[];return e.columns&&e.columns.length>0?c=e.columns:c=[{field:e.valueField,title:"值",dataType:"string"},{field:e.nameField,title:"名称",dataType:"string"}],c}function s(){}const p={fitContent:!1,width:900,height:600,title:"项编辑器",buttons:[{name:"cancel",text:"取消",class:"btn btn-secondary",handle:c=>!0},{name:"accept",text:"确定",class:"btn btn-primary",handle:c=>!!d.value.clickConfirm()}]};function l(c){a.value=`共 ${c.value.length} 项`,t.emit("change",c)}return o.onMounted(()=>{}),()=>o.createVNode(Ue,{"button-behavior":"Modal","modal-options":p,modelValue:a.value,"onUpdate:modelValue":c=>a.value=c,editable:!1,beforeOpen:s},{default:()=>[o.createVNode("div",{class:"f-utils-absolute-all f-utils-flex-column"},[e.dynamicMappingKeys&&o.createVNode("div",{class:"farris-form-controls-inline p-2 f-form-layout farris-form f-form-lable-auto"},[o.createVNode("div",{class:"farris-group-wrap mr-3"},[o.createVNode("div",{class:"form-group farris-form-group"},[o.createVNode("label",{class:"col-form-label"},[o.createVNode("span",{class:"farris-label-info text-danger"},[o.createTextVNode("*")]),o.createVNode("span",{class:"farris-label-text"},[o.createTextVNode("枚举值字段")])]),o.createVNode("div",{class:"farris-input-wrap"},[o.withDirectives(o.createVNode("input",{type:"input",class:"form-control","onUpdate:modelValue":c=>i=c,readonly:e.readonly},null),[[o.vModelText,i]])])])]),o.createVNode("div",{class:"farris-group-wrap"},[o.createVNode("div",{class:"form-group farris-form-group"},[o.createVNode("label",{class:"col-form-label"},[o.createVNode("span",{class:"farris-label-info text-danger"},[o.createTextVNode("*")]),o.createVNode("span",{class:"farris-label-text"},[o.createTextVNode("枚举名称字段")])]),o.createVNode("div",{class:"farris-input-wrap"},[o.withDirectives(o.createVNode("input",{type:"input",class:"form-control","onUpdate:modelValue":c=>r=c,readonly:e.readonly},null),[[o.vModelText,r]])])])])]),o.createVNode(Xe,{ref:d,valueField:i,nameField:r,requiredFields:e.requiredFields,uniqueFields:e.uniqueFields,dynamicMappingKeys:e.dynamicMappingKeys,canEmpty:e.canEmpty,datas:u(),columns:f(),onChange:c=>l(c)},null)])]})}});P.install=e=>{e.component(P.name,P),e.component(R.name,R)},P.register=(e,t,n,a)=>{e["radio-group"]=P,t["radio-group"]=j,e["item-collection-editor"]=_e,t["item-collection-editor"]=Re},P.registerDesigner=(e,t,n)=>{e["radio-group"]=Be,t["radio-group"]=j},T.RadioGroup=P,T.default=P,T.propsResolver=j,T.radioGroupProps=D,T.radioProps=U,Object.defineProperties(T,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});