@farris/ui-vue 1.2.7 → 1.2.9

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 (246) hide show
  1. package/components/accordion/index.esm.js +136 -136
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +418 -456
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/border-editor/index.esm.js +4 -4
  6. package/components/border-editor/index.umd.cjs +1 -1
  7. package/components/button/index.esm.js +1 -1
  8. package/components/button/index.umd.cjs +1 -1
  9. package/components/button-edit/index.esm.js +363 -436
  10. package/components/button-edit/index.umd.cjs +1 -1
  11. package/components/button-group/index.esm.js +5 -5
  12. package/components/button-group/index.umd.cjs +1 -1
  13. package/components/calendar/index.esm.js +417 -417
  14. package/components/calendar/index.umd.cjs +1 -1
  15. package/components/capsule/index.esm.js +176 -176
  16. package/components/capsule/index.umd.cjs +1 -1
  17. package/components/checkbox/index.esm.js +557 -594
  18. package/components/checkbox/index.umd.cjs +1 -1
  19. package/components/color-picker/index.esm.js +119 -119
  20. package/components/color-picker/index.umd.cjs +2 -2
  21. package/components/combo-list/index.esm.js +502 -535
  22. package/components/combo-list/index.umd.cjs +1 -1
  23. package/components/combo-tree/index.esm.js +69 -69
  24. package/components/combo-tree/index.umd.cjs +1 -1
  25. package/components/component/index.esm.js +387 -275
  26. package/components/component/index.umd.cjs +1 -1
  27. package/components/condition/index.esm.js +1219 -983
  28. package/components/condition/index.umd.cjs +1 -1
  29. package/components/content-container/index.esm.js +292 -219
  30. package/components/content-container/index.umd.cjs +1 -1
  31. package/components/data-grid/index.css +1 -1
  32. package/components/data-grid/index.esm.js +5718 -5546
  33. package/components/data-grid/index.umd.cjs +1 -1
  34. package/components/data-view/index.esm.js +3291 -2930
  35. package/components/data-view/index.umd.cjs +1 -1
  36. package/components/date-picker/index.esm.js +2650 -2682
  37. package/components/date-picker/index.umd.cjs +1 -1
  38. package/components/dependent-base/style.js +1 -0
  39. package/components/dependent-fluid/style.js +1 -0
  40. package/components/dependent-icon/style.js +1 -0
  41. package/components/dependent-input/style.js +1 -0
  42. package/components/dependent-table/style.js +1 -0
  43. package/components/designer-canvas/index.css +1 -1
  44. package/components/designer-canvas/index.esm.js +945 -932
  45. package/components/designer-canvas/index.umd.cjs +1 -1
  46. package/components/designer-outline/index.css +1 -1
  47. package/components/designer-outline/index.esm.js +175 -133
  48. package/components/designer-outline/index.umd.cjs +1 -1
  49. package/components/designer-toolbox/index.esm.js +36 -12
  50. package/components/designer-toolbox/index.umd.cjs +1 -1
  51. package/components/discussion-editor/index.esm.js +1 -1
  52. package/components/discussion-editor/index.umd.cjs +1 -1
  53. package/components/dropdown/index.esm.js +246 -246
  54. package/components/dropdown/index.umd.cjs +2 -2
  55. package/components/dynamic-form/index.esm.js +1319 -1172
  56. package/components/dynamic-form/index.umd.cjs +1 -1
  57. package/components/dynamic-resolver/index.esm.js +119 -82
  58. package/components/dynamic-resolver/index.umd.cjs +1 -1
  59. package/components/dynamic-view/index.esm.js +258 -249
  60. package/components/dynamic-view/index.umd.cjs +1 -1
  61. package/components/enum-editor/index.esm.js +3 -3
  62. package/components/enum-editor/index.umd.cjs +1 -1
  63. package/components/events-editor/index.esm.js +569 -514
  64. package/components/events-editor/index.umd.cjs +1 -1
  65. package/components/expression-editor/index.esm.js +104 -104
  66. package/components/expression-editor/index.umd.cjs +1 -1
  67. package/components/external-container/index.css +1 -1
  68. package/components/external-container/index.esm.js +3122 -2686
  69. package/components/external-container/index.umd.cjs +1 -1
  70. package/components/field-selector/index.css +1 -1
  71. package/components/field-selector/index.esm.js +6780 -6608
  72. package/components/field-selector/index.umd.cjs +1 -1
  73. package/components/filter-bar/index.css +1 -1
  74. package/components/filter-bar/index.esm.js +1466 -1523
  75. package/components/filter-bar/index.umd.cjs +1 -1
  76. package/components/flow-canvas/index.css +1 -1
  77. package/components/flow-canvas/index.esm.js +1048 -1035
  78. package/components/flow-canvas/index.umd.cjs +1 -1
  79. package/components/image-cropper/index.esm.js +422 -422
  80. package/components/image-cropper/index.umd.cjs +1 -1
  81. package/components/input-group/index.esm.js +674 -716
  82. package/components/input-group/index.umd.cjs +1 -1
  83. package/components/layout/index.esm.js +291 -291
  84. package/components/layout/index.umd.cjs +1 -1
  85. package/components/list-nav/index.esm.js +303 -230
  86. package/components/list-nav/index.umd.cjs +1 -1
  87. package/components/list-view/index.css +1 -1
  88. package/components/list-view/index.esm.js +2486 -2130
  89. package/components/list-view/index.umd.cjs +1 -1
  90. package/components/lookup/index.css +1 -1
  91. package/components/lookup/index.esm.js +7474 -7272
  92. package/components/lookup/index.umd.cjs +1 -1
  93. package/components/mapping-editor/index.css +1 -1
  94. package/components/mapping-editor/index.esm.js +6139 -5949
  95. package/components/mapping-editor/index.umd.cjs +1 -1
  96. package/components/message-box/index.esm.js +1 -1
  97. package/components/message-box/index.umd.cjs +1 -1
  98. package/components/modal/index.esm.js +1 -1
  99. package/components/modal/index.umd.cjs +1 -1
  100. package/components/nav/index.esm.js +432 -371
  101. package/components/nav/index.umd.cjs +3 -3
  102. package/components/number-range/index.esm.js +1124 -0
  103. package/components/number-range/index.umd.cjs +1 -0
  104. package/components/number-range/package.json +8 -0
  105. package/components/number-range/style.js +6 -0
  106. package/components/number-spinner/index.esm.js +1155 -0
  107. package/components/number-spinner/index.umd.cjs +1 -0
  108. package/components/number-spinner/package.json +8 -0
  109. package/components/number-spinner/style.js +4 -0
  110. package/components/order/index.css +1 -1
  111. package/components/order/index.esm.js +1215 -1178
  112. package/components/order/index.umd.cjs +1 -1
  113. package/components/page-footer/index.esm.js +147 -147
  114. package/components/page-footer/index.umd.cjs +1 -1
  115. package/components/page-header/index.esm.js +1240 -1346
  116. package/components/page-header/index.umd.cjs +1 -1
  117. package/components/pagination/index.esm.js +489 -428
  118. package/components/pagination/index.umd.cjs +1 -1
  119. package/components/progress/index.esm.js +220 -220
  120. package/components/progress/index.umd.cjs +3 -3
  121. package/components/property-editor/index.esm.js +1512 -1540
  122. package/components/property-editor/index.umd.cjs +3 -3
  123. package/components/property-panel/index.css +1 -1
  124. package/components/property-panel/index.esm.js +749 -815
  125. package/components/property-panel/index.umd.cjs +1 -1
  126. package/components/query-solution/index.css +1 -0
  127. package/components/query-solution/index.esm.js +7074 -0
  128. package/components/query-solution/index.umd.cjs +1 -0
  129. package/components/query-solution/package.json +8 -0
  130. package/components/query-solution/style.js +2 -0
  131. package/components/radio-button/index.esm.js +86 -86
  132. package/components/radio-button/index.umd.cjs +1 -1
  133. package/components/radio-group/index.esm.js +442 -479
  134. package/components/radio-group/index.umd.cjs +1 -1
  135. package/components/rate/index.esm.js +213 -208
  136. package/components/rate/index.umd.cjs +1 -1
  137. package/components/response-layout/index.esm.js +116 -116
  138. package/components/response-layout/index.umd.cjs +1 -1
  139. package/components/response-layout-editor/index.esm.js +943 -918
  140. package/components/response-layout-editor/index.umd.cjs +1 -1
  141. package/components/response-toolbar/index.esm.js +1174 -1295
  142. package/components/response-toolbar/index.umd.cjs +1 -1
  143. package/components/schema-selector/index.css +1 -1
  144. package/components/schema-selector/index.esm.js +5383 -5171
  145. package/components/schema-selector/index.umd.cjs +2 -2
  146. package/components/search-box/index.esm.js +201 -201
  147. package/components/search-box/index.umd.cjs +1 -1
  148. package/components/section/index.esm.js +684 -542
  149. package/components/section/index.umd.cjs +1 -1
  150. package/components/smoke-detector/index.esm.js +121 -121
  151. package/components/smoke-detector/index.umd.cjs +1 -1
  152. package/components/spacing-editor/index.esm.js +2 -2
  153. package/components/spacing-editor/index.umd.cjs +1 -1
  154. package/components/splitter/index.esm.js +1158 -382
  155. package/components/splitter/index.umd.cjs +1 -1
  156. package/components/step/index.esm.js +232 -232
  157. package/components/step/index.umd.cjs +1 -1
  158. package/components/switch/index.esm.js +451 -487
  159. package/components/switch/index.umd.cjs +1 -1
  160. package/components/tabs/index.esm.js +2078 -2168
  161. package/components/tabs/index.umd.cjs +1 -1
  162. package/components/tags/index.esm.js +318 -320
  163. package/components/tags/index.umd.cjs +1 -1
  164. package/components/text/index.esm.js +192 -192
  165. package/components/text/index.umd.cjs +1 -1
  166. package/components/textarea/index.esm.js +471 -497
  167. package/components/textarea/index.umd.cjs +1 -1
  168. package/components/time-picker/index.esm.js +1421 -1441
  169. package/components/time-picker/index.umd.cjs +1 -1
  170. package/components/transfer/index.css +1 -1
  171. package/components/transfer/index.esm.js +430 -421
  172. package/components/transfer/index.umd.cjs +1 -1
  173. package/components/tree-grid/index.css +1 -1
  174. package/components/tree-grid/index.esm.js +6806 -6624
  175. package/components/tree-grid/index.umd.cjs +1 -1
  176. package/components/tree-view/index.esm.js +2793 -2433
  177. package/components/tree-view/index.umd.cjs +1 -1
  178. package/components/uploader/index.esm.js +165 -165
  179. package/components/uploader/index.umd.cjs +2 -2
  180. package/components/verify-detail/index.esm.js +255 -255
  181. package/components/verify-detail/index.umd.cjs +1 -1
  182. package/components/video/index.esm.js +413 -334
  183. package/components/video/index.umd.cjs +1 -1
  184. package/components/weather/index.esm.js +902 -902
  185. package/components/weather/index.umd.cjs +4 -4
  186. package/farris.all.esm.js +54155 -52847
  187. package/farris.all.umd.cjs +9 -9
  188. package/index.css +1 -1
  189. package/package.json +1 -1
  190. package/types/button-edit/src/designer/button-group.design.component.d.ts +7 -0
  191. package/types/checkbox/index.d.ts +1 -0
  192. package/types/combo-list/src/components/list-container.component.d.ts +3 -0
  193. package/types/combo-list/src/components/list-container.props.d.ts +5 -1
  194. package/types/common/entity/entity-schema.d.ts +258 -0
  195. package/types/component/src/component-ref.props.d.ts +4 -0
  196. package/types/component/src/composition/inner-component-build-info.d.ts +27 -0
  197. package/types/component/src/designer/use-designer-rules.d.ts +2 -2
  198. package/types/data-grid/index.d.ts +5 -2
  199. package/types/data-grid/src/composition/data-grid-component-creator.service.d.ts +33 -0
  200. package/types/data-grid/src/data-grid.component.d.ts +2 -1
  201. package/types/data-grid/src/data-grid.props.d.ts +2 -2
  202. package/types/data-grid/src/designer/column-header.design.component.d.ts +1 -1
  203. package/types/data-grid/src/designer/data-grid-column.props.d.ts +1 -0
  204. package/types/data-grid/src/designer/use-group-column.d.ts +20 -0
  205. package/types/data-grid/src/property-config/data-grid.property-config.d.ts +4 -0
  206. package/types/data-grid/src/schema/schema-resolver.d.ts +2 -1
  207. package/types/data-view/components/column-format/boolean.component.d.ts +4 -0
  208. package/types/data-view/components/column-format/column-format.component.d.ts +4 -0
  209. package/types/data-view/components/column-format/date.component.d.ts +4 -0
  210. package/types/data-view/components/column-format/enum.component.d.ts +4 -0
  211. package/types/data-view/components/column-format/number.component.d.ts +4 -0
  212. package/types/data-view/composition/pagination/use-pagination.d.ts +1 -0
  213. package/types/data-view/composition/types.d.ts +19 -7
  214. package/types/data-view/composition/use-edit.d.ts +2 -1
  215. package/types/designer-canvas/src/composition/dg-control.d.ts +16 -350
  216. package/types/designer-canvas/src/composition/function/use-dragula.d.ts +2 -2
  217. package/types/designer-canvas/src/types.d.ts +3 -3
  218. package/types/dynamic-form/index.d.ts +3 -1
  219. package/types/dynamic-form/src/composition/response-form-component-creator.service.d.ts +31 -0
  220. package/types/dynamic-form/src/schema/schema-resolver.d.ts +2 -1
  221. package/types/dynamic-form/src/types.d.ts +1 -1
  222. package/types/dynamic-resolver/index.d.ts +1 -0
  223. package/types/dynamic-resolver/src/binding-resolver.d.ts +1 -0
  224. package/types/dynamic-resolver/src/schema-resolver.d.ts +2 -1
  225. package/types/dynamic-resolver/src/types.d.ts +3 -2
  226. package/types/dynamic-view/src/dynamic-view.component.d.ts +1 -1
  227. package/types/lookup/src/property-config/lookup.property-config.d.ts +2 -1
  228. package/types/modal/src/modal.props.d.ts +1 -4
  229. package/types/property-panel/src/composition/entity/base-property.d.ts +0 -12
  230. package/types/property-panel/src/composition/entity/input-base-property.d.ts +11 -26
  231. package/types/property-panel/src/composition/entity/schema-dom-mapping.d.ts +10 -8
  232. package/types/response-toolbar/src/response-toolbar.props.d.ts +2 -2
  233. package/types/response-toolbar/src/schema/schema-mapper.d.ts +4 -0
  234. package/types/section/src/property-config/section.property-config.d.ts +93 -0
  235. package/types/section/src/schema/schema-resolver.d.ts +2 -1
  236. package/types/tabs/src/composition/types.d.ts +2 -2
  237. package/types/tabs/src/designer/tab-header-item.design.component.d.ts +3 -1
  238. package/types/tabs/src/designer/tab-toolbar-item.props.d.ts +19 -0
  239. package/types/tabs/src/property-config/tab-page.property-config.d.ts +60 -0
  240. package/types/tabs/src/property-config/tabs.property-config.d.ts +6 -6
  241. package/types/tabs/src/schema/schema-resolver.d.ts +2 -1
  242. package/types/tags/index.d.ts +36 -5
  243. package/types/tree-grid/src/designer/use-designer-rules.d.ts +3 -0
  244. package/types/tree-grid/src/property-config/tree-grid.property-config.d.ts +11 -0
  245. package/types/tree-grid/src/schema/column-resolver.d.ts +1 -1
  246. package/types/tree-grid/src/tree-grid.props.d.ts +8 -0
@@ -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,Y){"use strict";const W={},C={};function M(e){const{properties:t,title:l}=e,r=Object.keys(t).reduce((a,u)=>(a[u]=t[u].type==="object"&&t[u].properties?M(t[u]):Y.cloneDeep(t[u].default),a),{});return r.id=`${l}-${Date.now()}`,r}function F(e,t={}){const l=W[e];if(l){let r=M(l);const a=C[e];return r=a?a({getSchemaByType:F},r,t):r,r}return null}function J(e,t){const l=M(t);return Object.keys(e).reduce((r,a)=>(r[a]=e[a],r),l),l}function Z(e,t){return Object.keys(e).filter(r=>e[r]!=null).reduce((r,a)=>{if(t.has(a)){const u=t.get(a);if(typeof u=="string")r[u]=e[a];else{const g=u(a,e[a],e);Object.assign(r,g)}}else r[a]=e[a];return r},{})}function G(e,t,l=new Map){const r=J(e,t);return Z(r,l)}function Q(e={}){function t(i,c,s,f){if(typeof s=="number")return f[i].length===s;if(typeof s=="object"){const b=Object.keys(s)[0],y=s[b];if(b==="not")return Number(f[i].length)!==Number(y);if(b==="moreThan")return Number(f[i].length)>=Number(y);if(b==="lessThan")return Number(f[i].length)<=Number(y)}return!1}function l(i,c,s,f){return f[i]&&f[i].propertyValue&&String(f[i].propertyValue.value)===String(s)}const r=new Map([["length",t],["getProperty",l]]);Object.keys(e).reduce((i,c)=>(i.set(c,e[c]),i),r);function a(i,c){const s=i;return typeof c=="number"?[{target:s,operator:"length",param:null,value:Number(c)}]:typeof c=="boolean"?[{target:s,operator:"getProperty",param:i,value:!!c}]:typeof c=="object"?Object.keys(c).map(f=>{if(f==="length")return{target:s,operator:"length",param:null,value:c[f]};const b=f,y=c[f];return{target:s,operator:"getProperty",param:b,value:y}}):[]}function u(i){return Object.keys(i).reduce((s,f)=>{const b=a(f,i[f]);return s.push(...b),s},[])}function g(i,c){if(r.has(i.operator)){const s=r.get(i.operator);return s&&s(i.target,i.param,i.value,c)||!1}return!1}function m(i,c){return u(i).reduce((b,y)=>b&&g(y,c),!0)}function N(i,c){const s=Object.keys(i),f=s.includes("allOf"),b=s.includes("anyOf"),y=f||b,d=(y?i[y?f?"allOf":"anyOf":"allOf"]:[i]).map(D=>m(D,c));return f?!d.includes(!1):d.includes(!0)}return{parseValueSchema:N}}const U={},x={};Q();function P(e,t,l=new Map,r=(g,m,N)=>m,a={},u=g=>g){return W[t.title]=t,C[t.title]=r,U[t.title]=a,x[t.title]=u,(g={})=>{const m=G(g,t,l),N=Object.keys(e).reduce((i,c)=>(i[c]=e[c].default,i),{});return Object.assign(N,m)}}function K(e,t){return{customClass:t.class,customStyle:t.style}}function I(e,t,l){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"}}}}},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:()=>{}}},z=P(j,te,ee,I,ne);function q(e,t){let l;const r=n.ref(e.show),a=n.ref(),u=n.ref(),g=n.ref(),m=10;n.onMounted(()=>{l=u.value});const N=(d=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(w=>w).map(w=>{const{display:p,zIndex:h}=window.getComputedStyle(w);return p==="none"?0:parseInt(h,10)}).filter(w=>w);let S=Math.max(...D);return S<1040&&(S=1040),S+d},i=(d,o)=>{const{height:D,left:S,top:w,width:p}=d.getBoundingClientRect(),{width:h,height:v,top:O}=o.getBoundingClientRect();if(d.className.indexOf("dropdown-submenu")>-1||d.closest(".dropdown-submenu")||d.classList.contains("dropright")){const V=window.innerWidth-S-d.offsetWidth,R=window.innerHeight-w,{position:H}=getComputedStyle(o);if(H==="fixed"){let k=S+d.offsetWidth;o.offsetWidth>V&&S>V&&(k=S-h),o.style.left=k+"px",o.style.right="auto",window.innerHeight-2*m<o.offsetHeight?(o.style.top=m+"px",o.style.bottom=m+"px",o.style.maxHeight=window.innerHeight-2*m+"px",o.style.overflowY="auto",o.className+=" dropdown-menu-maxheight"):R<o.offsetHeight?(o.style.top="auto",o.style.bottom=m+"px"):(o.style.top=w+"px",o.style.bottom="auto")}else{if(o.offsetWidth>V){const k=-h;o.style.left=k+"px"}window.innerHeight-2*m<o.offsetHeight?(o.style.top=-1*(w-m)+"px",o.style.bottom="auto",o.style.maxHeight=window.innerHeight-2*m+"px",o.style.overflowY="auto",o.className+=" dropdown-menu-maxheight"):R<o.offsetHeight&&(o.style.top=R-o.offsetHeight-m+"px",o.style.bottom="auto")}}else{const{marginTop:V,marginBottom:R}=getComputedStyle(o);let H=0;const k=Math.ceil(parseFloat(V))+Math.ceil(parseFloat(R));let E=w+D,X=S;window.innerHeight-E-k<v&&(E=w-v,E<0&&(window.innerHeight-w-D>w?(E=w+D,H=window.innerHeight-E-k-m):(E=m,H=w-E-k))),window.innerWidth-S<h&&window.innerWidth-S<S+p&&(X=S-h+p),document.body.append(o),o.style.cssText=`position:fixed;bottom:unset;left:${X}px
2
- !important;top:${E}px !important;right: unset;${H?"max-height:"+H+"px;overflow-y:auto;":""}`,H&&(o.className+=" dropdown-menu-maxheight"),o.style.zIndex=N().toString()}},c=()=>{i(a.value,u.value)},s=()=>{e.hover||(r.value=!1,document.removeEventListener("click",s),l.removeEventListener("click",s),document.removeEventListener("scroll",s),l.removeEventListener("scroll",s))};return{show:r,dropdownRef:a,dropdownMenuRef:u,clickEventRef:g,showDropMenu:d=>{e.hover||e.disabled||(d==null||d.stopPropagation(),r.value||setTimeout(()=>{c()}),r.value=!r.value,document.addEventListener("click",s),document.addEventListener("scroll",s),e.hideOnClick||(l.addEventListener("click",o=>{o.stopPropagation()}),l.addEventListener("scroll",o=>{o.stopPropagation()})))},hoverDropdown:d=>{e.hover&&(r.value||setTimeout(()=>{}),r.value=!r.value)},leftButtonClick:()=>{},closeDropMenu:s,selectItem:d=>{t.emit("select",d)},resolveSize:d=>{const o=/px|em|rem|pt|%/;return o.test(d)?`${parseInt(d,10)}${d.match(o)[0]}`:`${d}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:()=>{}}},_=n.defineComponent({name:"FDropdownItem",props:oe,emits:["select"],setup(e,t){const l=n.ref(e.value),r=n.ref(e.label),a=n.ref(e.disabled),u=n.ref(e.active),g=n.ref(e.divide),m=()=>{a.value||t.emit("select",e)};return()=>n.createVNode("div",null,[n.withDirectives(n.createVNode("div",{class:"dropdown-divider"},null),[[n.vShow,g.value]]),n.createVNode("li",{class:`dropdown-item${u.value?" active":""} ${a.value?" disabled":""}`,onClick:m,title:l.value.toString()},[r.value])])}}),L=n.defineComponent({name:"FDropdown",props:j,emits:["select"],setup(e,t){const l=n.ref(e.model),{show:r,dropdownMenuRef:a,dropdownRef:u,clickEventRef:g,showDropMenu:m,hoverDropdown:N,leftButtonClick:i,closeDropMenu:c,selectItem:s,resolveSize:f}=q(e,t);function b(y){t.emit("select",y)}return()=>n.createVNode("div",{ref:u},[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:i},[e.title]),n.createVNode("span",{ref:g,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:m,onMouseenter:N,onMouseleave:N},[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:a,class:`dropdown-menu${r.value?" show":""}`},[n.createVNode(n.Fragment,null,[l.value.map(({label:y,value:$,disabled:T,active:d,divide:o})=>n.createVNode(_,{value:$.toString(),label:y,disabled:T,active:d,divide:o,onSelect:D=>b(D)},null))])])]})])])}});function re(e,t,l){var w;function r(){}const a="",u="",g=n.ref();function m(){return(t==null?void 0:t.schema.componentType)!=="frame"}function N(){return!1}function i(){return(t==null?void 0:t.schema.componentType)!=="frame"}function c(){return(t==null?void 0:t.schema.componentType)==="frame"}function s(p){if(!p||!p.value)return null;if(p.value.schema&&p.value.schema.type==="component")return p.value;const h=n.ref(p==null?void 0:p.value.parent),v=s(h);return v||null}function f(p=t){const{componentInstance:h,designerItemElementRef:v}=p;return!h||!h.value?null:h.value.canMove?v:f(p.parent)}function b(p){return!!l}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 $(){}function T(p,h){}function d(p){const{componentType:h}=p;let v=F(h,p);const O=h.toLowerCase().replace("-","_");return v&&!v.id&&v.type===h&&(v.id=`${O}_${Math.random().toString().slice(2,6)}`),v}function o(p,h){const v=String(p.getAttribute("data-controltype")),O=p.getAttribute("data-feature"),A=O?JSON.parse(O):{};A.parentComponentInstance=g.value;let V=F(v,A);const R=v.toLowerCase().replace("-","_");return V&&!V.id&&V.type===v&&(V.id=`${R}_${Math.random().toString().slice(2,6)}`),V}function D(p){}function S(...p){}return g.value={canMove:m(),canSelectParent:N(),canDelete:i(),canNested:!c(),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:a,designerClass:u,canAccepts:b,getBelongedComponentInstance:s,getDraggableDesignItemElement:f,getDraggingDisplayText:y,getPropConfig:S,getDragScopeElement:$,onAcceptMovedChildElement:T,onAcceptNewChildElement:o,onChildElementMovedOut:D,addNewChildComponentSchema:d,updateDragAndDropRules:r,triggerBelongedComponentToMoveWhenMoved:n.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:n.ref(!1)},g}const ie=n.defineComponent({name:"FDropdownDesign",props:j,emits:["select"],setup(e,t){const l=n.ref(e.model),{show:r,showDropMenu:a,hoverDropdown:u,leftButtonClick:g,closeDropMenu:m,selectItem:N,resolveSize:i}=q(e,t);function c(y){t.emit("select",y)}const s=n.ref(),f=n.inject("design-item-context"),b=re(s,f);return n.onMounted(()=>{s.value.componentInstance=b}),t.expose(b.value),()=>n.createVNode("div",{ref:s},[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:g},[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:a,onMouseenter:u,onMouseleave:u},[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,[l.value.map(({label:y,value:$,disabled:T,active:d,divide:o})=>n.createVNode(_,{value:$.toString(),label:y,disabled:T,active:d,divide:o,onSelect:D=>c(D)},null))])])])])}}),se={install(e){e.component(L.name,L)},register(e,t,l,r){e.dropdown=L,t.dropdown=z},registerDesigner(e,t,l){e.dropdown=ie,t.dropdown=z}};B.Dropdown=L,B.default=se,B.dropdownProps=j,B.propsResolver=z,Object.defineProperties(B,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(B,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es")):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,Y){"use strict";const W={},C={};function M(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?M(t[l]):Y.cloneDeep(t[l].default)),y),{});return(!i||!r.find(y=>y=="id"))&&(p.id=`${c}-${Date.now()}`),p}function F(e,t={},c){const r=W[e];if(r){let i=M(r);const p=C[e];return i=p?p({getSchemaByType:F},i,t,c):i,i}return null}function J(e,t){const c=M(t);return Object.keys(e).reduce((r,i)=>(r[i]&&typeof r[i]=="object"?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 W[t.title]=t,C[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:()=>{}}},z=P(L,te,ee,I,ne);function q(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:$}=o.getBoundingClientRect();if(f.className.indexOf("dropdown-submenu")>-1||f.closest(".dropdown-submenu")||f.classList.contains("dropright")){const V=window.innerWidth-v-f.offsetWidth,H=window.innerHeight-w,{position:j}=getComputedStyle(o);if(j==="fixed"){let E=v+f.offsetWidth;o.offsetWidth>V&&v>V&&(E=v-h),o.style.left=E+"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>V){const E=-h;o.style.left=E+"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:V,marginBottom:H}=getComputedStyle(o);let j=0;const E=Math.ceil(parseFloat(V))+Math.ceil(parseFloat(H));let T=w+N,X=v;window.innerHeight-T-E<S&&(T=w-S,T<0&&(window.innerHeight-w-N>w?(T=w+N,j=window.innerHeight-T-E-l):(T=l,j=w-T-E))),window.innerWidth-v<h&&window.innerWidth-v<v+m&&(X=v-h+m),document.body.append(o),o.style.cssText=`position:fixed;bottom:unset;left:${X}px
2
+ !important;top:${T}px !important;right: unset;${j?"max-height:"+j+"px;overflow-y:auto;":""}`,j&&(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:()=>{}}},_=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}=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: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(_,{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 $=F(S,m,h);const O=S.toLowerCase().replace("-","_");return $&&!$.id&&$.type===S&&($.id=`${O}_${Math.random().toString().slice(2,6)}`),$}function o(m,h){const S=String(m.getAttribute("data-controltype")),$=m.getAttribute("data-feature"),O=$?JSON.parse($):{};O.parentComponentInstance=y.value;let V=F(S,O);const H=S.toLowerCase().replace("-","_");return V&&!V.id&&V.type===S&&(V.id=`${H}_${Math.random().toString().slice(2,6)}`),V}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}=q(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(_,{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=z},registerDesigner(e,t,c){e.dropdown=ie,t.dropdown=z}};B.Dropdown=A,B.default=se,B.dropdownProps=L,B.propsResolver=z,Object.defineProperties(B,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});