@element-plus/nightly 0.0.20260224 → 0.0.20260226

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 (329) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +47 -13
  3. package/dist/index.full.min.js +12 -12
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +12 -12
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +47 -13
  8. package/dist/locale/af.js +1 -1
  9. package/dist/locale/af.min.js +1 -1
  10. package/dist/locale/af.min.mjs +1 -1
  11. package/dist/locale/af.mjs +1 -1
  12. package/dist/locale/ar-eg.js +1 -1
  13. package/dist/locale/ar-eg.min.js +1 -1
  14. package/dist/locale/ar-eg.min.mjs +1 -1
  15. package/dist/locale/ar-eg.mjs +1 -1
  16. package/dist/locale/ar.js +1 -1
  17. package/dist/locale/ar.min.js +1 -1
  18. package/dist/locale/ar.min.mjs +1 -1
  19. package/dist/locale/ar.mjs +1 -1
  20. package/dist/locale/az.js +1 -1
  21. package/dist/locale/az.min.js +1 -1
  22. package/dist/locale/az.min.mjs +1 -1
  23. package/dist/locale/az.mjs +1 -1
  24. package/dist/locale/bg.js +1 -1
  25. package/dist/locale/bg.min.js +1 -1
  26. package/dist/locale/bg.min.mjs +1 -1
  27. package/dist/locale/bg.mjs +1 -1
  28. package/dist/locale/bn.js +1 -1
  29. package/dist/locale/bn.min.js +1 -1
  30. package/dist/locale/bn.min.mjs +1 -1
  31. package/dist/locale/bn.mjs +1 -1
  32. package/dist/locale/ca.js +1 -1
  33. package/dist/locale/ca.min.js +1 -1
  34. package/dist/locale/ca.min.mjs +1 -1
  35. package/dist/locale/ca.mjs +1 -1
  36. package/dist/locale/ckb.js +1 -1
  37. package/dist/locale/ckb.min.js +1 -1
  38. package/dist/locale/ckb.min.mjs +1 -1
  39. package/dist/locale/ckb.mjs +1 -1
  40. package/dist/locale/cs.js +1 -1
  41. package/dist/locale/cs.min.js +1 -1
  42. package/dist/locale/cs.min.mjs +1 -1
  43. package/dist/locale/cs.mjs +1 -1
  44. package/dist/locale/da.js +1 -1
  45. package/dist/locale/da.min.js +1 -1
  46. package/dist/locale/da.min.mjs +1 -1
  47. package/dist/locale/da.mjs +1 -1
  48. package/dist/locale/de.js +1 -1
  49. package/dist/locale/de.min.js +1 -1
  50. package/dist/locale/de.min.mjs +1 -1
  51. package/dist/locale/de.mjs +1 -1
  52. package/dist/locale/el.js +1 -1
  53. package/dist/locale/el.min.js +1 -1
  54. package/dist/locale/el.min.mjs +1 -1
  55. package/dist/locale/el.mjs +1 -1
  56. package/dist/locale/en.js +1 -1
  57. package/dist/locale/en.min.js +1 -1
  58. package/dist/locale/en.min.mjs +1 -1
  59. package/dist/locale/en.mjs +1 -1
  60. package/dist/locale/eo.js +1 -1
  61. package/dist/locale/eo.min.js +1 -1
  62. package/dist/locale/eo.min.mjs +1 -1
  63. package/dist/locale/eo.mjs +1 -1
  64. package/dist/locale/es.js +1 -1
  65. package/dist/locale/es.min.js +1 -1
  66. package/dist/locale/es.min.mjs +1 -1
  67. package/dist/locale/es.mjs +1 -1
  68. package/dist/locale/et.js +1 -1
  69. package/dist/locale/et.min.js +1 -1
  70. package/dist/locale/et.min.mjs +1 -1
  71. package/dist/locale/et.mjs +1 -1
  72. package/dist/locale/eu.js +1 -1
  73. package/dist/locale/eu.min.js +1 -1
  74. package/dist/locale/eu.min.mjs +1 -1
  75. package/dist/locale/eu.mjs +1 -1
  76. package/dist/locale/fa.js +1 -1
  77. package/dist/locale/fa.min.js +1 -1
  78. package/dist/locale/fa.min.mjs +1 -1
  79. package/dist/locale/fa.mjs +1 -1
  80. package/dist/locale/fi.js +1 -1
  81. package/dist/locale/fi.min.js +1 -1
  82. package/dist/locale/fi.min.mjs +1 -1
  83. package/dist/locale/fi.mjs +1 -1
  84. package/dist/locale/fr.js +1 -1
  85. package/dist/locale/fr.min.js +1 -1
  86. package/dist/locale/fr.min.mjs +1 -1
  87. package/dist/locale/fr.mjs +1 -1
  88. package/dist/locale/he.js +1 -1
  89. package/dist/locale/he.min.js +1 -1
  90. package/dist/locale/he.min.mjs +1 -1
  91. package/dist/locale/he.mjs +1 -1
  92. package/dist/locale/hi.js +1 -1
  93. package/dist/locale/hi.min.js +1 -1
  94. package/dist/locale/hi.min.mjs +1 -1
  95. package/dist/locale/hi.mjs +1 -1
  96. package/dist/locale/hr.js +1 -1
  97. package/dist/locale/hr.min.js +1 -1
  98. package/dist/locale/hr.min.mjs +1 -1
  99. package/dist/locale/hr.mjs +1 -1
  100. package/dist/locale/hu.js +1 -1
  101. package/dist/locale/hu.min.js +1 -1
  102. package/dist/locale/hu.min.mjs +1 -1
  103. package/dist/locale/hu.mjs +1 -1
  104. package/dist/locale/hy-am.js +1 -1
  105. package/dist/locale/hy-am.min.js +1 -1
  106. package/dist/locale/hy-am.min.mjs +1 -1
  107. package/dist/locale/hy-am.mjs +1 -1
  108. package/dist/locale/id.js +1 -1
  109. package/dist/locale/id.min.js +1 -1
  110. package/dist/locale/id.min.mjs +1 -1
  111. package/dist/locale/id.mjs +1 -1
  112. package/dist/locale/it.js +1 -1
  113. package/dist/locale/it.min.js +1 -1
  114. package/dist/locale/it.min.mjs +1 -1
  115. package/dist/locale/it.mjs +1 -1
  116. package/dist/locale/ja.js +1 -1
  117. package/dist/locale/ja.min.js +1 -1
  118. package/dist/locale/ja.min.mjs +1 -1
  119. package/dist/locale/ja.mjs +1 -1
  120. package/dist/locale/kk.js +1 -1
  121. package/dist/locale/kk.min.js +1 -1
  122. package/dist/locale/kk.min.mjs +1 -1
  123. package/dist/locale/kk.mjs +1 -1
  124. package/dist/locale/km.js +1 -1
  125. package/dist/locale/km.min.js +1 -1
  126. package/dist/locale/km.min.mjs +1 -1
  127. package/dist/locale/km.mjs +1 -1
  128. package/dist/locale/ko.js +1 -1
  129. package/dist/locale/ko.min.js +1 -1
  130. package/dist/locale/ko.min.mjs +1 -1
  131. package/dist/locale/ko.mjs +1 -1
  132. package/dist/locale/ku.js +1 -1
  133. package/dist/locale/ku.min.js +1 -1
  134. package/dist/locale/ku.min.mjs +1 -1
  135. package/dist/locale/ku.mjs +1 -1
  136. package/dist/locale/ky.js +1 -1
  137. package/dist/locale/ky.min.js +1 -1
  138. package/dist/locale/ky.min.mjs +1 -1
  139. package/dist/locale/ky.mjs +1 -1
  140. package/dist/locale/lo.js +1 -1
  141. package/dist/locale/lo.min.js +1 -1
  142. package/dist/locale/lo.min.mjs +1 -1
  143. package/dist/locale/lo.mjs +1 -1
  144. package/dist/locale/lt.js +1 -1
  145. package/dist/locale/lt.min.js +1 -1
  146. package/dist/locale/lt.min.mjs +1 -1
  147. package/dist/locale/lt.mjs +1 -1
  148. package/dist/locale/lv.js +1 -1
  149. package/dist/locale/lv.min.js +1 -1
  150. package/dist/locale/lv.min.mjs +1 -1
  151. package/dist/locale/lv.mjs +1 -1
  152. package/dist/locale/mg.js +1 -1
  153. package/dist/locale/mg.min.js +1 -1
  154. package/dist/locale/mg.min.mjs +1 -1
  155. package/dist/locale/mg.mjs +1 -1
  156. package/dist/locale/mn.js +1 -1
  157. package/dist/locale/mn.min.js +1 -1
  158. package/dist/locale/mn.min.mjs +1 -1
  159. package/dist/locale/mn.mjs +1 -1
  160. package/dist/locale/ms.js +1 -1
  161. package/dist/locale/ms.min.js +1 -1
  162. package/dist/locale/ms.min.mjs +1 -1
  163. package/dist/locale/ms.mjs +1 -1
  164. package/dist/locale/my.js +1 -1
  165. package/dist/locale/my.min.js +1 -1
  166. package/dist/locale/my.min.mjs +1 -1
  167. package/dist/locale/my.mjs +1 -1
  168. package/dist/locale/nb-no.js +1 -1
  169. package/dist/locale/nb-no.min.js +1 -1
  170. package/dist/locale/nb-no.min.mjs +1 -1
  171. package/dist/locale/nb-no.mjs +1 -1
  172. package/dist/locale/nl.js +1 -1
  173. package/dist/locale/nl.min.js +1 -1
  174. package/dist/locale/nl.min.mjs +1 -1
  175. package/dist/locale/nl.mjs +1 -1
  176. package/dist/locale/no.js +1 -1
  177. package/dist/locale/no.min.js +1 -1
  178. package/dist/locale/no.min.mjs +1 -1
  179. package/dist/locale/no.mjs +1 -1
  180. package/dist/locale/pa.js +1 -1
  181. package/dist/locale/pa.min.js +1 -1
  182. package/dist/locale/pa.min.mjs +1 -1
  183. package/dist/locale/pa.mjs +1 -1
  184. package/dist/locale/pl.js +1 -1
  185. package/dist/locale/pl.min.js +1 -1
  186. package/dist/locale/pl.min.mjs +1 -1
  187. package/dist/locale/pl.mjs +1 -1
  188. package/dist/locale/pt-br.js +1 -1
  189. package/dist/locale/pt-br.min.js +1 -1
  190. package/dist/locale/pt-br.min.mjs +1 -1
  191. package/dist/locale/pt-br.mjs +1 -1
  192. package/dist/locale/pt.js +1 -1
  193. package/dist/locale/pt.min.js +1 -1
  194. package/dist/locale/pt.min.mjs +1 -1
  195. package/dist/locale/pt.mjs +1 -1
  196. package/dist/locale/ro.js +1 -1
  197. package/dist/locale/ro.min.js +1 -1
  198. package/dist/locale/ro.min.mjs +1 -1
  199. package/dist/locale/ro.mjs +1 -1
  200. package/dist/locale/ru.js +1 -1
  201. package/dist/locale/ru.min.js +1 -1
  202. package/dist/locale/ru.min.mjs +1 -1
  203. package/dist/locale/ru.mjs +1 -1
  204. package/dist/locale/sk.js +1 -1
  205. package/dist/locale/sk.min.js +1 -1
  206. package/dist/locale/sk.min.mjs +1 -1
  207. package/dist/locale/sk.mjs +1 -1
  208. package/dist/locale/sl.js +1 -1
  209. package/dist/locale/sl.min.js +1 -1
  210. package/dist/locale/sl.min.mjs +1 -1
  211. package/dist/locale/sl.mjs +1 -1
  212. package/dist/locale/sr.js +1 -1
  213. package/dist/locale/sr.min.js +1 -1
  214. package/dist/locale/sr.min.mjs +1 -1
  215. package/dist/locale/sr.mjs +1 -1
  216. package/dist/locale/sv.js +1 -1
  217. package/dist/locale/sv.min.js +1 -1
  218. package/dist/locale/sv.min.mjs +1 -1
  219. package/dist/locale/sv.mjs +1 -1
  220. package/dist/locale/sw.js +1 -1
  221. package/dist/locale/sw.min.js +1 -1
  222. package/dist/locale/sw.min.mjs +1 -1
  223. package/dist/locale/sw.mjs +1 -1
  224. package/dist/locale/ta.js +1 -1
  225. package/dist/locale/ta.min.js +1 -1
  226. package/dist/locale/ta.min.mjs +1 -1
  227. package/dist/locale/ta.mjs +1 -1
  228. package/dist/locale/te.js +1 -1
  229. package/dist/locale/te.min.js +1 -1
  230. package/dist/locale/te.min.mjs +1 -1
  231. package/dist/locale/te.mjs +1 -1
  232. package/dist/locale/th.js +1 -1
  233. package/dist/locale/th.min.js +1 -1
  234. package/dist/locale/th.min.mjs +1 -1
  235. package/dist/locale/th.mjs +1 -1
  236. package/dist/locale/tk.js +1 -1
  237. package/dist/locale/tk.min.js +1 -1
  238. package/dist/locale/tk.min.mjs +1 -1
  239. package/dist/locale/tk.mjs +1 -1
  240. package/dist/locale/tr.js +1 -1
  241. package/dist/locale/tr.min.js +1 -1
  242. package/dist/locale/tr.min.mjs +1 -1
  243. package/dist/locale/tr.mjs +1 -1
  244. package/dist/locale/ug-cn.js +1 -1
  245. package/dist/locale/ug-cn.min.js +1 -1
  246. package/dist/locale/ug-cn.min.mjs +1 -1
  247. package/dist/locale/ug-cn.mjs +1 -1
  248. package/dist/locale/uk.js +1 -1
  249. package/dist/locale/uk.min.js +1 -1
  250. package/dist/locale/uk.min.mjs +1 -1
  251. package/dist/locale/uk.mjs +1 -1
  252. package/dist/locale/uz-uz.js +1 -1
  253. package/dist/locale/uz-uz.min.js +1 -1
  254. package/dist/locale/uz-uz.min.mjs +1 -1
  255. package/dist/locale/uz-uz.mjs +1 -1
  256. package/dist/locale/vi.js +1 -1
  257. package/dist/locale/vi.min.js +1 -1
  258. package/dist/locale/vi.min.mjs +1 -1
  259. package/dist/locale/vi.mjs +1 -1
  260. package/dist/locale/zh-cn.js +1 -1
  261. package/dist/locale/zh-cn.min.js +1 -1
  262. package/dist/locale/zh-cn.min.mjs +1 -1
  263. package/dist/locale/zh-cn.mjs +1 -1
  264. package/dist/locale/zh-hk.js +1 -1
  265. package/dist/locale/zh-hk.min.js +1 -1
  266. package/dist/locale/zh-hk.min.mjs +1 -1
  267. package/dist/locale/zh-hk.mjs +1 -1
  268. package/dist/locale/zh-mo.js +1 -1
  269. package/dist/locale/zh-mo.min.js +1 -1
  270. package/dist/locale/zh-mo.min.mjs +1 -1
  271. package/dist/locale/zh-mo.mjs +1 -1
  272. package/dist/locale/zh-tw.js +1 -1
  273. package/dist/locale/zh-tw.min.js +1 -1
  274. package/dist/locale/zh-tw.min.mjs +1 -1
  275. package/dist/locale/zh-tw.mjs +1 -1
  276. package/es/components/form/src/form.d.ts +1 -1
  277. package/es/components/form/src/types.d.ts +7 -1
  278. package/es/components/input-tag/src/composables/use-input-tag.d.ts +1 -0
  279. package/es/components/input-tag/src/composables/use-input-tag.mjs +22 -1
  280. package/es/components/input-tag/src/composables/use-input-tag.mjs.map +1 -1
  281. package/es/components/input-tag/src/input-tag.vue2.mjs +8 -5
  282. package/es/components/input-tag/src/input-tag.vue2.mjs.map +1 -1
  283. package/es/components/select/src/select.vue.mjs.map +1 -1
  284. package/es/components/select/src/select.vue2.mjs +4 -1
  285. package/es/components/select/src/select.vue2.mjs.map +1 -1
  286. package/es/components/tree/src/tree-node.vue.mjs.map +1 -1
  287. package/es/components/tree/src/tree-node.vue2.mjs +1 -1
  288. package/es/components/tree/src/tree-node.vue2.mjs.map +1 -1
  289. package/es/components/tree/src/tree.vue.mjs.map +1 -1
  290. package/es/components/tree/src/tree.vue2.mjs +1 -1
  291. package/es/components/tree/src/tree.vue2.mjs.map +1 -1
  292. package/es/components/upload/src/ajax.mjs +10 -3
  293. package/es/components/upload/src/ajax.mjs.map +1 -1
  294. package/es/components/upload/src/upload.d.ts +1 -1
  295. package/es/components/upload/src/upload.mjs.map +1 -1
  296. package/es/version.d.ts +1 -1
  297. package/es/version.mjs +1 -1
  298. package/es/version.mjs.map +1 -1
  299. package/lib/components/form/src/form.d.ts +1 -1
  300. package/lib/components/form/src/types.d.ts +7 -1
  301. package/lib/components/input-tag/src/composables/use-input-tag.d.ts +1 -0
  302. package/lib/components/input-tag/src/composables/use-input-tag.js +22 -1
  303. package/lib/components/input-tag/src/composables/use-input-tag.js.map +1 -1
  304. package/lib/components/input-tag/src/input-tag.vue2.js +8 -5
  305. package/lib/components/input-tag/src/input-tag.vue2.js.map +1 -1
  306. package/lib/components/select/src/select.vue.js.map +1 -1
  307. package/lib/components/select/src/select.vue2.js +4 -1
  308. package/lib/components/select/src/select.vue2.js.map +1 -1
  309. package/lib/components/tree/src/tree-node.vue.js.map +1 -1
  310. package/lib/components/tree/src/tree-node.vue2.js +1 -1
  311. package/lib/components/tree/src/tree-node.vue2.js.map +1 -1
  312. package/lib/components/tree/src/tree.vue.js.map +1 -1
  313. package/lib/components/tree/src/tree.vue2.js +1 -1
  314. package/lib/components/tree/src/tree.vue2.js.map +1 -1
  315. package/lib/components/upload/src/ajax.js +9 -2
  316. package/lib/components/upload/src/ajax.js.map +1 -1
  317. package/lib/components/upload/src/upload.d.ts +1 -1
  318. package/lib/components/upload/src/upload.js.map +1 -1
  319. package/lib/version.d.ts +1 -1
  320. package/lib/version.js +1 -1
  321. package/lib/version.js.map +1 -1
  322. package/package.json +2 -2
  323. package/theme-chalk/el-checkbox-button.css +1 -1
  324. package/theme-chalk/el-tabs.css +1 -1
  325. package/theme-chalk/index.css +1 -1
  326. package/theme-chalk/src/checkbox-button.scss +6 -0
  327. package/theme-chalk/src/common/var.scss +1 -0
  328. package/theme-chalk/src/tabs.scss +9 -0
  329. package/web-types.json +1 -1
@@ -104,7 +104,7 @@ var _sfc_main = defineComponent({
104
104
  store.value.filter(value);
105
105
  };
106
106
  const getNodeKey$1 = (node) => {
107
- return getNodeKey(props.nodeKey, node.data);
107
+ return props.nodeKey ? getNodeKey(props.nodeKey, node.data) : node.id;
108
108
  };
109
109
  const requireNodeKey = (methodName) => {
110
110
  if (!props.nodeKey) {
@@ -1 +1 @@
1
- {"version":3,"file":"tree.vue2.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<template>\n <div\n ref=\"el$\"\n :class=\"[\n ns.b(),\n ns.is('dragging', !!dragState.draggingNode),\n ns.is('drop-not-allow', !dragState.allowDrop),\n ns.is('drop-inner', dragState.dropType === 'inner'),\n { [ns.m('highlight-current')]: highlightCurrent },\n ]\"\n role=\"tree\"\n >\n <el-tree-node\n v-for=\"child in root.childNodes\"\n :key=\"getNodeKey(child)\"\n :node=\"child\"\n :props=\"props\"\n :accordion=\"accordion\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :render-content=\"renderContent\"\n @node-expand=\"handleNodeExpand\"\n />\n <div v-if=\"isEmpty\" :class=\"ns.e('empty-block')\">\n <slot name=\"empty\">\n <span :class=\"ns.e('empty-text')\">\n {{ emptyText ?? t('el.tree.emptyText') }}\n </span>\n </slot>\n </div>\n <div\n v-show=\"dragState.showDropIndicator\"\n ref=\"dropIndicator$\"\n :class=\"ns.e('drop-indicator')\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n provide,\n ref,\n watch,\n} from 'vue'\nimport { isEqual } from 'lodash-unified'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { formItemContextKey } from '@element-plus/components/form'\nimport TreeStore from './model/tree-store'\nimport { getNodeKey as getNodeKeyUtil, handleCurrentChange } from './model/util'\nimport ElTreeNode from './tree-node.vue'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { useDragNodeHandler } from './model/useDragNode'\nimport { useKeydown } from './model/useKeydown'\nimport { ROOT_TREE_INJECTION_KEY } from './tokens'\nimport { treeEmits, treeProps } from './tree'\n\nimport type Node from './model/node'\nimport type { ComponentInternalInstance } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type { FilterValue, TreeData, TreeKey, TreeNodeData } from './tree.type'\n\nexport default defineComponent({\n name: 'ElTree',\n components: { ElTreeNode },\n props: treeProps,\n emits: treeEmits,\n setup(props, ctx) {\n const { t } = useLocale()\n const ns = useNamespace('tree')\n\n const store = ref<TreeStore>(\n new TreeStore({\n key: props.nodeKey,\n data: props.data,\n lazy: props.lazy,\n props: props.props,\n load: props.load,\n currentNodeKey: props.currentNodeKey,\n checkStrictly: props.checkStrictly,\n checkDescendants: props.checkDescendants,\n defaultCheckedKeys: props.defaultCheckedKeys,\n defaultExpandedKeys: props.defaultExpandedKeys,\n autoExpandParent: props.autoExpandParent,\n defaultExpandAll: props.defaultExpandAll,\n filterNodeMethod: props.filterNodeMethod,\n })\n )\n\n store.value.initialize()\n\n const root = ref<Node>(store.value.root)\n const currentNode = ref<Node | null>(null)\n const el$ = ref<Nullable<HTMLElement>>(null)\n const dropIndicator$ = ref<Nullable<HTMLElement>>(null)\n\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n\n const { dragState } = useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store,\n })\n\n useKeydown({ el$ }, store)\n\n const instance = getCurrentInstance()\n\n const isSelectTree = computed(() => {\n let parent = instance?.parent\n while (parent) {\n if (parent.type.name === 'ElTreeSelect') {\n return true\n }\n parent = parent.parent\n }\n return false\n })\n\n const isEmpty = computed(() => {\n const { childNodes } = root.value\n return (\n (!childNodes ||\n childNodes.length === 0 ||\n childNodes.every(({ visible }) => !visible)) &&\n !isSelectTree.value\n )\n })\n\n watch(\n () => props.currentNodeKey,\n (newVal) => {\n store.value.setCurrentNodeKey(newVal ?? null)\n }\n )\n\n watch(\n () => props.defaultCheckedKeys,\n (newVal, oldVal) => {\n if (isEqual(newVal, oldVal)) return\n\n store.value.setDefaultCheckedKey(newVal ?? [])\n }\n )\n\n watch(\n () => props.defaultExpandedKeys,\n (newVal) => {\n store.value.setDefaultExpandedKeys(newVal ?? [])\n }\n )\n\n watch(\n () => props.data,\n (newVal) => {\n store.value.setData(newVal)\n },\n { deep: true }\n )\n\n watch(\n () => props.checkStrictly,\n (newVal) => {\n store.value.checkStrictly = newVal\n }\n )\n\n const filter = (value: FilterValue) => {\n if (!props.filterNodeMethod)\n throw new Error('[Tree] filterNodeMethod is required when filter')\n store.value.filter(value)\n }\n\n const getNodeKey = (node: Node) => {\n return getNodeKeyUtil(props.nodeKey, node.data)\n }\n\n const requireNodeKey = (methodName: string) => {\n if (!props.nodeKey) {\n throw new Error(`[Tree] nodeKey is required in ${methodName}`)\n }\n }\n\n const getNodePath = (data: TreeKey | TreeNodeData) => {\n requireNodeKey('getNodePath')\n\n const node = store.value.getNode(data)\n if (!node) return []\n const path = [node.data]\n let parent = node.parent\n while (parent && parent !== root.value) {\n path.push(parent.data)\n parent = parent.parent\n }\n return path.reverse()\n }\n\n const getCheckedNodes = (\n leafOnly?: boolean,\n includeHalfChecked?: boolean\n ): TreeNodeData[] => {\n return store.value.getCheckedNodes(leafOnly, includeHalfChecked)\n }\n\n const getCheckedKeys = (leafOnly?: boolean): TreeKey[] => {\n return store.value.getCheckedKeys(leafOnly)\n }\n\n const getCurrentNode = () => {\n const currentNode = store.value.getCurrentNode()\n return currentNode ? currentNode.data : null\n }\n\n const getCurrentKey = (): TreeKey | null => {\n requireNodeKey('getCurrentKey')\n\n const currentNode = getCurrentNode()\n return currentNode ? currentNode[props.nodeKey!] : null\n }\n\n const setCheckedNodes = (nodes: Node[], leafOnly?: boolean) => {\n requireNodeKey('setCheckedNodes')\n\n store.value.setCheckedNodes(nodes, leafOnly)\n }\n\n const setCheckedKeys = (keys: TreeKey[], leafOnly?: boolean) => {\n requireNodeKey('setCheckedKeys')\n\n store.value.setCheckedKeys(keys, leafOnly)\n }\n\n const setChecked = (\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ) => {\n store.value.setChecked(data, checked, deep)\n }\n\n const getHalfCheckedNodes = (): TreeNodeData[] => {\n return store.value.getHalfCheckedNodes()\n }\n\n const getHalfCheckedKeys = (): TreeKey[] => {\n return store.value.getHalfCheckedKeys()\n }\n\n const setCurrentNode = (node: Node, shouldAutoExpandParent = true) => {\n requireNodeKey('setCurrentNode')\n\n handleCurrentChange(store, ctx.emit, () => {\n broadcastExpanded(node)\n store.value.setUserCurrentNode(node, shouldAutoExpandParent)\n })\n }\n\n const setCurrentKey = (\n key: TreeKey | null = null,\n shouldAutoExpandParent = true\n ) => {\n requireNodeKey('setCurrentKey')\n\n handleCurrentChange(store, ctx.emit, () => {\n broadcastExpanded()\n store.value.setCurrentNodeKey(key, shouldAutoExpandParent)\n })\n }\n\n const getNode = (data: TreeKey | TreeNodeData): Node => {\n return store.value.getNode(data)\n }\n\n const remove = (data: TreeNodeData | Node) => {\n store.value.remove(data)\n }\n\n const append = (\n data: TreeNodeData,\n parentNode: TreeNodeData | TreeKey | Node\n ) => {\n store.value.append(data, parentNode)\n }\n\n const insertBefore = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData | Node\n ) => {\n store.value.insertBefore(data, refNode)\n }\n\n const insertAfter = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData | Node\n ) => {\n store.value.insertAfter(data, refNode)\n }\n\n const handleNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const updateKeyChildren = (key: TreeKey, data: TreeData) => {\n requireNodeKey('updateKeyChildren')\n\n store.value.updateChildren(key, data)\n }\n\n provide(ROOT_TREE_INJECTION_KEY, {\n ctx,\n props,\n store,\n root,\n currentNode,\n instance,\n })\n\n provide(formItemContextKey, undefined)\n\n return {\n ns,\n // ref\n store,\n root,\n currentNode,\n dragState,\n el$,\n dropIndicator$,\n\n // computed\n isEmpty,\n\n // methods\n filter,\n getNodeKey,\n getNodePath,\n getCheckedNodes,\n getCheckedKeys,\n getCurrentNode,\n getCurrentKey,\n setCheckedNodes,\n setCheckedKeys,\n setChecked,\n getHalfCheckedNodes,\n getHalfCheckedKeys,\n setCurrentNode,\n setCurrentKey,\n t,\n getNode,\n remove,\n append,\n insertBefore,\n insertAfter,\n handleNodeExpand,\n updateKeyChildren,\n }\n },\n})\n</script>\n"],"names":["getNodeKey","getNodeKeyUtil","currentNode","instance"],"mappings":"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"}
1
+ {"version":3,"file":"tree.vue2.mjs","sources":["../../../../../../packages/components/tree/src/tree.vue"],"sourcesContent":["<template>\n <div\n ref=\"el$\"\n :class=\"[\n ns.b(),\n ns.is('dragging', !!dragState.draggingNode),\n ns.is('drop-not-allow', !dragState.allowDrop),\n ns.is('drop-inner', dragState.dropType === 'inner'),\n { [ns.m('highlight-current')]: highlightCurrent },\n ]\"\n role=\"tree\"\n >\n <el-tree-node\n v-for=\"child in root.childNodes\"\n :key=\"getNodeKey(child)\"\n :node=\"child\"\n :props=\"props\"\n :accordion=\"accordion\"\n :render-after-expand=\"renderAfterExpand\"\n :show-checkbox=\"showCheckbox\"\n :render-content=\"renderContent\"\n @node-expand=\"handleNodeExpand\"\n />\n <div v-if=\"isEmpty\" :class=\"ns.e('empty-block')\">\n <slot name=\"empty\">\n <span :class=\"ns.e('empty-text')\">\n {{ emptyText ?? t('el.tree.emptyText') }}\n </span>\n </slot>\n </div>\n <div\n v-show=\"dragState.showDropIndicator\"\n ref=\"dropIndicator$\"\n :class=\"ns.e('drop-indicator')\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n provide,\n ref,\n watch,\n} from 'vue'\nimport { isEqual } from 'lodash-unified'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { formItemContextKey } from '@element-plus/components/form'\nimport TreeStore from './model/tree-store'\nimport { getNodeKey as getNodeKeyUtil, handleCurrentChange } from './model/util'\nimport ElTreeNode from './tree-node.vue'\nimport { useNodeExpandEventBroadcast } from './model/useNodeExpandEventBroadcast'\nimport { useDragNodeHandler } from './model/useDragNode'\nimport { useKeydown } from './model/useKeydown'\nimport { ROOT_TREE_INJECTION_KEY } from './tokens'\nimport { treeEmits, treeProps } from './tree'\n\nimport type Node from './model/node'\nimport type { ComponentInternalInstance } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type { FilterValue, TreeData, TreeKey, TreeNodeData } from './tree.type'\n\nexport default defineComponent({\n name: 'ElTree',\n components: { ElTreeNode },\n props: treeProps,\n emits: treeEmits,\n setup(props, ctx) {\n const { t } = useLocale()\n const ns = useNamespace('tree')\n\n const store = ref<TreeStore>(\n new TreeStore({\n key: props.nodeKey,\n data: props.data,\n lazy: props.lazy,\n props: props.props,\n load: props.load,\n currentNodeKey: props.currentNodeKey,\n checkStrictly: props.checkStrictly,\n checkDescendants: props.checkDescendants,\n defaultCheckedKeys: props.defaultCheckedKeys,\n defaultExpandedKeys: props.defaultExpandedKeys,\n autoExpandParent: props.autoExpandParent,\n defaultExpandAll: props.defaultExpandAll,\n filterNodeMethod: props.filterNodeMethod,\n })\n )\n\n store.value.initialize()\n\n const root = ref<Node>(store.value.root)\n const currentNode = ref<Node | null>(null)\n const el$ = ref<Nullable<HTMLElement>>(null)\n const dropIndicator$ = ref<Nullable<HTMLElement>>(null)\n\n const { broadcastExpanded } = useNodeExpandEventBroadcast(props)\n\n const { dragState } = useDragNodeHandler({\n props,\n ctx,\n el$,\n dropIndicator$,\n store,\n })\n\n useKeydown({ el$ }, store)\n\n const instance = getCurrentInstance()\n\n const isSelectTree = computed(() => {\n let parent = instance?.parent\n while (parent) {\n if (parent.type.name === 'ElTreeSelect') {\n return true\n }\n parent = parent.parent\n }\n return false\n })\n\n const isEmpty = computed(() => {\n const { childNodes } = root.value\n return (\n (!childNodes ||\n childNodes.length === 0 ||\n childNodes.every(({ visible }) => !visible)) &&\n !isSelectTree.value\n )\n })\n\n watch(\n () => props.currentNodeKey,\n (newVal) => {\n store.value.setCurrentNodeKey(newVal ?? null)\n }\n )\n\n watch(\n () => props.defaultCheckedKeys,\n (newVal, oldVal) => {\n if (isEqual(newVal, oldVal)) return\n\n store.value.setDefaultCheckedKey(newVal ?? [])\n }\n )\n\n watch(\n () => props.defaultExpandedKeys,\n (newVal) => {\n store.value.setDefaultExpandedKeys(newVal ?? [])\n }\n )\n\n watch(\n () => props.data,\n (newVal) => {\n store.value.setData(newVal)\n },\n { deep: true }\n )\n\n watch(\n () => props.checkStrictly,\n (newVal) => {\n store.value.checkStrictly = newVal\n }\n )\n\n const filter = (value: FilterValue) => {\n if (!props.filterNodeMethod)\n throw new Error('[Tree] filterNodeMethod is required when filter')\n store.value.filter(value)\n }\n\n const getNodeKey = (node: Node) => {\n return props.nodeKey ? getNodeKeyUtil(props.nodeKey, node.data) : node.id\n }\n\n const requireNodeKey = (methodName: string) => {\n if (!props.nodeKey) {\n throw new Error(`[Tree] nodeKey is required in ${methodName}`)\n }\n }\n\n const getNodePath = (data: TreeKey | TreeNodeData) => {\n requireNodeKey('getNodePath')\n\n const node = store.value.getNode(data)\n if (!node) return []\n const path = [node.data]\n let parent = node.parent\n while (parent && parent !== root.value) {\n path.push(parent.data)\n parent = parent.parent\n }\n return path.reverse()\n }\n\n const getCheckedNodes = (\n leafOnly?: boolean,\n includeHalfChecked?: boolean\n ): TreeNodeData[] => {\n return store.value.getCheckedNodes(leafOnly, includeHalfChecked)\n }\n\n const getCheckedKeys = (leafOnly?: boolean): TreeKey[] => {\n return store.value.getCheckedKeys(leafOnly)\n }\n\n const getCurrentNode = () => {\n const currentNode = store.value.getCurrentNode()\n return currentNode ? currentNode.data : null\n }\n\n const getCurrentKey = (): TreeKey | null => {\n requireNodeKey('getCurrentKey')\n\n const currentNode = getCurrentNode()\n return currentNode ? currentNode[props.nodeKey!] : null\n }\n\n const setCheckedNodes = (nodes: Node[], leafOnly?: boolean) => {\n requireNodeKey('setCheckedNodes')\n\n store.value.setCheckedNodes(nodes, leafOnly)\n }\n\n const setCheckedKeys = (keys: TreeKey[], leafOnly?: boolean) => {\n requireNodeKey('setCheckedKeys')\n\n store.value.setCheckedKeys(keys, leafOnly)\n }\n\n const setChecked = (\n data: TreeKey | TreeNodeData,\n checked: boolean,\n deep: boolean\n ) => {\n store.value.setChecked(data, checked, deep)\n }\n\n const getHalfCheckedNodes = (): TreeNodeData[] => {\n return store.value.getHalfCheckedNodes()\n }\n\n const getHalfCheckedKeys = (): TreeKey[] => {\n return store.value.getHalfCheckedKeys()\n }\n\n const setCurrentNode = (node: Node, shouldAutoExpandParent = true) => {\n requireNodeKey('setCurrentNode')\n\n handleCurrentChange(store, ctx.emit, () => {\n broadcastExpanded(node)\n store.value.setUserCurrentNode(node, shouldAutoExpandParent)\n })\n }\n\n const setCurrentKey = (\n key: TreeKey | null = null,\n shouldAutoExpandParent = true\n ) => {\n requireNodeKey('setCurrentKey')\n\n handleCurrentChange(store, ctx.emit, () => {\n broadcastExpanded()\n store.value.setCurrentNodeKey(key, shouldAutoExpandParent)\n })\n }\n\n const getNode = (data: TreeKey | TreeNodeData): Node => {\n return store.value.getNode(data)\n }\n\n const remove = (data: TreeNodeData | Node) => {\n store.value.remove(data)\n }\n\n const append = (\n data: TreeNodeData,\n parentNode: TreeNodeData | TreeKey | Node\n ) => {\n store.value.append(data, parentNode)\n }\n\n const insertBefore = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData | Node\n ) => {\n store.value.insertBefore(data, refNode)\n }\n\n const insertAfter = (\n data: TreeNodeData,\n refNode: TreeKey | TreeNodeData | Node\n ) => {\n store.value.insertAfter(data, refNode)\n }\n\n const handleNodeExpand = (\n nodeData: TreeNodeData,\n node: Node,\n instance: ComponentInternalInstance\n ) => {\n broadcastExpanded(node)\n ctx.emit('node-expand', nodeData, node, instance)\n }\n\n const updateKeyChildren = (key: TreeKey, data: TreeData) => {\n requireNodeKey('updateKeyChildren')\n\n store.value.updateChildren(key, data)\n }\n\n provide(ROOT_TREE_INJECTION_KEY, {\n ctx,\n props,\n store,\n root,\n currentNode,\n instance,\n })\n\n provide(formItemContextKey, undefined)\n\n return {\n ns,\n // ref\n store,\n root,\n currentNode,\n dragState,\n el$,\n dropIndicator$,\n\n // computed\n isEmpty,\n\n // methods\n filter,\n getNodeKey,\n getNodePath,\n getCheckedNodes,\n getCheckedKeys,\n getCurrentNode,\n getCurrentKey,\n setCheckedNodes,\n setCheckedKeys,\n setChecked,\n getHalfCheckedNodes,\n getHalfCheckedKeys,\n setCurrentNode,\n setCurrentKey,\n t,\n getNode,\n remove,\n append,\n insertBefore,\n insertAfter,\n handleNodeExpand,\n updateKeyChildren,\n }\n },\n})\n</script>\n"],"names":["getNodeKey","getNodeKeyUtil","currentNode","instance"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { isNil } from 'lodash-unified';
2
2
  import { throwError } from '../../../utils/error.mjs';
3
- import { isArray } from '@vue/shared';
3
+ import { isArray, isString } from '@vue/shared';
4
4
 
5
5
  var __defProp = Object.defineProperty;
6
6
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -55,8 +55,15 @@ const ajaxUpload = (option) => {
55
55
  const formData = new FormData();
56
56
  if (option.data) {
57
57
  for (const [key, value] of Object.entries(option.data)) {
58
- if (isArray(value) && value.length) formData.append(key, ...value);
59
- else formData.append(key, value);
58
+ if (isArray(value)) {
59
+ if (value.length === 2 && value[0] instanceof Blob && isString(value[1])) {
60
+ formData.append(key, value[0], value[1]);
61
+ } else {
62
+ value.forEach((item) => {
63
+ formData.append(key, item);
64
+ });
65
+ }
66
+ } else formData.append(key, value);
60
67
  }
61
68
  }
62
69
  formData.append(option.filename, option.file, option.file.name);
@@ -1 +1 @@
1
- {"version":3,"file":"ajax.mjs","sources":["../../../../../../packages/components/upload/src/ajax.ts"],"sourcesContent":["import { isNil } from 'lodash-unified'\nimport { isArray, throwError } from '@element-plus/utils'\n\nimport type {\n UploadProgressEvent,\n UploadRequestHandler,\n UploadRequestOptions,\n} from './upload'\n\nconst SCOPE = 'ElUpload'\n\nexport class UploadAjaxError extends Error {\n name = 'UploadAjaxError'\n status: number\n method: string\n url: string\n\n constructor(message: string, status: number, method: string, url: string) {\n super(message)\n this.status = status\n this.method = method\n this.url = url\n }\n}\n\nfunction getError(\n action: string,\n option: UploadRequestOptions,\n xhr: XMLHttpRequest\n) {\n let msg: string\n if (xhr.response) {\n msg = `${xhr.response.error || xhr.response}`\n } else if (xhr.responseText) {\n msg = `${xhr.responseText}`\n } else {\n msg = `fail to ${option.method} ${action} ${xhr.status}`\n }\n\n return new UploadAjaxError(msg, xhr.status, option.method, action)\n}\n\nfunction getBody(xhr: XMLHttpRequest): XMLHttpRequestResponseType {\n const text = xhr.responseText || xhr.response\n if (!text) {\n return text\n }\n\n try {\n return JSON.parse(text)\n } catch {\n return text\n }\n}\n\nexport const ajaxUpload: UploadRequestHandler = (option) => {\n if (typeof XMLHttpRequest === 'undefined')\n throwError(SCOPE, 'XMLHttpRequest is undefined')\n\n const xhr = new XMLHttpRequest()\n const action = option.action\n\n if (xhr.upload) {\n xhr.upload.addEventListener('progress', (evt) => {\n const progressEvt = evt as UploadProgressEvent\n progressEvt.percent = evt.total > 0 ? (evt.loaded / evt.total) * 100 : 0\n option.onProgress(progressEvt)\n })\n }\n\n const formData = new FormData()\n if (option.data) {\n for (const [key, value] of Object.entries(option.data)) {\n if (isArray(value) && value.length) formData.append(key, ...value)\n else formData.append(key, value)\n }\n }\n formData.append(option.filename, option.file, option.file.name)\n\n xhr.addEventListener('error', () => {\n option.onError(getError(action, option, xhr))\n })\n\n xhr.addEventListener('load', () => {\n if (xhr.status < 200 || xhr.status >= 300) {\n return option.onError(getError(action, option, xhr))\n }\n option.onSuccess(getBody(xhr))\n })\n\n xhr.open(option.method, action, true)\n\n if (option.withCredentials && 'withCredentials' in xhr) {\n xhr.withCredentials = true\n }\n\n const headers = option.headers || {}\n if (headers instanceof Headers) {\n headers.forEach((value, key) => xhr.setRequestHeader(key, value))\n } else {\n for (const [key, value] of Object.entries(headers)) {\n if (isNil(value)) continue\n xhr.setRequestHeader(key, String(value))\n }\n }\n\n xhr.send(formData)\n return xhr\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ajax.mjs","sources":["../../../../../../packages/components/upload/src/ajax.ts"],"sourcesContent":["import { isNil } from 'lodash-unified'\nimport { isArray, isString, throwError } from '@element-plus/utils'\n\nimport type {\n UploadProgressEvent,\n UploadRequestHandler,\n UploadRequestOptions,\n} from './upload'\n\nconst SCOPE = 'ElUpload'\n\nexport class UploadAjaxError extends Error {\n name = 'UploadAjaxError'\n status: number\n method: string\n url: string\n\n constructor(message: string, status: number, method: string, url: string) {\n super(message)\n this.status = status\n this.method = method\n this.url = url\n }\n}\n\nfunction getError(\n action: string,\n option: UploadRequestOptions,\n xhr: XMLHttpRequest\n) {\n let msg: string\n if (xhr.response) {\n msg = `${xhr.response.error || xhr.response}`\n } else if (xhr.responseText) {\n msg = `${xhr.responseText}`\n } else {\n msg = `fail to ${option.method} ${action} ${xhr.status}`\n }\n\n return new UploadAjaxError(msg, xhr.status, option.method, action)\n}\n\nfunction getBody(xhr: XMLHttpRequest): XMLHttpRequestResponseType {\n const text = xhr.responseText || xhr.response\n if (!text) {\n return text\n }\n\n try {\n return JSON.parse(text)\n } catch {\n return text\n }\n}\n\nexport const ajaxUpload: UploadRequestHandler = (option) => {\n if (typeof XMLHttpRequest === 'undefined')\n throwError(SCOPE, 'XMLHttpRequest is undefined')\n\n const xhr = new XMLHttpRequest()\n const action = option.action\n\n if (xhr.upload) {\n xhr.upload.addEventListener('progress', (evt) => {\n const progressEvt = evt as UploadProgressEvent\n progressEvt.percent = evt.total > 0 ? (evt.loaded / evt.total) * 100 : 0\n option.onProgress(progressEvt)\n })\n }\n\n const formData = new FormData()\n if (option.data) {\n for (const [key, value] of Object.entries(option.data)) {\n if (isArray(value)) {\n if (\n value.length === 2 &&\n value[0] instanceof Blob &&\n isString(value[1])\n ) {\n formData.append(key, value[0], value[1])\n } else {\n value.forEach((item) => {\n formData.append(key, item)\n })\n }\n } else formData.append(key, value)\n }\n }\n formData.append(option.filename, option.file, option.file.name)\n\n xhr.addEventListener('error', () => {\n option.onError(getError(action, option, xhr))\n })\n\n xhr.addEventListener('load', () => {\n if (xhr.status < 200 || xhr.status >= 300) {\n return option.onError(getError(action, option, xhr))\n }\n option.onSuccess(getBody(xhr))\n })\n\n xhr.open(option.method, action, true)\n\n if (option.withCredentials && 'withCredentials' in xhr) {\n xhr.withCredentials = true\n }\n\n const headers = option.headers || {}\n if (headers instanceof Headers) {\n headers.forEach((value, key) => xhr.setRequestHeader(key, value))\n } else {\n for (const [key, value] of Object.entries(headers)) {\n if (isNil(value)) continue\n xhr.setRequestHeader(key, String(value))\n }\n }\n\n xhr.send(formData)\n return xhr\n}\n"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export interface UploadProgressEvent extends ProgressEvent {
14
14
  export interface UploadRequestOptions {
15
15
  action: string;
16
16
  method: string;
17
- data: Record<string, string | Blob | [Blob, string]>;
17
+ data: Record<string, string | Blob | [string | Blob, string] | string[]>;
18
18
  filename: string;
19
19
  file: UploadRawFile;
20
20
  headers: Headers | Record<string, string | number | null | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"upload.mjs","sources":["../../../../../../packages/components/upload/src/upload.ts"],"sourcesContent":["import { NOOP, buildProps, definePropType, mutable } from '@element-plus/utils'\nimport { ajaxUpload } from './ajax'\n\nimport type { Awaitable, Mutable } from '@element-plus/utils'\nimport type { UploadAjaxError } from './ajax'\nimport type { ExtractPublicPropTypes } from 'vue'\nimport type Upload from './upload.vue'\n\n/**\n * @deprecated Removed after 3.0.0, Use `UploadProps` instead.\n */\nexport const uploadListTypes = ['text', 'picture', 'picture-card'] as const\n\nlet fileId = 1\nexport const genFileId = () => Date.now() + fileId++\n\nexport type UploadStatus = 'ready' | 'uploading' | 'success' | 'fail'\nexport interface UploadProgressEvent extends ProgressEvent {\n percent: number\n}\n\nexport interface UploadRequestOptions {\n action: string\n method: string\n data: Record<string, string | Blob | [Blob, string]>\n filename: string\n file: UploadRawFile\n headers: Headers | Record<string, string | number | null | undefined>\n onError: (evt: UploadAjaxError) => void\n onProgress: (evt: UploadProgressEvent) => void\n onSuccess: (response: any) => void\n withCredentials: boolean\n}\nexport interface UploadFile {\n name: string\n percentage?: number\n status: UploadStatus\n size?: number\n response?: unknown\n uid: number\n url?: string\n raw?: UploadRawFile\n}\nexport type UploadUserFile = Omit<UploadFile, 'status' | 'uid'> &\n Partial<Pick<UploadFile, 'status' | 'uid'>>\n\nexport type UploadFiles = UploadFile[]\nexport interface UploadRawFile extends File {\n uid: number\n isDirectory?: boolean\n}\nexport type UploadRequestHandler = (\n options: UploadRequestOptions\n) => XMLHttpRequest | Promise<unknown>\nexport interface UploadHooks {\n beforeUpload: (\n rawFile: UploadRawFile\n ) => Awaitable<void | undefined | null | boolean | File | Blob>\n beforeRemove: (\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => Awaitable<boolean>\n onRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void\n onChange: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void\n onPreview: (uploadFile: UploadFile) => void\n onSuccess: (\n response: any,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => void\n onProgress: (\n evt: UploadProgressEvent,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => void\n onError: (\n error: Error,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => void\n onExceed: (files: File[], uploadFiles: UploadUserFile[]) => void\n}\n\nexport type UploadData = Mutable<Record<string, any>>\n\nexport type ListType = 'text' | 'picture' | 'picture-card'\nexport type Crossorigin = 'anonymous' | 'use-credentials' | ''\n\nexport interface UploadBaseProps {\n /**\n * @description request URL\n */\n action?: string\n /**\n * @description request headers\n */\n headers?: Headers | Record<string, any>\n /**\n * @description set upload request method\n */\n method?: string\n /**\n * @description additions options of request\n */\n data?:\n | Awaitable<UploadData>\n | ((rawFile: UploadRawFile) => Awaitable<UploadData>)\n /**\n * @description whether uploading multiple files is permitted\n */\n multiple?: boolean\n /**\n * @description key name for uploaded file\n */\n name?: string\n /**\n * @description whether to activate drag and drop mode\n */\n drag?: boolean\n /**\n * @description whether cookies are sent\n */\n withCredentials?: boolean\n /**\n * @description whether to show the uploaded file list\n */\n showFileList?: boolean\n /**\n * @description accepted [file types](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept), will not work when `thumbnail-mode === true`\n */\n accept?: string\n /**\n * @description default uploaded files\n */\n fileList?: UploadUserFile[]\n /**\n * @description whether to auto upload file\n */\n autoUpload?: boolean\n /**\n * @description type of file list\n */\n listType?: ListType\n /**\n * @description override default xhr behavior, allowing you to implement your own upload-file's request\n */\n httpRequest?: UploadRequestHandler\n /**\n * @description whether to disable upload\n */\n disabled?: boolean\n /**\n * @description maximum number of uploads allowed\n */\n limit?: number\n /**\n * @description whether to support uploading directory\n */\n directory?: boolean\n}\n\nexport interface UploadProps extends UploadBaseProps {\n /**\n * @description hook function before uploading with the file to be uploaded as its parameter. If `false` is returned or a `Promise` is returned and then is rejected, uploading will be aborted\n */\n beforeUpload?: UploadHooks['beforeUpload']\n /**\n * @description hook function before removing a file with the file and file list as its parameters. If `false` is returned or a `Promise` is returned and then is rejected, removing will be aborted\n */\n beforeRemove?: UploadHooks['beforeRemove']\n /**\n * @description hook function when files are removed\n */\n onRemove?: UploadHooks['onRemove']\n /**\n * @description hook function when select file or upload file success or upload file fail\n */\n onChange?: UploadHooks['onChange']\n /**\n * @description hook function when clicking the uploaded files\n */\n onPreview?: UploadHooks['onPreview']\n /**\n * @description hook function when uploaded successfully\n */\n onSuccess?: UploadHooks['onSuccess']\n /**\n * @description hook function when some progress occurs\n */\n onProgress?: UploadHooks['onProgress']\n /**\n * @description hook function when some errors occurs\n */\n onError?: UploadHooks['onError']\n /**\n * @description hook function when limit is exceeded\n */\n onExceed?: UploadHooks['onExceed']\n /**\n * @description set HTML attribute: crossorigin.\n */\n crossorigin?: Crossorigin\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `UploadBaseProps` instead.\n */\nexport const uploadBaseProps = buildProps({\n /**\n * @description request URL\n */\n action: {\n type: String,\n default: '#',\n },\n /**\n * @description request headers\n */\n headers: {\n type: definePropType<Headers | Record<string, any>>(Object),\n },\n /**\n * @description set upload request method\n */\n method: {\n type: String,\n default: 'post',\n },\n /**\n * @description additions options of request\n */\n data: {\n type: definePropType<\n | Awaitable<UploadData>\n | ((rawFile: UploadRawFile) => Awaitable<UploadData>)\n >([Object, Function, Promise]),\n default: () => mutable({} as const),\n },\n /**\n * @description whether uploading multiple files is permitted\n */\n multiple: Boolean,\n /**\n * @description key name for uploaded file\n */\n name: {\n type: String,\n default: 'file',\n },\n /**\n * @description whether to activate drag and drop mode\n */\n drag: Boolean,\n /**\n * @description whether cookies are sent\n */\n withCredentials: Boolean,\n /**\n * @description whether to show the uploaded file list\n */\n showFileList: {\n type: Boolean,\n default: true,\n },\n /**\n * @description accepted [file types](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept), will not work when `thumbnail-mode === true`\n */\n accept: {\n type: String,\n default: '',\n },\n /**\n * @description default uploaded files\n */\n fileList: {\n type: definePropType<UploadUserFile[]>(Array),\n default: () => mutable([] as const),\n },\n /**\n * @description whether to auto upload file\n */\n autoUpload: {\n type: Boolean,\n default: true,\n },\n /**\n * @description type of file list\n */\n listType: {\n type: String,\n values: uploadListTypes,\n default: 'text',\n },\n /**\n * @description override default xhr behavior, allowing you to implement your own upload-file's request\n */\n httpRequest: {\n type: definePropType<UploadRequestHandler>(Function),\n default: ajaxUpload,\n },\n /**\n * @description whether to disable upload\n */\n disabled: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description maximum number of uploads allowed\n */\n limit: Number,\n /**\n * @description whether to support uploading directory\n */\n directory: Boolean,\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `UploadProps` instead.\n */\nexport const uploadProps = buildProps({\n ...uploadBaseProps,\n /**\n * @description hook function before uploading with the file to be uploaded as its parameter. If `false` is returned or a `Promise` is returned and then is rejected, uploading will be aborted\n */\n beforeUpload: {\n type: definePropType<UploadHooks['beforeUpload']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function before removing a file with the file and file list as its parameters. If `false` is returned or a `Promise` is returned and then is rejected, removing will be aborted\n */\n beforeRemove: {\n type: definePropType<UploadHooks['beforeRemove']>(Function),\n },\n /**\n * @description hook function when files are removed\n */\n onRemove: {\n type: definePropType<UploadHooks['onRemove']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when select file or upload file success or upload file fail\n */\n onChange: {\n type: definePropType<UploadHooks['onChange']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when clicking the uploaded files\n */\n onPreview: {\n type: definePropType<UploadHooks['onPreview']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when uploaded successfully\n */\n onSuccess: {\n type: definePropType<UploadHooks['onSuccess']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when some progress occurs\n */\n onProgress: {\n type: definePropType<UploadHooks['onProgress']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when some errors occurs\n */\n onError: {\n type: definePropType<UploadHooks['onError']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when limit is exceeded\n */\n onExceed: {\n type: definePropType<UploadHooks['onExceed']>(Function),\n default: NOOP,\n },\n /**\n * @description set HTML attribute: crossorigin.\n */\n crossorigin: {\n type: definePropType<'anonymous' | 'use-credentials' | ''>(String),\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `UploadProps` instead.\n */\nexport type UploadPropsPublic = ExtractPublicPropTypes<typeof uploadProps>\n\nexport type UploadInstance = InstanceType<typeof Upload> & unknown\n\nexport const uploadBasePropsDefaults = {\n action: '#',\n method: 'post',\n data: () => mutable({}),\n name: 'file',\n showFileList: true,\n accept: '',\n fileList: () => mutable([]),\n autoUpload: true,\n listType: 'text',\n httpRequest: ajaxUpload,\n disabled: undefined,\n} as const\n\nexport const uploadPropsDefaults = {\n ...uploadBasePropsDefaults,\n beforeUpload: NOOP,\n onRemove: NOOP,\n onChange: NOOP,\n onPreview: NOOP,\n onSuccess: NOOP,\n onProgress: NOOP,\n onError: NOOP,\n onExceed: NOOP,\n} as const\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload.mjs","sources":["../../../../../../packages/components/upload/src/upload.ts"],"sourcesContent":["import { NOOP, buildProps, definePropType, mutable } from '@element-plus/utils'\nimport { ajaxUpload } from './ajax'\n\nimport type { Awaitable, Mutable } from '@element-plus/utils'\nimport type { UploadAjaxError } from './ajax'\nimport type { ExtractPublicPropTypes } from 'vue'\nimport type Upload from './upload.vue'\n\n/**\n * @deprecated Removed after 3.0.0, Use `UploadProps` instead.\n */\nexport const uploadListTypes = ['text', 'picture', 'picture-card'] as const\n\nlet fileId = 1\nexport const genFileId = () => Date.now() + fileId++\n\nexport type UploadStatus = 'ready' | 'uploading' | 'success' | 'fail'\nexport interface UploadProgressEvent extends ProgressEvent {\n percent: number\n}\n\nexport interface UploadRequestOptions {\n action: string\n method: string\n data: Record<string, string | Blob | [string | Blob, string] | string[]>\n filename: string\n file: UploadRawFile\n headers: Headers | Record<string, string | number | null | undefined>\n onError: (evt: UploadAjaxError) => void\n onProgress: (evt: UploadProgressEvent) => void\n onSuccess: (response: any) => void\n withCredentials: boolean\n}\nexport interface UploadFile {\n name: string\n percentage?: number\n status: UploadStatus\n size?: number\n response?: unknown\n uid: number\n url?: string\n raw?: UploadRawFile\n}\nexport type UploadUserFile = Omit<UploadFile, 'status' | 'uid'> &\n Partial<Pick<UploadFile, 'status' | 'uid'>>\n\nexport type UploadFiles = UploadFile[]\nexport interface UploadRawFile extends File {\n uid: number\n isDirectory?: boolean\n}\nexport type UploadRequestHandler = (\n options: UploadRequestOptions\n) => XMLHttpRequest | Promise<unknown>\nexport interface UploadHooks {\n beforeUpload: (\n rawFile: UploadRawFile\n ) => Awaitable<void | undefined | null | boolean | File | Blob>\n beforeRemove: (\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => Awaitable<boolean>\n onRemove: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void\n onChange: (uploadFile: UploadFile, uploadFiles: UploadFiles) => void\n onPreview: (uploadFile: UploadFile) => void\n onSuccess: (\n response: any,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => void\n onProgress: (\n evt: UploadProgressEvent,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => void\n onError: (\n error: Error,\n uploadFile: UploadFile,\n uploadFiles: UploadFiles\n ) => void\n onExceed: (files: File[], uploadFiles: UploadUserFile[]) => void\n}\n\nexport type UploadData = Mutable<Record<string, any>>\n\nexport type ListType = 'text' | 'picture' | 'picture-card'\nexport type Crossorigin = 'anonymous' | 'use-credentials' | ''\n\nexport interface UploadBaseProps {\n /**\n * @description request URL\n */\n action?: string\n /**\n * @description request headers\n */\n headers?: Headers | Record<string, any>\n /**\n * @description set upload request method\n */\n method?: string\n /**\n * @description additions options of request\n */\n data?:\n | Awaitable<UploadData>\n | ((rawFile: UploadRawFile) => Awaitable<UploadData>)\n /**\n * @description whether uploading multiple files is permitted\n */\n multiple?: boolean\n /**\n * @description key name for uploaded file\n */\n name?: string\n /**\n * @description whether to activate drag and drop mode\n */\n drag?: boolean\n /**\n * @description whether cookies are sent\n */\n withCredentials?: boolean\n /**\n * @description whether to show the uploaded file list\n */\n showFileList?: boolean\n /**\n * @description accepted [file types](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept), will not work when `thumbnail-mode === true`\n */\n accept?: string\n /**\n * @description default uploaded files\n */\n fileList?: UploadUserFile[]\n /**\n * @description whether to auto upload file\n */\n autoUpload?: boolean\n /**\n * @description type of file list\n */\n listType?: ListType\n /**\n * @description override default xhr behavior, allowing you to implement your own upload-file's request\n */\n httpRequest?: UploadRequestHandler\n /**\n * @description whether to disable upload\n */\n disabled?: boolean\n /**\n * @description maximum number of uploads allowed\n */\n limit?: number\n /**\n * @description whether to support uploading directory\n */\n directory?: boolean\n}\n\nexport interface UploadProps extends UploadBaseProps {\n /**\n * @description hook function before uploading with the file to be uploaded as its parameter. If `false` is returned or a `Promise` is returned and then is rejected, uploading will be aborted\n */\n beforeUpload?: UploadHooks['beforeUpload']\n /**\n * @description hook function before removing a file with the file and file list as its parameters. If `false` is returned or a `Promise` is returned and then is rejected, removing will be aborted\n */\n beforeRemove?: UploadHooks['beforeRemove']\n /**\n * @description hook function when files are removed\n */\n onRemove?: UploadHooks['onRemove']\n /**\n * @description hook function when select file or upload file success or upload file fail\n */\n onChange?: UploadHooks['onChange']\n /**\n * @description hook function when clicking the uploaded files\n */\n onPreview?: UploadHooks['onPreview']\n /**\n * @description hook function when uploaded successfully\n */\n onSuccess?: UploadHooks['onSuccess']\n /**\n * @description hook function when some progress occurs\n */\n onProgress?: UploadHooks['onProgress']\n /**\n * @description hook function when some errors occurs\n */\n onError?: UploadHooks['onError']\n /**\n * @description hook function when limit is exceeded\n */\n onExceed?: UploadHooks['onExceed']\n /**\n * @description set HTML attribute: crossorigin.\n */\n crossorigin?: Crossorigin\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `UploadBaseProps` instead.\n */\nexport const uploadBaseProps = buildProps({\n /**\n * @description request URL\n */\n action: {\n type: String,\n default: '#',\n },\n /**\n * @description request headers\n */\n headers: {\n type: definePropType<Headers | Record<string, any>>(Object),\n },\n /**\n * @description set upload request method\n */\n method: {\n type: String,\n default: 'post',\n },\n /**\n * @description additions options of request\n */\n data: {\n type: definePropType<\n | Awaitable<UploadData>\n | ((rawFile: UploadRawFile) => Awaitable<UploadData>)\n >([Object, Function, Promise]),\n default: () => mutable({} as const),\n },\n /**\n * @description whether uploading multiple files is permitted\n */\n multiple: Boolean,\n /**\n * @description key name for uploaded file\n */\n name: {\n type: String,\n default: 'file',\n },\n /**\n * @description whether to activate drag and drop mode\n */\n drag: Boolean,\n /**\n * @description whether cookies are sent\n */\n withCredentials: Boolean,\n /**\n * @description whether to show the uploaded file list\n */\n showFileList: {\n type: Boolean,\n default: true,\n },\n /**\n * @description accepted [file types](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept), will not work when `thumbnail-mode === true`\n */\n accept: {\n type: String,\n default: '',\n },\n /**\n * @description default uploaded files\n */\n fileList: {\n type: definePropType<UploadUserFile[]>(Array),\n default: () => mutable([] as const),\n },\n /**\n * @description whether to auto upload file\n */\n autoUpload: {\n type: Boolean,\n default: true,\n },\n /**\n * @description type of file list\n */\n listType: {\n type: String,\n values: uploadListTypes,\n default: 'text',\n },\n /**\n * @description override default xhr behavior, allowing you to implement your own upload-file's request\n */\n httpRequest: {\n type: definePropType<UploadRequestHandler>(Function),\n default: ajaxUpload,\n },\n /**\n * @description whether to disable upload\n */\n disabled: {\n type: Boolean,\n default: undefined,\n },\n /**\n * @description maximum number of uploads allowed\n */\n limit: Number,\n /**\n * @description whether to support uploading directory\n */\n directory: Boolean,\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `UploadProps` instead.\n */\nexport const uploadProps = buildProps({\n ...uploadBaseProps,\n /**\n * @description hook function before uploading with the file to be uploaded as its parameter. If `false` is returned or a `Promise` is returned and then is rejected, uploading will be aborted\n */\n beforeUpload: {\n type: definePropType<UploadHooks['beforeUpload']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function before removing a file with the file and file list as its parameters. If `false` is returned or a `Promise` is returned and then is rejected, removing will be aborted\n */\n beforeRemove: {\n type: definePropType<UploadHooks['beforeRemove']>(Function),\n },\n /**\n * @description hook function when files are removed\n */\n onRemove: {\n type: definePropType<UploadHooks['onRemove']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when select file or upload file success or upload file fail\n */\n onChange: {\n type: definePropType<UploadHooks['onChange']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when clicking the uploaded files\n */\n onPreview: {\n type: definePropType<UploadHooks['onPreview']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when uploaded successfully\n */\n onSuccess: {\n type: definePropType<UploadHooks['onSuccess']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when some progress occurs\n */\n onProgress: {\n type: definePropType<UploadHooks['onProgress']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when some errors occurs\n */\n onError: {\n type: definePropType<UploadHooks['onError']>(Function),\n default: NOOP,\n },\n /**\n * @description hook function when limit is exceeded\n */\n onExceed: {\n type: definePropType<UploadHooks['onExceed']>(Function),\n default: NOOP,\n },\n /**\n * @description set HTML attribute: crossorigin.\n */\n crossorigin: {\n type: definePropType<'anonymous' | 'use-credentials' | ''>(String),\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `UploadProps` instead.\n */\nexport type UploadPropsPublic = ExtractPublicPropTypes<typeof uploadProps>\n\nexport type UploadInstance = InstanceType<typeof Upload> & unknown\n\nexport const uploadBasePropsDefaults = {\n action: '#',\n method: 'post',\n data: () => mutable({}),\n name: 'file',\n showFileList: true,\n accept: '',\n fileList: () => mutable([]),\n autoUpload: true,\n listType: 'text',\n httpRequest: ajaxUpload,\n disabled: undefined,\n} as const\n\nexport const uploadPropsDefaults = {\n ...uploadBasePropsDefaults,\n beforeUpload: NOOP,\n onRemove: NOOP,\n onChange: NOOP,\n onPreview: NOOP,\n onSuccess: NOOP,\n onProgress: NOOP,\n onError: NOOP,\n onExceed: NOOP,\n} as const\n"],"names":[],"mappings":"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"}
package/es/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "0.0.20260224";
1
+ export declare const version = "0.0.20260226";
package/es/version.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const version = "0.0.20260224";
1
+ const version = "0.0.20260226";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20260224'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20260226'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
@@ -88,7 +88,7 @@ export interface FormProps extends FormMetaProps {
88
88
  export declare const formProps: {
89
89
  readonly model: ObjectConstructor;
90
90
  readonly rules: {
91
- readonly type: import("vue").PropType<Partial<Record<string, import("@element-plus/nightly/es/utils").Arrayable<import("./types").FormItemRule>>>>;
91
+ readonly type: import("vue").PropType<Partial<Record<string, Record<string, any> | import("@element-plus/nightly/es/utils").Arrayable<import("./types").FormItemRule>>>>;
92
92
  readonly required: false;
93
93
  readonly validator: ((val: unknown) => boolean) | undefined;
94
94
  __epPropKey: true;
@@ -10,7 +10,12 @@ export type FormLabelWidthContext = ReturnType<typeof useFormLabelWidth>;
10
10
  export interface FormItemRule extends RuleItem {
11
11
  trigger?: Arrayable<string>;
12
12
  }
13
- export type FormRules<T extends MaybeRef<Record<string, any> | string> = string> = Partial<Record<UnwrapRef<T> extends string ? UnwrapRef<T> : FieldPath<UnwrapRef<T>>, Arrayable<FormItemRule>>>;
13
+ type FormRuleValue<V> = V extends any[] ? Arrayable<FormItemRule> : V extends Record<string, any> ? Arrayable<FormItemRule> | {
14
+ [K in keyof V]?: FormRuleValue<V[K]>;
15
+ } : Arrayable<FormItemRule>;
16
+ export type FormRules<T extends MaybeRef<Record<string, any> | string> = string> = UnwrapRef<T> extends Record<string, any> ? {
17
+ [P in FieldPath<UnwrapRef<T>>]?: P extends keyof UnwrapRef<T> ? FormRuleValue<UnwrapRef<T>[P]> : Arrayable<FormItemRule>;
18
+ } : Partial<Record<string, Arrayable<FormItemRule> | Record<string, any>>>;
14
19
  export type FormValidationResult = Promise<boolean>;
15
20
  export type FormValidateCallback = (isValid: boolean, invalidFields?: ValidateFieldsError) => Promise<void> | void;
16
21
  export interface FormValidateFailure {
@@ -45,3 +50,4 @@ export interface FormItemContext extends FormItemProps {
45
50
  clearValidate(): void;
46
51
  setInitialValue: (value: any) => void;
47
52
  }
53
+ export {};
@@ -23,6 +23,7 @@ export declare function useInputTag({ props, emit, formItem }: UseInputTagOption
23
23
  showTagList: import("vue").ComputedRef<string[] | undefined>;
24
24
  collapseTagList: import("vue").ComputedRef<string[] | undefined>;
25
25
  handleDragged: (draggingIndex: number, dropIndex: number, type: "before" | "after") => void;
26
+ handlePaste: (event: ClipboardEvent) => void;
26
27
  handleInput: (event: Event) => void;
27
28
  handleKeydown: (event: KeyboardEvent) => void;
28
29
  handleKeyup: (event: KeyboardEvent) => void;
@@ -48,13 +48,33 @@ function useInputTag({ props, emit, formItem }) {
48
48
  };
49
49
  const getDelimitedTags = (input) => {
50
50
  var _a, _b;
51
- const tags = input.split(props.delimiter).filter((val) => val && val !== input);
51
+ const parts = input.split(props.delimiter);
52
+ const tags = parts.length > 1 ? parts.map((val) => val.trim()).filter(Boolean) : [];
52
53
  if (props.max) {
53
54
  const maxInsert = props.max - ((_b = (_a = props.modelValue) == null ? void 0 : _a.length) != null ? _b : 0);
54
55
  tags.splice(maxInsert);
55
56
  }
56
57
  return tags.length === 1 ? tags[0] : tags;
57
58
  };
59
+ const handlePaste = (event$1) => {
60
+ var _a;
61
+ const pasted = (_a = event$1.clipboardData) == null ? void 0 : _a.getData("text");
62
+ if (props.readonly || inputLimit.value || !props.delimiter || !pasted) {
63
+ return;
64
+ }
65
+ const {
66
+ selectionStart = 0,
67
+ selectionEnd = 0,
68
+ value
69
+ } = event$1.target;
70
+ const nextValue = value.slice(0, selectionStart) + pasted + value.slice(selectionEnd);
71
+ const tags = getDelimitedTags(nextValue);
72
+ if (tags.length) {
73
+ addTagsEmit(tags);
74
+ emit(event.INPUT_EVENT, nextValue);
75
+ event$1.preventDefault();
76
+ }
77
+ };
58
78
  const handleInput = (event$1) => {
59
79
  if (inputLimit.value) {
60
80
  inputValue.value = void 0;
@@ -195,6 +215,7 @@ function useInputTag({ props, emit, formItem }) {
195
215
  showTagList,
196
216
  collapseTagList,
197
217
  handleDragged,
218
+ handlePaste,
198
219
  handleInput,
199
220
  handleKeydown,
200
221
  handleKeyup,
@@ -1 +1 @@
1
- {"version":3,"file":"use-input-tag.js","sources":["../../../../../../../packages/components/input-tag/src/composables/use-input-tag.ts"],"sourcesContent":["import { computed, ref, shallowRef, watch } from 'vue'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n debugWarn,\n ensureArray,\n getEventCode,\n isAndroid,\n isUndefined,\n} from '@element-plus/utils'\nimport { useComposition, useFocusController } from '@element-plus/hooks'\nimport { useFormDisabled, useFormSize } from '@element-plus/components/form'\n\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { EmitFn } from '@element-plus/utils'\nimport type { FormItemContext } from '@element-plus/components/form'\nimport type { InputTagEmits, InputTagProps } from '../input-tag'\n\ninterface UseInputTagOptions {\n props: InputTagProps\n emit: EmitFn<InputTagEmits>\n formItem?: FormItemContext\n}\n\nexport function useInputTag({ props, emit, formItem }: UseInputTagOptions) {\n const disabled = useFormDisabled()\n const size = useFormSize()\n\n const inputRef = shallowRef<HTMLInputElement>()\n const inputValue = ref<string>()\n const tagTooltipRef = ref<TooltipInstance>()\n\n const tagSize = computed(() => {\n return ['small'].includes(size.value) ? 'small' : 'default'\n })\n const placeholder = computed(() => {\n return props.modelValue?.length ? undefined : props.placeholder\n })\n const closable = computed(() => !(props.readonly || disabled.value))\n const inputLimit = computed(() => {\n return isUndefined(props.max)\n ? false\n : (props.modelValue?.length ?? 0) >= props.max\n })\n const showTagList = computed(() => {\n return props.collapseTags\n ? props.modelValue?.slice(0, props.maxCollapseTags)\n : props.modelValue\n })\n const collapseTagList = computed(() => {\n return props.collapseTags\n ? props.modelValue?.slice(props.maxCollapseTags)\n : []\n })\n\n const addTagsEmit = (value: string | string[]) => {\n const list = [...(props.modelValue ?? []), ...ensureArray(value)]\n\n emit(UPDATE_MODEL_EVENT, list)\n emit(CHANGE_EVENT, list)\n emit('add-tag', value)\n inputValue.value = undefined\n }\n\n const getDelimitedTags = (input: string) => {\n const tags = input\n .split(props.delimiter!)\n .filter((val) => val && val !== input)\n if (props.max) {\n const maxInsert = props.max - (props.modelValue?.length ?? 0)\n tags.splice(maxInsert)\n }\n return tags.length === 1 ? tags[0] : tags\n }\n\n const handleInput = (event: Event) => {\n if (inputLimit.value) {\n inputValue.value = undefined\n return\n }\n\n if (isComposing.value) return\n if (props.delimiter && inputValue.value) {\n const tags = getDelimitedTags(inputValue.value)\n if (tags.length) {\n addTagsEmit(tags)\n }\n }\n emit(INPUT_EVENT, (event.target as HTMLInputElement).value)\n }\n\n const handleKeydown = (event: KeyboardEvent) => {\n if (isComposing.value) return\n const code = getEventCode(event)\n\n switch (code) {\n case props.trigger:\n event.preventDefault()\n event.stopPropagation()\n handleAddTag()\n break\n case EVENT_CODE.numpadEnter:\n if (props.trigger === EVENT_CODE.enter) {\n event.preventDefault()\n event.stopPropagation()\n handleAddTag()\n }\n break\n case EVENT_CODE.backspace:\n if (!inputValue.value && props.modelValue?.length) {\n event.preventDefault()\n event.stopPropagation()\n handleRemoveTag(props.modelValue.length - 1)\n }\n break\n }\n }\n\n const handleKeyup = (event: KeyboardEvent) => {\n if (isComposing.value || !isAndroid()) return\n const code = getEventCode(event)\n\n switch (code) {\n case EVENT_CODE.space:\n if (props.trigger === EVENT_CODE.space) {\n event.preventDefault()\n event.stopPropagation()\n handleAddTag()\n }\n break\n }\n }\n\n const handleAddTag = () => {\n const value = inputValue.value?.trim()\n if (!value || inputLimit.value) return\n addTagsEmit(value)\n }\n\n const handleRemoveTag = (index: number) => {\n const value = (props.modelValue ?? []).slice()\n const [item] = value.splice(index, 1)\n\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value)\n emit('remove-tag', item, index)\n }\n\n const handleClear = () => {\n inputValue.value = undefined\n emit(UPDATE_MODEL_EVENT, undefined)\n emit(CHANGE_EVENT, undefined)\n emit('clear')\n }\n\n const handleDragged = (\n draggingIndex: number,\n dropIndex: number,\n type: 'before' | 'after'\n ) => {\n const value = (props.modelValue ?? []).slice()\n const [draggedItem] = value.splice(draggingIndex, 1)\n const step =\n dropIndex > draggingIndex && type === 'before'\n ? -1\n : dropIndex < draggingIndex && type === 'after'\n ? 1\n : 0\n\n value.splice(dropIndex + step, 0, draggedItem)\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value)\n emit('drag-tag', draggingIndex, dropIndex + step, draggedItem)\n }\n\n const focus = () => {\n inputRef.value?.focus()\n }\n\n const blur = () => {\n inputRef.value?.blur()\n }\n\n const { wrapperRef, isFocused } = useFocusController(inputRef, {\n disabled,\n beforeBlur(event) {\n return tagTooltipRef.value?.isFocusInsideContent(event)\n },\n afterBlur() {\n if (props.saveOnBlur) {\n handleAddTag()\n } else {\n inputValue.value = undefined\n }\n\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n })\n\n const {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n } = useComposition({ afterComposition: handleInput })\n\n watch(\n () => props.modelValue,\n () => {\n if (props.validateEvent) {\n formItem?.validate?.(CHANGE_EVENT).catch((err) => debugWarn(err))\n }\n }\n )\n\n return {\n inputRef,\n wrapperRef,\n tagTooltipRef,\n isFocused,\n isComposing,\n inputValue,\n size,\n tagSize,\n placeholder,\n closable,\n disabled,\n inputLimit,\n showTagList,\n collapseTagList,\n handleDragged,\n handleInput,\n handleKeydown,\n handleKeyup,\n handleAddTag,\n handleRemoveTag,\n handleClear,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n focus,\n blur,\n }\n}\n"],"names":["useFormDisabled","useFormSize","shallowRef","ref","computed","isUndefined","ensureArray","UPDATE_MODEL_EVENT","CHANGE_EVENT","event","INPUT_EVENT","getEventCode","EVENT_CODE","isAndroid","useFocusController","debugWarn","useComposition","watch"],"mappings":"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"}
1
+ {"version":3,"file":"use-input-tag.js","sources":["../../../../../../../packages/components/input-tag/src/composables/use-input-tag.ts"],"sourcesContent":["import { computed, ref, shallowRef, watch } from 'vue'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport {\n debugWarn,\n ensureArray,\n getEventCode,\n isAndroid,\n isUndefined,\n} from '@element-plus/utils'\nimport { useComposition, useFocusController } from '@element-plus/hooks'\nimport { useFormDisabled, useFormSize } from '@element-plus/components/form'\n\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { EmitFn } from '@element-plus/utils'\nimport type { FormItemContext } from '@element-plus/components/form'\nimport type { InputTagEmits, InputTagProps } from '../input-tag'\n\ninterface UseInputTagOptions {\n props: InputTagProps\n emit: EmitFn<InputTagEmits>\n formItem?: FormItemContext\n}\n\nexport function useInputTag({ props, emit, formItem }: UseInputTagOptions) {\n const disabled = useFormDisabled()\n const size = useFormSize()\n\n const inputRef = shallowRef<HTMLInputElement>()\n const inputValue = ref<string>()\n const tagTooltipRef = ref<TooltipInstance>()\n\n const tagSize = computed(() => {\n return ['small'].includes(size.value) ? 'small' : 'default'\n })\n const placeholder = computed(() => {\n return props.modelValue?.length ? undefined : props.placeholder\n })\n const closable = computed(() => !(props.readonly || disabled.value))\n const inputLimit = computed(() => {\n return isUndefined(props.max)\n ? false\n : (props.modelValue?.length ?? 0) >= props.max\n })\n const showTagList = computed(() => {\n return props.collapseTags\n ? props.modelValue?.slice(0, props.maxCollapseTags)\n : props.modelValue\n })\n const collapseTagList = computed(() => {\n return props.collapseTags\n ? props.modelValue?.slice(props.maxCollapseTags)\n : []\n })\n\n const addTagsEmit = (value: string | string[]) => {\n const list = [...(props.modelValue ?? []), ...ensureArray(value)]\n\n emit(UPDATE_MODEL_EVENT, list)\n emit(CHANGE_EVENT, list)\n emit('add-tag', value)\n inputValue.value = undefined\n }\n\n const getDelimitedTags = (input: string) => {\n const parts = input.split(props.delimiter!)\n const tags =\n parts.length > 1 ? parts.map((val) => val.trim()).filter(Boolean) : []\n if (props.max) {\n const maxInsert = props.max - (props.modelValue?.length ?? 0)\n tags.splice(maxInsert)\n }\n return tags.length === 1 ? tags[0] : tags\n }\n\n const handlePaste = (event: ClipboardEvent) => {\n const pasted = event.clipboardData?.getData('text')\n if (props.readonly || inputLimit.value || !props.delimiter || !pasted) {\n return\n }\n const {\n selectionStart = 0,\n selectionEnd = 0,\n value,\n } = event.target as HTMLInputElement\n const nextValue =\n value.slice(0, selectionStart!) + pasted + value.slice(selectionEnd!)\n const tags = getDelimitedTags(nextValue)\n if (tags.length) {\n addTagsEmit(tags)\n emit(INPUT_EVENT, nextValue)\n event.preventDefault()\n }\n }\n\n const handleInput = (event: Event) => {\n if (inputLimit.value) {\n inputValue.value = undefined\n return\n }\n\n if (isComposing.value) return\n if (props.delimiter && inputValue.value) {\n const tags = getDelimitedTags(inputValue.value)\n if (tags.length) {\n addTagsEmit(tags)\n }\n }\n emit(INPUT_EVENT, (event.target as HTMLInputElement).value)\n }\n\n const handleKeydown = (event: KeyboardEvent) => {\n if (isComposing.value) return\n const code = getEventCode(event)\n\n switch (code) {\n case props.trigger:\n event.preventDefault()\n event.stopPropagation()\n handleAddTag()\n break\n case EVENT_CODE.numpadEnter:\n if (props.trigger === EVENT_CODE.enter) {\n event.preventDefault()\n event.stopPropagation()\n handleAddTag()\n }\n break\n case EVENT_CODE.backspace:\n if (!inputValue.value && props.modelValue?.length) {\n event.preventDefault()\n event.stopPropagation()\n handleRemoveTag(props.modelValue.length - 1)\n }\n break\n }\n }\n\n const handleKeyup = (event: KeyboardEvent) => {\n if (isComposing.value || !isAndroid()) return\n const code = getEventCode(event)\n\n switch (code) {\n case EVENT_CODE.space:\n if (props.trigger === EVENT_CODE.space) {\n event.preventDefault()\n event.stopPropagation()\n handleAddTag()\n }\n break\n }\n }\n\n const handleAddTag = () => {\n const value = inputValue.value?.trim()\n if (!value || inputLimit.value) return\n addTagsEmit(value)\n }\n\n const handleRemoveTag = (index: number) => {\n const value = (props.modelValue ?? []).slice()\n const [item] = value.splice(index, 1)\n\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value)\n emit('remove-tag', item, index)\n }\n\n const handleClear = () => {\n inputValue.value = undefined\n emit(UPDATE_MODEL_EVENT, undefined)\n emit(CHANGE_EVENT, undefined)\n emit('clear')\n }\n\n const handleDragged = (\n draggingIndex: number,\n dropIndex: number,\n type: 'before' | 'after'\n ) => {\n const value = (props.modelValue ?? []).slice()\n const [draggedItem] = value.splice(draggingIndex, 1)\n const step =\n dropIndex > draggingIndex && type === 'before'\n ? -1\n : dropIndex < draggingIndex && type === 'after'\n ? 1\n : 0\n\n value.splice(dropIndex + step, 0, draggedItem)\n emit(UPDATE_MODEL_EVENT, value)\n emit(CHANGE_EVENT, value)\n emit('drag-tag', draggingIndex, dropIndex + step, draggedItem)\n }\n\n const focus = () => {\n inputRef.value?.focus()\n }\n\n const blur = () => {\n inputRef.value?.blur()\n }\n\n const { wrapperRef, isFocused } = useFocusController(inputRef, {\n disabled,\n beforeBlur(event) {\n return tagTooltipRef.value?.isFocusInsideContent(event)\n },\n afterBlur() {\n if (props.saveOnBlur) {\n handleAddTag()\n } else {\n inputValue.value = undefined\n }\n\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n },\n })\n\n const {\n isComposing,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n } = useComposition({ afterComposition: handleInput })\n\n watch(\n () => props.modelValue,\n () => {\n if (props.validateEvent) {\n formItem?.validate?.(CHANGE_EVENT).catch((err) => debugWarn(err))\n }\n }\n )\n\n return {\n inputRef,\n wrapperRef,\n tagTooltipRef,\n isFocused,\n isComposing,\n inputValue,\n size,\n tagSize,\n placeholder,\n closable,\n disabled,\n inputLimit,\n showTagList,\n collapseTagList,\n handleDragged,\n handlePaste,\n handleInput,\n handleKeydown,\n handleKeyup,\n handleAddTag,\n handleRemoveTag,\n handleClear,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n focus,\n blur,\n }\n}\n"],"names":["useFormDisabled","useFormSize","shallowRef","ref","computed","isUndefined","ensureArray","UPDATE_MODEL_EVENT","CHANGE_EVENT","event","INPUT_EVENT","getEventCode","EVENT_CODE","isAndroid","useFocusController","debugWarn","useComposition","watch"],"mappings":"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"}
@@ -56,6 +56,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
56
56
  showTagList,
57
57
  collapseTagList,
58
58
  handleDragged,
59
+ handlePaste,
59
60
  handleInput,
60
61
  handleKeydown,
61
62
  handleKeyup,
@@ -110,9 +111,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
110
111
  ref: wrapperRef,
111
112
  class: vue.normalizeClass(vue.unref(containerKls)),
112
113
  style: vue.normalizeStyle(vue.unref(containerStyle)),
113
- onMouseenter: _cache[8] || (_cache[8] = //@ts-ignore
114
+ onMouseenter: _cache[9] || (_cache[9] = //@ts-ignore
114
115
  (...args) => vue.unref(handleMouseEnter) && vue.unref(handleMouseEnter)(...args)),
115
- onMouseleave: _cache[9] || (_cache[9] = //@ts-ignore
116
+ onMouseleave: _cache[10] || (_cache[10] = //@ts-ignore
116
117
  (...args) => vue.unref(handleMouseLeave) && vue.unref(handleMouseLeave)(...args))
117
118
  },
118
119
  [
@@ -292,11 +293,13 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
292
293
  (...args) => vue.unref(handleCompositionUpdate) && vue.unref(handleCompositionUpdate)(...args)),
293
294
  onCompositionend: _cache[4] || (_cache[4] = //@ts-ignore
294
295
  (...args) => vue.unref(handleCompositionEnd) && vue.unref(handleCompositionEnd)(...args)),
295
- onInput: _cache[5] || (_cache[5] = //@ts-ignore
296
+ onPaste: _cache[5] || (_cache[5] = //@ts-ignore
297
+ (...args) => vue.unref(handlePaste) && vue.unref(handlePaste)(...args)),
298
+ onInput: _cache[6] || (_cache[6] = //@ts-ignore
296
299
  (...args) => vue.unref(handleInput) && vue.unref(handleInput)(...args)),
297
- onKeydown: _cache[6] || (_cache[6] = //@ts-ignore
300
+ onKeydown: _cache[7] || (_cache[7] = //@ts-ignore
298
301
  (...args) => vue.unref(handleKeydown) && vue.unref(handleKeydown)(...args)),
299
- onKeyup: _cache[7] || (_cache[7] = //@ts-ignore
302
+ onKeyup: _cache[8] || (_cache[8] = //@ts-ignore
300
303
  (...args) => vue.unref(handleKeyup) && vue.unref(handleKeyup)(...args))
301
304
  }), null, 16, _hoisted_1), [
302
305
  [vue.vModelText, vue.unref(inputValue)]
@@ -1 +1 @@
1
- {"version":3,"file":"input-tag.vue2.js","sources":["../../../../../../packages/components/input-tag/src/input-tag.vue"],"sourcesContent":["<template>\n <div\n ref=\"wrapperRef\"\n :class=\"containerKls\"\n :style=\"containerStyle\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <div v-if=\"slots.prefix\" :class=\"ns.e('prefix')\">\n <slot name=\"prefix\" />\n </div>\n <div ref=\"innerRef\" :class=\"innerKls\">\n <el-tag\n v-for=\"(item, index) in showTagList\"\n :key=\"index\"\n :size=\"tagSize\"\n :closable=\"closable\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n :draggable=\"closable && draggable\"\n :style=\"tagStyle\"\n disable-transitions\n @close=\"handleRemoveTag(index)\"\n @dragstart=\"(event: DragEvent) => handleDragStart(event, index)\"\n @dragover=\"(event: DragEvent) => handleDragOver(event, index)\"\n @dragend=\"handleDragEnd\"\n @drop.stop\n >\n <slot name=\"tag\" :value=\"item\" :index=\"index\">\n {{ item }}\n </slot>\n </el-tag>\n <el-tooltip\n v-if=\"collapseTags && modelValue && modelValue.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"!collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n placement=\"bottom\"\n >\n <template #default>\n <div ref=\"collapseItemRef\" :class=\"ns.e('collapse-tag')\">\n <el-tag\n :closable=\"false\"\n :size=\"tagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n >\n + {{ modelValue.length - maxCollapseTags }}\n </el-tag>\n </div>\n </template>\n <template #content>\n <div :class=\"ns.e('input-tag-list')\">\n <el-tag\n v-for=\"(item, index) in collapseTagList\"\n :key=\"index\"\n :size=\"tagSize\"\n :closable=\"closable\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"handleRemoveTag(index + maxCollapseTags)\"\n >\n <slot name=\"tag\" :value=\"item\" :index=\"index + maxCollapseTags\">\n {{ item }}\n </slot>\n </el-tag>\n </div>\n </template>\n </el-tooltip>\n <div :class=\"ns.e('input-wrapper')\">\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"inputValue\"\n v-bind=\"attrs\"\n type=\"text\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :placeholder=\"placeholder\"\n :autofocus=\"autofocus\"\n :ariaLabel=\"ariaLabel\"\n :class=\"ns.e('input')\"\n :style=\"inputStyle\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @input=\"handleInput\"\n @keydown=\"handleKeydown\"\n @keyup=\"handleKeyup\"\n />\n <span\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"ns.e('input-calculator')\"\n v-text=\"inputValue\"\n />\n </div>\n <div\n v-show=\"showDropIndicator\"\n ref=\"dropIndicatorRef\"\n :class=\"ns.e('drop-indicator')\"\n />\n </div>\n <div v-if=\"showSuffix\" :class=\"ns.e('suffix')\">\n <slot name=\"suffix\" />\n <el-icon\n v-if=\"showClear\"\n :class=\"[ns.e('icon'), ns.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, markRaw, useSlots } from 'vue'\nimport { useAttrs, useCalcInputWidth } from '@element-plus/hooks'\nimport { NOOP, ValidateComponentsMap } from '@element-plus/utils'\nimport { CircleClose } from '@element-plus/icons-vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTag from '@element-plus/components/tag'\nimport { useFormItem, useFormItemInputId } from '@element-plus/components/form'\nimport { inputTagEmits } from './input-tag'\nimport {\n useDragTag,\n useHovering,\n useInputTag,\n useInputTagDom,\n} from './composables'\n\nimport type { InputTagProps } from './input-tag'\n\ndefineOptions({\n name: 'ElInputTag',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<InputTagProps>(), {\n tagType: 'info',\n tagEffect: 'light',\n effect: 'light',\n trigger: 'Enter',\n delimiter: '',\n clearIcon: markRaw(CircleClose),\n disabled: undefined,\n validateEvent: true,\n id: undefined,\n tabindex: 0,\n autocomplete: 'off',\n saveOnBlur: true,\n maxCollapseTags: 1,\n})\nconst emit = defineEmits(inputTagEmits)\n\nconst attrs = useAttrs()\nconst slots = useSlots()\nconst { form, formItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, { formItemContext: formItem })\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(() => {\n return validateState.value && ValidateComponentsMap[validateState.value]\n})\n\nconst {\n inputRef,\n wrapperRef,\n tagTooltipRef,\n isFocused,\n inputValue,\n size,\n tagSize,\n placeholder,\n closable,\n disabled,\n showTagList,\n collapseTagList,\n handleDragged,\n handleInput,\n handleKeydown,\n handleKeyup,\n handleRemoveTag,\n handleClear,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n focus,\n blur,\n} = useInputTag({ props, emit, formItem })\nconst { hovering, handleMouseEnter, handleMouseLeave } = useHovering()\nconst { calculatorRef, inputStyle } = useCalcInputWidth()\nconst {\n dropIndicatorRef,\n showDropIndicator,\n handleDragStart,\n handleDragOver,\n handleDragEnd,\n} = useDragTag({ wrapperRef, handleDragged, afterDragged: focus })\nconst {\n ns,\n nsInput,\n containerKls,\n containerStyle,\n innerKls,\n showClear,\n showSuffix,\n tagStyle,\n collapseItemRef,\n innerRef,\n} = useInputTagDom({\n props,\n hovering,\n isFocused,\n inputValue,\n disabled,\n size,\n validateState,\n validateIcon,\n needStatusIcon,\n})\n\ndefineExpose({\n focus,\n blur,\n})\n</script>\n"],"names":["useAttrs","useSlots","useFormItem","useFormItemInputId","computed","ValidateComponentsMap","useInputTag","useHovering","useCalcInputWidth","useDragTag","useInputTagDom","_createElementBlock","_unref","_normalizeClass","_renderSlot","_createElementVNode","_openBlock","_Fragment","_renderList","_createBlock","ElTag","ElTooltip","_createVNode","_createTextVNode","_toDisplayString","_withDirectives","_mergeProps","ElIcon","NOOP","_resolveDynamicComponent"],"mappings":"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"}
1
+ {"version":3,"file":"input-tag.vue2.js","sources":["../../../../../../packages/components/input-tag/src/input-tag.vue"],"sourcesContent":["<template>\n <div\n ref=\"wrapperRef\"\n :class=\"containerKls\"\n :style=\"containerStyle\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <div v-if=\"slots.prefix\" :class=\"ns.e('prefix')\">\n <slot name=\"prefix\" />\n </div>\n <div ref=\"innerRef\" :class=\"innerKls\">\n <el-tag\n v-for=\"(item, index) in showTagList\"\n :key=\"index\"\n :size=\"tagSize\"\n :closable=\"closable\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n :draggable=\"closable && draggable\"\n :style=\"tagStyle\"\n disable-transitions\n @close=\"handleRemoveTag(index)\"\n @dragstart=\"(event: DragEvent) => handleDragStart(event, index)\"\n @dragover=\"(event: DragEvent) => handleDragOver(event, index)\"\n @dragend=\"handleDragEnd\"\n @drop.stop\n >\n <slot name=\"tag\" :value=\"item\" :index=\"index\">\n {{ item }}\n </slot>\n </el-tag>\n <el-tooltip\n v-if=\"collapseTags && modelValue && modelValue.length > maxCollapseTags\"\n ref=\"tagTooltipRef\"\n :disabled=\"!collapseTagsTooltip\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :effect=\"effect\"\n placement=\"bottom\"\n >\n <template #default>\n <div ref=\"collapseItemRef\" :class=\"ns.e('collapse-tag')\">\n <el-tag\n :closable=\"false\"\n :size=\"tagSize\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n >\n + {{ modelValue.length - maxCollapseTags }}\n </el-tag>\n </div>\n </template>\n <template #content>\n <div :class=\"ns.e('input-tag-list')\">\n <el-tag\n v-for=\"(item, index) in collapseTagList\"\n :key=\"index\"\n :size=\"tagSize\"\n :closable=\"closable\"\n :type=\"tagType\"\n :effect=\"tagEffect\"\n disable-transitions\n @close=\"handleRemoveTag(index + maxCollapseTags)\"\n >\n <slot name=\"tag\" :value=\"item\" :index=\"index + maxCollapseTags\">\n {{ item }}\n </slot>\n </el-tag>\n </div>\n </template>\n </el-tooltip>\n <div :class=\"ns.e('input-wrapper')\">\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"inputValue\"\n v-bind=\"attrs\"\n type=\"text\"\n :minlength=\"minlength\"\n :maxlength=\"maxlength\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :autocomplete=\"autocomplete\"\n :tabindex=\"tabindex\"\n :placeholder=\"placeholder\"\n :autofocus=\"autofocus\"\n :ariaLabel=\"ariaLabel\"\n :class=\"ns.e('input')\"\n :style=\"inputStyle\"\n @compositionstart=\"handleCompositionStart\"\n @compositionupdate=\"handleCompositionUpdate\"\n @compositionend=\"handleCompositionEnd\"\n @paste=\"handlePaste\"\n @input=\"handleInput\"\n @keydown=\"handleKeydown\"\n @keyup=\"handleKeyup\"\n />\n <span\n ref=\"calculatorRef\"\n aria-hidden=\"true\"\n :class=\"ns.e('input-calculator')\"\n v-text=\"inputValue\"\n />\n </div>\n <div\n v-show=\"showDropIndicator\"\n ref=\"dropIndicatorRef\"\n :class=\"ns.e('drop-indicator')\"\n />\n </div>\n <div v-if=\"showSuffix\" :class=\"ns.e('suffix')\">\n <slot name=\"suffix\" />\n <el-icon\n v-if=\"showClear\"\n :class=\"[ns.e('icon'), ns.e('clear')]\"\n @mousedown.prevent=\"NOOP\"\n @click=\"handleClear\"\n >\n <component :is=\"clearIcon\" />\n </el-icon>\n <el-icon\n v-if=\"validateState && validateIcon && needStatusIcon\"\n :class=\"[\n nsInput.e('icon'),\n nsInput.e('validateIcon'),\n nsInput.is('loading', validateState === 'validating'),\n ]\"\n >\n <component :is=\"validateIcon\" />\n </el-icon>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, markRaw, useSlots } from 'vue'\nimport { useAttrs, useCalcInputWidth } from '@element-plus/hooks'\nimport { NOOP, ValidateComponentsMap } from '@element-plus/utils'\nimport { CircleClose } from '@element-plus/icons-vue'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTag from '@element-plus/components/tag'\nimport { useFormItem, useFormItemInputId } from '@element-plus/components/form'\nimport { inputTagEmits } from './input-tag'\nimport {\n useDragTag,\n useHovering,\n useInputTag,\n useInputTagDom,\n} from './composables'\n\nimport type { InputTagProps } from './input-tag'\n\ndefineOptions({\n name: 'ElInputTag',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<InputTagProps>(), {\n tagType: 'info',\n tagEffect: 'light',\n effect: 'light',\n trigger: 'Enter',\n delimiter: '',\n clearIcon: markRaw(CircleClose),\n disabled: undefined,\n validateEvent: true,\n id: undefined,\n tabindex: 0,\n autocomplete: 'off',\n saveOnBlur: true,\n maxCollapseTags: 1,\n})\nconst emit = defineEmits(inputTagEmits)\n\nconst attrs = useAttrs()\nconst slots = useSlots()\nconst { form, formItem } = useFormItem()\nconst { inputId } = useFormItemInputId(props, { formItemContext: formItem })\n\nconst needStatusIcon = computed(() => form?.statusIcon ?? false)\nconst validateState = computed(() => formItem?.validateState || '')\nconst validateIcon = computed(() => {\n return validateState.value && ValidateComponentsMap[validateState.value]\n})\n\nconst {\n inputRef,\n wrapperRef,\n tagTooltipRef,\n isFocused,\n inputValue,\n size,\n tagSize,\n placeholder,\n closable,\n disabled,\n showTagList,\n collapseTagList,\n handleDragged,\n handlePaste,\n handleInput,\n handleKeydown,\n handleKeyup,\n handleRemoveTag,\n handleClear,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n focus,\n blur,\n} = useInputTag({ props, emit, formItem })\nconst { hovering, handleMouseEnter, handleMouseLeave } = useHovering()\nconst { calculatorRef, inputStyle } = useCalcInputWidth()\nconst {\n dropIndicatorRef,\n showDropIndicator,\n handleDragStart,\n handleDragOver,\n handleDragEnd,\n} = useDragTag({ wrapperRef, handleDragged, afterDragged: focus })\nconst {\n ns,\n nsInput,\n containerKls,\n containerStyle,\n innerKls,\n showClear,\n showSuffix,\n tagStyle,\n collapseItemRef,\n innerRef,\n} = useInputTagDom({\n props,\n hovering,\n isFocused,\n inputValue,\n disabled,\n size,\n validateState,\n validateIcon,\n needStatusIcon,\n})\n\ndefineExpose({\n focus,\n blur,\n})\n</script>\n"],"names":["useAttrs","useSlots","useFormItem","useFormItemInputId","computed","ValidateComponentsMap","useInputTag","useHovering","useCalcInputWidth","useDragTag","useInputTagDom","_createElementBlock","_unref","_normalizeClass","_renderSlot","_createElementVNode","_openBlock","_Fragment","_renderList","_createBlock","ElTag","ElTooltip","_createVNode","_createTextVNode","_toDisplayString","_withDirectives","_mergeProps","ElIcon","NOOP","_resolveDynamicComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+JA,IAAA,MAAM,KAAA,GAAQ,OAAA;AAed,IAAA,MAAM,IAAA,GAAO,MAAA;AAEb,IAAA,MAAM,QAAQA,cAAA,EAAS;AACvB,IAAA,MAAM,QAAQC,YAAA,EAAS;AACvB,IAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAS,GAAIC,uBAAA,EAAY;AACvC,IAAA,MAAM,EAAE,SAAQ,GAAIC,8BAAA,CAAmB,OAAO,EAAE,eAAA,EAAiB,UAAU,CAAA;AAE3E,IAAA,MAAM,cAAA,GAAiBC,aAAS,MAAG;;AAAG,MAAA,OAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,MAAA,GAAA,IAAA,CAAM,eAAN,IAAA,GAAA,EAAA,GAAoB,KAAA;AAAA,IAAA,CAAK,CAAA;AAC/D,IAAA,MAAM,aAAA,GAAgBA,YAAA,CAAS,MAAA,CAAM,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAU,kBAAiB,EAAE,CAAA;AAClE,IAAA,MAAM,YAAA,GAAeA,aAAS,MAAM;AAClC,MAAA,OAAO,aAAA,CAAc,KAAA,IAASC,0BAAA,CAAsB,aAAA,CAAc,KAAK,CAAA;AAAA,IACzE,CAAC,CAAA;AAED,IAAA,MAAM;AAAA,MACJ,QAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,eAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA;AAAA,MACA,eAAA;AAAA,MACA,WAAA;AAAA,MACA,sBAAA;AAAA,MACA,uBAAA;AAAA,MACA,oBAAA;AAAA,MACA,KAAA;AAAA,MACA;AAAA,QACEC,uBAAA,CAAY,EAAE,KAAA,EAAO,IAAA,EAAM,UAAU,CAAA;AACzC,IAAA,MAAM,EAAE,QAAA,EAAU,gBAAA,EAAkB,gBAAA,KAAqBC,uBAAA,EAAY;AACrE,IAAA,MAAM,EAAE,aAAA,EAAe,UAAA,EAAW,GAAIC,yBAAA,EAAkB;AACxD,IAAA,MAAM;AAAA,MACJ,gBAAA;AAAA,MACA,iBAAA;AAAA,MACA,eAAA;AAAA,MACA,cAAA;AAAA,MACA;AAAA,QACEC,qBAAA,CAAW,EAAE,YAAY,aAAA,EAAe,YAAA,EAAc,OAAO,CAAA;AACjE,IAAA,MAAM;AAAA,MACJ,EAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAA;AAAA,MACA,cAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,eAAA;AAAA,MACA;AAAA,QACEC,6BAAA,CAAe;AAAA,MACjB,KAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,IAAA;AAAA,MACA,aAAA;AAAA,MACA,YAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,QAAA,CAAa;AAAA,MACX,KAAA;AAAA,MACA;AAAA,KACD,CAAA;;8BAvPCC,sBAAA;AAAA,QAmIM,KAAA;AAAA,QAAA;AAAA,mBAlIA,YAAA;AAAA,UAAJ,GAAA,EAAI,UAAA;AAAA,UACH,KAAA,qBAAOC,SAAA,CAAA,YAAA,CAAY,CAAA;AAAA,UACnB,KAAA,qBAAOA,SAAA,CAAA,cAAA,CAAc,CAAA;AAAA,UACrB,YAAA,EAAU,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA;AAAA,uBAAEA,SAAA,CAAA,gBAAA,KAAAA,SAAA,CAAA,gBAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,UACZ,YAAA,EAAU,MAAA,CAAA,EAAA,CAAA,KAAA,OAAA,EAAA,CAAA;AAAA,uBAAEA,SAAA,CAAA,gBAAA,KAAAA,SAAA,CAAA,gBAAA,CAAA,CAAA,GAAA,IAAA,CAAA;AAAA;;UAEFA,SAAA,CAAA,KAAA,CAAA,CAAM,MAAA,qBAAjBD,sBAAA;AAAA,YAEM,KAAA;AAAA,YAAA;AAAA;cAFoB,OAAKE,kBAAA,CAAED,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,QAAA,CAAA;AAAA;;cACnCE,cAAA,CAAsB,IAAA,CAAA,MAAA,EAAA,QAAA;AAAA;;;;UAExBC,sBAAA;AAAA,YAmGM,KAAA;AAAA,YAAA;AAAA,uBAnGG,UAAA;AAAA,cAAJ,GAAA,EAAI,QAAA;AAAA,cAAY,KAAA,qBAAOH,SAAA,CAAA,QAAA,CAAQ;AAAA;;eAClCI,aAAA,CAAA,IAAA,CAAA,EAAAL,sBAAA;AAAA,gBAmBSM,YAAA;AAAA,gBAAA,IAAA;AAAA,gBAAAC,eAlBiBN,SAAA,CAAA,WAAA,CAAA,EAAW,CAA3B,MAAM,KAAA,KAAK;0CADrBO,eAAA,CAmBSP,SAAA,CAAAQ,aAAA,CAAA,EAAA;AAAA,oBAjBN,GAAA,EAAK,KAAA;AAAA,oBACL,IAAA,EAAMR,UAAA,OAAA,CAAA;AAAA,oBACN,QAAA,EAAUA,UAAA,QAAA,CAAA;AAAA,oBACV,MAAM,OAAA,CAAA,OAAA;AAAA,oBACN,QAAQ,OAAA,CAAA,SAAA;AAAA,oBACR,SAAA,EAAWA,SAAA,CAAA,QAAA,CAAA,IAAY,OAAA,CAAA,SAAA;AAAA,oBACvB,KAAA,qBAAOA,SAAA,CAAA,QAAA,CAAQ,CAAA;AAAA,oBAChB,qBAAA,EAAA,EAAA;AAAA,oBACC,SAAK,CAAA,MAAA,KAAEA,SAAA,CAAA,eAAA,EAAgB,KAAK,CAAA;AAAA,oBAC5B,cAAY,KAAA,KAAqBA,2BAAgB,OAAO,KAAK,CAAA;AAAA,oBAC7D,aAAW,KAAA,KAAqBA,0BAAe,OAAO,KAAK,CAAA;AAAA,oBAC3D,SAAA,EAASA,UAAA,aAAA,CAAA;AAAA,oBACT,MAAA,8CAAD,MAAA;AAAA,oBAAA,CAAA,EAAU,CAAA,MAAA,CAAA,CAAA;AAAA;yCAEV,MAEO;AAAA,sBAFPE,cAAA,CAEO,IAAA,CAAA,MAAA,EAAA,KAAA,EAAA;AAAA,wBAFW,KAAA,EAAO,IAAA;AAAA,wBAAO;AAAA,yBAAhC,MAEO;AAAA;8CADF,IAAI,CAAA;AAAA,0BAAA;AAAA;AAAA;AAAA;;;;;;;;;cAIH,OAAA,CAAA,YAAA,IAAgB,OAAA,CAAA,UAAA,IAAc,mBAAW,MAAA,GAAS,OAAA,CAAA,eAAA,qBAD1DK,eAAA,CAuCaP,SAAA,CAAAS,iBAAA,CAAA,EAAA;AAAA;yBArCP,eAAA;AAAA,gBAAJ,GAAA,EAAI,aAAA;AAAA,gBACH,QAAA,GAAW,OAAA,CAAA,mBAAA;AAAA,gBACX,qBAAA,EAAqB,CAAA,QAAA,EAAA,KAAA,EAAA,SAAA,MAAA,CAAA;AAAA,gBACrB,QAAQ,OAAA,CAAA,MAAA;AAAA,gBACT,SAAA,EAAU;AAAA;gBAEC,OAAA,cACT,MAUM;AAAA,kBAVNN,sBAAA;AAAA,oBAUM,KAAA;AAAA,oBAAA;AAAA,+BAVG,iBAAA;AAAA,sBAAJ,GAAA,EAAI,eAAA;AAAA,sBAAmB,OAAKF,kBAAA,CAAED,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,cAAA,CAAA;AAAA;;sBACrCU,eAAA,CAQSV,SAAA,CAAAQ,aAAA,CAAA,EAAA;AAAA,wBAPN,QAAA,EAAU,KAAA;AAAA,wBACV,IAAA,EAAMR,UAAA,OAAA,CAAA;AAAA,wBACN,MAAM,OAAA,CAAA,OAAA;AAAA,wBACN,QAAQ,OAAA,CAAA,SAAA;AAAA,wBACT,qBAAA,EAAA;AAAA;6CACD,MACG;AAAA,0BADHW,mBAAA;AAAA,4BAAA,QACGC,mBAAA,CAAG,OAAA,CAAA,UAAA,CAAW,MAAA,GAAS,QAAA,eAAe,CAAA;AAAA,4BAAA;AAAA;AAAA;AAAA;;;;;;;;;gBAInC,OAAA,cACT,MAeM;AAAA,kBAfNT,sBAAA;AAAA,oBAeM,KAAA;AAAA,oBAAA;AAAA,sBAfA,OAAKF,kBAAA,CAAED,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,gBAAA,CAAA;AAAA;;uBACfI,aAAA,CAAA,IAAA,CAAA,EAAAL,sBAAA;AAAA,wBAaSM,YAAA;AAAA,wBAAA,IAAA;AAAA,wBAAAC,eAZiBN,SAAA,CAAA,eAAA,CAAA,EAAe,CAA/B,MAAM,KAAA,KAAK;kDADrBO,eAAA,CAaSP,SAAA,CAAAQ,aAAA,CAAA,EAAA;AAAA,4BAXN,GAAA,EAAK,KAAA;AAAA,4BACL,IAAA,EAAMR,UAAA,OAAA,CAAA;AAAA,4BACN,QAAA,EAAUA,UAAA,QAAA,CAAA;AAAA,4BACV,MAAM,OAAA,CAAA,OAAA;AAAA,4BACN,QAAQ,OAAA,CAAA,SAAA;AAAA,4BACT,qBAAA,EAAA,EAAA;AAAA,4BACC,OAAA,EAAK,CAAA,MAAA,KAAEA,SAAA,CAAA,eAAA,CAAA,CAAgB,KAAA,GAAQ,QAAA,eAAe;AAAA;iDAE/C,MAEO;AAAA,8BAFPE,cAAA,CAEO,IAAA,CAAA,MAAA,EAAA,KAAA,EAAA;AAAA,gCAFW,KAAA,EAAO,IAAA;AAAA,gCAAO,KAAA,EAAO,QAAQ,OAAA,CAAA;AAAA,iCAA/C,MAEO;AAAA;sDADF,IAAI,CAAA;AAAA,kCAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;cAMjBC,sBAAA;AAAA,gBAgCM,KAAA;AAAA,gBAAA;AAAA,kBAhCA,OAAKF,kBAAA,CAAED,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,eAAA,CAAA;AAAA;;kBACfa,kBAAA,CAAAV,sBAAA,CAwBE,OAAA,EAxBFW,cAAA,CAwBE;AAAA,oBAvBC,EAAA,EAAId,UAAA,OAAA,CAAA;AAAA,6BACD,UAAA;AAAA,oBAAJ,GAAA,EAAI,QAAA;AAAA,yGACK,UAAA,CAAU,QAAA,MAAA,GAAA,IAAA;AAAA,qBACXA,SAAA,CAAA,KAAA,CAAA,EAAK;AAAA,oBACb,IAAA,EAAK,MAAA;AAAA,oBACJ,WAAW,OAAA,CAAA,SAAA;AAAA,oBACX,WAAW,OAAA,CAAA,SAAA;AAAA,oBACX,QAAA,EAAUA,UAAA,QAAA,CAAA;AAAA,oBACV,UAAU,OAAA,CAAA,QAAA;AAAA,oBACV,cAAc,OAAA,CAAA,YAAA;AAAA,oBACd,UAAU,OAAA,CAAA,QAAA;AAAA,oBACV,WAAA,EAAaA,UAAA,WAAA,CAAA;AAAA,oBACb,WAAW,OAAA,CAAA,SAAA;AAAA,oBACX,WAAW,OAAA,CAAA,SAAA;AAAA,oBACX,KAAA,EAAOA,SAAA,CAAA,EAAA,CAAA,CAAG,EAAC,OAAA,CAAA;AAAA,oBACX,KAAA,EAAOA,UAAA,UAAA,CAAA;AAAA,oBACP,kBAAA,EAAgB,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA;AAAA,iCAAEA,SAAA,CAAA,sBAAA,KAAAA,SAAA,CAAA,sBAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,oBAClB,mBAAA,EAAiB,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA;AAAA,iCAAEA,SAAA,CAAA,uBAAA,KAAAA,SAAA,CAAA,uBAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,oBACnB,gBAAA,EAAc,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA;AAAA,iCAAEA,SAAA,CAAA,oBAAA,KAAAA,SAAA,CAAA,oBAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,oBAChB,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA;AAAA,iCAAEA,SAAA,CAAA,WAAA,KAAAA,SAAA,CAAA,WAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,oBACP,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA;AAAA,iCAAEA,SAAA,CAAA,WAAA,KAAAA,SAAA,CAAA,WAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,oBACP,SAAA,EAAO,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA;AAAA,iCAAEA,SAAA,CAAA,aAAA,KAAAA,SAAA,CAAA,aAAA,CAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,oBACT,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA;AAAA,iCAAEA,SAAA,CAAA,WAAA,KAAAA,SAAA,CAAA,WAAA,CAAA,CAAA,GAAA,IAAA,CAAA;AAAA;qCApBCA,SAAA,CAAA,UAAA,CAAU;AAAA;kBAsBrBG,uBAKE,MAAA,EAAA;AAAA,6BAJI,eAAA;AAAA,oBAAJ,GAAA,EAAI,aAAA;AAAA,oBACJ,aAAA,EAAY,MAAA;AAAA,oBACX,OAAKF,kBAAA,CAAED,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,kBAAA,CAAA,CAAA;AAAA,oBACZ,WAAA,EAAAY,mBAAA,CAAQZ,SAAA,CAAW,UAAA,CAAD;AAAA;;;;;iCAGtBG,sBAAA;AAAA,gBAIE,KAAA;AAAA,gBAAA;AAAA,2BAFI,kBAAA;AAAA,kBAAJ,GAAA,EAAI,gBAAA;AAAA,kBACH,OAAKF,kBAAA,CAAED,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,gBAAA,CAAA;AAAA;;;;;4BAFJA,SAAA,CAAA,iBAAA,CAAiB;AAAA;;;;;UAKlBA,SAAA,CAAA,UAAA,CAAA,qBAAXD,sBAAA;AAAA,YAoBM,KAAA;AAAA,YAAA;AAAA;cApBkB,OAAKE,kBAAA,CAAED,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,QAAA,CAAA;AAAA;;cACjCE,cAAA,CAAsB,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,cAEdF,SAAA,CAAA,SAAA,CAAA,qBADRO,eAAA,CAOUP,SAAA,CAAAe,cAAA,CAAA,EAAA;AAAA;gBALP,KAAA,sBAAQf,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,MAAA,CAAA,EAAUA,UAAA,EAAA,CAAA,CAAG,CAAA,CAAC,OAAA,CAAA,CAAA,CAAA;AAAA,gBAC1B,+BAAmBA,SAAA,CAAAgB,WAAA,CAAA,EAAI,CAAA,SAAA,CAAA,CAAA;AAAA,gBACvB,OAAA,EAAOhB,UAAA,WAAA;AAAA;qCAER,MAA6B;AAAA,mBAA7BI,eAAA,EAAAG,eAAA,CAA6BU,2BAAA,CAAb,OAAA,CAAA,SAAS,CAAA,CAAA;AAAA;;;;cAGnB,aAAA,CAAA,KAAA,IAAiB,YAAA,CAAA,KAAA,IAAgB,cAAA,CAAA,KAAA,qBADzCV,eAAA,CASUP,SAAA,CAAAe,cAAA,CAAA,EAAA;AAAA;gBAPP,OAAKd,kBAAA,CAAA;AAAA,kBAAcD,SAAA,CAAA,OAAA,CAAA,CAAQ,CAAA,CAAC,MAAA,CAAA;AAAA,kBAAoBA,SAAA,CAAA,OAAA,CAAA,CAAQ,CAAA,CAAC,cAAA,CAAA;AAAA,kBAA4BA,UAAA,OAAA,CAAA,CAAQ,GAAE,SAAA,EAAY,aAAA,CAAA,UAAa,YAAA;AAAA;;qCAMzH,MAAgC;AAAA,mBAAhCI,eAAA,EAAAG,eAAA,CAAgCU,2BAAA,CAAhB,YAAA,CAAA,KAAY,CAAA,CAAA;AAAA;;;;;;;;;;;;;;;;;;"}