@farris/ui-vue 1.3.1 → 1.3.4

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 (269) 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 +1175 -1280
  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 +4658 -4555
  33. package/components/data-grid/index.umd.cjs +1 -1
  34. package/components/data-view/index.esm.js +2891 -2994
  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 +9912 -1191
  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 +1595 -1725
  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 +355 -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 +622 -633
  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 +2079 -2178
  62. package/components/external-container/index.umd.cjs +1 -1
  63. package/components/field-selector/index.esm.js +3062 -3322
  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 +10581 -3225
  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 +10182 -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 +1909 -2007
  80. package/components/list-view/index.umd.cjs +1 -1
  81. package/components/lookup/index.esm.js +6292 -6244
  82. package/components/lookup/index.umd.cjs +1 -1
  83. package/components/mapping-editor/index.esm.js +5165 -5062
  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.css +1 -1
  108. package/components/property-panel/index.esm.js +650 -677
  109. package/components/property-panel/index.umd.cjs +1 -1
  110. package/components/query-solution/index.css +1 -1
  111. package/components/query-solution/index.esm.js +12607 -5080
  112. package/components/query-solution/index.umd.cjs +6 -1
  113. package/components/radio-button/index.esm.js +97 -97
  114. package/components/radio-button/index.umd.cjs +1 -1
  115. package/components/radio-group/index.css +1 -1
  116. package/components/radio-group/index.esm.js +1821 -565
  117. package/components/radio-group/index.umd.cjs +1 -1
  118. package/components/rate/index.esm.js +251 -244
  119. package/components/rate/index.umd.cjs +1 -1
  120. package/components/response-layout/index.esm.js +151 -140
  121. package/components/response-layout/index.umd.cjs +1 -1
  122. package/components/response-layout-editor/index.esm.js +707 -676
  123. package/components/response-layout-editor/index.umd.cjs +1 -1
  124. package/components/response-toolbar/index.esm.js +719 -740
  125. package/components/response-toolbar/index.umd.cjs +1 -1
  126. package/components/schema-selector/index.esm.js +5002 -5272
  127. package/components/schema-selector/index.umd.cjs +2 -2
  128. package/components/search-box/index.esm.js +145 -134
  129. package/components/search-box/index.umd.cjs +1 -1
  130. package/components/section/index.esm.js +2128 -427
  131. package/components/section/index.umd.cjs +1 -1
  132. package/components/smoke-detector/index.esm.js +141 -130
  133. package/components/smoke-detector/index.umd.cjs +1 -1
  134. package/components/splitter/index.esm.js +311 -301
  135. package/components/splitter/index.umd.cjs +1 -1
  136. package/components/step/index.esm.js +231 -220
  137. package/components/step/index.umd.cjs +1 -1
  138. package/components/switch/index.esm.js +385 -432
  139. package/components/switch/index.umd.cjs +1 -1
  140. package/components/tabs/index.esm.js +2223 -2203
  141. package/components/tabs/index.umd.cjs +1 -1
  142. package/components/tags/index.esm.js +351 -340
  143. package/components/tags/index.umd.cjs +1 -1
  144. package/components/text/index.esm.js +209 -199
  145. package/components/text/index.umd.cjs +1 -1
  146. package/components/textarea/index.esm.js +399 -421
  147. package/components/textarea/index.umd.cjs +1 -1
  148. package/components/time-picker/index.esm.js +619 -666
  149. package/components/time-picker/index.umd.cjs +1 -1
  150. package/components/transfer/index.esm.js +493 -486
  151. package/components/transfer/index.umd.cjs +1 -1
  152. package/components/tree-grid/index.esm.js +2992 -3101
  153. package/components/tree-grid/index.umd.cjs +1 -1
  154. package/components/tree-view/index.esm.js +2350 -2448
  155. package/components/tree-view/index.umd.cjs +1 -1
  156. package/components/uploader/index.esm.js +563 -554
  157. package/components/uploader/index.umd.cjs +2 -2
  158. package/components/verify-detail/index.esm.js +287 -276
  159. package/components/verify-detail/index.umd.cjs +1 -1
  160. package/components/video/index.esm.js +368 -324
  161. package/components/video/index.umd.cjs +1 -1
  162. package/components/weather/index.esm.js +498 -487
  163. package/components/weather/index.umd.cjs +5 -5
  164. package/farris.all.esm.js +46910 -42804
  165. package/farris.all.umd.cjs +14 -9
  166. package/index.css +1 -1
  167. package/package.json +1 -1
  168. package/types/binding-selector/index.d.ts +55 -0
  169. package/types/binding-selector/src/binding-selector.component.d.ts +11 -0
  170. package/types/binding-selector/src/binding-selector.props.d.ts +52 -0
  171. package/types/binding-selector/src/components/binding-selector-container.component.d.ts +13 -0
  172. package/types/binding-selector/src/composition/use-field-selection.d.ts +9 -0
  173. package/types/combo-list/src/components/list-container.component.d.ts +6 -6
  174. package/types/combo-list/src/components/list-container.props.d.ts +1 -1
  175. package/types/combo-tree/src/components/tree-container.component.d.ts +5 -5
  176. package/types/common/entity/entity-schema.d.ts +26 -11
  177. package/types/common/index.d.ts +1 -0
  178. package/types/common/types.d.ts +2 -2
  179. package/types/condition/src/condition-fields.design.component.d.ts +18 -0
  180. package/types/condition/src/types.d.ts +6 -6
  181. package/types/data-grid/src/composition/data-grid-component-creator.service.d.ts +20 -0
  182. package/types/data-grid/src/{designer/data-grid-column.props.d.ts → data-grid-column.props.d.ts} +1 -1
  183. package/types/data-grid/src/data-grid.props.d.ts +2 -2
  184. package/types/data-grid/src/designer/grid-field-editor.component.d.ts +14 -14
  185. package/types/data-grid/src/schema/schema-resolver.d.ts +1 -1
  186. package/types/data-view/composition/types.d.ts +2 -2
  187. package/types/date-picker/src/components/calendar/calendar.component.d.ts +3 -3
  188. package/types/date-picker/src/components/month/month.component.d.ts +3 -3
  189. package/types/date-picker/src/components/year/year.component.d.ts +3 -3
  190. package/types/designer-canvas/index.d.ts +2 -1
  191. package/types/designer-canvas/src/composition/dg-control.d.ts +5 -0
  192. package/types/designer-canvas/src/composition/function/drag-resolve.d.ts +5 -0
  193. package/types/designer-canvas/src/composition/types.d.ts +49 -40
  194. package/types/designer-canvas/src/types.d.ts +8 -20
  195. package/types/dynamic-form/index.d.ts +1 -1
  196. package/types/dynamic-form/src/designer/form-group-use-designer-rules.d.ts +2 -0
  197. package/types/dynamic-form/src/schema/{schema-resolver.d.ts → response-form-schema-resolver.d.ts} +1 -1
  198. package/types/dynamic-form/src/types.d.ts +1 -1
  199. package/types/dynamic-resolver/src/common/toolbar-resolver.d.ts +5 -0
  200. package/types/dynamic-resolver/src/converter/row-number.converter.d.ts +3 -0
  201. package/types/entity-binding-selector/composition/use-entity-tree.d.ts +18 -0
  202. package/types/entity-binding-selector/composition/use-field-tree.d.ts +28 -0
  203. package/types/entity-binding-selector/entity-binding-selector.component.d.ts +11 -0
  204. package/types/entity-binding-selector/entity-binding-selector.props.d.ts +3 -0
  205. package/types/enum-editor/src/components/enum-editor-container.component.d.ts +3 -3
  206. package/types/enum-editor/src/enum-editor.component.d.ts +3 -3
  207. package/types/event-parameter/index.d.ts +31 -0
  208. package/types/event-parameter/src/composition/type.d.ts +77 -0
  209. package/types/event-parameter/src/composition/use-editor-combotree.d.ts +3 -0
  210. package/types/event-parameter/src/composition/use-editor-input.d.ts +3 -0
  211. package/types/event-parameter/src/composition/use-editor-select.d.ts +3 -0
  212. package/types/event-parameter/src/composition/use-editor-switch.d.ts +3 -0
  213. package/types/event-parameter/src/composition/use-editor.d.ts +3 -0
  214. package/types/event-parameter/src/composition/use-general-editor.d.ts +26 -0
  215. package/types/event-parameter/src/event-parameter.component.d.ts +8 -0
  216. package/types/event-parameter/src/event-parameter.props.d.ts +34 -0
  217. package/types/events-editor/src/composition/types.d.ts +1 -1
  218. package/types/external-container/src/designer/import-external-schema.component.d.ts +1 -1
  219. package/types/field-selector/src/field-selector.component.d.ts +1 -2
  220. package/types/field-selector/src/field-selector.props.d.ts +0 -9
  221. package/types/input-group/src/designer/use-input-group-rules.d.ts +1 -2
  222. package/types/list-view/src/designer/list-view-table.design.component.d.ts +15 -0
  223. package/types/list-view/src/list-view-table.component.d.ts +15 -0
  224. package/types/lookup/src/composition/use-user-data.d.ts +2 -2
  225. package/types/lookup/src/property-config/lookup.property-config.d.ts +2 -6
  226. package/types/modal/src/composition/modal.service.d.ts +2 -1
  227. package/types/page-header/src/designer/page-header.design.component.d.ts +1 -1
  228. package/types/page-header/src/page-header.component.d.ts +1 -1
  229. package/types/property-panel/index.d.ts +2 -1
  230. package/types/property-panel/src/composition/entity/property-entity.d.ts +1 -1
  231. package/types/property-panel/src/composition/type.d.ts +0 -13
  232. package/types/query-solution/src/composition/types.d.ts +90 -4
  233. package/types/query-solution/src/composition/use-condition.d.ts +19 -0
  234. package/types/query-solution/src/composition/use-header.d.ts +21 -0
  235. package/types/query-solution/src/composition/{use-filter.d.ts → use-http.d.ts} +2 -2
  236. package/types/query-solution/src/composition/use-solution.d.ts +20 -0
  237. package/types/query-solution/src/designer/query-solution-config/composition/types.d.ts +18 -16
  238. package/types/query-solution/src/designer/query-solution-config/converter/query-solution-config-property.converter.d.ts +4 -0
  239. package/types/query-solution/src/designer/query-solution-config/query-solution-config.props.d.ts +14 -14
  240. package/types/query-solution/src/property-config/query-solution.property-config.d.ts +3 -51
  241. package/types/query-solution/src/query-solution.d.ts +10 -2
  242. package/types/radio-group/src/designer/item-collection-editor-inner.component.d.ts +29 -0
  243. package/types/radio-group/src/designer/item-collection-editor.component.d.ts +29 -0
  244. package/types/radio-group/src/designer/item-collection-editor.props.d.ts +21 -0
  245. package/types/radio-group/src/schema/schema-mapper.d.ts +1 -0
  246. package/types/radio-group/src/schema/schema-resolver.d.ts +1 -0
  247. package/types/response-toolbar/src/property-config/response-toolbar.property-config.d.ts +1 -0
  248. package/types/section/index.d.ts +15 -0
  249. package/types/section/src/designer/section-header.design.component.d.ts +4 -0
  250. package/types/section/src/designer/section-toolbar-item.props.d.ts +19 -0
  251. package/types/section/src/designer/section-toolbar.design.component.d.ts +3 -0
  252. package/types/section/src/property-config/section.property-config.d.ts +17 -17
  253. package/types/section/src/schema/schema-resolver.d.ts +1 -2
  254. package/types/section/src/schema/toolbar-resolver.d.ts +1 -1
  255. package/types/tabs/src/composition/types.d.ts +4 -1
  256. package/types/tabs/src/property-config/tab-page.property-config.d.ts +9 -59
  257. package/types/tabs/src/property-config/tabs.property-config.d.ts +8 -71
  258. package/types/tabs/src/schema/schema-resolver.d.ts +1 -2
  259. package/types/text/src/composition/types.d.ts +4 -4
  260. package/types/textarea/src/property-config/textarea.property-config.d.ts +23 -0
  261. package/types/weather/src/composition/use-weather-charts.d.ts +15 -0
  262. package/types/weather/src/composition/use-weather-color.d.ts +15 -0
  263. package/types/weather/src/composition/use-weather-data.d.ts +15 -0
  264. package/types/weather/src/composition/use-weather-format-number.d.ts +15 -0
  265. package/types/property-panel/src/composition/entity/use-input-rules.d.ts +0 -3
  266. package/types/tree-grid/src/schema/column-resolver.d.ts +0 -3
  267. package/types/weather/src/composition/types.d.ts +0 -2
  268. /package/types/dynamic-form/src/designer/{use-designer-rules.d.ts → response-form-use-designer-rules.d.ts} +0 -0
  269. /package/types/dynamic-form/src/property-config/{form.property-config.d.ts → response-form.property-config.d.ts} +0 -0
@@ -1 +1 @@
1
- (function(w,f){typeof exports=="object"&&typeof module<"u"?f(exports,require("vue"),require("lodash-es"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../common/index.umd.js","../designer-canvas/index.umd.js"],f):(w=typeof globalThis<"u"?globalThis:w||self,f(w.textarea={},w.Vue,w.LodashES,w.common,w.designerCanvas))})(this,function(w,f,V,U,$){"use strict";var ue=Object.defineProperty;var me=(w,f,V)=>f in w?ue(w,f,{enumerable:!0,configurable:!0,writable:!0,value:V}):w[f]=V;var C=(w,f,V)=>me(w,typeof f!="symbol"?f+"":f,V);const j={},G={};function A(i){const{properties:t,title:e,ignore:o}=i,r=o&&Array.isArray(o),l=Object.keys(t).reduce((c,y)=>((!r||!o.find(m=>m==y))&&(c[y]=t[y].type==="object"&&t[y].properties?A(t[y]):V.cloneDeep(t[y].default)),c),{});return e&&(!r||!o.find(c=>c=="id"))&&(l.id=`${e}-${Date.now()}`),l}function W(i,t={},e){const o=j[i];if(o){let r=A(o);const l=G[i];return r=l?l({getSchemaByType:W},r,t,e):r,r}return null}function q(i,t){const e=A(t);return Object.keys(i).reduce((o,r)=>(o[r]&&V.isPlainObject(o[r])&&V.isPlainObject(i[r])?Object.assign(o[r],i[r]):o[r]=i[r],o),e),e}function O(i,t){return Object.keys(i).filter(o=>i[o]!=null).reduce((o,r)=>{if(t.has(r)){const l=t.get(r);if(typeof l=="string")o[l]=i[r];else{const c=l(r,i[r],i);Object.assign(o,c)}}else o[r]=i[r];return o},{})}function z(i,t,e=new Map){const o=q(i,t);return O(o,e)}function X(i={}){function t(a,s,n,p){if(typeof n=="number")return p[a].length===n;if(typeof n=="object"){const h=Object.keys(n)[0],u=n[h];if(h==="not")return Number(p[a].length)!==Number(u);if(h==="moreThan")return Number(p[a].length)>=Number(u);if(h==="lessThan")return Number(p[a].length)<=Number(u)}return!1}function e(a,s,n,p){return p[a]&&p[a].propertyValue&&String(p[a].propertyValue.value)===String(n)}const o=new Map([["length",t],["getProperty",e]]);Object.keys(i).reduce((a,s)=>(a.set(s,i[s]),a),o);function r(a,s){const n=a;return typeof s=="number"?[{target:n,operator:"length",param:null,value:Number(s)}]:typeof s=="boolean"?[{target:n,operator:"getProperty",param:a,value:!!s}]:typeof s=="object"?Object.keys(s).map(p=>{if(p==="length")return{target:n,operator:"length",param:null,value:s[p]};const h=p,u=s[p];return{target:n,operator:"getProperty",param:h,value:u}}):[]}function l(a){return Object.keys(a).reduce((n,p)=>{const h=r(p,a[p]);return n.push(...h),n},[])}function c(a,s){if(o.has(a.operator)){const n=o.get(a.operator);return n&&n(a.target,a.param,a.value,s)||!1}return!1}function y(a,s){return l(a).reduce((h,u)=>h&&c(u,s),!0)}function m(a,s){const n=Object.keys(a),p=n.includes("allOf"),h=n.includes("anyOf"),u=p||h,M=(u?a[u?p?"allOf":"anyOf":"allOf"]:[a]).map(S=>y(S,s));return p?!M.includes(!1):M.includes(!0)}return{parseValueSchema:m}}const d={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"}},_={},J={};X();function Q(i,t,e=new Map,o=(c,y,m)=>y,r={},l=c=>c){return j[t.title]=t,G[t.title]=o,_[t.title]=r,J[t.title]=l,(c={})=>{const y=z(c,t,e),m=Object.keys(i).reduce((a,s)=>(a[s]=i[s].default,a),{});return Object.assign(m,y)}}function Y(i,t){return{customClass:t.class,customStyle:t.style}}const Z=new Map([["appearance",Y]]),H={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/switch.schema.json",title:"textarea",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a textarea",type:"string"},type:{description:"The type string of textarea component",type:"string",default:"textarea"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},ignore:["id","appearance","binding"]},required:["id","type"]};function K(i,t,e){return t}const D={autofocus:{type:Boolean,default:!1},autocomplete:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!1},id:{type:String,default:""},minLength:{type:Number,default:0},maxLength:{type:Number},modelValue:{type:String,default:""},placeholder:{type:String,default:""},readonly:{type:Boolean,default:!1},rows:{type:Boolean},showCount:{type:Boolean,default:!1},showBorder:{Type:Boolean,default:!0},tabIndex:{type:Number,default:-1}},N=Q(D,H,Z,K),P=f.defineComponent({name:"FTextarea",props:D,emits:["update:modelValue","valueChange"],setup(i,t){const e=f.ref(),o=f.ref(i.modelValue),r=f.computed(()=>i.modelValue),l=U.useTextBox(i,t,o,r),{inputGroupClass:c,onBlur:y,onFocus:m}=l,a=U.useClear(i,t,l),{onMouseEnter:s,onMouseLeave:n,clearButtonClass:p,shouldShowClearButton:h,clearButtonStyle:u}=a,g=f.computed(()=>i.maxLength?i.maxLength:i.modelValue.length),k=b=>{var S,F;b.stopPropagation(),t.emit("update:modelValue",(S=b.target)==null?void 0:S.value),t.emit("valueChange",(F=b.target)==null?void 0:F.value)},M=b=>{b.stopPropagation(),e.value.value="",t.emit("update:modelValue",""),t.emit("valueChange","")};return f.onMounted(()=>{}),()=>f.createVNode("div",{class:c.value,onMouseenter:s,onMouseleave:n,style:"position:relative"},[f.withDirectives(f.createVNode("textarea",{class:"form-control",id:i.id,"onUpdate:modelValue":b=>i.modelValue=b,ref:e,minlength:i.minLength,maxlength:i.maxLength?i.maxLength:null,tabindex:i.tabIndex,disabled:i.disabled,readonly:i.readonly,autocomplete:i.autocomplete,placeholder:i.placeholder,autofocus:i.autofocus,rows:i.rows,onInput:k,onFocus:m,onBlur:y},null),[[f.vModelText,i.modelValue]]),h.value&&f.createVNode("span",{id:"clearIcon",class:p.value,style:u.value,onClick:b=>M(b)},[f.createVNode("i",{class:"f-icon modal_close"},null)]),i.showCount&&f.createVNode("span",{style:"position: absolute;bottom: 5px;right: 10px"},[`${i.modelValue.length}/${g.value}`])])}});function R(i,t,e){var F;function o(){e!=null&&e.resolveComponentContext&&e.resolveComponentContext()}o();const r=e&&e.getStyles&&e.getStyles()||"",l=e&&e.getDesignerClass&&e.getDesignerClass()||"",c=f.ref();function y(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanMoveComponent?e.checkCanMoveComponent():!0}function m(){return!1}function a(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanDeleteComponent?e.checkCanDeleteComponent():!0}function s(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:e&&e.hideNestedPaddingInDesginerView?e.hideNestedPaddingInDesginerView():!1}function n(v){if(!v||!v.value)return null;if(v.value.schema&&v.value.schema.type==="component")return v.value;const T=f.ref(v==null?void 0:v.value.parent),B=n(T);return B||null}function p(v=t){const{componentInstance:T,designerItemElementRef:B}=v;return!T||!T.value?null:T.value.canMove?B:p(v.parent)}function h(v){return!!e&&e.canAccepts(v)}function u(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function g(){}function k(v,T){T&&e!=null&&e.onAcceptMovedChildElement&&e.onAcceptMovedChildElement(T)}function M(v,T){const{componentType:B}=v;let I=W(B,v,T);e&&e.onResolveNewComponentSchema&&(I=e.onResolveNewComponentSchema(v,I));const x=B.toLowerCase().replace("-","_");return I&&!I.id&&I.type===B&&(I.id=`${x}_${Math.random().toString().slice(2,6)}`),I}function b(v){}function S(...v){if(e&&e.getPropsConfig)return e.getPropsConfig(...v)}return c.value={canMove:y(),canSelectParent:m(),canDelete:a(),canNested:!s(),contents:t==null?void 0:t.schema.contents,elementRef:i,parent:(F=t==null?void 0:t.parent)==null?void 0:F.componentInstance,schema:t==null?void 0:t.schema,styles:r,designerClass:l,canAccepts:h,getBelongedComponentInstance:n,getDraggableDesignItemElement:p,getDraggingDisplayText:u,getPropConfig:S,getDragScopeElement:g,onAcceptMovedChildElement:k,onChildElementMovedOut:b,addNewChildComponentSchema:M,updateDragAndDropRules:o,triggerBelongedComponentToMoveWhenMoved:!!e&&e.triggerBelongedComponentToMoveWhenMoved||f.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!e&&e.triggerBelongedComponentToDeleteWhenDeleted||f.ref(!1)},c}class ee{constructor(t,e){C(this,"componentId");C(this,"viewModelId");C(this,"eventsEditorUtils");C(this,"formSchemaUtils");C(this,"formMetadataConverter");C(this,"designViewModelUtils");C(this,"designViewModelField");C(this,"controlCreatorUtils");C(this,"designerHostService");C(this,"schemaService",null);C(this,"metadataService",null);C(this,"propertyConfig",{type:"object",categories:{}});var o;this.componentId=t,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((o=this.formSchemaUtils)==null?void 0:o.getViewModelIdByComponentId(t))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){const e=t.binding&&t.binding.type==="Form"&&t.binding.field;if(e){if(!this.designViewModelField){const o=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=o.fields.find(r=>r.id===e)}t.updateOn=this.designViewModelField.updateOn}}changeFieldEditorType(t,e){}getBasicPropConfig(t){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:t.type,name:d[t.type].name}]}}}}}getAppearanceConfig(t=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(t,e){const o=e&&e.parent&&e.parent.schema;if(!o)return;const r=o.contents.findIndex(c=>c.id===t),l=V.cloneDeep(o.contents[r]);o.contents.splice(r,1),o.contents.splice(r,0,l)}}const E=class E{static getEditorTypesByMDataType(t){const e=E.fieldControlTypeMapping[t];return e||[{key:"",value:""}]}static getAllInputTypes(){const t=[];for(let e in E.fieldControlTypeMapping)E.fieldControlTypeMapping[e].forEach(o=>{t.find(r=>r.key===o.key&&r.value===o.value)||t.push({key:o.key,value:o.value})});return t}};C(E,"fieldControlTypeMapping",{String:[{key:d["input-group"].type,value:d["input-group"].name},{key:d.lookup.type,value:d.lookup.name},{key:d["date-picker"].type,value:d["date-picker"].name},{key:d["check-box"].type,value:d["check-box"].name},{key:d["check-group"].type,value:d["check-group"].name},{key:d["radio-group"].type,value:d["radio-group"].name},{key:d["combo-list"].type,value:d["combo-list"].name},{key:d.textarea.type,value:d.textarea.name}],Text:[{key:d.textarea.type,value:d.textarea.name},{key:d.lookup.type,value:d.lookup.name}],Decimal:[{key:d["number-spinner"].type,value:d["number-spinner"].name}],Integer:[{key:d["number-spinner"].type,value:d["number-spinner"].name}],Number:[{key:d["number-spinner"].type,value:d["number-spinner"].name}],BigNumber:[{key:d["number-spinner"].type,value:d["number-spinner"].name}],Date:[{key:d["date-picker"].type,value:d["date-picker"].name}],DateTime:[{key:d["date-picker"].type,value:d["date-picker"].name}],Boolean:[{key:d.switch.type,value:d.switch.name},{key:d["check-box"].type,value:d["check-box"].name}],Enum:[{key:d["combo-list"].type,value:d["combo-list"].name},{key:d["radio-group"].type,value:d["radio-group"].name}],Object:[{key:d.lookup.type,value:d.lookup.name},{key:d["combo-list"].type,value:d["combo-list"].name},{key:d["radio-group"].type,value:d["radio-group"].name}]});let L=E;const te=f.ref(0);class ne{constructor(){C(this,"label","");C(this,"id","");C(this,"columnInSM",12);C(this,"columnInMD",6);C(this,"columnInLG",3);C(this,"columnInEL",2);C(this,"displayWidthInSM",1);C(this,"displayWidthInMD",1);C(this,"displayWidthInLG",1);C(this,"displayWidthInEL",1);C(this,"displayColumnCountAtBreakPoint","md");C(this,"tagRow",0);C(this,"showTopBorder",0);C(this,"group",1);C(this,"isSupportedClass",!0);C(this,"fieldSetId","")}}function oe(i){let t,e;const o=new Map;let r=[];function l(s,n){const h=s.split(" ").filter(b=>b.startsWith("col-"));if(h.length===0){n.isSupportedClass=!1;return}let u=h.find(b=>/^col-([1-9]|10|11|12)$/.test(b)),g=h.find(b=>/^col-md-([1-9]|10|11|12)$/.test(b)),k=h.find(b=>/^col-xl-([1-9]|10|11|12)$/.test(b)),M=h.find(b=>/^col-el-([1-9]|10|11|12)$/.test(b));u=u||"col-12",n.columnInSM=parseInt(u.replace("col-",""),10),n.displayWidthInSM=n.columnInSM/12,n.displayWidthInSM!==1&&(n.isSupportedClass=!1),g=g||"col-md-"+n.columnInSM,n.columnInMD=parseInt(g.replace("col-md-",""),10),n.displayWidthInMD=n.columnInMD/6,[1,2].includes(n.displayWidthInMD)||(n.isSupportedClass=!1),k=k||"col-xl-"+n.columnInMD,n.columnInLG=parseInt(k.replace("col-xl-",""),10),n.displayWidthInLG=n.columnInLG/3,[1,2,3,4].includes(n.displayWidthInLG)||(n.isSupportedClass=!1),M=M||"col-el-"+n.columnInLG,n.columnInEL=parseInt(M.replace("col-el-",""),10),n.displayWidthInEL=n.columnInEL/2,[1,2,3,4,5,6].includes(n.displayWidthInEL)||(n.isSupportedClass=!1)}function c(s,n,p,h=!1){let u=!1;s.contents.forEach(g=>{if(g.type==="fieldset"){p+=1,c(g,n,p,!0),u=!0;return}u&&(p+=1,u=!1);const k=g.appearance&&g.appearance.class,M=new ne;k?l(k,M):M.isSupportedClass=!1,M.label=g.label||g.id,M.id=g.id,M.group=p,h&&(M.fieldSetId=s.id),e===g.id&&(t=p),o.set(g.id,g),n.push(M)})}function y(s){const n=i.getComponentById(s);if(!n||!n.componentType||!n.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const p=i.selectNode(n,h=>h.type===$.DgControl["response-form"].type);return!p||!p.contents||p.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:p}}function m(s,n){n=n||s.id;const{result:p,message:h,formNode:u}=y(n);if(!p)return{result:p,message:h};e=s.id,r=[],o.clear();const g=u.contents[0].type===$.DgControl.fieldset.type?0:1;c(u,r,g);const k=r.find(b=>!b.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:k?"customize":"standard"},importData:r}}function a(s,n){n=n;const{result:p,formNode:h}=y(n);if(!p)return"";const u=[];return s.forEach(g=>{var b;const k=o.get(g.id),M=k.appearance&&k.appearance.class;if(M){const F=M.split(" ").filter(de=>!de.startsWith("col-")),v="col-"+g.columnInSM,T="col-md-"+g.columnInMD,B="col-xl-"+g.columnInLG,I="col-el-"+g.columnInEL,x=[v,T,B,I].concat(F);k.appearance.class=x.join(" ")}if(g.fieldSetId){const S=h.contents.find(v=>v.id===g.fieldSetId),F=u.find(v=>v.id===g.fieldSetId);F?(b=F.contents)==null||b.push(k):(u.push(S),S.contents=[k])}else u.push(k)}),h.contents=u,h.id}return{checkCanFindFormNode:y,checkCanOpenLayoutEditor:m,changeFormControlsByResponseLayoutConfig:a,getResonseFormLayoutConfig:c}}class re extends ee{constructor(e,o){super(e,o);C(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=oe(this.formSchemaUtils)}getPropertyConfig(e,o){return this.propertyConfig.categories.basic=this.getBasicProperties(e,o),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,o),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig}getBasicProperties(e,o){var y;var r=this;this.setDesignViewModelField(e);const l=this.formSchemaUtils.getFormMetadataBasicInfo(),c=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:r.designViewModelField?L.getEditorTypesByMDataType((y=r.designViewModelField.type)==null?void 0:y.name):L.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:e,formBasicInfo:l},columns:[{field:"name",title:"字段名称"},{field:"bindingField",title:"绑定字段"},{field:"fieldType",title:"字段类型"}],textField:"bindingField",data:c}}},setPropertyRelates(m,a){if(m)switch(m&&m.propertyID){case"type":{r.changeControlType(e,m,o);break}case"label":{m.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(e,o){var r=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:r.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,r.componentId)}}},setPropertyRelates(l,c){if(l)switch(l&&l.propertyID){case"responseLayout":r.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,r.componentId||e.id),r.updateUnifiedLayoutAfterResponseLayoutChanged(r.componentId),r.updateElementByParentContainer(e.id,o),delete e.responseLayout;break;case"class":r.updateUnifiedLayoutAfterControlChanged(l.propertyValue,e.id,this.componentId),r.updateElementByParentContainer(e.id,o);break}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,o,r){var s,n,p,h;const l=o.propertyValue,c=r&&r.parent&&r.parent.schema;if(!c)return;const y=c.contents.findIndex(u=>u.id===e.id),m=c.contents[y];let a;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:l},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),a=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)),a||(a=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(a,{id:m.id,appearance:m.appearance,size:m.size,label:m.label,binding:m.binding,visible:m.visible}),Object.assign(a.editor,{isTextArea:a.isTextArea&&m.isTextArea,placeholder:(s=m.editor)==null?void 0:s.placeholder,holdPlace:(n=m.editor)==null?void 0:n.holdPlace,readonly:(p=m.editor)==null?void 0:p.readonly,require:(h=m.editor)==null?void 0:h.require}),c.contents.splice(y,1),c.contents.splice(y,0,a),r.schema=Object.assign(m,a),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),te.value++}getComponentConfig(e,o={},r={}){const l=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},o),c=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},r);return{...l,properties:{...c}}}updateUnifiedLayoutAfterControlChanged(e,o,r){const l=e.split(" ");let c=l.find(n=>/^col-([1-9]|10|11|12)$/.test(n)),y=l.find(n=>/^col-md-([1-9]|10|11|12)$/.test(n)),m=l.find(n=>/^col-xl-([1-9]|10|11|12)$/.test(n)),a=l.find(n=>/^col-el-([1-9]|10|11|12)$/.test(n));c=c||"col-12",y=y||"col-md-"+c.replace("col-",""),m=m||"col-xl-"+y.replace("col-md-",""),a=a||"col-el-"+m.replace("col-xl-","");const s={id:o,columnInSM:parseInt(c.replace("col-",""),10),columnInMD:parseInt(y.replace("col-md-",""),10),columnInLG:parseInt(m.replace("col-xl-",""),10),columnInEL:parseInt(a.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(r,s)}updateUnifiedLayoutAfterResponseLayoutChanged(e,o){const{formNode:r}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!r||!r.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(r,l,1),o){const u=l.find(g=>g.id===o.id);Object.assign(u||{},o)}const c=l.map(u=>u.columnInSM),y=l.map(u=>u.columnInMD),m=l.map(u=>u.columnInLG),a=l.map(u=>u.columnInEL),s=this.checkIsUniqueColumn(c)?c[0]:null,n=this.checkIsUniqueColumn(y)?y[0]:null,p=this.checkIsUniqueColumn(m)?m[0]:null,h=this.checkIsUniqueColumn(a)?a[0]:null;Object.assign(r.unifiedLayout,{uniqueColClassInSM:s,uniqueColClassInMD:n,uniqueColClassInLG:p,uniqueColClassInEL:h})}checkIsUniqueColumn(e){const o=new Set(e);return Array.from(o).length===1}}class ie extends re{constructor(t,e){super(t,e)}}function ae(i,t){i.schema;const e=f.ref(!0),o=f.ref(!0);function r(n){return!1}function l(){return!1}function c(){return!1}function y(){return!0}function m(n){}function a(){}function s(n){return null}return{canAccepts:r,checkCanDeleteComponent:l,checkCanMoveComponent:c,hideNestedPaddingInDesginerView:y,onAcceptMovedChildElement:m,resolveComponentContext:a,triggerBelongedComponentToMoveWhenMoved:e,triggerBelongedComponentToDeleteWhenDeleted:o,getPropsConfig:s}}function le(i,t){const{canAccepts:e,checkCanDeleteComponent:o,checkCanMoveComponent:r,hideNestedPaddingInDesginerView:l,onAcceptMovedChildElement:c,resolveComponentContext:y,triggerBelongedComponentToMoveWhenMoved:m,triggerBelongedComponentToDeleteWhenDeleted:a}=ae(i),s=i.schema;function n(p,h){return new ie(p,t).getPropertyConfig(s,h)}return{canAccepts:e,checkCanDeleteComponent:o,checkCanMoveComponent:r,hideNestedPaddingInDesginerView:l,onAcceptMovedChildElement:c,resolveComponentContext:y,triggerBelongedComponentToMoveWhenMoved:m,triggerBelongedComponentToDeleteWhenDeleted:a,getPropsConfig:n}}const se=f.defineComponent({name:"FTextareaDesign",props:D,emits:[""],setup(i,t){const e=f.ref(),o=f.inject("designer-host-service"),r=f.inject("design-item-context"),l=le(r,o),c=R(e,r,l),y=f.computed(()=>i.maxLength?i.maxLength:i.modelValue.length),m=f.computed(()=>({position:"relative"})),a=f.computed(()=>({"box-shadow":"0 0 0 1px #dcdfe6 inset",border:"none",padding:"5px 10px",width:"100%"})),s={position:"absolute",bottom:"5px",right:"10px"};return f.onMounted(()=>{e.value.componentInstance=c}),t.expose(c.value),()=>f.createVNode("div",{style:m.value,ref:e},[f.createVNode("textarea",{id:i.id,tabindex:i.tabIndex,disabled:!1,readonly:!0,style:a.value,placeholder:i.placeholder,rows:i.rows},null),i.showCount&&f.createVNode("span",{style:s},[`${i.modelValue.length}/${y.value}`])])}}),ce=i=>{const t=i;return t.install=function(e){e.component(t.name,i)},i};P.register=(i,t,e,o)=>{i.textarea=P,t.textarea=N},P.registerDesigner=(i,t,e)=>{i.textarea=se,t.textarea=N};const pe=ce(P);w.FTextarea=P,w.default=pe,w.propsResolver=N,w.textAreaProps=D,Object.defineProperties(w,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(k,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("vue"),require("lodash-es"),require("../common/index.umd.js"),require("../designer-canvas/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es","../common/index.umd.js","../designer-canvas/index.umd.js"],m):(k=typeof globalThis<"u"?globalThis:k||self,m(k.textarea={},k.Vue,k.LodashES,k.common,k.designerCanvas))})(this,function(k,m,B,N,x){"use strict";var pe=Object.defineProperty;var de=(k,m,B)=>m in k?pe(k,m,{enumerable:!0,configurable:!0,writable:!0,value:B}):k[m]=B;var C=(k,m,B)=>de(k,typeof m!="symbol"?m+"":m,B);const j={},q={};function A(a){const{properties:t,title:e,ignore:r}=a,n=r&&Array.isArray(r),l=Object.keys(t).reduce((s,y)=>((!n||!r.find(h=>h===y))&&(s[y]=t[y].type==="object"&&t[y].properties?A(t[y]):B.cloneDeep(t[y].default)),s),{});if(e&&(!n||!r.find(s=>s==="id"))){const s=e.toLowerCase().replace(/-/g,"_");l.id=`${s}_${Math.random().toString().slice(2,6)}`}return l}function G(a,t={},e){const r=j[a];if(r){let n=A(r);const l=q[a];return n=l?l({getSchemaByType:G},n,t,e):n,n}return null}function O(a,t){const e=A(t);return Object.keys(e).reduce((r,n)=>(r[n]&&B.isPlainObject(r[n])&&B.isPlainObject(a[n]||!a[n])?Object.assign(r[n],a[n]||{}):r[n]=a[n],r),e),e}function W(a,t){return Object.keys(a).filter(r=>a[r]!=null).reduce((r,n)=>{if(t.has(n)){const l=t.get(n);if(typeof l=="string")r[l]=a[n];else{const s=l(n,a[n],a);Object.assign(r,s)}}else r[n]=a[n];return r},{})}function z(a,t,e=new Map){const r=O(a,t);return W(r,e)}function X(a={}){function t(i,c,o,d){if(typeof o=="number")return d[i].length===o;if(typeof o=="object"){const f=Object.keys(o)[0],u=o[f];if(f==="not")return Number(d[i].length)!==Number(u);if(f==="moreThan")return Number(d[i].length)>=Number(u);if(f==="lessThan")return Number(d[i].length)<=Number(u)}return!1}function e(i,c,o,d){return d[i]&&d[i].propertyValue&&String(d[i].propertyValue.value)===String(o)}const r=new Map([["length",t],["getProperty",e]]);Object.keys(a).reduce((i,c)=>(i.set(c,a[c]),i),r);function n(i,c){const o=i;return typeof c=="number"?[{target:o,operator:"length",param:null,value:Number(c)}]:typeof c=="boolean"?[{target:o,operator:"getProperty",param:i,value:!!c}]:typeof c=="object"?Object.keys(c).map(d=>{if(d==="length")return{target:o,operator:"length",param:null,value:c[d]};const f=d,u=c[d];return{target:o,operator:"getProperty",param:f,value:u}}):[]}function l(i){return Object.keys(i).reduce((o,d)=>{const f=n(d,i[d]);return o.push(...f),o},[])}function s(i,c){if(r.has(i.operator)){const o=r.get(i.operator);return o&&o(i.target,i.param,i.value,c)||!1}return!1}function y(i,c){return l(i).reduce((f,u)=>f&&s(u,c),!0)}function h(i,c){const o=Object.keys(i),d=o.includes("allOf"),f=o.includes("anyOf"),u=d||f,v=(u?i[u?d?"allOf":"anyOf":"allOf"]:[i]).map(S=>y(S,c));return d?!v.includes(!1):v.includes(!0)}return{parseValueSchema:h}}const p={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"}},_={},H={};X();function Q(a,t,e=new Map,r=(s,y,h,i)=>y,n={},l=s=>s){return j[t.title]=t,q[t.title]=r,_[t.title]=n,H[t.title]=l,(s={})=>{const y=z(s,t,e),h=Object.keys(a).reduce((i,c)=>(i[c]=a[c].default,i),{});return Object.assign(h,y)}}function J(a,t){return{customClass:t.class,customStyle:t.style}}const Y=new Map([["appearance",J]]),Z={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/switch.schema.json",title:"textarea",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for a textarea",type:"string"},type:{description:"The type string of textarea component",type:"string",default:"textarea"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"boolean",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},rows:{description:"",type:"number"},showCount:{description:"",type:"boolean",default:!0}},required:["id","type"],ignore:["id","appearance","binding","visible"]};function K(a,t,e){return t}const I={autoHeight:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},autocomplete:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},enableClear:{type:Boolean,default:!1},id:{type:String,default:""},minLength:{type:Number,default:0},maxLength:{type:Number},modelValue:{type:String,default:""},placeholder:{type:String,default:""},readonly:{type:Boolean,default:!1},rows:{type:Number,default:2},showCount:{type:Boolean,default:!1},showBorder:{Type:Boolean,default:!0},tabIndex:{type:Number,default:-1}},U=Q(I,Z,Y,K),L=m.defineComponent({name:"FTextarea",props:I,emits:["update:modelValue","valueChange"],setup(a,t){const e=m.ref(),r=m.ref(a.modelValue),n=m.computed(()=>a.modelValue),l=N.useTextBox(a,t,r,n),{inputGroupClass:s,onBlur:y,onFocus:h}=l,i=N.useClear(a,t,l),{onMouseEnter:c,onMouseLeave:o,clearButtonClass:d,shouldShowClearButton:f,clearButtonStyle:u}=i,b=m.computed(()=>a.maxLength?a.maxLength:a.modelValue.length),M=S=>{var P,g;S.stopPropagation(),t.emit("update:modelValue",(P=S.target)==null?void 0:P.value),t.emit("valueChange",(g=S.target)==null?void 0:g.value)},v=S=>{S.stopPropagation(),e.value.value="",t.emit("update:modelValue",""),t.emit("valueChange","")},w=m.computed(()=>({"form-control":!0,"h-100":a.autoHeight}));return t.expose({elementRef:e}),m.onMounted(()=>{}),()=>m.createVNode("div",{class:s.value,onMouseenter:c,onMouseleave:o,style:"position:relative"},[m.withDirectives(m.createVNode("textarea",{class:w.value,id:a.id,"onUpdate:modelValue":S=>a.modelValue=S,ref:e,minlength:a.minLength,maxlength:a.maxLength?a.maxLength:null,tabindex:a.tabIndex,disabled:a.disabled,readonly:a.readonly,autocomplete:a.autocomplete,placeholder:a.placeholder,autofocus:a.autofocus,rows:a.rows,onInput:M,onFocus:h,onBlur:y},null),[[m.vModelText,a.modelValue]]),f.value&&m.createVNode("span",{id:"clearIcon",class:d.value,style:u.value,onClick:S=>v(S)},[m.createVNode("i",{class:"f-icon modal_close"},null)]),a.showCount&&m.createVNode("span",{style:"position: absolute;bottom: 5px;right: 10px"},[`${a.modelValue.length}/${b.value}`])])}});function R(a,t,e){var P;const r=e&&e.getStyles&&e.getStyles()||"",n=e&&e.getDesignerClass&&e.getDesignerClass()||"",l=m.ref();function s(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanMoveComponent?e.checkCanMoveComponent():!0}function y(){return!1}function h(){return(t==null?void 0:t.schema.componentType)==="frame"?!1:e&&e.checkCanDeleteComponent?e.checkCanDeleteComponent():!0}function i(){return(t==null?void 0:t.schema.componentType)==="frame"?!0:e&&e.hideNestedPaddingInDesginerView?e.hideNestedPaddingInDesginerView():!1}function c(g){if(!g||!g.value)return null;if(g.value.schema&&g.value.schema.type==="component")return g.value;const T=m.ref(g==null?void 0:g.value.parent),F=c(T);return F||null}function o(g=t){const{componentInstance:T,designerItemElementRef:F}=g;return!T||!T.value?null:T.value.canMove?F:o(g.parent)}function d(g){return!!e&&e.canAccepts(g)}function f(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function u(){}function b(g,T){T&&e!=null&&e.onAcceptMovedChildElement&&e.onAcceptMovedChildElement(T)}function M(g,T){const{componentType:F}=g;let V=G(F,g,T);e&&e.onResolveNewComponentSchema&&(V=e.onResolveNewComponentSchema(g,V));const $=F.toLowerCase().replace(/-/g,"_");return V&&!V.id&&V.type===F&&(V.id=`${$}_${Math.random().toString().slice(2,6)}`),V}function v(g){}function w(...g){if(e&&e.getPropsConfig)return e.getPropsConfig(...g)}function S(){e&&e.onRemoveComponent&&e.onRemoveComponent(),t!=null&&t.schema.contents&&t.schema.contents.map(g=>{var V;let T=g.id;g.type==="component-ref"&&(T=g.component);const F=a.value.querySelector(`#${T}-design-item`);(V=F==null?void 0:F.componentInstance)!=null&&V.value.onRemoveComponent&&F.componentInstance.value.onRemoveComponent()})}return l.value={canMove:s(),canSelectParent:y(),canDelete:h(),canNested:!i(),contents:t==null?void 0:t.schema.contents,elementRef:a,parent:(P=t==null?void 0:t.parent)==null?void 0:P.componentInstance,schema:t==null?void 0:t.schema,styles:r,designerClass:n,canAccepts:d,getBelongedComponentInstance:c,getDraggableDesignItemElement:o,getDraggingDisplayText:f,getPropConfig:w,getDragScopeElement:u,onAcceptMovedChildElement:b,onChildElementMovedOut:v,addNewChildComponentSchema:M,triggerBelongedComponentToMoveWhenMoved:!!e&&e.triggerBelongedComponentToMoveWhenMoved||m.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:!!e&&e.triggerBelongedComponentToDeleteWhenDeleted||m.ref(!1),onRemoveComponent:S},l}class ee{constructor(t,e){C(this,"componentId");C(this,"viewModelId");C(this,"eventsEditorUtils");C(this,"formSchemaUtils");C(this,"formMetadataConverter");C(this,"designViewModelUtils");C(this,"designViewModelField");C(this,"controlCreatorUtils");C(this,"designerHostService");C(this,"schemaService",null);C(this,"metadataService",null);C(this,"propertyConfig",{type:"object",categories:{}});var r;this.componentId=t,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(t))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService}getTableInfo(){var t;return(t=this.schemaService)==null?void 0:t.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(t){var r;const e=t.binding&&t.binding.type==="Form"&&t.binding.field;if(e){if(!this.designViewModelField){const n=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=n.fields.find(l=>l.id===e)}t.updateOn=(r=this.designViewModelField)==null?void 0:r.updateOn}}changeFieldEditorType(t,e){}getBasicPropConfig(t){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:t.type,name:p[t.type].name}]}}}}}getAppearanceConfig(t=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(t,e){const r=e&&e.parent&&e.parent.schema;if(!r)return;const n=r.contents.findIndex(s=>s.id===t),l=B.cloneDeep(r.contents[n]);r.contents.splice(n,1),r.contents.splice(n,0,l)}}const E=class E{static getEditorTypesByMDataType(t){const e=E.fieldControlTypeMapping[t];return e||[{key:"",value:""}]}static getAllInputTypes(){const t=[];for(const e in E.fieldControlTypeMapping)E.fieldControlTypeMapping[e].forEach(r=>{t.find(n=>n.key===r.key&&n.value===r.value)||t.push({key:r.key,value:r.value})});return t}};C(E,"fieldControlTypeMapping",{String:[{key:p["input-group"].type,value:p["input-group"].name},{key:p.lookup.type,value:p.lookup.name},{key:p["date-picker"].type,value:p["date-picker"].name},{key:p["check-box"].type,value:p["check-box"].name},{key:p["check-group"].type,value:p["check-group"].name},{key:p["radio-group"].type,value:p["radio-group"].name},{key:p["combo-list"].type,value:p["combo-list"].name},{key:p.textarea.type,value:p.textarea.name}],Text:[{key:p.textarea.type,value:p.textarea.name},{key:p.lookup.type,value:p.lookup.name}],Decimal:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],Integer:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],Number:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],BigNumber:[{key:p["number-spinner"].type,value:p["number-spinner"].name}],Date:[{key:p["date-picker"].type,value:p["date-picker"].name}],DateTime:[{key:p["date-picker"].type,value:p["date-picker"].name}],Boolean:[{key:p.switch.type,value:p.switch.name},{key:p["check-box"].type,value:p["check-box"].name}],Enum:[{key:p["combo-list"].type,value:p["combo-list"].name},{key:p["radio-group"].type,value:p["radio-group"].name}],Object:[{key:p.lookup.type,value:p.lookup.name},{key:p["combo-list"].type,value:p["combo-list"].name},{key:p["radio-group"].type,value:p["radio-group"].name}]});let D=E;const te=m.ref(0);class ne{constructor(){C(this,"label","");C(this,"id","");C(this,"columnInSM",12);C(this,"columnInMD",6);C(this,"columnInLG",3);C(this,"columnInEL",2);C(this,"displayWidthInSM",1);C(this,"displayWidthInMD",1);C(this,"displayWidthInLG",1);C(this,"displayWidthInEL",1);C(this,"displayColumnCountAtBreakPoint","md");C(this,"tagRow",0);C(this,"showTopBorder",0);C(this,"group",1);C(this,"isSupportedClass",!0);C(this,"fieldSetId","")}}function oe(a){let t,e;const r=new Map;let n=[];function l(c,o){const f=c.split(" ").filter(w=>w.startsWith("col-"));if(f.length===0){o.isSupportedClass=!1;return}let u=f.find(w=>/^col-([1-9]|10|11|12)$/.test(w)),b=f.find(w=>/^col-md-([1-9]|10|11|12)$/.test(w)),M=f.find(w=>/^col-xl-([1-9]|10|11|12)$/.test(w)),v=f.find(w=>/^col-el-([1-9]|10|11|12)$/.test(w));u=u||"col-12",o.columnInSM=parseInt(u.replace("col-",""),10),o.displayWidthInSM=o.columnInSM/12,o.displayWidthInSM!==1&&(o.isSupportedClass=!1),b=b||"col-md-"+o.columnInSM,o.columnInMD=parseInt(b.replace("col-md-",""),10),o.displayWidthInMD=o.columnInMD/6,[1,2].includes(o.displayWidthInMD)||(o.isSupportedClass=!1),M=M||"col-xl-"+o.columnInMD,o.columnInLG=parseInt(M.replace("col-xl-",""),10),o.displayWidthInLG=o.columnInLG/3,[1,2,3,4].includes(o.displayWidthInLG)||(o.isSupportedClass=!1),v=v||"col-el-"+o.columnInLG,o.columnInEL=parseInt(v.replace("col-el-",""),10),o.displayWidthInEL=o.columnInEL/2,[1,2,3,4,5,6].includes(o.displayWidthInEL)||(o.isSupportedClass=!1)}function s(c,o,d,f=!1){let u=!1;c.contents.forEach(b=>{if(b.type==="fieldset"){d+=1,s(b,o,d,!0),u=!0;return}u&&(d+=1,u=!1);const M=b.appearance&&b.appearance.class,v=new ne;M?l(M,v):v.isSupportedClass=!1,v.label=b.label||b.id,v.id=b.id,v.group=d,f&&(v.fieldSetId=c.id),e===b.id&&(t=d),r.set(b.id,b),o.push(v)})}function y(c){const o=a.getComponentById(c);if(!o||!o.componentType||!o.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const d=a.selectNode(o,f=>f.type===x.DgControl["response-form"].type);return!d||!d.contents||d.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:d}}function h(c,o){o=o||c.id;const{result:d,message:f,formNode:u}=y(o);if(!d)return{result:d,message:f};e=c.id,n=[],r.clear();const b=u.contents[0].type===x.DgControl.fieldset.type?0:1;s(u,n,b);const M=n.find(w=>!w.isSupportedClass);return{defaultState:{defaultGroupNumber:t||1,model:M?"customize":"standard"},importData:n}}function i(c,o){o=o;const{result:d,formNode:f}=y(o);if(!d)return"";const u=[];return c.forEach(b=>{var w;const M=r.get(b.id),v=M.appearance&&M.appearance.class;if(v){const P=v.split(" ").filter(ce=>!ce.startsWith("col-")),g="col-"+b.columnInSM,T="col-md-"+b.columnInMD,F="col-xl-"+b.columnInLG,V="col-el-"+b.columnInEL,$=[g,T,F,V].concat(P);M.appearance.class=$.join(" ")}if(b.fieldSetId){const S=f.contents.find(g=>g.id===b.fieldSetId),P=u.find(g=>g.id===b.fieldSetId);P?(w=P.contents)==null||w.push(M):(u.push(S),S.contents=[M])}else u.push(M)}),f.contents=u,f.id}return{checkCanFindFormNode:y,checkCanOpenLayoutEditor:h,changeFormControlsByResponseLayoutConfig:i,getResonseFormLayoutConfig:s}}class re extends ee{constructor(e,r){super(e,r);C(this,"responseLayoutEditorFunction");this.responseLayoutEditorFunction=oe(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 l;const n=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:n.designViewModelField?D.getEditorTypesByMDataType((l=n.designViewModelField.type)==null?void 0:l.name):D.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(s,y){if(s)switch(s&&s.propertyID){case"type":{n.changeControlType(e,s,r);break}case"label":{s.needRefreshControlTree=!0;break}}}}}getAppearanceProperties(e,r){const n=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:n.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,n.componentId)}}},setPropertyRelates(l,s){if(l)switch(l&&l.propertyID){case"responseLayout":n.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(l.propertyValue,n.componentId||e.id),n.updateUnifiedLayoutAfterResponseLayoutChanged(n.componentId),n.updateElementByParentContainer(e.id,r),delete e.responseLayout;break;case"class":n.updateUnifiedLayoutAfterControlChanged(l.propertyValue,e.id,this.componentId),n.updateElementByParentContainer(e.id,r);break}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,r,n){var c,o,d,f;const l=r.propertyValue,s=n&&n.parent&&n.parent.schema;if(!s)return;const y=s.contents.findIndex(u=>u.id===e.id),h=s.contents[y];let i;this.designViewModelField&&(this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,{editor:{$type:l},name:this.designViewModelField.name,require:this.designViewModelField.require,readonly:this.designViewModelField.readonly},!1),i=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,l)),i||(i=this.controlCreatorUtils.createFormGroupWithoutField(l)),Object.assign(i,{id:h.id,appearance:h.appearance,size:h.size,label:h.label,binding:h.binding,visible:h.visible}),Object.assign(i.editor,{isTextArea:i.isTextArea&&h.isTextArea,placeholder:(c=h.editor)==null?void 0:c.placeholder,holdPlace:(o=h.editor)==null?void 0:o.holdPlace,readonly:(d=h.editor)==null?void 0:d.readonly,require:(f=h.editor)==null?void 0:f.require}),s.contents.splice(y,1),s.contents.splice(y,0,i),n.schema=Object.assign(h,i),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(u=>u.classList.remove("dgComponentSelected")),te.value++}getComponentConfig(e,r={},n={}){const l=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter"},r),s=Object.assign({readonly:{description:"",title:"只读",type:"boolean"},disabled:{description:"",title:"禁用",type:"boolean"},placeholder:{description:"空值时,输入控件内的占位文本",title:"提示文本",type:"string"}},n);return{...l,properties:{...s}}}updateUnifiedLayoutAfterControlChanged(e,r,n){const l=e.split(" ");let s=l.find(o=>/^col-([1-9]|10|11|12)$/.test(o)),y=l.find(o=>/^col-md-([1-9]|10|11|12)$/.test(o)),h=l.find(o=>/^col-xl-([1-9]|10|11|12)$/.test(o)),i=l.find(o=>/^col-el-([1-9]|10|11|12)$/.test(o));s=s||"col-12",y=y||"col-md-"+s.replace("col-",""),h=h||"col-xl-"+y.replace("col-md-",""),i=i||"col-el-"+h.replace("col-xl-","");const c={id:r,columnInSM:parseInt(s.replace("col-",""),10),columnInMD:parseInt(y.replace("col-md-",""),10),columnInLG:parseInt(h.replace("col-xl-",""),10),columnInEL:parseInt(i.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(n,c)}updateUnifiedLayoutAfterResponseLayoutChanged(e,r){const{formNode:n}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!n||!n.unifiedLayout)return;const l=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(n,l,1),r){const u=l.find(b=>b.id===r.id);Object.assign(u||{},r)}const s=l.map(u=>u.columnInSM),y=l.map(u=>u.columnInMD),h=l.map(u=>u.columnInLG),i=l.map(u=>u.columnInEL),c=this.checkIsUniqueColumn(s)?s[0]:null,o=this.checkIsUniqueColumn(y)?y[0]:null,d=this.checkIsUniqueColumn(h)?h[0]:null,f=this.checkIsUniqueColumn(i)?i[0]:null;Object.assign(n.unifiedLayout,{uniqueColClassInSM:c,uniqueColClassInMD:o,uniqueColClassInLG:d,uniqueColClassInEL:f})}checkIsUniqueColumn(e){const r=new Set(e);return Array.from(r).length===1}}class ae extends re{constructor(t,e){super(t,e)}getEditorProperties(t){return this.getComponentConfig(t,{type:"textarea"},{rows:{description:"",title:"文本区域可见的行数",type:"number"},showCount:{description:"",title:"展示输入文本数量",type:"boolean"}})}}function ie(a,t){const e=a.schema;function r(n,l){return new ae(n,t).getPropertyConfig(e,l)}return{getPropsConfig:r}}const le=m.defineComponent({name:"FTextareaDesign",props:I,emits:[""],setup(a,t){const e=m.ref(),r=m.inject("designer-host-service"),n=m.inject("design-item-context"),l=ie(n,r),s=R(e,n,l),y=m.computed(()=>a.maxLength?a.maxLength:a.modelValue.length),h=m.computed(()=>({position:"relative"})),i=m.computed(()=>({"box-shadow":"0 0 0 1px #dcdfe6 inset",border:"none",padding:"5px 10px",width:"100%"})),c={position:"absolute",bottom:"5px",right:"10px"};return m.onMounted(()=>{e.value.componentInstance=s}),t.expose(s.value),()=>m.createVNode("div",{style:h.value,ref:e},[m.createVNode("textarea",{id:a.id,tabindex:a.tabIndex,disabled:!1,readonly:!0,style:i.value,placeholder:a.placeholder,rows:a.rows},null),a.showCount&&m.createVNode("span",{style:c},[`${a.modelValue.length}/${y.value}`])])}});L.register=(a,t,e,r)=>{a.textarea=L,t.textarea=U},L.registerDesigner=(a,t,e)=>{a.textarea=le,t.textarea=U};const se=N.withInstall(L);k.FTextarea=L,k.default=se,k.propsResolver=U,k.textAreaProps=I,Object.defineProperties(k,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});