@element-plus/nightly 0.0.20240321 → 0.0.20240322
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 +14 -10
- package/dist/index.full.min.js +14 -14
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +14 -14
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +14 -11
- 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-eg.js +1 -1
- package/dist/locale/ar-eg.min.js +1 -1
- package/dist/locale/ar-eg.min.mjs +1 -1
- package/dist/locale/ar-eg.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/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.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/sw.js +1 -1
- package/dist/locale/sw.min.js +1 -1
- package/dist/locale/sw.min.mjs +1 -1
- package/dist/locale/sw.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/affix/index.mjs +2 -2
- package/es/components/affix/src/affix.mjs +117 -26
- package/es/components/affix/src/affix.mjs.map +1 -1
- package/es/components/affix/src/affix2.mjs +26 -117
- package/es/components/affix/src/affix2.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.mjs +1 -5
- package/es/components/cascader-panel/src/index.mjs.map +1 -1
- package/es/components/index.mjs +1 -1
- package/es/hooks/index.mjs +1 -1
- package/es/hooks/use-z-index/index.d.ts +4 -0
- package/es/hooks/use-z-index/index.mjs +14 -2
- package/es/hooks/use-z-index/index.mjs.map +1 -1
- package/es/index.mjs +2 -2
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/global.d.ts +2 -0
- package/lib/components/affix/index.js +2 -2
- package/lib/components/affix/src/affix.js +117 -27
- package/lib/components/affix/src/affix.js.map +1 -1
- package/lib/components/affix/src/affix2.js +27 -117
- package/lib/components/affix/src/affix2.js.map +1 -1
- package/lib/components/cascader-panel/src/index.js +1 -5
- package/lib/components/cascader-panel/src/index.js.map +1 -1
- package/lib/components/index.js +1 -1
- package/lib/hooks/index.js +1 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/use-z-index/index.d.ts +4 -0
- package/lib/hooks/use-z-index/index.js +14 -1
- package/lib/hooks/use-z-index/index.js.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/theme-chalk/src/tag.scss +7 -2
- package/web-types.json +1 -1
package/global.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ declare module '@vue/runtime-core' {
|
|
|
6
6
|
ElAside: typeof import('element-plus')['ElAside']
|
|
7
7
|
ElAutocomplete: typeof import('element-plus')['ElAutocomplete']
|
|
8
8
|
ElAvatar: typeof import('element-plus')['ElAvatar']
|
|
9
|
+
ElAnchor: typeof import('element-plus')['ElAnchor']
|
|
10
|
+
ElAnchorLink: typeof import('element-plus')['ElAnchorLink']
|
|
9
11
|
ElBacktop: typeof import('element-plus')['ElBacktop']
|
|
10
12
|
ElBadge: typeof import('element-plus')['ElBadge']
|
|
11
13
|
ElBreadcrumb: typeof import('element-plus')['ElBreadcrumb']
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
require('../../utils/index.js');
|
|
6
|
-
var affix$1 = require('./src/
|
|
7
|
-
var affix = require('./src/
|
|
6
|
+
var affix$1 = require('./src/affix.js');
|
|
7
|
+
var affix = require('./src/affix2.js');
|
|
8
8
|
var install = require('../../utils/vue/install.js');
|
|
9
9
|
|
|
10
10
|
const ElAffix = install.withInstall(affix$1["default"]);
|
|
@@ -2,36 +2,126 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
var core = require('@vueuse/core');
|
|
5
7
|
require('../../../utils/index.js');
|
|
6
|
-
require('../../../
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
8
|
+
require('../../../hooks/index.js');
|
|
9
|
+
var affix = require('./affix2.js');
|
|
10
|
+
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
11
|
+
var index = require('../../../hooks/use-namespace/index.js');
|
|
12
|
+
var style = require('../../../utils/dom/style.js');
|
|
13
|
+
var error = require('../../../utils/error.js');
|
|
14
|
+
var scroll = require('../../../utils/dom/scroll.js');
|
|
10
15
|
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
const COMPONENT_NAME = "ElAffix";
|
|
17
|
+
const __default__ = vue.defineComponent({
|
|
18
|
+
name: COMPONENT_NAME
|
|
19
|
+
});
|
|
20
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
21
|
+
...__default__,
|
|
22
|
+
props: affix.affixProps,
|
|
23
|
+
emits: affix.affixEmits,
|
|
24
|
+
setup(__props, { expose, emit }) {
|
|
25
|
+
const props = __props;
|
|
26
|
+
const ns = index.useNamespace("affix");
|
|
27
|
+
const target = vue.shallowRef();
|
|
28
|
+
const root = vue.shallowRef();
|
|
29
|
+
const scrollContainer = vue.shallowRef();
|
|
30
|
+
const { height: windowHeight } = core.useWindowSize();
|
|
31
|
+
const {
|
|
32
|
+
height: rootHeight,
|
|
33
|
+
width: rootWidth,
|
|
34
|
+
top: rootTop,
|
|
35
|
+
bottom: rootBottom,
|
|
36
|
+
update: updateRoot
|
|
37
|
+
} = core.useElementBounding(root, { windowScroll: false });
|
|
38
|
+
const targetRect = core.useElementBounding(target);
|
|
39
|
+
const fixed = vue.ref(false);
|
|
40
|
+
const scrollTop = vue.ref(0);
|
|
41
|
+
const transform = vue.ref(0);
|
|
42
|
+
const rootStyle = vue.computed(() => {
|
|
43
|
+
return {
|
|
44
|
+
height: fixed.value ? `${rootHeight.value}px` : "",
|
|
45
|
+
width: fixed.value ? `${rootWidth.value}px` : ""
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
const affixStyle = vue.computed(() => {
|
|
49
|
+
if (!fixed.value)
|
|
50
|
+
return {};
|
|
51
|
+
const offset = props.offset ? style.addUnit(props.offset) : 0;
|
|
52
|
+
return {
|
|
53
|
+
height: `${rootHeight.value}px`,
|
|
54
|
+
width: `${rootWidth.value}px`,
|
|
55
|
+
top: props.position === "top" ? offset : "",
|
|
56
|
+
bottom: props.position === "bottom" ? offset : "",
|
|
57
|
+
transform: transform.value ? `translateY(${transform.value}px)` : "",
|
|
58
|
+
zIndex: props.zIndex
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
const update = () => {
|
|
62
|
+
if (!scrollContainer.value)
|
|
63
|
+
return;
|
|
64
|
+
scrollTop.value = scrollContainer.value instanceof Window ? document.documentElement.scrollTop : scrollContainer.value.scrollTop || 0;
|
|
65
|
+
if (props.position === "top") {
|
|
66
|
+
if (props.target) {
|
|
67
|
+
const difference = targetRect.bottom.value - props.offset - rootHeight.value;
|
|
68
|
+
fixed.value = props.offset > rootTop.value && targetRect.bottom.value > 0;
|
|
69
|
+
transform.value = difference < 0 ? difference : 0;
|
|
70
|
+
} else {
|
|
71
|
+
fixed.value = props.offset > rootTop.value;
|
|
72
|
+
}
|
|
73
|
+
} else if (props.target) {
|
|
74
|
+
const difference = windowHeight.value - targetRect.top.value - props.offset - rootHeight.value;
|
|
75
|
+
fixed.value = windowHeight.value - props.offset < rootBottom.value && windowHeight.value > targetRect.top.value;
|
|
76
|
+
transform.value = difference < 0 ? -difference : 0;
|
|
77
|
+
} else {
|
|
78
|
+
fixed.value = windowHeight.value - props.offset < rootBottom.value;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
const handleScroll = () => {
|
|
82
|
+
updateRoot();
|
|
83
|
+
emit("scroll", {
|
|
84
|
+
scrollTop: scrollTop.value,
|
|
85
|
+
fixed: fixed.value
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
vue.watch(fixed, (val) => emit("change", val));
|
|
89
|
+
vue.onMounted(() => {
|
|
90
|
+
var _a;
|
|
91
|
+
if (props.target) {
|
|
92
|
+
target.value = (_a = document.querySelector(props.target)) != null ? _a : void 0;
|
|
93
|
+
if (!target.value)
|
|
94
|
+
error.throwError(COMPONENT_NAME, `Target is not existed: ${props.target}`);
|
|
95
|
+
} else {
|
|
96
|
+
target.value = document.documentElement;
|
|
97
|
+
}
|
|
98
|
+
scrollContainer.value = scroll.getScrollContainer(root.value, true);
|
|
99
|
+
updateRoot();
|
|
100
|
+
});
|
|
101
|
+
core.useEventListener(scrollContainer, "scroll", handleScroll);
|
|
102
|
+
vue.watchEffect(update);
|
|
103
|
+
expose({
|
|
104
|
+
update,
|
|
105
|
+
updateRoot
|
|
106
|
+
});
|
|
107
|
+
return (_ctx, _cache) => {
|
|
108
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
109
|
+
ref_key: "root",
|
|
110
|
+
ref: root,
|
|
111
|
+
class: vue.normalizeClass(vue.unref(ns).b()),
|
|
112
|
+
style: vue.normalizeStyle(vue.unref(rootStyle))
|
|
113
|
+
}, [
|
|
114
|
+
vue.createElementVNode("div", {
|
|
115
|
+
class: vue.normalizeClass({ [vue.unref(ns).m("fixed")]: fixed.value }),
|
|
116
|
+
style: vue.normalizeStyle(vue.unref(affixStyle))
|
|
117
|
+
}, [
|
|
118
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
119
|
+
], 6)
|
|
120
|
+
], 6);
|
|
121
|
+
};
|
|
28
122
|
}
|
|
29
123
|
});
|
|
30
|
-
|
|
31
|
-
scroll: ({ scrollTop, fixed }) => types.isNumber(scrollTop) && types.isBoolean(fixed),
|
|
32
|
-
[event.CHANGE_EVENT]: (fixed) => types.isBoolean(fixed)
|
|
33
|
-
};
|
|
124
|
+
var Affix = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "affix.vue"]]);
|
|
34
125
|
|
|
35
|
-
exports
|
|
36
|
-
exports.affixProps = affixProps;
|
|
126
|
+
exports["default"] = Affix;
|
|
37
127
|
//# sourceMappingURL=affix.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affix.js","sources":["../../../../../../packages/components/affix/src/affix.
|
|
1
|
+
{"version":3,"file":"affix.js","sources":["../../../../../../packages/components/affix/src/affix.vue"],"sourcesContent":["<template>\n <div ref=\"root\" :class=\"ns.b()\" :style=\"rootStyle\">\n <div :class=\"{ [ns.m('fixed')]: fixed }\" :style=\"affixStyle\">\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onMounted, ref, shallowRef, watch, watchEffect } from 'vue'\nimport {\n useElementBounding,\n useEventListener,\n useWindowSize,\n} from '@vueuse/core'\nimport { addUnit, getScrollContainer, throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { affixEmits, affixProps } from './affix'\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'ElAffix'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(affixProps)\nconst emit = defineEmits(affixEmits)\n\nconst ns = useNamespace('affix')\n\nconst target = shallowRef<HTMLElement>()\nconst root = shallowRef<HTMLDivElement>()\nconst scrollContainer = shallowRef<HTMLElement | Window>()\nconst { height: windowHeight } = useWindowSize()\nconst {\n height: rootHeight,\n width: rootWidth,\n top: rootTop,\n bottom: rootBottom,\n update: updateRoot,\n} = useElementBounding(root, { windowScroll: false })\nconst targetRect = useElementBounding(target)\n\nconst fixed = ref(false)\nconst scrollTop = ref(0)\nconst transform = ref(0)\n\nconst rootStyle = computed<CSSProperties>(() => {\n return {\n height: fixed.value ? `${rootHeight.value}px` : '',\n width: fixed.value ? `${rootWidth.value}px` : '',\n }\n})\n\nconst affixStyle = computed<CSSProperties>(() => {\n if (!fixed.value) return {}\n\n const offset = props.offset ? addUnit(props.offset) : 0\n return {\n height: `${rootHeight.value}px`,\n width: `${rootWidth.value}px`,\n top: props.position === 'top' ? offset : '',\n bottom: props.position === 'bottom' ? offset : '',\n transform: transform.value ? `translateY(${transform.value}px)` : '',\n zIndex: props.zIndex,\n }\n})\n\nconst update = () => {\n if (!scrollContainer.value) return\n\n scrollTop.value =\n scrollContainer.value instanceof Window\n ? document.documentElement.scrollTop\n : scrollContainer.value.scrollTop || 0\n\n if (props.position === 'top') {\n if (props.target) {\n const difference =\n targetRect.bottom.value - props.offset - rootHeight.value\n fixed.value = props.offset > rootTop.value && targetRect.bottom.value > 0\n transform.value = difference < 0 ? difference : 0\n } else {\n fixed.value = props.offset > rootTop.value\n }\n } else if (props.target) {\n const difference =\n windowHeight.value -\n targetRect.top.value -\n props.offset -\n rootHeight.value\n fixed.value =\n windowHeight.value - props.offset < rootBottom.value &&\n windowHeight.value > targetRect.top.value\n transform.value = difference < 0 ? -difference : 0\n } else {\n fixed.value = windowHeight.value - props.offset < rootBottom.value\n }\n}\n\nconst handleScroll = () => {\n updateRoot()\n emit('scroll', {\n scrollTop: scrollTop.value,\n fixed: fixed.value,\n })\n}\n\nwatch(fixed, (val) => emit('change', val))\n\nonMounted(() => {\n if (props.target) {\n target.value =\n document.querySelector<HTMLElement>(props.target) ?? undefined\n if (!target.value)\n throwError(COMPONENT_NAME, `Target is not existed: ${props.target}`)\n } else {\n target.value = document.documentElement\n }\n scrollContainer.value = getScrollContainer(root.value!, true)\n updateRoot()\n})\n\nuseEventListener(scrollContainer, 'scroll', handleScroll)\nwatchEffect(update)\n\ndefineExpose({\n /** @description update affix status */\n update,\n /** @description update rootRect info */\n updateRoot,\n})\n</script>\n"],"names":["useNamespace","shallowRef","useWindowSize","useElementBounding","ref","computed","addUnit","watch","onMounted","throwError","getScrollContainer","useEventListener","watchEffect"],"mappings":"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"}
|
|
@@ -2,126 +2,36 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var vue = require('vue');
|
|
6
|
-
var core = require('@vueuse/core');
|
|
7
5
|
require('../../../utils/index.js');
|
|
8
|
-
require('../../../
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var style = require('../../../utils/dom/style.js');
|
|
13
|
-
var error = require('../../../utils/error.js');
|
|
14
|
-
var scroll = require('../../../utils/dom/scroll.js');
|
|
6
|
+
require('../../../constants/index.js');
|
|
7
|
+
var runtime = require('../../../utils/vue/props/runtime.js');
|
|
8
|
+
var types = require('../../../utils/types.js');
|
|
9
|
+
var event = require('../../../constants/event.js');
|
|
15
10
|
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
width: rootWidth,
|
|
34
|
-
top: rootTop,
|
|
35
|
-
bottom: rootBottom,
|
|
36
|
-
update: updateRoot
|
|
37
|
-
} = core.useElementBounding(root, { windowScroll: false });
|
|
38
|
-
const targetRect = core.useElementBounding(target);
|
|
39
|
-
const fixed = vue.ref(false);
|
|
40
|
-
const scrollTop = vue.ref(0);
|
|
41
|
-
const transform = vue.ref(0);
|
|
42
|
-
const rootStyle = vue.computed(() => {
|
|
43
|
-
return {
|
|
44
|
-
height: fixed.value ? `${rootHeight.value}px` : "",
|
|
45
|
-
width: fixed.value ? `${rootWidth.value}px` : ""
|
|
46
|
-
};
|
|
47
|
-
});
|
|
48
|
-
const affixStyle = vue.computed(() => {
|
|
49
|
-
if (!fixed.value)
|
|
50
|
-
return {};
|
|
51
|
-
const offset = props.offset ? style.addUnit(props.offset) : 0;
|
|
52
|
-
return {
|
|
53
|
-
height: `${rootHeight.value}px`,
|
|
54
|
-
width: `${rootWidth.value}px`,
|
|
55
|
-
top: props.position === "top" ? offset : "",
|
|
56
|
-
bottom: props.position === "bottom" ? offset : "",
|
|
57
|
-
transform: transform.value ? `translateY(${transform.value}px)` : "",
|
|
58
|
-
zIndex: props.zIndex
|
|
59
|
-
};
|
|
60
|
-
});
|
|
61
|
-
const update = () => {
|
|
62
|
-
if (!scrollContainer.value)
|
|
63
|
-
return;
|
|
64
|
-
scrollTop.value = scrollContainer.value instanceof Window ? document.documentElement.scrollTop : scrollContainer.value.scrollTop || 0;
|
|
65
|
-
if (props.position === "top") {
|
|
66
|
-
if (props.target) {
|
|
67
|
-
const difference = targetRect.bottom.value - props.offset - rootHeight.value;
|
|
68
|
-
fixed.value = props.offset > rootTop.value && targetRect.bottom.value > 0;
|
|
69
|
-
transform.value = difference < 0 ? difference : 0;
|
|
70
|
-
} else {
|
|
71
|
-
fixed.value = props.offset > rootTop.value;
|
|
72
|
-
}
|
|
73
|
-
} else if (props.target) {
|
|
74
|
-
const difference = windowHeight.value - targetRect.top.value - props.offset - rootHeight.value;
|
|
75
|
-
fixed.value = windowHeight.value - props.offset < rootBottom.value && windowHeight.value > targetRect.top.value;
|
|
76
|
-
transform.value = difference < 0 ? -difference : 0;
|
|
77
|
-
} else {
|
|
78
|
-
fixed.value = windowHeight.value - props.offset < rootBottom.value;
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
const handleScroll = () => {
|
|
82
|
-
updateRoot();
|
|
83
|
-
emit("scroll", {
|
|
84
|
-
scrollTop: scrollTop.value,
|
|
85
|
-
fixed: fixed.value
|
|
86
|
-
});
|
|
87
|
-
};
|
|
88
|
-
vue.watch(fixed, (val) => emit("change", val));
|
|
89
|
-
vue.onMounted(() => {
|
|
90
|
-
var _a;
|
|
91
|
-
if (props.target) {
|
|
92
|
-
target.value = (_a = document.querySelector(props.target)) != null ? _a : void 0;
|
|
93
|
-
if (!target.value)
|
|
94
|
-
error.throwError(COMPONENT_NAME, `Target is not existed: ${props.target}`);
|
|
95
|
-
} else {
|
|
96
|
-
target.value = document.documentElement;
|
|
97
|
-
}
|
|
98
|
-
scrollContainer.value = scroll.getScrollContainer(root.value, true);
|
|
99
|
-
updateRoot();
|
|
100
|
-
});
|
|
101
|
-
core.useEventListener(scrollContainer, "scroll", handleScroll);
|
|
102
|
-
vue.watchEffect(update);
|
|
103
|
-
expose({
|
|
104
|
-
update,
|
|
105
|
-
updateRoot
|
|
106
|
-
});
|
|
107
|
-
return (_ctx, _cache) => {
|
|
108
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
109
|
-
ref_key: "root",
|
|
110
|
-
ref: root,
|
|
111
|
-
class: vue.normalizeClass(vue.unref(ns).b()),
|
|
112
|
-
style: vue.normalizeStyle(vue.unref(rootStyle))
|
|
113
|
-
}, [
|
|
114
|
-
vue.createElementVNode("div", {
|
|
115
|
-
class: vue.normalizeClass({ [vue.unref(ns).m("fixed")]: fixed.value }),
|
|
116
|
-
style: vue.normalizeStyle(vue.unref(affixStyle))
|
|
117
|
-
}, [
|
|
118
|
-
vue.renderSlot(_ctx.$slots, "default")
|
|
119
|
-
], 6)
|
|
120
|
-
], 6);
|
|
121
|
-
};
|
|
11
|
+
const affixProps = runtime.buildProps({
|
|
12
|
+
zIndex: {
|
|
13
|
+
type: runtime.definePropType([Number, String]),
|
|
14
|
+
default: 100
|
|
15
|
+
},
|
|
16
|
+
target: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: ""
|
|
19
|
+
},
|
|
20
|
+
offset: {
|
|
21
|
+
type: Number,
|
|
22
|
+
default: 0
|
|
23
|
+
},
|
|
24
|
+
position: {
|
|
25
|
+
type: String,
|
|
26
|
+
values: ["top", "bottom"],
|
|
27
|
+
default: "top"
|
|
122
28
|
}
|
|
123
29
|
});
|
|
124
|
-
|
|
30
|
+
const affixEmits = {
|
|
31
|
+
scroll: ({ scrollTop, fixed }) => types.isNumber(scrollTop) && types.isBoolean(fixed),
|
|
32
|
+
[event.CHANGE_EVENT]: (fixed) => types.isBoolean(fixed)
|
|
33
|
+
};
|
|
125
34
|
|
|
126
|
-
exports
|
|
35
|
+
exports.affixEmits = affixEmits;
|
|
36
|
+
exports.affixProps = affixProps;
|
|
127
37
|
//# sourceMappingURL=affix2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affix2.js","sources":["../../../../../../packages/components/affix/src/affix.
|
|
1
|
+
{"version":3,"file":"affix2.js","sources":["../../../../../../packages/components/affix/src/affix.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isBoolean,\n isNumber,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type { ZIndexProperty } from 'csstype'\nimport type Affix from './affix.vue'\n\nexport const affixProps = buildProps({\n /**\n * @description affix element zIndex value\n * */\n zIndex: {\n type: definePropType<ZIndexProperty>([Number, String]),\n default: 100,\n },\n /**\n * @description target container. (CSS selector)\n */\n target: {\n type: String,\n default: '',\n },\n /**\n * @description offset distance\n * */\n offset: {\n type: Number,\n default: 0,\n },\n /**\n * @description position of affix\n * */\n position: {\n type: String,\n values: ['top', 'bottom'],\n default: 'top',\n },\n} as const)\nexport type AffixProps = ExtractPropTypes<typeof affixProps>\n\nexport const affixEmits = {\n scroll: ({ scrollTop, fixed }: { scrollTop: number; fixed: boolean }) =>\n isNumber(scrollTop) && isBoolean(fixed),\n [CHANGE_EVENT]: (fixed: boolean) => isBoolean(fixed),\n}\nexport type AffixEmits = typeof affixEmits\n\nexport type AffixInstance = InstanceType<typeof Affix>\n"],"names":["buildProps","definePropType","isNumber","isBoolean","CHANGE_EVENT"],"mappings":";;;;;;;;;;AAOY,MAAC,UAAU,GAAGA,kBAAU,CAAC;AACrC,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAEC,sBAAc,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,IAAI,OAAO,EAAE,GAAG;AAChB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC7B,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,UAAU,GAAG;AAC1B,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAKC,cAAQ,CAAC,SAAS,CAAC,IAAIC,eAAS,CAAC,KAAK,CAAC;AAC3E,EAAE,CAACC,kBAAY,GAAG,CAAC,KAAK,KAAKD,eAAS,CAAC,KAAK,CAAC;AAC7C;;;;;"}
|
|
@@ -178,11 +178,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
178
178
|
expandingNode.value = null;
|
|
179
179
|
}
|
|
180
180
|
oldNodes.forEach((node) => node.doCheck(false));
|
|
181
|
-
|
|
182
|
-
vue.reactive(newNodes).forEach((node) => node.doCheck(true));
|
|
183
|
-
} else {
|
|
184
|
-
newNodes.forEach((node) => node.doCheck(true));
|
|
185
|
-
}
|
|
181
|
+
vue.reactive(newNodes).forEach((node) => node.doCheck(true));
|
|
186
182
|
checkedNodes.value = newNodes;
|
|
187
183
|
vue.nextTick(scrollToExpandingNode);
|
|
188
184
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/cascader-panel/src/index.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('panel'), ns.is('bordered', border)]\"\n @keydown=\"handleKeyDown\"\n >\n <el-cascader-menu\n v-for=\"(menu, index) in menus\"\n :key=\"index\"\n :ref=\"(item) => (menuList[index] = item)\"\n :index=\"index\"\n :nodes=\"[...menu]\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n nextTick,\n onBeforeUpdate,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { cloneDeep, flattenDeep, isEqual } from 'lodash-unified'\nimport {\n castArray,\n focusNode,\n getSibling,\n isClient,\n isEmpty,\n scrollIntoView,\n unique,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport ElCascaderMenu from './menu.vue'\nimport Store from './store'\nimport Node from './node'\nimport { CommonProps, useCascaderConfig } from './config'\nimport { checkNode, getMenuIndex, sortByOriginalOrder } from './utils'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type { PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type {\n default as CascaderNode,\n CascaderNodeValue,\n CascaderOption,\n CascaderValue,\n RenderLabel,\n} from './node'\n\nimport type { ElCascaderPanelContext } from './types'\n\nexport default defineComponent({\n name: 'ElCascaderPanel',\n\n components: {\n ElCascaderMenu,\n },\n\n props: {\n ...CommonProps,\n border: {\n type: Boolean,\n default: true,\n },\n renderLabel: Function as PropType<RenderLabel>,\n },\n\n emits: [UPDATE_MODEL_EVENT, CHANGE_EVENT, 'close', 'expand-change'],\n\n setup(props, { emit, slots }) {\n // for interrupt sync check status in lazy mode\n let manualChecked = false\n\n const ns = useNamespace('cascader')\n const config = useCascaderConfig(props)\n\n let store: Nullable<Store> = null\n const initialLoaded = ref(true)\n const menuList = ref<any[]>([])\n const checkedValue = ref<Nullable<CascaderValue>>(null)\n const menus = ref<CascaderNode[][]>([])\n const expandingNode = ref<Nullable<CascaderNode>>(null)\n const checkedNodes = ref<CascaderNode[]>([])\n\n const isHoverMenu = computed(() => config.value.expandTrigger === 'hover')\n const renderLabelFn = computed(() => props.renderLabel || slots.default)\n\n const initStore = () => {\n const { options } = props\n const cfg = config.value\n\n manualChecked = false\n store = new Store(options, cfg)\n menus.value = [store.getNodes()]\n\n if (cfg.lazy && isEmpty(props.options)) {\n initialLoaded.value = false\n lazyLoad(undefined, (list) => {\n if (list) {\n store = new Store(list, cfg)\n menus.value = [store.getNodes()]\n }\n initialLoaded.value = true\n syncCheckedValue(false, true)\n })\n } else {\n syncCheckedValue(false, true)\n }\n }\n\n const lazyLoad: ElCascaderPanelContext['lazyLoad'] = (node, cb) => {\n const cfg = config.value\n node! = node || new Node({}, cfg, undefined, true)\n node.loading = true\n\n const resolve = (dataList: CascaderOption[]) => {\n const _node = node as Node\n const parent = _node.root ? null : _node\n dataList && store?.appendNodes(dataList, parent as any)\n _node.loading = false\n _node.loaded = true\n _node.childrenData = _node.childrenData || []\n cb && cb(dataList)\n }\n\n cfg.lazyLoad(node, resolve as any)\n }\n\n const expandNode: ElCascaderPanelContext['expandNode'] = (node, silent) => {\n const { level } = node\n const newMenus = menus.value.slice(0, level)\n let newExpandingNode: Nullable<CascaderNode>\n\n if (node.isLeaf) {\n newExpandingNode = node.pathNodes[level - 2]\n } else {\n newExpandingNode = node\n newMenus.push(node.children)\n }\n\n if (expandingNode.value?.uid !== newExpandingNode?.uid) {\n expandingNode.value = node\n menus.value = newMenus\n !silent && emit('expand-change', node?.pathValues || [])\n }\n }\n\n const handleCheckChange: ElCascaderPanelContext['handleCheckChange'] = (\n node,\n checked,\n emitClose = true\n ) => {\n const { checkStrictly, multiple } = config.value\n const oldNode = checkedNodes.value[0]\n manualChecked = true\n\n !multiple && oldNode?.doCheck(false)\n node.doCheck(checked)\n calculateCheckedValue()\n emitClose && !multiple && !checkStrictly && emit('close')\n !emitClose && !multiple && !checkStrictly && expandParentNode(node)\n }\n\n const expandParentNode = (node) => {\n if (!node) return\n node = node.parent\n expandParentNode(node)\n node && expandNode(node)\n }\n\n const getFlattedNodes = (leafOnly: boolean) => {\n return store?.getFlattedNodes(leafOnly)\n }\n\n const getCheckedNodes = (leafOnly: boolean) => {\n return getFlattedNodes(leafOnly)?.filter((node) => node.checked !== false)\n }\n\n const clearCheckedNodes = () => {\n checkedNodes.value.forEach((node) => node.doCheck(false))\n calculateCheckedValue()\n menus.value = menus.value.slice(0, 1)\n expandingNode.value = null\n emit('expand-change', [])\n }\n\n const calculateCheckedValue = () => {\n const { checkStrictly, multiple } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = getCheckedNodes(!checkStrictly)!\n // ensure the original order\n const nodes = sortByOriginalOrder(oldNodes, newNodes)\n const values = nodes.map((node) => node.valueByOption)\n checkedNodes.value = nodes\n checkedValue.value = multiple ? values : values[0] ?? null\n }\n\n const syncCheckedValue = (loaded = false, forced = false) => {\n const { modelValue } = props\n const { lazy, multiple, checkStrictly } = config.value\n const leafOnly = !checkStrictly\n\n if (\n !initialLoaded.value ||\n manualChecked ||\n (!forced && isEqual(modelValue, checkedValue.value))\n )\n return\n\n if (lazy && !loaded) {\n const values: CascaderNodeValue[] = unique(\n flattenDeep(castArray(modelValue))\n )\n const nodes = values\n .map((val) => store?.getNodeByValue(val))\n .filter((node) => !!node && !node.loaded && !node.loading) as Node[]\n\n if (nodes.length) {\n nodes.forEach((node) => {\n lazyLoad(node, () => syncCheckedValue(false, forced))\n })\n } else {\n syncCheckedValue(true, forced)\n }\n } else {\n const values = multiple ? castArray(modelValue) : [modelValue]\n const nodes = unique(\n values.map((val) => store?.getNodeByValue(val, leafOnly))\n ) as Node[]\n syncMenuState(nodes, forced)\n checkedValue.value = cloneDeep(modelValue)\n }\n }\n\n const syncMenuState = (\n newCheckedNodes: CascaderNode[],\n reserveExpandingState = true\n ) => {\n const { checkStrictly } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = newCheckedNodes.filter(\n (node) => !!node && (checkStrictly || node.isLeaf)\n )\n const oldExpandingNode = store?.getSameNode(expandingNode.value!)\n const newExpandingNode =\n (reserveExpandingState && oldExpandingNode) || newNodes[0]\n\n if (newExpandingNode) {\n newExpandingNode.pathNodes.forEach((node) => expandNode(node, true))\n } else {\n expandingNode.value = null\n }\n\n oldNodes.forEach((node) => node.doCheck(false))\n if (props.props.multiple) {\n reactive(newNodes).forEach((node) => node.doCheck(true))\n } else {\n newNodes.forEach((node) => node.doCheck(true))\n }\n checkedNodes.value = newNodes\n nextTick(scrollToExpandingNode)\n }\n\n const scrollToExpandingNode = () => {\n if (!isClient) return\n\n menuList.value.forEach((menu) => {\n const menuElement = menu?.$el\n if (menuElement) {\n const container = menuElement.querySelector(\n `.${ns.namespace.value}-scrollbar__wrap`\n )\n const activeNode =\n menuElement.querySelector(`.${ns.b('node')}.${ns.is('active')}`) ||\n menuElement.querySelector(`.${ns.b('node')}.in-active-path`)\n scrollIntoView(container, activeNode)\n }\n })\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const { code } = e\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n e.preventDefault()\n const distance = code === EVENT_CODE.up ? -1 : 1\n focusNode(\n getSibling(target, distance, `.${ns.b('node')}[tabindex=\"-1\"]`)\n )\n break\n }\n case EVENT_CODE.left: {\n e.preventDefault()\n const preMenu = menuList.value[getMenuIndex(target) - 1]\n const expandedNode = preMenu?.$el.querySelector(\n `.${ns.b('node')}[aria-expanded=\"true\"]`\n )\n focusNode(expandedNode)\n break\n }\n case EVENT_CODE.right: {\n e.preventDefault()\n const nextMenu = menuList.value[getMenuIndex(target) + 1]\n const firstNode = nextMenu?.$el.querySelector(\n `.${ns.b('node')}[tabindex=\"-1\"]`\n )\n focusNode(firstNode)\n break\n }\n case EVENT_CODE.enter:\n checkNode(target)\n break\n }\n }\n\n provide(\n CASCADER_PANEL_INJECTION_KEY,\n reactive({\n config,\n expandingNode,\n checkedNodes,\n isHoverMenu,\n initialLoaded,\n renderLabelFn,\n lazyLoad,\n expandNode,\n handleCheckChange,\n })\n )\n\n watch([config, () => props.options], initStore, {\n deep: true,\n immediate: true,\n })\n\n watch(\n () => props.modelValue,\n () => {\n manualChecked = false\n syncCheckedValue()\n },\n {\n deep: true,\n }\n )\n\n watch(\n () => checkedValue.value,\n (val) => {\n if (!isEqual(val, props.modelValue)) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n }\n }\n )\n\n onBeforeUpdate(() => (menuList.value = []))\n\n onMounted(() => !isEmpty(props.modelValue) && syncCheckedValue())\n\n return {\n ns,\n menuList,\n menus,\n checkedNodes,\n handleKeyDown,\n handleCheckChange,\n getFlattedNodes,\n /**\n * @description get an array of currently selected node,(leafOnly) whether only return the leaf checked nodes, default is `false`\n */\n getCheckedNodes,\n /**\n * @description clear checked nodes\n */\n clearCheckedNodes,\n calculateCheckedValue,\n scrollToExpandingNode,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElCascaderMenu","CommonProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","useNamespace","config","useCascaderConfig","store","ref","computed","Store","isEmpty","node","Node","sortByOriginalOrder","isEqual","unique","flattenDeep","castArray","cloneDeep","reactive","nextTick","isClient","scrollIntoView","EVENT_CODE","focusNode","getMenuIndex","checkNode","provide","CASCADER_PANEL_INJECTION_KEY","watch","onBeforeUpdate","onMounted","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_Fragment","_renderList","_createBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/cascader-panel/src/index.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('panel'), ns.is('bordered', border)]\"\n @keydown=\"handleKeyDown\"\n >\n <el-cascader-menu\n v-for=\"(menu, index) in menus\"\n :key=\"index\"\n :ref=\"(item) => (menuList[index] = item)\"\n :index=\"index\"\n :nodes=\"[...menu]\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n nextTick,\n onBeforeUpdate,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { cloneDeep, flattenDeep, isEqual } from 'lodash-unified'\nimport {\n castArray,\n focusNode,\n getSibling,\n isClient,\n isEmpty,\n scrollIntoView,\n unique,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport ElCascaderMenu from './menu.vue'\nimport Store from './store'\nimport Node from './node'\nimport { CommonProps, useCascaderConfig } from './config'\nimport { checkNode, getMenuIndex, sortByOriginalOrder } from './utils'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type { PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type {\n default as CascaderNode,\n CascaderNodeValue,\n CascaderOption,\n CascaderValue,\n RenderLabel,\n} from './node'\n\nimport type { ElCascaderPanelContext } from './types'\n\nexport default defineComponent({\n name: 'ElCascaderPanel',\n\n components: {\n ElCascaderMenu,\n },\n\n props: {\n ...CommonProps,\n border: {\n type: Boolean,\n default: true,\n },\n renderLabel: Function as PropType<RenderLabel>,\n },\n\n emits: [UPDATE_MODEL_EVENT, CHANGE_EVENT, 'close', 'expand-change'],\n\n setup(props, { emit, slots }) {\n // for interrupt sync check status in lazy mode\n let manualChecked = false\n\n const ns = useNamespace('cascader')\n const config = useCascaderConfig(props)\n\n let store: Nullable<Store> = null\n const initialLoaded = ref(true)\n const menuList = ref<any[]>([])\n const checkedValue = ref<Nullable<CascaderValue>>(null)\n const menus = ref<CascaderNode[][]>([])\n const expandingNode = ref<Nullable<CascaderNode>>(null)\n const checkedNodes = ref<CascaderNode[]>([])\n\n const isHoverMenu = computed(() => config.value.expandTrigger === 'hover')\n const renderLabelFn = computed(() => props.renderLabel || slots.default)\n\n const initStore = () => {\n const { options } = props\n const cfg = config.value\n\n manualChecked = false\n store = new Store(options, cfg)\n menus.value = [store.getNodes()]\n\n if (cfg.lazy && isEmpty(props.options)) {\n initialLoaded.value = false\n lazyLoad(undefined, (list) => {\n if (list) {\n store = new Store(list, cfg)\n menus.value = [store.getNodes()]\n }\n initialLoaded.value = true\n syncCheckedValue(false, true)\n })\n } else {\n syncCheckedValue(false, true)\n }\n }\n\n const lazyLoad: ElCascaderPanelContext['lazyLoad'] = (node, cb) => {\n const cfg = config.value\n node! = node || new Node({}, cfg, undefined, true)\n node.loading = true\n\n const resolve = (dataList: CascaderOption[]) => {\n const _node = node as Node\n const parent = _node.root ? null : _node\n dataList && store?.appendNodes(dataList, parent as any)\n _node.loading = false\n _node.loaded = true\n _node.childrenData = _node.childrenData || []\n cb && cb(dataList)\n }\n\n cfg.lazyLoad(node, resolve as any)\n }\n\n const expandNode: ElCascaderPanelContext['expandNode'] = (node, silent) => {\n const { level } = node\n const newMenus = menus.value.slice(0, level)\n let newExpandingNode: Nullable<CascaderNode>\n\n if (node.isLeaf) {\n newExpandingNode = node.pathNodes[level - 2]\n } else {\n newExpandingNode = node\n newMenus.push(node.children)\n }\n\n if (expandingNode.value?.uid !== newExpandingNode?.uid) {\n expandingNode.value = node\n menus.value = newMenus\n !silent && emit('expand-change', node?.pathValues || [])\n }\n }\n\n const handleCheckChange: ElCascaderPanelContext['handleCheckChange'] = (\n node,\n checked,\n emitClose = true\n ) => {\n const { checkStrictly, multiple } = config.value\n const oldNode = checkedNodes.value[0]\n manualChecked = true\n\n !multiple && oldNode?.doCheck(false)\n node.doCheck(checked)\n calculateCheckedValue()\n emitClose && !multiple && !checkStrictly && emit('close')\n !emitClose && !multiple && !checkStrictly && expandParentNode(node)\n }\n\n const expandParentNode = (node) => {\n if (!node) return\n node = node.parent\n expandParentNode(node)\n node && expandNode(node)\n }\n\n const getFlattedNodes = (leafOnly: boolean) => {\n return store?.getFlattedNodes(leafOnly)\n }\n\n const getCheckedNodes = (leafOnly: boolean) => {\n return getFlattedNodes(leafOnly)?.filter((node) => node.checked !== false)\n }\n\n const clearCheckedNodes = () => {\n checkedNodes.value.forEach((node) => node.doCheck(false))\n calculateCheckedValue()\n menus.value = menus.value.slice(0, 1)\n expandingNode.value = null\n emit('expand-change', [])\n }\n\n const calculateCheckedValue = () => {\n const { checkStrictly, multiple } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = getCheckedNodes(!checkStrictly)!\n // ensure the original order\n const nodes = sortByOriginalOrder(oldNodes, newNodes)\n const values = nodes.map((node) => node.valueByOption)\n checkedNodes.value = nodes\n checkedValue.value = multiple ? values : values[0] ?? null\n }\n\n const syncCheckedValue = (loaded = false, forced = false) => {\n const { modelValue } = props\n const { lazy, multiple, checkStrictly } = config.value\n const leafOnly = !checkStrictly\n\n if (\n !initialLoaded.value ||\n manualChecked ||\n (!forced && isEqual(modelValue, checkedValue.value))\n )\n return\n\n if (lazy && !loaded) {\n const values: CascaderNodeValue[] = unique(\n flattenDeep(castArray(modelValue))\n )\n const nodes = values\n .map((val) => store?.getNodeByValue(val))\n .filter((node) => !!node && !node.loaded && !node.loading) as Node[]\n\n if (nodes.length) {\n nodes.forEach((node) => {\n lazyLoad(node, () => syncCheckedValue(false, forced))\n })\n } else {\n syncCheckedValue(true, forced)\n }\n } else {\n const values = multiple ? castArray(modelValue) : [modelValue]\n const nodes = unique(\n values.map((val) => store?.getNodeByValue(val, leafOnly))\n ) as Node[]\n syncMenuState(nodes, forced)\n checkedValue.value = cloneDeep(modelValue)\n }\n }\n\n const syncMenuState = (\n newCheckedNodes: CascaderNode[],\n reserveExpandingState = true\n ) => {\n const { checkStrictly } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = newCheckedNodes.filter(\n (node) => !!node && (checkStrictly || node.isLeaf)\n )\n const oldExpandingNode = store?.getSameNode(expandingNode.value!)\n const newExpandingNode =\n (reserveExpandingState && oldExpandingNode) || newNodes[0]\n\n if (newExpandingNode) {\n newExpandingNode.pathNodes.forEach((node) => expandNode(node, true))\n } else {\n expandingNode.value = null\n }\n\n oldNodes.forEach((node) => node.doCheck(false))\n reactive(newNodes).forEach((node) => node.doCheck(true))\n checkedNodes.value = newNodes\n nextTick(scrollToExpandingNode)\n }\n\n const scrollToExpandingNode = () => {\n if (!isClient) return\n\n menuList.value.forEach((menu) => {\n const menuElement = menu?.$el\n if (menuElement) {\n const container = menuElement.querySelector(\n `.${ns.namespace.value}-scrollbar__wrap`\n )\n const activeNode =\n menuElement.querySelector(`.${ns.b('node')}.${ns.is('active')}`) ||\n menuElement.querySelector(`.${ns.b('node')}.in-active-path`)\n scrollIntoView(container, activeNode)\n }\n })\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const { code } = e\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n e.preventDefault()\n const distance = code === EVENT_CODE.up ? -1 : 1\n focusNode(\n getSibling(target, distance, `.${ns.b('node')}[tabindex=\"-1\"]`)\n )\n break\n }\n case EVENT_CODE.left: {\n e.preventDefault()\n const preMenu = menuList.value[getMenuIndex(target) - 1]\n const expandedNode = preMenu?.$el.querySelector(\n `.${ns.b('node')}[aria-expanded=\"true\"]`\n )\n focusNode(expandedNode)\n break\n }\n case EVENT_CODE.right: {\n e.preventDefault()\n const nextMenu = menuList.value[getMenuIndex(target) + 1]\n const firstNode = nextMenu?.$el.querySelector(\n `.${ns.b('node')}[tabindex=\"-1\"]`\n )\n focusNode(firstNode)\n break\n }\n case EVENT_CODE.enter:\n checkNode(target)\n break\n }\n }\n\n provide(\n CASCADER_PANEL_INJECTION_KEY,\n reactive({\n config,\n expandingNode,\n checkedNodes,\n isHoverMenu,\n initialLoaded,\n renderLabelFn,\n lazyLoad,\n expandNode,\n handleCheckChange,\n })\n )\n\n watch([config, () => props.options], initStore, {\n deep: true,\n immediate: true,\n })\n\n watch(\n () => props.modelValue,\n () => {\n manualChecked = false\n syncCheckedValue()\n },\n {\n deep: true,\n }\n )\n\n watch(\n () => checkedValue.value,\n (val) => {\n if (!isEqual(val, props.modelValue)) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n }\n }\n )\n\n onBeforeUpdate(() => (menuList.value = []))\n\n onMounted(() => !isEmpty(props.modelValue) && syncCheckedValue())\n\n return {\n ns,\n menuList,\n menus,\n checkedNodes,\n handleKeyDown,\n handleCheckChange,\n getFlattedNodes,\n /**\n * @description get an array of currently selected node,(leafOnly) whether only return the leaf checked nodes, default is `false`\n */\n getCheckedNodes,\n /**\n * @description clear checked nodes\n */\n clearCheckedNodes,\n calculateCheckedValue,\n scrollToExpandingNode,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElCascaderMenu","CommonProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","useNamespace","config","useCascaderConfig","store","ref","computed","Store","isEmpty","node","Node","sortByOriginalOrder","isEqual","unique","flattenDeep","castArray","cloneDeep","reactive","nextTick","isClient","scrollIntoView","EVENT_CODE","focusNode","getMenuIndex","checkNode","provide","CASCADER_PANEL_INJECTION_KEY","watch","onBeforeUpdate","onMounted","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_Fragment","_renderList","_createBlock"],"mappings":"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"}
|
package/lib/components/index.js
CHANGED
|
@@ -82,7 +82,7 @@ var index$1b = require('./message/index.js');
|
|
|
82
82
|
var index$1c = require('./message-box/index.js');
|
|
83
83
|
var index$1d = require('./notification/index.js');
|
|
84
84
|
var index$1e = require('./popover/index.js');
|
|
85
|
-
var affix = require('./affix/src/
|
|
85
|
+
var affix = require('./affix/src/affix2.js');
|
|
86
86
|
var alert = require('./alert/src/alert.js');
|
|
87
87
|
var autocomplete = require('./autocomplete/src/autocomplete.js');
|
|
88
88
|
var avatar = require('./avatar/src/avatar.js');
|
package/lib/hooks/index.js
CHANGED
|
@@ -74,6 +74,7 @@ exports.defaultNamespace = index$m.defaultNamespace;
|
|
|
74
74
|
exports.namespaceContextKey = index$m.namespaceContextKey;
|
|
75
75
|
exports.useGetDerivedNamespace = index$m.useGetDerivedNamespace;
|
|
76
76
|
exports.useNamespace = index$m.useNamespace;
|
|
77
|
+
exports.ZINDEX_INJECTION_KEY = index$n.ZINDEX_INJECTION_KEY;
|
|
77
78
|
exports.defaultInitialZIndex = index$n.defaultInitialZIndex;
|
|
78
79
|
exports.useZIndex = index$n.useZIndex;
|
|
79
80
|
exports.zIndexContextKey = index$n.zIndexContextKey;
|
package/lib/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { InjectionKey, Ref } from 'vue';
|
|
2
|
+
export interface ElZIndexInjectionContext {
|
|
3
|
+
current: number;
|
|
4
|
+
}
|
|
2
5
|
export declare const defaultInitialZIndex = 2000;
|
|
6
|
+
export declare const ZINDEX_INJECTION_KEY: InjectionKey<ElZIndexInjectionContext>;
|
|
3
7
|
export declare const zIndexContextKey: InjectionKey<Ref<number | undefined>>;
|
|
4
8
|
export declare const useZIndex: (zIndexOverrides?: Ref<number> | undefined) => {
|
|
5
9
|
initialZIndex: import("vue").ComputedRef<number>;
|
|
@@ -5,11 +5,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
require('../../utils/index.js');
|
|
7
7
|
var types = require('../../utils/types.js');
|
|
8
|
+
var core = require('@vueuse/core');
|
|
9
|
+
var error = require('../../utils/error.js');
|
|
8
10
|
|
|
11
|
+
const initial = {
|
|
12
|
+
current: 0
|
|
13
|
+
};
|
|
9
14
|
const zIndex = vue.ref(0);
|
|
10
15
|
const defaultInitialZIndex = 2e3;
|
|
16
|
+
const ZINDEX_INJECTION_KEY = Symbol("elZIndexContextKey");
|
|
11
17
|
const zIndexContextKey = Symbol("zIndexContextKey");
|
|
12
18
|
const useZIndex = (zIndexOverrides) => {
|
|
19
|
+
const increasingInjection = vue.getCurrentInstance() ? vue.inject(ZINDEX_INJECTION_KEY, initial) : initial;
|
|
13
20
|
const zIndexInjection = zIndexOverrides || (vue.getCurrentInstance() ? vue.inject(zIndexContextKey, void 0) : void 0);
|
|
14
21
|
const initialZIndex = vue.computed(() => {
|
|
15
22
|
const zIndexFromInjection = vue.unref(zIndexInjection);
|
|
@@ -17,9 +24,14 @@ const useZIndex = (zIndexOverrides) => {
|
|
|
17
24
|
});
|
|
18
25
|
const currentZIndex = vue.computed(() => initialZIndex.value + zIndex.value);
|
|
19
26
|
const nextZIndex = () => {
|
|
20
|
-
|
|
27
|
+
increasingInjection.current++;
|
|
28
|
+
zIndex.value = increasingInjection.current;
|
|
21
29
|
return currentZIndex.value;
|
|
22
30
|
};
|
|
31
|
+
if (!core.isClient && !vue.inject(ZINDEX_INJECTION_KEY)) {
|
|
32
|
+
error.debugWarn("ZIndexInjection", `Looks like you are using server rendering, you must provide a z-index provider to ensure the hydration process to be succeed
|
|
33
|
+
usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`);
|
|
34
|
+
}
|
|
23
35
|
return {
|
|
24
36
|
initialZIndex,
|
|
25
37
|
currentZIndex,
|
|
@@ -27,6 +39,7 @@ const useZIndex = (zIndexOverrides) => {
|
|
|
27
39
|
};
|
|
28
40
|
};
|
|
29
41
|
|
|
42
|
+
exports.ZINDEX_INJECTION_KEY = ZINDEX_INJECTION_KEY;
|
|
30
43
|
exports.defaultInitialZIndex = defaultInitialZIndex;
|
|
31
44
|
exports.useZIndex = useZIndex;
|
|
32
45
|
exports.zIndexContextKey = zIndexContextKey;
|