@element-plus/nightly 0.0.20240624 → 0.0.20240625
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 +6 -3
- package/dist/index.full.min.js +11 -11
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +11 -11
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +6 -3
- 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/anchor/index.mjs +3 -3
- package/es/components/anchor/src/anchor-link.mjs +82 -6
- package/es/components/anchor/src/anchor-link.mjs.map +1 -1
- package/es/components/anchor/src/anchor-link2.mjs +6 -82
- package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
- package/es/components/anchor/src/anchor.mjs +193 -38
- package/es/components/anchor/src/anchor.mjs.map +1 -1
- package/es/components/anchor/src/anchor2.mjs +38 -193
- package/es/components/anchor/src/anchor2.mjs.map +1 -1
- package/es/components/button/index.mjs +2 -2
- package/es/components/button/src/button-group.mjs +1 -1
- package/es/components/button/src/button.mjs +77 -57
- package/es/components/button/src/button.mjs.map +1 -1
- package/es/components/button/src/button2.mjs +57 -77
- package/es/components/button/src/button2.mjs.map +1 -1
- package/es/components/check-tag/index.mjs +2 -2
- package/es/components/check-tag/src/check-tag.mjs +35 -17
- package/es/components/check-tag/src/check-tag.mjs.map +1 -1
- package/es/components/check-tag/src/check-tag2.mjs +17 -35
- package/es/components/check-tag/src/check-tag2.mjs.map +1 -1
- package/es/components/index.mjs +3 -3
- package/es/components/pagination/src/pagination.d.ts +12 -12
- package/es/components/pagination/src/pagination.mjs +5 -2
- package/es/components/pagination/src/pagination.mjs.map +1 -1
- package/es/components/popconfirm/src/popconfirm.mjs +1 -1
- package/es/components/tooltip-v2/index.mjs +1 -1
- package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
- package/es/components/tooltip-v2/src/tooltip2.mjs +2 -2
- package/es/components/tooltip-v2/src/trigger.mjs +89 -12
- package/es/components/tooltip-v2/src/trigger.mjs.map +1 -1
- package/es/components/tooltip-v2/src/trigger2.mjs +12 -89
- package/es/components/tooltip-v2/src/trigger2.mjs.map +1 -1
- package/es/index.mjs +3 -3
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/anchor/index.js +3 -3
- package/lib/components/anchor/src/anchor-link.js +82 -6
- package/lib/components/anchor/src/anchor-link.js.map +1 -1
- package/lib/components/anchor/src/anchor-link2.js +6 -82
- package/lib/components/anchor/src/anchor-link2.js.map +1 -1
- package/lib/components/anchor/src/anchor.js +192 -38
- package/lib/components/anchor/src/anchor.js.map +1 -1
- package/lib/components/anchor/src/anchor2.js +38 -192
- package/lib/components/anchor/src/anchor2.js.map +1 -1
- package/lib/components/button/index.js +2 -2
- package/lib/components/button/src/button-group.js +1 -1
- package/lib/components/button/src/button.js +77 -60
- package/lib/components/button/src/button.js.map +1 -1
- package/lib/components/button/src/button2.js +60 -77
- package/lib/components/button/src/button2.js.map +1 -1
- package/lib/components/check-tag/index.js +2 -2
- package/lib/components/check-tag/src/check-tag.js +35 -18
- package/lib/components/check-tag/src/check-tag.js.map +1 -1
- package/lib/components/check-tag/src/check-tag2.js +18 -35
- package/lib/components/check-tag/src/check-tag2.js.map +1 -1
- package/lib/components/index.js +3 -3
- package/lib/components/pagination/src/pagination.d.ts +12 -12
- package/lib/components/pagination/src/pagination.js +4 -1
- package/lib/components/pagination/src/pagination.js.map +1 -1
- package/lib/components/popconfirm/src/popconfirm.js +1 -1
- package/lib/components/tooltip-v2/index.js +1 -1
- package/lib/components/tooltip-v2/src/tooltip.js +1 -1
- package/lib/components/tooltip-v2/src/tooltip2.js +2 -2
- package/lib/components/tooltip-v2/src/trigger.js +89 -12
- package/lib/components/tooltip-v2/src/trigger.js.map +1 -1
- package/lib/components/tooltip-v2/src/trigger2.js +12 -89
- package/lib/components/tooltip-v2/src/trigger2.js.map +1 -1
- package/lib/index.js +3 -3
- 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/web-types.json +1 -1
|
@@ -1,94 +1,17 @@
|
|
|
1
|
-
import { defineComponent, inject, watch, onBeforeUnmount, openBlock, createBlock, unref, withCtx, renderSlot, createElementBlock, mergeProps } from 'vue';
|
|
2
1
|
import '../../../utils/index.mjs';
|
|
3
|
-
import {
|
|
4
|
-
import ForwardRef from './forward-ref.mjs';
|
|
5
|
-
import { tooltipV2TriggerProps } from './trigger.mjs';
|
|
6
|
-
import { tooltipV2CommonProps } from './common.mjs';
|
|
7
|
-
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
8
|
-
import { composeEventHandlers } from '../../../utils/dom/event.mjs';
|
|
2
|
+
import { definePropType, buildProps } from '../../../utils/vue/props/runtime.mjs';
|
|
9
3
|
|
|
10
|
-
const
|
|
11
|
-
|
|
4
|
+
const EventHandler = {
|
|
5
|
+
type: definePropType(Function)
|
|
6
|
+
};
|
|
7
|
+
const tooltipV2TriggerProps = buildProps({
|
|
8
|
+
onBlur: EventHandler,
|
|
9
|
+
onClick: EventHandler,
|
|
10
|
+
onFocus: EventHandler,
|
|
11
|
+
onMouseDown: EventHandler,
|
|
12
|
+
onMouseEnter: EventHandler,
|
|
13
|
+
onMouseLeave: EventHandler
|
|
12
14
|
});
|
|
13
|
-
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
14
|
-
...__default__,
|
|
15
|
-
props: {
|
|
16
|
-
...tooltipV2CommonProps,
|
|
17
|
-
...tooltipV2TriggerProps
|
|
18
|
-
},
|
|
19
|
-
setup(__props) {
|
|
20
|
-
const props = __props;
|
|
21
|
-
const { onClose, onOpen, onDelayOpen, triggerRef, contentId } = inject(tooltipV2RootKey);
|
|
22
|
-
let isMousedown = false;
|
|
23
|
-
const setTriggerRef = (el) => {
|
|
24
|
-
triggerRef.value = el;
|
|
25
|
-
};
|
|
26
|
-
const onMouseup = () => {
|
|
27
|
-
isMousedown = false;
|
|
28
|
-
};
|
|
29
|
-
const onMouseenter = composeEventHandlers(props.onMouseEnter, onDelayOpen);
|
|
30
|
-
const onMouseleave = composeEventHandlers(props.onMouseLeave, onClose);
|
|
31
|
-
const onMousedown = composeEventHandlers(props.onMouseDown, () => {
|
|
32
|
-
onClose();
|
|
33
|
-
isMousedown = true;
|
|
34
|
-
document.addEventListener("mouseup", onMouseup, { once: true });
|
|
35
|
-
});
|
|
36
|
-
const onFocus = composeEventHandlers(props.onFocus, () => {
|
|
37
|
-
if (!isMousedown)
|
|
38
|
-
onOpen();
|
|
39
|
-
});
|
|
40
|
-
const onBlur = composeEventHandlers(props.onBlur, onClose);
|
|
41
|
-
const onClick = composeEventHandlers(props.onClick, (e) => {
|
|
42
|
-
if (e.detail === 0)
|
|
43
|
-
onClose();
|
|
44
|
-
});
|
|
45
|
-
const events = {
|
|
46
|
-
blur: onBlur,
|
|
47
|
-
click: onClick,
|
|
48
|
-
focus: onFocus,
|
|
49
|
-
mousedown: onMousedown,
|
|
50
|
-
mouseenter: onMouseenter,
|
|
51
|
-
mouseleave: onMouseleave
|
|
52
|
-
};
|
|
53
|
-
const setEvents = (el, events2, type) => {
|
|
54
|
-
if (el) {
|
|
55
|
-
Object.entries(events2).forEach(([name, handler]) => {
|
|
56
|
-
el[type](name, handler);
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
watch(triggerRef, (triggerEl, previousTriggerEl) => {
|
|
61
|
-
setEvents(triggerEl, events, "addEventListener");
|
|
62
|
-
setEvents(previousTriggerEl, events, "removeEventListener");
|
|
63
|
-
if (triggerEl) {
|
|
64
|
-
triggerEl.setAttribute("aria-describedby", contentId.value);
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
onBeforeUnmount(() => {
|
|
68
|
-
setEvents(triggerRef.value, events, "removeEventListener");
|
|
69
|
-
document.removeEventListener("mouseup", onMouseup);
|
|
70
|
-
});
|
|
71
|
-
return (_ctx, _cache) => {
|
|
72
|
-
return _ctx.nowrap ? (openBlock(), createBlock(unref(ForwardRef), {
|
|
73
|
-
key: 0,
|
|
74
|
-
"set-ref": setTriggerRef,
|
|
75
|
-
"only-child": ""
|
|
76
|
-
}, {
|
|
77
|
-
default: withCtx(() => [
|
|
78
|
-
renderSlot(_ctx.$slots, "default")
|
|
79
|
-
]),
|
|
80
|
-
_: 3
|
|
81
|
-
})) : (openBlock(), createElementBlock("button", mergeProps({
|
|
82
|
-
key: 1,
|
|
83
|
-
ref_key: "triggerRef",
|
|
84
|
-
ref: triggerRef
|
|
85
|
-
}, _ctx.$attrs), [
|
|
86
|
-
renderSlot(_ctx.$slots, "default")
|
|
87
|
-
], 16));
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
var TooltipV2Trigger = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "trigger.vue"]]);
|
|
92
15
|
|
|
93
|
-
export {
|
|
16
|
+
export { tooltipV2TriggerProps };
|
|
94
17
|
//# sourceMappingURL=trigger2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger2.mjs","sources":["../../../../../../packages/components/tooltip-v2/src/trigger.
|
|
1
|
+
{"version":3,"file":"trigger2.mjs","sources":["../../../../../../packages/components/tooltip-v2/src/trigger.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nconst EventHandler = {\n type: definePropType<(e: Event) => boolean | void>(Function),\n} as const\n\nexport const tooltipV2TriggerProps = buildProps({\n onBlur: EventHandler,\n onClick: EventHandler,\n onFocus: EventHandler,\n onMouseDown: EventHandler,\n onMouseEnter: EventHandler,\n onMouseLeave: EventHandler,\n} as const)\n\nexport type TooltipV2TriggerProps = ExtractPropTypes<\n typeof tooltipV2TriggerProps\n>\n"],"names":[],"mappings":";;;AACA,MAAM,YAAY,GAAG;AACrB,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAChC,CAAC,CAAC;AACU,MAAC,qBAAqB,GAAG,UAAU,CAAC;AAChD,EAAE,MAAM,EAAE,YAAY;AACtB,EAAE,OAAO,EAAE,YAAY;AACvB,EAAE,OAAO,EAAE,YAAY;AACvB,EAAE,WAAW,EAAE,YAAY;AAC3B,EAAE,YAAY,EAAE,YAAY;AAC5B,EAAE,YAAY,EAAE,YAAY;AAC5B,CAAC;;;;"}
|
package/es/index.mjs
CHANGED
|
@@ -22,7 +22,7 @@ export { breadcrumbProps } from './components/breadcrumb/src/breadcrumb.mjs';
|
|
|
22
22
|
export { breadcrumbItemProps } from './components/breadcrumb/src/breadcrumb-item.mjs';
|
|
23
23
|
export { breadcrumbKey } from './components/breadcrumb/src/constants.mjs';
|
|
24
24
|
export { ElBreadcrumb, ElBreadcrumbItem } from './components/breadcrumb/index.mjs';
|
|
25
|
-
export { buttonEmits, buttonNativeTypes, buttonProps, buttonTypes } from './components/button/src/
|
|
25
|
+
export { buttonEmits, buttonNativeTypes, buttonProps, buttonTypes } from './components/button/src/button2.mjs';
|
|
26
26
|
export { buttonGroupContextKey } from './components/button/src/constants.mjs';
|
|
27
27
|
export { ElButton, ElButtonGroup } from './components/button/index.mjs';
|
|
28
28
|
export { calendarEmits, calendarProps } from './components/calendar/src/calendar.mjs';
|
|
@@ -38,7 +38,7 @@ export { ElCascader } from './components/cascader/index.mjs';
|
|
|
38
38
|
export { CASCADER_PANEL_INJECTION_KEY } from './components/cascader-panel/src/types.mjs';
|
|
39
39
|
export { CommonProps, DefaultProps, useCascaderConfig } from './components/cascader-panel/src/config.mjs';
|
|
40
40
|
export { ElCascaderPanel } from './components/cascader-panel/index.mjs';
|
|
41
|
-
export { checkTagEmits, checkTagProps } from './components/check-tag/src/check-
|
|
41
|
+
export { checkTagEmits, checkTagProps } from './components/check-tag/src/check-tag2.mjs';
|
|
42
42
|
export { ElCheckTag } from './components/check-tag/index.mjs';
|
|
43
43
|
export { checkboxGroupEmits, checkboxGroupProps } from './components/checkbox/src/checkbox-group.mjs';
|
|
44
44
|
export { checkboxEmits, checkboxProps } from './components/checkbox/src/checkbox.mjs';
|
|
@@ -215,7 +215,7 @@ export { tourEmits, tourProps } from './components/tour/src/tour.mjs';
|
|
|
215
215
|
export { tourStepEmits, tourStepProps } from './components/tour/src/step.mjs';
|
|
216
216
|
export { tourContentEmits, tourContentProps, tourPlacements, tourStrategies } from './components/tour/src/content.mjs';
|
|
217
217
|
export { ElTour, ElTourStep } from './components/tour/index.mjs';
|
|
218
|
-
export { anchorEmits, anchorProps } from './components/anchor/src/
|
|
218
|
+
export { anchorEmits, anchorProps } from './components/anchor/src/anchor2.mjs';
|
|
219
219
|
export { ElAnchor, ElAnchorLink } from './components/anchor/index.mjs';
|
|
220
220
|
export { segmentedEmits, segmentedProps } from './components/segmented/src/segmented.mjs';
|
|
221
221
|
export { ElSegmented } from './components/segmented/index.mjs';
|
package/es/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.0.
|
|
1
|
+
export declare const version = "0.0.20240625";
|
package/es/version.mjs
CHANGED
package/es/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.
|
|
1
|
+
{"version":3,"file":"version.mjs","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20240625'\n"],"names":[],"mappings":"AAAY,MAAC,OAAO,GAAG;;;;"}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
require('../../utils/index.js');
|
|
6
|
-
var anchor$1 = require('./src/
|
|
7
|
-
var anchorLink = require('./src/anchor-
|
|
8
|
-
var anchor = require('./src/
|
|
6
|
+
var anchor$1 = require('./src/anchor.js');
|
|
7
|
+
var anchorLink = require('./src/anchor-link.js');
|
|
8
|
+
var anchor = require('./src/anchor2.js');
|
|
9
9
|
var install = require('../../utils/vue/install.js');
|
|
10
10
|
|
|
11
11
|
const ElAnchor = install.withInstall(anchor$1["default"], {
|
|
@@ -2,13 +2,89 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('
|
|
6
|
-
var
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
var anchorLink = require('./anchor-link2.js');
|
|
7
|
+
var constants = require('./constants.js');
|
|
8
|
+
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
7
9
|
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
const _hoisted_1 = ["href"];
|
|
11
|
+
const __default__ = vue.defineComponent({
|
|
12
|
+
name: "ElAnchorLink"
|
|
11
13
|
});
|
|
14
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
15
|
+
...__default__,
|
|
16
|
+
props: anchorLink.anchorLinkProps,
|
|
17
|
+
setup(__props) {
|
|
18
|
+
const props = __props;
|
|
19
|
+
const linkRef = vue.ref(null);
|
|
20
|
+
const {
|
|
21
|
+
ns,
|
|
22
|
+
direction,
|
|
23
|
+
currentAnchor,
|
|
24
|
+
addLink,
|
|
25
|
+
removeLink,
|
|
26
|
+
handleClick: contextHandleClick
|
|
27
|
+
} = vue.inject(constants.anchorKey);
|
|
28
|
+
const cls = vue.computed(() => [
|
|
29
|
+
ns.e("link"),
|
|
30
|
+
ns.is("active", currentAnchor.value === props.href)
|
|
31
|
+
]);
|
|
32
|
+
const handleClick = (e) => {
|
|
33
|
+
contextHandleClick(e, props.href);
|
|
34
|
+
};
|
|
35
|
+
vue.watch(() => props.href, (val, oldVal) => {
|
|
36
|
+
vue.nextTick(() => {
|
|
37
|
+
if (oldVal)
|
|
38
|
+
removeLink(oldVal);
|
|
39
|
+
if (val) {
|
|
40
|
+
addLink({
|
|
41
|
+
href: val,
|
|
42
|
+
el: linkRef.value
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
vue.onMounted(() => {
|
|
48
|
+
const { href } = props;
|
|
49
|
+
if (href) {
|
|
50
|
+
addLink({
|
|
51
|
+
href,
|
|
52
|
+
el: linkRef.value
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
vue.onBeforeUnmount(() => {
|
|
57
|
+
const { href } = props;
|
|
58
|
+
if (href) {
|
|
59
|
+
removeLink(href);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
return (_ctx, _cache) => {
|
|
63
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
64
|
+
class: vue.normalizeClass(vue.unref(ns).e("item"))
|
|
65
|
+
}, [
|
|
66
|
+
vue.createElementVNode("a", {
|
|
67
|
+
ref_key: "linkRef",
|
|
68
|
+
ref: linkRef,
|
|
69
|
+
class: vue.normalizeClass(vue.unref(cls)),
|
|
70
|
+
href: _ctx.href,
|
|
71
|
+
onClick: handleClick
|
|
72
|
+
}, [
|
|
73
|
+
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
74
|
+
vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
|
|
75
|
+
])
|
|
76
|
+
], 10, _hoisted_1),
|
|
77
|
+
_ctx.$slots["sub-link"] && vue.unref(direction) === "vertical" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
78
|
+
key: 0,
|
|
79
|
+
class: vue.normalizeClass(vue.unref(ns).e("list"))
|
|
80
|
+
}, [
|
|
81
|
+
vue.renderSlot(_ctx.$slots, "sub-link")
|
|
82
|
+
], 2)) : vue.createCommentVNode("v-if", true)
|
|
83
|
+
], 2);
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
var AnchorLink = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "anchor-link.vue"]]);
|
|
12
88
|
|
|
13
|
-
exports
|
|
89
|
+
exports["default"] = AnchorLink;
|
|
14
90
|
//# sourceMappingURL=anchor-link.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor-link.js","sources":["../../../../../../packages/components/anchor/src/anchor-link.
|
|
1
|
+
{"version":3,"file":"anchor-link.js","sources":["../../../../../../packages/components/anchor/src/anchor-link.vue"],"sourcesContent":["<template>\n <div :class=\"ns.e('item')\">\n <a ref=\"linkRef\" :class=\"cls\" :href=\"href\" @click=\"handleClick\">\n <slot>{{ title }}</slot>\n </a>\n <div\n v-if=\"$slots['sub-link'] && direction === 'vertical'\"\n :class=\"ns.e('list')\"\n >\n <slot name=\"sub-link\" />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue'\nimport { anchorLinkProps } from './anchor-link'\nimport { anchorKey } from './constants'\n\ndefineOptions({\n name: 'ElAnchorLink',\n})\n\nconst props = defineProps(anchorLinkProps)\n\nconst linkRef = ref<HTMLElement | null>(null)\n\nconst {\n ns,\n direction,\n currentAnchor,\n addLink,\n removeLink,\n handleClick: contextHandleClick,\n} = inject(anchorKey)!\n\nconst cls = computed(() => [\n ns.e('link'),\n ns.is('active', currentAnchor.value === props.href),\n])\n\nconst handleClick = (e: MouseEvent) => {\n contextHandleClick(e, props.href)\n}\n\nwatch(\n () => props.href,\n (val, oldVal) => {\n nextTick(() => {\n if (oldVal) removeLink(oldVal)\n if (val) {\n addLink({\n href: val,\n el: linkRef.value!,\n })\n }\n })\n }\n)\n\nonMounted(() => {\n const { href } = props\n if (href) {\n addLink({\n href,\n el: linkRef.value!,\n })\n }\n})\n\nonBeforeUnmount(() => {\n const { href } = props\n if (href) {\n removeLink(href)\n }\n})\n</script>\n"],"names":["ref","inject","anchorKey","computed","watch","nextTick","onMounted","onBeforeUnmount"],"mappings":";;;;;;;;;;uCA2Bc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAIA,IAAM,MAAA,OAAA,GAAUA,QAAwB,IAAI,CAAA,CAAA;AAE5C,IAAM,MAAA;AAAA,MACJ,EAAA;AAAA,MACA,SAAA;AAAA,MACA,aAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAa,EAAA,kBAAA;AAAA,KAAA,GACXC,WAAOC,mBAAS,CAAA,CAAA;AAEpB,IAAM,MAAA,GAAA,GAAMC,aAAS,MAAM;AAAA,MACzB,EAAA,CAAG,EAAE,MAAM,CAAA;AAAA,MACX,GAAG,EAAG,CAAA,QAAA,EAAU,aAAc,CAAA,KAAA,KAAU,MAAM,IAAI,CAAA;AAAA,KACnD,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAc,CAAC,CAAkB,KAAA;AACrC,MAAmB,kBAAA,CAAA,CAAA,EAAG,MAAM,IAAI,CAAA,CAAA;AAAA,KAClC,CAAA;AAEA,IAAAC,SAAA,CACE,MAAM,KAAA,CAAM,IACZ,EAAA,CAAC,KAAK,MAAW,KAAA;AACf,MAAAC,YAAA,CAAS,MAAM;AACb,QAAI,IAAA,MAAA;AAAQ,UAAA,UAAA,CAAW,MAAM,CAAA,CAAA;AAC7B,QAAA,IAAI,GAAK,EAAA;AACP,UAAQ,OAAA,CAAA;AAAA,YACN,IAAM,EAAA,GAAA;AAAA,YACN,IAAI,OAAQ,CAAA,KAAA;AAAA,WACb,CAAA,CAAA;AAAA,SACH;AAAA,OACD,CAAA,CAAA;AAAA,KAEL,CAAA,CAAA;AAEA,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,MAAM,EAAE,IAAS,EAAA,GAAA,KAAA,CAAA;AACjB,MAAA,IAAI,IAAM,EAAA;AACR,QAAQ,OAAA,CAAA;AAAA,UACN,IAAA;AAAA,UACA,IAAI,OAAQ,CAAA,KAAA;AAAA,SACb,CAAA,CAAA;AAAA,OACH;AAAA,KACD,CAAA,CAAA;AAED,IAAAC,mBAAA,CAAgB,MAAM;AACpB,MAAA,MAAM,EAAE,IAAS,EAAA,GAAA,KAAA,CAAA;AACjB,MAAA,IAAI,IAAM,EAAA;AACR,QAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AAAA,OACjB;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,89 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
var
|
|
7
|
-
var constants = require('./constants.js');
|
|
8
|
-
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
5
|
+
require('../../../utils/index.js');
|
|
6
|
+
var runtime = require('../../../utils/vue/props/runtime.js');
|
|
9
7
|
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
const anchorLinkProps = runtime.buildProps({
|
|
9
|
+
title: String,
|
|
10
|
+
href: String
|
|
13
11
|
});
|
|
14
|
-
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
15
|
-
...__default__,
|
|
16
|
-
props: anchorLink.anchorLinkProps,
|
|
17
|
-
setup(__props) {
|
|
18
|
-
const props = __props;
|
|
19
|
-
const linkRef = vue.ref(null);
|
|
20
|
-
const {
|
|
21
|
-
ns,
|
|
22
|
-
direction,
|
|
23
|
-
currentAnchor,
|
|
24
|
-
addLink,
|
|
25
|
-
removeLink,
|
|
26
|
-
handleClick: contextHandleClick
|
|
27
|
-
} = vue.inject(constants.anchorKey);
|
|
28
|
-
const cls = vue.computed(() => [
|
|
29
|
-
ns.e("link"),
|
|
30
|
-
ns.is("active", currentAnchor.value === props.href)
|
|
31
|
-
]);
|
|
32
|
-
const handleClick = (e) => {
|
|
33
|
-
contextHandleClick(e, props.href);
|
|
34
|
-
};
|
|
35
|
-
vue.watch(() => props.href, (val, oldVal) => {
|
|
36
|
-
vue.nextTick(() => {
|
|
37
|
-
if (oldVal)
|
|
38
|
-
removeLink(oldVal);
|
|
39
|
-
if (val) {
|
|
40
|
-
addLink({
|
|
41
|
-
href: val,
|
|
42
|
-
el: linkRef.value
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
vue.onMounted(() => {
|
|
48
|
-
const { href } = props;
|
|
49
|
-
if (href) {
|
|
50
|
-
addLink({
|
|
51
|
-
href,
|
|
52
|
-
el: linkRef.value
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
vue.onBeforeUnmount(() => {
|
|
57
|
-
const { href } = props;
|
|
58
|
-
if (href) {
|
|
59
|
-
removeLink(href);
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
return (_ctx, _cache) => {
|
|
63
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
64
|
-
class: vue.normalizeClass(vue.unref(ns).e("item"))
|
|
65
|
-
}, [
|
|
66
|
-
vue.createElementVNode("a", {
|
|
67
|
-
ref_key: "linkRef",
|
|
68
|
-
ref: linkRef,
|
|
69
|
-
class: vue.normalizeClass(vue.unref(cls)),
|
|
70
|
-
href: _ctx.href,
|
|
71
|
-
onClick: handleClick
|
|
72
|
-
}, [
|
|
73
|
-
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
74
|
-
vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
|
|
75
|
-
])
|
|
76
|
-
], 10, _hoisted_1),
|
|
77
|
-
_ctx.$slots["sub-link"] && vue.unref(direction) === "vertical" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
78
|
-
key: 0,
|
|
79
|
-
class: vue.normalizeClass(vue.unref(ns).e("list"))
|
|
80
|
-
}, [
|
|
81
|
-
vue.renderSlot(_ctx.$slots, "sub-link")
|
|
82
|
-
], 2)) : vue.createCommentVNode("v-if", true)
|
|
83
|
-
], 2);
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
var AnchorLink = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "anchor-link.vue"]]);
|
|
88
12
|
|
|
89
|
-
exports
|
|
13
|
+
exports.anchorLinkProps = anchorLinkProps;
|
|
90
14
|
//# sourceMappingURL=anchor-link2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor-link2.js","sources":["../../../../../../packages/components/anchor/src/anchor-link.
|
|
1
|
+
{"version":3,"file":"anchor-link2.js","sources":["../../../../../../packages/components/anchor/src/anchor-link.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const anchorLinkProps = buildProps({\n /**\n * @description the text content of the anchor link\n */\n title: String,\n /**\n * @description The address of the anchor link\n */\n href: String,\n})\n\nexport type AnchorLinkProps = ExtractPropTypes<typeof anchorLinkProps>\n"],"names":["buildProps"],"mappings":";;;;;;;AACY,MAAC,eAAe,GAAGA,kBAAU,CAAC;AAC1C,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,IAAI,EAAE,MAAM;AACd,CAAC;;;;"}
|
|
@@ -2,48 +2,202 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
var core = require('@vueuse/core');
|
|
7
|
+
require('../../../hooks/index.js');
|
|
5
8
|
require('../../../utils/index.js');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
9
|
+
var anchor = require('./anchor2.js');
|
|
10
|
+
var constants = require('./constants.js');
|
|
11
|
+
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
12
|
+
var index = require('../../../hooks/use-namespace/index.js');
|
|
13
|
+
var element = require('../../../utils/dom/element.js');
|
|
14
|
+
var scroll = require('../../../utils/dom/scroll.js');
|
|
15
|
+
var position = require('../../../utils/dom/position.js');
|
|
16
|
+
var throttleByRaf = require('../../../utils/throttleByRaf.js');
|
|
8
17
|
var types = require('../../../utils/types.js');
|
|
9
18
|
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
19
|
+
const __default__ = vue.defineComponent({
|
|
20
|
+
name: "ElAnchor"
|
|
21
|
+
});
|
|
22
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
23
|
+
...__default__,
|
|
24
|
+
props: anchor.anchorProps,
|
|
25
|
+
emits: anchor.anchorEmits,
|
|
26
|
+
setup(__props, { expose, emit }) {
|
|
27
|
+
const props = __props;
|
|
28
|
+
const currentAnchor = vue.ref("");
|
|
29
|
+
const anchorRef = vue.ref(null);
|
|
30
|
+
const markerRef = vue.ref(null);
|
|
31
|
+
const containerEl = vue.ref();
|
|
32
|
+
const links = {};
|
|
33
|
+
let isScrolling = false;
|
|
34
|
+
let currentScrollTop = 0;
|
|
35
|
+
const ns = index.useNamespace("anchor");
|
|
36
|
+
const cls = vue.computed(() => [
|
|
37
|
+
ns.b(),
|
|
38
|
+
props.type === "underline" ? ns.m("underline") : "",
|
|
39
|
+
ns.m(props.direction)
|
|
40
|
+
]);
|
|
41
|
+
const addLink = (state) => {
|
|
42
|
+
links[state.href] = state.el;
|
|
43
|
+
};
|
|
44
|
+
const removeLink = (href) => {
|
|
45
|
+
delete links[href];
|
|
46
|
+
};
|
|
47
|
+
const setCurrentAnchor = (href) => {
|
|
48
|
+
const activeHref = currentAnchor.value;
|
|
49
|
+
if (activeHref !== href) {
|
|
50
|
+
currentAnchor.value = href;
|
|
51
|
+
emit("change", href);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
let clearAnimate = null;
|
|
55
|
+
const scrollToAnchor = (href) => {
|
|
56
|
+
if (!containerEl.value)
|
|
57
|
+
return;
|
|
58
|
+
const target = element.getElement(href);
|
|
59
|
+
if (!target)
|
|
60
|
+
return;
|
|
61
|
+
if (clearAnimate)
|
|
62
|
+
clearAnimate();
|
|
63
|
+
isScrolling = true;
|
|
64
|
+
const scrollEle = scroll.getScrollElement(target, containerEl.value);
|
|
65
|
+
const distance = position.getOffsetTopDistance(target, scrollEle);
|
|
66
|
+
const max = scrollEle.scrollHeight - scrollEle.clientHeight;
|
|
67
|
+
const to = Math.min(distance - props.offset, max);
|
|
68
|
+
clearAnimate = scroll.animateScrollTo(containerEl.value, currentScrollTop, to, props.duration, () => {
|
|
69
|
+
setTimeout(() => {
|
|
70
|
+
isScrolling = false;
|
|
71
|
+
}, 20);
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
const scrollTo = (href) => {
|
|
75
|
+
if (href) {
|
|
76
|
+
setCurrentAnchor(href);
|
|
77
|
+
scrollToAnchor(href);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
const handleClick = (e, href) => {
|
|
81
|
+
emit("click", e, href);
|
|
82
|
+
scrollTo(href);
|
|
83
|
+
};
|
|
84
|
+
const handleScroll = throttleByRaf.throttleByRaf(() => {
|
|
85
|
+
if (containerEl.value) {
|
|
86
|
+
currentScrollTop = scroll.getScrollTop(containerEl.value);
|
|
87
|
+
}
|
|
88
|
+
const currentHref = getCurrentHref();
|
|
89
|
+
if (isScrolling || types.isUndefined(currentHref))
|
|
90
|
+
return;
|
|
91
|
+
setCurrentAnchor(currentHref);
|
|
92
|
+
});
|
|
93
|
+
const getCurrentHref = () => {
|
|
94
|
+
if (!containerEl.value)
|
|
95
|
+
return;
|
|
96
|
+
const scrollTop = scroll.getScrollTop(containerEl.value);
|
|
97
|
+
const anchorTopList = [];
|
|
98
|
+
for (const href of Object.keys(links)) {
|
|
99
|
+
const target = element.getElement(href);
|
|
100
|
+
if (!target)
|
|
101
|
+
continue;
|
|
102
|
+
const scrollEle = scroll.getScrollElement(target, containerEl.value);
|
|
103
|
+
const distance = position.getOffsetTopDistance(target, scrollEle);
|
|
104
|
+
anchorTopList.push({
|
|
105
|
+
top: distance - props.offset - props.bound,
|
|
106
|
+
href
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
anchorTopList.sort((prev, next) => prev.top - next.top);
|
|
110
|
+
for (let i = 0; i < anchorTopList.length; i++) {
|
|
111
|
+
const item = anchorTopList[i];
|
|
112
|
+
const next = anchorTopList[i + 1];
|
|
113
|
+
if (i === 0 && scrollTop === 0) {
|
|
114
|
+
return "";
|
|
115
|
+
}
|
|
116
|
+
if (item.top <= scrollTop && (!next || next.top > scrollTop)) {
|
|
117
|
+
return item.href;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
const getContainer = () => {
|
|
122
|
+
const el = element.getElement(props.container);
|
|
123
|
+
if (!el || types.isWindow(el)) {
|
|
124
|
+
containerEl.value = window;
|
|
125
|
+
} else {
|
|
126
|
+
containerEl.value = el;
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
core.useEventListener(containerEl, "scroll", handleScroll);
|
|
130
|
+
const markerStyle = vue.computed(() => {
|
|
131
|
+
if (!anchorRef.value || !markerRef.value || !currentAnchor.value)
|
|
132
|
+
return {};
|
|
133
|
+
const currentLinkEl = links[currentAnchor.value];
|
|
134
|
+
if (!currentLinkEl)
|
|
135
|
+
return {};
|
|
136
|
+
const anchorRect = anchorRef.value.getBoundingClientRect();
|
|
137
|
+
const markerRect = markerRef.value.getBoundingClientRect();
|
|
138
|
+
const linkRect = currentLinkEl.getBoundingClientRect();
|
|
139
|
+
if (props.direction === "horizontal") {
|
|
140
|
+
const left = linkRect.left - anchorRect.left;
|
|
141
|
+
return {
|
|
142
|
+
left: `${left}px`,
|
|
143
|
+
width: `${linkRect.width}px`,
|
|
144
|
+
opacity: 1
|
|
145
|
+
};
|
|
146
|
+
} else {
|
|
147
|
+
const top = linkRect.top - anchorRect.top + (linkRect.height - markerRect.height) / 2;
|
|
148
|
+
return {
|
|
149
|
+
top: `${top}px`,
|
|
150
|
+
opacity: 1
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
vue.onMounted(() => {
|
|
155
|
+
getContainer();
|
|
156
|
+
const hash = decodeURIComponent(window.location.hash);
|
|
157
|
+
const target = element.getElement(hash);
|
|
158
|
+
if (target) {
|
|
159
|
+
scrollTo(hash);
|
|
160
|
+
} else {
|
|
161
|
+
handleScroll();
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
vue.watch(() => props.container, () => {
|
|
165
|
+
getContainer();
|
|
166
|
+
});
|
|
167
|
+
vue.provide(constants.anchorKey, {
|
|
168
|
+
ns,
|
|
169
|
+
direction: props.direction,
|
|
170
|
+
currentAnchor,
|
|
171
|
+
addLink,
|
|
172
|
+
removeLink,
|
|
173
|
+
handleClick
|
|
174
|
+
});
|
|
175
|
+
expose({
|
|
176
|
+
scrollTo
|
|
177
|
+
});
|
|
178
|
+
return (_ctx, _cache) => {
|
|
179
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
180
|
+
ref_key: "anchorRef",
|
|
181
|
+
ref: anchorRef,
|
|
182
|
+
class: vue.normalizeClass(vue.unref(cls))
|
|
183
|
+
}, [
|
|
184
|
+
_ctx.marker ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
185
|
+
key: 0,
|
|
186
|
+
ref_key: "markerRef",
|
|
187
|
+
ref: markerRef,
|
|
188
|
+
class: vue.normalizeClass(vue.unref(ns).e("marker")),
|
|
189
|
+
style: vue.normalizeStyle(vue.unref(markerStyle))
|
|
190
|
+
}, null, 6)) : vue.createCommentVNode("v-if", true),
|
|
191
|
+
vue.createElementVNode("div", {
|
|
192
|
+
class: vue.normalizeClass(vue.unref(ns).e("list"))
|
|
193
|
+
}, [
|
|
194
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
195
|
+
], 2)
|
|
196
|
+
], 2);
|
|
197
|
+
};
|
|
40
198
|
}
|
|
41
199
|
});
|
|
42
|
-
|
|
43
|
-
change: (href) => shared.isString(href),
|
|
44
|
-
click: (e, href) => e instanceof MouseEvent && (shared.isString(href) || types.isUndefined(href))
|
|
45
|
-
};
|
|
200
|
+
var Anchor = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "anchor.vue"]]);
|
|
46
201
|
|
|
47
|
-
exports
|
|
48
|
-
exports.anchorProps = anchorProps;
|
|
202
|
+
exports["default"] = Anchor;
|
|
49
203
|
//# sourceMappingURL=anchor.js.map
|