@element-plus/nightly 0.0.20220618 → 0.0.20220621
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.
- package/dist/index.full.js +500 -469
- package/dist/index.full.min.js +13 -13
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +19 -19
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +501 -471
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/autocomplete/index.d.ts +6 -1
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +6 -1
- package/es/components/autocomplete/src/autocomplete4.mjs +37 -11
- package/es/components/autocomplete/src/autocomplete4.mjs.map +1 -1
- package/es/components/index.mjs +2 -2
- package/es/components/message/index.mjs +1 -1
- package/es/components/message/index2.mjs +1 -1
- package/es/components/message/src/message-method.d.ts +0 -2
- package/es/components/message/src/message-method.mjs +1 -1
- package/es/components/message/src/message-method2.mjs +90 -85
- package/es/components/message/src/message-method2.mjs.map +1 -1
- package/es/components/message/src/message.d.ts +35 -10
- package/es/components/message/src/message.mjs +1 -1
- package/es/components/message/src/message.vue.d.ts +157 -4
- package/es/components/message/src/message3.mjs +33 -14
- package/es/components/message/src/message3.mjs.map +1 -1
- package/es/components/message/src/message4.mjs +87 -105
- package/es/components/message/src/message4.mjs.map +1 -1
- package/es/components/message-box/src/index2.mjs +1 -1
- package/es/components/message-box/src/index2.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip4.mjs +2 -1
- package/es/components/tooltip/src/tooltip4.mjs.map +1 -1
- package/es/components/transfer/style/css.d.ts +1 -1
- package/es/components/transfer/style/css2.mjs +1 -1
- package/es/components/transfer/style/index.d.ts +1 -1
- package/es/components/transfer/style/index2.mjs +1 -1
- package/es/components/upload/index.mjs +1 -1
- package/es/components/upload/index2.mjs +2 -2
- package/es/components/upload/src/upload-content3.mjs +1 -1
- package/es/components/upload/src/upload-content4.mjs +1 -1
- package/es/components/upload/src/upload-list3.mjs +1 -1
- package/es/components/upload/src/upload.mjs +1 -1
- package/es/components/upload/src/upload3.mjs +121 -106
- package/es/components/upload/src/upload3.mjs.map +1 -1
- package/es/components/upload/src/upload4.mjs +106 -121
- package/es/components/upload/src/upload4.mjs.map +1 -1
- package/es/components/upload/src/use-handlers2.mjs +1 -1
- package/es/index.mjs +2 -2
- package/es/version.d.ts +1 -1
- package/es/version2.mjs +1 -1
- package/es/version2.mjs.map +1 -1
- package/lib/components/autocomplete/index.d.ts +6 -1
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +6 -1
- package/lib/components/autocomplete/src/autocomplete4.js +47 -21
- package/lib/components/autocomplete/src/autocomplete4.js.map +1 -1
- package/lib/components/index.js +2 -1
- package/lib/components/index.js.map +1 -1
- package/lib/components/message/index.js +1 -0
- package/lib/components/message/index.js.map +1 -1
- package/lib/components/message/index2.js +1 -0
- package/lib/components/message/index2.js.map +1 -1
- package/lib/components/message/src/message-method.d.ts +0 -2
- package/lib/components/message/src/message-method.js +0 -1
- package/lib/components/message/src/message-method.js.map +1 -1
- package/lib/components/message/src/message-method2.js +89 -85
- package/lib/components/message/src/message-method2.js.map +1 -1
- package/lib/components/message/src/message.d.ts +35 -10
- package/lib/components/message/src/message.js +1 -0
- package/lib/components/message/src/message.js.map +1 -1
- package/lib/components/message/src/message.vue.d.ts +157 -4
- package/lib/components/message/src/message3.js +33 -13
- package/lib/components/message/src/message3.js.map +1 -1
- package/lib/components/message/src/message4.js +90 -108
- package/lib/components/message/src/message4.js.map +1 -1
- package/lib/components/message-box/src/index2.js +1 -1
- package/lib/components/message-box/src/index2.js.map +1 -1
- package/lib/components/tooltip/src/tooltip4.js +1 -0
- package/lib/components/tooltip/src/tooltip4.js.map +1 -1
- package/lib/components/transfer/style/css.d.ts +1 -1
- package/lib/components/transfer/style/css2.js +1 -1
- package/lib/components/transfer/style/index.d.ts +1 -1
- package/lib/components/transfer/style/index2.js +1 -1
- package/lib/components/upload/index.js +1 -1
- package/lib/components/upload/index2.js +2 -2
- package/lib/components/upload/src/upload-content3.js +1 -1
- package/lib/components/upload/src/upload-content4.js +1 -1
- package/lib/components/upload/src/upload-list3.js +1 -1
- package/lib/components/upload/src/upload.js +1 -1
- package/lib/components/upload/src/upload3.js +121 -109
- package/lib/components/upload/src/upload3.js.map +1 -1
- package/lib/components/upload/src/upload4.js +109 -121
- package/lib/components/upload/src/upload4.js.map +1 -1
- package/lib/components/upload/src/use-handlers2.js +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version2.js +1 -1
- package/lib/version2.js.map +1 -1
- package/package.json +2 -2
- package/web-types.json +1 -1
|
@@ -9,14 +9,15 @@ var iconsVue = require('@element-plus/icons-vue');
|
|
|
9
9
|
require('../../../hooks/index2.js');
|
|
10
10
|
require('../../../utils/index2.js');
|
|
11
11
|
require('../../../constants/index2.js');
|
|
12
|
-
var index$
|
|
13
|
-
var index$
|
|
14
|
-
var index$
|
|
15
|
-
var index$
|
|
12
|
+
var index$6 = require('../../input/index2.js');
|
|
13
|
+
var index$4 = require('../../scrollbar/index2.js');
|
|
14
|
+
var index$3 = require('../../tooltip/index2.js');
|
|
15
|
+
var index$5 = require('../../icon/index2.js');
|
|
16
16
|
var autocomplete = require('./autocomplete3.js');
|
|
17
17
|
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
18
18
|
var index = require('../../../hooks/use-attrs/index2.js');
|
|
19
|
-
var index$1 = require('../../../hooks/use-
|
|
19
|
+
var index$1 = require('../../../hooks/use-common-props/index2.js');
|
|
20
|
+
var index$2 = require('../../../hooks/use-namespace/index2.js');
|
|
20
21
|
var rand = require('../../../utils/rand2.js');
|
|
21
22
|
var shared = require('@vue/shared');
|
|
22
23
|
var error = require('../../../utils/error2.js');
|
|
@@ -38,12 +39,13 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
38
39
|
const COMPONENT_NAME = "ElAutocomplete";
|
|
39
40
|
const attrs = index.useAttrs();
|
|
40
41
|
const rawAttrs = vue.useAttrs();
|
|
41
|
-
const
|
|
42
|
+
const disabled = index$1.useDisabled();
|
|
43
|
+
const ns = index$2.useNamespace("autocomplete");
|
|
42
44
|
const inputRef = vue.ref();
|
|
43
45
|
const regionRef = vue.ref();
|
|
44
46
|
const popperRef = vue.ref();
|
|
45
47
|
const listboxRef = vue.ref();
|
|
46
|
-
let
|
|
48
|
+
let ignoreFocusEvent = false;
|
|
47
49
|
const suggestions = vue.ref([]);
|
|
48
50
|
const highlightedIndex = vue.ref(-1);
|
|
49
51
|
const dropdownWidth = vue.ref("");
|
|
@@ -57,12 +59,25 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
57
59
|
return (isValidData || loading.value) && activated.value;
|
|
58
60
|
});
|
|
59
61
|
const suggestionLoading = vue.computed(() => !props.hideLoading && loading.value);
|
|
62
|
+
const refInput = vue.computed(() => {
|
|
63
|
+
if (inputRef.value) {
|
|
64
|
+
return Array.from(inputRef.value.$el.querySelectorAll("input"));
|
|
65
|
+
}
|
|
66
|
+
return [];
|
|
67
|
+
});
|
|
60
68
|
const onSuggestionShow = async () => {
|
|
61
69
|
await vue.nextTick();
|
|
62
70
|
if (suggestionVisible.value) {
|
|
63
71
|
dropdownWidth.value = `${inputRef.value.$el.offsetWidth}px`;
|
|
64
72
|
}
|
|
65
73
|
};
|
|
74
|
+
const onShow = () => {
|
|
75
|
+
ignoreFocusEvent = true;
|
|
76
|
+
};
|
|
77
|
+
const onHide = () => {
|
|
78
|
+
ignoreFocusEvent = false;
|
|
79
|
+
highlightedIndex.value = -1;
|
|
80
|
+
};
|
|
66
81
|
const getData = async (queryString) => {
|
|
67
82
|
if (suggestionDisabled.value)
|
|
68
83
|
return;
|
|
@@ -92,21 +107,28 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
92
107
|
emit(event.INPUT_EVENT, value);
|
|
93
108
|
emit(event.UPDATE_MODEL_EVENT, value);
|
|
94
109
|
suggestionDisabled.value = false;
|
|
95
|
-
activated.value || (activated.value =
|
|
110
|
+
activated.value || (activated.value = valuePresented);
|
|
96
111
|
if (!props.triggerOnFocus && !value) {
|
|
97
112
|
suggestionDisabled.value = true;
|
|
98
113
|
suggestions.value = [];
|
|
99
114
|
return;
|
|
100
115
|
}
|
|
101
|
-
if (isClear && valuePresented) {
|
|
102
|
-
isClear = false;
|
|
103
|
-
}
|
|
104
116
|
debouncedGetData(value);
|
|
105
117
|
};
|
|
118
|
+
const handleMouseDown = (event) => {
|
|
119
|
+
var _a;
|
|
120
|
+
if (disabled.value)
|
|
121
|
+
return;
|
|
122
|
+
if (((_a = event.target) == null ? void 0 : _a.tagName) !== "INPUT" || refInput.value.includes(document.activeElement)) {
|
|
123
|
+
activated.value = true;
|
|
124
|
+
}
|
|
125
|
+
};
|
|
106
126
|
const handleChange = (value) => {
|
|
107
127
|
emit(event.CHANGE_EVENT, value);
|
|
108
128
|
};
|
|
109
129
|
const handleFocus = (evt) => {
|
|
130
|
+
if (ignoreFocusEvent)
|
|
131
|
+
return;
|
|
110
132
|
activated.value = true;
|
|
111
133
|
emit("focus", evt);
|
|
112
134
|
if (props.triggerOnFocus) {
|
|
@@ -114,11 +136,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
114
136
|
}
|
|
115
137
|
};
|
|
116
138
|
const handleBlur = (evt) => {
|
|
139
|
+
if (ignoreFocusEvent)
|
|
140
|
+
return;
|
|
117
141
|
emit("blur", evt);
|
|
118
142
|
};
|
|
119
143
|
const handleClear = () => {
|
|
120
144
|
activated.value = false;
|
|
121
|
-
isClear = true;
|
|
122
145
|
emit(event.UPDATE_MODEL_EVENT, "");
|
|
123
146
|
emit("clear");
|
|
124
147
|
};
|
|
@@ -127,7 +150,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
127
150
|
handleSelect(suggestions.value[highlightedIndex.value]);
|
|
128
151
|
} else if (props.selectWhenUnmatched) {
|
|
129
152
|
emit("select", { value: props.modelValue });
|
|
130
|
-
await vue.nextTick();
|
|
131
153
|
suggestions.value = [];
|
|
132
154
|
highlightedIndex.value = -1;
|
|
133
155
|
}
|
|
@@ -150,7 +172,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
150
172
|
emit(event.INPUT_EVENT, item[props.valueKey]);
|
|
151
173
|
emit(event.UPDATE_MODEL_EVENT, item[props.valueKey]);
|
|
152
174
|
emit("select", item);
|
|
153
|
-
await vue.nextTick();
|
|
154
175
|
suggestions.value = [];
|
|
155
176
|
highlightedIndex.value = -1;
|
|
156
177
|
};
|
|
@@ -178,7 +199,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
178
199
|
highlightedIndex.value = index;
|
|
179
200
|
inputRef.value.ref.setAttribute("aria-activedescendant", `${listboxId.value}-item-${highlightedIndex.value}`);
|
|
180
201
|
};
|
|
181
|
-
core.onClickOutside(listboxRef,
|
|
202
|
+
core.onClickOutside(listboxRef, () => {
|
|
203
|
+
suggestionVisible.value && close();
|
|
204
|
+
});
|
|
182
205
|
vue.onMounted(() => {
|
|
183
206
|
;
|
|
184
207
|
inputRef.value.ref.setAttribute("role", "textbox");
|
|
@@ -200,7 +223,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
200
223
|
highlight
|
|
201
224
|
});
|
|
202
225
|
return (_ctx, _cache) => {
|
|
203
|
-
return vue.openBlock(), vue.createBlock(vue.unref(index$
|
|
226
|
+
return vue.openBlock(), vue.createBlock(vue.unref(index$3.ElTooltip), {
|
|
204
227
|
ref_key: "popperRef",
|
|
205
228
|
ref: popperRef,
|
|
206
229
|
visible: vue.unref(suggestionVisible),
|
|
@@ -216,7 +239,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
216
239
|
trigger: "click",
|
|
217
240
|
transition: `${vue.unref(ns).namespace.value}-zoom-in-top`,
|
|
218
241
|
persistent: "",
|
|
219
|
-
onBeforeShow: onSuggestionShow
|
|
242
|
+
onBeforeShow: onSuggestionShow,
|
|
243
|
+
onShow,
|
|
244
|
+
onHide
|
|
220
245
|
}, {
|
|
221
246
|
content: vue.withCtx(() => [
|
|
222
247
|
vue.createElementVNode("div", {
|
|
@@ -226,7 +251,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
226
251
|
style: vue.normalizeStyle({ minWidth: dropdownWidth.value, outline: "none" }),
|
|
227
252
|
role: "region"
|
|
228
253
|
}, [
|
|
229
|
-
vue.createVNode(vue.unref(index$
|
|
254
|
+
vue.createVNode(vue.unref(index$4.ElScrollbar), {
|
|
230
255
|
id: vue.unref(listboxId),
|
|
231
256
|
tag: "ul",
|
|
232
257
|
"wrap-class": vue.unref(ns).be("suggestion", "wrap"),
|
|
@@ -235,7 +260,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
235
260
|
}, {
|
|
236
261
|
default: vue.withCtx(() => [
|
|
237
262
|
vue.unref(suggestionLoading) ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_2, [
|
|
238
|
-
vue.createVNode(vue.unref(index$
|
|
263
|
+
vue.createVNode(vue.unref(index$5.ElIcon), {
|
|
239
264
|
class: vue.normalizeClass(vue.unref(ns).is("loading"))
|
|
240
265
|
}, {
|
|
241
266
|
default: vue.withCtx(() => [
|
|
@@ -273,7 +298,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
273
298
|
"aria-expanded": vue.unref(suggestionVisible),
|
|
274
299
|
"aria-owns": vue.unref(listboxId)
|
|
275
300
|
}, [
|
|
276
|
-
vue.createVNode(vue.unref(index$
|
|
301
|
+
vue.createVNode(vue.unref(index$6.ElInput), vue.mergeProps({
|
|
277
302
|
ref_key: "inputRef",
|
|
278
303
|
ref: inputRef
|
|
279
304
|
}, vue.unref(attrs), {
|
|
@@ -289,7 +314,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
289
314
|
vue.withKeys(handleKeyEnter, ["enter"]),
|
|
290
315
|
vue.withKeys(close, ["tab"]),
|
|
291
316
|
vue.withKeys(handleKeyEscape, ["esc"])
|
|
292
|
-
]
|
|
317
|
+
],
|
|
318
|
+
onMousedown: handleMouseDown
|
|
293
319
|
}), vue.createSlots({ _: 2 }, [
|
|
294
320
|
_ctx.$slots.prepend ? {
|
|
295
321
|
name: "prepend",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete4.js","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :teleported=\"teleported\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @before-show=\"onSuggestionShow\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n @keydown.esc=\"handleKeyEscape\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon :class=\"ns.is('loading')\"><Loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useAttrs, useNamespace } from '@element-plus/hooks'\nimport { generateId, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { autocompleteEmits, autocompleteProps } from './autocomplete'\nimport type { AutocompleteData } from './autocomplete'\n\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\ndefineOptions({\n name: 'ElAutocomplete',\n inheritAttrs: false,\n})\n\nconst COMPONENT_NAME = 'ElAutocomplete'\n\nconst props = defineProps(autocompleteProps)\nconst emit = defineEmits(autocompleteEmits)\n\nconst attrs = useAttrs()\nconst rawAttrs = useRawAttrs()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet isClear = false\nconst suggestions = ref<AutocompleteData>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = computed(() => ns.b(String(generateId())))\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst onSuggestionShow = async () => {\n await nextTick()\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\nconst debouncedGetData = debounce(getData, props.debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= isClear && valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n if (isClear && valuePresented) {\n isClear = false\n }\n debouncedGetData(value)\n}\n\nconst handleChange = (value: string) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n activated.value = true\n emit('focus', evt)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n emit('blur', evt)\n}\n\nconst handleClear = () => {\n activated.value = false\n isClear = true\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n await nextTick()\n suggestions.value = []\n highlightedIndex.value = -1\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst handleSelect = async (item: any) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n await nextTick()\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\n\nonClickOutside(listboxRef, close)\n\nonMounted(() => {\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute('role', 'textbox')\n ;(inputRef.value as any).ref!.setAttribute('aria-autocomplete', 'list')\n ;(inputRef.value as any).ref!.setAttribute('aria-controls', 'id')\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n})\n</script>\n"],"names":["useAttrs","useRawAttrs","useNamespace","ref","computed","generateId","nextTick","isArray","throwError","debounce","INPUT_EVENT","UPDATE_MODEL_EVENT","CHANGE_EVENT","onClickOutside","onMounted"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autocomplete4.js","sources":["../../../../../../packages/components/autocomplete/src/autocomplete.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"popperRef\"\n v-model:visible=\"suggestionVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['bottom-start', 'top-start']\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :teleported=\"teleported\"\n :gpu-acceleration=\"false\"\n pure\n manual-mode\n effect=\"light\"\n trigger=\"click\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n persistent\n @before-show=\"onSuggestionShow\"\n @show=\"onShow\"\n @hide=\"onHide\"\n >\n <div\n ref=\"listboxRef\"\n :class=\"[ns.b(), $attrs.class]\"\n :style=\"styles\"\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"suggestionVisible\"\n :aria-owns=\"listboxId\"\n >\n <el-input\n ref=\"inputRef\"\n v-bind=\"attrs\"\n :model-value=\"modelValue\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @clear=\"handleClear\"\n @keydown.up.prevent=\"highlight(highlightedIndex - 1)\"\n @keydown.down.prevent=\"highlight(highlightedIndex + 1)\"\n @keydown.enter=\"handleKeyEnter\"\n @keydown.tab=\"close\"\n @keydown.esc=\"handleKeyEscape\"\n @mousedown=\"handleMouseDown\"\n >\n <template v-if=\"$slots.prepend\" #prepend>\n <slot name=\"prepend\" />\n </template>\n <template v-if=\"$slots.append\" #append>\n <slot name=\"append\" />\n </template>\n <template v-if=\"$slots.prefix\" #prefix>\n <slot name=\"prefix\" />\n </template>\n <template v-if=\"$slots.suffix\" #suffix>\n <slot name=\"suffix\" />\n </template>\n </el-input>\n </div>\n <template #content>\n <div\n ref=\"regionRef\"\n :class=\"[ns.b('suggestion'), ns.is('loading', suggestionLoading)]\"\n :style=\"{ minWidth: dropdownWidth, outline: 'none' }\"\n role=\"region\"\n >\n <el-scrollbar\n :id=\"listboxId\"\n tag=\"ul\"\n :wrap-class=\"ns.be('suggestion', 'wrap')\"\n :view-class=\"ns.be('suggestion', 'list')\"\n role=\"listbox\"\n >\n <li v-if=\"suggestionLoading\">\n <el-icon :class=\"ns.is('loading')\"><Loading /></el-icon>\n </li>\n <template v-else>\n <li\n v-for=\"(item, index) in suggestions\"\n :id=\"`${listboxId}-item-${index}`\"\n :key=\"index\"\n :class=\"{ highlighted: highlightedIndex === index }\"\n role=\"option\"\n :aria-selected=\"highlightedIndex === index\"\n @click=\"handleSelect(item)\"\n >\n <slot :item=\"item\">{{ item[valueKey] }}</slot>\n </li>\n </template>\n </el-scrollbar>\n </div>\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n useAttrs as useRawAttrs,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { onClickOutside } from '@vueuse/core'\nimport { Loading } from '@element-plus/icons-vue'\nimport { useAttrs, useDisabled, useNamespace } from '@element-plus/hooks'\nimport { generateId, isArray, throwError } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport ElInput from '@element-plus/components/input'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElIcon from '@element-plus/components/icon'\nimport { autocompleteEmits, autocompleteProps } from './autocomplete'\nimport type { AutocompleteData } from './autocomplete'\n\nimport type { StyleValue } from 'vue'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { InputInstance } from '@element-plus/components/input'\n\ndefineOptions({\n name: 'ElAutocomplete',\n inheritAttrs: false,\n})\n\nconst COMPONENT_NAME = 'ElAutocomplete'\n\nconst props = defineProps(autocompleteProps)\nconst emit = defineEmits(autocompleteEmits)\n\nconst attrs = useAttrs()\nconst rawAttrs = useRawAttrs()\nconst disabled = useDisabled()\nconst ns = useNamespace('autocomplete')\n\nconst inputRef = ref<InputInstance>()\nconst regionRef = ref<HTMLElement>()\nconst popperRef = ref<TooltipInstance>()\nconst listboxRef = ref<HTMLElement>()\n\nlet ignoreFocusEvent = false\nconst suggestions = ref<AutocompleteData>([])\nconst highlightedIndex = ref(-1)\nconst dropdownWidth = ref('')\nconst activated = ref(false)\nconst suggestionDisabled = ref(false)\nconst loading = ref(false)\n\nconst listboxId = computed(() => ns.b(String(generateId())))\nconst styles = computed(() => rawAttrs.style as StyleValue)\n\nconst suggestionVisible = computed(() => {\n const isValidData = suggestions.value.length > 0\n return (isValidData || loading.value) && activated.value\n})\n\nconst suggestionLoading = computed(() => !props.hideLoading && loading.value)\n\nconst refInput = computed<HTMLInputElement[]>(() => {\n if (inputRef.value) {\n return Array.from<HTMLInputElement>(\n inputRef.value.$el.querySelectorAll('input')\n )\n }\n return []\n})\n\nconst onSuggestionShow = async () => {\n await nextTick()\n if (suggestionVisible.value) {\n dropdownWidth.value = `${inputRef.value!.$el.offsetWidth}px`\n }\n}\n\nconst onShow = () => {\n ignoreFocusEvent = true\n}\n\nconst onHide = () => {\n ignoreFocusEvent = false\n highlightedIndex.value = -1\n}\n\nconst getData = async (queryString: string) => {\n if (suggestionDisabled.value) return\n\n const cb = (suggestionList: AutocompleteData) => {\n loading.value = false\n if (suggestionDisabled.value) return\n\n if (isArray(suggestionList)) {\n suggestions.value = suggestionList\n highlightedIndex.value = props.highlightFirstItem ? 0 : -1\n } else {\n throwError(COMPONENT_NAME, 'autocomplete suggestions must be an array')\n }\n }\n\n loading.value = true\n if (isArray(props.fetchSuggestions)) {\n cb(props.fetchSuggestions)\n } else {\n const result = await props.fetchSuggestions(queryString, cb)\n if (isArray(result)) cb(result)\n }\n}\nconst debouncedGetData = debounce(getData, props.debounce)\n\nconst handleInput = (value: string) => {\n const valuePresented = !!value\n\n emit(INPUT_EVENT, value)\n emit(UPDATE_MODEL_EVENT, value)\n\n suggestionDisabled.value = false\n activated.value ||= valuePresented\n\n if (!props.triggerOnFocus && !value) {\n suggestionDisabled.value = true\n suggestions.value = []\n return\n }\n\n debouncedGetData(value)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n if (disabled.value) return\n if (\n (event.target as HTMLElement)?.tagName !== 'INPUT' ||\n refInput.value.includes(document.activeElement as HTMLInputElement)\n ) {\n activated.value = true\n }\n}\n\nconst handleChange = (value: string) => {\n emit(CHANGE_EVENT, value)\n}\n\nconst handleFocus = (evt: FocusEvent) => {\n if (ignoreFocusEvent) return\n\n activated.value = true\n emit('focus', evt)\n if (props.triggerOnFocus) {\n debouncedGetData(String(props.modelValue))\n }\n}\n\nconst handleBlur = (evt: FocusEvent) => {\n if (ignoreFocusEvent) return\n emit('blur', evt)\n}\n\nconst handleClear = () => {\n activated.value = false\n emit(UPDATE_MODEL_EVENT, '')\n emit('clear')\n}\n\nconst handleKeyEnter = async () => {\n if (\n suggestionVisible.value &&\n highlightedIndex.value >= 0 &&\n highlightedIndex.value < suggestions.value.length\n ) {\n handleSelect(suggestions.value[highlightedIndex.value])\n } else if (props.selectWhenUnmatched) {\n emit('select', { value: props.modelValue })\n suggestions.value = []\n highlightedIndex.value = -1\n }\n}\n\nconst handleKeyEscape = (evt: Event) => {\n if (suggestionVisible.value) {\n evt.preventDefault()\n evt.stopPropagation()\n close()\n }\n}\n\nconst close = () => {\n activated.value = false\n}\n\nconst focus = () => {\n inputRef.value?.focus()\n}\n\nconst handleSelect = async (item: any) => {\n emit(INPUT_EVENT, item[props.valueKey])\n emit(UPDATE_MODEL_EVENT, item[props.valueKey])\n emit('select', item)\n suggestions.value = []\n highlightedIndex.value = -1\n}\n\nconst highlight = (index: number) => {\n if (!suggestionVisible.value || loading.value) return\n\n if (index < 0) {\n highlightedIndex.value = -1\n return\n }\n\n if (index >= suggestions.value.length) {\n index = suggestions.value.length - 1\n }\n const suggestion = regionRef.value!.querySelector(\n `.${ns.be('suggestion', 'wrap')}`\n )!\n const suggestionList = suggestion.querySelectorAll<HTMLElement>(\n `.${ns.be('suggestion', 'list')} li`\n )!\n const highlightItem = suggestionList[index]\n const scrollTop = suggestion.scrollTop\n const { offsetTop, scrollHeight } = highlightItem\n\n if (offsetTop + scrollHeight > scrollTop + suggestion.clientHeight) {\n suggestion.scrollTop += scrollHeight\n }\n if (offsetTop < scrollTop) {\n suggestion.scrollTop -= scrollHeight\n }\n highlightedIndex.value = index\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n}\n\nonClickOutside(listboxRef, () => {\n suggestionVisible.value && close()\n})\n\nonMounted(() => {\n // TODO: use Volar generate dts to fix it.\n ;(inputRef.value as any).ref!.setAttribute('role', 'textbox')\n ;(inputRef.value as any).ref!.setAttribute('aria-autocomplete', 'list')\n ;(inputRef.value as any).ref!.setAttribute('aria-controls', 'id')\n ;(inputRef.value as any).ref!.setAttribute(\n 'aria-activedescendant',\n `${listboxId.value}-item-${highlightedIndex.value}`\n )\n})\n\ndefineExpose({\n /** @description the index of the currently highlighted item */\n highlightedIndex,\n /** @description autocomplete whether activated */\n activated,\n /** @description remote search loading status */\n loading,\n /** @description el-input component instance */\n inputRef,\n /** @description el-tooltip component instance */\n popperRef,\n /** @description fetch suggestions result */\n suggestions,\n /** @description triggers when a suggestion is clicked */\n handleSelect,\n /** @description handle keyboard enter event */\n handleKeyEnter,\n /** @description focus the input element */\n focus,\n /** @description close suggestion */\n close,\n /** @description highlight an item in a suggestion */\n highlight,\n})\n</script>\n"],"names":["useAttrs","useRawAttrs","useDisabled","useNamespace","ref","computed","generateId","nextTick","isArray","throwError","debounce","INPUT_EVENT","UPDATE_MODEL_EVENT","CHANGE_EVENT","onClickOutside","onMounted"],"mappings":"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"}
|
package/lib/components/index.js
CHANGED
|
@@ -160,7 +160,7 @@ var index$_ = require('./transfer/index2.js');
|
|
|
160
160
|
var index$$ = require('./tree/index2.js');
|
|
161
161
|
var index$10 = require('./tree-select/index2.js');
|
|
162
162
|
var index$11 = require('./tree-v2/index2.js');
|
|
163
|
-
var upload = require('./upload/src/
|
|
163
|
+
var upload = require('./upload/src/upload4.js');
|
|
164
164
|
var uploadContent = require('./upload/src/upload-content3.js');
|
|
165
165
|
var uploadList = require('./upload/src/upload-list3.js');
|
|
166
166
|
var uploadDragger = require('./upload/src/upload-dragger3.js');
|
|
@@ -472,6 +472,7 @@ exports.ElLoading = index$14.ElLoading;
|
|
|
472
472
|
exports.ElLoadingDirective = directive.vLoading;
|
|
473
473
|
exports.vLoading = directive.vLoading;
|
|
474
474
|
exports.ElLoadingService = service.Loading;
|
|
475
|
+
exports.messageDefaults = message.messageDefaults;
|
|
475
476
|
exports.messageEmits = message.messageEmits;
|
|
476
477
|
exports.messageProps = message.messageProps;
|
|
477
478
|
exports.messageTypes = message.messageTypes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -9,6 +9,7 @@ var message = require('./src/message3.js');
|
|
|
9
9
|
|
|
10
10
|
exports.ElMessage = index.ElMessage;
|
|
11
11
|
exports["default"] = index.ElMessage;
|
|
12
|
+
exports.messageDefaults = message.messageDefaults;
|
|
12
13
|
exports.messageEmits = message.messageEmits;
|
|
13
14
|
exports.messageProps = message.messageProps;
|
|
14
15
|
exports.messageTypes = message.messageTypes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
|
|
@@ -9,6 +9,7 @@ var install = require('../../utils/vue/install2.js');
|
|
|
9
9
|
|
|
10
10
|
const ElMessage = install.withInstallFunction(messageMethod["default"], "$message");
|
|
11
11
|
|
|
12
|
+
exports.messageDefaults = message.messageDefaults;
|
|
12
13
|
exports.messageEmits = message.messageEmits;
|
|
13
14
|
exports.messageProps = message.messageProps;
|
|
14
15
|
exports.messageTypes = message.messageTypes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index2.js","sources":["../../../../../packages/components/message/index.ts"],"sourcesContent":["import { withInstallFunction } from '@element-plus/utils'\n\nimport Message from './src/message-method'\n\nexport const ElMessage = withInstallFunction(Message, '$message')\nexport default ElMessage\n\nexport * from './src/message'\n"],"names":["withInstallFunction","Message"],"mappings":";;;;;;;;;AAEY,MAAC,SAAS,GAAGA,2BAAmB,CAACC,wBAAO,EAAE,UAAU
|
|
1
|
+
{"version":3,"file":"index2.js","sources":["../../../../../packages/components/message/index.ts"],"sourcesContent":["import { withInstallFunction } from '@element-plus/utils'\n\nimport Message from './src/message-method'\n\nexport const ElMessage = withInstallFunction(Message, '$message')\nexport default ElMessage\n\nexport * from './src/message'\n"],"names":["withInstallFunction","Message"],"mappings":";;;;;;;;;AAEY,MAAC,SAAS,GAAGA,2BAAmB,CAACC,wBAAO,EAAE,UAAU;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-method.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-method.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
|
@@ -7,122 +7,126 @@ var core = require('@vueuse/core');
|
|
|
7
7
|
require('../../../utils/index2.js');
|
|
8
8
|
require('../../../hooks/index2.js');
|
|
9
9
|
var configProvider = require('../../config-provider/src/config-provider2.js');
|
|
10
|
-
var message$
|
|
11
|
-
var message$
|
|
10
|
+
var message$2 = require('./message4.js');
|
|
11
|
+
var message$1 = require('./message3.js');
|
|
12
12
|
var shared = require('@vue/shared');
|
|
13
|
-
var index = require('../../../hooks/use-z-index/index2.js');
|
|
14
13
|
var types = require('../../../utils/types2.js');
|
|
15
14
|
var error = require('../../../utils/error2.js');
|
|
15
|
+
var index = require('../../../hooks/use-z-index/index2.js');
|
|
16
16
|
|
|
17
17
|
const instances = [];
|
|
18
18
|
let seed = 1;
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
if (
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
if (tempVm) {
|
|
31
|
-
tempVm.vm.component.props.repeatNum += 1;
|
|
32
|
-
tempVm.vm.component.props.type = (options == null ? void 0 : options.type) || "info";
|
|
33
|
-
return {
|
|
34
|
-
close: () => vm.component.proxy.visible = false
|
|
35
|
-
};
|
|
19
|
+
const normalizeOptions = (params) => {
|
|
20
|
+
const options = !params || shared.isString(params) || vue.isVNode(params) || shared.isFunction(params) ? { message: params } : params;
|
|
21
|
+
const normalized = {
|
|
22
|
+
...message$1.messageDefaults,
|
|
23
|
+
...options
|
|
24
|
+
};
|
|
25
|
+
if (shared.isString(normalized.appendTo)) {
|
|
26
|
+
let appendTo = document.querySelector(normalized.appendTo);
|
|
27
|
+
if (!types.isElement(appendTo)) {
|
|
28
|
+
error.debugWarn("ElMessage", "the appendTo option is not an HTMLElement. Falling back to document.body.");
|
|
29
|
+
appendTo = document.body;
|
|
36
30
|
}
|
|
31
|
+
normalized.appendTo = appendTo;
|
|
37
32
|
}
|
|
38
|
-
|
|
39
|
-
|
|
33
|
+
return normalized;
|
|
34
|
+
};
|
|
35
|
+
const closeMessage = (instance) => {
|
|
36
|
+
const idx = instances.indexOf(instance);
|
|
37
|
+
if (idx === -1)
|
|
38
|
+
return;
|
|
39
|
+
instances.splice(idx, 1);
|
|
40
|
+
const { vnode, handler } = instance;
|
|
41
|
+
handler.close();
|
|
42
|
+
const removedHeight = vnode.el.offsetHeight;
|
|
43
|
+
const len = instances.length;
|
|
44
|
+
if (len < 1)
|
|
45
|
+
return;
|
|
46
|
+
for (let i = idx; i < len; i++) {
|
|
47
|
+
const pos = Number.parseInt(instances[i].vnode.el.style["top"], 10) - removedHeight - 16;
|
|
48
|
+
instances[i].vnode.component.props.offset = pos;
|
|
40
49
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
verticalOffset += (((_a = vm2.el) == null ? void 0 : _a.offsetHeight) || 0) + 16;
|
|
45
|
-
});
|
|
46
|
-
verticalOffset += 16;
|
|
50
|
+
};
|
|
51
|
+
const createMessage = ({ appendTo, ...options }, context) => {
|
|
52
|
+
var _a;
|
|
47
53
|
const { nextZIndex } = index.useZIndex();
|
|
48
54
|
const id = `message_${seed++}`;
|
|
49
55
|
const userOnClose = options.onClose;
|
|
56
|
+
let verticalOffset = options.offset;
|
|
57
|
+
instances.forEach(({ vnode: vm2 }) => {
|
|
58
|
+
var _a2;
|
|
59
|
+
verticalOffset += (((_a2 = vm2.el) == null ? void 0 : _a2.offsetHeight) || 0) + 16;
|
|
60
|
+
});
|
|
61
|
+
verticalOffset += 16;
|
|
62
|
+
const container = document.createElement("div");
|
|
50
63
|
const props = {
|
|
51
|
-
zIndex: nextZIndex(),
|
|
52
64
|
...options,
|
|
65
|
+
zIndex: (_a = options.zIndex) != null ? _a : nextZIndex(),
|
|
53
66
|
offset: verticalOffset,
|
|
54
67
|
id,
|
|
55
68
|
onClose: () => {
|
|
56
|
-
|
|
69
|
+
userOnClose == null ? void 0 : userOnClose();
|
|
70
|
+
closeMessage(instance);
|
|
71
|
+
},
|
|
72
|
+
onDestroy: () => {
|
|
73
|
+
vue.render(null, container);
|
|
57
74
|
}
|
|
58
75
|
};
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
} else if (shared.isString(options.appendTo)) {
|
|
63
|
-
appendTo = document.querySelector(options.appendTo);
|
|
64
|
-
}
|
|
65
|
-
if (!types.isElement(appendTo)) {
|
|
66
|
-
error.debugWarn("ElMessage", "the appendTo option is not an HTMLElement. Falling back to document.body.");
|
|
67
|
-
appendTo = document.body;
|
|
68
|
-
}
|
|
69
|
-
const container = document.createElement("div");
|
|
70
|
-
container.className = `container_${id}`;
|
|
71
|
-
const messageContent = props.message;
|
|
72
|
-
const vm = vue.createVNode(message$1["default"], props, shared.isFunction(messageContent) ? { default: messageContent } : vue.isVNode(messageContent) ? { default: () => messageContent } : null);
|
|
73
|
-
vm.appContext = context || message._context;
|
|
74
|
-
vm.props.onDestroy = () => {
|
|
75
|
-
vue.render(null, container);
|
|
76
|
-
};
|
|
77
|
-
vue.render(vm, container);
|
|
78
|
-
instances.push({ vm });
|
|
76
|
+
const vnode = vue.createVNode(message$2["default"], props, shared.isFunction(props.message) || vue.isVNode(props.message) ? { default: props.message } : null);
|
|
77
|
+
vnode.appContext = context || message._context;
|
|
78
|
+
vue.render(vnode, container);
|
|
79
79
|
appendTo.appendChild(container.firstElementChild);
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
const vm = vnode.component.proxy;
|
|
81
|
+
const handler = {
|
|
82
|
+
close: () => {
|
|
83
|
+
vm.visible = false;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
const instance = {
|
|
87
|
+
vnode,
|
|
88
|
+
vm,
|
|
89
|
+
handler
|
|
82
90
|
};
|
|
91
|
+
return instance;
|
|
83
92
|
};
|
|
84
|
-
message
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
93
|
+
const message = (options = {}, context) => {
|
|
94
|
+
if (!core.isClient)
|
|
95
|
+
return { close: () => void 0 };
|
|
96
|
+
if (core.isNumber(configProvider.messageConfig.max) && instances.length >= configProvider.messageConfig.max) {
|
|
97
|
+
return { close: () => void 0 };
|
|
98
|
+
}
|
|
99
|
+
const normalized = normalizeOptions(options);
|
|
100
|
+
if (normalized.grouping && instances.length) {
|
|
101
|
+
const instance2 = instances.find(({ vnode: vm }) => {
|
|
102
|
+
var _a;
|
|
103
|
+
return ((_a = vm.props) == null ? void 0 : _a.message) === normalized.message;
|
|
104
|
+
});
|
|
105
|
+
if (instance2) {
|
|
106
|
+
;
|
|
107
|
+
instance2.vnode.component.props.repeatNum += 1;
|
|
108
|
+
instance2.vnode.component.props.type = normalized.type;
|
|
109
|
+
return instance2.handler;
|
|
90
110
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
111
|
+
}
|
|
112
|
+
const instance = createMessage(normalized, context);
|
|
113
|
+
instances.push(instance);
|
|
114
|
+
return instance.handler;
|
|
115
|
+
};
|
|
116
|
+
message$1.messageTypes.forEach((type) => {
|
|
117
|
+
message[type] = (options = {}, appContext) => {
|
|
118
|
+
const normalized = normalizeOptions(options);
|
|
119
|
+
return message({ ...normalized, type }, appContext);
|
|
95
120
|
};
|
|
96
121
|
});
|
|
97
|
-
function close(id, userOnClose) {
|
|
98
|
-
const idx = instances.findIndex(({ vm: vm2 }) => id === vm2.component.props.id);
|
|
99
|
-
if (idx === -1)
|
|
100
|
-
return;
|
|
101
|
-
const { vm } = instances[idx];
|
|
102
|
-
if (!vm)
|
|
103
|
-
return;
|
|
104
|
-
userOnClose == null ? void 0 : userOnClose(vm);
|
|
105
|
-
const removedHeight = vm.el.offsetHeight;
|
|
106
|
-
instances.splice(idx, 1);
|
|
107
|
-
const len = instances.length;
|
|
108
|
-
if (len < 1)
|
|
109
|
-
return;
|
|
110
|
-
for (let i = idx; i < len; i++) {
|
|
111
|
-
const pos = Number.parseInt(instances[i].vm.el.style["top"], 10) - removedHeight - 16;
|
|
112
|
-
instances[i].vm.component.props.offset = pos;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
122
|
function closeAll() {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
const instance = instances[i].vm.component;
|
|
119
|
-
(_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.close();
|
|
123
|
+
for (const instance of instances) {
|
|
124
|
+
instance.handler.close();
|
|
120
125
|
}
|
|
121
126
|
}
|
|
122
127
|
message.closeAll = closeAll;
|
|
123
128
|
message._context = null;
|
|
124
129
|
|
|
125
|
-
exports.close = close;
|
|
126
130
|
exports.closeAll = closeAll;
|
|
127
131
|
exports["default"] = message;
|
|
128
132
|
//# sourceMappingURL=message-method2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-method2.js","sources":["../../../../../../packages/components/message/src/message-method.ts"],"sourcesContent":["import { createVNode, render } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport {\n debugWarn,\n isElement,\n isFunction,\n isNumber,\n isObject,\n isString,\n isVNode,\n} from '@element-plus/utils'\nimport { useZIndex } from '@element-plus/hooks'\nimport { messageConfig } from '@element-plus/components/config-provider/src/config-provider'\nimport MessageConstructor from './message.vue'\nimport { messageTypes } from './message'\n\nimport type { AppContext, ComponentPublicInstance, VNode } from 'vue'\nimport type { Message, MessageFn, MessageProps, MessageQueue } from './message'\n\nconst instances: MessageQueue = []\nlet seed = 1\n\n// TODO: Since Notify.ts is basically the same like this file. So we could do some encapsulation against them to reduce code duplication.\n\nconst message: MessageFn & Partial<Message> & { _context: AppContext | null } =\n function (options = {}, context?: AppContext | null) {\n if (!isClient) return { close: () => undefined }\n if (isNumber(messageConfig.max) && instances.length >= messageConfig.max) {\n return { close: () => undefined }\n }\n\n if (\n !isVNode(options) &&\n isObject(options) &&\n options.grouping &&\n !isVNode(options.message) &&\n instances.length\n ) {\n const tempVm: any = instances.find(\n (item) =>\n `${item.vm.props?.message ?? ''}` ===\n `${(options as any).message ?? ''}`\n )\n if (tempVm) {\n tempVm.vm.component!.props.repeatNum += 1\n tempVm.vm.component!.props.type = options?.type || 'info'\n return {\n close: () =>\n ((\n vm.component!.proxy as ComponentPublicInstance<{\n visible: boolean\n }>\n ).visible = false),\n }\n }\n }\n\n if (isString(options) || isVNode(options)) {\n options = { message: options }\n }\n\n let verticalOffset = options.offset || 20\n instances.forEach(({ vm }) => {\n verticalOffset += (vm.el?.offsetHeight || 0) + 16\n })\n verticalOffset += 16\n\n const { nextZIndex } = useZIndex()\n\n const id = `message_${seed++}`\n const userOnClose = options.onClose\n const props: Partial<MessageProps> = {\n zIndex: nextZIndex(),\n ...options,\n offset: verticalOffset,\n id,\n onClose: () => {\n close(id, userOnClose)\n },\n }\n\n let appendTo: HTMLElement | null = document.body\n if (isElement(options.appendTo)) {\n appendTo = options.appendTo\n } else if (isString(options.appendTo)) {\n appendTo = document.querySelector(options.appendTo)\n }\n // should fallback to default value with a warning\n if (!isElement(appendTo)) {\n debugWarn(\n 'ElMessage',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n const container = document.createElement('div')\n\n container.className = `container_${id}`\n\n const messageContent = props.message\n const vm = createVNode(\n MessageConstructor,\n props,\n isFunction(messageContent)\n ? { default: messageContent }\n : isVNode(messageContent)\n ? { default: () => messageContent }\n : null\n )\n\n vm.appContext = context || message._context\n\n // clean message element preventing mem leak\n vm.props!.onDestroy = () => {\n render(null, container)\n // since the element is destroy, then the VNode should be collected by GC as well\n // we do not want cause any mem leak because we have returned vm as a reference to users\n // so that we manually set it to false.\n }\n\n render(vm, container)\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n instances.push({ vm })\n appendTo.appendChild(container.firstElementChild!)\n\n return {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () =>\n ((\n vm.component!.proxy as ComponentPublicInstance<{ visible: boolean }>\n ).visible = false),\n }\n }\n\nmessageTypes.forEach((type) => {\n message[type] = (options = {}, appContext?: AppContext | null) => {\n if (isString(options) || isVNode(options)) {\n options = {\n message: options,\n }\n }\n return message(\n {\n ...options,\n type,\n },\n appContext\n )\n }\n})\n\nexport function close(id: string, userOnClose?: (vm: VNode) => void): void {\n const idx = instances.findIndex(({ vm }) => id === vm.component!.props.id)\n if (idx === -1) return\n\n const { vm } = instances[idx]\n if (!vm) return\n userOnClose?.(vm)\n\n const removedHeight = vm.el!.offsetHeight\n instances.splice(idx, 1)\n\n // adjust other instances vertical offset\n const len = instances.length\n if (len < 1) return\n for (let i = idx; i < len; i++) {\n const pos =\n Number.parseInt(instances[i].vm.el!.style['top'], 10) - removedHeight - 16\n\n instances[i].vm.component!.props.offset = pos\n }\n}\n\nexport function closeAll(): void {\n for (let i = instances.length - 1; i >= 0; i--) {\n const instance = instances[i].vm.component\n ;(instance?.proxy as any)?.close()\n }\n}\n\nmessage.closeAll = closeAll\nmessage._context = null\n\nexport default message as Message\n"],"names":["isClient","isNumber","messageConfig","isVNode","isObject","isString","useZIndex","isElement","debugWarn","createVNode","MessageConstructor","isFunction","render","messageTypes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"message-method2.js","sources":["../../../../../../packages/components/message/src/message-method.ts"],"sourcesContent":["import { createVNode, render } from 'vue'\nimport { isClient } from '@vueuse/core'\nimport {\n debugWarn,\n isElement,\n isFunction,\n isNumber,\n isString,\n isVNode,\n} from '@element-plus/utils'\nimport { useZIndex } from '@element-plus/hooks'\nimport { messageConfig } from '@element-plus/components/config-provider/src/config-provider'\nimport MessageConstructor from './message.vue'\nimport { messageDefaults, messageTypes } from './message'\n\nimport type { AppContext } from 'vue'\nimport type {\n Message,\n MessageFn,\n MessageHandler,\n MessageInstance,\n MessageOptions,\n MessageParams,\n MessageParamsNormalized,\n MessageQueue,\n MessageQueueItem,\n} from './message'\n\nconst instances: MessageQueue = []\nlet seed = 1\n\n// TODO: Since Notify.ts is basically the same like this file. So we could do some encapsulation against them to reduce code duplication.\n\nconst normalizeOptions = (params?: MessageParams) => {\n const options: MessageOptions =\n !params || isString(params) || isVNode(params) || isFunction(params)\n ? { message: params }\n : params\n\n const normalized = {\n ...messageDefaults,\n ...options,\n }\n\n if (isString(normalized.appendTo)) {\n let appendTo = document.querySelector<HTMLElement>(normalized.appendTo)\n\n // should fallback to default value with a warning\n if (!isElement(appendTo)) {\n debugWarn(\n 'ElMessage',\n 'the appendTo option is not an HTMLElement. Falling back to document.body.'\n )\n appendTo = document.body\n }\n\n normalized.appendTo = appendTo\n }\n\n return normalized as MessageParamsNormalized\n}\n\nconst closeMessage = (instance: MessageQueueItem) => {\n const idx = instances.indexOf(instance)\n if (idx === -1) return\n\n instances.splice(idx, 1)\n const { vnode, handler } = instance\n handler.close()\n\n const removedHeight = vnode.el!.offsetHeight\n // adjust other instances vertical offset\n const len = instances.length\n if (len < 1) return\n for (let i = idx; i < len; i++) {\n const pos =\n Number.parseInt(instances[i].vnode.el!.style['top'], 10) -\n removedHeight -\n 16\n\n instances[i].vnode.component!.props.offset = pos\n }\n}\n\nconst createMessage = (\n { appendTo, ...options }: MessageParamsNormalized,\n context?: AppContext | null\n): MessageQueueItem => {\n const { nextZIndex } = useZIndex()\n\n const id = `message_${seed++}`\n const userOnClose = options.onClose\n\n let verticalOffset = options.offset\n instances.forEach(({ vnode: vm }) => {\n verticalOffset += (vm.el?.offsetHeight || 0) + 16\n })\n verticalOffset += 16\n\n const container = document.createElement('div')\n\n const props = {\n ...options,\n zIndex: options.zIndex ?? nextZIndex(),\n offset: verticalOffset,\n id,\n onClose: () => {\n userOnClose?.()\n closeMessage(instance)\n },\n\n // clean message element preventing mem leak\n onDestroy: () => {\n // since the element is destroy, then the VNode should be collected by GC as well\n // we do not want cause any mem leak because we have returned vm as a reference to users\n // so that we manually set it to false.\n render(null, container)\n },\n }\n const vnode = createVNode(\n MessageConstructor,\n props,\n isFunction(props.message) || isVNode(props.message)\n ? { default: props.message }\n : null\n )\n vnode.appContext = context || message._context\n\n render(vnode, container)\n // instances will remove this item when close function gets called. So we do not need to worry about it.\n appendTo.appendChild(container.firstElementChild!)\n\n const vm = vnode.component!.proxy as MessageInstance\n const handler: MessageHandler = {\n // instead of calling the onClose function directly, setting this value so that we can have the full lifecycle\n // for out component, so that all closing steps will not be skipped.\n close: () => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore `visible` from defineExpose\n vm.visible = false\n },\n }\n\n const instance = {\n vnode,\n vm,\n handler,\n }\n\n return instance\n}\n\nconst message: MessageFn &\n Partial<Message> & { _context: AppContext | null } = (\n options = {},\n context\n) => {\n if (!isClient) return { close: () => undefined }\n\n if (isNumber(messageConfig.max) && instances.length >= messageConfig.max) {\n return { close: () => undefined }\n }\n\n const normalized = normalizeOptions(options)\n\n if (normalized.grouping && instances.length) {\n const instance = instances.find(\n ({ vnode: vm }) => vm.props?.message === normalized.message\n )\n if (instance) {\n ;(instance.vnode.component as any).props.repeatNum += 1\n ;(instance.vnode.component as any).props.type = normalized.type\n return instance.handler\n }\n }\n\n const instance = createMessage(normalized, context)\n\n instances.push(instance)\n return instance.handler\n}\n\nmessageTypes.forEach((type) => {\n message[type] = (options = {}, appContext) => {\n const normalized = normalizeOptions(options)\n return message({ ...normalized, type }, appContext)\n }\n})\n\nexport function closeAll(): void {\n for (const instance of instances) {\n instance.handler.close()\n }\n}\n\nmessage.closeAll = closeAll\nmessage._context = null\n\nexport default message as Message\n"],"names":["isString","isVNode","isFunction","messageDefaults","isElement","debugWarn","useZIndex","render","createVNode","MessageConstructor","isClient","isNumber","messageConfig","messageTypes"],"mappings":"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"}
|