@element-plus/nightly 0.0.20260116 → 0.0.20260117
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/attributes.json +1 -1
- package/dist/index.full.js +119 -75
- package/dist/index.full.min.js +17 -17
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +24 -24
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +120 -76
- 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/hi.js +1 -1
- package/dist/locale/hi.min.js +1 -1
- package/dist/locale/hi.min.mjs +1 -1
- package/dist/locale/hi.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/lo.js +1 -1
- package/dist/locale/lo.min.js +1 -1
- package/dist/locale/lo.min.mjs +1 -1
- package/dist/locale/lo.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/ms.js +1 -1
- package/dist/locale/ms.min.js +1 -1
- package/dist/locale/ms.min.mjs +1 -1
- package/dist/locale/ms.mjs +1 -1
- package/dist/locale/my.js +1 -1
- package/dist/locale/my.min.js +1 -1
- package/dist/locale/my.min.mjs +1 -1
- package/dist/locale/my.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/no.js +1 -1
- package/dist/locale/no.min.js +1 -1
- package/dist/locale/no.min.mjs +1 -1
- package/dist/locale/no.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/te.js +1 -1
- package/dist/locale/te.min.js +1 -1
- package/dist/locale/te.min.mjs +1 -1
- package/dist/locale/te.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-hk.js +1 -1
- package/dist/locale/zh-hk.min.js +1 -1
- package/dist/locale/zh-hk.min.mjs +1 -1
- package/dist/locale/zh-hk.mjs +1 -1
- package/dist/locale/zh-mo.js +1 -1
- package/dist/locale/zh-mo.min.js +1 -1
- package/dist/locale/zh-mo.min.mjs +1 -1
- package/dist/locale/zh-mo.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/src/affix.d.ts +33 -2
- package/es/components/affix/src/affix.mjs.map +1 -1
- package/es/components/affix/src/affix.vue.d.ts +36 -22
- package/es/components/affix/src/affix.vue2.mjs +10 -3
- package/es/components/affix/src/affix.vue2.mjs.map +1 -1
- package/es/components/anchor/src/anchor-link.d.ts +17 -2
- package/es/components/anchor/src/anchor-link.mjs.map +1 -1
- package/es/components/anchor/src/anchor-link.vue.d.ts +24 -7
- package/es/components/anchor/src/anchor-link.vue2.mjs +6 -4
- package/es/components/anchor/src/anchor-link.vue2.mjs.map +1 -1
- package/es/components/anchor/src/anchor.d.ts +41 -2
- package/es/components/anchor/src/anchor.mjs.map +1 -1
- package/es/components/anchor/src/anchor.vue.d.ts +36 -34
- package/es/components/anchor/src/anchor.vue2.mjs +12 -3
- package/es/components/anchor/src/anchor.vue2.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +1 -1
- package/es/components/date-picker-panel/src/composables/use-basic-date-table.mjs +1 -1
- package/es/components/date-picker-panel/src/composables/use-basic-date-table.mjs.map +1 -1
- package/es/components/icon/src/icon.d.ts +17 -2
- package/es/components/icon/src/icon.mjs.map +1 -1
- package/es/components/icon/src/icon.vue.d.ts +24 -27
- package/es/components/icon/src/icon.vue2.mjs +4 -2
- package/es/components/icon/src/icon.vue2.mjs.map +1 -1
- package/es/components/input/src/input.d.ts +145 -8
- package/es/components/input/src/input.mjs.map +1 -1
- package/es/components/input/src/input.vue.d.ts +55 -210
- package/es/components/input/src/input.vue2.mjs +74 -41
- package/es/components/input/src/input.vue2.mjs.map +1 -1
- package/es/components/input-number/src/input-number.vue.d.ts +1 -1
- package/es/components/mention/src/mention.vue.d.ts +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/affix/src/affix.d.ts +33 -2
- package/lib/components/affix/src/affix.js.map +1 -1
- package/lib/components/affix/src/affix.vue.d.ts +36 -22
- package/lib/components/affix/src/affix.vue2.js +9 -2
- package/lib/components/affix/src/affix.vue2.js.map +1 -1
- package/lib/components/anchor/src/anchor-link.d.ts +17 -2
- package/lib/components/anchor/src/anchor-link.js.map +1 -1
- package/lib/components/anchor/src/anchor-link.vue.d.ts +24 -7
- package/lib/components/anchor/src/anchor-link.vue2.js +6 -4
- package/lib/components/anchor/src/anchor-link.vue2.js.map +1 -1
- package/lib/components/anchor/src/anchor.d.ts +41 -2
- package/lib/components/anchor/src/anchor.js.map +1 -1
- package/lib/components/anchor/src/anchor.vue.d.ts +36 -34
- package/lib/components/anchor/src/anchor.vue2.js +11 -2
- package/lib/components/anchor/src/anchor.vue2.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +1 -1
- package/lib/components/date-picker-panel/src/composables/use-basic-date-table.js +1 -1
- package/lib/components/date-picker-panel/src/composables/use-basic-date-table.js.map +1 -1
- package/lib/components/icon/src/icon.d.ts +17 -2
- package/lib/components/icon/src/icon.js.map +1 -1
- package/lib/components/icon/src/icon.vue.d.ts +24 -27
- package/lib/components/icon/src/icon.vue2.js +4 -2
- package/lib/components/icon/src/icon.vue2.js.map +1 -1
- package/lib/components/input/src/input.d.ts +145 -8
- package/lib/components/input/src/input.js.map +1 -1
- package/lib/components/input/src/input.vue.d.ts +55 -210
- package/lib/components/input/src/input.vue2.js +71 -38
- package/lib/components/input/src/input.vue2.js.map +1 -1
- package/lib/components/input-number/src/input-number.vue.d.ts +1 -1
- package/lib/components/mention/src/mention.vue.d.ts +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/web-types.json +1 -1
|
@@ -18,7 +18,14 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
18
18
|
name: COMPONENT_NAME
|
|
19
19
|
},
|
|
20
20
|
__name: "affix",
|
|
21
|
-
props:
|
|
21
|
+
props: {
|
|
22
|
+
zIndex: { type: null, required: false, default: 100 },
|
|
23
|
+
target: { type: String, required: false, default: "" },
|
|
24
|
+
offset: { type: Number, required: false, default: 0 },
|
|
25
|
+
position: { type: String, required: false, default: "top" },
|
|
26
|
+
teleported: { type: Boolean, required: false },
|
|
27
|
+
appendTo: { type: null, required: false, default: "body" }
|
|
28
|
+
},
|
|
22
29
|
emits: affix.affixEmits,
|
|
23
30
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
24
31
|
const props = __props;
|
|
@@ -134,7 +141,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
134
141
|
[
|
|
135
142
|
vue.createVNode(vue.unref(index$1.ElTeleport), {
|
|
136
143
|
disabled: teleportDisabled.value,
|
|
137
|
-
to:
|
|
144
|
+
to: __props.appendTo
|
|
138
145
|
}, {
|
|
139
146
|
default: vue.withCtx(() => [
|
|
140
147
|
vue.createElementVNode(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affix.vue2.js","sources":["../../../../../../packages/components/affix/src/affix.vue"],"sourcesContent":["<template>\n <div ref=\"root\" :class=\"ns.b()\" :style=\"rootStyle\">\n <el-teleport :disabled=\"teleportDisabled\" :to=\"appendTo\">\n <div :class=\"{ [ns.m('fixed')]: fixed }\" :style=\"affixStyle\">\n <slot />\n </div>\n </el-teleport>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n useElementBounding,\n useEventListener,\n useWindowSize,\n} from '@vueuse/core'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { addUnit, getScrollContainer, throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { affixEmits
|
|
1
|
+
{"version":3,"file":"affix.vue2.js","sources":["../../../../../../packages/components/affix/src/affix.vue"],"sourcesContent":["<template>\n <div ref=\"root\" :class=\"ns.b()\" :style=\"rootStyle\">\n <el-teleport :disabled=\"teleportDisabled\" :to=\"appendTo\">\n <div :class=\"{ [ns.m('fixed')]: fixed }\" :style=\"affixStyle\">\n <slot />\n </div>\n </el-teleport>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n ref,\n shallowRef,\n watch,\n watchEffect,\n} from 'vue'\nimport {\n useElementBounding,\n useEventListener,\n useWindowSize,\n} from '@vueuse/core'\nimport ElTeleport from '@element-plus/components/teleport'\nimport { addUnit, getScrollContainer, throwError } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { affixEmits } from './affix'\n\nimport type { CSSProperties } from 'vue'\nimport type { AffixProps } from './affix'\n\nconst COMPONENT_NAME = 'ElAffix'\ndefineOptions({\n name: COMPONENT_NAME,\n})\nconst props = withDefaults(defineProps<AffixProps>(), {\n zIndex: 100,\n target: '',\n offset: 0,\n position: 'top',\n appendTo: 'body',\n})\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 left: rootLeft,\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 teleportDisabled = computed(() => {\n return !props.teleported || !fixed.value\n})\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 = addUnit(props.offset)\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 left: props.teleported ? `${rootLeft.value}px` : '',\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 const { position, target, offset } = props\n const rootHeightOffset = offset + rootHeight.value\n\n if (position === 'top') {\n if (target) {\n const difference = targetRect.bottom.value - rootHeightOffset\n fixed.value = offset > rootTop.value && targetRect.bottom.value > 0\n transform.value = difference < 0 ? difference : 0\n } else {\n fixed.value = offset > rootTop.value\n }\n } else if (target) {\n const difference =\n windowHeight.value - targetRect.top.value - rootHeightOffset\n fixed.value =\n windowHeight.value - offset < rootBottom.value &&\n windowHeight.value > targetRect.top.value\n transform.value = difference < 0 ? -difference : 0\n } else {\n fixed.value = windowHeight.value - offset < rootBottom.value\n }\n}\n\nconst updateRootRect = async () => {\n if (!fixed.value) {\n updateRoot()\n return\n }\n\n fixed.value = false\n await nextTick()\n updateRoot()\n fixed.value = true\n}\n\nconst handleScroll = async () => {\n updateRoot()\n await nextTick()\n emit('scroll', {\n scrollTop: scrollTop.value,\n fixed: fixed.value,\n })\n}\n\nwatch(fixed, (val) => emit(CHANGE_EVENT, 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 does not exist: ${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: updateRootRect,\n})\n</script>\n"],"names":["useNamespace","shallowRef","useWindowSize","useElementBounding","ref","computed","addUnit","target","nextTick","watch","CHANGE_EVENT","onMounted","throwError","getScrollContainer","useEventListener","watchEffect","_createElementBlock","_normalizeClass","_unref","_createVNode","ElTeleport","_createElementVNode","_renderSlot"],"mappings":"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"}
|
|
@@ -1,7 +1,22 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ExtractPublicPropTypes } from 'vue';
|
|
2
|
+
export interface AnchorLinkProps {
|
|
3
|
+
/**
|
|
4
|
+
* @description the text content of the anchor link
|
|
5
|
+
*/
|
|
6
|
+
title?: string;
|
|
7
|
+
/**
|
|
8
|
+
* @description The address of the anchor link
|
|
9
|
+
*/
|
|
10
|
+
href?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated Removed after 3.0.0, Use `AnchorLinkProps` instead.
|
|
14
|
+
*/
|
|
2
15
|
export declare const anchorLinkProps: {
|
|
3
16
|
title: StringConstructor;
|
|
4
17
|
href: StringConstructor;
|
|
5
18
|
};
|
|
6
|
-
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated Removed after 3.0.0, Use `AnchorLinkProps` instead.
|
|
21
|
+
*/
|
|
7
22
|
export type AnchorLinkPropsPublic = ExtractPublicPropTypes<typeof anchorLinkProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor-link.js","sources":["../../../../../../packages/components/anchor/src/anchor-link.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\n\nimport type {
|
|
1
|
+
{"version":3,"file":"anchor-link.js","sources":["../../../../../../packages/components/anchor/src/anchor-link.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\n\nimport type { ExtractPublicPropTypes } from 'vue'\n\nexport interface AnchorLinkProps {\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\n/**\n * @deprecated Removed after 3.0.0, Use `AnchorLinkProps` instead.\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\n/**\n * @deprecated Removed after 3.0.0, Use `AnchorLinkProps` instead.\n */\nexport type AnchorLinkPropsPublic = ExtractPublicPropTypes<\n typeof anchorLinkProps\n>\n"],"names":["buildProps"],"mappings":";;;;AAkBO,MAAM,kBAAkBA,kBAAA,CAAW;AAAA;AAAA;AAAA;AAAA,EAIxC,KAAA,EAAO,MAAA;AAAA;AAAA;AAAA;AAAA,EAIP,IAAA,EAAM;AACR,CAAC;;;;"}
|
|
@@ -1,21 +1,38 @@
|
|
|
1
|
+
import type { AnchorLinkProps } from './anchor-link';
|
|
1
2
|
declare var __VLS_1: {}, __VLS_3: {};
|
|
2
3
|
type __VLS_Slots = {} & {
|
|
3
4
|
default?: (props: typeof __VLS_1) => any;
|
|
4
5
|
} & {
|
|
5
6
|
'sub-link'?: (props: typeof __VLS_3) => any;
|
|
6
7
|
};
|
|
7
|
-
declare const __VLS_base: import("vue").DefineComponent<{
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
href:
|
|
13
|
-
}
|
|
8
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<AnchorLinkProps>, {
|
|
9
|
+
href: undefined;
|
|
10
|
+
}>, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<AnchorLinkProps>, {
|
|
11
|
+
href: undefined;
|
|
12
|
+
}>>>, {
|
|
13
|
+
href: string;
|
|
14
|
+
}, {}>;
|
|
14
15
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
15
16
|
declare const _default: typeof __VLS_export;
|
|
16
17
|
export default _default;
|
|
18
|
+
type __VLS_TypePropsToOption<T> = {
|
|
19
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
20
|
+
type: import('vue').PropType<Required<T>[K]>;
|
|
21
|
+
} : {
|
|
22
|
+
type: import('vue').PropType<T[K]>;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
type __VLS_WithDefaultsLocal<P, D> = {
|
|
27
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
28
|
+
default: D[K];
|
|
29
|
+
}> : P[K];
|
|
30
|
+
};
|
|
17
31
|
type __VLS_WithSlots<T, S> = T & {
|
|
18
32
|
new (): {
|
|
19
33
|
$slots: S;
|
|
20
34
|
};
|
|
21
35
|
};
|
|
36
|
+
type __VLS_PrettifyLocal<T> = {
|
|
37
|
+
[K in keyof T as K]: T[K];
|
|
38
|
+
} & {};
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
|
-
var anchorLink = require('./anchor-link.js');
|
|
7
6
|
var constants = require('./constants.js');
|
|
8
7
|
|
|
9
8
|
const _hoisted_1 = ["href"];
|
|
@@ -12,7 +11,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
12
11
|
name: "ElAnchorLink"
|
|
13
12
|
},
|
|
14
13
|
__name: "anchor-link",
|
|
15
|
-
props:
|
|
14
|
+
props: {
|
|
15
|
+
title: { type: String, required: false },
|
|
16
|
+
href: { type: String, required: false, default: void 0 }
|
|
17
|
+
},
|
|
16
18
|
setup(__props) {
|
|
17
19
|
const props = __props;
|
|
18
20
|
const linkRef = vue.ref(null);
|
|
@@ -71,12 +73,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
71
73
|
ref_key: "linkRef",
|
|
72
74
|
ref: linkRef,
|
|
73
75
|
class: vue.normalizeClass(cls.value),
|
|
74
|
-
href:
|
|
76
|
+
href: __props.href,
|
|
75
77
|
onClick: handleClick
|
|
76
78
|
}, [
|
|
77
79
|
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
78
80
|
vue.createTextVNode(
|
|
79
|
-
vue.toDisplayString(
|
|
81
|
+
vue.toDisplayString(__props.title),
|
|
80
82
|
1
|
|
81
83
|
/* TEXT */
|
|
82
84
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor-link.vue2.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 {
|
|
1
|
+
{"version":3,"file":"anchor-link.vue2.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 { anchorKey } from './constants'\n\nimport type { AnchorLinkProps } from './anchor-link'\n\ndefineOptions({\n name: 'ElAnchorLink',\n})\n\nconst props = withDefaults(defineProps<AnchorLinkProps>(), {\n href: undefined,\n})\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","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_renderSlot","$slots"],"mappings":";;;;;;;;;;;;;;;;;;AAgCA,IAAA,MAAM,KAAA,GAAQ,OAAA;AAId,IAAA,MAAM,OAAA,GAAUA,QAAwB,IAAI,CAAA;AAE5C,IAAA,MAAM;AAAA,MACJ,EAAA;AAAA,MACA,SAAA;AAAA,MACA,aAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA,EAAa;AAAA,KACf,GAAIC,WAAOC,mBAAS,CAAA;AAEpB,IAAA,MAAM,GAAA,GAAMC,aAAS,MAAM;AAAA,MACzB,EAAA,CAAG,EAAE,MAAM,CAAA;AAAA,MACX,GAAG,EAAA,CAAG,QAAA,EAAU,aAAA,CAAc,KAAA,KAAU,MAAM,IAAI;AAAA,KACnD,CAAA;AAED,IAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAkB;AACrC,MAAA,kBAAA,CAAmB,CAAA,EAAG,MAAM,IAAI,CAAA;AAAA,IAClC,CAAA;AAEA,IAAAC,SAAA;AAAA,MACE,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,CAAC,KAAK,MAAA,KAAW;AACf,QAAAC,YAAA,CAAS,MAAM;AACb,UAAA,IAAI,MAAA,aAAmB,MAAM,CAAA;AAC7B,UAAA,IAAI,GAAA,EAAK;AACP,YAAA,OAAA,CAAQ;AAAA,cACN,IAAA,EAAM,GAAA;AAAA,cACN,IAAI,OAAA,CAAQ;AAAA,aACb,CAAA;AAAA,UACH;AAAA,QACF,CAAC,CAAA;AAAA,MACH;AAAA,KACF;AAEA,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,MAAM,EAAE,MAAK,GAAI,KAAA;AACjB,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,OAAA,CAAQ;AAAA,UACN,IAAA;AAAA,UACA,IAAI,OAAA,CAAQ;AAAA,SACb,CAAA;AAAA,MACH;AAAA,IACF,CAAC,CAAA;AAED,IAAAC,mBAAA,CAAgB,MAAM;AACpB,MAAA,MAAM,EAAE,MAAK,GAAI,KAAA;AACjB,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,UAAA,CAAW,IAAI,CAAA;AAAA,MACjB;AAAA,IACF,CAAC,CAAA;;8BArFCC,sBAAA;AAAA,QAUM,KAAA;AAAA,QAAA;AAAA,UAVA,OAAKC,kBAAA,CAAEC,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,MAAA,CAAA;AAAA;;UACfC,uBAEI,GAAA,EAAA;AAAA,qBAFG,SAAA;AAAA,YAAJ,GAAA,EAAI,OAAA;AAAA,YAAW,KAAA,qBAAO,GAAA,CAAA,KAAG,CAAA;AAAA,YAAG,MAAM,OAAA,CAAA,IAAA;AAAA,YAAO,OAAA,EAAO;AAAA;YACjDC,eAAwB,IAAA,wBAAxB,MAAwB;AAAA;oCAAf,QAAA,KAAK,CAAA;AAAA,gBAAA;AAAA;AAAA;AAAA;;UAGRC,IAAAA,CAAAA,sBAAsBH,UAAA,SAAA,CAAA,KAAS,UAAA,qBADvCF,sBAAA;AAAA,YAKM,KAAA;AAAA,YAAA;AAAA;cAHH,OAAKC,kBAAA,CAAEC,SAAA,CAAA,EAAA,CAAA,CAAG,CAAA,CAAC,MAAA,CAAA;AAAA;;cAEZE,cAAA,CAAwB,IAAA,CAAA,MAAA,EAAA,UAAA;AAAA;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,42 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ExtractPublicPropTypes } from 'vue';
|
|
2
2
|
import type Anchor from './anchor.vue';
|
|
3
|
+
export interface AnchorProps {
|
|
4
|
+
/**
|
|
5
|
+
* @description scroll container
|
|
6
|
+
*/
|
|
7
|
+
container?: string | HTMLElement | Window | null;
|
|
8
|
+
/**
|
|
9
|
+
* @description Set the offset of the anchor scroll
|
|
10
|
+
*/
|
|
11
|
+
offset?: number;
|
|
12
|
+
/**
|
|
13
|
+
* @description The offset of the element starting to trigger the anchor
|
|
14
|
+
*/
|
|
15
|
+
bound?: number;
|
|
16
|
+
/**
|
|
17
|
+
* @description Set the scroll duration of the container when the anchor is clicked, in milliseconds
|
|
18
|
+
*/
|
|
19
|
+
duration?: number;
|
|
20
|
+
/**
|
|
21
|
+
* @description Whether to show the marker
|
|
22
|
+
*/
|
|
23
|
+
marker?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* @description Set Anchor type
|
|
26
|
+
*/
|
|
27
|
+
type?: 'default' | 'underline';
|
|
28
|
+
/**
|
|
29
|
+
* @description Set Anchor direction
|
|
30
|
+
*/
|
|
31
|
+
direction?: 'vertical' | 'horizontal';
|
|
32
|
+
/**
|
|
33
|
+
* @description Scroll whether link is selected at the top
|
|
34
|
+
*/
|
|
35
|
+
selectScrollTop?: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @deprecated Removed after 3.0.0, Use `AnchorProps` instead.
|
|
39
|
+
*/
|
|
3
40
|
export declare const anchorProps: {
|
|
4
41
|
container: {
|
|
5
42
|
readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => string | HTMLElement | Window) | (() => string | HTMLElement | Window | null) | ((new (...args: any[]) => string | HTMLElement | Window) | (() => string | HTMLElement | Window | null))[], unknown, unknown>>;
|
|
@@ -15,7 +52,9 @@ export declare const anchorProps: {
|
|
|
15
52
|
direction: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical") | ((new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical"))[], unknown, unknown, string, boolean>;
|
|
16
53
|
selectScrollTop: BooleanConstructor;
|
|
17
54
|
};
|
|
18
|
-
|
|
55
|
+
/**
|
|
56
|
+
* @deprecated Removed after 3.0.0, Use `AnchorProps` instead.
|
|
57
|
+
*/
|
|
19
58
|
export type AnchorPropsPublic = ExtractPublicPropTypes<typeof anchorProps>;
|
|
20
59
|
export type AnchorInstance = InstanceType<typeof Anchor> & unknown;
|
|
21
60
|
export declare const anchorEmits: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor.js","sources":["../../../../../../packages/components/anchor/src/anchor.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isString,\n isUndefined,\n} from '@element-plus/utils'\n\nimport type {
|
|
1
|
+
{"version":3,"file":"anchor.js","sources":["../../../../../../packages/components/anchor/src/anchor.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isString,\n isUndefined,\n} from '@element-plus/utils'\n\nimport type { ExtractPublicPropTypes } from 'vue'\nimport type Anchor from './anchor.vue'\n\nexport interface AnchorProps {\n /**\n * @description scroll container\n */\n container?: string | HTMLElement | Window | null\n /**\n * @description Set the offset of the anchor scroll\n */\n offset?: number\n /**\n * @description The offset of the element starting to trigger the anchor\n */\n bound?: number\n /**\n * @description Set the scroll duration of the container when the anchor is clicked, in milliseconds\n */\n duration?: number\n /**\n * @description Whether to show the marker\n */\n marker?: boolean\n /**\n * @description Set Anchor type\n */\n type?: 'default' | 'underline'\n /**\n * @description Set Anchor direction\n */\n direction?: 'vertical' | 'horizontal'\n /**\n * @description Scroll whether link is selected at the top\n */\n selectScrollTop?: boolean\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `AnchorProps` instead.\n */\nexport const anchorProps = buildProps({\n /**\n * @description scroll container\n */\n container: {\n type: definePropType<string | HTMLElement | Window | null>([\n String,\n Object,\n ]),\n },\n /**\n * @description Set the offset of the anchor scroll\n */\n offset: {\n type: Number,\n default: 0,\n },\n /**\n * @description The offset of the element starting to trigger the anchor\n */\n bound: {\n type: Number,\n default: 15,\n },\n /**\n * @description Set the scroll duration of the container when the anchor is clicked, in milliseconds\n */\n duration: {\n type: Number,\n default: 300,\n },\n /**\n * @description Whether to show the marker\n */\n marker: {\n type: Boolean,\n default: true,\n },\n /**\n * @description Set Anchor type\n */\n type: {\n type: definePropType<'default' | 'underline'>(String),\n default: 'default',\n },\n /**\n * @description Set Anchor direction\n */\n direction: {\n type: definePropType<'vertical' | 'horizontal'>(String),\n default: 'vertical',\n },\n /**\n * @description Scroll whether link is selected at the top\n */\n selectScrollTop: Boolean,\n})\n\n/**\n * @deprecated Removed after 3.0.0, Use `AnchorProps` instead.\n */\nexport type AnchorPropsPublic = ExtractPublicPropTypes<typeof anchorProps>\nexport type AnchorInstance = InstanceType<typeof Anchor> & unknown\n\nexport const anchorEmits = {\n change: (href: string) => isString(href),\n click: (e: MouseEvent, href?: string) =>\n e instanceof MouseEvent && (isString(href) || isUndefined(href)),\n}\nexport type AnchorEmits = typeof anchorEmits\n"],"names":["buildProps","definePropType","isString","isUndefined"],"mappings":";;;;;;AAgDO,MAAM,cAAcA,kBAAA,CAAW;AAAA;AAAA;AAAA;AAAA,EAIpC,SAAA,EAAW;AAAA,IACT,MAAMC,sBAAA,CAAqD;AAAA,MACzD,MAAA;AAAA,MACA;AAAA,KACD;AAAA,GACH;AAAA;AAAA;AAAA;AAAA,EAIA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAMA,uBAAwC,MAAM,CAAA;AAAA,IACpD,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,SAAA,EAAW;AAAA,IACT,IAAA,EAAMA,uBAA0C,MAAM,CAAA;AAAA,IACtD,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,eAAA,EAAiB;AACnB,CAAC;AAQM,MAAM,WAAA,GAAc;AAAA,EACzB,MAAA,EAAQ,CAAC,IAAA,KAAiBC,eAAA,CAAS,IAAI,CAAA;AAAA,EACvC,KAAA,EAAO,CAAC,CAAA,EAAe,IAAA,KACrB,CAAA,YAAa,eAAeA,eAAA,CAAS,IAAI,CAAA,IAAKC,iBAAA,CAAY,IAAI,CAAA;AAClE;;;;;"}
|
|
@@ -1,57 +1,59 @@
|
|
|
1
|
+
import type { AnchorProps } from './anchor';
|
|
1
2
|
declare var __VLS_1: {};
|
|
2
3
|
type __VLS_Slots = {} & {
|
|
3
4
|
default?: (props: typeof __VLS_1) => any;
|
|
4
5
|
};
|
|
5
|
-
declare const __VLS_base: import("vue").DefineComponent<{
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
bound: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
|
|
14
|
-
duration: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
|
|
15
|
-
marker: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
|
|
16
|
-
type: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => "default" | "underline") | (() => "default" | "underline") | ((new (...args: any[]) => "default" | "underline") | (() => "default" | "underline"))[], unknown, unknown, string, boolean>;
|
|
17
|
-
direction: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical") | ((new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical"))[], unknown, unknown, string, boolean>;
|
|
18
|
-
selectScrollTop: BooleanConstructor;
|
|
19
|
-
}, {
|
|
6
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<AnchorProps>, {
|
|
7
|
+
offset: number;
|
|
8
|
+
bound: number;
|
|
9
|
+
duration: number;
|
|
10
|
+
marker: boolean;
|
|
11
|
+
type: string;
|
|
12
|
+
direction: string;
|
|
13
|
+
}>, {
|
|
20
14
|
scrollTo: (href?: string) => void;
|
|
21
15
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
22
16
|
click: (e: MouseEvent, href?: string | undefined) => void;
|
|
23
17
|
change: (href: string) => void;
|
|
24
|
-
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
bound: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
|
|
33
|
-
duration: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
|
|
34
|
-
marker: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
|
|
35
|
-
type: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => "default" | "underline") | (() => "default" | "underline") | ((new (...args: any[]) => "default" | "underline") | (() => "default" | "underline"))[], unknown, unknown, string, boolean>;
|
|
36
|
-
direction: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical") | ((new (...args: any[]) => "horizontal" | "vertical") | (() => "horizontal" | "vertical"))[], unknown, unknown, string, boolean>;
|
|
37
|
-
selectScrollTop: BooleanConstructor;
|
|
38
|
-
}>> & {
|
|
18
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<AnchorProps>, {
|
|
19
|
+
offset: number;
|
|
20
|
+
bound: number;
|
|
21
|
+
duration: number;
|
|
22
|
+
marker: boolean;
|
|
23
|
+
type: string;
|
|
24
|
+
direction: string;
|
|
25
|
+
}>>> & {
|
|
39
26
|
onClick?: ((e: MouseEvent, href?: string | undefined) => any) | undefined;
|
|
40
27
|
onChange?: ((href: string) => any) | undefined;
|
|
41
28
|
}, {
|
|
42
|
-
marker:
|
|
43
|
-
direction:
|
|
29
|
+
marker: boolean;
|
|
30
|
+
direction: "vertical" | "horizontal";
|
|
44
31
|
offset: number;
|
|
45
|
-
type:
|
|
32
|
+
type: "default" | "underline";
|
|
46
33
|
duration: number;
|
|
47
34
|
bound: number;
|
|
48
|
-
selectScrollTop: boolean;
|
|
49
35
|
}, {}>;
|
|
50
36
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
51
37
|
declare const _default: typeof __VLS_export;
|
|
52
38
|
export default _default;
|
|
39
|
+
type __VLS_TypePropsToOption<T> = {
|
|
40
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
41
|
+
type: import('vue').PropType<Required<T>[K]>;
|
|
42
|
+
} : {
|
|
43
|
+
type: import('vue').PropType<T[K]>;
|
|
44
|
+
required: true;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
type __VLS_WithDefaultsLocal<P, D> = {
|
|
48
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
49
|
+
default: D[K];
|
|
50
|
+
}> : P[K];
|
|
51
|
+
};
|
|
53
52
|
type __VLS_WithSlots<T, S> = T & {
|
|
54
53
|
new (): {
|
|
55
54
|
$slots: S;
|
|
56
55
|
};
|
|
57
56
|
};
|
|
57
|
+
type __VLS_PrettifyLocal<T> = {
|
|
58
|
+
[K in keyof T as K]: T[K];
|
|
59
|
+
} & {};
|
|
@@ -19,7 +19,16 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
19
19
|
name: "ElAnchor"
|
|
20
20
|
},
|
|
21
21
|
__name: "anchor",
|
|
22
|
-
props:
|
|
22
|
+
props: {
|
|
23
|
+
container: { type: null, required: false },
|
|
24
|
+
offset: { type: Number, required: false, default: 0 },
|
|
25
|
+
bound: { type: Number, required: false, default: 15 },
|
|
26
|
+
duration: { type: Number, required: false, default: 300 },
|
|
27
|
+
marker: { type: Boolean, required: false, default: true },
|
|
28
|
+
type: { type: String, required: false, default: "default" },
|
|
29
|
+
direction: { type: String, required: false, default: "vertical" },
|
|
30
|
+
selectScrollTop: { type: Boolean, required: false }
|
|
31
|
+
},
|
|
23
32
|
emits: anchor.anchorEmits,
|
|
24
33
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
25
34
|
const props = __props;
|
|
@@ -205,7 +214,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
205
214
|
class: vue.normalizeClass(cls.value)
|
|
206
215
|
},
|
|
207
216
|
[
|
|
208
|
-
|
|
217
|
+
__props.marker ? (vue.openBlock(), vue.createElementBlock(
|
|
209
218
|
"div",
|
|
210
219
|
{
|
|
211
220
|
key: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor.vue2.js","sources":["../../../../../../packages/components/anchor/src/anchor.vue"],"sourcesContent":["<template>\n <div ref=\"anchorRef\" :class=\"cls\">\n <div\n v-if=\"marker\"\n ref=\"markerRef\"\n :class=\"ns.e('marker')\"\n :style=\"markerStyle\"\n />\n <div :class=\"ns.e('list')\">\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { useNamespace } from '@element-plus/hooks'\nimport {\n animateScrollTo,\n getElement,\n getOffsetTopDistance,\n getScrollElement,\n getScrollTop,\n isUndefined,\n isWindow,\n throttleByRaf,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { anchorEmits, anchorProps } from './anchor'\nimport { anchorKey } from './constants'\n\nimport type { CSSProperties } from 'vue'\nimport type { AnchorLinkState } from './constants'\n\ndefineOptions({\n name: 'ElAnchor',\n})\n\nconst props = defineProps(anchorProps)\nconst emit = defineEmits(anchorEmits)\nconst slots = useSlots()\n\nconst currentAnchor = ref('')\nconst markerStyle = ref<CSSProperties>({})\nconst anchorRef = ref<HTMLElement | null>(null)\nconst markerRef = ref<HTMLElement | null>(null)\nconst containerEl = ref<HTMLElement | Window>()\n\nconst links: Record<string, HTMLElement> = {}\nlet isScrolling = false\nlet currentScrollTop = 0\n\nconst ns = useNamespace('anchor')\n\nconst cls = computed(() => [\n ns.b(),\n props.type === 'underline' ? ns.m('underline') : '',\n ns.m(props.direction),\n])\n\nconst addLink = (state: AnchorLinkState) => {\n links[state.href] = state.el\n}\n\nconst removeLink = (href: string) => {\n delete links[href]\n}\n\nconst setCurrentAnchor = (href: string) => {\n const activeHref = currentAnchor.value\n if (activeHref !== href) {\n currentAnchor.value = href\n emit(CHANGE_EVENT, href)\n }\n}\n\nlet clearAnimate: (() => void) | null = null\nlet currentTargetHref = ''\n\nconst scrollToAnchor = (href: string) => {\n if (!containerEl.value) return\n const target = getElement(href)\n if (!target) return\n\n if (clearAnimate) {\n if (currentTargetHref === href) return\n clearAnimate()\n }\n\n currentTargetHref = href\n isScrolling = true\n const scrollEle = getScrollElement(target, containerEl.value)\n const distance = getOffsetTopDistance(target, scrollEle)\n const max = scrollEle.scrollHeight - scrollEle.clientHeight\n const to = Math.min(distance - props.offset, max)\n clearAnimate = animateScrollTo(\n containerEl.value,\n currentScrollTop,\n to,\n props.duration,\n () => {\n // make sure it is executed after throttleByRaf's handleScroll\n setTimeout(() => {\n isScrolling = false\n currentTargetHref = ''\n }, 20)\n }\n )\n}\n\nconst scrollTo = (href?: string) => {\n if (href) {\n setCurrentAnchor(href)\n scrollToAnchor(href)\n }\n}\n\nconst handleClick = (e: MouseEvent, href?: string) => {\n emit('click', e, href)\n scrollTo(href)\n}\n\nconst handleScroll = throttleByRaf(() => {\n if (containerEl.value) {\n currentScrollTop = getScrollTop(containerEl.value)\n }\n const currentHref = getCurrentHref()\n if (isScrolling || isUndefined(currentHref)) return\n setCurrentAnchor(currentHref)\n})\n\nconst getCurrentHref = () => {\n if (!containerEl.value) return\n const scrollTop = getScrollTop(containerEl.value)\n const anchorTopList: { top: number; href: string }[] = []\n\n for (const href of Object.keys(links)) {\n const target = getElement(href)\n if (!target) continue\n const scrollEle = getScrollElement(target, containerEl.value)\n const distance = getOffsetTopDistance(target, scrollEle)\n anchorTopList.push({\n top: distance - props.offset - props.bound,\n href,\n })\n }\n anchorTopList.sort((prev, next) => prev.top - next.top)\n for (let i = 0; i < anchorTopList.length; i++) {\n const item = anchorTopList[i]\n const next = anchorTopList[i + 1]\n\n if (i === 0 && scrollTop === 0) {\n return props.selectScrollTop ? item.href : ''\n }\n if (item.top <= scrollTop && (!next || next.top > scrollTop)) {\n return item.href\n }\n }\n}\n\nconst getContainer = () => {\n const el = getElement(props.container)\n if (!el || isWindow(el)) {\n containerEl.value = window\n } else {\n containerEl.value = el\n }\n}\n\nuseEventListener(containerEl, 'scroll', handleScroll)\n\nconst updateMarkerStyle = () => {\n nextTick(() => {\n if (!anchorRef.value || !markerRef.value || !currentAnchor.value) {\n markerStyle.value = {}\n return\n }\n const currentLinkEl = links[currentAnchor.value]\n if (!currentLinkEl) {\n markerStyle.value = {}\n return\n }\n const anchorRect = anchorRef.value.getBoundingClientRect()\n const markerRect = markerRef.value.getBoundingClientRect()\n const linkRect = currentLinkEl.getBoundingClientRect()\n\n if (props.direction === 'horizontal') {\n const left = linkRect.left - anchorRect.left\n markerStyle.value = {\n left: `${left}px`,\n width: `${linkRect.width}px`,\n opacity: 1,\n }\n } else {\n const top =\n linkRect.top -\n anchorRect.top +\n (linkRect.height - markerRect.height) / 2\n markerStyle.value = {\n top: `${top}px`,\n opacity: 1,\n }\n }\n })\n}\n\nwatch(currentAnchor, updateMarkerStyle)\nwatch(() => slots.default?.(), updateMarkerStyle)\n\nonMounted(() => {\n getContainer()\n const hash = decodeURIComponent(window.location.hash)\n const target = getElement(hash)\n if (target) {\n scrollTo(hash)\n } else {\n handleScroll()\n }\n})\n\nwatch(\n () => props.container,\n () => {\n getContainer()\n }\n)\n\nprovide(anchorKey, {\n ns,\n direction: props.direction,\n currentAnchor,\n addLink,\n removeLink,\n handleClick,\n})\n\ndefineExpose({\n scrollTo,\n})\n</script>\n"],"names":["useSlots","ref","useNamespace","computed","CHANGE_EVENT","getElement","getScrollElement","getOffsetTopDistance","animateScrollTo","throttleByRaf","getScrollTop","isUndefined","isWindow","useEventListener","nextTick","watch","onMounted","provide","anchorKey","_createElementBlock","marker","_normalizeClass","_unref","_createElementVNode","_renderSlot"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anchor.vue2.js","sources":["../../../../../../packages/components/anchor/src/anchor.vue"],"sourcesContent":["<template>\n <div ref=\"anchorRef\" :class=\"cls\">\n <div\n v-if=\"marker\"\n ref=\"markerRef\"\n :class=\"ns.e('marker')\"\n :style=\"markerStyle\"\n />\n <div :class=\"ns.e('list')\">\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n provide,\n ref,\n useSlots,\n watch,\n} from 'vue'\nimport { useEventListener } from '@vueuse/core'\nimport { useNamespace } from '@element-plus/hooks'\nimport {\n animateScrollTo,\n getElement,\n getOffsetTopDistance,\n getScrollElement,\n getScrollTop,\n isUndefined,\n isWindow,\n throttleByRaf,\n} from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\nimport { anchorEmits } from './anchor'\nimport { anchorKey } from './constants'\n\nimport type { CSSProperties } from 'vue'\nimport type { AnchorProps } from './anchor'\nimport type { AnchorLinkState } from './constants'\n\ndefineOptions({\n name: 'ElAnchor',\n})\n\nconst props = withDefaults(defineProps<AnchorProps>(), {\n offset: 0,\n bound: 15,\n duration: 300,\n marker: true,\n type: 'default',\n direction: 'vertical',\n})\nconst emit = defineEmits(anchorEmits)\nconst slots = useSlots()\n\nconst currentAnchor = ref('')\nconst markerStyle = ref<CSSProperties>({})\nconst anchorRef = ref<HTMLElement | null>(null)\nconst markerRef = ref<HTMLElement | null>(null)\nconst containerEl = ref<HTMLElement | Window>()\n\nconst links: Record<string, HTMLElement> = {}\nlet isScrolling = false\nlet currentScrollTop = 0\n\nconst ns = useNamespace('anchor')\n\nconst cls = computed(() => [\n ns.b(),\n props.type === 'underline' ? ns.m('underline') : '',\n ns.m(props.direction),\n])\n\nconst addLink = (state: AnchorLinkState) => {\n links[state.href] = state.el\n}\n\nconst removeLink = (href: string) => {\n delete links[href]\n}\n\nconst setCurrentAnchor = (href: string) => {\n const activeHref = currentAnchor.value\n if (activeHref !== href) {\n currentAnchor.value = href\n emit(CHANGE_EVENT, href)\n }\n}\n\nlet clearAnimate: (() => void) | null = null\nlet currentTargetHref = ''\n\nconst scrollToAnchor = (href: string) => {\n if (!containerEl.value) return\n const target = getElement(href)\n if (!target) return\n\n if (clearAnimate) {\n if (currentTargetHref === href) return\n clearAnimate()\n }\n\n currentTargetHref = href\n isScrolling = true\n const scrollEle = getScrollElement(target, containerEl.value)\n const distance = getOffsetTopDistance(target, scrollEle)\n const max = scrollEle.scrollHeight - scrollEle.clientHeight\n const to = Math.min(distance - props.offset, max)\n clearAnimate = animateScrollTo(\n containerEl.value,\n currentScrollTop,\n to,\n props.duration,\n () => {\n // make sure it is executed after throttleByRaf's handleScroll\n setTimeout(() => {\n isScrolling = false\n currentTargetHref = ''\n }, 20)\n }\n )\n}\n\nconst scrollTo = (href?: string) => {\n if (href) {\n setCurrentAnchor(href)\n scrollToAnchor(href)\n }\n}\n\nconst handleClick = (e: MouseEvent, href?: string) => {\n emit('click', e, href)\n scrollTo(href)\n}\n\nconst handleScroll = throttleByRaf(() => {\n if (containerEl.value) {\n currentScrollTop = getScrollTop(containerEl.value)\n }\n const currentHref = getCurrentHref()\n if (isScrolling || isUndefined(currentHref)) return\n setCurrentAnchor(currentHref)\n})\n\nconst getCurrentHref = () => {\n if (!containerEl.value) return\n const scrollTop = getScrollTop(containerEl.value)\n const anchorTopList: { top: number; href: string }[] = []\n\n for (const href of Object.keys(links)) {\n const target = getElement(href)\n if (!target) continue\n const scrollEle = getScrollElement(target, containerEl.value)\n const distance = getOffsetTopDistance(target, scrollEle)\n anchorTopList.push({\n top: distance - props.offset - props.bound,\n href,\n })\n }\n anchorTopList.sort((prev, next) => prev.top - next.top)\n for (let i = 0; i < anchorTopList.length; i++) {\n const item = anchorTopList[i]\n const next = anchorTopList[i + 1]\n\n if (i === 0 && scrollTop === 0) {\n return props.selectScrollTop ? item.href : ''\n }\n if (item.top <= scrollTop && (!next || next.top > scrollTop)) {\n return item.href\n }\n }\n}\n\nconst getContainer = () => {\n const el = getElement(props.container)\n if (!el || isWindow(el)) {\n containerEl.value = window\n } else {\n containerEl.value = el\n }\n}\n\nuseEventListener(containerEl, 'scroll', handleScroll)\n\nconst updateMarkerStyle = () => {\n nextTick(() => {\n if (!anchorRef.value || !markerRef.value || !currentAnchor.value) {\n markerStyle.value = {}\n return\n }\n const currentLinkEl = links[currentAnchor.value]\n if (!currentLinkEl) {\n markerStyle.value = {}\n return\n }\n const anchorRect = anchorRef.value.getBoundingClientRect()\n const markerRect = markerRef.value.getBoundingClientRect()\n const linkRect = currentLinkEl.getBoundingClientRect()\n\n if (props.direction === 'horizontal') {\n const left = linkRect.left - anchorRect.left\n markerStyle.value = {\n left: `${left}px`,\n width: `${linkRect.width}px`,\n opacity: 1,\n }\n } else {\n const top =\n linkRect.top -\n anchorRect.top +\n (linkRect.height - markerRect.height) / 2\n markerStyle.value = {\n top: `${top}px`,\n opacity: 1,\n }\n }\n })\n}\n\nwatch(currentAnchor, updateMarkerStyle)\nwatch(() => slots.default?.(), updateMarkerStyle)\n\nonMounted(() => {\n getContainer()\n const hash = decodeURIComponent(window.location.hash)\n const target = getElement(hash)\n if (target) {\n scrollTo(hash)\n } else {\n handleScroll()\n }\n})\n\nwatch(\n () => props.container,\n () => {\n getContainer()\n }\n)\n\nprovide(anchorKey, {\n ns,\n direction: props.direction,\n currentAnchor,\n addLink,\n removeLink,\n handleClick,\n})\n\ndefineExpose({\n scrollTo,\n})\n</script>\n"],"names":["useSlots","ref","useNamespace","computed","CHANGE_EVENT","getElement","getScrollElement","getOffsetTopDistance","animateScrollTo","throttleByRaf","getScrollTop","isUndefined","isWindow","useEventListener","nextTick","watch","onMounted","provide","anchorKey","_createElementBlock","_normalizeClass","_unref","_createElementVNode","_renderSlot"],"mappings":"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"}
|
|
@@ -511,6 +511,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
511
511
|
readonly modelValue: import("@element-plus/nightly/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
|
|
512
512
|
readonly placement: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => "left" | "right" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement) | ((new (...args: any[]) => "left" | "right" | "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import("element-plus").Placement))[], "top" | "bottom" | "top-start" | "top-end" | "bottom-start" | "bottom-end", unknown>;
|
|
513
513
|
readonly teleported: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
514
|
+
readonly inputmode: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | ((new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined))[], unknown, unknown>;
|
|
514
515
|
readonly modelModifiers: import("@element-plus/nightly/es/components/input").InputModelModifiers;
|
|
515
516
|
readonly autosize: import("@element-plus/nightly/es/components/input").InputAutoSize;
|
|
516
517
|
readonly autocomplete: AutoFill;
|
|
@@ -519,7 +520,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
519
520
|
readonly validateEvent: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
520
521
|
readonly inputStyle: StyleValue;
|
|
521
522
|
readonly rows: number;
|
|
522
|
-
readonly inputmode: import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined) | ((new (...args: any[]) => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal") | (() => "search" | "text" | "none" | "url" | "email" | "tel" | "numeric" | "decimal" | undefined))[], unknown, unknown>;
|
|
523
523
|
readonly readonly: boolean;
|
|
524
524
|
readonly clearable: boolean;
|
|
525
525
|
readonly showPassword: boolean;
|
|
@@ -23,7 +23,7 @@ const useBasicDateTable = (props, emit) => {
|
|
|
23
23
|
const firstDayOfWeek = props.date.$locale().weekStart || 7;
|
|
24
24
|
const WEEKS_CONSTANT = props.date.locale("en").localeData().weekdaysShort().map((_) => _.toLowerCase());
|
|
25
25
|
const offsetDay = vue.computed(() => {
|
|
26
|
-
return firstDayOfWeek > 3 ? 7 - firstDayOfWeek :
|
|
26
|
+
return firstDayOfWeek > 3 ? 7 - firstDayOfWeek : firstDayOfWeek;
|
|
27
27
|
});
|
|
28
28
|
const startDate = vue.computed(() => {
|
|
29
29
|
const startDayOfMonth = props.date.startOf("month");
|