@farris/ui-vue 1.2.9 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/components/accordion/index.esm.js +64 -64
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +521 -336
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/button-edit/index.css +1 -1
  6. package/components/button-edit/index.esm.js +99 -97
  7. package/components/button-edit/index.umd.cjs +1 -1
  8. package/components/calendar/index.esm.js +496 -504
  9. package/components/calendar/index.umd.cjs +1 -1
  10. package/components/capsule/index.esm.js +251 -259
  11. package/components/capsule/index.umd.cjs +1 -1
  12. package/components/checkbox/index.esm.js +696 -519
  13. package/components/checkbox/index.umd.cjs +1 -1
  14. package/components/color-picker/index.esm.js +368 -376
  15. package/components/color-picker/index.umd.cjs +2 -2
  16. package/components/combo-list/index.css +1 -0
  17. package/components/combo-list/index.esm.js +1141 -340
  18. package/components/combo-list/index.umd.cjs +1 -1
  19. package/components/combo-tree/index.esm.js +116 -116
  20. package/components/combo-tree/index.umd.cjs +1 -1
  21. package/components/common/index.esm.js +986 -798
  22. package/components/common/index.umd.cjs +1 -1
  23. package/components/component/index.esm.js +463 -998
  24. package/components/component/index.umd.cjs +1 -1
  25. package/components/condition/index.css +1 -0
  26. package/components/condition/index.esm.js +2233 -1057
  27. package/components/condition/index.umd.cjs +1 -1
  28. package/components/content-container/index.esm.js +335 -1002
  29. package/components/content-container/index.umd.cjs +1 -1
  30. package/components/data-grid/index.css +1 -1
  31. package/components/data-grid/index.esm.js +6193 -4702
  32. package/components/data-grid/index.umd.cjs +1 -1
  33. package/components/data-view/index.css +1 -0
  34. package/components/data-view/index.esm.js +4562 -3294
  35. package/components/data-view/index.umd.cjs +1 -1
  36. package/components/date-picker/index.css +1 -1
  37. package/components/date-picker/index.esm.js +3420 -2623
  38. package/components/date-picker/index.umd.cjs +1 -1
  39. package/components/designer-canvas/index.css +1 -1
  40. package/components/designer-canvas/index.esm.js +914 -883
  41. package/components/designer-canvas/index.umd.cjs +1 -1
  42. package/components/designer-outline/index.esm.js +14 -13
  43. package/components/designer-outline/index.umd.cjs +1 -1
  44. package/components/dropdown/index.esm.js +204 -212
  45. package/components/dropdown/index.umd.cjs +2 -2
  46. package/components/dynamic-form/index.css +1 -0
  47. package/components/dynamic-form/index.esm.js +2795 -1835
  48. package/components/dynamic-form/index.umd.cjs +1 -1
  49. package/components/dynamic-resolver/index.esm.js +180 -130
  50. package/components/dynamic-resolver/index.umd.cjs +1 -1
  51. package/components/dynamic-view/index.esm.js +303 -290
  52. package/components/dynamic-view/index.umd.cjs +1 -1
  53. package/components/events-editor/index.esm.js +328 -336
  54. package/components/events-editor/index.umd.cjs +1 -1
  55. package/components/expression-editor/index.esm.js +65 -65
  56. package/components/expression-editor/index.umd.cjs +1 -1
  57. package/components/external-container/index.css +1 -1
  58. package/components/external-container/index.esm.js +3349 -3626
  59. package/components/external-container/index.umd.cjs +1 -1
  60. package/components/field-selector/index.css +1 -1
  61. package/components/field-selector/index.esm.js +5344 -8588
  62. package/components/field-selector/index.umd.cjs +1 -1
  63. package/components/filter-bar/index.css +1 -1
  64. package/components/filter-bar/index.esm.js +2179 -2227
  65. package/components/filter-bar/index.umd.cjs +1 -1
  66. package/components/flow-canvas/index.css +1 -1
  67. package/components/flow-canvas/index.esm.js +684 -675
  68. package/components/flow-canvas/index.umd.cjs +1 -1
  69. package/components/image-cropper/index.esm.js +482 -490
  70. package/components/image-cropper/index.umd.cjs +1 -1
  71. package/components/input-group/index.esm.js +746 -569
  72. package/components/input-group/index.umd.cjs +1 -1
  73. package/components/layout/index.esm.js +409 -385
  74. package/components/layout/index.umd.cjs +1 -1
  75. package/components/list-nav/index.esm.js +348 -1019
  76. package/components/list-nav/index.umd.cjs +1 -1
  77. package/components/list-view/index.css +1 -1
  78. package/components/list-view/index.esm.js +3606 -2388
  79. package/components/list-view/index.umd.cjs +1 -1
  80. package/components/lookup/index.css +1 -1
  81. package/components/lookup/index.esm.js +10871 -8970
  82. package/components/lookup/index.umd.cjs +1 -1
  83. package/components/mapping-editor/index.css +1 -1
  84. package/components/mapping-editor/index.esm.js +6019 -5631
  85. package/components/mapping-editor/index.umd.cjs +1 -1
  86. package/components/message-box/index.css +1 -1
  87. package/components/message-box/index.esm.js +511 -471
  88. package/components/message-box/index.umd.cjs +1 -1
  89. package/components/modal/index.css +1 -1
  90. package/components/modal/index.esm.js +438 -398
  91. package/components/modal/index.umd.cjs +1 -1
  92. package/components/nav/index.esm.js +912 -1281
  93. package/components/nav/index.umd.cjs +3 -3
  94. package/components/notify/index.esm.js +59 -53
  95. package/components/notify/index.umd.cjs +1 -1
  96. package/components/number-range/index.esm.js +660 -484
  97. package/components/number-range/index.umd.cjs +1 -1
  98. package/components/number-spinner/index.esm.js +682 -506
  99. package/components/number-spinner/index.umd.cjs +1 -1
  100. package/components/order/index.css +1 -1
  101. package/components/order/index.esm.js +1848 -1658
  102. package/components/order/index.umd.cjs +1 -1
  103. package/components/page-footer/index.esm.js +100 -100
  104. package/components/page-footer/index.umd.cjs +1 -1
  105. package/components/page-header/index.esm.js +1120 -1923
  106. package/components/page-header/index.umd.cjs +1 -1
  107. package/components/pagination/index.esm.js +875 -1214
  108. package/components/pagination/index.umd.cjs +1 -1
  109. package/components/popover/index.esm.js +71 -70
  110. package/components/popover/index.umd.cjs +1 -1
  111. package/components/progress/index.esm.js +229 -237
  112. package/components/progress/index.umd.cjs +3 -3
  113. package/components/property-editor/index.css +1 -1
  114. package/components/property-editor/index.esm.js +2314 -1521
  115. package/components/property-editor/index.umd.cjs +3 -3
  116. package/components/property-panel/index.esm.js +867 -868
  117. package/components/property-panel/index.umd.cjs +1 -1
  118. package/components/query-solution/index.css +1 -1
  119. package/components/query-solution/index.esm.js +4332 -3623
  120. package/components/query-solution/index.umd.cjs +1 -1
  121. package/components/radio-button/index.esm.js +72 -72
  122. package/components/radio-button/index.umd.cjs +1 -1
  123. package/components/radio-group/index.esm.js +613 -437
  124. package/components/radio-group/index.umd.cjs +1 -1
  125. package/components/rate/index.esm.js +255 -263
  126. package/components/rate/index.umd.cjs +1 -1
  127. package/components/response-layout/index.esm.js +144 -152
  128. package/components/response-layout/index.umd.cjs +1 -1
  129. package/components/response-layout-editor/index.css +1 -1
  130. package/components/response-layout-editor/index.esm.js +1101 -1038
  131. package/components/response-layout-editor/index.umd.cjs +1 -1
  132. package/components/response-toolbar/index.esm.js +935 -1750
  133. package/components/response-toolbar/index.umd.cjs +1 -1
  134. package/components/schema-selector/index.css +1 -1
  135. package/components/schema-selector/index.esm.js +5264 -5677
  136. package/components/schema-selector/index.umd.cjs +2 -2
  137. package/components/search-box/index.esm.js +151 -154
  138. package/components/search-box/index.umd.cjs +1 -1
  139. package/components/section/index.esm.js +438 -1125
  140. package/components/section/index.umd.cjs +1 -1
  141. package/components/smoke-detector/index.esm.js +93 -101
  142. package/components/smoke-detector/index.umd.cjs +1 -1
  143. package/components/splitter/index.esm.js +563 -1202
  144. package/components/splitter/index.umd.cjs +1 -1
  145. package/components/splitter/style.js +2 -0
  146. package/components/step/index.esm.js +248 -256
  147. package/components/step/index.umd.cjs +1 -1
  148. package/components/switch/index.esm.js +549 -373
  149. package/components/switch/index.umd.cjs +1 -1
  150. package/components/tabs/index.css +1 -1
  151. package/components/tabs/index.esm.js +2436 -3110
  152. package/components/tabs/index.umd.cjs +1 -1
  153. package/components/tags/index.esm.js +328 -336
  154. package/components/tags/index.umd.cjs +1 -1
  155. package/components/text/index.esm.js +339 -347
  156. package/components/text/index.umd.cjs +1 -1
  157. package/components/textarea/index.esm.js +554 -378
  158. package/components/textarea/index.umd.cjs +1 -1
  159. package/components/time-picker/index.css +1 -1
  160. package/components/time-picker/index.esm.js +1322 -1144
  161. package/components/time-picker/index.umd.cjs +1 -1
  162. package/components/transfer/index.css +1 -1
  163. package/components/transfer/index.esm.js +537 -543
  164. package/components/transfer/index.umd.cjs +1 -1
  165. package/components/tree-grid/index.css +1 -1
  166. package/components/tree-grid/index.esm.js +5113 -9426
  167. package/components/tree-grid/index.umd.cjs +1 -1
  168. package/components/tree-view/index.css +1 -0
  169. package/components/tree-view/index.esm.js +3900 -2677
  170. package/components/tree-view/index.umd.cjs +1 -1
  171. package/components/uploader/index.esm.js +568 -570
  172. package/components/uploader/index.umd.cjs +2 -2
  173. package/components/verify-detail/index.esm.js +266 -274
  174. package/components/verify-detail/index.umd.cjs +1 -1
  175. package/components/video/index.esm.js +553 -1052
  176. package/components/video/index.umd.cjs +1 -1
  177. package/components/weather/index.esm.js +558 -566
  178. package/components/weather/index.umd.cjs +5 -5
  179. package/farris.all.esm.js +22009 -22688
  180. package/farris.all.umd.cjs +9 -9
  181. package/index.css +1 -1
  182. package/package.json +1 -1
  183. package/types/capsule/src/capsule.props.d.ts +2 -2
  184. package/types/combo-list/src/components/list-container.component.d.ts +0 -3
  185. package/types/combo-list/src/components/list-container.props.d.ts +0 -4
  186. package/types/common/directive/area-response.d.ts +10 -0
  187. package/types/common/index.d.ts +9 -0
  188. package/types/common/radio-checkbox/radio-checkbox.props.d.ts +1 -0
  189. package/types/common/types.d.ts +1 -1
  190. package/types/common/utils/encrypt.d.ts +2 -0
  191. package/types/common/utils/resolve-field.d.ts +2 -0
  192. package/types/common/utils/use-class.d.ts +7 -0
  193. package/types/component/src/component.props.d.ts +7 -0
  194. package/types/component/src/designer/use-designer-rules.d.ts +2 -2
  195. package/types/component/src/property-config/component.property-config.d.ts +9 -0
  196. package/types/components.d.ts +1 -0
  197. package/types/condition/src/types.d.ts +2 -1
  198. package/types/content-container/src/designer/use-designer-rules.d.ts +3 -3
  199. package/types/data-grid/index.d.ts +11 -5
  200. package/types/data-grid/src/data-grid.component.d.ts +4 -2
  201. package/types/data-grid/src/data-grid.props.d.ts +1 -0
  202. package/types/data-grid/src/designer/data-grid.design.component.d.ts +2 -2
  203. package/types/data-grid/src/designer/use-designer-rules.d.ts +2 -2
  204. package/types/data-view/components/row/hierarchy-row.component.d.ts +2 -2
  205. package/types/data-view/composition/data/use-tree-data.d.ts +1 -1
  206. package/types/data-view/composition/types.d.ts +19 -4
  207. package/types/data-view/composition/visualization/use-virtual-scroll.d.ts +0 -15
  208. package/types/designer-canvas/index.d.ts +2 -1
  209. package/types/designer-canvas/src/composition/dg-control.d.ts +5 -0
  210. package/types/designer-canvas/src/composition/rule/use-dragula-common-rule.d.ts +4 -0
  211. package/types/designer-canvas/src/composition/rule/use-template-rule.d.ts +30 -0
  212. package/types/designer-canvas/src/composition/types.d.ts +2 -3
  213. package/types/designer-canvas/src/types.d.ts +2 -1
  214. package/types/dynamic-form/src/composition/use-response-form-layout-setting.d.ts +2 -0
  215. package/types/dynamic-form/src/designer/response-form-layout-setting.component.d.ts +8 -0
  216. package/types/dynamic-form/src/designer/response-form-layout-setting.props.d.ts +4 -0
  217. package/types/dynamic-form/src/designer/response-form.design.component.d.ts +7 -1
  218. package/types/dynamic-form/src/designer/use-designer-rules.d.ts +1 -1
  219. package/types/dynamic-form/src/property-config/form.property-config.d.ts +9 -0
  220. package/types/dynamic-form/src/schema/schema-mapper.d.ts +1 -0
  221. package/types/dynamic-form/src/schema/schema-resolver.d.ts +1 -0
  222. package/types/dynamic-form/src/types.d.ts +12 -1
  223. package/types/dynamic-resolver/index.d.ts +1 -0
  224. package/types/dynamic-resolver/src/common/toolbar-resolver.d.ts +1 -1
  225. package/types/dynamic-resolver/src/event-handler-resolver.d.ts +4 -0
  226. package/types/dynamic-resolver/src/types.d.ts +9 -0
  227. package/types/dynamic-view/index.d.ts +1 -0
  228. package/types/dynamic-view/src/event-dispatcher.d.ts +1 -1
  229. package/types/external-container/src/designer/use-designer-rules.d.ts +3 -3
  230. package/types/index.d.ts +2 -0
  231. package/types/layout/src/designer/layout-pane-use-designer-rules.d.ts +3 -3
  232. package/types/list-nav/src/designer/use-designer-rules.d.ts +3 -0
  233. package/types/lookup/src/components/favorite/lookup-favorite.component.d.ts +29 -0
  234. package/types/lookup/src/components/favorite/lookup-favorite.props.d.ts +15 -0
  235. package/types/lookup/src/components/modal-container.component.d.ts +25 -0
  236. package/types/lookup/src/components/modal-container.props.d.ts +29 -0
  237. package/types/lookup/src/composition/types.d.ts +8 -0
  238. package/types/lookup/src/composition/use-check-props.d.ts +9 -2
  239. package/types/lookup/src/composition/use-dialog.d.ts +5 -1
  240. package/types/lookup/src/composition/use-favorite.d.ts +12 -0
  241. package/types/lookup/src/composition/use-http.d.ts +9 -5
  242. package/types/lookup/src/composition/use-input-change.d.ts +3 -0
  243. package/types/lookup/src/composition/use-user-data.d.ts +24 -0
  244. package/types/lookup/src/property-config/lookup.property-config.d.ts +6 -4
  245. package/types/mapping-editor/src/mapping-editor.component.d.ts +3 -0
  246. package/types/mapping-editor/src/mapping-editor.props.d.ts +0 -1
  247. package/types/modal/src/composition/use-draggable.d.ts +2 -1
  248. package/types/modal/src/composition/use-shortcut.d.ts +6 -0
  249. package/types/modal/src/modal.component.d.ts +3 -0
  250. package/types/modal/src/modal.props.d.ts +4 -0
  251. package/types/page-header/src/page-header.props.d.ts +1 -0
  252. package/types/pagination/src/components/buttons/goto-buttons.component.d.ts +2 -2
  253. package/types/pagination/src/components/buttons/next-buttons.component.d.ts +2 -2
  254. package/types/pagination/src/components/buttons/previous-buttons.component.d.ts +2 -2
  255. package/types/pagination/src/components/pages/page-list.component.d.ts +2 -2
  256. package/types/pagination/src/components/pages/page-number.component.d.ts +2 -2
  257. package/types/property-panel/index.d.ts +2 -1
  258. package/types/property-panel/src/composition/entity/base-property.d.ts +8 -0
  259. package/types/property-panel/src/composition/entity/input-base-property.d.ts +20 -1
  260. package/types/query-solution/src/designer/query-solution-config/composition/types.d.ts +34 -27
  261. package/types/query-solution/src/designer/query-solution-config/composition/use-panel.d.ts +2 -16
  262. package/types/{data-grid/src/designer/use-group-column.d.ts → query-solution/src/designer/query-solution-config/composition/use-property.d.ts} +4 -5
  263. package/types/query-solution/src/designer/query-solution-config/composition/use-querysolution-rules.d.ts +3 -0
  264. package/types/query-solution/src/designer/query-solution-config/composition/use-transfer.d.ts +1 -1
  265. package/types/query-solution/src/property-config/query-solution.property-config.d.ts +60 -0
  266. package/types/query-solution/src/solutions.d.ts +108 -509
  267. package/types/response-layout-editor/index.d.ts +3 -1
  268. package/types/response-layout-editor/src/composition/converter/use-response-layout-editor-setting.d.ts +2 -0
  269. package/types/response-layout-editor/src/type.d.ts +21 -0
  270. package/types/response-toolbar/src/designer/use-designer-rules.d.ts +3 -3
  271. package/types/response-toolbar/src/property-config/response-toolbar-item.property-config.d.ts +1 -0
  272. package/types/section/src/designer/use-designer-rules.d.ts +3 -3
  273. package/types/splitter/src/components/splitter-pane.component.d.ts +1 -1
  274. package/types/splitter/src/designer/splitter-pane-use-designer-rules.d.ts +3 -3
  275. package/types/splitter/src/designer/splitter-use-designer-rules.d.ts +3 -3
  276. package/types/tabs/src/designer/tab-page-use-designer-rules.d.ts +3 -3
  277. package/types/tabs/src/designer/tab-use-designer-rules.d.ts +3 -3
  278. package/types/tabs/src/tabs.props.d.ts +1 -0
  279. package/types/tree-grid/index.d.ts +8 -2
  280. package/types/tree-grid/src/tree-grid.component.d.ts +3 -1
  281. package/types/designer-canvas/src/composition/rule/use-drag-drop-rules.d.ts +0 -19
  282. package/types/designer-canvas/src/composition/use-dragula-common-rule.d.ts +0 -4
  283. package/types/list-nav/src/composition/use-designer-rules.d.ts +0 -3
  284. package/types/modal/src/composition/use-esc.d.ts +0 -1
  285. package/types/query-solution/src/designer/query-solution-config/composition/mock-data.d.ts +0 -6
  286. package/types/response-layout-editor/src/composition/converter/response-layout-editor.converter.d.ts +0 -3
  287. package/types/response-layout-editor/src/composition/converter/use-convert-property-value.d.ts +0 -20
@@ -1 +1 @@
1
- (function(h,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../tags/index.umd.js"),require("../popover/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../tags/index.umd.js","../popover/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js"],n):(h=typeof globalThis<"u"?globalThis:h||self,n(h["button-edit"]={},h.Vue,h.LodashES,h.dynamicResolver,h.FTags,h.FPopover,h.designerCanvas,h.common))})(this,function(h,n,S,L,D,A,$,G){"use strict";const q={},W={};function I(e){const{properties:t,title:u,ignore:a}=e,o=a&&Array.isArray(a),r=Object.keys(t).reduce((d,s)=>((!o||!a.find(b=>b==s))&&(d[s]=t[s].type==="object"&&t[s].properties?I(t[s]):S.cloneDeep(t[s].default)),d),{});return(!o||!a.find(d=>d=="id"))&&(r.id=`${u}-${Date.now()}`),r}function H(e,t){const u=I(t);return Object.keys(e).reduce((a,o)=>(a[o]&&typeof a[o]=="object"?Object.assign(a[o],e[o]):a[o]=e[o],a),u),u}function _(e,t){return Object.keys(e).filter(a=>e[a]!=null).reduce((a,o)=>{if(t.has(o)){const r=t.get(o);if(typeof r=="string")a[r]=e[o];else{const d=r(o,e[o],e);Object.assign(a,d)}}else a[o]=e[o];return a},{})}function U(e,t,u=new Map){const a=H(e,t);return _(a,u)}function X(e={}){function t(l,c,i,f){if(typeof i=="number")return f[l].length===i;if(typeof i=="object"){const m=Object.keys(i)[0],g=i[m];if(m==="not")return Number(f[l].length)!==Number(g);if(m==="moreThan")return Number(f[l].length)>=Number(g);if(m==="lessThan")return Number(f[l].length)<=Number(g)}return!1}function u(l,c,i,f){return f[l]&&f[l].propertyValue&&String(f[l].propertyValue.value)===String(i)}const a=new Map([["length",t],["getProperty",u]]);Object.keys(e).reduce((l,c)=>(l.set(c,e[c]),l),a);function o(l,c){const i=l;return typeof c=="number"?[{target:i,operator:"length",param:null,value:Number(c)}]:typeof c=="boolean"?[{target:i,operator:"getProperty",param:l,value:!!c}]:typeof c=="object"?Object.keys(c).map(f=>{if(f==="length")return{target:i,operator:"length",param:null,value:c[f]};const m=f,g=c[f];return{target:i,operator:"getProperty",param:m,value:g}}):[]}function r(l){return Object.keys(l).reduce((i,f)=>{const m=o(f,l[f]);return i.push(...m),i},[])}function d(l,c){if(a.has(l.operator)){const i=a.get(l.operator);return i&&i(l.target,l.param,l.value,c)||!1}return!1}function s(l,c){return r(l).reduce((m,g)=>m&&d(g,c),!0)}function b(l,c){const i=Object.keys(l),f=i.includes("allOf"),m=i.includes("anyOf"),g=f||m,C=(g?l[g?f?"allOf":"anyOf":"allOf"]:[l]).map(O=>s(O,c));return f?!C.includes(!1):C.includes(!0)}return{parseValueSchema:b}}const z={},J={};X();function Q(e,t,u=new Map,a=(d,s,b)=>s,o={},r=d=>d){return q[t.title]=t,W[t.title]=a,z[t.title]=o,J[t.title]=r,(d={})=>{const s=U(d,t,u),b=Object.keys(e).reduce((l,c)=>(l[c]=e[c].default,l),{});return Object.assign(b,s)}}const Y=new Map([["appearance",L.resolveAppearance]]);function Z(e,t,u){return t}const K={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-edit.schema.json",title:"button-edit",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"button-edit"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},autoComplete:{description:"",type:"boolean",default:!1},buttonContent:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["text","tag"],default:"text"},multiSelect:{description:"",type:"boolean",default:!1},popup:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},ee={title:"buttonEdit",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}}}}},k={id:String,buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:Number,tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null}},M=Q(k,K,Y,Z,ee),te={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},ne=n.defineComponent({name:"FOverlay",props:te,emits:["click"],setup(e,t){const u=n.ref(e.popupContentPosition),a=n.ref(e.host),o=n.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function r(s){t.emit("click"),s.preventDefault(),s.stopPropagation()}n.computed(()=>{const s=a.value;if(s){const b=s.getBoundingClientRect(),{left:l,top:c,height:i}=b;return{left:l,top:c+i}}return u.value});const d=n.computed(()=>({}));return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>{var s,b;return[n.createVNode("div",{class:"overlay-container",onClick:l=>r(l),style:o.value},[n.createVNode("div",{style:d.value},[(b=(s=t.slots).default)==null?void 0:b.call(s)])])]}})}});function oe(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function ae(e){const t=document.createElement("div");t.style.display="contents";let u;const a=e.onClickCallback||(()=>{}),o=()=>{a(),u&&u.unmount()};return u=n.createApp({setup(){n.onUnmounted(()=>{document.body.removeChild(t)});const r=oe(e);return()=>n.createVNode(ne,{"popup-content-position":e.popupPosition,host:e.host,onClick:o,backgroundColor:e.backgroundColor},{default:()=>[r&&r()]})}}),document.body.appendChild(t),u.mount(t),u}class ue{static show(t){return ae(t)}}const le=Symbol("FModalService");function R(e,t){function u(){const a=e.beforeOpen||e.beforeClickButton||null;let o=Promise.resolve(!0);if(a){const r=a(t.value);if(typeof r>"u")return o;typeof r=="boolean"?o=Promise.resolve(r):o=r}return o}return{judgeCanOpen:u}}function N(e,t,u,a,o){const r=n.ref(e.buttonBehavior),d=n.ref(e.popupOnInput),s=n.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:b}=R(e,o),l=n.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),c=n.inject(le,null),i=n.ref();async function f(y){if(await b()&&l.value){const x=!!t.slots.default;if(r.value==="Modal"){const C=e.modalOptions,v=c==null?void 0:c.open({...C,render:()=>t.slots.default&&t.slots.default()});i.value=v==null?void 0:v.modalRef}r.value==="Overlay"&&ue.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>t.slots.default&&t.slots.default()}),x&&r.value==="Popup"&&a.togglePopup(!0),x&&d.value&&a.hidePopup(),t.emit("clickButton",{origin:y,value:e.modelValue})}}function m(y){t.emit("mouseEnterIcon",y)}function g(y){t.emit("mouseLeaveIcon",y)}return{buttonGroupClass:s,onClickButton:f,onMouseEnterButton:m,onMouseLeaveButton:g,modalRef:i}}function re(e,t,u,a,o,r){const d=n.ref(!1),s=n.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:b}=r;function l(m){d.value=m}n.watch(o,()=>{l(!!o.value)});function c(m){const g=!e.readonly&&!e.disable&&e.editable,y=!e.editable;m.stopPropagation(),(g||y)&&(b("",!1),l(!d.value),t.emit("clear"))}function i(m){if(s.value){if(!u.value){l(!1);return}!e.disable&&!e.readonly&&l(!0)}}function f(m){s.value&&l(!1)}return{enableClearButton:s,showClearButton:d,onClearValue:c,onMouseEnterTextBox:i,onMouseLeaveTextBox:f}}function ie(e,t,u,a,o){const r=n.computed(()=>e.popupOnInput),d=n.computed(()=>e.popupOnFocus),{shouldPopupContent:s}=o,b=n.computed(()=>e.enableTitle?u.value:""),l=n.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),c=n.computed(()=>e.readonly||!e.editable),i=n.ref(!1),f=n.computed(()=>!e.disable&&i.value),m=n.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),g=n.computed(()=>({"input-group":!0,"f-state-disable":e.disable,"f-state-editable":e.editable&&!e.disable&&!e.readonly,"f-state-readonly":e.readonly&&!e.disable,"f-state-focus":f.value}));function y(p,B=!0){u.value!==p&&(u.value=p,B&&t.emit("change",p),t.emit("update:modelValue",p))}function x(p){s.value=!1,y(p,!0)}n.watch(()=>e.modelValue,p=>{u.value=p});function C(p){i.value=!1,t.emit("blur",p),p.stopPropagation()}function v(p){t.emit("click",p)}function O(p){e.disable||(i.value=!0,c.value||(t.emit("focus",p),d.value&&!s.value&&o.popup()))}function w(p){t.emit("input",p.target.value);const B=p.target.value;a.value=B,u.value!==B&&y(B,!0),r.value&&!s.value&&o.popup()}function P(p){p.target.tagName!=="INPUT"&&p.preventDefault(),p.stopPropagation()}function j(p){t.emit("keydown",p)}function V(p){p.key==="Enter"&&(r.value||d.value)&&o.hidePopup(),t.emit("keyup",p)}function E(p){const B=p.target.value;p.stopPropagation(),y(B)}return{hasFocusedTextBox:f,isTextBoxReadonly:c,textBoxClass:m,textBoxPlaceholder:l,textBoxTitle:b,inputGroupClass:g,changeTextBoxValue:y,commitValue:x,onBlurTextBox:C,onClickTextBox:v,onFocusTextBox:O,onInput:w,onKeyDownTextBox:j,onKeyUpTextBox:V,onMouseDownTextBox:P,onTextBoxValueChange:E}}function F(e,t,u,a){const o=n.ref(),r=n.ref(!1),{judgeCanOpen:d}=R(e,a);function s(){const i=o.value;i&&i.show(u.value)}async function b(i=!1){if(!!t.slots.default){if(!i&&!r.value&&!await d())return;r.value=!r.value,await n.nextTick(),s()}}async function l(i=!1){if(!!t.slots.default){if(!i&&!await d())return;r.value=!0,await n.nextTick(),s()}}function c(){r.value=!1}return{hidePopup:c,popup:l,shouldPopupContent:r,togglePopup:b,popoverRef:o}}function se(e,t,u){const a=n.ref(),{isTextBoxReadonly:o,textBoxClass:r,textBoxPlaceholder:d,textBoxTitle:s,onBlurTextBox:b,onClickTextBox:l,onFocusTextBox:c,onInput:i,onKeyDownTextBox:f,onKeyUpTextBox:m,onMouseDownTextBox:g,onTextBoxValueChange:y}=u;return n.onMounted(()=>{var x,C;e.selectOnCreated&&((x=a.value)==null||x.select()),e.focusOnCreated&&((C=a.value)==null||C.focus())}),()=>n.createVNode("input",{ref:a,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:r.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:d.value,readonly:o.value,tabindex:e.tabIndex,title:s.value,type:e.inputType,value:t.value,onBlur:b,onChange:y,onClick:l,onFocus:c,onInput:i,onKeydown:f,onKeyup:m,onMousedown:g},null)}function ce(e,t,u){const a=n.ref(e.separator),{changeTextBoxValue:o}=u,r=n.computed(()=>t.value?t.value.split(a.value).map(s=>({name:s,selectable:!0})):[]);function d(s){o(s.map(b=>b.name).join(a.value),!0)}return()=>n.createVNode(D,{id:`${e.id}-tag-editor`,class:"form-control",data:r.value,showClose:!0,showInput:!0,onChange:d},null)}function de(e,t,u,a){const{buttonGroupClass:o,onClickButton:r,onMouseEnterButton:d,onMouseLeaveButton:s}=u,{enableClearButton:b,showClearButton:l,onClearValue:c}=a,i=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:o.value},[b.value&&n.withDirectives(n.createVNode("span",{class:"input-group-text input-group-clear",onClick:c},[n.createVNode("i",{class:"f-icon modal_close"},null)]),[[n.vShow,l.value]]),t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",onClick:r,onMouseenter:d,onMouseleave:s},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:i,onClick:r,onMouseenter:d,onMouseleave:s},null):null]),buttonHandleElement:i}}function pe(e,t,u){const a=n.ref(e.popupMinWidth),{hidePopup:o,popoverRef:r}=u;return()=>n.createVNode(A,{id:`${e.id}-popover`,ref:r,visible:!0,placement:"bottom-left",host:e.popupHost,"keep-width-with-reference":!0,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:a.value,offsetX:e.popupOffsetX,onHidden:o},{default:()=>{var d,s;return[(s=(d=t.slots).default)==null?void 0:s.call(d)]}})}const T=n.defineComponent({name:"FButtonEdit",props:k,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const u=n.ref(),a=n.ref(e.customClass),o=n.ref(e.modelValue),r=F(e,t,u,o),{shouldPopupContent:d,hidePopup:s,togglePopup:b}=r,l=N(e,t,u,r,o),c=n.ref(""),i=ie(e,t,o,c,r),{hasFocusedTextBox:f,commitValue:m,inputGroupClass:g}=i,y=re(e,t,o,f,c,i),{onMouseEnterTextBox:x,onMouseLeaveTextBox:C}=y,v=n.computed(()=>{const p={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return a.value&&a.value.split(" ").reduce((B,ge)=>(B[ge]=!0,B),p),p});function O(){return e.multiSelect&&e.inputType==="tag"?ce(e,o,i):se(e,o,i)}let w=O();n.watch([()=>e.multiSelect,()=>e.inputType],()=>{w=O()});const{renderButtonGroup:P,buttonHandleElement:j}=de(e,t,l,y),V=pe(e,t,r),E={commitValue:m,elementRef:u,hidePopup:s,shouldPopupContent:d,togglePopup:b,openDialog:()=>{j.value&&e.buttonBehavior==="Modal"&&j.value.click()},getModal:()=>{var p;return e.buttonBehavior==="Modal"?(p=l.modalRef.value)==null?void 0:p.value:null}};return n.onMounted(()=>{u.value.componentInstance=E,window.onresize=()=>{document.body.click()}}),t.expose(E),()=>n.createVNode(n.Fragment,null,[n.createVNode("div",n.mergeProps(t.attrs,{ref:u,class:v.value,id:e.id}),[n.createVNode("div",{id:`${e.id}-input-group`,class:g.value,onMouseenter:x,onMouseleave:C},[w(),P()])]),d.value&&V()])}});function fe(e,t,u){const{buttonGroupClass:a}=u,o=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:a.value},[t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button"},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:o},null):null]),buttonHandleElement:o}}const me=n.defineComponent({name:"FButtonEdit",props:k,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const u=n.ref(),a=n.inject("design-item-context"),o=$.useDesignerComponent(u,a),r=n.ref(e.customClass),d=n.ref(e.modelValue),s=F(e,t,u,d),b=N(e,t,u,s,d),l=n.ref(),c=n.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":!0,"f-state-editable":!1,"f-state-readonly":!0}));n.onMounted(()=>{u.value.componentInstance=o}),t.expose(o.value);const i=n.computed(()=>{const m={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return r.value&&r.value.split(" ").reduce((g,y)=>(g[y]=!0,g),m),m}),{renderButtonGroup:f}=fe(e,t,b);return()=>n.createVNode("div",n.mergeProps(t.attrs,{ref:u,class:i.value,id:e.id}),[n.createVNode("div",{class:c.value},[n.createVNode("input",{ref:l,class:"form-control",readonly:!0,placeholder:e.placeholder},null),f()])])}});T.register=(e,t,u,a)=>{e["button-edit"]=T,t["button-edit"]=M},T.registerDesigner=(e,t,u)=>{e["button-edit"]=me,t["button-edit"]=M};const be=G.withInstall(T);h.FButtonEdit=T,h.buttonEditProps=k,h.default=be,h.propsResolver=M,Object.defineProperties(h,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(h,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("lodash-es"),require("../dynamic-resolver/index.umd.js"),require("../tags/index.umd.js"),require("../popover/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../dynamic-resolver/index.umd.js","../tags/index.umd.js","../popover/index.umd.js","../designer-canvas/index.umd.js","../common/index.umd.js"],n):(h=typeof globalThis<"u"?globalThis:h||self,n(h["button-edit"]={},h.Vue,h.LodashES,h.dynamicResolver,h.FTags,h.FPopover,h.designerCanvas,h.common))})(this,function(h,n,P,L,D,A,$,G){"use strict";const q={},W={};function R(e){const{properties:t,title:u,ignore:a}=e,o=a&&Array.isArray(a),i=Object.keys(t).reduce((d,s)=>((!o||!a.find(b=>b==s))&&(d[s]=t[s].type==="object"&&t[s].properties?R(t[s]):P.cloneDeep(t[s].default)),d),{});return u&&(!o||!a.find(d=>d=="id"))&&(i.id=`${u}-${Date.now()}`),i}function H(e,t){const u=R(t);return Object.keys(e).reduce((a,o)=>(a[o]&&P.isPlainObject(a[o])&&P.isPlainObject(e[o])?Object.assign(a[o],e[o]):a[o]=e[o],a),u),u}function _(e,t){return Object.keys(e).filter(a=>e[a]!=null).reduce((a,o)=>{if(t.has(o)){const i=t.get(o);if(typeof i=="string")a[i]=e[o];else{const d=i(o,e[o],e);Object.assign(a,d)}}else a[o]=e[o];return a},{})}function U(e,t,u=new Map){const a=H(e,t);return _(a,u)}function X(e={}){function t(l,c,r,f){if(typeof r=="number")return f[l].length===r;if(typeof r=="object"){const m=Object.keys(r)[0],g=r[m];if(m==="not")return Number(f[l].length)!==Number(g);if(m==="moreThan")return Number(f[l].length)>=Number(g);if(m==="lessThan")return Number(f[l].length)<=Number(g)}return!1}function u(l,c,r,f){return f[l]&&f[l].propertyValue&&String(f[l].propertyValue.value)===String(r)}const a=new Map([["length",t],["getProperty",u]]);Object.keys(e).reduce((l,c)=>(l.set(c,e[c]),l),a);function o(l,c){const r=l;return typeof c=="number"?[{target:r,operator:"length",param:null,value:Number(c)}]:typeof c=="boolean"?[{target:r,operator:"getProperty",param:l,value:!!c}]:typeof c=="object"?Object.keys(c).map(f=>{if(f==="length")return{target:r,operator:"length",param:null,value:c[f]};const m=f,g=c[f];return{target:r,operator:"getProperty",param:m,value:g}}):[]}function i(l){return Object.keys(l).reduce((r,f)=>{const m=o(f,l[f]);return r.push(...m),r},[])}function d(l,c){if(a.has(l.operator)){const r=a.get(l.operator);return r&&r(l.target,l.param,l.value,c)||!1}return!1}function s(l,c){return i(l).reduce((m,g)=>m&&d(g,c),!0)}function b(l,c){const r=Object.keys(l),f=r.includes("allOf"),m=r.includes("anyOf"),g=f||m,C=(g?l[g?f?"allOf":"anyOf":"allOf"]:[l]).map(v=>s(v,c));return f?!C.includes(!1):C.includes(!0)}return{parseValueSchema:b}}const z={},J={};X();function Q(e,t,u=new Map,a=(d,s,b)=>s,o={},i=d=>d){return q[t.title]=t,W[t.title]=a,z[t.title]=o,J[t.title]=i,(d={})=>{const s=U(d,t,u),b=Object.keys(e).reduce((l,c)=>(l[c]=e[c].default,l),{});return Object.assign(b,s)}}const Y=new Map([["appearance",L.resolveAppearance]]);function Z(e,t,u){return t}const K={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/button-edit.schema.json",title:"button-edit",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"button-edit"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:""},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""},autoComplete:{description:"",type:"boolean",default:!1},buttonContent:{description:"",type:"string",default:""},enableClear:{description:"",type:"boolean",default:!0},inputType:{description:"",type:"string",enum:["text","tag"],default:"text"},multiSelect:{description:"",type:"boolean",default:!1},popup:{description:"",type:"object",properties:{footerButtons:{type:"array",default:[]},height:{type:"number",default:600},dataMapping:{type:"object"},contents:{type:"array",default:[]},showMaxButton:{type:"boolean",default:!0},showCloseButton:{type:"boolean",default:!0},showFooter:{type:"boolean",default:!0},title:{type:"string",default:""},width:{type:"number",default:800}}},separator:{type:"string",default:","},showButtonWhenDisabled:{description:"",type:"boolean",default:!1},wrapText:{type:"boolean",default:!1},onClear:{description:"",type:"string",default:""}},required:["id","type"]},ee={title:"buttonEdit",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}},behavior:{description:"Basic Infomation",title:"行为",properties:{editable:{description:"",title:"允许编辑",type:"boolean"},readonly:{description:"",title:"只读",type:"string"},required:{description:"",title:"必填",type:"boolean"},visible:{description:"",title:"可见",type:"boolean"},placeholder:{description:"",title:"提示文本",type:"string"},tabindex:{description:"",title:"tab索引",type:"number"},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}}}}},k={id:String,buttonContent:{type:String,default:'<i class="f-icon f-icon-lookup"></i>'},buttonBehavior:{type:String,default:"Popup"},autoComplete:{type:Boolean,default:!1},customClass:{type:String,default:""},disable:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},enableClear:{type:Boolean,default:!1},modelValue:{type:String,default:""},readonly:{type:Boolean,default:!1},showButtonWhenDisabled:{type:Boolean,default:!1},enableTitle:{type:Boolean,default:!1},inputType:{type:String,default:"text"},forcePlaceholder:{type:Boolean,default:!1},placeholder:{type:String,default:""},minLength:Number,maxLength:Number,tabIndex:Number,popupHost:{type:Object},popupRightBoundary:{type:Object},popupOffsetX:{type:Object},popupOnInput:{type:Boolean,default:!1},popupOnFocus:{type:Boolean,default:!1},popupMinWidth:{type:Number,default:160},modalOptions:{type:Object,default:{}},wrapText:{type:Boolean,default:!1},multiSelect:{type:Boolean,default:!1},separator:{type:String,default:","},textAlign:{type:String,default:"left"},beforeClickButton:{type:Function,default:null},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1},beforeOpen:{type:Function,default:null},updateOn:{type:String,default:"change"}},M=Q(k,K,Y,Z,ee),te={popupContentPosition:{type:Object,default:{left:0,top:0}},host:{type:Object},backgroundColor:{type:String,default:""}},ne=n.defineComponent({name:"FOverlay",props:te,emits:["click"],setup(e,t){const u=n.ref(e.popupContentPosition),a=n.ref(e.host),o=n.computed(()=>({backgroundColor:e.backgroundColor||"",pointerEvents:"auto"}));function i(s){t.emit("click"),s.preventDefault(),s.stopPropagation()}n.computed(()=>{const s=a.value;if(s){const b=s.getBoundingClientRect(),{left:l,top:c,height:r}=b;return{left:l,top:c+r}}return u.value});const d=n.computed(()=>({}));return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>{var s,b;return[n.createVNode("div",{class:"overlay-container",onClick:l=>i(l),style:o.value},[n.createVNode("div",{style:d.value},[(b=(s=t.slots).default)==null?void 0:b.call(s)])])]}})}});function oe(e){if(e.content&&e.content.render)return e.content.render;if(e.render&&typeof e.render=="function")return e.render}function ae(e){const t=document.createElement("div");t.style.display="contents";let u;const a=e.onClickCallback||(()=>{}),o=()=>{a(),u&&u.unmount()};return u=n.createApp({setup(){n.onUnmounted(()=>{document.body.removeChild(t)});const i=oe(e);return()=>n.createVNode(ne,{"popup-content-position":e.popupPosition,host:e.host,onClick:o,backgroundColor:e.backgroundColor},{default:()=>[i&&i()]})}}),document.body.appendChild(t),u.mount(t),u}class ue{static show(t){return ae(t)}}const le=Symbol("FModalService");function N(e,t){function u(){const a=e.beforeOpen||e.beforeClickButton||null;let o=Promise.resolve(!0);if(a){const i=a(t.value);if(typeof i>"u")return o;typeof i=="boolean"?o=Promise.resolve(i):o=i}return o}return{judgeCanOpen:u}}function F(e,t,u,a,o){const i=n.ref(e.buttonBehavior),d=n.ref(e.popupOnInput),s=n.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:b}=N(e,o),l=n.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),c=n.inject(le,null),r=n.ref();async function f(y){if(await b()&&l.value){const x=!!t.slots.default;if(i.value==="Modal"){const C=e.modalOptions,O=c==null?void 0:c.open({...C,render:()=>t.slots.default&&t.slots.default()});r.value=O==null?void 0:O.modalRef}i.value==="Overlay"&&ue.show({host:document.body,backgroundColor:"rgba(0,0,0,.15)",render:()=>t.slots.default&&t.slots.default()}),x&&i.value==="Popup"&&a.togglePopup(!0),x&&d.value&&a.hidePopup(),t.emit("clickButton",{origin:y,value:e.modelValue})}}function m(y){t.emit("mouseEnterIcon",y)}function g(y){t.emit("mouseLeaveIcon",y)}return{buttonGroupClass:s,onClickButton:f,onMouseEnterButton:m,onMouseLeaveButton:g,modalRef:r}}function ie(e,t,u,a,o,i){const d=n.ref(!1),s=n.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:b}=i;function l(m){d.value=m}n.watch(o,()=>{l(!!o.value)});function c(m){const g=!e.readonly&&!e.disable&&e.editable,y=!e.editable;m.stopPropagation(),(g||y)&&(b("",!1),l(!d.value),t.emit("clear"))}function r(m){if(s.value){if(!u.value){l(!1);return}!e.disable&&!e.readonly&&l(!0)}}function f(m){s.value&&l(!1)}return{enableClearButton:s,showClearButton:d,onClearValue:c,onMouseEnterTextBox:r,onMouseLeaveTextBox:f}}function re(e,t,u,a,o){const i=n.computed(()=>e.popupOnInput),d=n.computed(()=>e.popupOnFocus),{shouldPopupContent:s}=o,b=n.computed(()=>e.enableTitle?u.value:""),l=n.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),c=n.computed(()=>e.readonly||!e.editable),r=n.ref(!1),f=n.computed(()=>!e.disable&&r.value),m=n.computed(()=>({"text-left":e.textAlign==="left","text-center":e.textAlign==="center","text-right":e.textAlign==="right","form-control":!0,"f-utils-fill":!0})),g=n.computed(()=>({"input-group":!0,"f-state-disable":e.disable,"f-state-editable":e.editable&&!e.disable&&!e.readonly,"f-state-readonly":e.readonly&&!e.disable,"f-state-focus":f.value}));function y(p,B=!0){u.value!==p&&(u.value=p,B&&(t.emit("change",p),t.emit("update:modelValue",p)))}function x(p){s.value=!1,y(p,!0)}n.watch(()=>e.modelValue,p=>{u.value=p});function C(p){r.value=!1,t.emit("blur",p),p.stopPropagation()}function O(p){t.emit("click",p)}function v(p){e.disable||(r.value=!0,c.value||(t.emit("focus",p),d.value&&!s.value&&o.popup()))}function w(p){t.emit("input",p.target.value);const B=p.target.value;a.value=B,u.value!==B&&y(B,e.updateOn==="change"),i.value&&!s.value&&o.popup()}function V(p){p.target.tagName!=="INPUT"&&p.preventDefault(),p.stopPropagation()}function j(p){t.emit("keydown",p)}function I(p){p.key==="Enter"&&(i.value||d.value)&&o.hidePopup(),t.emit("keyup",p)}function E(p){const B=p.target.value;p.stopPropagation(),y(B)}return{hasFocusedTextBox:f,isTextBoxReadonly:c,textBoxClass:m,textBoxPlaceholder:l,textBoxTitle:b,inputGroupClass:g,changeTextBoxValue:y,commitValue:x,onBlurTextBox:C,onClickTextBox:O,onFocusTextBox:v,onInput:w,onKeyDownTextBox:j,onKeyUpTextBox:I,onMouseDownTextBox:V,onTextBoxValueChange:E}}function S(e,t,u,a){const o=n.ref(),i=n.ref(!1),{judgeCanOpen:d}=N(e,a);function s(){const r=o.value;r&&r.show(u.value)}async function b(r=!1){if(!!t.slots.default){if(!r&&!i.value&&!await d())return;i.value=!i.value,await n.nextTick(),s()}}async function l(r=!1){if(!!t.slots.default){if(!r&&!await d())return;i.value=!0,await n.nextTick(),s()}}function c(){i.value=!1}return{hidePopup:c,popup:l,shouldPopupContent:i,togglePopup:b,popoverRef:o}}function se(e,t,u){const a=n.ref(),{isTextBoxReadonly:o,textBoxClass:i,textBoxPlaceholder:d,textBoxTitle:s,onBlurTextBox:b,onClickTextBox:l,onFocusTextBox:c,onInput:r,onKeyDownTextBox:f,onKeyUpTextBox:m,onMouseDownTextBox:g,onTextBoxValueChange:y}=u;return n.onMounted(()=>{var x,C;e.selectOnCreated&&((x=a.value)==null||x.select()),e.focusOnCreated&&((C=a.value)==null||C.focus())}),()=>n.createVNode("input",{ref:a,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:i.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:d.value,readonly:o.value,tabindex:e.tabIndex,title:s.value,type:e.inputType,value:t.value,onBlur:b,onChange:y,onClick:l,onFocus:c,onInput:r,onKeydown:f,onKeyup:m,onMousedown:g},null)}function ce(e,t,u){const a=n.ref(e.separator),{changeTextBoxValue:o}=u,i=n.computed(()=>t.value?t.value.split(a.value).map(s=>({name:s,selectable:!0})):[]);function d(s){o(s.map(b=>b.name).join(a.value),!0)}return()=>n.createVNode(D,{id:`${e.id}-tag-editor`,class:"form-control",data:i.value,showClose:!0,showInput:!0,onChange:d},null)}function de(e,t,u,a){const{buttonGroupClass:o,onClickButton:i,onMouseEnterButton:d,onMouseLeaveButton:s}=u,{enableClearButton:b,showClearButton:l,onClearValue:c}=a,r=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:o.value},[b.value&&n.withDirectives(n.createVNode("span",{class:"input-group-text input-group-clear",onClick:c},[n.createVNode("i",{class:"f-icon modal_close"},null)]),[[n.vShow,l.value]]),t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",onClick:i,onMouseenter:d,onMouseleave:s},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:r,onClick:i,onMouseenter:d,onMouseleave:s},null):null]),buttonHandleElement:r}}function pe(e,t,u){const a=n.ref(e.popupMinWidth),{hidePopup:o,popoverRef:i}=u;return()=>n.createVNode(A,{id:`${e.id}-popover`,ref:i,visible:!0,placement:"bottom-left",host:e.popupHost,"keep-width-with-reference":!0,fitContent:!0,"right-boundary":e.popupRightBoundary,minWidth:a.value,offsetX:e.popupOffsetX,onHidden:o},{default:()=>{var d,s;return[(s=(d=t.slots).default)==null?void 0:s.call(d)]}})}const T=n.defineComponent({name:"FButtonEdit",props:k,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const u=n.ref(),a=n.ref(e.customClass),o=n.ref(e.modelValue),i=S(e,t,u,o),{shouldPopupContent:d,hidePopup:s,togglePopup:b}=i,l=F(e,t,u,i,o),c=n.ref(""),r=re(e,t,o,c,i),{hasFocusedTextBox:f,commitValue:m,inputGroupClass:g}=r,y=ie(e,t,o,f,c,r),{onMouseEnterTextBox:x,onMouseLeaveTextBox:C}=y,O=n.computed(()=>{const p={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return a.value&&a.value.split(" ").reduce((B,ge)=>(B[ge]=!0,B),p),p});function v(){return e.multiSelect&&e.inputType==="tag"?ce(e,o,r):se(e,o,r)}let w=v();n.watch([()=>e.multiSelect,()=>e.inputType],()=>{w=v()});const{renderButtonGroup:V,buttonHandleElement:j}=de(e,t,l,y),I=pe(e,t,i),E={commitValue:m,elementRef:u,hidePopup:s,shouldPopupContent:d,togglePopup:b,openDialog:()=>{j.value&&e.buttonBehavior==="Modal"&&j.value.click()},getModal:()=>{var p;return e.buttonBehavior==="Modal"?(p=l.modalRef.value)==null?void 0:p.value:null}};return n.onMounted(()=>{u.value.componentInstance=E,window.onresize=()=>{document.body.click()}}),t.expose(E),()=>n.createVNode(n.Fragment,null,[n.createVNode("div",n.mergeProps(t.attrs,{ref:u,class:O.value,id:e.id}),[n.createVNode("div",{id:`${e.id}-input-group`,class:g.value,onMouseenter:x,onMouseleave:C},[w(),V()])]),d.value&&I()])}});function fe(e,t,u){const{buttonGroupClass:a}=u,o=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:a.value},[t.slots.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button"},[t.slots.buttonContent()]):e.buttonContent?n.createVNode("span",{class:"input-group-text input-group-append-button",innerHTML:e.buttonContent,ref:o},null):null]),buttonHandleElement:o}}const me=n.defineComponent({name:"FButtonEdit",props:k,emits:["updateExtendInfo","clear","change","click","clickButton","blur","focus","mouseEnterIcon","mouseLeaveIcon","keyup","keydown","inputClick","input","update:modelValue"],setup(e,t){const u=n.ref(),a=n.inject("design-item-context"),o=$.useDesignerComponent(u,a),i=n.ref(e.customClass),d=n.ref(e.modelValue),s=S(e,t,u,d),b=F(e,t,u,s,d),l=n.ref(),c=n.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":!0,"f-state-editable":!1,"f-state-readonly":!0}));n.onMounted(()=>{u.value.componentInstance=o}),t.expose(o.value);const r=n.computed(()=>{const m={"f-button-edit":!0,"f-cmp-inputgroup":!0,"f-button-edit-nowrap":!e.wrapText};return i.value&&i.value.split(" ").reduce((g,y)=>(g[y]=!0,g),m),m}),{renderButtonGroup:f}=fe(e,t,b);return()=>n.createVNode("div",n.mergeProps(t.attrs,{ref:u,class:r.value,id:e.id}),[n.createVNode("div",{class:c.value},[n.createVNode("input",{ref:l,class:"form-control",readonly:!0,placeholder:e.placeholder},null),f()])])}});T.register=(e,t,u,a)=>{e["button-edit"]=T,t["button-edit"]=M},T.registerDesigner=(e,t,u)=>{e["button-edit"]=me,t["button-edit"]=M};const be=G.withInstall(T);h.FButtonEdit=T,h.buttonEditProps=k,h.default=be,h.propsResolver=M,Object.defineProperties(h,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});