@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,2 +1,2 @@
1
- (function(B,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es"],n):(B=typeof globalThis<"u"?globalThis:B||self,n(B.dropdown={},B.Vue,B.LodashES))})(this,function(B,n,M){"use strict";const C={},q={};function F(e){const{properties:t,title:c,ignore:r}=e,i=r&&Array.isArray(r),p=Object.keys(t).reduce((y,l)=>((!i||!r.find(D=>D==l))&&(y[l]=t[l].type==="object"&&t[l].properties?F(t[l]):M.cloneDeep(t[l].default)),y),{});return(!i||!r.find(y=>y=="id"))&&(p.id=`${c}-${Date.now()}`),p}function z(e,t={},c){const r=C[e];if(r){let i=F(r);const p=q[e];return i=p?p({getSchemaByType:z},i,t,c):i,i}return null}function J(e,t){const c=F(t);return Object.keys(e).reduce((r,i)=>(r[i]&&M.isPlainObject(r[i])&&M.isPlainObject(e[i])?Object.assign(r[i],e[i]):r[i]=e[i],r),c),c}function Z(e,t){return Object.keys(e).filter(r=>e[r]!=null).reduce((r,i)=>{if(t.has(i)){const p=t.get(i);if(typeof p=="string")r[p]=e[i];else{const y=p(i,e[i],e);Object.assign(r,y)}}else r[i]=e[i];return r},{})}function G(e,t,c=new Map){const r=J(e,t);return Z(r,c)}function Q(e={}){function t(s,d,a,u){if(typeof a=="number")return u[s].length===a;if(typeof a=="object"){const b=Object.keys(a)[0],g=a[b];if(b==="not")return Number(u[s].length)!==Number(g);if(b==="moreThan")return Number(u[s].length)>=Number(g);if(b==="lessThan")return Number(u[s].length)<=Number(g)}return!1}function c(s,d,a,u){return u[s]&&u[s].propertyValue&&String(u[s].propertyValue.value)===String(a)}const r=new Map([["length",t],["getProperty",c]]);Object.keys(e).reduce((s,d)=>(s.set(d,e[d]),s),r);function i(s,d){const a=s;return typeof d=="number"?[{target:a,operator:"length",param:null,value:Number(d)}]:typeof d=="boolean"?[{target:a,operator:"getProperty",param:s,value:!!d}]:typeof d=="object"?Object.keys(d).map(u=>{if(u==="length")return{target:a,operator:"length",param:null,value:d[u]};const b=u,g=d[u];return{target:a,operator:"getProperty",param:b,value:g}}):[]}function p(s){return Object.keys(s).reduce((a,u)=>{const b=i(u,s[u]);return a.push(...b),a},[])}function y(s,d){if(r.has(s.operator)){const a=r.get(s.operator);return a&&a(s.target,s.param,s.value,d)||!1}return!1}function l(s,d){return p(s).reduce((b,g)=>b&&y(g,d),!0)}function D(s,d){const a=Object.keys(s),u=a.includes("allOf"),b=a.includes("anyOf"),g=u||b,f=(g?s[g?u?"allOf":"anyOf":"allOf"]:[s]).map(N=>l(N,d));return u?!f.includes(!1):f.includes(!0)}return{parseValueSchema:D}}const U={},x={};Q();function P(e,t,c=new Map,r=(y,l,D)=>l,i={},p=y=>y){return C[t.title]=t,q[t.title]=r,U[t.title]=i,x[t.title]=p,(y={})=>{const l=G(y,t,c),D=Object.keys(e).reduce((s,d)=>(s[d]=e[d].default,s),{});return Object.assign(D,l)}}function K(e,t){return{customClass:t.class,customStyle:t.style}}function I(e,t,c){return t}const ee=new Map([["appearance",K]]),te={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/dropdown.schema.json",title:"dropdown",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for dropdown",type:"string"},type:{description:"The type string of dropdown",type:"string",default:"dropdown"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},ne={title:"dropdown",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:{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"}}}}},L={show:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},title:{type:String,default:"下拉示例"},size:{type:String,default:""},type:{type:String,default:"primary"},iconClass:{type:String,default:""},active:{type:Boolean,default:!1},splitButton:{type:Boolean,default:!1},position:{type:String,default:"bottom"},model:{type:Array,default:[{label:"项目一",value:"XM1"},{label:"项目二",value:"XM2"},{label:"项目三",value:"XM3"}]},onSelect:{type:Function,default:()=>{}}},W=P(L,te,ee,I,ne);function _(e,t){let c;const r=n.ref(e.show),i=n.ref(),p=n.ref(),y=n.ref(),l=10;n.onMounted(()=>{c=p.value});const D=(f=1)=>{const o=["body>.f-datagrid-settings-simple-host","body>div","body>farris-dialog>.farris-modal.show","body>.farris-modal.show","body>farris-filter-panel>.f-filter-panel-wrapper","body .f-sidebar-show>.f-sidebar-main","body>.popover.show","body>filter-row-panel>.f-datagrid-filter-panel","body>.f-section-maximize"],N=Array.from(document.body.querySelectorAll(o.join(","))).filter(w=>w).map(w=>{const{display:m,zIndex:h}=window.getComputedStyle(w);return m==="none"?0:parseInt(h,10)}).filter(w=>w);let v=Math.max(...N);return v<1040&&(v=1040),v+f},s=(f,o)=>{const{height:N,left:v,top:w,width:m}=f.getBoundingClientRect(),{width:h,height:S,top:V}=o.getBoundingClientRect();if(f.className.indexOf("dropdown-submenu")>-1||f.closest(".dropdown-submenu")||f.classList.contains("dropright")){const $=window.innerWidth-v-f.offsetWidth,H=window.innerHeight-w,{position:O}=getComputedStyle(o);if(O==="fixed"){let T=v+f.offsetWidth;o.offsetWidth>$&&v>$&&(T=v-h),o.style.left=T+"px",o.style.right="auto",window.innerHeight-2*l<o.offsetHeight?(o.style.top=l+"px",o.style.bottom=l+"px",o.style.maxHeight=window.innerHeight-2*l+"px",o.style.overflowY="auto",o.className+=" dropdown-menu-maxheight"):H<o.offsetHeight?(o.style.top="auto",o.style.bottom=l+"px"):(o.style.top=w+"px",o.style.bottom="auto")}else{if(o.offsetWidth>$){const T=-h;o.style.left=T+"px"}window.innerHeight-2*l<o.offsetHeight?(o.style.top=-1*(w-l)+"px",o.style.bottom="auto",o.style.maxHeight=window.innerHeight-2*l+"px",o.style.overflowY="auto",o.className+=" dropdown-menu-maxheight"):H<o.offsetHeight&&(o.style.top=H-o.offsetHeight-l+"px",o.style.bottom="auto")}}else{const{marginTop:$,marginBottom:H}=getComputedStyle(o);let O=0;const T=Math.ceil(parseFloat($))+Math.ceil(parseFloat(H));let E=w+N,Y=v;window.innerHeight-E-T<S&&(E=w-S,E<0&&(window.innerHeight-w-N>w?(E=w+N,O=window.innerHeight-E-T-l):(E=l,O=w-E-T))),window.innerWidth-v<h&&window.innerWidth-v<v+m&&(Y=v-h+m),document.body.append(o),o.style.cssText=`position:fixed;bottom:unset;left:${Y}px
2
- !important;top:${E}px !important;right: unset;${O?"max-height:"+O+"px;overflow-y:auto;":""}`,O&&(o.className+=" dropdown-menu-maxheight"),o.style.zIndex=D().toString()}},d=()=>{s(i.value,p.value)},a=()=>{e.hover||(r.value=!1,document.removeEventListener("click",a),c.removeEventListener("click",a),document.removeEventListener("scroll",a),c.removeEventListener("scroll",a))};return{show:r,dropdownRef:i,dropdownMenuRef:p,clickEventRef:y,showDropMenu:f=>{e.hover||e.disabled||(f==null||f.stopPropagation(),r.value||setTimeout(()=>{d()}),r.value=!r.value,document.addEventListener("click",a),document.addEventListener("scroll",a),e.hideOnClick||(c.addEventListener("click",o=>{o.stopPropagation()}),c.addEventListener("scroll",o=>{o.stopPropagation()})))},hoverDropdown:f=>{e.hover&&(r.value||setTimeout(()=>{}),r.value=!r.value)},leftButtonClick:()=>{},closeDropMenu:a,selectItem:f=>{t.emit("select",f)},resolveSize:f=>{const o=/px|em|rem|pt|%/;return o.test(f)?`${parseInt(f,10)}${f.match(o)[0]}`:`${f}px`}}}const oe={label:{type:String,default:"XM1"},value:{type:String||Number,default:"项目一"},disabled:{type:Boolean,default:!1},active:{type:Boolean,default:!1},divide:{type:Boolean,default:!1},onSelect:{type:Function,default:()=>{}}},X=n.defineComponent({name:"FDropdownItem",props:oe,emits:["select"],setup(e,t){const c=n.ref(e.value),r=n.ref(e.label),i=n.ref(e.disabled),p=n.ref(e.active),y=n.ref(e.divide),l=()=>{i.value||t.emit("select",e)};return()=>n.createVNode("div",null,[n.withDirectives(n.createVNode("div",{class:"dropdown-divider"},null),[[n.vShow,y.value]]),n.createVNode("li",{class:`dropdown-item${p.value?" active":""} ${i.value?" disabled":""}`,onClick:l,title:c.value.toString()},[r.value])])}}),A=n.defineComponent({name:"FDropdown",props:L,emits:["select"],setup(e,t){const c=n.ref(e.model),{show:r,dropdownMenuRef:i,dropdownRef:p,clickEventRef:y,showDropMenu:l,hoverDropdown:D,leftButtonClick:s,closeDropMenu:d,selectItem:a,resolveSize:u}=_(e,t);function b(g){t.emit("select",g)}return()=>n.createVNode("div",{ref:p},[n.createVNode("div",{class:["farris-dropdown","btn-group",{dropup:e.position==="top"},{dropdown:e.position==="bottom"},{dropleft:e.position==="left"},{dropright:e.position==="right"}]},[e.splitButton&&n.createVNode("span",{class:["btn",{"dropdown-item":e.nest},{"btn-lg":e.size==="large"},{"btn-sm":e.size==="small"},{"btn-primary":e.type==="primary"},{"btn-success":e.type==="success"},{"btn-warning":e.type==="warning"},{"btn-danger":e.type==="danger"},{"btn-info":e.type==="info"}],style:"width:100%",onClick:s},[e.title]),n.createVNode("span",{ref:y,class:["dropdown-toggle",{btn:!e.nest},{"dropdown-item":e.nest},{"dropdown-toggle-split":e.splitButton},{"btn-lg":e.size==="large"},{"btn-sm":e.size==="small"},{"btn-primary":e.type==="primary"},{"btn-success":e.type==="success"},{"btn-warning":e.type==="warning"},{"btn-danger":e.type==="danger"},{"btn-info":e.type==="info"},{"btn-secondary":e.type==="secondary"},{"btn-link":e.type==="link"},{disabled:e.disabled}],style:"width:100%",onClick:l,onMouseenter:D,onMouseleave:D},[n.withDirectives(n.createVNode("span",{class:"sr-only"},null),[[n.vShow,e.splitButton]]),e.splitButton?"":e.title,n.withDirectives(n.createVNode("span",{class:`f-icon ${e.iconClass.toString()}`},null),[[n.vShow,e.iconClass]])]),n.createVNode(n.Teleport,{to:"body"},{default:()=>[n.createVNode("div",{ref:i,class:`dropdown-menu${r.value?" show":""}`},[n.createVNode(n.Fragment,null,[c.value.map(({label:g,value:k,disabled:R,active:f,divide:o})=>n.createVNode(X,{value:k.toString(),label:g,disabled:R,active:f,divide:o,onSelect:N=>b(N)},null))])])]})])])}});function re(e,t,c){var w;function r(){}const i="",p="",y=n.ref();function l(){return(t==null?void 0:t.schema.componentType)!=="frame"}function D(){return!1}function s(){return(t==null?void 0:t.schema.componentType)!=="frame"}function d(){return(t==null?void 0:t.schema.componentType)==="frame"}function a(m){if(!m||!m.value)return null;if(m.value.schema&&m.value.schema.type==="component")return m.value;const h=n.ref(m==null?void 0:m.value.parent),S=a(h);return S||null}function u(m=t){const{componentInstance:h,designerItemElementRef:S}=m;return!h||!h.value?null:h.value.canMove?S:u(m.parent)}function b(m){return!!c}function g(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function k(){}function R(m,h){}function f(m,h){const{componentType:S}=m;let V=z(S,m,h);const j=S.toLowerCase().replace("-","_");return V&&!V.id&&V.type===S&&(V.id=`${j}_${Math.random().toString().slice(2,6)}`),V}function o(m,h){const S=String(m.getAttribute("data-controltype")),V=m.getAttribute("data-feature"),j=V?JSON.parse(V):{};j.parentComponentInstance=y.value;let $=z(S,j);const H=S.toLowerCase().replace("-","_");return $&&!$.id&&$.type===S&&($.id=`${H}_${Math.random().toString().slice(2,6)}`),$}function N(m){}function v(...m){}return y.value={canMove:l(),canSelectParent:D(),canDelete:s(),canNested:!d(),contents:t==null?void 0:t.schema.contents,elementRef:e,parent:(w=t==null?void 0:t.parent)==null?void 0:w.componentInstance,schema:t==null?void 0:t.schema,styles:i,designerClass:p,canAccepts:b,getBelongedComponentInstance:a,getDraggableDesignItemElement:u,getDraggingDisplayText:g,getPropConfig:v,getDragScopeElement:k,onAcceptMovedChildElement:R,onAcceptNewChildElement:o,onChildElementMovedOut:N,addNewChildComponentSchema:f,updateDragAndDropRules:r,triggerBelongedComponentToMoveWhenMoved:n.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:n.ref(!1)},y}const ie=n.defineComponent({name:"FDropdownDesign",props:L,emits:["select"],setup(e,t){const c=n.ref(e.model),{show:r,showDropMenu:i,hoverDropdown:p,leftButtonClick:y,closeDropMenu:l,selectItem:D,resolveSize:s}=_(e,t);function d(g){t.emit("select",g)}const a=n.ref(),u=n.inject("design-item-context"),b=re(a,u);return n.onMounted(()=>{a.value.componentInstance=b}),t.expose(b.value),()=>n.createVNode("div",{ref:a},[n.createVNode("div",{class:["farris-dropdown","btn-group",{dropup:e.position==="top"},{dropdown:e.position==="bottom"},{dropleft:e.position==="left"},{dropright:e.position==="right"}],style:{width:e.width}},[e.splitButton&&n.createVNode("span",{class:["btn",{"dropdown-item":e.nest},{"btn-lg":e.size==="large"},{"btn-sm":e.size==="small"},{"btn-primary":e.type==="primary"},{"btn-success":e.type==="success"},{"btn-warning":e.type==="warning"},{"btn-danger":e.type==="danger"},{"btn-info":e.type==="info"}],style:"width:100%",onClick:y},[e.title]),n.createVNode("span",{class:["dropdown-toggle",{btn:!e.nest},{"dropdown-item":e.nest},{"dropdown-toggle-split":e.splitButton},{"btn-lg":e.size==="large"},{"btn-sm":e.size==="small"},{"btn-primary":e.type==="primary"},{"btn-success":e.type==="success"},{"btn-warning":e.type==="warning"},{"btn-danger":e.type==="danger"},{"btn-info":e.type==="info"},{"btn-secondary":e.type==="secondary"},{"btn-link":e.type==="link"},{disabled:e.disabled}],style:"width:100%",onClick:i,onMouseenter:p,onMouseleave:p},[n.withDirectives(n.createVNode("span",{class:"sr-only"},null),[[n.vShow,e.splitButton]]),e.splitButton?"":e.title,n.withDirectives(n.createVNode("span",{class:`f-icon ${e.iconClass.toString()}`},null),[[n.vShow,e.iconClass]])]),n.createVNode("div",{class:`dropdown-menu${r.value?" show":""}`},[n.createVNode(n.Fragment,null,[c.value.map(({label:g,value:k,disabled:R,active:f,divide:o})=>n.createVNode(X,{value:k.toString(),label:g,disabled:R,active:f,divide:o,onSelect:N=>d(N)},null))])])])])}}),se={install(e){e.component(A.name,A)},register(e,t,c,r){e.dropdown=A,t.dropdown=W},registerDesigner(e,t,c){e.dropdown=ie,t.dropdown=W}};B.Dropdown=A,B.default=se,B.dropdownProps=L,B.propsResolver=W,Object.defineProperties(B,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(N,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es"],n):(N=typeof globalThis<"u"?globalThis:N||self,n(N.dropdown={},N.Vue,N.LodashES))})(this,function(N,n,L){"use strict";const z={},W={};function M(e){const{properties:t,title:c,ignore:i}=e,r=i&&Array.isArray(i),p=Object.keys(t).reduce((y,d)=>((!r||!i.find(S=>S===d))&&(y[d]=t[d].type==="object"&&t[d].properties?M(t[d]):L.cloneDeep(t[d].default)),y),{});if(c&&(!r||!i.find(y=>y==="id"))){const y=c.toLowerCase().replace(/-/g,"_");p.id=`${y}_${Math.random().toString().slice(2,6)}`}return p}function A(e,t={},c){const i=z[e];if(i){let r=M(i);const p=W[e];return r=p?p({getSchemaByType:A},r,t,c):r,r}return null}function Z(e,t){const c=M(t);return Object.keys(c).reduce((i,r)=>(i[r]&&L.isPlainObject(i[r])&&L.isPlainObject(e[r]||!e[r])?Object.assign(i[r],e[r]||{}):i[r]=e[r],i),c),c}function G(e,t){return Object.keys(e).filter(i=>e[i]!=null).reduce((i,r)=>{if(t.has(r)){const p=t.get(r);if(typeof p=="string")i[p]=e[r];else{const y=p(r,e[r],e);Object.assign(i,y)}}else i[r]=e[r];return i},{})}function J(e,t,c=new Map){const i=Z(e,t);return G(i,c)}function Q(e={}){function t(s,f,a,m){if(typeof a=="number")return m[s].length===a;if(typeof a=="object"){const b=Object.keys(a)[0],g=a[b];if(b==="not")return Number(m[s].length)!==Number(g);if(b==="moreThan")return Number(m[s].length)>=Number(g);if(b==="lessThan")return Number(m[s].length)<=Number(g)}return!1}function c(s,f,a,m){return m[s]&&m[s].propertyValue&&String(m[s].propertyValue.value)===String(a)}const i=new Map([["length",t],["getProperty",c]]);Object.keys(e).reduce((s,f)=>(s.set(f,e[f]),s),i);function r(s,f){const a=s;return typeof f=="number"?[{target:a,operator:"length",param:null,value:Number(f)}]:typeof f=="boolean"?[{target:a,operator:"getProperty",param:s,value:!!f}]:typeof f=="object"?Object.keys(f).map(m=>{if(m==="length")return{target:a,operator:"length",param:null,value:f[m]};const b=m,g=f[m];return{target:a,operator:"getProperty",param:b,value:g}}):[]}function p(s){return Object.keys(s).reduce((a,m)=>{const b=r(m,s[m]);return a.push(...b),a},[])}function y(s,f){if(i.has(s.operator)){const a=i.get(s.operator);return a&&a(s.target,s.param,s.value,f)||!1}return!1}function d(s,f){return p(s).reduce((b,g)=>b&&y(g,f),!0)}function S(s,f){const a=Object.keys(s),m=a.includes("allOf"),b=a.includes("anyOf"),g=m||b,u=(g?s[g?m?"allOf":"anyOf":"allOf"]:[s]).map(D=>d(D,f));return m?!u.includes(!1):u.includes(!0)}return{parseValueSchema:S}}const U={},C={};Q();function P(e,t,c=new Map,i=(y,d,S,s)=>d,r={},p=y=>y){return z[t.title]=t,W[t.title]=i,U[t.title]=r,C[t.title]=p,(y={})=>{const d=J(y,t,c),S=Object.keys(e).reduce((s,f)=>(s[f]=e[f].default,s),{});return Object.assign(S,d)}}function x(e,t){return{customClass:t.class,customStyle:t.style}}function K(e,t,c){return t}const I=new Map([["appearance",x]]),ee={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/dropdown.schema.json",title:"dropdown",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for dropdown",type:"string"},type:{description:"The type string of dropdown",type:"string",default:"dropdown"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},te={title:"dropdown",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:{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"}}}}},j={show:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},title:{type:String,default:"下拉示例"},size:{type:String,default:""},type:{type:String,default:"primary"},iconClass:{type:String,default:""},active:{type:Boolean,default:!1},splitButton:{type:Boolean,default:!1},position:{type:String,default:"bottom"},model:{type:Array,default:[{label:"项目一",value:"XM1"},{label:"项目二",value:"XM2"},{label:"项目三",value:"XM3"}]},onSelect:{type:Function,default:()=>{}}},F=P(j,ee,I,K,te);function q(e,t){let c;const i=n.ref(e.show),r=n.ref(),p=n.ref(),y=n.ref(),d=10;n.onMounted(()=>{c=p.value});const S=(u=1)=>{const o=["body>.f-datagrid-settings-simple-host","body>div","body>farris-dialog>.farris-modal.show","body>.farris-modal.show","body>farris-filter-panel>.f-filter-panel-wrapper","body .f-sidebar-show>.f-sidebar-main","body>.popover.show","body>filter-row-panel>.f-datagrid-filter-panel","body>.f-section-maximize"],D=Array.from(document.body.querySelectorAll(o.join(","))).filter(l=>l).map(l=>{const{display:h,zIndex:w}=window.getComputedStyle(l);return h==="none"?0:parseInt(w,10)}).filter(l=>l);let v=Math.max(...D);return v<1040&&(v=1040),v+u},s=(u,o)=>{const{height:D,left:v,top:l,width:h}=u.getBoundingClientRect(),{width:w,height:B,top:X}=o.getBoundingClientRect();if(u.className.indexOf("dropdown-submenu")>-1||u.closest(".dropdown-submenu")||u.classList.contains("dropright")){const R=window.innerWidth-v-u.offsetWidth,H=window.innerHeight-l,{position:E}=getComputedStyle(o);if(E==="fixed"){let $=v+u.offsetWidth;o.offsetWidth>R&&v>R&&($=v-w),o.style.left=$+"px",o.style.right="auto",window.innerHeight-2*d<o.offsetHeight?(o.style.top=d+"px",o.style.bottom=d+"px",o.style.maxHeight=window.innerHeight-2*d+"px",o.style.overflowY="auto",o.className+=" dropdown-menu-maxheight"):H<o.offsetHeight?(o.style.top="auto",o.style.bottom=d+"px"):(o.style.top=l+"px",o.style.bottom="auto")}else{if(o.offsetWidth>R){const $=-w;o.style.left=$+"px"}window.innerHeight-2*d<o.offsetHeight?(o.style.top=-1*(l-d)+"px",o.style.bottom="auto",o.style.maxHeight=window.innerHeight-2*d+"px",o.style.overflowY="auto",o.className+=" dropdown-menu-maxheight"):H<o.offsetHeight&&(o.style.top=H-o.offsetHeight-d+"px",o.style.bottom="auto")}}else{const{marginTop:R,marginBottom:H}=getComputedStyle(o);let E=0;const $=Math.ceil(parseFloat(R))+Math.ceil(parseFloat(H));let k=l+D,Y=v;window.innerHeight-k-$<B&&(k=l-B,k<0&&(window.innerHeight-l-D>l?(k=l+D,E=window.innerHeight-k-$-d):(k=d,E=l-k-$))),window.innerWidth-v<w&&window.innerWidth-v<v+h&&(Y=v-w+h),document.body.append(o),o.style.cssText=`position:fixed;bottom:unset;left:${Y}px
2
+ !important;top:${k}px !important;right: unset;${E?"max-height:"+E+"px;overflow-y:auto;":""}`,E&&(o.className+=" dropdown-menu-maxheight"),o.style.zIndex=S().toString()}},f=()=>{s(r.value,p.value)},a=()=>{e.hover||(i.value=!1,document.removeEventListener("click",a),c.removeEventListener("click",a),document.removeEventListener("scroll",a),c.removeEventListener("scroll",a))};return{show:i,dropdownRef:r,dropdownMenuRef:p,clickEventRef:y,showDropMenu:u=>{e.hover||e.disabled||(u==null||u.stopPropagation(),i.value||setTimeout(()=>{f()}),i.value=!i.value,document.addEventListener("click",a),document.addEventListener("scroll",a),e.hideOnClick||(c.addEventListener("click",o=>{o.stopPropagation()}),c.addEventListener("scroll",o=>{o.stopPropagation()})))},hoverDropdown:u=>{e.hover&&(i.value||setTimeout(()=>{}),i.value=!i.value)},leftButtonClick:()=>{},closeDropMenu:a,selectItem:u=>{t.emit("select",u)},resolveSize:u=>{const o=/px|em|rem|pt|%/;return o.test(u)?`${parseInt(u,10)}${u.match(o)[0]}`:`${u}px`}}}const ne={label:{type:String,default:"XM1"},value:{type:String||Number,default:"项目一"},disabled:{type:Boolean,default:!1},active:{type:Boolean,default:!1},divide:{type:Boolean,default:!1},onSelect:{type:Function,default:()=>{}}},_=n.defineComponent({name:"FDropdownItem",props:ne,emits:["select"],setup(e,t){const c=n.ref(e.value),i=n.ref(e.label),r=n.ref(e.disabled),p=n.ref(e.active),y=n.ref(e.divide),d=()=>{r.value||t.emit("select",e)};return()=>n.createVNode("div",null,[n.withDirectives(n.createVNode("div",{class:"dropdown-divider"},null),[[n.vShow,y.value]]),n.createVNode("li",{class:`dropdown-item${p.value?" active":""} ${r.value?" disabled":""}`,onClick:d,title:c.value.toString()},[i.value])])}}),O=n.defineComponent({name:"FDropdown",props:j,emits:["select"],setup(e,t){const c=n.ref(e.model),{show:i,dropdownMenuRef:r,dropdownRef:p,clickEventRef:y,showDropMenu:d,hoverDropdown:S,leftButtonClick:s,closeDropMenu:f,selectItem:a,resolveSize:m}=q(e,t);function b(g){t.emit("select",g)}return()=>n.createVNode("div",{ref:p},[n.createVNode("div",{class:["farris-dropdown","btn-group",{dropup:e.position==="top"},{dropdown:e.position==="bottom"},{dropleft:e.position==="left"},{dropright:e.position==="right"}]},[e.splitButton&&n.createVNode("span",{class:["btn",{"dropdown-item":e.nest},{"btn-lg":e.size==="large"},{"btn-sm":e.size==="small"},{"btn-primary":e.type==="primary"},{"btn-success":e.type==="success"},{"btn-warning":e.type==="warning"},{"btn-danger":e.type==="danger"},{"btn-info":e.type==="info"}],style:"width:100%",onClick:s},[e.title]),n.createVNode("span",{ref:y,class:["dropdown-toggle",{btn:!e.nest},{"dropdown-item":e.nest},{"dropdown-toggle-split":e.splitButton},{"btn-lg":e.size==="large"},{"btn-sm":e.size==="small"},{"btn-primary":e.type==="primary"},{"btn-success":e.type==="success"},{"btn-warning":e.type==="warning"},{"btn-danger":e.type==="danger"},{"btn-info":e.type==="info"},{"btn-secondary":e.type==="secondary"},{"btn-link":e.type==="link"},{disabled:e.disabled}],style:"width:100%",onClick:d,onMouseenter:S,onMouseleave:S},[n.withDirectives(n.createVNode("span",{class:"sr-only"},null),[[n.vShow,e.splitButton]]),e.splitButton?"":e.title,n.withDirectives(n.createVNode("span",{class:`f-icon ${e.iconClass.toString()}`},null),[[n.vShow,e.iconClass]])]),n.createVNode(n.Teleport,{to:"body"},{default:()=>[n.createVNode("div",{ref:r,class:`dropdown-menu${i.value?" show":""}`},[n.createVNode(n.Fragment,null,[c.value.map(({label:g,value:V,disabled:T,active:u,divide:o})=>n.createVNode(_,{value:V.toString(),label:g,disabled:T,active:u,divide:o,onSelect:D=>b(D)},null))])])]})])])}});function oe(e,t,c){var v;const i="",r="",p=n.ref();function y(){return(t==null?void 0:t.schema.componentType)!=="frame"}function d(){return!1}function S(){return(t==null?void 0:t.schema.componentType)!=="frame"}function s(){return(t==null?void 0:t.schema.componentType)==="frame"}function f(l){if(!l||!l.value)return null;if(l.value.schema&&l.value.schema.type==="component")return l.value;const h=n.ref(l==null?void 0:l.value.parent),w=f(h);return w||null}function a(l=t){const{componentInstance:h,designerItemElementRef:w}=l;return!h||!h.value?null:h.value.canMove?w:a(l.parent)}function m(l){return!!c}function b(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function g(){}function V(l,h){}function T(l,h){const{componentType:w}=l;let B=A(w,l,h);const X=w.toLowerCase().replace(/-/g,"_");return B&&!B.id&&B.type===w&&(B.id=`${X}_${Math.random().toString().slice(2,6)}`),B}function u(l){}function o(...l){}function D(){t!=null&&t.schema.contents&&t.schema.contents.map(l=>{var B;let h=l.id;l.type==="component-ref"&&(h=l.component);const w=e.value.querySelector(`#${h}-design-item`);(B=w==null?void 0:w.componentInstance)!=null&&B.value.onRemoveComponent&&w.componentInstance.value.onRemoveComponent()})}return p.value={canMove:y(),canSelectParent:d(),canDelete:S(),canNested:!s(),contents:t==null?void 0:t.schema.contents,elementRef:e,parent:(v=t==null?void 0:t.parent)==null?void 0:v.componentInstance,schema:t==null?void 0:t.schema,styles:i,designerClass:r,canAccepts:m,getBelongedComponentInstance:f,getDraggableDesignItemElement:a,getDraggingDisplayText:b,getPropConfig:o,getDragScopeElement:g,onAcceptMovedChildElement:V,onChildElementMovedOut:u,addNewChildComponentSchema:T,triggerBelongedComponentToMoveWhenMoved:n.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:n.ref(!1),onRemoveComponent:D},p}const ie=n.defineComponent({name:"FDropdownDesign",props:j,emits:["select"],setup(e,t){const c=n.ref(e.model),{show:i,showDropMenu:r,hoverDropdown:p,leftButtonClick:y,closeDropMenu:d,selectItem:S,resolveSize:s}=q(e,t);function f(g){t.emit("select",g)}const a=n.ref(),m=n.inject("design-item-context"),b=oe(a,m);return n.onMounted(()=>{a.value.componentInstance=b}),t.expose(b.value),()=>n.createVNode("div",{ref:a},[n.createVNode("div",{class:["farris-dropdown","btn-group",{dropup:e.position==="top"},{dropdown:e.position==="bottom"},{dropleft:e.position==="left"},{dropright:e.position==="right"}],style:{width:e.width}},[e.splitButton&&n.createVNode("span",{class:["btn",{"dropdown-item":e.nest},{"btn-lg":e.size==="large"},{"btn-sm":e.size==="small"},{"btn-primary":e.type==="primary"},{"btn-success":e.type==="success"},{"btn-warning":e.type==="warning"},{"btn-danger":e.type==="danger"},{"btn-info":e.type==="info"}],style:"width:100%",onClick:y},[e.title]),n.createVNode("span",{class:["dropdown-toggle",{btn:!e.nest},{"dropdown-item":e.nest},{"dropdown-toggle-split":e.splitButton},{"btn-lg":e.size==="large"},{"btn-sm":e.size==="small"},{"btn-primary":e.type==="primary"},{"btn-success":e.type==="success"},{"btn-warning":e.type==="warning"},{"btn-danger":e.type==="danger"},{"btn-info":e.type==="info"},{"btn-secondary":e.type==="secondary"},{"btn-link":e.type==="link"},{disabled:e.disabled}],style:"width:100%",onClick:r,onMouseenter:p,onMouseleave:p},[n.withDirectives(n.createVNode("span",{class:"sr-only"},null),[[n.vShow,e.splitButton]]),e.splitButton?"":e.title,n.withDirectives(n.createVNode("span",{class:`f-icon ${e.iconClass.toString()}`},null),[[n.vShow,e.iconClass]])]),n.createVNode("div",{class:`dropdown-menu${i.value?" show":""}`},[n.createVNode(n.Fragment,null,[c.value.map(({label:g,value:V,disabled:T,active:u,divide:o})=>n.createVNode(_,{value:V.toString(),label:g,disabled:T,active:u,divide:o,onSelect:D=>f(D)},null))])])])])}}),re={install(e){e.component(O.name,O)},register(e,t,c,i){e.dropdown=O,t.dropdown=F},registerDesigner(e,t,c){e.dropdown=ie,t.dropdown=F}};N.Dropdown=O,N.default=re,N.dropdownProps=j,N.propsResolver=F,Object.defineProperties(N,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});