@element-plus/nightly 0.0.20231221 → 0.0.20231223
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 +44 -31
- package/dist/index.full.min.js +8 -8
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +9 -9
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +44 -31
- 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/alert/index.mjs +2 -2
- package/es/components/alert/src/alert.mjs +96 -36
- package/es/components/alert/src/alert.mjs.map +1 -1
- package/es/components/alert/src/alert2.mjs +36 -96
- package/es/components/alert/src/alert2.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete2.mjs +11 -9
- package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
- package/es/components/collapse/index.d.ts +2 -2
- package/es/components/collapse/src/collapse.d.ts +3 -3
- package/es/components/collapse/src/collapse.mjs +2 -1
- package/es/components/collapse/src/collapse.mjs.map +1 -1
- package/es/components/collapse/src/collapse.vue.d.ts +2 -2
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +2 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
- package/es/components/date-picker/src/panel-utils.d.ts +1 -1
- package/es/components/index.mjs +4 -4
- package/es/components/input/src/input2.mjs +1 -3
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/input-number/index.mjs +2 -2
- package/es/components/input-number/src/input-number.mjs +58 -313
- package/es/components/input-number/src/input-number.mjs.map +1 -1
- package/es/components/input-number/src/input-number2.mjs +313 -58
- package/es/components/input-number/src/input-number2.mjs.map +1 -1
- package/es/components/menu/index.d.ts +20 -18
- package/es/components/menu/src/menu.d.ts +11 -0
- package/es/components/menu/src/menu.mjs +9 -0
- package/es/components/menu/src/menu.mjs.map +1 -1
- package/es/components/menu/src/sub-menu.d.ts +9 -12
- package/es/components/menu/src/sub-menu.mjs +19 -16
- package/es/components/menu/src/sub-menu.mjs.map +1 -1
- package/es/components/tabs/index.mjs +2 -2
- package/es/components/tabs/src/tab-pane.mjs +13 -72
- package/es/components/tabs/src/tab-pane.mjs.map +1 -1
- package/es/components/tabs/src/tab-pane2.mjs +72 -13
- package/es/components/tabs/src/tab-pane2.mjs.map +1 -1
- package/es/components/timeline/index.mjs +2 -2
- package/es/components/timeline/src/timeline-item.mjs +42 -72
- package/es/components/timeline/src/timeline-item.mjs.map +1 -1
- package/es/components/timeline/src/timeline-item2.mjs +72 -42
- package/es/components/timeline/src/timeline-item2.mjs.map +1 -1
- package/es/index.mjs +4 -4
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/alert/index.js +2 -2
- package/lib/components/alert/src/alert.js +95 -37
- package/lib/components/alert/src/alert.js.map +1 -1
- package/lib/components/alert/src/alert2.js +37 -95
- package/lib/components/alert/src/alert2.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete2.js +10 -8
- package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
- package/lib/components/collapse/index.d.ts +2 -2
- package/lib/components/collapse/src/collapse.d.ts +3 -3
- package/lib/components/collapse/src/collapse.js +2 -1
- package/lib/components/collapse/src/collapse.js.map +1 -1
- package/lib/components/collapse/src/collapse.vue.d.ts +2 -2
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +2 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.vue.d.ts +1 -1
- package/lib/components/date-picker/src/panel-utils.d.ts +1 -1
- package/lib/components/index.js +4 -4
- package/lib/components/input/src/input2.js +1 -3
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/input-number/index.js +2 -2
- package/lib/components/input-number/src/input-number.js +57 -311
- package/lib/components/input-number/src/input-number.js.map +1 -1
- package/lib/components/input-number/src/input-number2.js +311 -57
- package/lib/components/input-number/src/input-number2.js.map +1 -1
- package/lib/components/menu/index.d.ts +20 -18
- package/lib/components/menu/src/menu.d.ts +11 -0
- package/lib/components/menu/src/menu.js +9 -0
- package/lib/components/menu/src/menu.js.map +1 -1
- package/lib/components/menu/src/sub-menu.d.ts +9 -12
- package/lib/components/menu/src/sub-menu.js +19 -16
- package/lib/components/menu/src/sub-menu.js.map +1 -1
- package/lib/components/tabs/index.js +2 -2
- package/lib/components/tabs/src/tab-pane.js +13 -72
- package/lib/components/tabs/src/tab-pane.js.map +1 -1
- package/lib/components/tabs/src/tab-pane2.js +72 -13
- package/lib/components/tabs/src/tab-pane2.js.map +1 -1
- package/lib/components/timeline/index.js +2 -2
- package/lib/components/timeline/src/timeline-item.js +42 -72
- package/lib/components/timeline/src/timeline-item.js.map +1 -1
- package/lib/components/timeline/src/timeline-item2.js +72 -42
- package/lib/components/timeline/src/timeline-item2.js.map +1 -1
- package/lib/index.js +4 -4
- 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/tags.json +1 -1
- package/web-types.json +1 -1
|
@@ -1,67 +1,322 @@
|
|
|
1
|
+
import { defineComponent, ref, reactive, computed, watch, onMounted, onUpdated, openBlock, createElementBlock, normalizeClass, unref, withModifiers, withDirectives, withKeys, createVNode, withCtx, createBlock, createCommentVNode } from 'vue';
|
|
1
2
|
import { isNil } from 'lodash-unified';
|
|
3
|
+
import { ElInput } from '../../input/index.mjs';
|
|
4
|
+
import { ElIcon } from '../../icon/index.mjs';
|
|
5
|
+
import '../../form/index.mjs';
|
|
6
|
+
import '../../../directives/index.mjs';
|
|
2
7
|
import '../../../hooks/index.mjs';
|
|
3
8
|
import '../../../utils/index.mjs';
|
|
9
|
+
import { ArrowDown, Minus, ArrowUp, Plus } from '@element-plus/icons-vue';
|
|
4
10
|
import '../../../constants/index.mjs';
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
11
|
+
import { inputNumberProps, inputNumberEmits } from './input-number.mjs';
|
|
12
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
|
13
|
+
import { useLocale } from '../../../hooks/use-locale/index.mjs';
|
|
14
|
+
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
15
|
+
import { useFormItem } from '../../form/src/hooks/use-form-item.mjs';
|
|
16
|
+
import { isNumber, isUndefined } from '../../../utils/types.mjs';
|
|
17
|
+
import { debugWarn, throwError } from '../../../utils/error.mjs';
|
|
18
|
+
import { useFormSize, useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
|
|
19
|
+
import { INPUT_EVENT, UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';
|
|
20
|
+
import { isString } from '@vue/shared';
|
|
21
|
+
import { vRepeatClick } from '../../../directives/repeat-click/index.mjs';
|
|
9
22
|
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
23
|
+
const _hoisted_1 = ["aria-label", "onKeydown"];
|
|
24
|
+
const _hoisted_2 = ["aria-label", "onKeydown"];
|
|
25
|
+
const __default__ = defineComponent({
|
|
26
|
+
name: "ElInputNumber"
|
|
27
|
+
});
|
|
28
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
29
|
+
...__default__,
|
|
30
|
+
props: inputNumberProps,
|
|
31
|
+
emits: inputNumberEmits,
|
|
32
|
+
setup(__props, { expose, emit }) {
|
|
33
|
+
const props = __props;
|
|
34
|
+
const { t } = useLocale();
|
|
35
|
+
const ns = useNamespace("input-number");
|
|
36
|
+
const input = ref();
|
|
37
|
+
const data = reactive({
|
|
38
|
+
currentValue: props.modelValue,
|
|
39
|
+
userInput: null
|
|
40
|
+
});
|
|
41
|
+
const { formItem } = useFormItem();
|
|
42
|
+
const minDisabled = computed(() => isNumber(props.modelValue) && props.modelValue <= props.min);
|
|
43
|
+
const maxDisabled = computed(() => isNumber(props.modelValue) && props.modelValue >= props.max);
|
|
44
|
+
const numPrecision = computed(() => {
|
|
45
|
+
const stepPrecision = getPrecision(props.step);
|
|
46
|
+
if (!isUndefined(props.precision)) {
|
|
47
|
+
if (stepPrecision > props.precision) {
|
|
48
|
+
debugWarn("InputNumber", "precision should not be less than the decimal places of step");
|
|
49
|
+
}
|
|
50
|
+
return props.precision;
|
|
51
|
+
} else {
|
|
52
|
+
return Math.max(getPrecision(props.modelValue), stepPrecision);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
const controlsAtRight = computed(() => {
|
|
56
|
+
return props.controls && props.controlsPosition === "right";
|
|
57
|
+
});
|
|
58
|
+
const inputNumberSize = useFormSize();
|
|
59
|
+
const inputNumberDisabled = useFormDisabled();
|
|
60
|
+
const displayValue = computed(() => {
|
|
61
|
+
if (data.userInput !== null) {
|
|
62
|
+
return data.userInput;
|
|
63
|
+
}
|
|
64
|
+
let currentValue = data.currentValue;
|
|
65
|
+
if (isNil(currentValue))
|
|
66
|
+
return "";
|
|
67
|
+
if (isNumber(currentValue)) {
|
|
68
|
+
if (Number.isNaN(currentValue))
|
|
69
|
+
return "";
|
|
70
|
+
if (!isUndefined(props.precision)) {
|
|
71
|
+
currentValue = currentValue.toFixed(props.precision);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return currentValue;
|
|
75
|
+
});
|
|
76
|
+
const toPrecision = (num, pre) => {
|
|
77
|
+
if (isUndefined(pre))
|
|
78
|
+
pre = numPrecision.value;
|
|
79
|
+
if (pre === 0)
|
|
80
|
+
return Math.round(num);
|
|
81
|
+
let snum = String(num);
|
|
82
|
+
const pointPos = snum.indexOf(".");
|
|
83
|
+
if (pointPos === -1)
|
|
84
|
+
return num;
|
|
85
|
+
const nums = snum.replace(".", "").split("");
|
|
86
|
+
const datum = nums[pointPos + pre];
|
|
87
|
+
if (!datum)
|
|
88
|
+
return num;
|
|
89
|
+
const length = snum.length;
|
|
90
|
+
if (snum.charAt(length - 1) === "5") {
|
|
91
|
+
snum = `${snum.slice(0, Math.max(0, length - 1))}6`;
|
|
92
|
+
}
|
|
93
|
+
return Number.parseFloat(Number(snum).toFixed(pre));
|
|
94
|
+
};
|
|
95
|
+
const getPrecision = (value) => {
|
|
96
|
+
if (isNil(value))
|
|
97
|
+
return 0;
|
|
98
|
+
const valueString = value.toString();
|
|
99
|
+
const dotPosition = valueString.indexOf(".");
|
|
100
|
+
let precision = 0;
|
|
101
|
+
if (dotPosition !== -1) {
|
|
102
|
+
precision = valueString.length - dotPosition - 1;
|
|
103
|
+
}
|
|
104
|
+
return precision;
|
|
105
|
+
};
|
|
106
|
+
const ensurePrecision = (val, coefficient = 1) => {
|
|
107
|
+
if (!isNumber(val))
|
|
108
|
+
return data.currentValue;
|
|
109
|
+
return toPrecision(val + props.step * coefficient);
|
|
110
|
+
};
|
|
111
|
+
const increase = () => {
|
|
112
|
+
if (props.readonly || inputNumberDisabled.value || maxDisabled.value)
|
|
113
|
+
return;
|
|
114
|
+
const value = Number(displayValue.value) || 0;
|
|
115
|
+
const newVal = ensurePrecision(value);
|
|
116
|
+
setCurrentValue(newVal);
|
|
117
|
+
emit(INPUT_EVENT, data.currentValue);
|
|
118
|
+
};
|
|
119
|
+
const decrease = () => {
|
|
120
|
+
if (props.readonly || inputNumberDisabled.value || minDisabled.value)
|
|
121
|
+
return;
|
|
122
|
+
const value = Number(displayValue.value) || 0;
|
|
123
|
+
const newVal = ensurePrecision(value, -1);
|
|
124
|
+
setCurrentValue(newVal);
|
|
125
|
+
emit(INPUT_EVENT, data.currentValue);
|
|
126
|
+
};
|
|
127
|
+
const verifyValue = (value, update) => {
|
|
128
|
+
const { max, min, step, precision, stepStrictly, valueOnClear } = props;
|
|
129
|
+
if (max < min) {
|
|
130
|
+
throwError("InputNumber", "min should not be greater than max.");
|
|
131
|
+
}
|
|
132
|
+
let newVal = Number(value);
|
|
133
|
+
if (isNil(value) || Number.isNaN(newVal)) {
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
if (value === "") {
|
|
137
|
+
if (valueOnClear === null) {
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
newVal = isString(valueOnClear) ? { min, max }[valueOnClear] : valueOnClear;
|
|
141
|
+
}
|
|
142
|
+
if (stepStrictly) {
|
|
143
|
+
newVal = toPrecision(Math.round(newVal / step) * step, precision);
|
|
144
|
+
}
|
|
145
|
+
if (!isUndefined(precision)) {
|
|
146
|
+
newVal = toPrecision(newVal, precision);
|
|
147
|
+
}
|
|
148
|
+
if (newVal > max || newVal < min) {
|
|
149
|
+
newVal = newVal > max ? max : min;
|
|
150
|
+
update && emit(UPDATE_MODEL_EVENT, newVal);
|
|
151
|
+
}
|
|
152
|
+
return newVal;
|
|
153
|
+
};
|
|
154
|
+
const setCurrentValue = (value, emitChange = true) => {
|
|
155
|
+
var _a;
|
|
156
|
+
const oldVal = data.currentValue;
|
|
157
|
+
const newVal = verifyValue(value);
|
|
158
|
+
if (!emitChange) {
|
|
159
|
+
emit(UPDATE_MODEL_EVENT, newVal);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (oldVal === newVal)
|
|
163
|
+
return;
|
|
164
|
+
data.userInput = null;
|
|
165
|
+
emit(UPDATE_MODEL_EVENT, newVal);
|
|
166
|
+
emit(CHANGE_EVENT, newVal, oldVal);
|
|
167
|
+
if (props.validateEvent) {
|
|
168
|
+
(_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn(err));
|
|
169
|
+
}
|
|
170
|
+
data.currentValue = newVal;
|
|
171
|
+
};
|
|
172
|
+
const handleInput = (value) => {
|
|
173
|
+
data.userInput = value;
|
|
174
|
+
const newVal = value === "" ? null : Number(value);
|
|
175
|
+
emit(INPUT_EVENT, newVal);
|
|
176
|
+
setCurrentValue(newVal, false);
|
|
177
|
+
};
|
|
178
|
+
const handleInputChange = (value) => {
|
|
179
|
+
const newVal = value !== "" ? Number(value) : "";
|
|
180
|
+
if (isNumber(newVal) && !Number.isNaN(newVal) || value === "") {
|
|
181
|
+
setCurrentValue(newVal);
|
|
182
|
+
}
|
|
183
|
+
data.userInput = null;
|
|
184
|
+
};
|
|
185
|
+
const focus = () => {
|
|
186
|
+
var _a, _b;
|
|
187
|
+
(_b = (_a = input.value) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);
|
|
188
|
+
};
|
|
189
|
+
const blur = () => {
|
|
190
|
+
var _a, _b;
|
|
191
|
+
(_b = (_a = input.value) == null ? void 0 : _a.blur) == null ? void 0 : _b.call(_a);
|
|
192
|
+
};
|
|
193
|
+
const handleFocus = (event) => {
|
|
194
|
+
emit("focus", event);
|
|
195
|
+
};
|
|
196
|
+
const handleBlur = (event) => {
|
|
197
|
+
var _a;
|
|
198
|
+
data.userInput = null;
|
|
199
|
+
emit("blur", event);
|
|
200
|
+
if (props.validateEvent) {
|
|
201
|
+
(_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "blur").catch((err) => debugWarn(err));
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
watch(() => props.modelValue, (value, oldValue) => {
|
|
205
|
+
const newValue = verifyValue(value, true);
|
|
206
|
+
if (data.userInput === null && newValue !== oldValue) {
|
|
207
|
+
data.currentValue = newValue;
|
|
208
|
+
}
|
|
209
|
+
}, { immediate: true });
|
|
210
|
+
onMounted(() => {
|
|
211
|
+
var _a;
|
|
212
|
+
const { min, max, modelValue } = props;
|
|
213
|
+
const innerInput = (_a = input.value) == null ? void 0 : _a.input;
|
|
214
|
+
innerInput.setAttribute("role", "spinbutton");
|
|
215
|
+
if (Number.isFinite(max)) {
|
|
216
|
+
innerInput.setAttribute("aria-valuemax", String(max));
|
|
217
|
+
} else {
|
|
218
|
+
innerInput.removeAttribute("aria-valuemax");
|
|
219
|
+
}
|
|
220
|
+
if (Number.isFinite(min)) {
|
|
221
|
+
innerInput.setAttribute("aria-valuemin", String(min));
|
|
222
|
+
} else {
|
|
223
|
+
innerInput.removeAttribute("aria-valuemin");
|
|
224
|
+
}
|
|
225
|
+
innerInput.setAttribute("aria-valuenow", data.currentValue || data.currentValue === 0 ? String(data.currentValue) : "");
|
|
226
|
+
innerInput.setAttribute("aria-disabled", String(inputNumberDisabled.value));
|
|
227
|
+
if (!isNumber(modelValue) && modelValue != null) {
|
|
228
|
+
let val = Number(modelValue);
|
|
229
|
+
if (Number.isNaN(val)) {
|
|
230
|
+
val = null;
|
|
231
|
+
}
|
|
232
|
+
emit(UPDATE_MODEL_EVENT, val);
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
onUpdated(() => {
|
|
236
|
+
var _a, _b;
|
|
237
|
+
const innerInput = (_a = input.value) == null ? void 0 : _a.input;
|
|
238
|
+
innerInput == null ? void 0 : innerInput.setAttribute("aria-valuenow", `${(_b = data.currentValue) != null ? _b : ""}`);
|
|
239
|
+
});
|
|
240
|
+
expose({
|
|
241
|
+
focus,
|
|
242
|
+
blur
|
|
243
|
+
});
|
|
244
|
+
return (_ctx, _cache) => {
|
|
245
|
+
return openBlock(), createElementBlock("div", {
|
|
246
|
+
class: normalizeClass([
|
|
247
|
+
unref(ns).b(),
|
|
248
|
+
unref(ns).m(unref(inputNumberSize)),
|
|
249
|
+
unref(ns).is("disabled", unref(inputNumberDisabled)),
|
|
250
|
+
unref(ns).is("without-controls", !_ctx.controls),
|
|
251
|
+
unref(ns).is("controls-right", unref(controlsAtRight))
|
|
252
|
+
]),
|
|
253
|
+
onDragstart: _cache[1] || (_cache[1] = withModifiers(() => {
|
|
254
|
+
}, ["prevent"]))
|
|
255
|
+
}, [
|
|
256
|
+
_ctx.controls ? withDirectives((openBlock(), createElementBlock("span", {
|
|
257
|
+
key: 0,
|
|
258
|
+
role: "button",
|
|
259
|
+
"aria-label": unref(t)("el.inputNumber.decrease"),
|
|
260
|
+
class: normalizeClass([unref(ns).e("decrease"), unref(ns).is("disabled", unref(minDisabled))]),
|
|
261
|
+
onKeydown: withKeys(decrease, ["enter"])
|
|
262
|
+
}, [
|
|
263
|
+
createVNode(unref(ElIcon), null, {
|
|
264
|
+
default: withCtx(() => [
|
|
265
|
+
unref(controlsAtRight) ? (openBlock(), createBlock(unref(ArrowDown), { key: 0 })) : (openBlock(), createBlock(unref(Minus), { key: 1 }))
|
|
266
|
+
]),
|
|
267
|
+
_: 1
|
|
268
|
+
})
|
|
269
|
+
], 42, _hoisted_1)), [
|
|
270
|
+
[unref(vRepeatClick), decrease]
|
|
271
|
+
]) : createCommentVNode("v-if", true),
|
|
272
|
+
_ctx.controls ? withDirectives((openBlock(), createElementBlock("span", {
|
|
273
|
+
key: 1,
|
|
274
|
+
role: "button",
|
|
275
|
+
"aria-label": unref(t)("el.inputNumber.increase"),
|
|
276
|
+
class: normalizeClass([unref(ns).e("increase"), unref(ns).is("disabled", unref(maxDisabled))]),
|
|
277
|
+
onKeydown: withKeys(increase, ["enter"])
|
|
278
|
+
}, [
|
|
279
|
+
createVNode(unref(ElIcon), null, {
|
|
280
|
+
default: withCtx(() => [
|
|
281
|
+
unref(controlsAtRight) ? (openBlock(), createBlock(unref(ArrowUp), { key: 0 })) : (openBlock(), createBlock(unref(Plus), { key: 1 }))
|
|
282
|
+
]),
|
|
283
|
+
_: 1
|
|
284
|
+
})
|
|
285
|
+
], 42, _hoisted_2)), [
|
|
286
|
+
[unref(vRepeatClick), increase]
|
|
287
|
+
]) : createCommentVNode("v-if", true),
|
|
288
|
+
createVNode(unref(ElInput), {
|
|
289
|
+
id: _ctx.id,
|
|
290
|
+
ref_key: "input",
|
|
291
|
+
ref: input,
|
|
292
|
+
type: "number",
|
|
293
|
+
step: _ctx.step,
|
|
294
|
+
"model-value": unref(displayValue),
|
|
295
|
+
placeholder: _ctx.placeholder,
|
|
296
|
+
readonly: _ctx.readonly,
|
|
297
|
+
disabled: unref(inputNumberDisabled),
|
|
298
|
+
size: unref(inputNumberSize),
|
|
299
|
+
max: _ctx.max,
|
|
300
|
+
min: _ctx.min,
|
|
301
|
+
name: _ctx.name,
|
|
302
|
+
label: _ctx.label,
|
|
303
|
+
"validate-event": false,
|
|
304
|
+
onWheel: _cache[0] || (_cache[0] = withModifiers(() => {
|
|
305
|
+
}, ["prevent"])),
|
|
306
|
+
onKeydown: [
|
|
307
|
+
withKeys(withModifiers(increase, ["prevent"]), ["up"]),
|
|
308
|
+
withKeys(withModifiers(decrease, ["prevent"]), ["down"])
|
|
309
|
+
],
|
|
310
|
+
onBlur: handleBlur,
|
|
311
|
+
onFocus: handleFocus,
|
|
312
|
+
onInput: handleInput,
|
|
313
|
+
onChange: handleInputChange
|
|
314
|
+
}, null, 8, ["id", "step", "model-value", "placeholder", "readonly", "disabled", "size", "max", "min", "name", "label", "onKeydown"])
|
|
315
|
+
], 34);
|
|
316
|
+
};
|
|
56
317
|
}
|
|
57
318
|
});
|
|
58
|
-
|
|
59
|
-
[CHANGE_EVENT]: (cur, prev) => prev !== cur,
|
|
60
|
-
blur: (e) => e instanceof FocusEvent,
|
|
61
|
-
focus: (e) => e instanceof FocusEvent,
|
|
62
|
-
[INPUT_EVENT]: (val) => isNumber(val) || isNil(val),
|
|
63
|
-
[UPDATE_MODEL_EVENT]: (val) => isNumber(val) || isNil(val)
|
|
64
|
-
};
|
|
319
|
+
var InputNumber = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "input-number.vue"]]);
|
|
65
320
|
|
|
66
|
-
export {
|
|
321
|
+
export { InputNumber as default };
|
|
67
322
|
//# sourceMappingURL=input-number2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-number2.mjs","sources":["../../../../../../packages/components/input-number/src/input-number.ts"],"sourcesContent":["import { isNil } from 'lodash-unified'\nimport { useSizeProp } from '@element-plus/hooks'\nimport { buildProps, isNumber } from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type InputNumber from './input-number.vue'\n\nexport const inputNumberProps = buildProps({\n /**\n * @description same as `id` in native input\n */\n id: {\n type: String,\n default: undefined,\n },\n /**\n * @description incremental step\n */\n step: {\n type: Number,\n default: 1,\n },\n /**\n * @description whether input value can only be multiple of step\n */\n stepStrictly: Boolean,\n /**\n * @description the maximum allowed value\n */\n max: {\n type: Number,\n default: Number.POSITIVE_INFINITY,\n },\n /**\n * @description the minimum allowed value\n */\n min: {\n type: Number,\n default: Number.NEGATIVE_INFINITY,\n },\n /**\n * @description binding value\n */\n modelValue: Number,\n /**\n * @description same as `readonly` in native input\n */\n readonly: Boolean,\n /**\n * @description whether the component is disabled\n */\n disabled: Boolean,\n /**\n * @description size of the component\n */\n size: useSizeProp,\n /**\n * @description whether to enable the control buttons\n */\n controls: {\n type: Boolean,\n default: true,\n },\n /**\n * @description position of the control buttons\n */\n controlsPosition: {\n type: String,\n default: '',\n values: ['', 'right'],\n },\n /**\n * @description value should be set when input box is cleared\n */\n valueOnClear: {\n type: [String, Number, null],\n validator: (val: 'min' | 'max' | number | null) =>\n val === null || isNumber(val) || ['min', 'max'].includes(val),\n default: null,\n },\n /**\n * @description same as `name` in native input\n */\n name: String,\n /**\n * @description same as `label` in native input\n */\n label: String,\n /**\n * @description same as `placeholder` in native input\n */\n placeholder: String,\n /**\n * @description precision of input value\n */\n precision: {\n type: Number,\n validator: (val: number) =>\n val >= 0 && val === Number.parseInt(`${val}`, 10),\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n} as const)\nexport type InputNumberProps = ExtractPropTypes<typeof inputNumberProps>\n\nexport const inputNumberEmits = {\n [CHANGE_EVENT]: (cur: number | undefined, prev: number | undefined) =>\n prev !== cur,\n blur: (e: FocusEvent) => e instanceof FocusEvent,\n focus: (e: FocusEvent) => e instanceof FocusEvent,\n [INPUT_EVENT]: (val: number | null | undefined) =>\n isNumber(val) || isNil(val),\n [UPDATE_MODEL_EVENT]: (val: number | undefined) =>\n isNumber(val) || isNil(val),\n}\nexport type InputNumberEmits = typeof inputNumberEmits\n\nexport type InputNumberInstance = InstanceType<typeof InputNumber>\n"],"names":[],"mappings":";;;;;;;;;AAQY,MAAC,gBAAgB,GAAG,UAAU,CAAC;AAC3C,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM,CAAC,iBAAiB;AACrC,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM,CAAC,iBAAiB;AACrC,GAAG;AACH,EAAE,UAAU,EAAE,MAAM;AACpB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC;AACzB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;AAChC,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;AACrF,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;AACzE,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,CAAC,EAAE;AACS,MAAC,gBAAgB,GAAG;AAChC,EAAE,CAAC,YAAY,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,GAAG;AAC7C,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,UAAU;AACtC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,UAAU;AACvC,EAAE,CAAC,WAAW,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;AACrD,EAAE,CAAC,kBAAkB,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;AAC5D;;;;"}
|
|
1
|
+
{"version":3,"file":"input-number2.mjs","sources":["../../../../../../packages/components/input-number/src/input-number.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n ns.b(),\n ns.m(inputNumberSize),\n ns.is('disabled', inputNumberDisabled),\n ns.is('without-controls', !controls),\n ns.is('controls-right', controlsAtRight),\n ]\"\n @dragstart.prevent\n >\n <span\n v-if=\"controls\"\n v-repeat-click=\"decrease\"\n role=\"button\"\n :aria-label=\"t('el.inputNumber.decrease')\"\n :class=\"[ns.e('decrease'), ns.is('disabled', minDisabled)]\"\n @keydown.enter=\"decrease\"\n >\n <el-icon>\n <arrow-down v-if=\"controlsAtRight\" />\n <minus v-else />\n </el-icon>\n </span>\n <span\n v-if=\"controls\"\n v-repeat-click=\"increase\"\n role=\"button\"\n :aria-label=\"t('el.inputNumber.increase')\"\n :class=\"[ns.e('increase'), ns.is('disabled', maxDisabled)]\"\n @keydown.enter=\"increase\"\n >\n <el-icon>\n <arrow-up v-if=\"controlsAtRight\" />\n <plus v-else />\n </el-icon>\n </span>\n <el-input\n :id=\"id\"\n ref=\"input\"\n type=\"number\"\n :step=\"step\"\n :model-value=\"displayValue\"\n :placeholder=\"placeholder\"\n :readonly=\"readonly\"\n :disabled=\"inputNumberDisabled\"\n :size=\"inputNumberSize\"\n :max=\"max\"\n :min=\"min\"\n :name=\"name\"\n :label=\"label\"\n :validate-event=\"false\"\n @wheel.prevent\n @keydown.up.prevent=\"increase\"\n @keydown.down.prevent=\"decrease\"\n @blur=\"handleBlur\"\n @focus=\"handleFocus\"\n @input=\"handleInput\"\n @change=\"handleInputChange\"\n />\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, onMounted, onUpdated, reactive, ref, watch } from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { ElInput } from '@element-plus/components/input'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n useFormDisabled,\n useFormItem,\n useFormSize,\n} from '@element-plus/components/form'\nimport { vRepeatClick } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport {\n debugWarn,\n isNumber,\n isString,\n isUndefined,\n throwError,\n} from '@element-plus/utils'\nimport { ArrowDown, ArrowUp, Minus, Plus } from '@element-plus/icons-vue'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { inputNumberEmits, inputNumberProps } from './input-number'\n\nimport type { InputInstance } from '@element-plus/components/input'\n\ndefineOptions({\n name: 'ElInputNumber',\n})\n\nconst props = defineProps(inputNumberProps)\nconst emit = defineEmits(inputNumberEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('input-number')\nconst input = ref<InputInstance>()\n\ninterface Data {\n currentValue: number | null | undefined\n userInput: null | number | string\n}\nconst data = reactive<Data>({\n currentValue: props.modelValue,\n userInput: null,\n})\n\nconst { formItem } = useFormItem()\n\nconst minDisabled = computed(\n () => isNumber(props.modelValue) && props.modelValue <= props.min\n)\nconst maxDisabled = computed(\n () => isNumber(props.modelValue) && props.modelValue >= props.max\n)\n\nconst numPrecision = computed(() => {\n const stepPrecision = getPrecision(props.step)\n if (!isUndefined(props.precision)) {\n if (stepPrecision > props.precision) {\n debugWarn(\n 'InputNumber',\n 'precision should not be less than the decimal places of step'\n )\n }\n return props.precision\n } else {\n return Math.max(getPrecision(props.modelValue), stepPrecision)\n }\n})\nconst controlsAtRight = computed(() => {\n return props.controls && props.controlsPosition === 'right'\n})\n\nconst inputNumberSize = useFormSize()\nconst inputNumberDisabled = useFormDisabled()\n\nconst displayValue = computed(() => {\n if (data.userInput !== null) {\n return data.userInput\n }\n let currentValue: number | string | undefined | null = data.currentValue\n if (isNil(currentValue)) return ''\n if (isNumber(currentValue)) {\n if (Number.isNaN(currentValue)) return ''\n if (!isUndefined(props.precision)) {\n currentValue = currentValue.toFixed(props.precision)\n }\n }\n return currentValue\n})\nconst toPrecision = (num: number, pre?: number) => {\n if (isUndefined(pre)) pre = numPrecision.value\n if (pre === 0) return Math.round(num)\n let snum = String(num)\n const pointPos = snum.indexOf('.')\n if (pointPos === -1) return num\n const nums = snum.replace('.', '').split('')\n const datum = nums[pointPos + pre]\n if (!datum) return num\n const length = snum.length\n if (snum.charAt(length - 1) === '5') {\n snum = `${snum.slice(0, Math.max(0, length - 1))}6`\n }\n return Number.parseFloat(Number(snum).toFixed(pre))\n}\nconst getPrecision = (value: number | null | undefined) => {\n if (isNil(value)) return 0\n const valueString = value.toString()\n const dotPosition = valueString.indexOf('.')\n let precision = 0\n if (dotPosition !== -1) {\n precision = valueString.length - dotPosition - 1\n }\n return precision\n}\nconst ensurePrecision = (val: number, coefficient: 1 | -1 = 1) => {\n if (!isNumber(val)) return data.currentValue\n // Solve the accuracy problem of JS decimal calculation by converting the value to integer.\n return toPrecision(val + props.step * coefficient)\n}\nconst increase = () => {\n if (props.readonly || inputNumberDisabled.value || maxDisabled.value) return\n const value = Number(displayValue.value) || 0\n const newVal = ensurePrecision(value)\n setCurrentValue(newVal)\n emit(INPUT_EVENT, data.currentValue)\n}\nconst decrease = () => {\n if (props.readonly || inputNumberDisabled.value || minDisabled.value) return\n const value = Number(displayValue.value) || 0\n const newVal = ensurePrecision(value, -1)\n setCurrentValue(newVal)\n emit(INPUT_EVENT, data.currentValue)\n}\nconst verifyValue = (\n value: number | string | null | undefined,\n update?: boolean\n): number | null | undefined => {\n const { max, min, step, precision, stepStrictly, valueOnClear } = props\n if (max < min) {\n throwError('InputNumber', 'min should not be greater than max.')\n }\n let newVal = Number(value)\n if (isNil(value) || Number.isNaN(newVal)) {\n return null\n }\n if (value === '') {\n if (valueOnClear === null) {\n return null\n }\n newVal = isString(valueOnClear) ? { min, max }[valueOnClear] : valueOnClear\n }\n if (stepStrictly) {\n newVal = toPrecision(Math.round(newVal / step) * step, precision)\n }\n if (!isUndefined(precision)) {\n newVal = toPrecision(newVal, precision)\n }\n if (newVal > max || newVal < min) {\n newVal = newVal > max ? max : min\n update && emit(UPDATE_MODEL_EVENT, newVal)\n }\n return newVal\n}\nconst setCurrentValue = (\n value: number | string | null | undefined,\n emitChange = true\n) => {\n const oldVal = data.currentValue\n const newVal = verifyValue(value)\n if (!emitChange) {\n emit(UPDATE_MODEL_EVENT, newVal!)\n return\n }\n if (oldVal === newVal) return\n data.userInput = null\n emit(UPDATE_MODEL_EVENT, newVal!)\n emit(CHANGE_EVENT, newVal!, oldVal!)\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n data.currentValue = newVal\n}\nconst handleInput = (value: string) => {\n data.userInput = value\n const newVal = value === '' ? null : Number(value)\n emit(INPUT_EVENT, newVal)\n setCurrentValue(newVal, false)\n}\nconst handleInputChange = (value: string) => {\n const newVal = value !== '' ? Number(value) : ''\n if ((isNumber(newVal) && !Number.isNaN(newVal)) || value === '') {\n setCurrentValue(newVal)\n }\n data.userInput = null\n}\n\nconst focus = () => {\n input.value?.focus?.()\n}\n\nconst blur = () => {\n input.value?.blur?.()\n}\n\nconst handleFocus = (event: MouseEvent | FocusEvent) => {\n emit('focus', event)\n}\n\nconst handleBlur = (event: MouseEvent | FocusEvent) => {\n data.userInput = null\n emit('blur', event)\n if (props.validateEvent) {\n formItem?.validate?.('blur').catch((err) => debugWarn(err))\n }\n}\n\nwatch(\n () => props.modelValue,\n (value, oldValue) => {\n const newValue = verifyValue(value, true)\n if (data.userInput === null && newValue !== oldValue) {\n data.currentValue = newValue\n }\n },\n { immediate: true }\n)\nonMounted(() => {\n const { min, max, modelValue } = props\n const innerInput = input.value?.input as HTMLInputElement\n innerInput.setAttribute('role', 'spinbutton')\n if (Number.isFinite(max)) {\n innerInput.setAttribute('aria-valuemax', String(max))\n } else {\n innerInput.removeAttribute('aria-valuemax')\n }\n if (Number.isFinite(min)) {\n innerInput.setAttribute('aria-valuemin', String(min))\n } else {\n innerInput.removeAttribute('aria-valuemin')\n }\n innerInput.setAttribute(\n 'aria-valuenow',\n data.currentValue || data.currentValue === 0\n ? String(data.currentValue)\n : ''\n )\n innerInput.setAttribute('aria-disabled', String(inputNumberDisabled.value))\n if (!isNumber(modelValue) && modelValue != null) {\n let val: number | null = Number(modelValue)\n if (Number.isNaN(val)) {\n val = null\n }\n emit(UPDATE_MODEL_EVENT, val!)\n }\n})\nonUpdated(() => {\n const innerInput = input.value?.input\n innerInput?.setAttribute('aria-valuenow', `${data.currentValue ?? ''}`)\n})\ndefineExpose({\n /** @description get focus the input component */\n focus,\n /** @description remove focus the input component */\n blur,\n})\n</script>\n"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,9 @@ export declare const ElMenu: import("@element-plus/nightly/es/utils").SFCWithIns
|
|
|
15
15
|
readonly popperOffset: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
|
|
16
16
|
readonly ellipsisIcon: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown, () => any, boolean>;
|
|
17
17
|
readonly popperEffect: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, "light" | "dark", unknown, "dark", boolean>;
|
|
18
|
+
readonly popperClass: StringConstructor;
|
|
19
|
+
readonly showTimeout: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
|
|
20
|
+
readonly hideTimeout: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
|
|
18
21
|
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
19
22
|
[key: string]: any;
|
|
20
23
|
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
@@ -38,6 +41,9 @@ export declare const ElMenu: import("@element-plus/nightly/es/utils").SFCWithIns
|
|
|
38
41
|
readonly popperOffset: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
|
|
39
42
|
readonly ellipsisIcon: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown, () => any, boolean>;
|
|
40
43
|
readonly popperEffect: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, "light" | "dark", unknown, "dark", boolean>;
|
|
44
|
+
readonly popperClass: StringConstructor;
|
|
45
|
+
readonly showTimeout: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
|
|
46
|
+
readonly hideTimeout: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
|
|
41
47
|
}>> & {
|
|
42
48
|
onClose?: ((index: string, indexPath: string[]) => any) | undefined;
|
|
43
49
|
onSelect?: ((index: string, indexPath: string[], item: import("./src/types").MenuItemClicked, routerResult?: Promise<void | import("vue-router").NavigationFailure> | undefined) => any) | undefined;
|
|
@@ -46,6 +52,8 @@ export declare const ElMenu: import("@element-plus/nightly/es/utils").SFCWithIns
|
|
|
46
52
|
readonly ellipsis: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
47
53
|
readonly collapse: boolean;
|
|
48
54
|
readonly mode: import("@element-plus/nightly/es/utils").EpPropMergeType<StringConstructor, "horizontal" | "vertical", unknown>;
|
|
55
|
+
readonly showTimeout: number;
|
|
56
|
+
readonly hideTimeout: number;
|
|
49
57
|
readonly defaultActive: string;
|
|
50
58
|
readonly defaultOpeneds: string[];
|
|
51
59
|
readonly menuTrigger: import("@element-plus/nightly/es/utils").EpPropMergeType<StringConstructor, "hover" | "click", unknown>;
|
|
@@ -155,13 +163,13 @@ export declare const ElMenu: import("@element-plus/nightly/es/utils").SFCWithIns
|
|
|
155
163
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
156
164
|
__epPropKey: true;
|
|
157
165
|
};
|
|
158
|
-
readonly showTimeout:
|
|
159
|
-
readonly hideTimeout:
|
|
166
|
+
readonly showTimeout: NumberConstructor;
|
|
167
|
+
readonly hideTimeout: NumberConstructor;
|
|
160
168
|
readonly popperClass: StringConstructor;
|
|
161
169
|
readonly disabled: BooleanConstructor;
|
|
162
170
|
readonly popperAppendToBody: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
163
171
|
readonly teleported: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
164
|
-
readonly popperOffset:
|
|
172
|
+
readonly popperOffset: NumberConstructor;
|
|
165
173
|
readonly expandCloseIcon: {
|
|
166
174
|
readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
|
|
167
175
|
readonly required: false;
|
|
@@ -195,13 +203,13 @@ export declare const ElMenu: import("@element-plus/nightly/es/utils").SFCWithIns
|
|
|
195
203
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
196
204
|
__epPropKey: true;
|
|
197
205
|
};
|
|
198
|
-
readonly showTimeout:
|
|
199
|
-
readonly hideTimeout:
|
|
206
|
+
readonly showTimeout: NumberConstructor;
|
|
207
|
+
readonly hideTimeout: NumberConstructor;
|
|
200
208
|
readonly popperClass: StringConstructor;
|
|
201
209
|
readonly disabled: BooleanConstructor;
|
|
202
210
|
readonly popperAppendToBody: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
203
211
|
readonly teleported: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
204
|
-
readonly popperOffset:
|
|
212
|
+
readonly popperOffset: NumberConstructor;
|
|
205
213
|
readonly expandCloseIcon: {
|
|
206
214
|
readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
|
|
207
215
|
readonly required: false;
|
|
@@ -229,9 +237,6 @@ export declare const ElMenu: import("@element-plus/nightly/es/utils").SFCWithIns
|
|
|
229
237
|
}>>, {
|
|
230
238
|
readonly teleported: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
231
239
|
readonly disabled: boolean;
|
|
232
|
-
readonly showTimeout: number;
|
|
233
|
-
readonly hideTimeout: number;
|
|
234
|
-
readonly popperOffset: number;
|
|
235
240
|
readonly popperAppendToBody: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
236
241
|
}>;
|
|
237
242
|
};
|
|
@@ -334,13 +339,13 @@ export declare const ElSubMenu: import("@element-plus/nightly/es/utils").SFCWith
|
|
|
334
339
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
335
340
|
__epPropKey: true;
|
|
336
341
|
};
|
|
337
|
-
readonly showTimeout:
|
|
338
|
-
readonly hideTimeout:
|
|
342
|
+
readonly showTimeout: NumberConstructor;
|
|
343
|
+
readonly hideTimeout: NumberConstructor;
|
|
339
344
|
readonly popperClass: StringConstructor;
|
|
340
345
|
readonly disabled: BooleanConstructor;
|
|
341
346
|
readonly popperAppendToBody: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
342
347
|
readonly teleported: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
343
|
-
readonly popperOffset:
|
|
348
|
+
readonly popperOffset: NumberConstructor;
|
|
344
349
|
readonly expandCloseIcon: {
|
|
345
350
|
readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
|
|
346
351
|
readonly required: false;
|
|
@@ -374,13 +379,13 @@ export declare const ElSubMenu: import("@element-plus/nightly/es/utils").SFCWith
|
|
|
374
379
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
375
380
|
__epPropKey: true;
|
|
376
381
|
};
|
|
377
|
-
readonly showTimeout:
|
|
378
|
-
readonly hideTimeout:
|
|
382
|
+
readonly showTimeout: NumberConstructor;
|
|
383
|
+
readonly hideTimeout: NumberConstructor;
|
|
379
384
|
readonly popperClass: StringConstructor;
|
|
380
385
|
readonly disabled: BooleanConstructor;
|
|
381
386
|
readonly popperAppendToBody: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
382
387
|
readonly teleported: import("@element-plus/nightly/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
383
|
-
readonly popperOffset:
|
|
388
|
+
readonly popperOffset: NumberConstructor;
|
|
384
389
|
readonly expandCloseIcon: {
|
|
385
390
|
readonly type: import("vue").PropType<import("@element-plus/nightly/es/utils").EpPropMergeType<(new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown>>;
|
|
386
391
|
readonly required: false;
|
|
@@ -408,9 +413,6 @@ export declare const ElSubMenu: import("@element-plus/nightly/es/utils").SFCWith
|
|
|
408
413
|
}>>, {
|
|
409
414
|
readonly teleported: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
410
415
|
readonly disabled: boolean;
|
|
411
|
-
readonly showTimeout: number;
|
|
412
|
-
readonly hideTimeout: number;
|
|
413
|
-
readonly popperOffset: number;
|
|
414
416
|
readonly popperAppendToBody: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
415
417
|
}>>;
|
|
416
418
|
export * from './src/menu';
|
|
@@ -18,6 +18,9 @@ export declare const menuProps: {
|
|
|
18
18
|
readonly popperOffset: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
|
|
19
19
|
readonly ellipsisIcon: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => (string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown, () => any, boolean>;
|
|
20
20
|
readonly popperEffect: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, "light" | "dark", unknown, "dark", boolean>;
|
|
21
|
+
readonly popperClass: StringConstructor;
|
|
22
|
+
readonly showTimeout: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
|
|
23
|
+
readonly hideTimeout: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
|
|
21
24
|
};
|
|
22
25
|
export declare type MenuProps = ExtractPropTypes<typeof menuProps>;
|
|
23
26
|
export declare const menuEmits: {
|
|
@@ -43,6 +46,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
43
46
|
readonly popperOffset: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
|
|
44
47
|
readonly ellipsisIcon: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => (string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown, () => any, boolean>;
|
|
45
48
|
readonly popperEffect: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, "light" | "dark", unknown, "dark", boolean>;
|
|
49
|
+
readonly popperClass: StringConstructor;
|
|
50
|
+
readonly showTimeout: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
|
|
51
|
+
readonly hideTimeout: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
|
|
46
52
|
}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
47
53
|
[key: string]: any;
|
|
48
54
|
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
@@ -66,6 +72,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
66
72
|
readonly popperOffset: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 6, boolean>;
|
|
67
73
|
readonly ellipsisIcon: import("@element-plus/nightly/es/utils").EpPropFinalized<(new (...args: any[]) => (string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) | ((new (...args: any[]) => (string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>) & {}) | (() => string | Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>))[], unknown, unknown, () => any, boolean>;
|
|
68
74
|
readonly popperEffect: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, "light" | "dark", unknown, "dark", boolean>;
|
|
75
|
+
readonly popperClass: StringConstructor;
|
|
76
|
+
readonly showTimeout: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
|
|
77
|
+
readonly hideTimeout: import("@element-plus/nightly/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
|
|
69
78
|
}>> & {
|
|
70
79
|
onClose?: ((index: string, indexPath: string[]) => any) | undefined;
|
|
71
80
|
onSelect?: ((index: string, indexPath: string[], item: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => any) | undefined;
|
|
@@ -74,6 +83,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
74
83
|
readonly ellipsis: import("@element-plus/nightly/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
75
84
|
readonly collapse: boolean;
|
|
76
85
|
readonly mode: import("@element-plus/nightly/es/utils").EpPropMergeType<StringConstructor, "horizontal" | "vertical", unknown>;
|
|
86
|
+
readonly showTimeout: number;
|
|
87
|
+
readonly hideTimeout: number;
|
|
77
88
|
readonly defaultActive: string;
|
|
78
89
|
readonly defaultOpeneds: string[];
|
|
79
90
|
readonly menuTrigger: import("@element-plus/nightly/es/utils").EpPropMergeType<StringConstructor, "hover" | "click", unknown>;
|
|
@@ -64,6 +64,15 @@ const menuProps = buildProps({
|
|
|
64
64
|
type: String,
|
|
65
65
|
values: ["dark", "light"],
|
|
66
66
|
default: "dark"
|
|
67
|
+
},
|
|
68
|
+
popperClass: String,
|
|
69
|
+
showTimeout: {
|
|
70
|
+
type: Number,
|
|
71
|
+
default: 300
|
|
72
|
+
},
|
|
73
|
+
hideTimeout: {
|
|
74
|
+
type: Number,
|
|
75
|
+
default: 300
|
|
67
76
|
}
|
|
68
77
|
});
|
|
69
78
|
const checkIndexPath = (indexPath) => Array.isArray(indexPath) && indexPath.every((path) => isString(path));
|