@farris/ui-vue 1.2.7 → 1.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/components/accordion/index.esm.js +136 -136
  2. package/components/accordion/index.umd.cjs +1 -1
  3. package/components/avatar/index.esm.js +418 -456
  4. package/components/avatar/index.umd.cjs +1 -1
  5. package/components/border-editor/index.esm.js +4 -4
  6. package/components/border-editor/index.umd.cjs +1 -1
  7. package/components/button/index.esm.js +1 -1
  8. package/components/button/index.umd.cjs +1 -1
  9. package/components/button-edit/index.esm.js +363 -436
  10. package/components/button-edit/index.umd.cjs +1 -1
  11. package/components/button-group/index.esm.js +5 -5
  12. package/components/button-group/index.umd.cjs +1 -1
  13. package/components/calendar/index.esm.js +417 -417
  14. package/components/calendar/index.umd.cjs +1 -1
  15. package/components/capsule/index.esm.js +176 -176
  16. package/components/capsule/index.umd.cjs +1 -1
  17. package/components/checkbox/index.esm.js +557 -594
  18. package/components/checkbox/index.umd.cjs +1 -1
  19. package/components/color-picker/index.esm.js +119 -119
  20. package/components/color-picker/index.umd.cjs +2 -2
  21. package/components/combo-list/index.esm.js +502 -535
  22. package/components/combo-list/index.umd.cjs +1 -1
  23. package/components/combo-tree/index.esm.js +69 -69
  24. package/components/combo-tree/index.umd.cjs +1 -1
  25. package/components/component/index.esm.js +387 -275
  26. package/components/component/index.umd.cjs +1 -1
  27. package/components/condition/index.esm.js +1219 -983
  28. package/components/condition/index.umd.cjs +1 -1
  29. package/components/content-container/index.esm.js +292 -219
  30. package/components/content-container/index.umd.cjs +1 -1
  31. package/components/data-grid/index.css +1 -1
  32. package/components/data-grid/index.esm.js +5718 -5546
  33. package/components/data-grid/index.umd.cjs +1 -1
  34. package/components/data-view/index.esm.js +3291 -2930
  35. package/components/data-view/index.umd.cjs +1 -1
  36. package/components/date-picker/index.esm.js +2650 -2682
  37. package/components/date-picker/index.umd.cjs +1 -1
  38. package/components/dependent-base/style.js +1 -0
  39. package/components/dependent-fluid/style.js +1 -0
  40. package/components/dependent-icon/style.js +1 -0
  41. package/components/dependent-input/style.js +1 -0
  42. package/components/dependent-table/style.js +1 -0
  43. package/components/designer-canvas/index.css +1 -1
  44. package/components/designer-canvas/index.esm.js +945 -932
  45. package/components/designer-canvas/index.umd.cjs +1 -1
  46. package/components/designer-outline/index.css +1 -1
  47. package/components/designer-outline/index.esm.js +175 -133
  48. package/components/designer-outline/index.umd.cjs +1 -1
  49. package/components/designer-toolbox/index.esm.js +36 -12
  50. package/components/designer-toolbox/index.umd.cjs +1 -1
  51. package/components/discussion-editor/index.esm.js +1 -1
  52. package/components/discussion-editor/index.umd.cjs +1 -1
  53. package/components/dropdown/index.esm.js +246 -246
  54. package/components/dropdown/index.umd.cjs +2 -2
  55. package/components/dynamic-form/index.esm.js +1319 -1172
  56. package/components/dynamic-form/index.umd.cjs +1 -1
  57. package/components/dynamic-resolver/index.esm.js +119 -82
  58. package/components/dynamic-resolver/index.umd.cjs +1 -1
  59. package/components/dynamic-view/index.esm.js +258 -249
  60. package/components/dynamic-view/index.umd.cjs +1 -1
  61. package/components/enum-editor/index.esm.js +3 -3
  62. package/components/enum-editor/index.umd.cjs +1 -1
  63. package/components/events-editor/index.esm.js +569 -514
  64. package/components/events-editor/index.umd.cjs +1 -1
  65. package/components/expression-editor/index.esm.js +104 -104
  66. package/components/expression-editor/index.umd.cjs +1 -1
  67. package/components/external-container/index.css +1 -1
  68. package/components/external-container/index.esm.js +3122 -2686
  69. package/components/external-container/index.umd.cjs +1 -1
  70. package/components/field-selector/index.css +1 -1
  71. package/components/field-selector/index.esm.js +6780 -6608
  72. package/components/field-selector/index.umd.cjs +1 -1
  73. package/components/filter-bar/index.css +1 -1
  74. package/components/filter-bar/index.esm.js +1466 -1523
  75. package/components/filter-bar/index.umd.cjs +1 -1
  76. package/components/flow-canvas/index.css +1 -1
  77. package/components/flow-canvas/index.esm.js +1048 -1035
  78. package/components/flow-canvas/index.umd.cjs +1 -1
  79. package/components/image-cropper/index.esm.js +422 -422
  80. package/components/image-cropper/index.umd.cjs +1 -1
  81. package/components/input-group/index.esm.js +674 -716
  82. package/components/input-group/index.umd.cjs +1 -1
  83. package/components/layout/index.esm.js +291 -291
  84. package/components/layout/index.umd.cjs +1 -1
  85. package/components/list-nav/index.esm.js +303 -230
  86. package/components/list-nav/index.umd.cjs +1 -1
  87. package/components/list-view/index.css +1 -1
  88. package/components/list-view/index.esm.js +2486 -2130
  89. package/components/list-view/index.umd.cjs +1 -1
  90. package/components/lookup/index.css +1 -1
  91. package/components/lookup/index.esm.js +7474 -7272
  92. package/components/lookup/index.umd.cjs +1 -1
  93. package/components/mapping-editor/index.css +1 -1
  94. package/components/mapping-editor/index.esm.js +6139 -5949
  95. package/components/mapping-editor/index.umd.cjs +1 -1
  96. package/components/message-box/index.esm.js +1 -1
  97. package/components/message-box/index.umd.cjs +1 -1
  98. package/components/modal/index.esm.js +1 -1
  99. package/components/modal/index.umd.cjs +1 -1
  100. package/components/nav/index.esm.js +432 -371
  101. package/components/nav/index.umd.cjs +3 -3
  102. package/components/number-range/index.esm.js +1124 -0
  103. package/components/number-range/index.umd.cjs +1 -0
  104. package/components/number-range/package.json +8 -0
  105. package/components/number-range/style.js +6 -0
  106. package/components/number-spinner/index.esm.js +1155 -0
  107. package/components/number-spinner/index.umd.cjs +1 -0
  108. package/components/number-spinner/package.json +8 -0
  109. package/components/number-spinner/style.js +4 -0
  110. package/components/order/index.css +1 -1
  111. package/components/order/index.esm.js +1215 -1178
  112. package/components/order/index.umd.cjs +1 -1
  113. package/components/page-footer/index.esm.js +147 -147
  114. package/components/page-footer/index.umd.cjs +1 -1
  115. package/components/page-header/index.esm.js +1240 -1346
  116. package/components/page-header/index.umd.cjs +1 -1
  117. package/components/pagination/index.esm.js +489 -428
  118. package/components/pagination/index.umd.cjs +1 -1
  119. package/components/progress/index.esm.js +220 -220
  120. package/components/progress/index.umd.cjs +3 -3
  121. package/components/property-editor/index.esm.js +1512 -1540
  122. package/components/property-editor/index.umd.cjs +3 -3
  123. package/components/property-panel/index.css +1 -1
  124. package/components/property-panel/index.esm.js +749 -815
  125. package/components/property-panel/index.umd.cjs +1 -1
  126. package/components/query-solution/index.css +1 -0
  127. package/components/query-solution/index.esm.js +7074 -0
  128. package/components/query-solution/index.umd.cjs +1 -0
  129. package/components/query-solution/package.json +8 -0
  130. package/components/query-solution/style.js +2 -0
  131. package/components/radio-button/index.esm.js +86 -86
  132. package/components/radio-button/index.umd.cjs +1 -1
  133. package/components/radio-group/index.esm.js +442 -479
  134. package/components/radio-group/index.umd.cjs +1 -1
  135. package/components/rate/index.esm.js +213 -208
  136. package/components/rate/index.umd.cjs +1 -1
  137. package/components/response-layout/index.esm.js +116 -116
  138. package/components/response-layout/index.umd.cjs +1 -1
  139. package/components/response-layout-editor/index.esm.js +943 -918
  140. package/components/response-layout-editor/index.umd.cjs +1 -1
  141. package/components/response-toolbar/index.esm.js +1174 -1295
  142. package/components/response-toolbar/index.umd.cjs +1 -1
  143. package/components/schema-selector/index.css +1 -1
  144. package/components/schema-selector/index.esm.js +5383 -5171
  145. package/components/schema-selector/index.umd.cjs +2 -2
  146. package/components/search-box/index.esm.js +201 -201
  147. package/components/search-box/index.umd.cjs +1 -1
  148. package/components/section/index.esm.js +684 -542
  149. package/components/section/index.umd.cjs +1 -1
  150. package/components/smoke-detector/index.esm.js +121 -121
  151. package/components/smoke-detector/index.umd.cjs +1 -1
  152. package/components/spacing-editor/index.esm.js +2 -2
  153. package/components/spacing-editor/index.umd.cjs +1 -1
  154. package/components/splitter/index.esm.js +1158 -382
  155. package/components/splitter/index.umd.cjs +1 -1
  156. package/components/step/index.esm.js +232 -232
  157. package/components/step/index.umd.cjs +1 -1
  158. package/components/switch/index.esm.js +451 -487
  159. package/components/switch/index.umd.cjs +1 -1
  160. package/components/tabs/index.esm.js +2078 -2168
  161. package/components/tabs/index.umd.cjs +1 -1
  162. package/components/tags/index.esm.js +318 -320
  163. package/components/tags/index.umd.cjs +1 -1
  164. package/components/text/index.esm.js +192 -192
  165. package/components/text/index.umd.cjs +1 -1
  166. package/components/textarea/index.esm.js +471 -497
  167. package/components/textarea/index.umd.cjs +1 -1
  168. package/components/time-picker/index.esm.js +1421 -1441
  169. package/components/time-picker/index.umd.cjs +1 -1
  170. package/components/transfer/index.css +1 -1
  171. package/components/transfer/index.esm.js +430 -421
  172. package/components/transfer/index.umd.cjs +1 -1
  173. package/components/tree-grid/index.css +1 -1
  174. package/components/tree-grid/index.esm.js +6806 -6624
  175. package/components/tree-grid/index.umd.cjs +1 -1
  176. package/components/tree-view/index.esm.js +2793 -2433
  177. package/components/tree-view/index.umd.cjs +1 -1
  178. package/components/uploader/index.esm.js +165 -165
  179. package/components/uploader/index.umd.cjs +2 -2
  180. package/components/verify-detail/index.esm.js +255 -255
  181. package/components/verify-detail/index.umd.cjs +1 -1
  182. package/components/video/index.esm.js +413 -334
  183. package/components/video/index.umd.cjs +1 -1
  184. package/components/weather/index.esm.js +902 -902
  185. package/components/weather/index.umd.cjs +4 -4
  186. package/farris.all.esm.js +54155 -52847
  187. package/farris.all.umd.cjs +9 -9
  188. package/index.css +1 -1
  189. package/package.json +1 -1
  190. package/types/button-edit/src/designer/button-group.design.component.d.ts +7 -0
  191. package/types/checkbox/index.d.ts +1 -0
  192. package/types/combo-list/src/components/list-container.component.d.ts +3 -0
  193. package/types/combo-list/src/components/list-container.props.d.ts +5 -1
  194. package/types/common/entity/entity-schema.d.ts +258 -0
  195. package/types/component/src/component-ref.props.d.ts +4 -0
  196. package/types/component/src/composition/inner-component-build-info.d.ts +27 -0
  197. package/types/component/src/designer/use-designer-rules.d.ts +2 -2
  198. package/types/data-grid/index.d.ts +5 -2
  199. package/types/data-grid/src/composition/data-grid-component-creator.service.d.ts +33 -0
  200. package/types/data-grid/src/data-grid.component.d.ts +2 -1
  201. package/types/data-grid/src/data-grid.props.d.ts +2 -2
  202. package/types/data-grid/src/designer/column-header.design.component.d.ts +1 -1
  203. package/types/data-grid/src/designer/data-grid-column.props.d.ts +1 -0
  204. package/types/data-grid/src/designer/use-group-column.d.ts +20 -0
  205. package/types/data-grid/src/property-config/data-grid.property-config.d.ts +4 -0
  206. package/types/data-grid/src/schema/schema-resolver.d.ts +2 -1
  207. package/types/data-view/components/column-format/boolean.component.d.ts +4 -0
  208. package/types/data-view/components/column-format/column-format.component.d.ts +4 -0
  209. package/types/data-view/components/column-format/date.component.d.ts +4 -0
  210. package/types/data-view/components/column-format/enum.component.d.ts +4 -0
  211. package/types/data-view/components/column-format/number.component.d.ts +4 -0
  212. package/types/data-view/composition/pagination/use-pagination.d.ts +1 -0
  213. package/types/data-view/composition/types.d.ts +19 -7
  214. package/types/data-view/composition/use-edit.d.ts +2 -1
  215. package/types/designer-canvas/src/composition/dg-control.d.ts +16 -350
  216. package/types/designer-canvas/src/composition/function/use-dragula.d.ts +2 -2
  217. package/types/designer-canvas/src/types.d.ts +3 -3
  218. package/types/dynamic-form/index.d.ts +3 -1
  219. package/types/dynamic-form/src/composition/response-form-component-creator.service.d.ts +31 -0
  220. package/types/dynamic-form/src/schema/schema-resolver.d.ts +2 -1
  221. package/types/dynamic-form/src/types.d.ts +1 -1
  222. package/types/dynamic-resolver/index.d.ts +1 -0
  223. package/types/dynamic-resolver/src/binding-resolver.d.ts +1 -0
  224. package/types/dynamic-resolver/src/schema-resolver.d.ts +2 -1
  225. package/types/dynamic-resolver/src/types.d.ts +3 -2
  226. package/types/dynamic-view/src/dynamic-view.component.d.ts +1 -1
  227. package/types/lookup/src/property-config/lookup.property-config.d.ts +2 -1
  228. package/types/modal/src/modal.props.d.ts +1 -4
  229. package/types/property-panel/src/composition/entity/base-property.d.ts +0 -12
  230. package/types/property-panel/src/composition/entity/input-base-property.d.ts +11 -26
  231. package/types/property-panel/src/composition/entity/schema-dom-mapping.d.ts +10 -8
  232. package/types/response-toolbar/src/response-toolbar.props.d.ts +2 -2
  233. package/types/response-toolbar/src/schema/schema-mapper.d.ts +4 -0
  234. package/types/section/src/property-config/section.property-config.d.ts +93 -0
  235. package/types/section/src/schema/schema-resolver.d.ts +2 -1
  236. package/types/tabs/src/composition/types.d.ts +2 -2
  237. package/types/tabs/src/designer/tab-header-item.design.component.d.ts +3 -1
  238. package/types/tabs/src/designer/tab-toolbar-item.props.d.ts +19 -0
  239. package/types/tabs/src/property-config/tab-page.property-config.d.ts +60 -0
  240. package/types/tabs/src/property-config/tabs.property-config.d.ts +6 -6
  241. package/types/tabs/src/schema/schema-resolver.d.ts +2 -1
  242. package/types/tags/index.d.ts +36 -5
  243. package/types/tree-grid/src/designer/use-designer-rules.d.ts +3 -0
  244. package/types/tree-grid/src/property-config/tree-grid.property-config.d.ts +11 -0
  245. package/types/tree-grid/src/schema/column-resolver.d.ts +1 -1
  246. package/types/tree-grid/src/tree-grid.props.d.ts +8 -0
@@ -1 +1 @@
1
- (function(V,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("lodash-es")):typeof define=="function"&&define.amd?define(["exports","vue","lodash-es"],e):(V=typeof globalThis<"u"?globalThis:V||self,e(V.tags={},V.Vue,V.LodashES))})(this,function(V,e,ve){"use strict";function be(n,t,m){return t}const fe={},de={};function G(n){const{properties:t,title:m}=n,g=Object.keys(t).reduce((s,y)=>(s[y]=t[y].type==="object"&&t[y].properties?G(t[y]):ve.cloneDeep(t[y].default),s),{});return g.id=`${m}-${Date.now()}`,g}function Q(n,t={}){const m=fe[n];if(m){let g=G(m);const s=de[n];return g=s?s({getSchemaByType:Q},g,t):g,g}return null}function Te(n,t){const m=G(t);return Object.keys(n).reduce((g,s)=>(g[s]=n[s],g),m),m}function we(n,t){return Object.keys(n).filter(g=>n[g]!=null).reduce((g,s)=>{if(t.has(s)){const y=t.get(s);if(typeof y=="string")g[y]=n[s];else{const w=y(s,n[s],n);Object.assign(g,w)}}else g[s]=n[s];return g},{})}function ke(n,t,m=new Map){const g=Te(n,t);return we(g,m)}function De(n={}){function t(i,p,d,f){if(typeof d=="number")return f[i].length===d;if(typeof d=="object"){const b=Object.keys(d)[0],k=d[b];if(b==="not")return Number(f[i].length)!==Number(k);if(b==="moreThan")return Number(f[i].length)>=Number(k);if(b==="lessThan")return Number(f[i].length)<=Number(k)}return!1}function m(i,p,d,f){return f[i]&&f[i].propertyValue&&String(f[i].propertyValue.value)===String(d)}const g=new Map([["length",t],["getProperty",m]]);Object.keys(n).reduce((i,p)=>(i.set(p,n[p]),i),g);function s(i,p){const d=i;return typeof p=="number"?[{target:d,operator:"length",param:null,value:Number(p)}]:typeof p=="boolean"?[{target:d,operator:"getProperty",param:i,value:!!p}]:typeof p=="object"?Object.keys(p).map(f=>{if(f==="length")return{target:d,operator:"length",param:null,value:p[f]};const b=f,k=p[f];return{target:d,operator:"getProperty",param:b,value:k}}):[]}function y(i){return Object.keys(i).reduce((d,f)=>{const b=s(f,i[f]);return d.push(...b),d},[])}function w(i,p){if(g.has(i.operator)){const d=g.get(i.operator);return d&&d(i.target,i.param,i.value,p)||!1}return!1}function C(i,p){return y(i).reduce((b,k)=>b&&w(k,p),!0)}function A(i,p){const d=Object.keys(i),f=d.includes("allOf"),b=d.includes("anyOf"),k=f||b,v=(k?i[k?f?"allOf":"anyOf":"allOf"]:[i]).map(L=>C(L,p));return f?!v.includes(!1):v.includes(!0)}return{parseValueSchema:A}}const Be={},Se={};De();function Ae(n,t,m=new Map,g=(w,C,A)=>C,s={},y=w=>w){return fe[t.title]=t,de[t.title]=g,Be[t.title]=s,Se[t.title]=y,(w={})=>{const C=ke(w,t,m),A=Object.keys(n).reduce((i,p)=>(i[p]=n[p].default,i),{});return Object.assign(A,C)}}function Ce(n,t){return{customClass:t.class,customStyle:t.style}}const Ne=new Map([["appearance",Ce]]),Oe={title:"tags",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},Ve={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/tags.schema.json",title:"tags",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for tags",type:"string"},type:{description:"The type string of tags",type:"string",default:"tags"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},_={activeTag:{type:String,default:""},addButtonText:{type:String,default:""},customClass:{type:String,default:""},customStyle:{type:String,default:""},data:{type:Array,default:[{name:"示例1"}]},enableAddButton:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1},showAddButton:{type:Boolean,default:!1},showClose:{type:Boolean,default:!0},showColor:{type:Boolean,default:!1},tagType:{type:String,default:""},tagStyle:{type:String,default:""},wrapText:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},disable:{type:Boolean,default:!1}},U=Ae(_,Ve,Ne,be,Oe);function pe(n,t,m,g){const s=e.ref(-1),y=e.ref(!1);function w(p,d,f){p.stopPropagation(),d&&setTimeout(()=>{s.value=f,y.value=!0,d.moving=!0})}function C(p,d){if(p.preventDefault(),s.value!==d){const f=g.value[s.value],b=g.value;b.splice(s.value,1),b.splice(d,0,f),s.value=d}}function A(p,d){p.preventDefault(),p.dataTransfer&&(p.dataTransfer.dropEffect="move")}function i(p,d){d&&(d.moving=!1),m.value=g.value.filter(f=>f.type==="Tag").map(f=>f.payload),y.value=!1,t.emit("change",m.value)}return{dragstart:w,dragenter:C,dragover:A,dragend:i,isDragging:y}}const x=e.defineComponent({name:"FTags",props:_,emits:["remove","selectionChange","change"],setup(n,t){const m=e.ref(n.selectable),g=e.ref(n.customClass),s=e.ref(n.data),y=e.ref(n.tagType),w=e.ref(n.tagStyle),C=e.ref(n.showColor),A=e.ref(n.customStyle),i=e.ref(n.activeTag),p=e.ref(n.showClose),d=e.ref(n.addButtonText),f=e.ref(),b=e.ref(n.wrapText),k=e.ref();e.ref(n.disable);const D=e.ref(!1);function j(){const r=s.value.map(o=>({type:"Tag",payload:o}));return n.showAddButton&&r.push({type:"AddButton"}),r}const v=e.ref(j());function $(r){s.value=r,v.value=j()}const L=e.computed(()=>v.value.findIndex(r=>r.type==="Input")),I=pe(n,t,s,v),{dragstart:M,dragenter:h,dragover:B,dragend:T}=I;e.watch(()=>n.data,r=>$(r)),e.watch(()=>n.showAddButton,()=>{v.value=j()}),e.watch(()=>n.disable,r=>{v.value=j()}),e.watch(()=>n.activeTag,r=>{i.value=r}),e.watch(D,r=>{const o=[...v.value];r?o.length>0&&o[o.length-1].type!=="Input"&&(o.splice(o.length-1,1),o.splice(o.length,0,{type:"Input"}),v.value=o,e.nextTick(()=>{var u;k.value&&((u=k.value)==null||u.focus())})):o.length>0&&o[o.length-1].type!=="AddButton"&&(o.splice(o.length-1,1),o.splice(o.length,0,{type:"AddButton"}),v.value=o)});const R=e.computed(()=>{const r={"farris-tags":!0,"farris-tags-checkable":m.value,"farris-tags-nowrap":!b.value};return g.value.split(" ").reduce((o,u)=>(o[u]=!0,o),r),r});function F(r){const o={"farris-tag-item":!0,"farris-tag-item-checked":m.value&&r.checked,"farris-tag-item-checkable":m.value,"farris-tag-item-has-color":C.value,"farris-tag-item-actived":i.value===r.name};if(y.value){const u=`farris-tag-item-${y.value}`;o[u]=!0}return o}const E=e.computed(()=>{const r={};return A.value&&A.value.split(";").reduce((o,u)=>{const N=u.split(":");return o[N[0]]=N[1],o},r),r});function W(r,o){!n.disable&&m.value&&(!o.hasOwnProperty("selectable")||o.selectable)&&(o.checked=!o.checked,i.value=o.checked?o.name:"",o.checked&&s.value.filter(u=>u.name!==o.name).forEach(u=>{u.checked=!o.checked}),t.emit("change",s.value),t.emit("selectionChange",o))}function Y(r,o){let u;switch(r.key){case"Backspace":s.value=s.value.filter(N=>N.name!==o.name),t.emit("change",s.value);break;case"ArrowLeft":u=Math.max(f.value.scrollLeft+20,0),f.value.scrollLeft=u;break;case"ArrowRight":u=Math.max(f.value.scrollLeft-20,0),f.value.scrollLeft=u}}function Z(r,o){const u=s.value.findIndex(N=>N.name===o.name);if(u>-1){const[N]=s.value.splice(u,1);v.value=j(),t.emit("change",s.value),t.emit("remove",{tags:s.value,remove:N})}r.stopPropagation()}const K=e.computed(()=>({"farris-tag-item":!0,"farris-tag-add-button":!0,"farris-tag-add-button-disabled":!n.enableAddButton}));function ee(r){r.stopPropagation(),D.value=!0}function te(){return!n.disable&&e.createVNode("li",{class:K.value,onClick:r=>ee(r)},[e.createVNode("span",{class:"f-icon f-icon-amplification"},null),d.value&&e.createVNode("span",{class:"farris-tag-add-text"},[d.value])])}function H(r,o,u){r>-1&&(s.value.splice(r,0,{name:o,value:u,selectable:m.value}),v.value=j(),D.value=!1,t.emit("change",s.value))}function X(r){if(r&&r.value){const o=r.value,u=L.value;H(u,o,o),r.innerText=""}else D.value=!1}function ae(r){const o=r.target;o&&o.value?X(o):D.value=!1}function ge(r){r.key==="Enter"&&X(r.target)}function ne(){return!n.disable&&e.createVNode("li",{class:"farris-tag-input-box"},[e.createVNode("input",{title:"farris-tag-input-box",ref:k,class:"form-control",onKeyup:ge,onBlur:ae},null)])}function re(r,o){return e.createVNode("li",{class:F(r),style:E.value,tabindex:0,id:r.name,key:r.name,onClick:u=>W(u,r),onKeydown:u=>Y(u,r),draggable:"true",onDragstart:u=>M(u,r,o),onDragenter:u=>h(u,o),onDragend:u=>T(u,r),onDragover:u=>B(u,o)},[e.createVNode("span",{title:r.name,class:"tag-box"},[r.name]),!n.disable&&p.value&&e.createVNode("span",{class:"tag-delete"},[e.createVNode("i",{class:"f-icon f-icon-close",onClick:u=>Z(u,r)},null)])])}function J(){return v.value.map((r,o)=>{switch(r.type){case"Tag":return re(r.payload,o);case"AddButton":return te();case"Input":return ne()}})}const z=e.computed(()=>({"farris-tags-item-container":!0,"farris-tag-item-capsule":w.value==="capsule"}));function se(r){const o=Math.max(f.value.scrollLeft-r.deltaX,0);f.value.scrollLeft=o}function oe(r){var u;r.preventDefault(),r.stopPropagation();const o=(u=r.dataTransfer)==null?void 0:u.getData("Text");if(o){const N=o.split(":"),ce=N[0],q=N[1];[...s.value].findIndex(a=>(console.log(`${a.value} === ${q} is ${a.value===q}`),a.value===q))>-1||H(s.value.length,ce,q)}}function le(r){r.preventDefault()}return()=>e.createVNode("div",{class:R.value,onDrop:oe,onDragover:le},[e.createVNode("ul",{ref:f,class:z.value,onWheel:r=>se(r)},[J()])])}});function je(n,t,m){var M;function g(){}const s="",y="",w=e.ref();function C(){return(t==null?void 0:t.schema.componentType)!=="frame"}function A(){return!1}function i(){return(t==null?void 0:t.schema.componentType)!=="frame"}function p(){return(t==null?void 0:t.schema.componentType)==="frame"}function d(h){if(!h||!h.value)return null;if(h.value.schema&&h.value.schema.type==="component")return h.value;const B=e.ref(h==null?void 0:h.value.parent),T=d(B);return T||null}function f(h=t){const{componentInstance:B,designerItemElementRef:T}=h;return!B||!B.value?null:B.value.canMove?T:f(h.parent)}function b(h){return!!m}function k(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function D(){}function j(h,B){}function v(h){const{componentType:B}=h;let T=Q(B,h);const R=B.toLowerCase().replace("-","_");return T&&!T.id&&T.type===B&&(T.id=`${R}_${Math.random().toString().slice(2,6)}`),T}function $(h,B){const T=String(h.getAttribute("data-controltype")),R=h.getAttribute("data-feature"),F=R?JSON.parse(R):{};F.parentComponentInstance=w.value;let E=Q(T,F);const W=T.toLowerCase().replace("-","_");return E&&!E.id&&E.type===T&&(E.id=`${W}_${Math.random().toString().slice(2,6)}`),E}function L(h){}function I(...h){}return w.value={canMove:C(),canSelectParent:A(),canDelete:i(),canNested:!p(),contents:t==null?void 0:t.schema.contents,elementRef:n,parent:(M=t==null?void 0:t.parent)==null?void 0:M.componentInstance,schema:t==null?void 0:t.schema,styles:s,designerClass:y,canAccepts:b,getBelongedComponentInstance:d,getDraggableDesignItemElement:f,getDraggingDisplayText:k,getPropConfig:I,getDragScopeElement:D,onAcceptMovedChildElement:j,onAcceptNewChildElement:$,onChildElementMovedOut:L,addNewChildComponentSchema:v,updateDragAndDropRules:g,triggerBelongedComponentToMoveWhenMoved:e.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:e.ref(!1)},w}const Me=e.defineComponent({name:"FTagsDesign",props:_,emits:["remove","selectionChange","change"],setup(n,t){const m=e.ref(n.selectable),g=e.ref(n.customClass),s=e.ref(n.data),y=e.ref(n.tagType),w=e.ref(n.tagStyle),C=e.ref(n.showColor),A=e.ref(n.activeTag),i=e.ref(n.customStyle),p=e.ref(n.showClose),d=e.ref(n.showAddButton),f=e.ref(n.showInput),b=e.ref(n.addButtonText),k=e.ref(n.enableAddButton);e.ref(n.placeholder),e.ref(""),e.ref();const D=e.ref(),j=e.ref(n.wrapText),v=e.ref(),$=e.ref(),L=e.inject("design-item-context"),I=je($,L);e.onMounted(()=>{$.value.componentInstance=I}),t.expose(I.value);function M(){const a=s.value.map(l=>({type:"Tag",payload:l}));return d.value&&a.push({type:"AddButton"}),a}const h=e.ref(M());function B(a){s.value=a,h.value=M()}const T=e.computed(()=>h.value.findIndex(a=>a.type==="Input")),R=pe(n,t,s,h),{dragstart:F,dragenter:E,dragover:W,dragend:Y}=R;e.watch(()=>n.data,a=>B(a));const Z=e.computed(()=>{const a={"farris-tags":!0,"farris-tags-checkable":m.value,"farris-tags-nowrap":!j.value};return g.value.split(" ").reduce((l,c)=>(l[c]=!0,l),a),a});function K(a){const l={"farris-tag-item":!0,"farris-tag-item-checked":m.value&&a.checked,"farris-tag-item-checkable":m.value,"farris-tag-item-has-color":C.value,"farris-tag-item-actived":A.value===a.name};if(y.value){const c=`farris-tag-item-${y.value}`;l[c]=!0}return l}const ee=e.computed(()=>{const a={};return i.value&&i.value.split(";").reduce((l,c)=>{const S=c.split(":");return l[S[0]]=S[1],l},a),a});function te(a,l){m.value&&l.selectable&&(l.checked=!l.checked,A.value=l.checked?l.name:"",l.checked&&s.value.filter(c=>c.name!==l.name).forEach(c=>{c.checked=!l.checked}),t.emit("change",s.value),t.emit("selectionChange",l))}function H(a,l){let c;switch(a.key){case"Backspace":s.value=s.value.filter(S=>S.name!==l.name),t.emit("change",s.value);break;case"ArrowLeft":c=Math.max(D.value.scrollLeft+20,0),D.value.scrollLeft=c;break;case"ArrowRight":c=Math.max(D.value.scrollLeft-20,0),D.value.scrollLeft=c}}function X(a,l){const c=s.value.findIndex(S=>S.name===l.name);if(c>-1){const[S]=s.value.splice(c,1);h.value=M(),t.emit("change",s.value),t.emit("remove",s.value,S,c)}a.stopPropagation()}const ae=e.computed(()=>({"farris-tag-item":!0,"farris-tag-add-button":!0,"farris-tag-add-button-disabled":!k.value}));function ge(a){}function ne(){return e.createVNode("li",{class:ae.value,onClick:a=>void 0},[e.createVNode("span",{class:"f-icon f-icon-amplification"},null),e.createVNode("span",{class:"farris-tag-add-text"},[b.value])])}function re(a){if(a&&!a.innerText){const l=T.value;if(l>0){const[c]=s.value.splice(l-1,1);h.value.splice(l-1,1),t.emit("remove",s.value,c,l-1)}}}function J(a,l,c){a>-1&&(s.value.splice(a,0,{name:l,value:c,selectable:m.value}),h.value=M(),t.emit("change",s.value))}function z(a){if(a&&a.innerText){const l=a.innerText,c=T.value;J(c,l,l),a.innerText=""}}function se(a){const l=a.target;l&&(l.innerText?z(l):t.emit("change",s.value))}function oe(a){a.key==="Enter"&&z(a.target),a.key==="Backspace"&&(re(a.target),e.nextTick(()=>{var l;v.value&&((l=v.value)==null||l.focus())}))}function le(){return e.createVNode("li",{class:"farris-tag-input-box"},[e.createVNode("div",{ref:v,class:"form-control",contenteditable:"true",onKeyup:oe,onBlur:se},null)])}function r(a,l){return e.createVNode("li",{class:K(a),style:ee.value,tabindex:0,id:a.name,key:a.name,onClick:c=>te(c,a),onKeydown:c=>H(c,a),draggable:"true",onDragstart:c=>F(c,a,l),onDragenter:c=>E(c,l),onDragend:c=>Y(c,a),onDragover:c=>W(c,l)},[e.createVNode("div",{title:a.name,class:"tag-box"},[a.name]),p.value&&e.createVNode("span",{class:"tag-delete"},[e.createVNode("i",{class:"f-icon f-icon-close",onClick:c=>X(c,a)},null)])])}function o(){return h.value.map((a,l)=>{switch(a.type){case"Tag":return r(a.payload,l);case"AddButton":return ne();case"Input":return le()}})}const u=e.computed(()=>({"farris-tags-item-container":!0,"farris-tag-item-capsule":w.value==="capsule"}));function N(a){const l=Math.max(D.value.scrollLeft-a.deltaX,0);D.value.scrollLeft=l}function ce(a){const l=D.value,c=s.value.length-1;if(l){const S=Array.from(l.children).filter(P=>P.className.indexOf("farris-tag-item")>-1).findIndex(P=>{const O=P.getBoundingClientRect(),ie=window.getComputedStyle(P),ye=parseInt(ie["margin-left"],10)+O.width+parseInt(ie["margin-right"],10);return O.left+ye>a});if(S>-1)return S}return c}function q(a){if(f.value){const c=ce(a.clientX)+1,P=h.value.filter(O=>O.type!=="Input");P.splice(c,0,{type:"Input"}),h.value=P,e.nextTick(()=>{var O;v.value&&((O=v.value)==null||O.focus())})}}function me(a){var c;a.preventDefault(),a.stopPropagation();const l=(c=a.dataTransfer)==null?void 0:c.getData("Text");if(l){const S=l.split(":"),P=S[0],O=S[1];[...s.value].findIndex(ue=>(console.log(`${ue.value} === ${O} is ${ue.value===O}`),ue.value===O))>-1||J(s.value.length,P,O)}}function he(a){a.preventDefault()}return()=>e.createVNode("div",{ref:$,class:Z.value,onClick:q,onDrop:me,onDragover:he},[e.createVNode("ul",{ref:D,class:u.value,onWheel:a=>N(a)},[o()])])}}),Ee={install(n){n.component(x.name,x)},register(n,t,m,g){n.tags=x,t.tags=U},registerDesigner(n,t,m){n.tags=Me,t.tags=U}};V.FTags=x,V.default=Ee,V.propsResolver=U,V.tagsProps=_,Object.defineProperties(V,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(j,x){typeof exports=="object"&&typeof module<"u"?x(exports,require("../common/index.umd.js"),require("vue"),require("lodash-es")):typeof define=="function"&&define.amd?define(["exports","../common/index.umd.js","vue","lodash-es"],x):(j=typeof globalThis<"u"?globalThis:j||self,x(j.tags={},j.common,j.Vue,j.LodashES))})(this,function(j,x,e,be){"use strict";function Te(n,t,m){return t}const de={},pe={};function Q(n){const{properties:t,title:m,ignore:p}=n,r=p&&Array.isArray(p),y=Object.keys(t).reduce((v,w)=>((!r||!p.find(A=>A==w))&&(v[w]=t[w].type==="object"&&t[w].properties?Q(t[w]):be.cloneDeep(t[w].default)),v),{});return(!r||!p.find(v=>v=="id"))&&(y.id=`${m}-${Date.now()}`),y}function U(n,t={},m){const p=de[n];if(p){let r=Q(p);const y=pe[n];return r=y?y({getSchemaByType:U},r,t,m):r,r}return null}function we(n,t){const m=Q(t);return Object.keys(n).reduce((p,r)=>(p[r]&&typeof p[r]=="object"?Object.assign(p[r],n[r]):p[r]=n[r],p),m),m}function ke(n,t){return Object.keys(n).filter(p=>n[p]!=null).reduce((p,r)=>{if(t.has(r)){const y=t.get(r);if(typeof y=="string")p[y]=n[r];else{const v=y(r,n[r],n);Object.assign(p,v)}}else p[r]=n[r];return p},{})}function De(n,t,m=new Map){const p=we(n,t);return ke(p,m)}function Be(n={}){function t(i,g,d,f){if(typeof d=="number")return f[i].length===d;if(typeof d=="object"){const T=Object.keys(d)[0],k=d[T];if(T==="not")return Number(f[i].length)!==Number(k);if(T==="moreThan")return Number(f[i].length)>=Number(k);if(T==="lessThan")return Number(f[i].length)<=Number(k)}return!1}function m(i,g,d,f){return f[i]&&f[i].propertyValue&&String(f[i].propertyValue.value)===String(d)}const p=new Map([["length",t],["getProperty",m]]);Object.keys(n).reduce((i,g)=>(i.set(g,n[g]),i),p);function r(i,g){const d=i;return typeof g=="number"?[{target:d,operator:"length",param:null,value:Number(g)}]:typeof g=="boolean"?[{target:d,operator:"getProperty",param:i,value:!!g}]:typeof g=="object"?Object.keys(g).map(f=>{if(f==="length")return{target:d,operator:"length",param:null,value:g[f]};const T=f,k=g[f];return{target:d,operator:"getProperty",param:T,value:k}}):[]}function y(i){return Object.keys(i).reduce((d,f)=>{const T=r(f,i[f]);return d.push(...T),d},[])}function v(i,g){if(p.has(i.operator)){const d=p.get(i.operator);return d&&d(i.target,i.param,i.value,g)||!1}return!1}function w(i,g){return y(i).reduce((T,k)=>T&&v(k,g),!0)}function A(i,g){const d=Object.keys(i),f=d.includes("allOf"),T=d.includes("anyOf"),k=f||T,b=(k?i[k?f?"allOf":"anyOf":"allOf"]:[i]).map(I=>w(I,g));return f?!b.includes(!1):b.includes(!0)}return{parseValueSchema:A}}const Ae={},Ce={};Be();function Se(n,t,m=new Map,p=(v,w,A)=>w,r={},y=v=>v){return de[t.title]=t,pe[t.title]=p,Ae[t.title]=r,Ce[t.title]=y,(v={})=>{const w=De(v,t,m),A=Object.keys(n).reduce((i,g)=>(i[g]=n[g].default,i),{});return Object.assign(A,w)}}function Ne(n,t){return{customClass:t.class,customStyle:t.style}}const je=new Map([["appearance",Ne]]),Oe={title:"tags",description:"A Farris Component",type:"object",categories:{basic:{description:"Basic Infomation",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"waiting for modification",enum:[]}}}}}},Ve={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/tags.schema.json",title:"tags",description:"A Farris Component",type:"object",properties:{id:{description:"The unique identifier for tags",type:"string"},type:{description:"The type string of tags",type:"string",default:"tags"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disable:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:""},readonly:{description:"",type:"boolean",default:!1},require:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0}},required:["id","type"]},H={activeTag:{type:String,default:""},addButtonText:{type:String,default:""},customClass:{type:String,default:""},customStyle:{type:String,default:""},data:{type:Array,default:[{name:"示例1"}]},enableAddButton:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1},showAddButton:{type:Boolean,default:!1},showClose:{type:Boolean,default:!0},showColor:{type:Boolean,default:!1},tagType:{type:String,default:""},tagStyle:{type:String,default:""},wrapText:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},disable:{type:Boolean,default:!1}},Y=Se(H,Ve,je,Te,Oe);function ge(n,t,m,p){const r=e.ref(-1),y=e.ref(!1);function v(g,d,f){g.stopPropagation(),d&&setTimeout(()=>{r.value=f,y.value=!0,d.moving=!0})}function w(g,d){if(g.preventDefault(),r.value!==d){const f=p.value[r.value],T=p.value;T.splice(r.value,1),T.splice(d,0,f),r.value=d}}function A(g,d){g.preventDefault(),g.dataTransfer&&(g.dataTransfer.dropEffect="move")}function i(g,d){d&&(d.moving=!1),m.value=p.value.filter(f=>f.type==="Tag").map(f=>f.payload),y.value=!1,t.emit("change",m.value)}return{dragstart:v,dragenter:w,dragover:A,dragend:i,isDragging:y}}const W=e.defineComponent({name:"FTags",props:H,emits:["remove","selectionChange","change"],setup(n,t){const m=e.ref(n.selectable),p=e.ref(n.customClass),r=e.ref(n.data),y=e.ref(n.tagType),v=e.ref(n.tagStyle),w=e.ref(n.showColor),A=e.ref(n.customStyle),i=e.ref(n.activeTag),g=e.ref(n.showClose),d=e.ref(n.addButtonText),f=e.ref(),T=e.ref(n.wrapText),k=e.ref();e.ref(n.disable);const D=e.ref(!1);function M(){const s=r.value.map(o=>({type:"Tag",payload:o}));return n.showAddButton&&s.push({type:"AddButton"}),s}const b=e.ref(M());function L(s){r.value=s,b.value=M()}const I=e.computed(()=>b.value.findIndex(s=>s.type==="Input")),q=ge(n,t,r,b),{dragstart:E,dragenter:h,dragover:S,dragend:B}=q;e.watch(()=>n.data,s=>L(s)),e.watch(()=>n.showAddButton,()=>{b.value=M()}),e.watch(()=>n.disable,s=>{b.value=M()}),e.watch(()=>n.activeTag,s=>{i.value=s}),e.watch(D,s=>{const o=[...b.value];s?o.length>0&&o[o.length-1].type!=="Input"&&(o.splice(o.length-1,1),o.splice(o.length,0,{type:"Input"}),b.value=o,e.nextTick(()=>{var u;k.value&&((u=k.value)==null||u.focus())})):o.length>0&&o[o.length-1].type!=="AddButton"&&(o.splice(o.length-1,1),o.splice(o.length,0,{type:"AddButton"}),b.value=o)});const O=e.computed(()=>{const s={"farris-tags":!0,"farris-tags-checkable":m.value,"farris-tags-nowrap":!T.value};return p.value.split(" ").reduce((o,u)=>(o[u]=!0,o),s),s});function R(s){const o={"farris-tag-item":!0,"farris-tag-item-checked":m.value&&s.checked,"farris-tag-item-checkable":m.value,"farris-tag-item-has-color":w.value,"farris-tag-item-actived":i.value===s.name};if(y.value){const u=`farris-tag-item-${y.value}`;o[u]=!0}return o}const P=e.computed(()=>{const s={};return A.value&&A.value.split(";").reduce((o,u)=>{const N=u.split(":");return o[N[0]]=N[1],o},s),s});function _(s,o){!n.disable&&m.value&&(!o.hasOwnProperty("selectable")||o.selectable)&&(o.checked=!o.checked,i.value=o.checked?o.name:"",o.checked&&r.value.filter(u=>u.name!==o.name).forEach(u=>{u.checked=!o.checked}),t.emit("change",r.value),t.emit("selectionChange",o))}function Z(s,o){let u;switch(s.key){case"Backspace":r.value=r.value.filter(N=>N.name!==o.name),t.emit("change",r.value);break;case"ArrowLeft":u=Math.max(f.value.scrollLeft+20,0),f.value.scrollLeft=u;break;case"ArrowRight":u=Math.max(f.value.scrollLeft-20,0),f.value.scrollLeft=u}}function K(s,o){const u=r.value.findIndex(N=>N.name===o.name);if(u>-1){const[N]=r.value.splice(u,1);b.value=M(),t.emit("change",r.value),t.emit("remove",{tags:r.value,remove:N})}s.stopPropagation()}const ee=e.computed(()=>({"farris-tag-item":!0,"farris-tag-add-button":!0,"farris-tag-add-button-disabled":!n.enableAddButton}));function te(s){s.stopPropagation(),D.value=!0}function ae(){return!n.disable&&e.createVNode("li",{class:ee.value,onClick:s=>te(s)},[e.createVNode("span",{class:"f-icon f-icon-amplification"},null),d.value&&e.createVNode("span",{class:"farris-tag-add-text"},[d.value])])}function X(s,o,u){s>-1&&(r.value.splice(s,0,{name:o,value:u,selectable:m.value}),b.value=M(),D.value=!1,t.emit("change",r.value))}function J(s){if(s&&s.value){const o=s.value,u=I.value;X(u,o,o),s.innerText=""}else D.value=!1}function ne(s){const o=s.target;o&&o.value?J(o):D.value=!1}function me(s){s.key==="Enter"&&J(s.target)}function re(){return!n.disable&&e.createVNode("li",{class:"farris-tag-input-box"},[e.createVNode("input",{title:"farris-tag-input-box",ref:k,class:"form-control",onKeyup:me,onBlur:ne},null)])}function se(s,o){return e.createVNode("li",{class:R(s),style:P.value,tabindex:0,id:s.name,key:s.name,onClick:u=>_(u,s),onKeydown:u=>Z(u,s),draggable:"true",onDragstart:u=>E(u,s,o),onDragenter:u=>h(u,o),onDragend:u=>B(u,s),onDragover:u=>S(u,o)},[e.createVNode("span",{title:s.name,class:"tag-box"},[s.name]),!n.disable&&g.value&&e.createVNode("span",{class:"tag-delete"},[e.createVNode("i",{class:"f-icon f-icon-close",onClick:u=>K(u,s)},null)])])}function z(){return b.value.map((s,o)=>{switch(s.type){case"Tag":return se(s.payload,o);case"AddButton":return ae();case"Input":return re()}})}const G=e.computed(()=>({"farris-tags-item-container":!0,"farris-tag-item-capsule":v.value==="capsule"}));function oe(s){const o=Math.max(f.value.scrollLeft-s.deltaX,0);f.value.scrollLeft=o}function le(s){var u;s.preventDefault(),s.stopPropagation();const o=(u=s.dataTransfer)==null?void 0:u.getData("Text");if(o){const N=o.split(":"),ie=N[0],F=N[1];[...r.value].findIndex(a=>(console.log(`${a.value} === ${F} is ${a.value===F}`),a.value===F))>-1||X(r.value.length,ie,F)}}function ce(s){s.preventDefault()}return()=>e.createVNode("div",{class:O.value,onDrop:le,onDragover:ce},[e.createVNode("ul",{ref:f,class:G.value,onWheel:s=>oe(s)},[z()])])}});function Me(n,t,m){var E;function p(){}const r="",y="",v=e.ref();function w(){return(t==null?void 0:t.schema.componentType)!=="frame"}function A(){return!1}function i(){return(t==null?void 0:t.schema.componentType)!=="frame"}function g(){return(t==null?void 0:t.schema.componentType)==="frame"}function d(h){if(!h||!h.value)return null;if(h.value.schema&&h.value.schema.type==="component")return h.value;const S=e.ref(h==null?void 0:h.value.parent),B=d(S);return B||null}function f(h=t){const{componentInstance:S,designerItemElementRef:B}=h;return!S||!S.value?null:S.value.canMove?B:f(h.parent)}function T(h){return!!m}function k(){return(t==null?void 0:t.schema.label)||(t==null?void 0:t.schema.title)||(t==null?void 0:t.schema.name)}function D(){}function M(h,S){}function b(h,S){const{componentType:B}=h;let O=U(B,h,S);const R=B.toLowerCase().replace("-","_");return O&&!O.id&&O.type===B&&(O.id=`${R}_${Math.random().toString().slice(2,6)}`),O}function L(h,S){const B=String(h.getAttribute("data-controltype")),O=h.getAttribute("data-feature"),R=O?JSON.parse(O):{};R.parentComponentInstance=v.value;let P=U(B,R);const _=B.toLowerCase().replace("-","_");return P&&!P.id&&P.type===B&&(P.id=`${_}_${Math.random().toString().slice(2,6)}`),P}function I(h){}function q(...h){}return v.value={canMove:w(),canSelectParent:A(),canDelete:i(),canNested:!g(),contents:t==null?void 0:t.schema.contents,elementRef:n,parent:(E=t==null?void 0:t.parent)==null?void 0:E.componentInstance,schema:t==null?void 0:t.schema,styles:r,designerClass:y,canAccepts:T,getBelongedComponentInstance:d,getDraggableDesignItemElement:f,getDraggingDisplayText:k,getPropConfig:q,getDragScopeElement:D,onAcceptMovedChildElement:M,onAcceptNewChildElement:L,onChildElementMovedOut:I,addNewChildComponentSchema:b,updateDragAndDropRules:p,triggerBelongedComponentToMoveWhenMoved:e.ref(!1),triggerBelongedComponentToDeleteWhenDeleted:e.ref(!1)},v}const Ee=e.defineComponent({name:"FTagsDesign",props:H,emits:["remove","selectionChange","change"],setup(n,t){const m=e.ref(n.selectable),p=e.ref(n.customClass),r=e.ref(n.data),y=e.ref(n.tagType),v=e.ref(n.tagStyle),w=e.ref(n.showColor),A=e.ref(n.activeTag),i=e.ref(n.customStyle),g=e.ref(n.showClose),d=e.ref(n.showAddButton),f=e.ref(n.showInput),T=e.ref(n.addButtonText),k=e.ref(n.enableAddButton);e.ref(n.placeholder),e.ref(""),e.ref();const D=e.ref(),M=e.ref(n.wrapText),b=e.ref(),L=e.ref(),I=e.inject("design-item-context"),q=Me(L,I);e.onMounted(()=>{L.value.componentInstance=q}),t.expose(q.value);function E(){const a=r.value.map(l=>({type:"Tag",payload:l}));return d.value&&a.push({type:"AddButton"}),a}const h=e.ref(E());function S(a){r.value=a,h.value=E()}const B=e.computed(()=>h.value.findIndex(a=>a.type==="Input")),O=ge(n,t,r,h),{dragstart:R,dragenter:P,dragover:_,dragend:Z}=O;e.watch(()=>n.data,a=>S(a));const K=e.computed(()=>{const a={"farris-tags":!0,"farris-tags-checkable":m.value,"farris-tags-nowrap":!M.value};return p.value.split(" ").reduce((l,c)=>(l[c]=!0,l),a),a});function ee(a){const l={"farris-tag-item":!0,"farris-tag-item-checked":m.value&&a.checked,"farris-tag-item-checkable":m.value,"farris-tag-item-has-color":w.value,"farris-tag-item-actived":A.value===a.name};if(y.value){const c=`farris-tag-item-${y.value}`;l[c]=!0}return l}const te=e.computed(()=>{const a={};return i.value&&i.value.split(";").reduce((l,c)=>{const C=c.split(":");return l[C[0]]=C[1],l},a),a});function ae(a,l){m.value&&l.selectable&&(l.checked=!l.checked,A.value=l.checked?l.name:"",l.checked&&r.value.filter(c=>c.name!==l.name).forEach(c=>{c.checked=!l.checked}),t.emit("change",r.value),t.emit("selectionChange",l))}function X(a,l){let c;switch(a.key){case"Backspace":r.value=r.value.filter(C=>C.name!==l.name),t.emit("change",r.value);break;case"ArrowLeft":c=Math.max(D.value.scrollLeft+20,0),D.value.scrollLeft=c;break;case"ArrowRight":c=Math.max(D.value.scrollLeft-20,0),D.value.scrollLeft=c}}function J(a,l){const c=r.value.findIndex(C=>C.name===l.name);if(c>-1){const[C]=r.value.splice(c,1);h.value=E(),t.emit("change",r.value),t.emit("remove",r.value,C,c)}a.stopPropagation()}const ne=e.computed(()=>({"farris-tag-item":!0,"farris-tag-add-button":!0,"farris-tag-add-button-disabled":!k.value}));function me(a){}function re(){return e.createVNode("li",{class:ne.value,onClick:a=>void 0},[e.createVNode("span",{class:"f-icon f-icon-amplification"},null),e.createVNode("span",{class:"farris-tag-add-text"},[T.value])])}function se(a){if(a&&!a.innerText){const l=B.value;if(l>0){const[c]=r.value.splice(l-1,1);h.value.splice(l-1,1),t.emit("remove",r.value,c,l-1)}}}function z(a,l,c){a>-1&&(r.value.splice(a,0,{name:l,value:c,selectable:m.value}),h.value=E(),t.emit("change",r.value))}function G(a){if(a&&a.innerText){const l=a.innerText,c=B.value;z(c,l,l),a.innerText=""}}function oe(a){const l=a.target;l&&(l.innerText?G(l):t.emit("change",r.value))}function le(a){a.key==="Enter"&&G(a.target),a.key==="Backspace"&&(se(a.target),e.nextTick(()=>{var l;b.value&&((l=b.value)==null||l.focus())}))}function ce(){return e.createVNode("li",{class:"farris-tag-input-box"},[e.createVNode("div",{ref:b,class:"form-control",contenteditable:"true",onKeyup:le,onBlur:oe},null)])}function s(a,l){return e.createVNode("li",{class:ee(a),style:te.value,tabindex:0,id:a.name,key:a.name,onClick:c=>ae(c,a),onKeydown:c=>X(c,a),draggable:"true",onDragstart:c=>R(c,a,l),onDragenter:c=>P(c,l),onDragend:c=>Z(c,a),onDragover:c=>_(c,l)},[e.createVNode("div",{title:a.name,class:"tag-box"},[a.name]),g.value&&e.createVNode("span",{class:"tag-delete"},[e.createVNode("i",{class:"f-icon f-icon-close",onClick:c=>J(c,a)},null)])])}function o(){return h.value.map((a,l)=>{switch(a.type){case"Tag":return s(a.payload,l);case"AddButton":return re();case"Input":return ce()}})}const u=e.computed(()=>({"farris-tags-item-container":!0,"farris-tag-item-capsule":v.value==="capsule"}));function N(a){const l=Math.max(D.value.scrollLeft-a.deltaX,0);D.value.scrollLeft=l}function ie(a){const l=D.value,c=r.value.length-1;if(l){const C=Array.from(l.children).filter($=>$.className.indexOf("farris-tag-item")>-1).findIndex($=>{const V=$.getBoundingClientRect(),ue=window.getComputedStyle($),ve=parseInt(ue["margin-left"],10)+V.width+parseInt(ue["margin-right"],10);return V.left+ve>a});if(C>-1)return C}return c}function F(a){if(f.value){const c=ie(a.clientX)+1,$=h.value.filter(V=>V.type!=="Input");$.splice(c,0,{type:"Input"}),h.value=$,e.nextTick(()=>{var V;b.value&&((V=b.value)==null||V.focus())})}}function he(a){var c;a.preventDefault(),a.stopPropagation();const l=(c=a.dataTransfer)==null?void 0:c.getData("Text");if(l){const C=l.split(":"),$=C[0],V=C[1];[...r.value].findIndex(fe=>(console.log(`${fe.value} === ${V} is ${fe.value===V}`),fe.value===V))>-1||z(r.value.length,$,V)}}function ye(a){a.preventDefault()}return()=>e.createVNode("div",{ref:L,class:K.value,onClick:F,onDrop:he,onDragover:ye},[e.createVNode("ul",{ref:D,class:u.value,onWheel:a=>N(a)},[o()])])}});W.register=(n,t,m,p)=>{n.tags=W,t.tags=Y},W.registerDesigner=(n,t,m)=>{n.tags=Ee,t.tags=Y};const Pe=x.withInstall(W);j.FTags=W,j.default=Pe,j.propsResolver=Y,j.tagsProps=H,Object.defineProperties(j,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});