@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(M,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("vue"),require("lodash-es"),require("bignumber.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","bignumber.js","../designer-canvas/index.umd.js"],m):(M=typeof globalThis<"u"?globalThis:M||self,m(M["number-spinner"]={},M.Vue,M.LodashES,M.BigNumber,M.designerCanvas))})(this,function(M,m,B,V,G){"use strict";var be=Object.defineProperty;var Ce=(M,m,B)=>m in M?be(M,m,{enumerable:!0,configurable:!0,writable:!0,value:B}):M[m]=B;var v=(M,m,B)=>Ce(M,typeof m!="symbol"?m+"":m,B);const q={},$={};function L(e){const{properties:n,title:t,ignore:r}=e,i=r&&Array.isArray(r),s=Object.keys(n).reduce((u,d)=>((!i||!r.find(p=>p==d))&&(u[d]=n[d].type==="object"&&n[d].properties?L(n[d]):B.cloneDeep(n[d].default)),u),{});return t&&(!i||!r.find(u=>u=="id"))&&(s.id=`${t}-${Date.now()}`),s}function z(e,n={},t){const r=q[e];if(r){let i=L(r);const s=$[e];return i=s?s({getSchemaByType:z},i,n,t):i,i}return null}function J(e,n){const t=L(n);return Object.keys(e).reduce((r,i)=>(r[i]&&B.isPlainObject(r[i])&&B.isPlainObject(e[i])?Object.assign(r[i],e[i]):r[i]=e[i],r),t),t}function Q(e,n){return Object.keys(e).filter(r=>e[r]!=null).reduce((r,i)=>{if(n.has(i)){const s=n.get(i);if(typeof s=="string")r[s]=e[i];else{const u=s(i,e[i],e);Object.assign(r,u)}}else r[i]=e[i];return r},{})}function Y(e,n,t=new Map){const r=J(e,n);return Q(r,t)}function _(e={}){function n(a,l,o,c){if(typeof o=="number")return c[a].length===o;if(typeof o=="object"){const y=Object.keys(o)[0],f=o[y];if(y==="not")return Number(c[a].length)!==Number(f);if(y==="moreThan")return Number(c[a].length)>=Number(f);if(y==="lessThan")return Number(c[a].length)<=Number(f)}return!1}function t(a,l,o,c){return c[a]&&c[a].propertyValue&&String(c[a].propertyValue.value)===String(o)}const r=new Map([["length",n],["getProperty",t]]);Object.keys(e).reduce((a,l)=>(a.set(l,e[l]),a),r);function i(a,l){const o=a;return typeof l=="number"?[{target:o,operator:"length",param:null,value:Number(l)}]:typeof l=="boolean"?[{target:o,operator:"getProperty",param:a,value:!!l}]:typeof l=="object"?Object.keys(l).map(c=>{if(c==="length")return{target:o,operator:"length",param:null,value:l[c]};const y=c,f=l[c];return{target:o,operator:"getProperty",param:y,value:f}}):[]}function s(a){return Object.keys(a).reduce((o,c)=>{const y=i(c,a[c]);return o.push(...y),o},[])}function u(a,l){if(r.has(a.operator)){const o=r.get(a.operator);return o&&o(a.target,a.param,a.value,l)||!1}return!1}function d(a,l){return s(a).reduce((y,f)=>y&&u(f,l),!0)}function p(a,l){const o=Object.keys(a),c=o.includes("allOf"),y=o.includes("anyOf"),f=c||y,S=(f?a[f?c?"allOf":"anyOf":"allOf"]:[a]).map(T=>d(T,l));return c?!S.includes(!1):S.includes(!0)}return{parseValueSchema:p}}const g={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"}},H={},K={};_();function R(e,n,t=new Map,r=(u,d,p)=>d,i={},s=u=>u){return q[n.title]=n,$[n.title]=r,H[n.title]=i,K[n.title]=s,(u={})=>{const d=Y(u,n,t),p=Object.keys(e).reduce((a,l)=>(a[l]=e[l].default,a),{});return Object.assign(p,d)}}function ee(e,n){return{customClass:n.class,customStyle:n.style}}const te=new Map([["appearance",ee]]),ne={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/number-spinner.schema.json",title:"number-spinner",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a number spinner",type:"string"},type:{description:"The type string of number spinner component",type:"string",default:"number-spinner"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},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},disabled:{description:"",type:"boolean",default:!1},required:{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},max:{description:"",type:"number"},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"],ignore:["id","appearance","binding"]};function oe(e,n,t){return n}const I={id:String,disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},formatter:{type:Function},parser:{type:Function},placeholder:{type:String,default:"请输入数字"},step:{type:Number,default:1},max:{type:[Number,String]},min:{type:[Number,String]},showButton:{type:Boolean,default:!0},useThousands:{type:Boolean,default:!0},textAlign:{type:String,default:"left"},autoDecimal:{type:Boolean,default:!0},canNull:{type:Boolean,default:!1},precision:{type:Number,default:0},prefix:{type:String,default:""},suffix:{type:String,default:""},decimalSeparator:{type:String,default:"."},groupSeparator:{type:String,default:","},groupSize:{type:Number,default:3},value:{type:[Number,String],default:""},showZero:{type:Boolean,default:!0},modelValue:{type:[Number,String],default:""},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1}},x=R(I,ne,te,oe);function O(e,n,t,r){const{format:i}=t,{displayValue:s,getRealValue:u,modelValue:d,onNumberValueChanged:p}=r;function a(){const C=new V(d.value||0);return!(e.max&&!new V(e.max).isNaN()&&C.gte(new V(e.max)))}function l(){const C=new V(d.value||0);return!(e.min&&!new V(e.min).isNaN()&&C.lte(new V(e.min)))}function o(C){if(e.readonly||e.disabled)return;const S=C==="up"?a:l,k=C==="up"?"plus":"minus";if(S()){const w=new V(d.value||0)[k](Number(e.step)),b=w.toFixed();s.value=i(b),p(u(w))}}function c(){o("up")}function y(){o("down")}function f(C){c(),C.stopPropagation()}function h(C){y(),C.stopPropagation()}return{canDownward:l,canUpward:a,downward:y,onClickDownButton:h,onClickUpButton:f,upward:c}}function j(e,n,t){const r=m.computed(()=>({prefix:e.prefix,suffix:e.suffix,decimalSeparator:e.decimalSeparator,groupSeparator:e.useThousands?e.groupSeparator:"",groupSize:e.groupSize})),{getValidNumberObject:i,precision:s}=t;function u(a){return a=a==null||a===""?"":String(a),a=a.replace(new RegExp(e.prefix,"g"),"").replace(new RegExp(e.suffix,"g"),"").replace(/,/g,""),e.groupSeparator&&e.groupSeparator!==","&&(a=a.replace(new RegExp(`\\${e.groupSeparator}`,"g"),"")),e.decimalSeparator&&e.decimalSeparator!=="."&&(a=a.replace(new RegExp(`\\${e.decimalSeparator}`,"g"),".")),a}function d(a,l){return e.precision!==null&&e.precision!==void 0?a.toFormat(s.value,l):a.toFormat(l)}function p(a){const l=u(a),o=new V(l,10),c=i(o);return c.valueOf()==="0"&&!e.showZero||c.isNaN()?"":e.formatter?e.formatter(c.toNumber()):d(c,r.value)}return{cleanFormat:u,format:p}}function U(e,n){const t=m.ref(""),r=m.ref(e.modelValue),i=m.computed(()=>Number(e.precision)||0);function s(l){return l.toFixed(i.value)}function u(l){return isNaN(l)||l===null||l===void 0||l===""}function d(l){const o=u(e.max)?null:new V(String(e.max),10),c=u(e.min)?null:new V(String(e.min),10);return o&&l.gt(o)?o:c&&l.lt(c)?c:l}function p(l){if(e.parser)return isNaN(Number(l))?e.parser(l):l;let o=d(new V(l,10));if(o.isNaN()){if(e.canNull)return null;const y=new V(""+e.min,10),f=new V(""+e.max,10);if(!y.isNaN())o=y;else if(!f.isNaN())o=f;else return 0}return s(o)}function a(l){const o=Number(l);r.value=o,n.emit("update:modelValue",o),n.emit("valueChange",o),n.emit("change",o)}return{displayValue:t,getRealValue:p,modelValue:r,isEmpty:u,onNumberValueChanged:a,precision:i,getValidNumberObject:d}}function Z(e,n,t,r,i){const{cleanFormat:s,format:u}=t,{displayValue:d,getRealValue:p,modelValue:a,isEmpty:l,onNumberValueChanged:o}=r,{downward:c,upward:y}=i,f=m.ref(!1),h=m.computed(()=>d.value);function C(w){var F;if(w.stopPropagation(),f.value=!1,e.readonly||e.disabled)return;let b=(F=w.target)==null?void 0:F.value;e.canNull||(b=b||0);const N=s(b);d.value=u(N),o(p(N)),n.emit("blur",{event:w,formatted:d.value,value:a.value})}function S(w){w.stopPropagation(),f.value=!0,!(e.readonly||e.disabled)&&(d.value=l(a.value)||!e.showZero&&a.value==="0"?"":String(a.value),n.emit("focus",{event:w,formatted:d.value,value:a.value}))}function k(w){var F;w.stopPropagation();let b=(F=w.target)==null?void 0:F.value;e.canNull||(b=b||0);const N=s(b);d.value=N,o(p(N))}function T(w){w.key==="ArrowDown"&&(w.preventDefault(),c()),w.key==="ArrowUp"&&(w.preventDefault(),y()),w.stopPropagation()}return{textBoxValue:h,onBlurTextBox:C,onFocusTextBox:S,onInput:k,onKeyDown:T,isFocus:f}}function X(e,n,t){const{canDownward:r,canUpward:i,onClickDownButton:s,onClickUpButton:u}=t,d=m.computed(()=>({"input-group-append":!0,"btn-group":!0,"btn-group-number":!0})),p=m.computed(()=>({btn:!0,"btn-secondary":!0,"btn-number-flag":!0})),a=m.computed(()=>({cursor:i()?"pointer":"not-allowed","margin-left":0})),l=m.computed(()=>({cursor:r()?"pointer":"not-allowed","margin-left":0}));return()=>m.createVNode("div",{class:d.value},[m.createVNode("button",{title:"upButton",class:p.value,style:a.value,onClick:u,disabled:!i()},[m.createVNode("span",{class:"f-icon f-icon-arrow-chevron-up number-arrow-chevron"},null)]),m.createVNode("button",{title:"downButton",class:p.value,style:l.value,onClick:s,disabled:!r()},[m.createVNode("span",{class:"f-icon f-icon-arrow-chevron-down number-arrow-chevron"},null)])])}function re(e,n,t){const r=m.ref(),{onBlurTextBox:i,onFocusTextBox:s,onInput:u,onKeyDown:d,textBoxValue:p}=t,a=m.computed(()=>e.disabled||e.readonly||!e.editable?"":e.placeholder),l=m.computed(()=>({"form-control":!0,"f-utils-fill":!0})),o=m.computed(()=>({"text-align":e.textAlign}));function c(h){h.stopPropagation()}function y(){e.selectOnCreated,e.focusOnCreated}async function f(h){s(h),await m.nextTick,y()}return m.onMounted(async()=>{await m.nextTick,y()}),()=>m.createVNode("input",{ref:r,class:l.value,style:o.value,type:"text",value:p.value,disabled:e.disabled,readonly:e.readonly||!e.editable,placeholder:a.value,onBlur:i,onChange:c,onFocus:f,onInput:u,onKeydown:d},null)}const P=m.defineComponent({name:"FNumberSpinner",props:I,emits:["update:modelValue","valueChange","change","blur","focus","click","input"],setup(e,n){const t=U(e,n),r=j(e,n,t),i=O(e,n,r,t),s=Z(e,n,r,t,i),u=X(e,n,i),{displayValue:d,modelValue:p,getRealValue:a}=t,l=re(e,n,s),{format:o}=r,{isFocus:c}=s,y=m.computed(()=>!e.disabled&&!e.readonly&&e.showButton);return m.onMounted(()=>{const f=a(e.modelValue);d.value=o(f)}),m.watch(()=>[e.value],([f])=>{const h=a(f);p.value=h,d.value=o(h)}),m.watch(()=>[e.modelValue],([f])=>{f!==p.value&&(p.value=f,!c.value&&(d.value=o(a(f))))}),m.watch(()=>[e.precision,e.useThousands,e.prefix,e.suffix,e.showZero],()=>{d.value=o(p.value)}),()=>m.createVNode("div",{class:"input-group f-state-hover flex-row f-cmp-number-spinner"},[l(),y.value&&u()])}});function ie(e,n,t){var w;function r(){t!=null&&t.resolveComponentContext&&t.resolveComponentContext()}r();const i=t&&t.getStyles&&t.getStyles()||"",s=t&&t.getDesignerClass&&t.getDesignerClass()||"",u=m.ref();function d(){return(n==null?void 0:n.schema.componentType)==="frame"?!1:t&&t.checkCanMoveComponent?t.checkCanMoveComponent():!0}function p(){return!1}function a(){return(n==null?void 0:n.schema.componentType)==="frame"?!1:t&&t.checkCanDeleteComponent?t.checkCanDeleteComponent():!0}function l(){return(n==null?void 0:n.schema.componentType)==="frame"?!0:t&&t.hideNestedPaddingInDesginerView?t.hideNestedPaddingInDesginerView():!1}function o(b){if(!b||!b.value)return null;if(b.value.schema&&b.value.schema.type==="component")return b.value;const N=m.ref(b==null?void 0:b.value.parent),F=o(N);return F||null}function c(b=n){const{componentInstance:N,designerItemElementRef:F}=b;return!N||!N.value?null:N.value.canMove?F:c(b.parent)}function y(b){return!!t&&t.canAccepts(b)}function f(){return(n==null?void 0:n.schema.label)||(n==null?void 0:n.schema.title)||(n==null?void 0:n.schema.name)}function h(){}function C(b,N){N&&t!=null&&t.onAcceptMovedChildElement&&t.onAcceptMovedChildElement(N)}function S(b,N){const{componentType:F}=b;let E=z(F,b,N);t&&t.onResolveNewComponentSchema&&(E=t.onResolveNewComponentSchema(b,E));const W=F.toLowerCase().replace("-","_");return E&&!E.id&&E.type===F&&(E.id=`${W}_${Math.random().toString().slice(2,6)}`),E}function k(b){}function T(...b){if(t&&t.getPropsConfig)return t.getPropsConfig(...b)}return u.value={canMove:d(),canSelectParent:p(),canDelete:a(),canNested:!l(),contents:n==null?void 0:n.schema.contents,elementRef:e,parent:(w=n==null?void 0:n.parent)==null?void 0:w.componentInstance,schema:n==null?void 0:n.schema,styles:i,designerClass:s,canAccepts:y,getBelongedComponentInstance:o,getDraggableDesignItemElement:c,getDraggingDisplayText:f,getPropConfig:T,getDragScopeElement:h,onAcceptMovedChildElement:C,onChildElementMovedOut:k,addNewChildComponentSchema:S,updateDragAndDropRules:r,triggerBelongedComponentToMoveWhenMoved:!!t&&t.triggerBelongedComponentToMoveWhenMoved||m.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!t&&t.triggerBelongedComponentToDeleteWhenDeleted||m.ref(!1)},u}class ae{constructor(n,t){v(this,"componentId");v(this,"viewModelId");v(this,"eventsEditorUtils");v(this,"formSchemaUtils");v(this,"formMetadataConverter");v(this,"designViewModelUtils");v(this,"designViewModelField");v(this,"controlCreatorUtils");v(this,"designerHostService");v(this,"schemaService",null);v(this,"metadataService",null);v(this,"propertyConfig",{type:"object",categories:{}});var r;this.componentId=n,this.designerHostService=t,this.eventsEditorUtils=t.eventsEditorUtils,this.formSchemaUtils=t.formSchemaUtils,this.formMetadataConverter=t.formMetadataConverter,this.viewModelId=((r=this.formSchemaUtils)==null?void 0:r.getViewModelIdByComponentId(n))||"",this.designViewModelUtils=t.designViewModelUtils,this.controlCreatorUtils=t.controlCreatorUtils,this.metadataService=t.metadataService,this.schemaService=t.schemaService}getTableInfo(){var n;return(n=this.schemaService)==null?void 0:n.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(n){const t=n.binding&&n.binding.type==="Form"&&n.binding.field;if(t){if(!this.designViewModelField){const r=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=r.fields.find(i=>i.id===t)}n.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(n,t){}getBasicPropConfig(n){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:n.type,name:g[n.type].name}]}}}}}getAppearanceConfig(n=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(n,t){const r=t&&t.parent&&t.parent.schema;if(!r)return;const i=r.contents.findIndex(u=>u.id===n),s=B.cloneDeep(r.contents[i]);r.contents.splice(i,1),r.contents.splice(i,0,s)}}const D=class D{static getEditorTypesByMDataType(n){const t=D.fieldControlTypeMapping[n];return t||[{key:"",value:""}]}static getAllInputTypes(){const n=[];for(let t in D.fieldControlTypeMapping)D.fieldControlTypeMapping[t].forEach(r=>{n.find(i=>i.key===r.key&&i.value===r.value)||n.push({key:r.key,value:r.value})});return n}};v(D,"fieldControlTypeMapping",{String:[{key:g["input-group"].type,value:g["input-group"].name},{key:g.lookup.type,value:g.lookup.name},{key:g["date-picker"].type,value:g["date-picker"].name},{key:g["check-box"].type,value:g["check-box"].name},{key:g["check-group"].type,value:g["check-group"].name},{key:g["radio-group"].type,value:g["radio-group"].name},{key:g["combo-list"].type,value:g["combo-list"].name},{key:g.textarea.type,value:g.textarea.name}],Text:[{key:g.textarea.type,value:g.textarea.name},{key:g.lookup.type,value:g.lookup.name}],Decimal:[{key:g["number-spinner"].type,value:g["number-spinner"].name}],Integer:[{key:g["number-spinner"].type,value:g["number-spinner"].name}],Number:[{key:g["number-spinner"].type,value:g["number-spinner"].name}],BigNumber:[{key:g["number-spinner"].type,value:g["number-spinner"].name}],Date:[{key:g["date-picker"].type,value:g["date-picker"].name}],DateTime:[{key:g["date-picker"].type,value:g["date-picker"].name}],Boolean:[{key:g.switch.type,value:g.switch.name},{key:g["check-box"].type,value:g["check-box"].name}],Enum:[{key:g["combo-list"].type,value:g["combo-list"].name},{key:g["radio-group"].type,value:g["radio-group"].name}],Object:[{key:g.lookup.type,value:g.lookup.name},{key:g["combo-list"].type,value:g["combo-list"].name},{key:g["radio-group"].type,value:g["radio-group"].name}]});let A=D;const le=m.ref(0);class se{constructor(){v(this,"label","");v(this,"id","");v(this,"columnInSM",12);v(this,"columnInMD",6);v(this,"columnInLG",3);v(this,"columnInEL",2);v(this,"displayWidthInSM",1);v(this,"displayWidthInMD",1);v(this,"displayWidthInLG",1);v(this,"displayWidthInEL",1);v(this,"displayColumnCountAtBreakPoint","md");v(this,"tagRow",0);v(this,"showTopBorder",0);v(this,"group",1);v(this,"isSupportedClass",!0);v(this,"fieldSetId","")}}function ce(e){let n,t;const r=new Map;let i=[];function s(l,o){const y=l.split(" ").filter(k=>k.startsWith("col-"));if(y.length===0){o.isSupportedClass=!1;return}let f=y.find(k=>/^col-([1-9]|10|11|12)$/.test(k)),h=y.find(k=>/^col-md-([1-9]|10|11|12)$/.test(k)),C=y.find(k=>/^col-xl-([1-9]|10|11|12)$/.test(k)),S=y.find(k=>/^col-el-([1-9]|10|11|12)$/.test(k));f=f||"col-12",o.columnInSM=parseInt(f.replace("col-",""),10),o.displayWidthInSM=o.columnInSM/12,o.displayWidthInSM!==1&&(o.isSupportedClass=!1),h=h||"col-md-"+o.columnInSM,o.columnInMD=parseInt(h.replace("col-md-",""),10),o.displayWidthInMD=o.columnInMD/6,[1,2].includes(o.displayWidthInMD)||(o.isSupportedClass=!1),C=C||"col-xl-"+o.columnInMD,o.columnInLG=parseInt(C.replace("col-xl-",""),10),o.displayWidthInLG=o.columnInLG/3,[1,2,3,4].includes(o.displayWidthInLG)||(o.isSupportedClass=!1),S=S||"col-el-"+o.columnInLG,o.columnInEL=parseInt(S.replace("col-el-",""),10),o.displayWidthInEL=o.columnInEL/2,[1,2,3,4,5,6].includes(o.displayWidthInEL)||(o.isSupportedClass=!1)}function u(l,o,c,y=!1){let f=!1;l.contents.forEach(h=>{if(h.type==="fieldset"){c+=1,u(h,o,c,!0),f=!0;return}f&&(c+=1,f=!1);const C=h.appearance&&h.appearance.class,S=new se;C?s(C,S):S.isSupportedClass=!1,S.label=h.label||h.id,S.id=h.id,S.group=c,y&&(S.fieldSetId=l.id),t===h.id&&(n=c),r.set(h.id,h),o.push(S)})}function d(l){const o=e.getComponentById(l);if(!o||!o.componentType||!o.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const c=e.selectNode(o,y=>y.type===G.DgControl["response-form"].type);return!c||!c.contents||c.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:c}}function p(l,o){o=o||l.id;const{result:c,message:y,formNode:f}=d(o);if(!c)return{result:c,message:y};t=l.id,i=[],r.clear();const h=f.contents[0].type===G.DgControl.fieldset.type?0:1;u(f,i,h);const C=i.find(k=>!k.isSupportedClass);return{defaultState:{defaultGroupNumber:n||1,model:C?"customize":"standard"},importData:i}}function a(l,o){o=o;const{result:c,formNode:y}=d(o);if(!c)return"";const f=[];return l.forEach(h=>{var k;const C=r.get(h.id),S=C.appearance&&C.appearance.class;if(S){const w=S.split(" ").filter(he=>!he.startsWith("col-")),b="col-"+h.columnInSM,N="col-md-"+h.columnInMD,F="col-xl-"+h.columnInLG,E="col-el-"+h.columnInEL,W=[b,N,F,E].concat(w);C.appearance.class=W.join(" ")}if(h.fieldSetId){const T=y.contents.find(b=>b.id===h.fieldSetId),w=f.find(b=>b.id===h.fieldSetId);w?(k=w.contents)==null||k.push(C):(f.push(T),T.contents=[C])}else f.push(C)}),y.contents=f,y.id}return{checkCanFindFormNode:d,checkCanOpenLayoutEditor:p,changeFormControlsByResponseLayoutConfig:a,getResonseFormLayoutConfig:u}}class ue extends ae{constructor(t,r){super(t,r);v(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=ce(this.formSchemaUtils)}getPropertyConfig(t,r){return this.propertyConfig.categories.basic=this.getBasicProperties(t,r),this.propertyConfig.categories.appearance=this.getAppearanceProperties(t,r),this.propertyConfig.categories.editor=this.getEditorProperties(t),this.propertyConfig}getBasicProperties(t,r){var d;var i=this;this.setDesignViewModelField(t);const s=this.formSchemaUtils.getFormMetadataBasicInfo(),u=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:i.designViewModelField?A.getEditorTypesByMDataType((d=i.designViewModelField.type)==null?void 0:d.name):A.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",$converter:"/converter/field-selector.converter",editor:{type:"field-selector",bindingType:{enable:!1},editorParams:{propertyData:t,formBasicInfo:s},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],textField:"bindingField",data:u}}},setPropertyRelates(p,a){if(p)switch(p&&p.propertyID){case"type":{i.changeControlType(t,p,r);break}case"label":{p.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(t,r){var i=this;return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:i.responseLayoutEditorFunction.checkCanOpenLayoutEditor(t,i.componentId)}}},setPropertyRelates(s,u){if(s)switch(s&&s.propertyID){case"responseLayout":i.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(s.propertyValue,i.componentId||t.id),i.updateUnifiedLayoutAfterResponseLayoutChanged(i.componentId),i.updateElementByParentContainer(t.id,r),delete t.responseLayout;break;case"class":i.updateUnifiedLayoutAfterControlChanged(s.propertyValue,t.id,this.componentId),i.updateElementByParentContainer(t.id,r);break}}}}getEditorProperties(t){return this.getComponentConfig(t)}changeControlType(t,r,i){var l,o,c,y;const s=r.propertyValue,u=i&&i.parent&&i.parent.schema;if(!u)return;const d=u.contents.findIndex(f=>f.id===t.id),p=u.contents[d];let a;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:s},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),a=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,s)),a||(a=this.controlCreatorUtils.createFormGroupWithoutField(s)),Object.assign(a,{id:p.id,appearance:p.appearance,size:p.size,label:p.label,binding:p.binding,visible:p.visible}),Object.assign(a.editor,{isTextArea:a.isTextArea&&p.isTextArea,placeholder:(l=p.editor)==null?void 0:l.placeholder,holdPlace:(o=p.editor)==null?void 0:o.holdPlace,readonly:(c=p.editor)==null?void 0:c.readonly,require:(y=p.editor)==null?void 0:y.require}),u.contents.splice(d,1),u.contents.splice(d,0,a),i.schema=Object.assign(p,a),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(f=>f.classList.remove("dgComponentSelected")),le.value++}getComponentConfig(t,r={},i={}){const s=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},r),u=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},i);return{...s,properties:{...u}}}updateUnifiedLayoutAfterControlChanged(t,r,i){const s=t.split(" ");let u=s.find(o=>/^col-([1-9]|10|11|12)$/.test(o)),d=s.find(o=>/^col-md-([1-9]|10|11|12)$/.test(o)),p=s.find(o=>/^col-xl-([1-9]|10|11|12)$/.test(o)),a=s.find(o=>/^col-el-([1-9]|10|11|12)$/.test(o));u=u||"col-12",d=d||"col-md-"+u.replace("col-",""),p=p||"col-xl-"+d.replace("col-md-",""),a=a||"col-el-"+p.replace("col-xl-","");const l={id:r,columnInSM:parseInt(u.replace("col-",""),10),columnInMD:parseInt(d.replace("col-md-",""),10),columnInLG:parseInt(p.replace("col-xl-",""),10),columnInEL:parseInt(a.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(i,l)}updateUnifiedLayoutAfterResponseLayoutChanged(t,r){const{formNode:i}=this.responseLayoutEditorFunction.checkCanFindFormNode(t);if(!i||!i.unifiedLayout)return;const s=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(i,s,1),r){const f=s.find(h=>h.id===r.id);Object.assign(f||{},r)}const u=s.map(f=>f.columnInSM),d=s.map(f=>f.columnInMD),p=s.map(f=>f.columnInLG),a=s.map(f=>f.columnInEL),l=this.checkIsUniqueColumn(u)?u[0]:null,o=this.checkIsUniqueColumn(d)?d[0]:null,c=this.checkIsUniqueColumn(p)?p[0]:null,y=this.checkIsUniqueColumn(a)?a[0]:null;Object.assign(i.unifiedLayout,{uniqueColClassInSM:l,uniqueColClassInMD:o,uniqueColClassInLG:c,uniqueColClassInEL:y})}checkIsUniqueColumn(t){const r=new Set(t);return Array.from(r).length===1}}class de extends ue{constructor(n,t){super(n,t)}getEditorProperties(n){return this.getComponentConfig(n,{type:"number-spinner"},{textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中对齐"},{value:"right",name:"右对齐"}]}}})}}function pe(e,n){e.schema;const t=m.ref(!0),r=m.ref(!0);function i(o){return!1}function s(){return!1}function u(){return!1}function d(){return!0}function p(o){}function a(){}function l(o){return null}return{canAccepts:i,checkCanDeleteComponent:s,checkCanMoveComponent:u,hideNestedPaddingInDesginerView:d,onAcceptMovedChildElement:p,resolveComponentContext:a,triggerBelongedComponentToMoveWhenMoved:t,triggerBelongedComponentToDeleteWhenDeleted:r,getPropsConfig:l}}function fe(e,n){const{canAccepts:t,checkCanDeleteComponent:r,checkCanMoveComponent:i,hideNestedPaddingInDesginerView:s,onAcceptMovedChildElement:u,resolveComponentContext:d,triggerBelongedComponentToMoveWhenMoved:p,triggerBelongedComponentToDeleteWhenDeleted:a}=pe(e),l=e.schema;function o(c,y){return new de(c,n).getPropertyConfig(l,y)}return{canAccepts:t,checkCanDeleteComponent:r,checkCanMoveComponent:i,hideNestedPaddingInDesginerView:s,onAcceptMovedChildElement:u,resolveComponentContext:d,triggerBelongedComponentToMoveWhenMoved:p,triggerBelongedComponentToDeleteWhenDeleted:a,getPropsConfig:o}}const me=m.defineComponent({name:"FNumberSpinnerDesign",props:I,emits:["update:modelValue","valueChange","change","blur","focus","click","input"],setup(e,n){const t=U(e,n),r=j(e,n,t),i=O(e,n,r,t),s=X(e,n,i),u=m.ref(),d=m.inject("designer-host-service"),p=m.inject("design-item-context"),a=fe(p,d),l=ie(u,p,a);m.onMounted(()=>{u.value.componentInstance=l,e.readonly=!0}),n.expose(l.value);const o=m.ref();return()=>m.createVNode("div",{ref:u,class:"input-group f-state-hover flex-row f-cmp-number-spinner test"},[m.createVNode("input",{ref:o,class:"form-control",readonly:!0,placeholder:e.placeholder},null),s()])}}),ye=e=>{const n=e;return n.install=function(t){t.component(n.name,e)},e};P.register=(e,n,t,r)=>{e["number-spinner"]=P,n["number-spinner"]=x},P.registerDesigner=(e,n,t)=>{e["number-spinner"]=me,n["number-spinner"]=x};const ge=ye(P);M.FNumberSpinner=P,M.default=ge,M.numberSpinnerProps=I,M.propsResolver=x,M.useFormat=j,M.useNumber=U,M.useSpinner=O,M.useTextBox=Z,Object.defineProperties(M,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(w,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("vue"),require("lodash-es"),require("bignumber.js"),require("../designer-canvas/index.umd.js"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","bignumber.js","../designer-canvas/index.umd.js","../common/index.umd.js"],m):(w=typeof globalThis<"u"?globalThis:w||self,m(w["number-spinner"]={},w.Vue,w.LodashES,w.BigNumber,w.designerCanvas,w.common))})(this,function(w,m,E,V,G,_){"use strict";var he=Object.defineProperty;var be=(w,m,E)=>m in w?he(w,m,{enumerable:!0,configurable:!0,writable:!0,value:E}):w[m]=E;var S=(w,m,E)=>be(w,typeof m!="symbol"?m+"":m,E);const $={},W={};function j(t){const{properties:n,title:e,ignore:r}=t,i=r&&Array.isArray(r),s=Object.keys(n).reduce((c,d)=>((!i||!r.find(f=>f===d))&&(c[d]=n[d].type==="object"&&n[d].properties?j(n[d]):E.cloneDeep(n[d].default)),c),{});if(e&&(!i||!r.find(c=>c==="id"))){const c=e.toLowerCase().replace(/-/g,"_");s.id=`${c}_${Math.random().toString().slice(2,6)}`}return s}function z(t,n={},e){const r=$[t];if(r){let i=j(r);const s=W[t];return i=s?s({getSchemaByType:z},i,n,e):i,i}return null}function Q(t,n){const e=j(n);return Object.keys(e).reduce((r,i)=>(r[i]&&E.isPlainObject(r[i])&&E.isPlainObject(t[i]||!t[i])?Object.assign(r[i],t[i]||{}):r[i]=t[i],r),e),e}function H(t,n){return Object.keys(t).filter(r=>t[r]!=null).reduce((r,i)=>{if(n.has(i)){const s=n.get(i);if(typeof s=="string")r[s]=t[i];else{const c=s(i,t[i],t);Object.assign(r,c)}}else r[i]=t[i];return r},{})}function J(t,n,e=new Map){const r=Q(t,n);return H(r,e)}function Y(t={}){function n(a,l,o,u){if(typeof o=="number")return u[a].length===o;if(typeof o=="object"){const y=Object.keys(o)[0],p=o[y];if(y==="not")return Number(u[a].length)!==Number(p);if(y==="moreThan")return Number(u[a].length)>=Number(p);if(y==="lessThan")return Number(u[a].length)<=Number(p)}return!1}function e(a,l,o,u){return u[a]&&u[a].propertyValue&&String(u[a].propertyValue.value)===String(o)}const r=new Map([["length",n],["getProperty",e]]);Object.keys(t).reduce((a,l)=>(a.set(l,t[l]),a),r);function i(a,l){const o=a;return typeof l=="number"?[{target:o,operator:"length",param:null,value:Number(l)}]:typeof l=="boolean"?[{target:o,operator:"getProperty",param:a,value:!!l}]:typeof l=="object"?Object.keys(l).map(u=>{if(u==="length")return{target:o,operator:"length",param:null,value:l[u]};const y=u,p=l[u];return{target:o,operator:"getProperty",param:y,value:p}}):[]}function s(a){return Object.keys(a).reduce((o,u)=>{const y=i(u,a[u]);return o.push(...y),o},[])}function c(a,l){if(r.has(a.operator)){const o=r.get(a.operator);return o&&o(a.target,a.param,a.value,l)||!1}return!1}function d(a,l){return s(a).reduce((y,p)=>y&&c(p,l),!0)}function f(a,l){const o=Object.keys(a),u=o.includes("allOf"),y=o.includes("anyOf"),p=u||y,k=(p?a[p?u?"allOf":"anyOf":"allOf"]:[a]).map(B=>d(B,l));return u?!k.includes(!1):k.includes(!0)}return{parseValueSchema:f}}const g={button:{type:"button",name:"按钮",icon:"Button"},"response-toolbar":{type:"response-toolbar",name:"工具栏",icon:"ButtonGroup"},"response-toolbar-item":{type:"response-toolbar-item",name:"按钮",icon:"Button"},"content-container":{type:"content-container",name:"容器",icon:"ContentContainer"},"input-group":{type:"input-group",name:"文本",icon:"TextBox"},textarea:{type:"textarea",name:"多行文本",icon:"MultiTextBox"},lookup:{type:"lookup",name:"帮助",icon:"LookupEdit"},"number-spinner":{type:"number-spinner",name:"数值",icon:"NumericBox"},"date-picker":{type:"date-picker",name:"日期",icon:"DateBox"},switch:{type:"switch",name:"开关",icon:"SwitchField"},"radio-group":{type:"radio-group",name:"单选组",icon:"RadioGroup"},"check-box":{type:"check-box",name:"复选框",icon:"CheckBox"},"check-group":{type:"check-group",name:"复选框组",icon:"CheckGroup"},"combo-list":{type:"combo-list",name:"下拉列表",icon:"EnumField"},"response-form":{type:"response-form",name:"卡片面板",icon:"Form"},"response-layout":{type:"response-layout",name:"布局容器",icon:"ResponseLayout3"},"response-layout-item":{type:"response-layout-item",name:"布局",icon:"ResponseLayout1"},"tree-grid":{type:"tree-grid",name:"树表格",icon:"TreeGrid"},"tree-grid-column":{type:"tree-grid-column",name:"树表格列"},"data-grid":{type:"data-grid",name:"表格",icon:"DataGrid"},"data-grid-column":{type:"data-grid-column",name:"表格列"},module:{type:"Module",name:"模块",icon:"Module"},component:{type:"component",name:"组件",icon:"Component"},tabs:{type:"tabs",name:"标签页",icon:"Tab"},"tab-page":{type:"tab-page",name:"标签页项",dependentParentControl:"Tab"},"tab-toolbar-item":{type:"tab-toolbar-item",name:"标签页工具栏按钮",icon:"Button"},"time-picker":{type:"time-picker",name:"时间选择",icon:"TimePicker"},section:{type:"section",name:"分组面板",icon:"Section"},"section-toolbar":{type:"section-toolbar",name:"分组面板工具栏"},"section-toolbar-item":{type:"section-toolbar-item",name:"分组面板按钮"},splitter:{type:"splitter",name:"分栏面板",icon:"Splitter"},"splitter-pane":{type:"splitter-pane",name:"分栏面板项",dependentParentControl:"Splitter"},"component-ref":{type:"component-ref",name:"组件引用节点"},uploader:{type:"uploader",name:"附件上传",icon:"FileUpload"},"page-header":{type:"page-header",name:"页头",icon:"Header"},"page-footer":{type:"page-footer",name:"页脚",icon:"ModalFooter"},"tab-toolbar":{type:"tab-toolbar",name:"标签页工具栏",icon:"TabToolbar"},fieldset:{type:"fieldset",name:"分组",icon:"fieldset"},"query-solution":{type:"query-solution",name:"筛选方案",icon:"QueryScheme"}},R={},K={};Y();function ee(t,n,e=new Map,r=(c,d,f,a)=>d,i={},s=c=>c){return $[n.title]=n,W[n.title]=r,R[n.title]=i,K[n.title]=s,(c={})=>{const d=J(c,n,e),f=Object.keys(t).reduce((a,l)=>(a[l]=t[l].default,a),{});return Object.assign(f,d)}}function te(t,n){return{customClass:n.class,customStyle:n.style}}const ne=new Map([["appearance",te]]),oe={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/number-spinner.schema.json",title:"number-spinner",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a number spinner",type:"string"},type:{description:"The type string of number spinner component",type:"string",default:"number-spinner"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},disabled:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},precision:{description:"",type:"number",default:0},min:{description:"",type:"number"},step:{description:"",type:"number",default:1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},max:{description:"",type:"number"},onBlur:{description:"",type:"string",default:""},onClickLinkLabel:{description:"",type:"sting",default:""}},required:["id","type"],ignore:["id","appearance","binding","visible"]};function re(t,n,e){return n}const I={id:String,disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},editable:{type:Boolean,default:!0},formatter:{type:Function},parser:{type:Function},placeholder:{type:String,default:"请输入数字"},step:{type:Number,default:1},max:{type:[Number,String]},min:{type:[Number,String]},showButton:{type:Boolean,default:!0},useThousands:{type:Boolean,default:!0},textAlign:{type:String,default:"left"},autoDecimal:{type:Boolean,default:!0},canNull:{type:Boolean,default:!1},precision:{type:Number,default:0},prefix:{type:String,default:""},suffix:{type:String,default:""},decimalSeparator:{type:String,default:"."},groupSeparator:{type:String,default:","},groupSize:{type:Number,default:3},value:{type:[Number,String],default:""},showZero:{type:Boolean,default:!0},modelValue:{type:[Number,String],default:""},focusOnCreated:{type:Boolean,default:!1},selectOnCreated:{type:Boolean,default:!1}},A=ee(I,oe,ne,re);function O(t,n,e,r){const{format:i}=e,{displayValue:s,getRealValue:c,modelValue:d,onNumberValueChanged:f}=r;function a(){const v=new V(d.value||0);return!(t.max&&!new V(t.max).isNaN()&&v.gte(new V(t.max)))}function l(){const v=new V(d.value||0);return!(t.min&&!new V(t.min).isNaN()&&v.lte(new V(t.min)))}function o(v){if(t.readonly||t.disabled)return;const k=v==="up"?a:l,M=v==="up"?"plus":"minus";if(k()){const C=new V(d.value||0)[M](Number(t.step)),b=C.toFixed();s.value=i(b),f(c(C))}}function u(){o("up")}function y(){o("down")}function p(v){u(),v.stopPropagation()}function h(v){y(),v.stopPropagation()}return{canDownward:l,canUpward:a,downward:y,onClickDownButton:h,onClickUpButton:p,upward:u}}function x(t,n,e){const r=m.computed(()=>({prefix:t.prefix,suffix:t.suffix,decimalSeparator:t.decimalSeparator,groupSeparator:t.useThousands?t.groupSeparator:"",groupSize:t.groupSize})),{getValidNumberObject:i,precision:s}=e;function c(a){return a=a==null||a===""?"":String(a),a=a.replace(new RegExp(t.prefix,"g"),"").replace(new RegExp(t.suffix,"g"),"").replace(/,/g,""),t.groupSeparator&&t.groupSeparator!==","&&(a=a.replace(new RegExp(`\\${t.groupSeparator}`,"g"),"")),t.decimalSeparator&&t.decimalSeparator!=="."&&(a=a.replace(new RegExp(`\\${t.decimalSeparator}`,"g"),".")),a}function d(a,l){return t.precision!==null&&t.precision!==void 0?a.toFormat(s.value,l):a.toFormat(l)}function f(a){const l=c(a),o=new V(l,10),u=i(o);return u.valueOf()==="0"&&!t.showZero||u.isNaN()?"":t.formatter?t.formatter(u.toNumber()):d(u,r.value)}return{cleanFormat:c,format:f}}function U(t,n){const e=m.ref(""),r=m.ref(t.modelValue),i=m.computed(()=>Number(t.precision)||0);function s(l){return l.toFixed(i.value)}function c(l){return isNaN(l)||l===null||l===void 0||l===""}function d(l){const o=c(t.max)?null:new V(String(t.max),10),u=c(t.min)?null:new V(String(t.min),10);return o&&l.gt(o)?o:u&&l.lt(u)?u:l}function f(l){if(t.parser)return isNaN(Number(l))?t.parser(l):l;let o=d(new V(l,10));if(o.isNaN()){if(t.canNull)return null;const y=new V(""+t.min,10),p=new V(""+t.max,10);if(!y.isNaN())o=y;else if(!p.isNaN())o=p;else return 0}return s(o)}function a(l){const o=Number(l);r.value=o,n.emit("update:modelValue",o),n.emit("valueChange",o),n.emit("change",o)}return{displayValue:e,getRealValue:f,modelValue:r,isEmpty:c,onNumberValueChanged:a,precision:i,getValidNumberObject:d}}function Z(t,n,e,r,i){const{cleanFormat:s,format:c}=e,{displayValue:d,getRealValue:f,modelValue:a,isEmpty:l,onNumberValueChanged:o}=r,{downward:u,upward:y}=i,p=m.ref(!1),h=m.computed(()=>d.value);function v(C){var F;if(C.stopPropagation(),p.value=!1,t.readonly||t.disabled)return;let b=(F=C.target)==null?void 0:F.value;t.canNull||(b=b||0);const N=s(b);d.value=c(N),o(f(N)),n.emit("blur",{event:C,formatted:d.value,value:a.value})}function k(C){C.stopPropagation(),p.value=!0,!(t.readonly||t.disabled)&&(d.value=l(a.value)||!t.showZero&&a.value==="0"?"":String(a.value),n.emit("focus",{event:C,formatted:d.value,value:a.value}))}function M(C){var F;C.stopPropagation();let b=(F=C.target)==null?void 0:F.value;t.canNull||(b=b||0);const N=s(b);d.value=N,o(f(N))}function B(C){C.key==="ArrowDown"&&(C.preventDefault(),u()),C.key==="ArrowUp"&&(C.preventDefault(),y()),C.stopPropagation()}return{textBoxValue:h,onBlurTextBox:v,onFocusTextBox:k,onInput:M,onKeyDown:B,isFocus:p}}function X(t,n,e){const{canDownward:r,canUpward:i,onClickDownButton:s,onClickUpButton:c}=e,d=m.computed(()=>({"input-group-append":!0,"btn-group":!0,"btn-group-number":!0})),f=m.computed(()=>({btn:!0,"btn-secondary":!0,"btn-number-flag":!0})),a=m.computed(()=>({cursor:i()?"pointer":"not-allowed","margin-left":0})),l=m.computed(()=>({cursor:r()?"pointer":"not-allowed","margin-left":0}));return()=>m.createVNode("div",{class:d.value},[m.createVNode("button",{title:"upButton",class:f.value,style:a.value,onClick:c,disabled:!i()},[m.createVNode("span",{class:"f-icon f-icon-arrow-chevron-up number-arrow-chevron"},null)]),m.createVNode("button",{title:"downButton",class:f.value,style:l.value,onClick:s,disabled:!r()},[m.createVNode("span",{class:"f-icon f-icon-arrow-chevron-down number-arrow-chevron"},null)])])}function ie(t,n,e){const r=m.ref(),{onBlurTextBox:i,onFocusTextBox:s,onInput:c,onKeyDown:d,textBoxValue:f}=e,a=m.computed(()=>t.disabled||t.readonly||!t.editable?"":t.placeholder),l=m.computed(()=>({"form-control":!0,"f-utils-fill":!0})),o=m.computed(()=>({"text-align":t.textAlign}));function u(h){h.stopPropagation()}function y(){t.selectOnCreated,t.focusOnCreated}async function p(h){s(h),await m.nextTick,y()}return m.onMounted(async()=>{await m.nextTick,y()}),()=>m.createVNode("input",{ref:r,class:l.value,style:o.value,type:"text",value:f.value,disabled:t.disabled,readonly:t.readonly||!t.editable,placeholder:a.value,onBlur:i,onChange:u,onFocus:p,onInput:c,onKeydown:d},null)}const D=m.defineComponent({name:"FNumberSpinner",props:I,emits:["update:modelValue","valueChange","change","blur","focus","click","input"],setup(t,n){const e=U(t,n),r=x(t,n,e),i=O(t,n,r,e),s=Z(t,n,r,e,i),c=X(t,n,i),{displayValue:d,modelValue:f,getRealValue:a}=e,l=ie(t,n,s),{format:o}=r,{isFocus:u}=s,y=m.computed(()=>!t.disabled&&!t.readonly&&t.showButton);return m.onMounted(()=>{const p=a(t.modelValue);d.value=o(p)}),m.watch(()=>[t.value],([p])=>{const h=a(p);f.value=h,d.value=o(h)}),m.watch(()=>[t.modelValue],([p])=>{p!==f.value&&(f.value=p,!u.value&&(d.value=o(a(p))))}),m.watch(()=>[t.precision,t.useThousands,t.prefix,t.suffix,t.showZero],()=>{d.value=o(f.value)}),()=>m.createVNode("div",{class:"input-group f-state-hover flex-row f-cmp-number-spinner"},[l(),y.value&&c()])}});function ae(t,n,e){var C;const r=e&&e.getStyles&&e.getStyles()||"",i=e&&e.getDesignerClass&&e.getDesignerClass()||"",s=m.ref();function c(){return(n==null?void 0:n.schema.componentType)==="frame"?!1:e&&e.checkCanMoveComponent?e.checkCanMoveComponent():!0}function d(){return!1}function f(){return(n==null?void 0:n.schema.componentType)==="frame"?!1:e&&e.checkCanDeleteComponent?e.checkCanDeleteComponent():!0}function a(){return(n==null?void 0:n.schema.componentType)==="frame"?!0:e&&e.hideNestedPaddingInDesginerView?e.hideNestedPaddingInDesginerView():!1}function l(b){if(!b||!b.value)return null;if(b.value.schema&&b.value.schema.type==="component")return b.value;const N=m.ref(b==null?void 0:b.value.parent),F=l(N);return F||null}function o(b=n){const{componentInstance:N,designerItemElementRef:F}=b;return!N||!N.value?null:N.value.canMove?F:o(b.parent)}function u(b){return!!e&&e.canAccepts(b)}function y(){return(n==null?void 0:n.schema.label)||(n==null?void 0:n.schema.title)||(n==null?void 0:n.schema.name)}function p(){}function h(b,N){N&&e!=null&&e.onAcceptMovedChildElement&&e.onAcceptMovedChildElement(N)}function v(b,N){const{componentType:F}=b;let T=z(F,b,N);e&&e.onResolveNewComponentSchema&&(T=e.onResolveNewComponentSchema(b,T));const q=F.toLowerCase().replace(/-/g,"_");return T&&!T.id&&T.type===F&&(T.id=`${q}_${Math.random().toString().slice(2,6)}`),T}function k(b){}function M(...b){if(e&&e.getPropsConfig)return e.getPropsConfig(...b)}function B(){e&&e.onRemoveComponent&&e.onRemoveComponent(),n!=null&&n.schema.contents&&n.schema.contents.map(b=>{var T;let N=b.id;b.type==="component-ref"&&(N=b.component);const F=t.value.querySelector(`#${N}-design-item`);(T=F==null?void 0:F.componentInstance)!=null&&T.value.onRemoveComponent&&F.componentInstance.value.onRemoveComponent()})}return s.value={canMove:c(),canSelectParent:d(),canDelete:f(),canNested:!a(),contents:n==null?void 0:n.schema.contents,elementRef:t,parent:(C=n==null?void 0:n.parent)==null?void 0:C.componentInstance,schema:n==null?void 0:n.schema,styles:r,designerClass:i,canAccepts:u,getBelongedComponentInstance:l,getDraggableDesignItemElement:o,getDraggingDisplayText:y,getPropConfig:M,getDragScopeElement:p,onAcceptMovedChildElement:h,onChildElementMovedOut:k,addNewChildComponentSchema:v,triggerBelongedComponentToMoveWhenMoved:!!e&&e.triggerBelongedComponentToMoveWhenMoved||m.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!e&&e.triggerBelongedComponentToDeleteWhenDeleted||m.ref(!1),onRemoveComponent:B},s}class le{constructor(n,e){S(this,"componentId");S(this,"viewModelId");S(this,"eventsEditorUtils");S(this,"formSchemaUtils");S(this,"formMetadataConverter");S(this,"designViewModelUtils");S(this,"designViewModelField");S(this,"controlCreatorUtils");S(this,"designerHostService");S(this,"schemaService",null);S(this,"metadataService",null);S(this,"propertyConfig",{type:"object",categories:{}});var r;this.componentId=n,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((r=this.formSchemaUtils)==null?void 0:r.getViewModelIdByComponentId(n))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService}getTableInfo(){var n;return(n=this.schemaService)==null?void 0:n.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(n){var r;const e=n.binding&&n.binding.type==="Form"&&n.binding.field;if(e){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(s=>s.id===e)}n.updateOn=(r=this.designViewModelField)==null?void 0:r.updateOn}}changeFieldEditorType(n,e){}getBasicPropConfig(n){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:n.type,name:g[n.type].name}]}}}}}getAppearanceConfig(n=null){return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"}}}}updateElementByParentContainer(n,e){const r=e&&e.parent&&e.parent.schema;if(!r)return;const i=r.contents.findIndex(c=>c.id===n),s=E.cloneDeep(r.contents[i]);r.contents.splice(i,1),r.contents.splice(i,0,s)}}const P=class P{static getEditorTypesByMDataType(n){const e=P.fieldControlTypeMapping[n];return e||[{key:"",value:""}]}static getAllInputTypes(){const n=[];for(const e in P.fieldControlTypeMapping)P.fieldControlTypeMapping[e].forEach(r=>{n.find(i=>i.key===r.key&&i.value===r.value)||n.push({key:r.key,value:r.value})});return n}};S(P,"fieldControlTypeMapping",{String:[{key:g["input-group"].type,value:g["input-group"].name},{key:g.lookup.type,value:g.lookup.name},{key:g["date-picker"].type,value:g["date-picker"].name},{key:g["check-box"].type,value:g["check-box"].name},{key:g["check-group"].type,value:g["check-group"].name},{key:g["radio-group"].type,value:g["radio-group"].name},{key:g["combo-list"].type,value:g["combo-list"].name},{key:g.textarea.type,value:g.textarea.name}],Text:[{key:g.textarea.type,value:g.textarea.name},{key:g.lookup.type,value:g.lookup.name}],Decimal:[{key:g["number-spinner"].type,value:g["number-spinner"].name}],Integer:[{key:g["number-spinner"].type,value:g["number-spinner"].name}],Number:[{key:g["number-spinner"].type,value:g["number-spinner"].name}],BigNumber:[{key:g["number-spinner"].type,value:g["number-spinner"].name}],Date:[{key:g["date-picker"].type,value:g["date-picker"].name}],DateTime:[{key:g["date-picker"].type,value:g["date-picker"].name}],Boolean:[{key:g.switch.type,value:g.switch.name},{key:g["check-box"].type,value:g["check-box"].name}],Enum:[{key:g["combo-list"].type,value:g["combo-list"].name},{key:g["radio-group"].type,value:g["radio-group"].name}],Object:[{key:g.lookup.type,value:g.lookup.name},{key:g["combo-list"].type,value:g["combo-list"].name},{key:g["radio-group"].type,value:g["radio-group"].name}]});let L=P;const se=m.ref(0);class ce{constructor(){S(this,"label","");S(this,"id","");S(this,"columnInSM",12);S(this,"columnInMD",6);S(this,"columnInLG",3);S(this,"columnInEL",2);S(this,"displayWidthInSM",1);S(this,"displayWidthInMD",1);S(this,"displayWidthInLG",1);S(this,"displayWidthInEL",1);S(this,"displayColumnCountAtBreakPoint","md");S(this,"tagRow",0);S(this,"showTopBorder",0);S(this,"group",1);S(this,"isSupportedClass",!0);S(this,"fieldSetId","")}}function ue(t){let n,e;const r=new Map;let i=[];function s(l,o){const y=l.split(" ").filter(M=>M.startsWith("col-"));if(y.length===0){o.isSupportedClass=!1;return}let p=y.find(M=>/^col-([1-9]|10|11|12)$/.test(M)),h=y.find(M=>/^col-md-([1-9]|10|11|12)$/.test(M)),v=y.find(M=>/^col-xl-([1-9]|10|11|12)$/.test(M)),k=y.find(M=>/^col-el-([1-9]|10|11|12)$/.test(M));p=p||"col-12",o.columnInSM=parseInt(p.replace("col-",""),10),o.displayWidthInSM=o.columnInSM/12,o.displayWidthInSM!==1&&(o.isSupportedClass=!1),h=h||"col-md-"+o.columnInSM,o.columnInMD=parseInt(h.replace("col-md-",""),10),o.displayWidthInMD=o.columnInMD/6,[1,2].includes(o.displayWidthInMD)||(o.isSupportedClass=!1),v=v||"col-xl-"+o.columnInMD,o.columnInLG=parseInt(v.replace("col-xl-",""),10),o.displayWidthInLG=o.columnInLG/3,[1,2,3,4].includes(o.displayWidthInLG)||(o.isSupportedClass=!1),k=k||"col-el-"+o.columnInLG,o.columnInEL=parseInt(k.replace("col-el-",""),10),o.displayWidthInEL=o.columnInEL/2,[1,2,3,4,5,6].includes(o.displayWidthInEL)||(o.isSupportedClass=!1)}function c(l,o,u,y=!1){let p=!1;l.contents.forEach(h=>{if(h.type==="fieldset"){u+=1,c(h,o,u,!0),p=!0;return}p&&(u+=1,p=!1);const v=h.appearance&&h.appearance.class,k=new ce;v?s(v,k):k.isSupportedClass=!1,k.label=h.label||h.id,k.id=h.id,k.group=u,y&&(k.fieldSetId=l.id),e===h.id&&(n=u),r.set(h.id,h),o.push(k)})}function d(l){const o=t.getComponentById(l);if(!o||!o.componentType||!o.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const u=t.selectNode(o,y=>y.type===G.DgControl["response-form"].type);return!u||!u.contents||u.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:u}}function f(l,o){o=o||l.id;const{result:u,message:y,formNode:p}=d(o);if(!u)return{result:u,message:y};e=l.id,i=[],r.clear();const h=p.contents[0].type===G.DgControl.fieldset.type?0:1;c(p,i,h);const v=i.find(M=>!M.isSupportedClass);return{defaultState:{defaultGroupNumber:n||1,model:v?"customize":"standard"},importData:i}}function a(l,o){o=o;const{result:u,formNode:y}=d(o);if(!u)return"";const p=[];return l.forEach(h=>{var M;const v=r.get(h.id),k=v.appearance&&v.appearance.class;if(k){const C=k.split(" ").filter(ge=>!ge.startsWith("col-")),b="col-"+h.columnInSM,N="col-md-"+h.columnInMD,F="col-xl-"+h.columnInLG,T="col-el-"+h.columnInEL,q=[b,N,F,T].concat(C);v.appearance.class=q.join(" ")}if(h.fieldSetId){const B=y.contents.find(b=>b.id===h.fieldSetId),C=p.find(b=>b.id===h.fieldSetId);C?(M=C.contents)==null||M.push(v):(p.push(B),B.contents=[v])}else p.push(v)}),y.contents=p,y.id}return{checkCanFindFormNode:d,checkCanOpenLayoutEditor:f,changeFormControlsByResponseLayoutConfig:a,getResonseFormLayoutConfig:c}}class pe extends le{constructor(e,r){super(e,r);S(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=ue(this.formSchemaUtils)}getPropertyConfig(e,r){return this.propertyConfig.categories.basic=this.getBasicProperties(e,r),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,r),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig}getBasicProperties(e,r){var s;const i=this;return this.setDesignViewModelField(e),this.formSchemaUtils.getFormMetadataBasicInfo(),{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",refreshPanelAfterChanged:!0,$converter:"/converter/change-editor.converter",editor:{type:"combo-list",textField:"value",valueField:"key",editable:!1,data:i.designViewModelField?L.getEditorTypesByMDataType((s=i.designViewModelField.type)==null?void 0:s.name):L.getAllInputTypes()}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"}}},setPropertyRelates(c,d){if(c)switch(c&&c.propertyID){case"type":{i.changeControlType(e,c,r);break}case"label":{c.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(e,r){const i=this;return{title:"样式",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",initialState:i.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,i.componentId)}}},setPropertyRelates(s,c){if(s)switch(s&&s.propertyID){case"responseLayout":i.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(s.propertyValue,i.componentId||e.id),i.updateUnifiedLayoutAfterResponseLayoutChanged(i.componentId),i.updateElementByParentContainer(e.id,r),delete e.responseLayout;break;case"class":i.updateUnifiedLayoutAfterControlChanged(s.propertyValue,e.id,this.componentId),i.updateElementByParentContainer(e.id,r);break}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,r,i){var l,o,u,y;const s=r.propertyValue,c=i&&i.parent&&i.parent.schema;if(!c)return;const d=c.contents.findIndex(p=>p.id===e.id),f=c.contents[d];let a;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:s},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),a=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,s)),a||(a=this.controlCreatorUtils.createFormGroupWithoutField(s)),Object.assign(a,{id:f.id,appearance:f.appearance,size:f.size,label:f.label,binding:f.binding,visible:f.visible}),Object.assign(a.editor,{isTextArea:a.isTextArea&&f.isTextArea,placeholder:(l=f.editor)==null?void 0:l.placeholder,holdPlace:(o=f.editor)==null?void 0:o.holdPlace,readonly:(u=f.editor)==null?void 0:u.readonly,require:(y=f.editor)==null?void 0:y.require}),c.contents.splice(d,1),c.contents.splice(d,0,a),i.schema=Object.assign(f,a),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(p=>p.classList.remove("dgComponentSelected")),se.value++}getComponentConfig(e,r={},i={}){const s=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},r),c=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},i);return{...s,properties:{...c}}}updateUnifiedLayoutAfterControlChanged(e,r,i){const s=e.split(" ");let c=s.find(o=>/^col-([1-9]|10|11|12)$/.test(o)),d=s.find(o=>/^col-md-([1-9]|10|11|12)$/.test(o)),f=s.find(o=>/^col-xl-([1-9]|10|11|12)$/.test(o)),a=s.find(o=>/^col-el-([1-9]|10|11|12)$/.test(o));c=c||"col-12",d=d||"col-md-"+c.replace("col-",""),f=f||"col-xl-"+d.replace("col-md-",""),a=a||"col-el-"+f.replace("col-xl-","");const l={id:r,columnInSM:parseInt(c.replace("col-",""),10),columnInMD:parseInt(d.replace("col-md-",""),10),columnInLG:parseInt(f.replace("col-xl-",""),10),columnInEL:parseInt(a.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(i,l)}updateUnifiedLayoutAfterResponseLayoutChanged(e,r){const{formNode:i}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!i||!i.unifiedLayout)return;const s=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(i,s,1),r){const p=s.find(h=>h.id===r.id);Object.assign(p||{},r)}const c=s.map(p=>p.columnInSM),d=s.map(p=>p.columnInMD),f=s.map(p=>p.columnInLG),a=s.map(p=>p.columnInEL),l=this.checkIsUniqueColumn(c)?c[0]:null,o=this.checkIsUniqueColumn(d)?d[0]:null,u=this.checkIsUniqueColumn(f)?f[0]:null,y=this.checkIsUniqueColumn(a)?a[0]:null;Object.assign(i.unifiedLayout,{uniqueColClassInSM:l,uniqueColClassInMD:o,uniqueColClassInLG:u,uniqueColClassInEL:y})}checkIsUniqueColumn(e){const r=new Set(e);return Array.from(r).length===1}}class de extends pe{constructor(n,e){super(n,e)}getEditorProperties(n){return this.getComponentConfig(n,{type:"number-spinner"},{precision:{description:"",title:"精度",type:"number"},step:{description:"",title:"步长",type:"number"},max:{description:"",title:"最大值",type:"number",editor:{canNull:!0}},min:{description:"",title:"最小值",type:"number",editor:{canNull:!0}},textAlign:{description:"",title:"对齐方式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:[{value:"left",name:"左对齐"},{value:"center",name:"居中"},{value:"right",name:"右对齐"}]}}})}}function me(t,n){const e=t.schema;function r(i,s){return new de(i,n).getPropertyConfig(e,s)}return{getPropsConfig:r}}const fe=m.defineComponent({name:"FNumberSpinnerDesign",props:I,emits:["update:modelValue","valueChange","change","blur","focus","click","input"],setup(t,n){const e=U(t,n),r=x(t,n,e),i=O(t,n,r,e),s=X(t,n,i),c=m.ref(),d=m.inject("designer-host-service"),f=m.inject("design-item-context"),a=me(f,d),l=ae(c,f,a);m.onMounted(()=>{c.value.componentInstance=l,t.readonly=!0}),n.expose(l.value);const o=m.ref();return()=>m.createVNode("div",{ref:c,class:"input-group f-state-hover flex-row f-cmp-number-spinner test"},[m.createVNode("input",{ref:o,class:"form-control",readonly:!0,placeholder:t.placeholder},null),s()])}});D.register=(t,n,e,r)=>{t["number-spinner"]=D,n["number-spinner"]=A},D.registerDesigner=(t,n,e)=>{t["number-spinner"]=fe,n["number-spinner"]=A};const ye=_.withInstall(D);w.FNumberSpinner=D,w.default=ye,w.numberSpinnerProps=I,w.propsResolver=A,w.useFormat=x,w.useNumber=U,w.useSpinner=O,w.useTextBox=Z,Object.defineProperties(w,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});