@farris/ui-vue 1.3.1 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/components/accordion/index.esm.js +103 -99
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +301 -351
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/binding-selector/index.esm.js +444 -0
  6. package/components/binding-selector/index.umd.cjs +1 -0
  7. package/components/binding-selector/package.json +8 -0
  8. package/components/border-editor/index.esm.js +5 -3
  9. package/components/border-editor/index.umd.cjs +1 -1
  10. package/components/button-edit/index.esm.js +143 -139
  11. package/components/button-edit/index.umd.cjs +1 -1
  12. package/components/calendar/index.esm.js +407 -396
  13. package/components/calendar/index.umd.cjs +1 -1
  14. package/components/capsule/index.esm.js +266 -255
  15. package/components/capsule/index.umd.cjs +1 -1
  16. package/components/checkbox/index.esm.js +628 -641
  17. package/components/checkbox/index.umd.cjs +1 -1
  18. package/components/color-picker/index.esm.js +379 -374
  19. package/components/color-picker/index.umd.cjs +2 -2
  20. package/components/combo-list/index.esm.js +471 -471
  21. package/components/combo-list/index.umd.cjs +1 -1
  22. package/components/combo-tree/index.esm.js +155 -148
  23. package/components/combo-tree/index.umd.cjs +1 -1
  24. package/components/common/index.esm.js +487 -478
  25. package/components/common/index.umd.cjs +1 -1
  26. package/components/component/index.esm.js +330 -279
  27. package/components/component/index.umd.cjs +1 -1
  28. package/components/condition/index.esm.js +1171 -1277
  29. package/components/condition/index.umd.cjs +1 -1
  30. package/components/content-container/index.esm.js +220 -204
  31. package/components/content-container/index.umd.cjs +1 -1
  32. package/components/data-grid/index.esm.js +4743 -4641
  33. package/components/data-grid/index.umd.cjs +1 -1
  34. package/components/data-view/index.esm.js +2916 -3019
  35. package/components/data-view/index.umd.cjs +1 -1
  36. package/components/date-picker/index.esm.js +2375 -2590
  37. package/components/date-picker/index.umd.cjs +1 -1
  38. package/components/designer-canvas/index.css +1 -1
  39. package/components/designer-canvas/index.esm.js +9518 -1198
  40. package/components/designer-canvas/index.umd.cjs +1 -1
  41. package/components/designer-outline/index.esm.js +2 -1
  42. package/components/designer-outline/index.umd.cjs +1 -1
  43. package/components/drawer/index.esm.js +34 -38
  44. package/components/drawer/index.umd.cjs +1 -1
  45. package/components/dropdown/index.esm.js +149 -138
  46. package/components/dropdown/index.umd.cjs +2 -2
  47. package/components/dynamic-form/index.esm.js +1602 -1740
  48. package/components/dynamic-form/index.umd.cjs +1 -1
  49. package/components/dynamic-resolver/index.esm.js +159 -151
  50. package/components/dynamic-resolver/index.umd.cjs +1 -1
  51. package/components/dynamic-view/index.esm.js +218 -218
  52. package/components/dynamic-view/index.umd.cjs +1 -1
  53. package/components/event-parameter/index.esm.js +311 -0
  54. package/components/event-parameter/index.umd.cjs +1 -0
  55. package/components/event-parameter/package.json +8 -0
  56. package/components/events-editor/index.css +1 -1
  57. package/components/events-editor/index.esm.js +533 -563
  58. package/components/events-editor/index.umd.cjs +1 -1
  59. package/components/expression-editor/index.esm.js +95 -91
  60. package/components/expression-editor/index.umd.cjs +1 -1
  61. package/components/external-container/index.esm.js +2356 -2455
  62. package/components/external-container/index.umd.cjs +1 -1
  63. package/components/field-selector/index.esm.js +3048 -3308
  64. package/components/field-selector/index.umd.cjs +1 -1
  65. package/components/filter-bar/index.css +1 -1
  66. package/components/filter-bar/index.esm.js +10537 -3249
  67. package/components/filter-bar/index.umd.cjs +1 -1
  68. package/components/flow-canvas/index.css +1 -1
  69. package/components/flow-canvas/index.esm.js +9781 -1327
  70. package/components/flow-canvas/index.umd.cjs +1 -1
  71. package/components/image-cropper/index.esm.js +353 -341
  72. package/components/image-cropper/index.umd.cjs +1 -1
  73. package/components/input-group/index.esm.js +510 -827
  74. package/components/input-group/index.umd.cjs +1 -1
  75. package/components/layout/index.esm.js +278 -268
  76. package/components/layout/index.umd.cjs +1 -1
  77. package/components/list-nav/index.esm.js +144 -136
  78. package/components/list-nav/index.umd.cjs +1 -1
  79. package/components/list-view/index.esm.js +2139 -2237
  80. package/components/list-view/index.umd.cjs +1 -1
  81. package/components/lookup/index.esm.js +6414 -6367
  82. package/components/lookup/index.umd.cjs +1 -1
  83. package/components/mapping-editor/index.esm.js +5216 -5114
  84. package/components/mapping-editor/index.umd.cjs +1 -1
  85. package/components/message-box/index.esm.js +252 -252
  86. package/components/message-box/index.umd.cjs +1 -1
  87. package/components/modal/index.esm.js +70 -70
  88. package/components/modal/index.umd.cjs +1 -1
  89. package/components/nav/index.esm.js +486 -984
  90. package/components/nav/index.umd.cjs +3 -3
  91. package/components/number-range/index.esm.js +446 -498
  92. package/components/number-range/index.umd.cjs +1 -1
  93. package/components/number-spinner/index.esm.js +363 -388
  94. package/components/number-spinner/index.umd.cjs +1 -1
  95. package/components/order/index.esm.js +1050 -1308
  96. package/components/order/index.umd.cjs +1 -1
  97. package/components/page-footer/index.esm.js +134 -131
  98. package/components/page-footer/index.umd.cjs +1 -1
  99. package/components/page-header/index.esm.js +1072 -1082
  100. package/components/page-header/index.umd.cjs +1 -1
  101. package/components/pagination/index.esm.js +412 -910
  102. package/components/pagination/index.umd.cjs +1 -1
  103. package/components/progress/index.esm.js +214 -203
  104. package/components/progress/index.umd.cjs +3 -3
  105. package/components/property-editor/index.esm.js +1361 -1536
  106. package/components/property-editor/index.umd.cjs +2 -2
  107. package/components/property-panel/index.esm.js +650 -677
  108. package/components/property-panel/index.umd.cjs +1 -1
  109. package/components/query-solution/index.css +1 -1
  110. package/components/query-solution/index.esm.js +12344 -5048
  111. package/components/query-solution/index.umd.cjs +6 -1
  112. package/components/radio-button/index.esm.js +97 -97
  113. package/components/radio-button/index.umd.cjs +1 -1
  114. package/components/radio-group/index.css +1 -1
  115. package/components/radio-group/index.esm.js +1821 -565
  116. package/components/radio-group/index.umd.cjs +1 -1
  117. package/components/rate/index.esm.js +251 -244
  118. package/components/rate/index.umd.cjs +1 -1
  119. package/components/response-layout/index.esm.js +151 -140
  120. package/components/response-layout/index.umd.cjs +1 -1
  121. package/components/response-layout-editor/index.esm.js +707 -676
  122. package/components/response-layout-editor/index.umd.cjs +1 -1
  123. package/components/response-toolbar/index.esm.js +719 -740
  124. package/components/response-toolbar/index.umd.cjs +1 -1
  125. package/components/schema-selector/index.esm.js +4977 -5249
  126. package/components/schema-selector/index.umd.cjs +2 -2
  127. package/components/search-box/index.esm.js +145 -134
  128. package/components/search-box/index.umd.cjs +1 -1
  129. package/components/section/index.esm.js +348 -337
  130. package/components/section/index.umd.cjs +1 -1
  131. package/components/smoke-detector/index.esm.js +141 -130
  132. package/components/smoke-detector/index.umd.cjs +1 -1
  133. package/components/splitter/index.esm.js +311 -301
  134. package/components/splitter/index.umd.cjs +1 -1
  135. package/components/step/index.esm.js +231 -220
  136. package/components/step/index.umd.cjs +1 -1
  137. package/components/switch/index.esm.js +385 -432
  138. package/components/switch/index.umd.cjs +1 -1
  139. package/components/tabs/index.esm.js +1932 -1914
  140. package/components/tabs/index.umd.cjs +1 -1
  141. package/components/tags/index.esm.js +351 -340
  142. package/components/tags/index.umd.cjs +1 -1
  143. package/components/text/index.esm.js +209 -199
  144. package/components/text/index.umd.cjs +1 -1
  145. package/components/textarea/index.esm.js +388 -415
  146. package/components/textarea/index.umd.cjs +1 -1
  147. package/components/time-picker/index.esm.js +619 -666
  148. package/components/time-picker/index.umd.cjs +1 -1
  149. package/components/transfer/index.esm.js +493 -486
  150. package/components/transfer/index.umd.cjs +1 -1
  151. package/components/tree-grid/index.esm.js +3169 -3278
  152. package/components/tree-grid/index.umd.cjs +1 -1
  153. package/components/tree-view/index.esm.js +2320 -2418
  154. package/components/tree-view/index.umd.cjs +1 -1
  155. package/components/uploader/index.esm.js +563 -554
  156. package/components/uploader/index.umd.cjs +2 -2
  157. package/components/verify-detail/index.esm.js +287 -276
  158. package/components/verify-detail/index.umd.cjs +1 -1
  159. package/components/video/index.esm.js +368 -324
  160. package/components/video/index.umd.cjs +1 -1
  161. package/components/weather/index.esm.js +498 -487
  162. package/components/weather/index.umd.cjs +5 -5
  163. package/farris.all.esm.js +51302 -47651
  164. package/farris.all.umd.cjs +14 -9
  165. package/index.css +1 -1
  166. package/package.json +1 -1
  167. package/types/binding-selector/index.d.ts +55 -0
  168. package/types/binding-selector/src/binding-selector.component.d.ts +11 -0
  169. package/types/binding-selector/src/binding-selector.props.d.ts +52 -0
  170. package/types/binding-selector/src/components/binding-selector-container.component.d.ts +13 -0
  171. package/types/binding-selector/src/composition/use-field-selection.d.ts +9 -0
  172. package/types/combo-list/src/components/list-container.component.d.ts +6 -6
  173. package/types/combo-list/src/components/list-container.props.d.ts +1 -1
  174. package/types/combo-tree/src/components/tree-container.component.d.ts +5 -5
  175. package/types/common/entity/entity-schema.d.ts +26 -11
  176. package/types/common/index.d.ts +1 -0
  177. package/types/common/types.d.ts +2 -2
  178. package/types/condition/src/condition-fields.design.component.d.ts +18 -0
  179. package/types/condition/src/types.d.ts +6 -6
  180. package/types/data-grid/src/composition/data-grid-component-creator.service.d.ts +20 -0
  181. package/types/data-grid/src/{designer/data-grid-column.props.d.ts → data-grid-column.props.d.ts} +1 -1
  182. package/types/data-grid/src/data-grid.props.d.ts +2 -2
  183. package/types/data-grid/src/designer/grid-field-editor.component.d.ts +14 -14
  184. package/types/data-grid/src/schema/schema-resolver.d.ts +1 -1
  185. package/types/data-view/composition/types.d.ts +2 -2
  186. package/types/date-picker/src/components/calendar/calendar.component.d.ts +3 -3
  187. package/types/date-picker/src/components/month/month.component.d.ts +3 -3
  188. package/types/date-picker/src/components/year/year.component.d.ts +3 -3
  189. package/types/designer-canvas/index.d.ts +2 -1
  190. package/types/designer-canvas/src/composition/dg-control.d.ts +5 -0
  191. package/types/designer-canvas/src/composition/function/drag-resolve.d.ts +5 -0
  192. package/types/designer-canvas/src/composition/types.d.ts +49 -40
  193. package/types/designer-canvas/src/types.d.ts +8 -20
  194. package/types/dynamic-form/index.d.ts +1 -1
  195. package/types/dynamic-form/src/designer/form-group-use-designer-rules.d.ts +3 -0
  196. package/types/dynamic-form/src/schema/{schema-resolver.d.ts → response-form-schema-resolver.d.ts} +1 -1
  197. package/types/dynamic-form/src/types.d.ts +1 -1
  198. package/types/dynamic-resolver/src/common/toolbar-resolver.d.ts +5 -0
  199. package/types/dynamic-resolver/src/converter/row-number.converter.d.ts +3 -0
  200. package/types/entity-binding-selector/composition/use-entity-tree.d.ts +7 -0
  201. package/types/entity-binding-selector/entity-binding-selector.component.d.ts +11 -0
  202. package/types/entity-binding-selector/entity-binding-selector.props.d.ts +3 -0
  203. package/types/enum-editor/src/components/enum-editor-container.component.d.ts +3 -3
  204. package/types/enum-editor/src/enum-editor.component.d.ts +3 -3
  205. package/types/event-parameter/index.d.ts +31 -0
  206. package/types/event-parameter/src/composition/type.d.ts +77 -0
  207. package/types/event-parameter/src/composition/use-editor-combotree.d.ts +3 -0
  208. package/types/event-parameter/src/composition/use-editor-input.d.ts +3 -0
  209. package/types/event-parameter/src/composition/use-editor-select.d.ts +3 -0
  210. package/types/event-parameter/src/composition/use-editor-switch.d.ts +3 -0
  211. package/types/event-parameter/src/composition/use-editor.d.ts +3 -0
  212. package/types/event-parameter/src/event-parameter.component.d.ts +8 -0
  213. package/types/event-parameter/src/event-parameter.props.d.ts +34 -0
  214. package/types/external-container/src/designer/import-external-schema.component.d.ts +1 -1
  215. package/types/field-selector/src/field-selector.component.d.ts +1 -2
  216. package/types/field-selector/src/field-selector.props.d.ts +0 -9
  217. package/types/input-group/src/designer/use-input-group-rules.d.ts +1 -2
  218. package/types/list-view/src/designer/list-view-table.design.component.d.ts +15 -0
  219. package/types/list-view/src/list-view-table.component.d.ts +15 -0
  220. package/types/lookup/src/composition/use-user-data.d.ts +2 -2
  221. package/types/lookup/src/property-config/lookup.property-config.d.ts +2 -6
  222. package/types/modal/src/composition/modal.service.d.ts +2 -1
  223. package/types/page-header/src/designer/page-header.design.component.d.ts +1 -1
  224. package/types/page-header/src/page-header.component.d.ts +1 -1
  225. package/types/property-panel/index.d.ts +2 -1
  226. package/types/property-panel/src/composition/entity/property-entity.d.ts +1 -1
  227. package/types/property-panel/src/composition/type.d.ts +0 -13
  228. package/types/query-solution/src/composition/types.d.ts +35 -4
  229. package/types/query-solution/src/composition/use-header.d.ts +21 -0
  230. package/types/query-solution/src/composition/{use-filter.d.ts → use-http.d.ts} +2 -2
  231. package/types/query-solution/src/composition/use-solution.d.ts +20 -0
  232. package/types/query-solution/src/designer/query-solution-config/composition/types.d.ts +17 -16
  233. package/types/query-solution/src/designer/query-solution-config/query-solution-config.props.d.ts +14 -14
  234. package/types/query-solution/src/property-config/query-solution.property-config.d.ts +3 -51
  235. package/types/query-solution/src/query-solution.d.ts +10 -2
  236. package/types/radio-group/src/designer/item-collection-editor-inner.component.d.ts +29 -0
  237. package/types/radio-group/src/designer/item-collection-editor.component.d.ts +29 -0
  238. package/types/radio-group/src/designer/item-collection-editor.props.d.ts +21 -0
  239. package/types/radio-group/src/schema/schema-mapper.d.ts +1 -0
  240. package/types/radio-group/src/schema/schema-resolver.d.ts +1 -0
  241. package/types/response-toolbar/src/property-config/response-toolbar.property-config.d.ts +1 -0
  242. package/types/section/src/property-config/section.property-config.d.ts +17 -17
  243. package/types/section/src/schema/schema-resolver.d.ts +1 -2
  244. package/types/section/src/schema/toolbar-resolver.d.ts +1 -1
  245. package/types/tabs/src/composition/types.d.ts +4 -1
  246. package/types/tabs/src/property-config/tab-page.property-config.d.ts +9 -59
  247. package/types/tabs/src/property-config/tabs.property-config.d.ts +8 -71
  248. package/types/tabs/src/schema/schema-resolver.d.ts +1 -2
  249. package/types/text/src/composition/types.d.ts +4 -4
  250. package/types/textarea/src/property-config/textarea.property-config.d.ts +23 -0
  251. package/types/weather/src/composition/use-weather-charts.d.ts +15 -0
  252. package/types/weather/src/composition/use-weather-color.d.ts +15 -0
  253. package/types/weather/src/composition/use-weather-data.d.ts +15 -0
  254. package/types/weather/src/composition/use-weather-format-number.d.ts +15 -0
  255. package/types/property-panel/src/composition/entity/use-input-rules.d.ts +0 -3
  256. package/types/tree-grid/src/schema/column-resolver.d.ts +0 -3
  257. package/types/weather/src/composition/types.d.ts +0 -2
  258. /package/types/dynamic-form/src/designer/{use-designer-rules.d.ts → response-form-use-designer-rules.d.ts} +0 -0
  259. /package/types/dynamic-form/src/property-config/{form.property-config.d.ts → response-form.property-config.d.ts} +0 -0
@@ -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,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"}})});
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={},H={};function R(e){const{properties:t,title:a,ignore:u}=e,o=u&&Array.isArray(u),i=Object.keys(t).reduce((c,s)=>((!o||!u.find(g=>g===s))&&(c[s]=t[s].type==="object"&&t[s].properties?R(t[s]):P.cloneDeep(t[s].default)),c),{});if(a&&(!o||!u.find(c=>c==="id"))){const c=a.toLowerCase().replace(/-/g,"_");i.id=`${c}_${Math.random().toString().slice(2,6)}`}return i}function W(e,t){const a=R(t);return Object.keys(a).reduce((u,o)=>(u[o]&&P.isPlainObject(u[o])&&P.isPlainObject(e[o]||!e[o])?Object.assign(u[o],e[o]||{}):u[o]=e[o],u),a),a}function _(e,t){return Object.keys(e).filter(u=>e[u]!=null).reduce((u,o)=>{if(t.has(o)){const i=t.get(o);if(typeof i=="string")u[i]=e[o];else{const c=i(o,e[o],e);Object.assign(u,c)}}else u[o]=e[o];return u},{})}function U(e,t,a=new Map){const u=W(e,t);return _(u,a)}function X(e={}){function t(l,d,r,f){if(typeof r=="number")return f[l].length===r;if(typeof r=="object"){const m=Object.keys(r)[0],b=r[m];if(m==="not")return Number(f[l].length)!==Number(b);if(m==="moreThan")return Number(f[l].length)>=Number(b);if(m==="lessThan")return Number(f[l].length)<=Number(b)}return!1}function a(l,d,r,f){return f[l]&&f[l].propertyValue&&String(f[l].propertyValue.value)===String(r)}const u=new Map([["length",t],["getProperty",a]]);Object.keys(e).reduce((l,d)=>(l.set(d,e[d]),l),u);function o(l,d){const r=l;return typeof d=="number"?[{target:r,operator:"length",param:null,value:Number(d)}]:typeof d=="boolean"?[{target:r,operator:"getProperty",param:l,value:!!d}]:typeof d=="object"?Object.keys(d).map(f=>{if(f==="length")return{target:r,operator:"length",param:null,value:d[f]};const m=f,b=d[f];return{target:r,operator:"getProperty",param:m,value:b}}):[]}function i(l){return Object.keys(l).reduce((r,f)=>{const m=o(f,l[f]);return r.push(...m),r},[])}function c(l,d){if(u.has(l.operator)){const r=u.get(l.operator);return r&&r(l.target,l.param,l.value,d)||!1}return!1}function s(l,d){return i(l).reduce((m,b)=>m&&c(b,d),!0)}function g(l,d){const r=Object.keys(l),f=r.includes("allOf"),m=r.includes("anyOf"),b=f||m,C=(b?l[b?f?"allOf":"anyOf":"allOf"]:[l]).map(v=>s(v,d));return f?!C.includes(!1):C.includes(!0)}return{parseValueSchema:g}}const z={},J={};X();function Q(e,t,a=new Map,u=(c,s,g,l)=>s,o={},i=c=>c){return q[t.title]=t,H[t.title]=u,z[t.title]=o,J[t.title]=i,(c={})=>{const s=U(c,t,a),g=Object.keys(e).reduce((l,d)=>(l[d]=e[d].default,l),{});return Object.assign(g,s)}}const Y=new Map([["appearance",L.resolveAppearance]]);function Z(e,t,a){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 a=n.ref(e.popupContentPosition),u=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=u.value;if(s){const g=s.getBoundingClientRect(),{left:l,top:d,height:r}=g;return{left:l,top:d+r}}return a.value});const c=n.computed(()=>({}));return()=>n.createVNode(n.Teleport,{to:"body"},{default:()=>{var s,g;return[n.createVNode("div",{class:"overlay-container",onClick:l=>i(l),style:o.value},[n.createVNode("div",{style:c.value},[(g=(s=t.slots).default)==null?void 0:g.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 a;const u=e.onClickCallback||(()=>{}),o=()=>{u(),a&&a.unmount()};return a=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),a.mount(t),a}class ue{static show(t){return ae(t)}}const le=Symbol("FModalService");function N(e,t){function a(){const u=e.beforeOpen||e.beforeClickButton||null;let o=Promise.resolve(!0);if(u){const i=u(t.value);if(typeof i>"u")return o;typeof i=="boolean"?o=Promise.resolve(i):o=i}return o}return{judgeCanOpen:a}}function F(e,t,a,u,o){const i=n.ref(e.buttonBehavior),c=n.ref(e.popupOnInput),s=n.computed(()=>({"input-group-append":!0,"append-force-show":e.showButtonWhenDisabled&&(e.readonly||e.disable)})),{judgeCanOpen:g}=N(e,o),l=n.computed(()=>e.showButtonWhenDisabled||(!e.editable||!e.readonly)&&!e.disable),d=n.inject(le,null),r=n.ref();async function f(y){if(await g()&&l.value){const x=!!t.slots.default;if(i.value==="Modal"){const C=e.modalOptions,O=d==null?void 0:d.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"&&u.togglePopup(!0),x&&c.value&&u.hidePopup(),t.emit("clickButton",{origin:y,value:e.modelValue})}}function m(y){t.emit("mouseEnterIcon",y)}function b(y){t.emit("mouseLeaveIcon",y)}return{buttonGroupClass:s,onClickButton:f,onMouseEnterButton:m,onMouseLeaveButton:b,modalRef:r}}function ie(e,t,a,u,o,i){const c=n.ref(!1),s=n.computed(()=>e.enableClear&&!e.readonly&&!e.disable),{changeTextBoxValue:g}=i;function l(m){c.value=m}n.watch(o,()=>{l(!!o.value)});function d(m){const b=!e.readonly&&!e.disable&&e.editable,y=!e.editable;m.stopPropagation(),(b||y)&&(g("",!1),l(!c.value),t.emit("clear"))}function r(m){if(s.value){if(!a.value){l(!1);return}!e.disable&&!e.readonly&&l(!0)}}function f(m){s.value&&l(!1)}return{enableClearButton:s,showClearButton:c,onClearValue:d,onMouseEnterTextBox:r,onMouseLeaveTextBox:f}}function re(e,t,a,u,o){const i=n.computed(()=>e.popupOnInput),c=n.computed(()=>e.popupOnFocus),{shouldPopupContent:s}=o,g=n.computed(()=>e.enableTitle?a.value:""),l=n.computed(()=>(e.disable||e.readonly)&&!e.forcePlaceholder?"":e.placeholder),d=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})),b=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){a.value!==p&&(a.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=>{a.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,d.value||(t.emit("focus",p),c.value&&!s.value&&o.popup()))}function w(p){t.emit("input",p.target.value);const B=p.target.value;u.value=B,a.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||c.value)&&o.hidePopup(),t.emit("keyup",p)}function E(p){const B=p.target.value;p.stopPropagation(),y(B)}return{hasFocusedTextBox:f,isTextBoxReadonly:d,textBoxClass:m,textBoxPlaceholder:l,textBoxTitle:g,inputGroupClass:b,changeTextBoxValue:y,commitValue:x,onBlurTextBox:C,onClickTextBox:O,onFocusTextBox:v,onInput:w,onKeyDownTextBox:j,onKeyUpTextBox:I,onMouseDownTextBox:V,onTextBoxValueChange:E}}function S(e,t,a,u){const o=n.ref(),i=n.ref(!1),{judgeCanOpen:c}=N(e,u);function s(){const r=o.value;r&&r.show(a.value)}async function g(r=!1){if(!!t.slots.default){if(!r&&!i.value&&!await c())return;i.value=!i.value,await n.nextTick(),s()}}async function l(r=!1){if(!!t.slots.default){if(!r&&!await c())return;i.value=!0,await n.nextTick(),s()}}function d(){i.value=!1}return{hidePopup:d,popup:l,shouldPopupContent:i,togglePopup:g,popoverRef:o}}function se(e,t,a){const u=n.ref(),{isTextBoxReadonly:o,textBoxClass:i,textBoxPlaceholder:c,textBoxTitle:s,onBlurTextBox:g,onClickTextBox:l,onFocusTextBox:d,onInput:r,onKeyDownTextBox:f,onKeyUpTextBox:m,onMouseDownTextBox:b,onTextBoxValueChange:y}=a;return n.onMounted(()=>{var x,C;e.selectOnCreated&&((x=u.value)==null||x.select()),e.focusOnCreated&&((C=u.value)==null||C.focus())}),()=>n.createVNode("input",{ref:u,name:"input-group-value",autocomplete:e.autoComplete?"on":"off",class:i.value,disabled:e.disable,maxlength:e.maxLength,minlength:e.minLength,placeholder:c.value,readonly:o.value,tabindex:e.tabIndex,title:s.value,type:e.inputType,value:t.value,onBlur:g,onChange:y,onClick:l,onFocus:d,onInput:r,onKeydown:f,onKeyup:m,onMousedown:b},null)}function ce(e,t,a){const u=n.ref(e.separator),{changeTextBoxValue:o}=a,i=n.computed(()=>t.value?t.value.split(u.value).map(s=>({name:s,selectable:!0})):[]);function c(s){o(s.map(g=>g.name).join(u.value),!0)}return()=>n.createVNode(D,{id:`${e.id}-tag-editor`,class:"form-control",data:i.value,showClose:!0,showInput:!0,onChange:c},null)}function de(e,t,a,u){const{buttonGroupClass:o,onClickButton:i,onMouseEnterButton:c,onMouseLeaveButton:s}=a,{enableClearButton:g,showClearButton:l,onClearValue:d}=u,r=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:o.value},[g.value&&n.withDirectives(n.createVNode("span",{class:"input-group-text input-group-clear",onClick:d},[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:c,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:c,onMouseleave:s},null):null]),buttonHandleElement:r}}function pe(e,t,a){const u=n.ref(e.popupMinWidth),{hidePopup:o,popoverRef:i}=a;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:u.value,offsetX:e.popupOffsetX,onHidden:o},{default:()=>{var c,s;return[(s=(c=t.slots).default)==null?void 0:s.call(c)]}})}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 a=n.ref(),u=n.ref(e.customClass),o=n.ref(e.modelValue),i=S(e,t,a,o),{shouldPopupContent:c,hidePopup:s,togglePopup:g}=i,l=F(e,t,a,i,o),d=n.ref(""),r=re(e,t,o,d,i),{hasFocusedTextBox:f,commitValue:m,inputGroupClass:b}=r,y=ie(e,t,o,f,d,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 u.value&&u.value.split(" ").reduce((B,be)=>(B[be]=!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:a,hidePopup:s,shouldPopupContent:c,togglePopup:g,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(()=>{a.value.componentInstance=E,window.onresize=()=>{document.body.click()}}),t.expose(E),()=>n.createVNode(n.Fragment,null,[n.createVNode("div",n.mergeProps(t.attrs,{ref:a,class:O.value,id:e.id}),[n.createVNode("div",{id:`${e.id}-input-group`,class:b.value,onMouseenter:x,onMouseleave:C},[w(),V()])]),c.value&&I()])}});function fe(e,t,a){const{buttonGroupClass:u}=a,o=n.ref();return{renderButtonGroup:()=>n.createVNode("div",{id:`${e.id}-button-group`,class:u.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 a=n.ref(),u=n.inject("design-item-context"),o=$.useDesignerComponent(a,u),i=n.ref(e.customClass),c=n.ref(e.modelValue),s=S(e,t,a,c),g=F(e,t,a,s,c),l=n.ref(),d=n.computed(()=>({"f-cmp-inputgroup":!0,"input-group":!0,"f-state-disable":!0,"f-state-editable":!1,"f-state-readonly":!0}));n.onMounted(()=>{a.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((b,y)=>(b[y]=!0,b),m),m}),{renderButtonGroup:f}=fe(e,t,g);return()=>n.createVNode("div",n.mergeProps(t.attrs,{ref:a,class:r.value,id:e.id}),[n.createVNode("div",{class:d.value},[n.createVNode("input",{ref:l,class:"form-control",readonly:!0,placeholder:e.placeholder},null),f()])])}});T.register=(e,t,a,u)=>{e["button-edit"]=T,t["button-edit"]=M},T.registerDesigner=(e,t,a)=>{e["button-edit"]=me,t["button-edit"]=M};const ge=G.withInstall(T);h.FButtonEdit=T,h.buttonEditProps=k,h.default=ge,h.propsResolver=M,Object.defineProperties(h,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});