@element-plus/nightly 0.0.20221118 → 0.0.20221119

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 (296) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.js +14 -13
  3. package/dist/index.full.min.js +13 -13
  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 +14 -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.js +1 -1
  13. package/dist/locale/ar.min.js +1 -1
  14. package/dist/locale/ar.min.mjs +1 -1
  15. package/dist/locale/ar.mjs +1 -1
  16. package/dist/locale/az.js +1 -1
  17. package/dist/locale/az.min.js +1 -1
  18. package/dist/locale/az.min.mjs +1 -1
  19. package/dist/locale/az.mjs +1 -1
  20. package/dist/locale/bg.js +1 -1
  21. package/dist/locale/bg.min.js +1 -1
  22. package/dist/locale/bg.min.mjs +1 -1
  23. package/dist/locale/bg.mjs +1 -1
  24. package/dist/locale/bn.js +1 -1
  25. package/dist/locale/bn.min.js +1 -1
  26. package/dist/locale/bn.min.mjs +1 -1
  27. package/dist/locale/bn.mjs +1 -1
  28. package/dist/locale/ca.js +1 -1
  29. package/dist/locale/ca.min.js +1 -1
  30. package/dist/locale/ca.min.mjs +1 -1
  31. package/dist/locale/ca.mjs +1 -1
  32. package/dist/locale/cs.js +1 -1
  33. package/dist/locale/cs.min.js +1 -1
  34. package/dist/locale/cs.min.mjs +1 -1
  35. package/dist/locale/cs.mjs +1 -1
  36. package/dist/locale/da.js +1 -1
  37. package/dist/locale/da.min.js +1 -1
  38. package/dist/locale/da.min.mjs +1 -1
  39. package/dist/locale/da.mjs +1 -1
  40. package/dist/locale/de.js +1 -1
  41. package/dist/locale/de.min.js +1 -1
  42. package/dist/locale/de.min.mjs +1 -1
  43. package/dist/locale/de.mjs +1 -1
  44. package/dist/locale/el.js +1 -1
  45. package/dist/locale/el.min.js +1 -1
  46. package/dist/locale/el.min.mjs +1 -1
  47. package/dist/locale/el.mjs +1 -1
  48. package/dist/locale/en.js +1 -1
  49. package/dist/locale/en.min.js +1 -1
  50. package/dist/locale/en.min.mjs +1 -1
  51. package/dist/locale/en.mjs +1 -1
  52. package/dist/locale/eo.js +1 -1
  53. package/dist/locale/eo.min.js +1 -1
  54. package/dist/locale/eo.min.mjs +1 -1
  55. package/dist/locale/eo.mjs +1 -1
  56. package/dist/locale/es.js +1 -1
  57. package/dist/locale/es.min.js +1 -1
  58. package/dist/locale/es.min.mjs +1 -1
  59. package/dist/locale/es.mjs +1 -1
  60. package/dist/locale/et.js +1 -1
  61. package/dist/locale/et.min.js +1 -1
  62. package/dist/locale/et.min.mjs +1 -1
  63. package/dist/locale/et.mjs +1 -1
  64. package/dist/locale/eu.js +1 -1
  65. package/dist/locale/eu.min.js +1 -1
  66. package/dist/locale/eu.min.mjs +1 -1
  67. package/dist/locale/eu.mjs +1 -1
  68. package/dist/locale/fa.js +1 -1
  69. package/dist/locale/fa.min.js +1 -1
  70. package/dist/locale/fa.min.mjs +1 -1
  71. package/dist/locale/fa.mjs +1 -1
  72. package/dist/locale/fi.js +1 -1
  73. package/dist/locale/fi.min.js +1 -1
  74. package/dist/locale/fi.min.mjs +1 -1
  75. package/dist/locale/fi.mjs +1 -1
  76. package/dist/locale/fr.js +1 -1
  77. package/dist/locale/fr.min.js +1 -1
  78. package/dist/locale/fr.min.mjs +1 -1
  79. package/dist/locale/fr.mjs +1 -1
  80. package/dist/locale/he.js +1 -1
  81. package/dist/locale/he.min.js +1 -1
  82. package/dist/locale/he.min.mjs +1 -1
  83. package/dist/locale/he.mjs +1 -1
  84. package/dist/locale/hr.js +1 -1
  85. package/dist/locale/hr.min.js +1 -1
  86. package/dist/locale/hr.min.mjs +1 -1
  87. package/dist/locale/hr.mjs +1 -1
  88. package/dist/locale/hu.js +1 -1
  89. package/dist/locale/hu.min.js +1 -1
  90. package/dist/locale/hu.min.mjs +1 -1
  91. package/dist/locale/hu.mjs +1 -1
  92. package/dist/locale/hy-am.js +1 -1
  93. package/dist/locale/hy-am.min.js +1 -1
  94. package/dist/locale/hy-am.min.mjs +1 -1
  95. package/dist/locale/hy-am.mjs +1 -1
  96. package/dist/locale/id.js +1 -1
  97. package/dist/locale/id.min.js +1 -1
  98. package/dist/locale/id.min.mjs +1 -1
  99. package/dist/locale/id.mjs +1 -1
  100. package/dist/locale/it.js +1 -1
  101. package/dist/locale/it.min.js +1 -1
  102. package/dist/locale/it.min.mjs +1 -1
  103. package/dist/locale/it.mjs +1 -1
  104. package/dist/locale/ja.js +1 -1
  105. package/dist/locale/ja.min.js +1 -1
  106. package/dist/locale/ja.min.mjs +1 -1
  107. package/dist/locale/ja.mjs +1 -1
  108. package/dist/locale/kk.js +1 -1
  109. package/dist/locale/kk.min.js +1 -1
  110. package/dist/locale/kk.min.mjs +1 -1
  111. package/dist/locale/kk.mjs +1 -1
  112. package/dist/locale/km.js +1 -1
  113. package/dist/locale/km.min.js +1 -1
  114. package/dist/locale/km.min.mjs +1 -1
  115. package/dist/locale/km.mjs +1 -1
  116. package/dist/locale/ko.js +1 -1
  117. package/dist/locale/ko.min.js +1 -1
  118. package/dist/locale/ko.min.mjs +1 -1
  119. package/dist/locale/ko.mjs +1 -1
  120. package/dist/locale/ku.js +1 -1
  121. package/dist/locale/ku.min.js +1 -1
  122. package/dist/locale/ku.min.mjs +1 -1
  123. package/dist/locale/ku.mjs +1 -1
  124. package/dist/locale/ky.js +1 -1
  125. package/dist/locale/ky.min.js +1 -1
  126. package/dist/locale/ky.min.mjs +1 -1
  127. package/dist/locale/ky.mjs +1 -1
  128. package/dist/locale/lt.js +1 -1
  129. package/dist/locale/lt.min.js +1 -1
  130. package/dist/locale/lt.min.mjs +1 -1
  131. package/dist/locale/lt.mjs +1 -1
  132. package/dist/locale/lv.js +1 -1
  133. package/dist/locale/lv.min.js +1 -1
  134. package/dist/locale/lv.min.mjs +1 -1
  135. package/dist/locale/lv.mjs +1 -1
  136. package/dist/locale/mg.js +1 -1
  137. package/dist/locale/mg.min.js +1 -1
  138. package/dist/locale/mg.min.mjs +1 -1
  139. package/dist/locale/mg.mjs +1 -1
  140. package/dist/locale/mn.js +1 -1
  141. package/dist/locale/mn.min.js +1 -1
  142. package/dist/locale/mn.min.mjs +1 -1
  143. package/dist/locale/mn.mjs +1 -1
  144. package/dist/locale/nb-no.js +1 -1
  145. package/dist/locale/nb-no.min.js +1 -1
  146. package/dist/locale/nb-no.min.mjs +1 -1
  147. package/dist/locale/nb-no.mjs +1 -1
  148. package/dist/locale/nl.js +1 -1
  149. package/dist/locale/nl.min.js +1 -1
  150. package/dist/locale/nl.min.mjs +1 -1
  151. package/dist/locale/nl.mjs +1 -1
  152. package/dist/locale/pa.js +1 -1
  153. package/dist/locale/pa.min.js +1 -1
  154. package/dist/locale/pa.min.mjs +1 -1
  155. package/dist/locale/pa.mjs +1 -1
  156. package/dist/locale/pl.js +1 -1
  157. package/dist/locale/pl.min.js +1 -1
  158. package/dist/locale/pl.min.mjs +1 -1
  159. package/dist/locale/pl.mjs +1 -1
  160. package/dist/locale/pt-br.js +1 -1
  161. package/dist/locale/pt-br.min.js +1 -1
  162. package/dist/locale/pt-br.min.mjs +1 -1
  163. package/dist/locale/pt-br.mjs +1 -1
  164. package/dist/locale/pt.js +1 -1
  165. package/dist/locale/pt.min.js +1 -1
  166. package/dist/locale/pt.min.mjs +1 -1
  167. package/dist/locale/pt.mjs +1 -1
  168. package/dist/locale/ro.js +1 -1
  169. package/dist/locale/ro.min.js +1 -1
  170. package/dist/locale/ro.min.mjs +1 -1
  171. package/dist/locale/ro.mjs +1 -1
  172. package/dist/locale/ru.js +1 -1
  173. package/dist/locale/ru.min.js +1 -1
  174. package/dist/locale/ru.min.mjs +1 -1
  175. package/dist/locale/ru.mjs +1 -1
  176. package/dist/locale/sk.js +1 -1
  177. package/dist/locale/sk.min.js +1 -1
  178. package/dist/locale/sk.min.mjs +1 -1
  179. package/dist/locale/sk.mjs +1 -1
  180. package/dist/locale/sl.js +1 -1
  181. package/dist/locale/sl.min.js +1 -1
  182. package/dist/locale/sl.min.mjs +1 -1
  183. package/dist/locale/sl.mjs +1 -1
  184. package/dist/locale/sr.js +1 -1
  185. package/dist/locale/sr.min.js +1 -1
  186. package/dist/locale/sr.min.mjs +1 -1
  187. package/dist/locale/sr.mjs +1 -1
  188. package/dist/locale/sv.js +1 -1
  189. package/dist/locale/sv.min.js +1 -1
  190. package/dist/locale/sv.min.mjs +1 -1
  191. package/dist/locale/sv.mjs +1 -1
  192. package/dist/locale/ta.js +1 -1
  193. package/dist/locale/ta.min.js +1 -1
  194. package/dist/locale/ta.min.mjs +1 -1
  195. package/dist/locale/ta.mjs +1 -1
  196. package/dist/locale/th.js +1 -1
  197. package/dist/locale/th.min.js +1 -1
  198. package/dist/locale/th.min.mjs +1 -1
  199. package/dist/locale/th.mjs +1 -1
  200. package/dist/locale/tk.js +1 -1
  201. package/dist/locale/tk.min.js +1 -1
  202. package/dist/locale/tk.min.mjs +1 -1
  203. package/dist/locale/tk.mjs +1 -1
  204. package/dist/locale/tr.js +1 -1
  205. package/dist/locale/tr.min.js +1 -1
  206. package/dist/locale/tr.min.mjs +1 -1
  207. package/dist/locale/tr.mjs +1 -1
  208. package/dist/locale/ug-cn.js +1 -1
  209. package/dist/locale/ug-cn.min.js +1 -1
  210. package/dist/locale/ug-cn.min.mjs +1 -1
  211. package/dist/locale/ug-cn.mjs +1 -1
  212. package/dist/locale/uk.js +1 -1
  213. package/dist/locale/uk.min.js +1 -1
  214. package/dist/locale/uk.min.mjs +1 -1
  215. package/dist/locale/uk.mjs +1 -1
  216. package/dist/locale/uz-uz.js +1 -1
  217. package/dist/locale/uz-uz.min.js +1 -1
  218. package/dist/locale/uz-uz.min.mjs +1 -1
  219. package/dist/locale/uz-uz.mjs +1 -1
  220. package/dist/locale/vi.js +1 -1
  221. package/dist/locale/vi.min.js +1 -1
  222. package/dist/locale/vi.min.mjs +1 -1
  223. package/dist/locale/vi.mjs +1 -1
  224. package/dist/locale/zh-cn.js +1 -1
  225. package/dist/locale/zh-cn.min.js +1 -1
  226. package/dist/locale/zh-cn.min.mjs +1 -1
  227. package/dist/locale/zh-cn.mjs +1 -1
  228. package/dist/locale/zh-tw.js +1 -1
  229. package/dist/locale/zh-tw.min.js +1 -1
  230. package/dist/locale/zh-tw.min.mjs +1 -1
  231. package/dist/locale/zh-tw.mjs +1 -1
  232. package/es/components/cascader/src/index.mjs +0 -1
  233. package/es/components/cascader/src/index.mjs.map +1 -1
  234. package/es/components/form/index.mjs +2 -2
  235. package/es/components/form/src/form-item.mjs +43 -316
  236. package/es/components/form/src/form-item.mjs.map +1 -1
  237. package/es/components/form/src/form-item2.mjs +316 -43
  238. package/es/components/form/src/form-item2.mjs.map +1 -1
  239. package/es/components/index.mjs +3 -3
  240. package/es/components/popper/index.mjs +2 -2
  241. package/es/components/popper/src/trigger.mjs +31 -120
  242. package/es/components/popper/src/trigger.mjs.map +1 -1
  243. package/es/components/popper/src/trigger2.mjs +120 -31
  244. package/es/components/popper/src/trigger2.mjs.map +1 -1
  245. package/es/components/tooltip/src/trigger.mjs +1 -1
  246. package/es/components/tooltip/src/trigger2.mjs +1 -1
  247. package/es/components/upload/index.d.ts +7 -15
  248. package/es/components/upload/src/upload-content.vue.d.ts +2 -5
  249. package/es/components/upload/src/upload-content2.mjs +4 -2
  250. package/es/components/upload/src/upload-content2.mjs.map +1 -1
  251. package/es/components/upload/src/upload-dragger.vue.d.ts +1 -5
  252. package/es/components/upload/src/upload-dragger2.mjs +4 -3
  253. package/es/components/upload/src/upload-dragger2.mjs.map +1 -1
  254. package/es/components/upload/src/upload-list.vue.d.ts +1 -0
  255. package/es/components/upload/src/upload-list2.mjs +7 -5
  256. package/es/components/upload/src/upload-list2.mjs.map +1 -1
  257. package/es/components/upload/src/upload.vue.d.ts +7 -15
  258. package/es/index.mjs +3 -3
  259. package/es/version.d.ts +1 -1
  260. package/es/version.mjs +1 -1
  261. package/es/version.mjs.map +1 -1
  262. package/lib/components/cascader/src/index.js +0 -1
  263. package/lib/components/cascader/src/index.js.map +1 -1
  264. package/lib/components/form/index.js +2 -2
  265. package/lib/components/form/src/form-item.js +44 -320
  266. package/lib/components/form/src/form-item.js.map +1 -1
  267. package/lib/components/form/src/form-item2.js +320 -44
  268. package/lib/components/form/src/form-item2.js.map +1 -1
  269. package/lib/components/index.js +3 -3
  270. package/lib/components/popper/index.js +2 -2
  271. package/lib/components/popper/src/trigger.js +32 -120
  272. package/lib/components/popper/src/trigger.js.map +1 -1
  273. package/lib/components/popper/src/trigger2.js +120 -32
  274. package/lib/components/popper/src/trigger2.js.map +1 -1
  275. package/lib/components/tooltip/src/trigger.js +1 -1
  276. package/lib/components/tooltip/src/trigger2.js +1 -1
  277. package/lib/components/upload/index.d.ts +7 -15
  278. package/lib/components/upload/src/upload-content.vue.d.ts +2 -5
  279. package/lib/components/upload/src/upload-content2.js +4 -2
  280. package/lib/components/upload/src/upload-content2.js.map +1 -1
  281. package/lib/components/upload/src/upload-dragger.vue.d.ts +1 -5
  282. package/lib/components/upload/src/upload-dragger2.js +4 -3
  283. package/lib/components/upload/src/upload-dragger2.js.map +1 -1
  284. package/lib/components/upload/src/upload-list.vue.d.ts +1 -0
  285. package/lib/components/upload/src/upload-list2.js +15 -13
  286. package/lib/components/upload/src/upload-list2.js.map +1 -1
  287. package/lib/components/upload/src/upload.vue.d.ts +7 -15
  288. package/lib/index.js +3 -3
  289. package/lib/version.d.ts +1 -1
  290. package/lib/version.js +1 -1
  291. package/lib/version.js.map +1 -1
  292. package/package.json +2 -2
  293. package/theme-chalk/el-cascader.css +1 -1
  294. package/theme-chalk/index.css +1 -1
  295. package/theme-chalk/src/cascader.scss +33 -38
  296. package/web-types.json +1 -1
@@ -1,36 +1,125 @@
1
+ import { defineComponent, inject, computed, onMounted, watch, onBeforeUnmount, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot, createCommentVNode } from 'vue';
2
+ import { isNil } from 'lodash-unified';
3
+ import { unrefElement } from '@vueuse/core';
4
+ import '../../slot/index.mjs';
5
+ import '../../../hooks/index.mjs';
6
+ import '../../../tokens/index.mjs';
1
7
  import '../../../utils/index.mjs';
2
- import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
8
+ import { popperTriggerProps } from './trigger.mjs';
9
+ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
10
+ import { POPPER_INJECTION_KEY } from '../../../tokens/popper.mjs';
11
+ import { useForwardRef } from '../../../hooks/use-forward-ref/index.mjs';
12
+ import { isElement } from '../../../utils/types.mjs';
13
+ import { OnlyChild } from '../../slot/src/only-child.mjs';
3
14
 
4
- const popperTriggerProps = buildProps({
5
- virtualRef: {
6
- type: definePropType(Object)
7
- },
8
- virtualTriggering: Boolean,
9
- onMouseenter: {
10
- type: definePropType(Function)
11
- },
12
- onMouseleave: {
13
- type: definePropType(Function)
14
- },
15
- onClick: {
16
- type: definePropType(Function)
17
- },
18
- onKeydown: {
19
- type: definePropType(Function)
20
- },
21
- onFocus: {
22
- type: definePropType(Function)
23
- },
24
- onBlur: {
25
- type: definePropType(Function)
26
- },
27
- onContextmenu: {
28
- type: definePropType(Function)
29
- },
30
- id: String,
31
- open: Boolean
15
+ const __default__ = defineComponent({
16
+ name: "ElPopperTrigger",
17
+ inheritAttrs: false
32
18
  });
33
- const usePopperTriggerProps = popperTriggerProps;
19
+ const _sfc_main = /* @__PURE__ */ defineComponent({
20
+ ...__default__,
21
+ props: popperTriggerProps,
22
+ setup(__props, { expose }) {
23
+ const props = __props;
24
+ const { role, triggerRef } = inject(POPPER_INJECTION_KEY, void 0);
25
+ useForwardRef(triggerRef);
26
+ const ariaControls = computed(() => {
27
+ return ariaHaspopup.value ? props.id : void 0;
28
+ });
29
+ const ariaDescribedby = computed(() => {
30
+ if (role && role.value === "tooltip") {
31
+ return props.open && props.id ? props.id : void 0;
32
+ }
33
+ return void 0;
34
+ });
35
+ const ariaHaspopup = computed(() => {
36
+ if (role && role.value !== "tooltip") {
37
+ return role.value;
38
+ }
39
+ return void 0;
40
+ });
41
+ const ariaExpanded = computed(() => {
42
+ return ariaHaspopup.value ? `${props.open}` : void 0;
43
+ });
44
+ let virtualTriggerAriaStopWatch = void 0;
45
+ onMounted(() => {
46
+ watch(() => props.virtualRef, (virtualEl) => {
47
+ if (virtualEl) {
48
+ triggerRef.value = unrefElement(virtualEl);
49
+ }
50
+ }, {
51
+ immediate: true
52
+ });
53
+ watch(triggerRef, (el, prevEl) => {
54
+ virtualTriggerAriaStopWatch == null ? void 0 : virtualTriggerAriaStopWatch();
55
+ virtualTriggerAriaStopWatch = void 0;
56
+ if (isElement(el)) {
57
+ ;
58
+ [
59
+ "onMouseenter",
60
+ "onMouseleave",
61
+ "onClick",
62
+ "onKeydown",
63
+ "onFocus",
64
+ "onBlur",
65
+ "onContextmenu"
66
+ ].forEach((eventName) => {
67
+ var _a;
68
+ const handler = props[eventName];
69
+ if (handler) {
70
+ ;
71
+ el.addEventListener(eventName.slice(2).toLowerCase(), handler);
72
+ (_a = prevEl == null ? void 0 : prevEl.removeEventListener) == null ? void 0 : _a.call(prevEl, eventName.slice(2).toLowerCase(), handler);
73
+ }
74
+ });
75
+ virtualTriggerAriaStopWatch = watch([ariaControls, ariaDescribedby, ariaHaspopup, ariaExpanded], (watches) => {
76
+ ;
77
+ [
78
+ "aria-controls",
79
+ "aria-describedby",
80
+ "aria-haspopup",
81
+ "aria-expanded"
82
+ ].forEach((key, idx) => {
83
+ isNil(watches[idx]) ? el.removeAttribute(key) : el.setAttribute(key, watches[idx]);
84
+ });
85
+ }, { immediate: true });
86
+ }
87
+ if (isElement(prevEl)) {
88
+ ;
89
+ [
90
+ "aria-controls",
91
+ "aria-describedby",
92
+ "aria-haspopup",
93
+ "aria-expanded"
94
+ ].forEach((key) => prevEl.removeAttribute(key));
95
+ }
96
+ }, {
97
+ immediate: true
98
+ });
99
+ });
100
+ onBeforeUnmount(() => {
101
+ virtualTriggerAriaStopWatch == null ? void 0 : virtualTriggerAriaStopWatch();
102
+ virtualTriggerAriaStopWatch = void 0;
103
+ });
104
+ expose({
105
+ triggerRef
106
+ });
107
+ return (_ctx, _cache) => {
108
+ return !_ctx.virtualTriggering ? (openBlock(), createBlock(unref(OnlyChild), mergeProps({ key: 0 }, _ctx.$attrs, {
109
+ "aria-controls": unref(ariaControls),
110
+ "aria-describedby": unref(ariaDescribedby),
111
+ "aria-expanded": unref(ariaExpanded),
112
+ "aria-haspopup": unref(ariaHaspopup)
113
+ }), {
114
+ default: withCtx(() => [
115
+ renderSlot(_ctx.$slots, "default")
116
+ ]),
117
+ _: 3
118
+ }, 16, ["aria-controls", "aria-describedby", "aria-expanded", "aria-haspopup"])) : createCommentVNode("v-if", true);
119
+ };
120
+ }
121
+ });
122
+ var ElPopperTrigger = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/popper/src/trigger.vue"]]);
34
123
 
35
- export { popperTriggerProps, usePopperTriggerProps };
124
+ export { ElPopperTrigger as default };
36
125
  //# sourceMappingURL=trigger2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"trigger2.mjs","sources":["../../../../../../packages/components/popper/src/trigger.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { Measurable } from '@element-plus/tokens'\nimport type Trigger from './trigger.vue'\n\nexport const popperTriggerProps = buildProps({\n virtualRef: {\n type: definePropType<Measurable>(Object),\n },\n virtualTriggering: Boolean,\n onMouseenter: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onMouseleave: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onClick: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onKeydown: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onFocus: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onBlur: {\n type: definePropType<(e: Event) => void>(Function),\n },\n onContextmenu: {\n type: definePropType<(e: Event) => void>(Function),\n },\n id: String,\n open: Boolean,\n} as const)\n\nexport type PopperTriggerProps = typeof popperTriggerProps\n\nexport type PopperTriggerInstance = InstanceType<typeof Trigger>\n\n/** @deprecated use `popperTriggerProps` instead, and it will be deprecated in the next major version */\nexport const usePopperTriggerProps = popperTriggerProps\n\n/** @deprecated use `PopperTriggerInstance` instead, and it will be deprecated in the next major version */\nexport type ElPopperArrowTrigger = PopperTriggerInstance\n"],"names":[],"mappings":";;;AACY,MAAC,kBAAkB,GAAG,UAAU,CAAC;AAC7C,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,iBAAiB,EAAE,OAAO;AAC5B,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,EAAE,EAAE,MAAM;AACZ,EAAE,IAAI,EAAE,OAAO;AACf,CAAC,EAAE;AACS,MAAC,qBAAqB,GAAG;;;;"}
1
+ {"version":3,"file":"trigger2.mjs","sources":["../../../../../../packages/components/popper/src/trigger.vue"],"sourcesContent":["<template>\n <el-only-child\n v-if=\"!virtualTriggering\"\n v-bind=\"$attrs\"\n :aria-controls=\"ariaControls\"\n :aria-describedby=\"ariaDescribedby\"\n :aria-expanded=\"ariaExpanded\"\n :aria-haspopup=\"ariaHaspopup\"\n >\n <slot />\n </el-only-child>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, inject, onBeforeUnmount, onMounted, watch } from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { unrefElement } from '@vueuse/core'\nimport { ElOnlyChild } from '@element-plus/components/slot'\nimport { useForwardRef } from '@element-plus/hooks'\nimport { POPPER_INJECTION_KEY } from '@element-plus/tokens'\nimport { isElement } from '@element-plus/utils'\nimport { popperTriggerProps } from './trigger'\n\nimport type { WatchStopHandle } from 'vue'\n\ndefineOptions({\n name: 'ElPopperTrigger',\n inheritAttrs: false,\n})\n\nconst props = defineProps(popperTriggerProps)\n\nconst { role, triggerRef } = inject(POPPER_INJECTION_KEY, undefined)!\n\nuseForwardRef(triggerRef)\n\nconst ariaControls = computed<string | undefined>(() => {\n return ariaHaspopup.value ? props.id : undefined\n})\n\nconst ariaDescribedby = computed<string | undefined>(() => {\n if (role && role.value === 'tooltip') {\n return props.open && props.id ? props.id : undefined\n }\n return undefined\n})\n\nconst ariaHaspopup = computed<string | undefined>(() => {\n if (role && role.value !== 'tooltip') {\n return role.value\n }\n return undefined\n})\n\nconst ariaExpanded = computed<string | undefined>(() => {\n return ariaHaspopup.value ? `${props.open}` : undefined\n})\n\nlet virtualTriggerAriaStopWatch: WatchStopHandle | undefined = undefined\n\nonMounted(() => {\n watch(\n () => props.virtualRef,\n (virtualEl) => {\n if (virtualEl) {\n triggerRef.value = unrefElement(virtualEl as HTMLElement)\n }\n },\n {\n immediate: true,\n }\n )\n\n watch(\n triggerRef,\n (el, prevEl) => {\n virtualTriggerAriaStopWatch?.()\n virtualTriggerAriaStopWatch = undefined\n if (isElement(el)) {\n ;(\n [\n 'onMouseenter',\n 'onMouseleave',\n 'onClick',\n 'onKeydown',\n 'onFocus',\n 'onBlur',\n 'onContextmenu',\n ] as const\n ).forEach((eventName) => {\n const handler = props[eventName]\n if (handler) {\n ;(el as HTMLElement).addEventListener(\n eventName.slice(2).toLowerCase(),\n handler\n )\n ;(prevEl as HTMLElement)?.removeEventListener?.(\n eventName.slice(2).toLowerCase(),\n handler\n )\n }\n })\n virtualTriggerAriaStopWatch = watch(\n [ariaControls, ariaDescribedby, ariaHaspopup, ariaExpanded],\n (watches) => {\n ;[\n 'aria-controls',\n 'aria-describedby',\n 'aria-haspopup',\n 'aria-expanded',\n ].forEach((key, idx) => {\n isNil(watches[idx])\n ? el.removeAttribute(key)\n : el.setAttribute(key, watches[idx]!)\n })\n },\n { immediate: true }\n )\n }\n if (isElement(prevEl)) {\n ;[\n 'aria-controls',\n 'aria-describedby',\n 'aria-haspopup',\n 'aria-expanded',\n ].forEach((key) => prevEl.removeAttribute(key))\n }\n },\n {\n immediate: true,\n }\n )\n})\n\nonBeforeUnmount(() => {\n virtualTriggerAriaStopWatch?.()\n virtualTriggerAriaStopWatch = undefined\n})\n\ndefineExpose({\n /**\n * @description trigger element\n */\n triggerRef,\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import '../../../utils/index.mjs';
2
2
  import '../../popper/index.mjs';
3
3
  import '../../../constants/index.mjs';
4
4
  import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
5
- import { popperTriggerProps } from '../../popper/src/trigger2.mjs';
5
+ import { popperTriggerProps } from '../../popper/src/trigger.mjs';
6
6
  import { EVENT_CODE } from '../../../constants/aria.mjs';
7
7
 
8
8
  const useTooltipTriggerProps = buildProps({
@@ -9,7 +9,7 @@ import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
9
9
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
10
10
  import { TOOLTIP_INJECTION_KEY } from '../../../tokens/tooltip.mjs';
11
11
  import { composeEventHandlers } from '../../../utils/dom/event.mjs';
12
- import ElPopperTrigger from '../../popper/src/trigger.mjs';
12
+ import ElPopperTrigger from '../../popper/src/trigger2.mjs';
13
13
 
14
14
  const __default__ = defineComponent({
15
15
  name: "ElTooltipTrigger"
@@ -568,6 +568,7 @@ export declare const ElUpload: import("element-plus/es/utils").SFCWithInstall<im
568
568
  cssVarBlock: (object: Record<string, string>) => Record<string, string>;
569
569
  cssVarBlockName: (name: string) => string;
570
570
  };
571
+ disabled: import("vue").ComputedRef<boolean>;
571
572
  requests: import("vue").ShallowRef<Record<string, XMLHttpRequest | Promise<unknown>>>;
572
573
  inputRef: import("vue").ShallowRef<HTMLInputElement | undefined>;
573
574
  uploadFiles: (files: File[]) => void;
@@ -581,11 +582,6 @@ export declare const ElUpload: import("element-plus/es/utils").SFCWithInstall<im
581
582
  readonly disabled: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
582
583
  }, {
583
584
  COMPONENT_NAME: string;
584
- props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
585
- readonly disabled: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
586
- }>> & {
587
- onFile?: ((file: File[]) => any) | undefined;
588
- }>>;
589
585
  emit: (event: "file", file: File[]) => void;
590
586
  uploaderContext: import("../..").UploadContext;
591
587
  ns: {
@@ -607,6 +603,7 @@ export declare const ElUpload: import("element-plus/es/utils").SFCWithInstall<im
607
603
  cssVarBlockName: (name: string) => string;
608
604
  };
609
605
  dragover: import("vue").Ref<boolean>;
606
+ disabled: import("vue").ComputedRef<boolean>;
610
607
  onDrop: (e: DragEvent) => void;
611
608
  onDragover: () => void;
612
609
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -871,6 +868,7 @@ export declare const ElUpload: import("element-plus/es/utils").SFCWithInstall<im
871
868
  cssVarBlock: (object: Record<string, string>) => Record<string, string>;
872
869
  cssVarBlockName: (name: string) => string;
873
870
  };
871
+ disabled: import("vue").ComputedRef<boolean>;
874
872
  requests: import("vue").ShallowRef<Record<string, XMLHttpRequest | Promise<unknown>>>;
875
873
  inputRef: import("vue").ShallowRef<HTMLInputElement | undefined>;
876
874
  uploadFiles: (files: File[]) => void;
@@ -884,11 +882,6 @@ export declare const ElUpload: import("element-plus/es/utils").SFCWithInstall<im
884
882
  readonly disabled: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
885
883
  }, {
886
884
  COMPONENT_NAME: string;
887
- props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
888
- readonly disabled: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
889
- }>> & {
890
- onFile?: ((file: File[]) => any) | undefined;
891
- }>>;
892
885
  emit: (event: "file", file: File[]) => void;
893
886
  uploaderContext: import("../..").UploadContext;
894
887
  ns: {
@@ -910,6 +903,7 @@ export declare const ElUpload: import("element-plus/es/utils").SFCWithInstall<im
910
903
  cssVarBlockName: (name: string) => string;
911
904
  };
912
905
  dragover: import("vue").Ref<boolean>;
906
+ disabled: import("vue").ComputedRef<boolean>;
913
907
  onDrop: (e: DragEvent) => void;
914
908
  onDragover: () => void;
915
909
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -1023,6 +1017,7 @@ export declare const ElUpload: import("element-plus/es/utils").SFCWithInstall<im
1023
1017
  cssVarBlock: (object: Record<string, string>) => Record<string, string>;
1024
1018
  cssVarBlockName: (name: string) => string;
1025
1019
  };
1020
+ disabled: import("vue").ComputedRef<boolean>;
1026
1021
  focusing: import("vue").Ref<boolean>;
1027
1022
  handleRemove: (file: import("./src/upload").UploadFile) => void;
1028
1023
  ElIcon: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
@@ -1505,6 +1500,7 @@ export declare const ElUpload: import("element-plus/es/utils").SFCWithInstall<im
1505
1500
  cssVarBlock: (object: Record<string, string>) => Record<string, string>;
1506
1501
  cssVarBlockName: (name: string) => string;
1507
1502
  };
1503
+ disabled: import("vue").ComputedRef<boolean>;
1508
1504
  requests: import("vue").ShallowRef<Record<string, XMLHttpRequest | Promise<unknown>>>;
1509
1505
  inputRef: import("vue").ShallowRef<HTMLInputElement | undefined>;
1510
1506
  uploadFiles: (files: File[]) => void;
@@ -1518,11 +1514,6 @@ export declare const ElUpload: import("element-plus/es/utils").SFCWithInstall<im
1518
1514
  readonly disabled: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
1519
1515
  }, {
1520
1516
  COMPONENT_NAME: string;
1521
- props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
1522
- readonly disabled: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
1523
- }>> & {
1524
- onFile?: ((file: File[]) => any) | undefined;
1525
- }>>;
1526
1517
  emit: (event: "file", file: File[]) => void;
1527
1518
  uploaderContext: import("../..").UploadContext;
1528
1519
  ns: {
@@ -1544,6 +1535,7 @@ export declare const ElUpload: import("element-plus/es/utils").SFCWithInstall<im
1544
1535
  cssVarBlockName: (name: string) => string;
1545
1536
  };
1546
1537
  dragover: import("vue").Ref<boolean>;
1538
+ disabled: import("vue").ComputedRef<boolean>;
1547
1539
  onDrop: (e: DragEvent) => void;
1548
1540
  onDragover: () => void;
1549
1541
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -209,6 +209,7 @@ declare const _default: import("vue").DefineComponent<{
209
209
  cssVarBlock: (object: Record<string, string>) => Record<string, string>;
210
210
  cssVarBlockName: (name: string) => string;
211
211
  };
212
+ disabled: import("vue").ComputedRef<boolean>;
212
213
  requests: import("vue").ShallowRef<Record<string, XMLHttpRequest | Promise<unknown>>>;
213
214
  inputRef: import("vue").ShallowRef<HTMLInputElement | undefined>;
214
215
  uploadFiles: (files: File[]) => void;
@@ -222,11 +223,6 @@ declare const _default: import("vue").DefineComponent<{
222
223
  readonly disabled: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
223
224
  }, {
224
225
  COMPONENT_NAME: string;
225
- props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
226
- readonly disabled: import("element-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
227
- }>> & {
228
- onFile?: ((file: File[]) => any) | undefined;
229
- }>>;
230
226
  emit: (event: "file", file: File[]) => void;
231
227
  uploaderContext: import("../../..").UploadContext;
232
228
  ns: {
@@ -248,6 +244,7 @@ declare const _default: import("vue").DefineComponent<{
248
244
  cssVarBlockName: (name: string) => string;
249
245
  };
250
246
  dragover: import("vue").Ref<boolean>;
247
+ disabled: import("vue").ComputedRef<boolean>;
251
248
  onDrop: (e: DragEvent) => void;
252
249
  onDragover: () => void;
253
250
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -6,6 +6,7 @@ import { uploadContentProps } from './upload-content.mjs';
6
6
  import { genFileId } from './upload.mjs';
7
7
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
8
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
9
+ import { useDisabled } from '../../../hooks/use-common-props/index.mjs';
9
10
  import { entriesOf } from '../../../utils/objects.mjs';
10
11
 
11
12
  const _hoisted_1 = ["onKeydown"];
@@ -20,6 +21,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
20
21
  setup(__props, { expose }) {
21
22
  const props = __props;
22
23
  const ns = useNamespace("upload");
24
+ const disabled = useDisabled();
23
25
  const requests = shallowRef({});
24
26
  const inputRef = shallowRef();
25
27
  const uploadFiles = (files) => {
@@ -117,7 +119,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
117
119
  uploadFiles(Array.from(files));
118
120
  };
119
121
  const handleClick = () => {
120
- if (!props.disabled) {
122
+ if (!disabled.value) {
121
123
  inputRef.value.value = "";
122
124
  inputRef.value.click();
123
125
  }
@@ -146,7 +148,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
146
148
  }, [
147
149
  _ctx.drag ? (openBlock(), createBlock(UploadDragger, {
148
150
  key: 0,
149
- disabled: _ctx.disabled,
151
+ disabled: unref(disabled),
150
152
  onFile: uploadFiles
151
153
  }, {
152
154
  default: withCtx(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"upload-content2.mjs","sources":["../../../../../../packages/components/upload/src/upload-content.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b(), ns.m(listType), ns.is('drag', drag)]\"\n tabindex=\"0\"\n @click=\"handleClick\"\n @keydown.self.enter.space=\"handleKeydown\"\n >\n <template v-if=\"drag\">\n <upload-dragger :disabled=\"disabled\" @file=\"uploadFiles\">\n <slot />\n </upload-dragger>\n </template>\n <template v-else>\n <slot />\n </template>\n <input\n ref=\"inputRef\"\n :class=\"ns.e('input')\"\n :name=\"name\"\n :multiple=\"multiple\"\n :accept=\"accept\"\n type=\"file\"\n @change=\"handleChange\"\n @click.stop\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { shallowRef } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { entriesOf } from '@element-plus/utils'\nimport UploadDragger from './upload-dragger.vue'\nimport { uploadContentProps } from './upload-content'\nimport { genFileId } from './upload'\n\nimport type {\n UploadFile,\n UploadHooks,\n UploadRawFile,\n UploadRequestOptions,\n} from './upload'\n\ndefineOptions({\n name: 'ElUploadContent',\n inheritAttrs: false,\n})\n\nconst props = defineProps(uploadContentProps)\nconst ns = useNamespace('upload')\n\nconst requests = shallowRef<Record<string, XMLHttpRequest | Promise<unknown>>>(\n {}\n)\nconst inputRef = shallowRef<HTMLInputElement>()\n\nconst uploadFiles = (files: File[]) => {\n if (files.length === 0) return\n\n const { autoUpload, limit, fileList, multiple, onStart, onExceed } = props\n\n if (limit && fileList.length + files.length > limit) {\n onExceed(files, fileList)\n return\n }\n\n if (!multiple) {\n files = files.slice(0, 1)\n }\n\n for (const file of files) {\n const rawFile = file as UploadRawFile\n rawFile.uid = genFileId()\n onStart(rawFile)\n if (autoUpload) upload(rawFile)\n }\n}\n\nconst upload = async (rawFile: UploadRawFile) => {\n inputRef.value!.value = ''\n\n if (!props.beforeUpload) {\n return doUpload(rawFile)\n }\n\n let hookResult: Exclude<ReturnType<UploadHooks['beforeUpload']>, Promise<any>>\n try {\n hookResult = await props.beforeUpload(rawFile)\n } catch {\n hookResult = false\n }\n\n if (hookResult === false) {\n props.onRemove(rawFile)\n return\n }\n\n let file: File = rawFile\n if (hookResult instanceof Blob) {\n if (hookResult instanceof File) {\n file = hookResult\n } else {\n file = new File([hookResult], rawFile.name, {\n type: rawFile.type,\n })\n }\n }\n\n doUpload(\n Object.assign(file, {\n uid: rawFile.uid,\n })\n )\n}\n\nconst doUpload = (rawFile: UploadRawFile) => {\n const {\n headers,\n data,\n method,\n withCredentials,\n name: filename,\n action,\n onProgress,\n onSuccess,\n onError,\n httpRequest,\n } = props\n\n const { uid } = rawFile\n const options: UploadRequestOptions = {\n headers: headers || {},\n withCredentials,\n file: rawFile,\n data,\n method,\n filename,\n action,\n onProgress: (evt) => {\n onProgress(evt, rawFile)\n },\n onSuccess: (res) => {\n onSuccess(res, rawFile)\n delete requests.value[uid]\n },\n onError: (err) => {\n onError(err, rawFile)\n delete requests.value[uid]\n },\n }\n const request = httpRequest(options)\n requests.value[uid] = request\n if (request instanceof Promise) {\n request.then(options.onSuccess, options.onError)\n }\n}\n\nconst handleChange = (e: Event) => {\n const files = (e.target as HTMLInputElement).files\n if (!files) return\n uploadFiles(Array.from(files))\n}\n\nconst handleClick = () => {\n if (!props.disabled) {\n inputRef.value!.value = ''\n inputRef.value!.click()\n }\n}\n\nconst handleKeydown = () => {\n handleClick()\n}\n\nconst abort = (file?: UploadFile) => {\n const _reqs = entriesOf(requests.value).filter(\n file ? ([uid]) => String(file.uid) === uid : () => true\n )\n _reqs.forEach(([uid, req]) => {\n if (req instanceof XMLHttpRequest) req.abort()\n delete requests.value[uid]\n })\n}\n\ndefineExpose({\n abort,\n upload,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;mCA2Cc,CAAA;AAAA,EACZ,IAAM,EAAA,iBAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;AAGA,IAAM,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAEhC,IAAM,MAAA,QAAA,GAAW,UACf,CAAA,EACF,CAAA,CAAA;AACA,IAAA,MAAM,WAAW,UAA6B,EAAA,CAAA;AAE9C,IAAM,MAAA,WAAA,GAAc,CAAC,KAAkB,KAAA;AACrC,MAAA,IAAI,MAAM,MAAW,KAAA,CAAA;AAAG,QAAA,OAAA;AAExB,MAAA,MAAM,EAAE,UAAY,EAAA,KAAA,EAAO,QAAU,EAAA,QAAA,EAAU,SAAS,QAAa,EAAA,GAAA,KAAA,CAAA;AAErE,MAAA,IAAI,KAAS,IAAA,QAAA,CAAS,MAAS,GAAA,KAAA,CAAM,SAAS,KAAO,EAAA;AACnD,QAAA,QAAA,CAAS,OAAO,QAAQ,CAAA,CAAA;AACxB,QAAA,OAAA;AAAA,OACF;AAEA,MAAA,IAAI,CAAC,QAAU,EAAA;AACb,QAAQ,KAAA,GAAA,KAAA,CAAM,KAAM,CAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAAA,OAC1B;AAEA,MAAA,KAAA,MAAW,QAAQ,KAAO,EAAA;AACxB,QAAA,MAAM,OAAU,GAAA,IAAA,CAAA;AAChB,QAAA,OAAA,CAAQ,MAAM,SAAU,EAAA,CAAA;AACxB,QAAA,OAAA,CAAQ,OAAO,CAAA,CAAA;AACf,QAAI,IAAA,UAAA;AAAY,UAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,OAChC;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,MAAA,GAAS,OAAO,OAA2B,KAAA;AAC/C,MAAA,QAAA,CAAS,MAAO,KAAQ,GAAA,EAAA,CAAA;AAExB,MAAI,IAAA,CAAC,MAAM,YAAc,EAAA;AACvB,QAAA,OAAO,SAAS,OAAO,CAAA,CAAA;AAAA,OACzB;AAEA,MAAI,IAAA,UAAA,CAAA;AACJ,MAAI,IAAA;AACF,QAAa,UAAA,GAAA,MAAM,KAAM,CAAA,YAAA,CAAa,OAAO,CAAA,CAAA;AAAA,OAC7C,CAAA,OAAA,CAAA,EAAA;AACA,QAAa,UAAA,GAAA,KAAA,CAAA;AAAA,OACf;AAEA,MAAA,IAAI,eAAe,KAAO,EAAA;AACxB,QAAA,KAAA,CAAM,SAAS,OAAO,CAAA,CAAA;AACtB,QAAA,OAAA;AAAA,OACF;AAEA,MAAA,IAAI,IAAa,GAAA,OAAA,CAAA;AACjB,MAAA,IAAI,sBAAsB,IAAM,EAAA;AAC9B,QAAA,IAAI,sBAAsB,IAAM,EAAA;AAC9B,UAAO,IAAA,GAAA,UAAA,CAAA;AAAA,SACF,MAAA;AACL,UAAA,IAAA,GAAO,IAAI,IAAK,CAAA,CAAC,UAAU,CAAA,EAAG,QAAQ,IAAM,EAAA;AAAA,YAC1C,MAAM,OAAQ,CAAA,IAAA;AAAA,WACf,CAAA,CAAA;AAAA,SACH;AAAA,OACF;AAEA,MACE,QAAA,CAAA,MAAA,CAAO,OAAO,IAAM,EAAA;AAAA,QAClB,KAAK,OAAQ,CAAA,GAAA;AAAA,OACd,CACH,CAAA,CAAA;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,QAAA,GAAW,CAAC,OAA2B,KAAA;AAC3C,MAAM,MAAA;AAAA,QACJ,OAAA;AAAA,QACA,IAAA;AAAA,QACA,MAAA;AAAA,QACA,eAAA;AAAA,QACA,IAAM,EAAA,QAAA;AAAA,QACN,MAAA;AAAA,QACA,UAAA;AAAA,QACA,SAAA;AAAA,QACA,OAAA;AAAA,QACA,WAAA;AAAA,OACE,GAAA,KAAA,CAAA;AAEJ,MAAA,MAAM,EAAE,GAAQ,EAAA,GAAA,OAAA,CAAA;AAChB,MAAA,MAAM,OAAgC,GAAA;AAAA,QACpC,OAAA,EAAS,WAAW,EAAC;AAAA,QACrB,eAAA;AAAA,QACA,IAAM,EAAA,OAAA;AAAA,QACN,IAAA;AAAA,QACA,MAAA;AAAA,QACA,QAAA;AAAA,QACA,MAAA;AAAA,QACA,UAAA,EAAY,CAAC,GAAQ,KAAA;AACnB,UAAA,UAAA,CAAW,KAAK,OAAO,CAAA,CAAA;AAAA,SACzB;AAAA,QACA,SAAA,EAAW,CAAC,GAAQ,KAAA;AAClB,UAAA,SAAA,CAAU,KAAK,OAAO,CAAA,CAAA;AACtB,UAAA,OAAO,SAAS,KAAM,CAAA,GAAA,CAAA,CAAA;AAAA,SACxB;AAAA,QACA,OAAA,EAAS,CAAC,GAAQ,KAAA;AAChB,UAAA,OAAA,CAAQ,KAAK,OAAO,CAAA,CAAA;AACpB,UAAA,OAAO,SAAS,KAAM,CAAA,GAAA,CAAA,CAAA;AAAA,SACxB;AAAA,OACF,CAAA;AACA,MAAM,MAAA,OAAA,GAAU,YAAY,OAAO,CAAA,CAAA;AACnC,MAAA,QAAA,CAAS,MAAM,GAAO,CAAA,GAAA,OAAA,CAAA;AACtB,MAAA,IAAI,mBAAmB,OAAS,EAAA;AAC9B,QAAA,OAAA,CAAQ,IAAK,CAAA,OAAA,CAAQ,SAAW,EAAA,OAAA,CAAQ,OAAO,CAAA,CAAA;AAAA,OACjD;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,CAAC,CAAa,KAAA;AACjC,MAAM,MAAA,KAAA,GAAS,EAAE,MAA4B,CAAA,KAAA,CAAA;AAC7C,MAAA,IAAI,CAAC,KAAA;AAAO,QAAA,OAAA;AACZ,MAAY,WAAA,CAAA,KAAA,CAAM,IAAK,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,KAC/B,CAAA;AAEA,IAAA,MAAM,cAAc,MAAM;AACxB,MAAI,IAAA,CAAC,MAAM,QAAU,EAAA;AACnB,QAAA,QAAA,CAAS,MAAO,KAAQ,GAAA,EAAA,CAAA;AACxB,QAAA,QAAA,CAAS,MAAO,KAAM,EAAA,CAAA;AAAA,OACxB;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,gBAAgB,MAAM;AAC1B,MAAY,WAAA,EAAA,CAAA;AAAA,KACd,CAAA;AAEA,IAAM,MAAA,KAAA,GAAQ,CAAC,IAAsB,KAAA;AACnC,MAAA,MAAM,QAAQ,SAAU,CAAA,QAAA,CAAS,KAAK,CAAA,CAAE,OACtC,IAAO,GAAA,CAAC,CAAC,GAAA,CAAA,KAAS,OAAO,IAAK,CAAA,GAAG,CAAM,KAAA,GAAA,GAAM,MAAM,IACrD,CAAA,CAAA;AACA,MAAA,KAAA,CAAM,OAAQ,CAAA,CAAC,CAAC,GAAA,EAAK,GAAS,CAAA,KAAA;AAC5B,QAAA,IAAI,GAAe,YAAA,cAAA;AAAgB,UAAA,GAAA,CAAI,KAAM,EAAA,CAAA;AAC7C,QAAA,OAAO,SAAS,KAAM,CAAA,GAAA,CAAA,CAAA;AAAA,OACvB,CAAA,CAAA;AAAA,KACH,CAAA;AAEA,IAAa,MAAA,CAAA;AAAA,MACX,KAAA;AAAA,MACA,MAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"upload-content2.mjs","sources":["../../../../../../packages/components/upload/src/upload-content.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b(), ns.m(listType), ns.is('drag', drag)]\"\n tabindex=\"0\"\n @click=\"handleClick\"\n @keydown.self.enter.space=\"handleKeydown\"\n >\n <template v-if=\"drag\">\n <upload-dragger :disabled=\"disabled\" @file=\"uploadFiles\">\n <slot />\n </upload-dragger>\n </template>\n <template v-else>\n <slot />\n </template>\n <input\n ref=\"inputRef\"\n :class=\"ns.e('input')\"\n :name=\"name\"\n :multiple=\"multiple\"\n :accept=\"accept\"\n type=\"file\"\n @change=\"handleChange\"\n @click.stop\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { shallowRef } from 'vue'\nimport { useDisabled, useNamespace } from '@element-plus/hooks'\nimport { entriesOf } from '@element-plus/utils'\nimport UploadDragger from './upload-dragger.vue'\nimport { uploadContentProps } from './upload-content'\nimport { genFileId } from './upload'\n\nimport type {\n UploadFile,\n UploadHooks,\n UploadRawFile,\n UploadRequestOptions,\n} from './upload'\n\ndefineOptions({\n name: 'ElUploadContent',\n inheritAttrs: false,\n})\n\nconst props = defineProps(uploadContentProps)\nconst ns = useNamespace('upload')\nconst disabled = useDisabled()\n\nconst requests = shallowRef<Record<string, XMLHttpRequest | Promise<unknown>>>(\n {}\n)\nconst inputRef = shallowRef<HTMLInputElement>()\n\nconst uploadFiles = (files: File[]) => {\n if (files.length === 0) return\n\n const { autoUpload, limit, fileList, multiple, onStart, onExceed } = props\n\n if (limit && fileList.length + files.length > limit) {\n onExceed(files, fileList)\n return\n }\n\n if (!multiple) {\n files = files.slice(0, 1)\n }\n\n for (const file of files) {\n const rawFile = file as UploadRawFile\n rawFile.uid = genFileId()\n onStart(rawFile)\n if (autoUpload) upload(rawFile)\n }\n}\n\nconst upload = async (rawFile: UploadRawFile) => {\n inputRef.value!.value = ''\n\n if (!props.beforeUpload) {\n return doUpload(rawFile)\n }\n\n let hookResult: Exclude<ReturnType<UploadHooks['beforeUpload']>, Promise<any>>\n try {\n hookResult = await props.beforeUpload(rawFile)\n } catch {\n hookResult = false\n }\n\n if (hookResult === false) {\n props.onRemove(rawFile)\n return\n }\n\n let file: File = rawFile\n if (hookResult instanceof Blob) {\n if (hookResult instanceof File) {\n file = hookResult\n } else {\n file = new File([hookResult], rawFile.name, {\n type: rawFile.type,\n })\n }\n }\n\n doUpload(\n Object.assign(file, {\n uid: rawFile.uid,\n })\n )\n}\n\nconst doUpload = (rawFile: UploadRawFile) => {\n const {\n headers,\n data,\n method,\n withCredentials,\n name: filename,\n action,\n onProgress,\n onSuccess,\n onError,\n httpRequest,\n } = props\n\n const { uid } = rawFile\n const options: UploadRequestOptions = {\n headers: headers || {},\n withCredentials,\n file: rawFile,\n data,\n method,\n filename,\n action,\n onProgress: (evt) => {\n onProgress(evt, rawFile)\n },\n onSuccess: (res) => {\n onSuccess(res, rawFile)\n delete requests.value[uid]\n },\n onError: (err) => {\n onError(err, rawFile)\n delete requests.value[uid]\n },\n }\n const request = httpRequest(options)\n requests.value[uid] = request\n if (request instanceof Promise) {\n request.then(options.onSuccess, options.onError)\n }\n}\n\nconst handleChange = (e: Event) => {\n const files = (e.target as HTMLInputElement).files\n if (!files) return\n uploadFiles(Array.from(files))\n}\n\nconst handleClick = () => {\n if (!disabled.value) {\n inputRef.value!.value = ''\n inputRef.value!.click()\n }\n}\n\nconst handleKeydown = () => {\n handleClick()\n}\n\nconst abort = (file?: UploadFile) => {\n const _reqs = entriesOf(requests.value).filter(\n file ? ([uid]) => String(file.uid) === uid : () => true\n )\n _reqs.forEach(([uid, req]) => {\n if (req instanceof XMLHttpRequest) req.abort()\n delete requests.value[uid]\n })\n}\n\ndefineExpose({\n abort,\n upload,\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -2,11 +2,6 @@ declare const _default: import("vue").DefineComponent<{
2
2
  readonly disabled: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
3
3
  }, {
4
4
  COMPONENT_NAME: string;
5
- props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
6
- readonly disabled: import("../../../utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
7
- }>> & {
8
- onFile?: ((file: File[]) => any) | undefined;
9
- }>>;
10
5
  emit: (event: "file", file: File[]) => void;
11
6
  uploaderContext: import("element-plus/es/tokens").UploadContext;
12
7
  ns: {
@@ -28,6 +23,7 @@ declare const _default: import("vue").DefineComponent<{
28
23
  cssVarBlockName: (name: string) => string;
29
24
  };
30
25
  dragover: import("vue").Ref<boolean>;
26
+ disabled: import("vue").ComputedRef<boolean>;
31
27
  onDrop: (e: DragEvent) => void;
32
28
  onDragover: () => void;
33
29
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -6,6 +6,7 @@ import { uploadDraggerProps, uploadDraggerEmits } from './upload-dragger.mjs';
6
6
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
7
7
  import { uploadContextKey } from '../../../tokens/upload.mjs';
8
8
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
9
+ import { useDisabled } from '../../../hooks/use-common-props/index.mjs';
9
10
 
10
11
  const _hoisted_1 = ["onDrop", "onDragover"];
11
12
  const COMPONENT_NAME = "ElUploadDrag";
@@ -17,15 +18,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17
18
  props: uploadDraggerProps,
18
19
  emits: uploadDraggerEmits,
19
20
  setup(__props, { emit }) {
20
- const props = __props;
21
21
  const uploaderContext = inject(uploadContextKey);
22
22
  if (!uploaderContext) {
23
23
  throwError(COMPONENT_NAME, "usage: <el-upload><el-upload-dragger /></el-upload>");
24
24
  }
25
25
  const ns = useNamespace("upload");
26
26
  const dragover = ref(false);
27
+ const disabled = useDisabled();
27
28
  const onDrop = (e) => {
28
- if (props.disabled)
29
+ if (disabled.value)
29
30
  return;
30
31
  dragover.value = false;
31
32
  const files = Array.from(e.dataTransfer.files);
@@ -54,7 +55,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
54
55
  emit("file", filesFiltered);
55
56
  };
56
57
  const onDragover = () => {
57
- if (!props.disabled)
58
+ if (!disabled.value)
58
59
  dragover.value = true;
59
60
  };
60
61
  return (_ctx, _cache) => {
@@ -1 +1 @@
1
- {"version":3,"file":"upload-dragger2.mjs","sources":["../../../../../../packages/components/upload/src/upload-dragger.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('dragger'), ns.is('dragover', dragover)]\"\n @drop.prevent=\"onDrop\"\n @dragover.prevent=\"onDragover\"\n @dragleave.prevent=\"dragover = false\"\n >\n <slot />\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { inject, ref } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport { uploadContextKey } from '@element-plus/tokens'\nimport { throwError } from '@element-plus/utils/error'\nimport { uploadDraggerEmits, uploadDraggerProps } from './upload-dragger'\n\nconst COMPONENT_NAME = 'ElUploadDrag'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(uploadDraggerProps)\nconst emit = defineEmits(uploadDraggerEmits)\n\nconst uploaderContext = inject(uploadContextKey)\nif (!uploaderContext) {\n throwError(\n COMPONENT_NAME,\n 'usage: <el-upload><el-upload-dragger /></el-upload>'\n )\n}\n\nconst ns = useNamespace('upload')\nconst dragover = ref(false)\n\nconst onDrop = (e: DragEvent) => {\n if (props.disabled) return\n dragover.value = false\n\n const files = Array.from(e.dataTransfer!.files)\n const accept = uploaderContext.accept.value\n if (!accept) {\n emit('file', files)\n return\n }\n\n const filesFiltered = files.filter((file) => {\n const { type, name } = file\n const extension = name.includes('.') ? `.${name.split('.').pop()}` : ''\n const baseType = type.replace(/\\/.*$/, '')\n return accept\n .split(',')\n .map((type) => type.trim())\n .filter((type) => type)\n .some((acceptedType) => {\n if (acceptedType.startsWith('.')) {\n return extension === acceptedType\n }\n if (/\\/\\*$/.test(acceptedType)) {\n return baseType === acceptedType.replace(/\\/\\*$/, '')\n }\n if (/^[^/]+\\/[^/]+$/.test(acceptedType)) {\n return type === acceptedType\n }\n return false\n })\n })\n\n emit('file', filesFiltered)\n}\n\nconst onDragover = () => {\n if (!props.disabled) dragover.value = true\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;mCAoBc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;;AAKA,IAAM,MAAA,eAAA,GAAkB,OAAO,gBAAgB,CAAA,CAAA;AAC/C,IAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,MAAA,UAAA,CACE,gBACA,qDACF,CAAA,CAAA;AAAA,KACF;AAEA,IAAM,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAChC,IAAM,MAAA,QAAA,GAAW,IAAI,KAAK,CAAA,CAAA;AAE1B,IAAM,MAAA,MAAA,GAAS,CAAC,CAAiB,KAAA;AAC/B,MAAA,IAAI,KAAM,CAAA,QAAA;AAAU,QAAA,OAAA;AACpB,MAAA,QAAA,CAAS,KAAQ,GAAA,KAAA,CAAA;AAEjB,MAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,IAAK,CAAA,CAAA,CAAE,aAAc,KAAK,CAAA,CAAA;AAC9C,MAAM,MAAA,MAAA,GAAS,gBAAgB,MAAO,CAAA,KAAA,CAAA;AACtC,MAAA,IAAI,CAAC,MAAQ,EAAA;AACX,QAAA,IAAA,CAAK,QAAQ,KAAK,CAAA,CAAA;AAClB,QAAA,OAAA;AAAA,OACF;AAEA,MAAA,MAAM,aAAgB,GAAA,KAAA,CAAM,MAAO,CAAA,CAAC,IAAS,KAAA;AAC3C,QAAM,MAAA,EAAE,MAAM,IAAS,EAAA,GAAA,IAAA,CAAA;AACvB,QAAM,MAAA,SAAA,GAAY,IAAK,CAAA,QAAA,CAAS,GAAG,CAAA,GAAI,CAAI,CAAA,EAAA,IAAA,CAAK,KAAM,CAAA,GAAG,CAAE,CAAA,GAAA,EAAU,CAAA,CAAA,GAAA,EAAA,CAAA;AACrE,QAAA,MAAM,QAAW,GAAA,IAAA,CAAK,OAAQ,CAAA,OAAA,EAAS,EAAE,CAAA,CAAA;AACzC,QAAA,OAAO,OACJ,KAAM,CAAA,GAAG,EACT,GAAI,CAAA,CAAC,UAAS,KAAK,CAAA,IAAA,EAAM,CAAA,CACzB,OAAO,CAAC,KAAA,KAAS,KAAI,CACrB,CAAA,IAAA,CAAK,CAAC,YAAiB,KAAA;AACtB,UAAI,IAAA,YAAA,CAAa,UAAW,CAAA,GAAG,CAAG,EAAA;AAChC,YAAA,OAAO,SAAc,KAAA,YAAA,CAAA;AAAA,WACvB;AACA,UAAI,IAAA,OAAA,CAAQ,IAAK,CAAA,YAAY,CAAG,EAAA;AAC9B,YAAA,OAAO,QAAa,KAAA,YAAA,CAAa,OAAQ,CAAA,OAAA,EAAS,EAAE,CAAA,CAAA;AAAA,WACtD;AACA,UAAI,IAAA,gBAAA,CAAiB,IAAK,CAAA,YAAY,CAAG,EAAA;AACvC,YAAA,OAAO,IAAS,KAAA,YAAA,CAAA;AAAA,WAClB;AACA,UAAO,OAAA,KAAA,CAAA;AAAA,SACR,CAAA,CAAA;AAAA,OACJ,CAAA,CAAA;AAED,MAAA,IAAA,CAAK,QAAQ,aAAa,CAAA,CAAA;AAAA,KAC5B,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,IAAI,CAAC,KAAM,CAAA,QAAA;AAAU,QAAA,QAAA,CAAS,KAAQ,GAAA,IAAA,CAAA;AAAA,KACxC,CAAA;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"upload-dragger2.mjs","sources":["../../../../../../packages/components/upload/src/upload-dragger.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('dragger'), ns.is('dragover', dragover)]\"\n @drop.prevent=\"onDrop\"\n @dragover.prevent=\"onDragover\"\n @dragleave.prevent=\"dragover = false\"\n >\n <slot />\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { inject, ref } from 'vue'\nimport { useDisabled, useNamespace } from '@element-plus/hooks'\n\nimport { uploadContextKey } from '@element-plus/tokens'\nimport { throwError } from '@element-plus/utils/error'\nimport { uploadDraggerEmits, uploadDraggerProps } from './upload-dragger'\n\nconst COMPONENT_NAME = 'ElUploadDrag'\n\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\ndefineProps(uploadDraggerProps)\nconst emit = defineEmits(uploadDraggerEmits)\n\nconst uploaderContext = inject(uploadContextKey)\nif (!uploaderContext) {\n throwError(\n COMPONENT_NAME,\n 'usage: <el-upload><el-upload-dragger /></el-upload>'\n )\n}\n\nconst ns = useNamespace('upload')\nconst dragover = ref(false)\nconst disabled = useDisabled()\n\nconst onDrop = (e: DragEvent) => {\n if (disabled.value) return\n dragover.value = false\n\n const files = Array.from(e.dataTransfer!.files)\n const accept = uploaderContext.accept.value\n if (!accept) {\n emit('file', files)\n return\n }\n\n const filesFiltered = files.filter((file) => {\n const { type, name } = file\n const extension = name.includes('.') ? `.${name.split('.').pop()}` : ''\n const baseType = type.replace(/\\/.*$/, '')\n return accept\n .split(',')\n .map((type) => type.trim())\n .filter((type) => type)\n .some((acceptedType) => {\n if (acceptedType.startsWith('.')) {\n return extension === acceptedType\n }\n if (/\\/\\*$/.test(acceptedType)) {\n return baseType === acceptedType.replace(/\\/\\*$/, '')\n }\n if (/^[^/]+\\/[^/]+$/.test(acceptedType)) {\n return type === acceptedType\n }\n return false\n })\n })\n\n emit('file', filesFiltered)\n}\n\nconst onDragover = () => {\n if (!disabled.value) dragover.value = true\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;mCAoBc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;AAKA,IAAM,MAAA,eAAA,GAAkB,OAAO,gBAAgB,CAAA,CAAA;AAC/C,IAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,MAAA,UAAA,CACE,gBACA,qDACF,CAAA,CAAA;AAAA,KACF;AAEA,IAAM,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAChC,IAAM,MAAA,QAAA,GAAW,IAAI,KAAK,CAAA,CAAA;AAC1B,IAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAE7B,IAAM,MAAA,MAAA,GAAS,CAAC,CAAiB,KAAA;AAC/B,MAAA,IAAI,QAAS,CAAA,KAAA;AAAO,QAAA,OAAA;AACpB,MAAA,QAAA,CAAS,KAAQ,GAAA,KAAA,CAAA;AAEjB,MAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,IAAK,CAAA,CAAA,CAAE,aAAc,KAAK,CAAA,CAAA;AAC9C,MAAM,MAAA,MAAA,GAAS,gBAAgB,MAAO,CAAA,KAAA,CAAA;AACtC,MAAA,IAAI,CAAC,MAAQ,EAAA;AACX,QAAA,IAAA,CAAK,QAAQ,KAAK,CAAA,CAAA;AAClB,QAAA,OAAA;AAAA,OACF;AAEA,MAAA,MAAM,aAAgB,GAAA,KAAA,CAAM,MAAO,CAAA,CAAC,IAAS,KAAA;AAC3C,QAAM,MAAA,EAAE,MAAM,IAAS,EAAA,GAAA,IAAA,CAAA;AACvB,QAAM,MAAA,SAAA,GAAY,IAAK,CAAA,QAAA,CAAS,GAAG,CAAA,GAAI,CAAI,CAAA,EAAA,IAAA,CAAK,KAAM,CAAA,GAAG,CAAE,CAAA,GAAA,EAAU,CAAA,CAAA,GAAA,EAAA,CAAA;AACrE,QAAA,MAAM,QAAW,GAAA,IAAA,CAAK,OAAQ,CAAA,OAAA,EAAS,EAAE,CAAA,CAAA;AACzC,QAAA,OAAO,OACJ,KAAM,CAAA,GAAG,EACT,GAAI,CAAA,CAAC,UAAS,KAAK,CAAA,IAAA,EAAM,CAAA,CACzB,OAAO,CAAC,KAAA,KAAS,KAAI,CACrB,CAAA,IAAA,CAAK,CAAC,YAAiB,KAAA;AACtB,UAAI,IAAA,YAAA,CAAa,UAAW,CAAA,GAAG,CAAG,EAAA;AAChC,YAAA,OAAO,SAAc,KAAA,YAAA,CAAA;AAAA,WACvB;AACA,UAAI,IAAA,OAAA,CAAQ,IAAK,CAAA,YAAY,CAAG,EAAA;AAC9B,YAAA,OAAO,QAAa,KAAA,YAAA,CAAa,OAAQ,CAAA,OAAA,EAAS,EAAE,CAAA,CAAA;AAAA,WACtD;AACA,UAAI,IAAA,gBAAA,CAAiB,IAAK,CAAA,YAAY,CAAG,EAAA;AACvC,YAAA,OAAO,IAAS,KAAA,YAAA,CAAA;AAAA,WAClB;AACA,UAAO,OAAA,KAAA,CAAA;AAAA,SACR,CAAA,CAAA;AAAA,OACJ,CAAA,CAAA;AAED,MAAA,IAAA,CAAK,QAAQ,aAAa,CAAA,CAAA;AAAA,KAC5B,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,IAAI,CAAC,QAAS,CAAA,KAAA;AAAO,QAAA,QAAA,CAAS,KAAQ,GAAA,IAAA,CAAA;AAAA,KACxC,CAAA;;;;;;;;;;;;;;;;;"}
@@ -69,6 +69,7 @@ declare const _default: import("vue").DefineComponent<{
69
69
  cssVarBlock: (object: Record<string, string>) => Record<string, string>;
70
70
  cssVarBlockName: (name: string) => string;
71
71
  };
72
+ disabled: import("vue").ComputedRef<boolean>;
72
73
  focusing: import("vue").Ref<boolean>;
73
74
  handleRemove: (file: UploadFile) => void;
74
75
  ElIcon: import("../../../utils").SFCWithInstall<import("vue").DefineComponent<{
@@ -7,6 +7,7 @@ import { uploadListProps, uploadListEmits } from './upload-list.mjs';
7
7
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
8
8
  import { useLocale } from '../../../hooks/use-locale/index.mjs';
9
9
  import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
10
+ import { useDisabled } from '../../../hooks/use-common-props/index.mjs';
10
11
 
11
12
  const _hoisted_1 = ["onKeydown"];
12
13
  const _hoisted_2 = ["src"];
@@ -25,6 +26,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
25
26
  const nsUpload = useNamespace("upload");
26
27
  const nsIcon = useNamespace("icon");
27
28
  const nsList = useNamespace("list");
29
+ const disabled = useDisabled();
28
30
  const focusing = ref(false);
29
31
  const handleRemove = (file) => {
30
32
  emit("remove", file);
@@ -35,7 +37,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
35
37
  class: normalizeClass([
36
38
  unref(nsUpload).b("list"),
37
39
  unref(nsUpload).bm("list", _ctx.listType),
38
- unref(nsUpload).is("disabled", _ctx.disabled)
40
+ unref(nsUpload).is("disabled", unref(disabled))
39
41
  ]),
40
42
  name: unref(nsList).b()
41
43
  }, {
@@ -49,7 +51,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
49
51
  { focusing: focusing.value }
50
52
  ]),
51
53
  tabindex: "0",
52
- onKeydown: withKeys(($event) => !_ctx.disabled && handleRemove(file), ["delete"]),
54
+ onKeydown: withKeys(($event) => !unref(disabled) && handleRemove(file), ["delete"]),
53
55
  onFocus: _cache[0] || (_cache[0] = ($event) => focusing.value = true),
54
56
  onBlur: _cache[1] || (_cache[1] = ($event) => focusing.value = false),
55
57
  onClick: _cache[2] || (_cache[2] = ($event) => focusing.value = false)
@@ -110,7 +112,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
110
112
  _: 1
111
113
  }, 8, ["class"])) : createCommentVNode("v-if", true)
112
114
  ], 2),
113
- !_ctx.disabled ? (openBlock(), createBlock(unref(ElIcon), {
115
+ !unref(disabled) ? (openBlock(), createBlock(unref(ElIcon), {
114
116
  key: 2,
115
117
  class: normalizeClass(unref(nsIcon).m("close")),
116
118
  onClick: ($event) => handleRemove(file)
@@ -123,7 +125,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
123
125
  createCommentVNode(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),
124
126
  createCommentVNode(" This is a bug which needs to be fixed "),
125
127
  createCommentVNode(" TODO: Fix the incorrect navigation interaction "),
126
- !_ctx.disabled ? (openBlock(), createElementBlock("i", {
128
+ !unref(disabled) ? (openBlock(), createElementBlock("i", {
127
129
  key: 3,
128
130
  class: normalizeClass(unref(nsIcon).m("close-tip"))
129
131
  }, toDisplayString(unref(t)("el.upload.deleteTip")), 3)) : createCommentVNode("v-if", true),
@@ -144,7 +146,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
144
146
  _: 1
145
147
  }, 8, ["class"])
146
148
  ], 10, _hoisted_4),
147
- !_ctx.disabled ? (openBlock(), createElementBlock("span", {
149
+ !unref(disabled) ? (openBlock(), createElementBlock("span", {
148
150
  key: 0,
149
151
  class: normalizeClass(unref(nsUpload).be("list", "item-delete")),
150
152
  onClick: ($event) => handleRemove(file)
@@ -1 +1 @@
1
- {"version":3,"file":"upload-list2.mjs","sources":["../../../../../../packages/components/upload/src/upload-list.vue"],"sourcesContent":["<template>\n <transition-group\n tag=\"ul\"\n :class=\"[\n nsUpload.b('list'),\n nsUpload.bm('list', listType),\n nsUpload.is('disabled', disabled),\n ]\"\n :name=\"nsList.b()\"\n >\n <li\n v-for=\"file in files\"\n :key=\"file.uid || file.name\"\n :class=\"[\n nsUpload.be('list', 'item'),\n nsUpload.is(file.status),\n { focusing },\n ]\"\n tabindex=\"0\"\n @keydown.delete=\"!disabled && handleRemove(file)\"\n @focus=\"focusing = true\"\n @blur=\"focusing = false\"\n @click=\"focusing = false\"\n >\n <slot :file=\"file\">\n <img\n v-if=\"\n listType === 'picture' ||\n (file.status !== 'uploading' && listType === 'picture-card')\n \"\n :class=\"nsUpload.be('list', 'item-thumbnail')\"\n :src=\"file.url\"\n alt=\"\"\n />\n <div\n v-if=\"file.status === 'uploading' || listType !== 'picture-card'\"\n :class=\"nsUpload.be('list', 'item-info')\"\n >\n <a\n :class=\"nsUpload.be('list', 'item-name')\"\n @click.prevent=\"handlePreview(file)\"\n >\n <el-icon :class=\"nsIcon.m('document')\"><Document /></el-icon>\n <span :class=\"nsUpload.be('list', 'item-file-name')\">\n {{ file.name }}\n </span>\n </a>\n <el-progress\n v-if=\"file.status === 'uploading'\"\n :type=\"listType === 'picture-card' ? 'circle' : 'line'\"\n :stroke-width=\"listType === 'picture-card' ? 6 : 2\"\n :percentage=\"Number(file.percentage)\"\n :style=\"listType === 'picture-card' ? '' : 'margin-top: 0.5rem'\"\n />\n </div>\n\n <label :class=\"nsUpload.be('list', 'item-status-label')\">\n <el-icon\n v-if=\"listType === 'text'\"\n :class=\"[nsIcon.m('upload-success'), nsIcon.m('circle-check')]\"\n >\n <circle-check />\n </el-icon>\n <el-icon\n v-else-if=\"['picture-card', 'picture'].includes(listType)\"\n :class=\"[nsIcon.m('upload-success'), nsIcon.m('check')]\"\n >\n <Check />\n </el-icon>\n </label>\n <el-icon\n v-if=\"!disabled\"\n :class=\"nsIcon.m('close')\"\n @click=\"handleRemove(file)\"\n >\n <Close />\n </el-icon>\n <!-- Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn-->\n <!-- This is a bug which needs to be fixed -->\n <!-- TODO: Fix the incorrect navigation interaction -->\n <i v-if=\"!disabled\" :class=\"nsIcon.m('close-tip')\">{{\n t('el.upload.deleteTip')\n }}</i>\n <span\n v-if=\"listType === 'picture-card'\"\n :class=\"nsUpload.be('list', 'item-actions')\"\n >\n <span\n :class=\"nsUpload.be('list', 'item-preview')\"\n @click=\"handlePreview(file)\"\n >\n <el-icon :class=\"nsIcon.m('zoom-in')\"><zoom-in /></el-icon>\n </span>\n <span\n v-if=\"!disabled\"\n :class=\"nsUpload.be('list', 'item-delete')\"\n @click=\"handleRemove(file)\"\n >\n <el-icon :class=\"nsIcon.m('delete')\"><Delete /></el-icon>\n </span>\n </span>\n </slot>\n </li>\n <slot name=\"append\" />\n </transition-group>\n</template>\n<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n Check,\n CircleCheck,\n Close,\n Delete,\n Document,\n ZoomIn,\n} from '@element-plus/icons-vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElProgress from '@element-plus/components/progress'\n\nimport { uploadListEmits, uploadListProps } from './upload-list'\nimport type { UploadFile } from './upload'\n\ndefineOptions({\n name: 'ElUploadList',\n})\n\ndefineProps(uploadListProps)\nconst emit = defineEmits(uploadListEmits)\n\nconst { t } = useLocale()\nconst nsUpload = useNamespace('upload')\nconst nsIcon = useNamespace('icon')\nconst nsList = useNamespace('list')\n\nconst focusing = ref(false)\n\nconst handleRemove = (file: UploadFile) => {\n emit('remove', file)\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;mCA2Hc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAKA,IAAM,MAAA,EAAE,MAAM,SAAU,EAAA,CAAA;AACxB,IAAM,MAAA,QAAA,GAAW,aAAa,QAAQ,CAAA,CAAA;AACtC,IAAM,MAAA,MAAA,GAAS,aAAa,MAAM,CAAA,CAAA;AAClC,IAAM,MAAA,MAAA,GAAS,aAAa,MAAM,CAAA,CAAA;AAElC,IAAM,MAAA,QAAA,GAAW,IAAI,KAAK,CAAA,CAAA;AAE1B,IAAM,MAAA,YAAA,GAAe,CAAC,IAAqB,KAAA;AACzC,MAAA,IAAA,CAAK,UAAU,IAAI,CAAA,CAAA;AAAA,KACrB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"upload-list2.mjs","sources":["../../../../../../packages/components/upload/src/upload-list.vue"],"sourcesContent":["<template>\n <transition-group\n tag=\"ul\"\n :class=\"[\n nsUpload.b('list'),\n nsUpload.bm('list', listType),\n nsUpload.is('disabled', disabled),\n ]\"\n :name=\"nsList.b()\"\n >\n <li\n v-for=\"file in files\"\n :key=\"file.uid || file.name\"\n :class=\"[\n nsUpload.be('list', 'item'),\n nsUpload.is(file.status),\n { focusing },\n ]\"\n tabindex=\"0\"\n @keydown.delete=\"!disabled && handleRemove(file)\"\n @focus=\"focusing = true\"\n @blur=\"focusing = false\"\n @click=\"focusing = false\"\n >\n <slot :file=\"file\">\n <img\n v-if=\"\n listType === 'picture' ||\n (file.status !== 'uploading' && listType === 'picture-card')\n \"\n :class=\"nsUpload.be('list', 'item-thumbnail')\"\n :src=\"file.url\"\n alt=\"\"\n />\n <div\n v-if=\"file.status === 'uploading' || listType !== 'picture-card'\"\n :class=\"nsUpload.be('list', 'item-info')\"\n >\n <a\n :class=\"nsUpload.be('list', 'item-name')\"\n @click.prevent=\"handlePreview(file)\"\n >\n <el-icon :class=\"nsIcon.m('document')\"><Document /></el-icon>\n <span :class=\"nsUpload.be('list', 'item-file-name')\">\n {{ file.name }}\n </span>\n </a>\n <el-progress\n v-if=\"file.status === 'uploading'\"\n :type=\"listType === 'picture-card' ? 'circle' : 'line'\"\n :stroke-width=\"listType === 'picture-card' ? 6 : 2\"\n :percentage=\"Number(file.percentage)\"\n :style=\"listType === 'picture-card' ? '' : 'margin-top: 0.5rem'\"\n />\n </div>\n\n <label :class=\"nsUpload.be('list', 'item-status-label')\">\n <el-icon\n v-if=\"listType === 'text'\"\n :class=\"[nsIcon.m('upload-success'), nsIcon.m('circle-check')]\"\n >\n <circle-check />\n </el-icon>\n <el-icon\n v-else-if=\"['picture-card', 'picture'].includes(listType)\"\n :class=\"[nsIcon.m('upload-success'), nsIcon.m('check')]\"\n >\n <Check />\n </el-icon>\n </label>\n <el-icon\n v-if=\"!disabled\"\n :class=\"nsIcon.m('close')\"\n @click=\"handleRemove(file)\"\n >\n <Close />\n </el-icon>\n <!-- Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn-->\n <!-- This is a bug which needs to be fixed -->\n <!-- TODO: Fix the incorrect navigation interaction -->\n <i v-if=\"!disabled\" :class=\"nsIcon.m('close-tip')\">{{\n t('el.upload.deleteTip')\n }}</i>\n <span\n v-if=\"listType === 'picture-card'\"\n :class=\"nsUpload.be('list', 'item-actions')\"\n >\n <span\n :class=\"nsUpload.be('list', 'item-preview')\"\n @click=\"handlePreview(file)\"\n >\n <el-icon :class=\"nsIcon.m('zoom-in')\"><zoom-in /></el-icon>\n </span>\n <span\n v-if=\"!disabled\"\n :class=\"nsUpload.be('list', 'item-delete')\"\n @click=\"handleRemove(file)\"\n >\n <el-icon :class=\"nsIcon.m('delete')\"><Delete /></el-icon>\n </span>\n </span>\n </slot>\n </li>\n <slot name=\"append\" />\n </transition-group>\n</template>\n<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n Check,\n CircleCheck,\n Close,\n Delete,\n Document,\n ZoomIn,\n} from '@element-plus/icons-vue'\nimport { useDisabled, useLocale, useNamespace } from '@element-plus/hooks'\nimport ElProgress from '@element-plus/components/progress'\n\nimport { uploadListEmits, uploadListProps } from './upload-list'\nimport type { UploadFile } from './upload'\n\ndefineOptions({\n name: 'ElUploadList',\n})\n\ndefineProps(uploadListProps)\nconst emit = defineEmits(uploadListEmits)\n\nconst { t } = useLocale()\nconst nsUpload = useNamespace('upload')\nconst nsIcon = useNamespace('icon')\nconst nsList = useNamespace('list')\nconst disabled = useDisabled()\n\nconst focusing = ref(false)\n\nconst handleRemove = (file: UploadFile) => {\n emit('remove', file)\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;mCA2Hc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAKA,IAAM,MAAA,EAAE,MAAM,SAAU,EAAA,CAAA;AACxB,IAAM,MAAA,QAAA,GAAW,aAAa,QAAQ,CAAA,CAAA;AACtC,IAAM,MAAA,MAAA,GAAS,aAAa,MAAM,CAAA,CAAA;AAClC,IAAM,MAAA,MAAA,GAAS,aAAa,MAAM,CAAA,CAAA;AAClC,IAAA,MAAM,WAAW,WAAY,EAAA,CAAA;AAE7B,IAAM,MAAA,QAAA,GAAW,IAAI,KAAK,CAAA,CAAA;AAE1B,IAAM,MAAA,YAAA,GAAe,CAAC,IAAqB,KAAA;AACzC,MAAA,IAAA,CAAK,UAAU,IAAI,CAAA,CAAA;AAAA,KACrB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}