@element-plus/nightly 0.0.20220920 → 0.0.20220921
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.full.js +39 -33
- package/dist/index.full.min.js +10 -10
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +10 -10
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +39 -33
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/calendar/src/date-table2.mjs +2 -2
- package/es/components/calendar/src/date-table2.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/date-picker-com/panel-date-range.vue.d.ts +1 -1
- package/es/components/date-picker/src/panel-utils.d.ts +2 -2
- package/es/components/input-number/index.d.ts +2 -2
- package/es/components/input-number/src/input-number.vue.d.ts +2 -2
- package/es/components/input-number/src/input-number2.mjs +13 -9
- package/es/components/input-number/src/input-number2.mjs.map +1 -1
- package/es/components/slider/index.d.ts +2 -2
- package/es/components/slider/src/slider.vue.d.ts +2 -2
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs +3 -3
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +1 -1
- package/es/directives/index.d.ts +1 -1
- package/es/directives/index.mjs +1 -1
- package/es/directives/repeat-click/index.d.ts +6 -2
- package/es/directives/repeat-click/index.mjs +26 -19
- package/es/directives/repeat-click/index.mjs.map +1 -1
- package/es/index.mjs +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/calendar/src/date-table2.js +2 -2
- package/lib/components/calendar/src/date-table2.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/date-picker-com/panel-date-range.vue.d.ts +1 -1
- package/lib/components/date-picker/src/panel-utils.d.ts +2 -2
- package/lib/components/input-number/index.d.ts +2 -2
- package/lib/components/input-number/src/input-number.vue.d.ts +2 -2
- package/lib/components/input-number/src/input-number2.js +12 -8
- package/lib/components/input-number/src/input-number2.js.map +1 -1
- package/lib/components/slider/index.d.ts +2 -2
- package/lib/components/slider/src/slider.vue.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js +2 -2
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue.d.ts +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +1 -1
- package/lib/directives/index.d.ts +1 -1
- package/lib/directives/index.js +1 -1
- package/lib/directives/repeat-click/index.d.ts +6 -2
- package/lib/directives/repeat-click/index.js +26 -19
- package/lib/directives/repeat-click/index.js.map +1 -1
- package/lib/index.js +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
|
@@ -12840,7 +12840,7 @@ export declare const ElSlider: import("element-plus/es/utils").SFCWithInstall<im
|
|
|
12840
12840
|
decrease: () => void;
|
|
12841
12841
|
verifyValue: (value: string | number | null | undefined, update?: boolean | undefined) => number | null | undefined;
|
|
12842
12842
|
setCurrentValue: (value: string | number | null | undefined) => void;
|
|
12843
|
-
handleInput: (value: string) =>
|
|
12843
|
+
handleInput: (value: string) => void;
|
|
12844
12844
|
handleInputChange: (value: string) => void;
|
|
12845
12845
|
focus: () => void;
|
|
12846
12846
|
blur: () => void;
|
|
@@ -13308,7 +13308,7 @@ export declare const ElSlider: import("element-plus/es/utils").SFCWithInstall<im
|
|
|
13308
13308
|
__epPropKey: true;
|
|
13309
13309
|
};
|
|
13310
13310
|
}>>, {}>> & Record<string, any>;
|
|
13311
|
-
vRepeatClick: import("vue").ObjectDirective<
|
|
13311
|
+
vRepeatClick: import("vue").ObjectDirective<HTMLElement, import("../../directives/repeat-click").RepeatClickOptions | ((...args: unknown[]) => unknown)>;
|
|
13312
13312
|
ArrowDown: import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
13313
13313
|
ArrowUp: import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
13314
13314
|
Minus: import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
@@ -12840,7 +12840,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
12840
12840
|
decrease: () => void;
|
|
12841
12841
|
verifyValue: (value: string | number | null | undefined, update?: boolean | undefined) => number | null | undefined;
|
|
12842
12842
|
setCurrentValue: (value: string | number | null | undefined) => void;
|
|
12843
|
-
handleInput: (value: string) =>
|
|
12843
|
+
handleInput: (value: string) => void;
|
|
12844
12844
|
handleInputChange: (value: string) => void;
|
|
12845
12845
|
focus: () => void;
|
|
12846
12846
|
blur: () => void;
|
|
@@ -13308,7 +13308,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
13308
13308
|
__epPropKey: true;
|
|
13309
13309
|
};
|
|
13310
13310
|
}>>, {}>> & Record<string, any>;
|
|
13311
|
-
vRepeatClick: import("vue").ObjectDirective<
|
|
13311
|
+
vRepeatClick: import("vue").ObjectDirective<HTMLElement, import("../../../directives/repeat-click").RepeatClickOptions | ((...args: unknown[]) => unknown)>;
|
|
13312
13312
|
ArrowDown: import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
13313
13313
|
ArrowUp: import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
13314
13314
|
Minus: import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
@@ -261,7 +261,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
261
261
|
]),
|
|
262
262
|
_: 1
|
|
263
263
|
}, 8, ["class"])), [
|
|
264
|
-
[vue.unref(index$3
|
|
264
|
+
[vue.unref(index$3.vRepeatClick), onDecrement]
|
|
265
265
|
]),
|
|
266
266
|
vue.withDirectives((vue.openBlock(), vue.createBlock(vue.unref(index$2.ElIcon), {
|
|
267
267
|
class: vue.normalizeClass(["arrow-down", vue.unref(ns).be("spinner", "arrow")])
|
|
@@ -271,7 +271,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
271
271
|
]),
|
|
272
272
|
_: 1
|
|
273
273
|
}, 8, ["class"])), [
|
|
274
|
-
[vue.unref(index$3
|
|
274
|
+
[vue.unref(index$3.vRepeatClick), onIncrement]
|
|
275
275
|
]),
|
|
276
276
|
vue.createElementVNode("ul", {
|
|
277
277
|
class: vue.normalizeClass(vue.unref(ns).be("spinner", "list"))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-time-spinner.js","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b('spinner'), { 'has-seconds': showSeconds }]\">\n <template v-if=\"!arrowControl\">\n <el-scrollbar\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :ref=\"(scrollbar: unknown) => setRef(scrollbar as any, item)\"\n :class=\"ns.be('spinner', 'wrapper')\"\n wrap-style=\"max-height: inherit;\"\n :view-class=\"ns.be('spinner', 'list')\"\n noresize\n tag=\"ul\"\n @mouseenter=\"emitSelectRange(item)\"\n @mousemove=\"adjustCurrentSpinner(item)\"\n >\n <li\n v-for=\"(disabled, key) in timeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', key === timePartials[item]),\n ns.is('disabled', disabled),\n ]\"\n @click=\"handleClick(item, { value: key, disabled })\"\n >\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? key % 12 || 12 : key)).slice(-2)\n }}{{ getAmPmFlag(key) }}\n </template>\n <template v-else>\n {{ ('0' + key).slice(-2) }}\n </template>\n </li>\n </el-scrollbar>\n </template>\n <template v-if=\"arrowControl\">\n <div\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :class=\"[ns.be('spinner', 'wrapper'), ns.is('arrow')]\"\n @mouseenter=\"emitSelectRange(item)\"\n >\n <el-icon\n v-repeat-click=\"onDecrement\"\n :class=\"['arrow-up', ns.be('spinner', 'arrow')]\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncrement\"\n :class=\"['arrow-down', ns.be('spinner', 'arrow')]\"\n >\n <arrow-down />\n </el-icon>\n <ul :class=\"ns.be('spinner', 'list')\">\n <li\n v-for=\"(time, key) in arrowControlTimeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', time === timePartials[item]),\n ns.is('disabled', timeList[item][time!]),\n ]\"\n >\n <template v-if=\"typeof time === 'number'\">\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? time % 12 || 12 : time)).slice(-2)\n }}{{ getAmPmFlag(time) }}\n </template>\n <template v-else>\n {{ ('0' + time).slice(-2) }}\n </template>\n </template>\n </li>\n </ul>\n </div>\n </template>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, nextTick, onMounted, ref, unref, watch } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { RepeatClick as vRepeatClick } from '@element-plus/directives'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { timeUnits } from '../constants'\nimport { buildTimeList } from '../utils'\nimport { basicTimeSpinnerProps } from '../props/basic-time-spinner'\nimport { getTimeLists } from '../composables/use-time-picker'\n\nimport type { Ref } from 'vue'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { TimeUnit } from '../constants'\nimport type { TimeList } from '../utils'\n\nconst props = defineProps(basicTimeSpinnerProps)\nconst emit = defineEmits(['change', 'select-range', 'set-option'])\n\nconst ns = useNamespace('time')\n\nconst { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n)\n\n// data\nlet isScrolling = false\n\nconst currentScrollbar = ref<TimeUnit>()\nconst listHoursRef = ref<ScrollbarInstance>()\nconst listMinutesRef = ref<ScrollbarInstance>()\nconst listSecondsRef = ref<ScrollbarInstance>()\nconst listRefsMap: Record<TimeUnit, Ref<ScrollbarInstance | undefined>> = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n}\n\n// computed\nconst spinnerItems = computed(() => {\n return props.showSeconds ? timeUnits : timeUnits.slice(0, 2)\n})\n\nconst timePartials = computed<Record<TimeUnit, number>>(() => {\n const { spinnerDate } = props\n const hours = spinnerDate.hour()\n const minutes = spinnerDate.minute()\n const seconds = spinnerDate.second()\n return { hours, minutes, seconds }\n})\n\nconst timeList = computed(() => {\n const { hours, minutes } = unref(timePartials)\n return {\n hours: getHoursList(props.role),\n minutes: getMinutesList(hours, props.role),\n seconds: getSecondsList(hours, minutes, props.role),\n }\n})\n\nconst arrowControlTimeList = computed<Record<TimeUnit, TimeList>>(() => {\n const { hours, minutes, seconds } = unref(timePartials)\n\n return {\n hours: buildTimeList(hours, 23),\n minutes: buildTimeList(minutes, 59),\n seconds: buildTimeList(seconds, 59),\n }\n})\n\nconst debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n}, 200)\n\nconst getAmPmFlag = (hour: number) => {\n const shouldShowAmPm = !!props.amPmMode\n if (!shouldShowAmPm) return ''\n const isCapital = props.amPmMode === 'A'\n // todo locale\n let content = hour < 12 ? ' am' : ' pm'\n if (isCapital) content = content.toUpperCase()\n return content\n}\n\nconst emitSelectRange = (type: TimeUnit) => {\n let range\n\n switch (type) {\n case 'hours':\n range = [0, 2]\n break\n case 'minutes':\n range = [3, 5]\n break\n case 'seconds':\n range = [6, 8]\n break\n }\n const [left, right] = range\n\n emit('select-range', left, right)\n currentScrollbar.value = type\n}\n\nconst adjustCurrentSpinner = (type: TimeUnit) => {\n adjustSpinner(type, unref(timePartials)[type])\n}\n\nconst adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n}\n\nconst getScrollbarElement = (el: HTMLElement) =>\n el.querySelector(`.${ns.namespace.value}-scrollbar__wrap`) as HTMLElement\n\nconst adjustSpinner = (type: TimeUnit, value: number) => {\n if (props.arrowControl) return\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n getScrollbarElement(scrollbar.$el).scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n}\n\nconst typeItemHeight = (type: TimeUnit): number => {\n const scrollbar = unref(listRefsMap[type])\n return scrollbar?.$el.querySelector('li').offsetHeight || 0\n}\n\nconst onIncrement = () => {\n scrollDown(1)\n}\n\nconst onDecrement = () => {\n scrollDown(-1)\n}\n\nconst scrollDown = (step: number) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value!\n const now = unref(timePartials)[label]\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n const next = findNextUnDisabled(label, now, step, total)\n\n modifyDateField(label, next)\n adjustSpinner(label, next)\n nextTick(() => emitSelectRange(label))\n}\n\nconst findNextUnDisabled = (\n type: TimeUnit,\n now: number,\n step: number,\n total: number\n) => {\n let next = (now + step + total) % total\n const list = unref(timeList)[type]\n while (list[next] && next !== now) {\n next = (next + step + total) % total\n }\n return next\n}\n\nconst modifyDateField = (type: TimeUnit, value: number) => {\n const list = unref(timeList)[type]\n const isDisabled = list[value]\n if (isDisabled) return\n\n const { hours, minutes, seconds } = unref(timePartials)\n\n let changeTo\n switch (type) {\n case 'hours':\n changeTo = props.spinnerDate.hour(value).minute(minutes).second(seconds)\n break\n case 'minutes':\n changeTo = props.spinnerDate.hour(hours).minute(value).second(seconds)\n break\n case 'seconds':\n changeTo = props.spinnerDate.hour(hours).minute(minutes).second(value)\n break\n }\n emit('change', changeTo)\n}\n\nconst handleClick = (\n type: TimeUnit,\n { value, disabled }: { value: number; disabled: boolean }\n) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n}\n\nconst handleScroll = (type: TimeUnit) => {\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (getScrollbarElement(unref(listRefsMap[type])!.$el).scrollTop -\n (scrollBarHeight(type) * 0.5 - 10) / typeItemHeight(type) +\n 3) /\n typeItemHeight(type)\n ),\n type === 'hours' ? 23 : 59\n )\n modifyDateField(type, value)\n}\n\nconst scrollBarHeight = (type: TimeUnit) => {\n return unref(listRefsMap[type])!.$el.offsetHeight\n}\n\nconst bindScrollEvent = () => {\n const bindFunction = (type: TimeUnit) => {\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n getScrollbarElement(scrollbar.$el).onscroll = () => {\n // TODO: scroll is emitted when set scrollTop programmatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFunction('hours')\n bindFunction('minutes')\n bindFunction('seconds')\n}\n\nonMounted(() => {\n nextTick(() => {\n !props.arrowControl && bindScrollEvent()\n adjustSpinners()\n // set selection on the first hour part\n if (props.role === 'start') emitSelectRange('hours')\n })\n})\n\nconst setRef = (scrollbar: ScrollbarInstance, type: TimeUnit) => {\n listRefsMap[type].value = scrollbar\n}\n\nemit('set-option', [`${props.role}_scrollDown`, scrollDown])\nemit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\nwatch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n)\n</script>\n"],"names":["useNamespace","getTimeLists","ref","computed","timeUnits","unref","buildTimeList","debounce","nextTick","onMounted","watch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"basic-time-spinner.js","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/basic-time-spinner.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b('spinner'), { 'has-seconds': showSeconds }]\">\n <template v-if=\"!arrowControl\">\n <el-scrollbar\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :ref=\"(scrollbar: unknown) => setRef(scrollbar as any, item)\"\n :class=\"ns.be('spinner', 'wrapper')\"\n wrap-style=\"max-height: inherit;\"\n :view-class=\"ns.be('spinner', 'list')\"\n noresize\n tag=\"ul\"\n @mouseenter=\"emitSelectRange(item)\"\n @mousemove=\"adjustCurrentSpinner(item)\"\n >\n <li\n v-for=\"(disabled, key) in timeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', key === timePartials[item]),\n ns.is('disabled', disabled),\n ]\"\n @click=\"handleClick(item, { value: key, disabled })\"\n >\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? key % 12 || 12 : key)).slice(-2)\n }}{{ getAmPmFlag(key) }}\n </template>\n <template v-else>\n {{ ('0' + key).slice(-2) }}\n </template>\n </li>\n </el-scrollbar>\n </template>\n <template v-if=\"arrowControl\">\n <div\n v-for=\"item in spinnerItems\"\n :key=\"item\"\n :class=\"[ns.be('spinner', 'wrapper'), ns.is('arrow')]\"\n @mouseenter=\"emitSelectRange(item)\"\n >\n <el-icon\n v-repeat-click=\"onDecrement\"\n :class=\"['arrow-up', ns.be('spinner', 'arrow')]\"\n >\n <arrow-up />\n </el-icon>\n <el-icon\n v-repeat-click=\"onIncrement\"\n :class=\"['arrow-down', ns.be('spinner', 'arrow')]\"\n >\n <arrow-down />\n </el-icon>\n <ul :class=\"ns.be('spinner', 'list')\">\n <li\n v-for=\"(time, key) in arrowControlTimeList[item]\"\n :key=\"key\"\n :class=\"[\n ns.be('spinner', 'item'),\n ns.is('active', time === timePartials[item]),\n ns.is('disabled', timeList[item][time!]),\n ]\"\n >\n <template v-if=\"typeof time === 'number'\">\n <template v-if=\"item === 'hours'\">\n {{ ('0' + (amPmMode ? time % 12 || 12 : time)).slice(-2)\n }}{{ getAmPmFlag(time) }}\n </template>\n <template v-else>\n {{ ('0' + time).slice(-2) }}\n </template>\n </template>\n </li>\n </ul>\n </div>\n </template>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, nextTick, onMounted, ref, unref, watch } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { vRepeatClick } from '@element-plus/directives'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { timeUnits } from '../constants'\nimport { buildTimeList } from '../utils'\nimport { basicTimeSpinnerProps } from '../props/basic-time-spinner'\nimport { getTimeLists } from '../composables/use-time-picker'\n\nimport type { Ref } from 'vue'\nimport type { ScrollbarInstance } from '@element-plus/components/scrollbar'\nimport type { TimeUnit } from '../constants'\nimport type { TimeList } from '../utils'\n\nconst props = defineProps(basicTimeSpinnerProps)\nconst emit = defineEmits(['change', 'select-range', 'set-option'])\n\nconst ns = useNamespace('time')\n\nconst { getHoursList, getMinutesList, getSecondsList } = getTimeLists(\n props.disabledHours,\n props.disabledMinutes,\n props.disabledSeconds\n)\n\n// data\nlet isScrolling = false\n\nconst currentScrollbar = ref<TimeUnit>()\nconst listHoursRef = ref<ScrollbarInstance>()\nconst listMinutesRef = ref<ScrollbarInstance>()\nconst listSecondsRef = ref<ScrollbarInstance>()\nconst listRefsMap: Record<TimeUnit, Ref<ScrollbarInstance | undefined>> = {\n hours: listHoursRef,\n minutes: listMinutesRef,\n seconds: listSecondsRef,\n}\n\n// computed\nconst spinnerItems = computed(() => {\n return props.showSeconds ? timeUnits : timeUnits.slice(0, 2)\n})\n\nconst timePartials = computed<Record<TimeUnit, number>>(() => {\n const { spinnerDate } = props\n const hours = spinnerDate.hour()\n const minutes = spinnerDate.minute()\n const seconds = spinnerDate.second()\n return { hours, minutes, seconds }\n})\n\nconst timeList = computed(() => {\n const { hours, minutes } = unref(timePartials)\n return {\n hours: getHoursList(props.role),\n minutes: getMinutesList(hours, props.role),\n seconds: getSecondsList(hours, minutes, props.role),\n }\n})\n\nconst arrowControlTimeList = computed<Record<TimeUnit, TimeList>>(() => {\n const { hours, minutes, seconds } = unref(timePartials)\n\n return {\n hours: buildTimeList(hours, 23),\n minutes: buildTimeList(minutes, 59),\n seconds: buildTimeList(seconds, 59),\n }\n})\n\nconst debouncedResetScroll = debounce((type) => {\n isScrolling = false\n adjustCurrentSpinner(type)\n}, 200)\n\nconst getAmPmFlag = (hour: number) => {\n const shouldShowAmPm = !!props.amPmMode\n if (!shouldShowAmPm) return ''\n const isCapital = props.amPmMode === 'A'\n // todo locale\n let content = hour < 12 ? ' am' : ' pm'\n if (isCapital) content = content.toUpperCase()\n return content\n}\n\nconst emitSelectRange = (type: TimeUnit) => {\n let range\n\n switch (type) {\n case 'hours':\n range = [0, 2]\n break\n case 'minutes':\n range = [3, 5]\n break\n case 'seconds':\n range = [6, 8]\n break\n }\n const [left, right] = range\n\n emit('select-range', left, right)\n currentScrollbar.value = type\n}\n\nconst adjustCurrentSpinner = (type: TimeUnit) => {\n adjustSpinner(type, unref(timePartials)[type])\n}\n\nconst adjustSpinners = () => {\n adjustCurrentSpinner('hours')\n adjustCurrentSpinner('minutes')\n adjustCurrentSpinner('seconds')\n}\n\nconst getScrollbarElement = (el: HTMLElement) =>\n el.querySelector(`.${ns.namespace.value}-scrollbar__wrap`) as HTMLElement\n\nconst adjustSpinner = (type: TimeUnit, value: number) => {\n if (props.arrowControl) return\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n getScrollbarElement(scrollbar.$el).scrollTop = Math.max(\n 0,\n value * typeItemHeight(type)\n )\n }\n}\n\nconst typeItemHeight = (type: TimeUnit): number => {\n const scrollbar = unref(listRefsMap[type])\n return scrollbar?.$el.querySelector('li').offsetHeight || 0\n}\n\nconst onIncrement = () => {\n scrollDown(1)\n}\n\nconst onDecrement = () => {\n scrollDown(-1)\n}\n\nconst scrollDown = (step: number) => {\n if (!currentScrollbar.value) {\n emitSelectRange('hours')\n }\n\n const label = currentScrollbar.value!\n const now = unref(timePartials)[label]\n const total = currentScrollbar.value === 'hours' ? 24 : 60\n const next = findNextUnDisabled(label, now, step, total)\n\n modifyDateField(label, next)\n adjustSpinner(label, next)\n nextTick(() => emitSelectRange(label))\n}\n\nconst findNextUnDisabled = (\n type: TimeUnit,\n now: number,\n step: number,\n total: number\n) => {\n let next = (now + step + total) % total\n const list = unref(timeList)[type]\n while (list[next] && next !== now) {\n next = (next + step + total) % total\n }\n return next\n}\n\nconst modifyDateField = (type: TimeUnit, value: number) => {\n const list = unref(timeList)[type]\n const isDisabled = list[value]\n if (isDisabled) return\n\n const { hours, minutes, seconds } = unref(timePartials)\n\n let changeTo\n switch (type) {\n case 'hours':\n changeTo = props.spinnerDate.hour(value).minute(minutes).second(seconds)\n break\n case 'minutes':\n changeTo = props.spinnerDate.hour(hours).minute(value).second(seconds)\n break\n case 'seconds':\n changeTo = props.spinnerDate.hour(hours).minute(minutes).second(value)\n break\n }\n emit('change', changeTo)\n}\n\nconst handleClick = (\n type: TimeUnit,\n { value, disabled }: { value: number; disabled: boolean }\n) => {\n if (!disabled) {\n modifyDateField(type, value)\n emitSelectRange(type)\n adjustSpinner(type, value)\n }\n}\n\nconst handleScroll = (type: TimeUnit) => {\n isScrolling = true\n debouncedResetScroll(type)\n const value = Math.min(\n Math.round(\n (getScrollbarElement(unref(listRefsMap[type])!.$el).scrollTop -\n (scrollBarHeight(type) * 0.5 - 10) / typeItemHeight(type) +\n 3) /\n typeItemHeight(type)\n ),\n type === 'hours' ? 23 : 59\n )\n modifyDateField(type, value)\n}\n\nconst scrollBarHeight = (type: TimeUnit) => {\n return unref(listRefsMap[type])!.$el.offsetHeight\n}\n\nconst bindScrollEvent = () => {\n const bindFunction = (type: TimeUnit) => {\n const scrollbar = unref(listRefsMap[type])\n if (scrollbar && scrollbar.$el) {\n getScrollbarElement(scrollbar.$el).onscroll = () => {\n // TODO: scroll is emitted when set scrollTop programmatically\n // should find better solutions in the future!\n handleScroll(type)\n }\n }\n }\n bindFunction('hours')\n bindFunction('minutes')\n bindFunction('seconds')\n}\n\nonMounted(() => {\n nextTick(() => {\n !props.arrowControl && bindScrollEvent()\n adjustSpinners()\n // set selection on the first hour part\n if (props.role === 'start') emitSelectRange('hours')\n })\n})\n\nconst setRef = (scrollbar: ScrollbarInstance, type: TimeUnit) => {\n listRefsMap[type].value = scrollbar\n}\n\nemit('set-option', [`${props.role}_scrollDown`, scrollDown])\nemit('set-option', [`${props.role}_emitSelectRange`, emitSelectRange])\n\nwatch(\n () => props.spinnerDate,\n () => {\n if (isScrolling) return\n adjustSpinners()\n }\n)\n</script>\n"],"names":["useNamespace","getTimeLists","ref","computed","timeUnits","unref","buildTimeList","debounce","nextTick","onMounted","watch"],"mappings":"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"}
|
|
@@ -4430,7 +4430,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
4430
4430
|
scrollBarHeight: (type: TimeUnit) => any;
|
|
4431
4431
|
bindScrollEvent: () => void;
|
|
4432
4432
|
setRef: (scrollbar: ScrollbarInstance, type: TimeUnit) => void;
|
|
4433
|
-
vRepeatClick: import("vue").ObjectDirective<
|
|
4433
|
+
vRepeatClick: import("vue").ObjectDirective<HTMLElement, import("../../../../directives/repeat-click").RepeatClickOptions | ((...args: unknown[]) => unknown)>;
|
|
4434
4434
|
ElScrollbar: import("../../../../utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
4435
4435
|
readonly height: import("../../../../utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
4436
4436
|
readonly maxHeight: import("../../../../utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
@@ -5718,7 +5718,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
5718
5718
|
readonly ratioY: number;
|
|
5719
5719
|
}>;
|
|
5720
5720
|
}> & {} & import("vue").ComponentCustomProperties, type: "seconds" | "minutes" | "hours") => void;
|
|
5721
|
-
vRepeatClick: import("vue").ObjectDirective<
|
|
5721
|
+
vRepeatClick: import("vue").ObjectDirective<HTMLElement, import("../../../../directives/repeat-click").RepeatClickOptions | ((...args: unknown[]) => unknown)>;
|
|
5722
5722
|
ElScrollbar: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
5723
5723
|
readonly height: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
5724
5724
|
readonly maxHeight: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
@@ -5744,7 +5744,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
5744
5744
|
readonly ratioY: number;
|
|
5745
5745
|
}>;
|
|
5746
5746
|
}> & {} & import("vue").ComponentCustomProperties, type: "seconds" | "minutes" | "hours") => void;
|
|
5747
|
-
vRepeatClick: import("vue").ObjectDirective<
|
|
5747
|
+
vRepeatClick: import("vue").ObjectDirective<HTMLElement, import("../../../../directives/repeat-click").RepeatClickOptions | ((...args: unknown[]) => unknown)>;
|
|
5748
5748
|
ElScrollbar: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
|
|
5749
5749
|
readonly height: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
5750
5750
|
readonly maxHeight: import("element-plus/es/utils").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { default as ClickOutside } from './click-outside';
|
|
2
|
-
export {
|
|
2
|
+
export { vRepeatClick } from './repeat-click';
|
|
3
3
|
export { default as TrapFocus } from './trap-focus';
|
|
4
4
|
export { default as Mousewheel } from './mousewheel';
|
package/lib/directives/index.js
CHANGED
|
@@ -10,7 +10,7 @@ var index$3 = require('./mousewheel/index.js');
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
exports.ClickOutside = index["default"];
|
|
13
|
-
exports.
|
|
13
|
+
exports.vRepeatClick = index$1.vRepeatClick;
|
|
14
14
|
exports.TrapFocus = index$2["default"];
|
|
15
15
|
exports.Mousewheel = index$3["default"];
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { ObjectDirective } from 'vue';
|
|
2
2
|
export declare const REPEAT_INTERVAL = 100;
|
|
3
3
|
export declare const REPEAT_DELAY = 600;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
export interface RepeatClickOptions {
|
|
5
|
+
interval?: number;
|
|
6
|
+
delay?: number;
|
|
7
|
+
handler: (...args: unknown[]) => unknown;
|
|
8
|
+
}
|
|
9
|
+
export declare const vRepeatClick: ObjectDirective<HTMLElement, RepeatClickOptions | RepeatClickOptions['handler']>;
|
|
@@ -2,39 +2,46 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('../../utils/index.js');
|
|
6
|
+
var shared = require('@vue/shared');
|
|
7
|
+
|
|
5
8
|
const REPEAT_INTERVAL = 100;
|
|
6
9
|
const REPEAT_DELAY = 600;
|
|
7
|
-
const
|
|
10
|
+
const vRepeatClick = {
|
|
8
11
|
beforeMount(el, binding) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
const value = binding.value;
|
|
13
|
+
const { interval = REPEAT_INTERVAL, delay = REPEAT_DELAY } = shared.isFunction(value) ? {} : value;
|
|
14
|
+
let intervalId;
|
|
15
|
+
let delayId;
|
|
16
|
+
const handler = () => shared.isFunction(value) ? value() : value.handler();
|
|
12
17
|
const clear = () => {
|
|
13
|
-
if (
|
|
14
|
-
clearTimeout(
|
|
15
|
-
|
|
18
|
+
if (delayId) {
|
|
19
|
+
clearTimeout(delayId);
|
|
20
|
+
delayId = void 0;
|
|
16
21
|
}
|
|
17
|
-
if (
|
|
18
|
-
clearInterval(
|
|
19
|
-
|
|
22
|
+
if (intervalId) {
|
|
23
|
+
clearInterval(intervalId);
|
|
24
|
+
intervalId = void 0;
|
|
20
25
|
}
|
|
21
26
|
};
|
|
22
|
-
el.addEventListener("mousedown", (
|
|
23
|
-
if (
|
|
27
|
+
el.addEventListener("mousedown", (evt) => {
|
|
28
|
+
if (evt.button !== 0)
|
|
24
29
|
return;
|
|
25
|
-
handler();
|
|
26
|
-
document.addEventListener("mouseup", clear, { once: true });
|
|
27
30
|
clear();
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
handler();
|
|
32
|
+
document.addEventListener("mouseup", () => clear(), {
|
|
33
|
+
once: true
|
|
34
|
+
});
|
|
35
|
+
delayId = setTimeout(() => {
|
|
36
|
+
intervalId = setInterval(() => {
|
|
30
37
|
handler();
|
|
31
|
-
},
|
|
32
|
-
},
|
|
38
|
+
}, interval);
|
|
39
|
+
}, delay);
|
|
33
40
|
});
|
|
34
41
|
}
|
|
35
42
|
};
|
|
36
43
|
|
|
37
44
|
exports.REPEAT_DELAY = REPEAT_DELAY;
|
|
38
45
|
exports.REPEAT_INTERVAL = REPEAT_INTERVAL;
|
|
39
|
-
exports
|
|
46
|
+
exports.vRepeatClick = vRepeatClick;
|
|
40
47
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../packages/directives/repeat-click/index.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../packages/directives/repeat-click/index.ts"],"sourcesContent":["import { isFunction } from '@element-plus/utils'\n\nimport type { ObjectDirective } from 'vue'\n\nexport const REPEAT_INTERVAL = 100\nexport const REPEAT_DELAY = 600\n\nexport interface RepeatClickOptions {\n interval?: number\n delay?: number\n handler: (...args: unknown[]) => unknown\n}\n\nexport const vRepeatClick: ObjectDirective<\n HTMLElement,\n RepeatClickOptions | RepeatClickOptions['handler']\n> = {\n beforeMount(el, binding) {\n const value = binding.value\n const { interval = REPEAT_INTERVAL, delay = REPEAT_DELAY } = isFunction(\n value\n )\n ? {}\n : value\n\n let intervalId: ReturnType<typeof setInterval> | undefined\n let delayId: ReturnType<typeof setTimeout> | undefined\n\n const handler = () => (isFunction(value) ? value() : value.handler())\n\n const clear = () => {\n if (delayId) {\n clearTimeout(delayId)\n delayId = undefined\n }\n if (intervalId) {\n clearInterval(intervalId)\n intervalId = undefined\n }\n }\n\n el.addEventListener('mousedown', (evt: MouseEvent) => {\n if (evt.button !== 0) return\n clear()\n handler()\n\n document.addEventListener('mouseup', () => clear(), {\n once: true,\n })\n\n delayId = setTimeout(() => {\n intervalId = setInterval(() => {\n handler()\n }, interval)\n }, delay)\n })\n },\n}\n"],"names":["isFunction"],"mappings":";;;;;;;AACY,MAAC,eAAe,GAAG,IAAI;AACvB,MAAC,YAAY,GAAG,IAAI;AACpB,MAAC,YAAY,GAAG;AAC5B,EAAE,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE;AAC3B,IAAI,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAChC,IAAI,MAAM,EAAE,QAAQ,GAAG,eAAe,EAAE,KAAK,GAAG,YAAY,EAAE,GAAGA,iBAAU,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;AAChG,IAAI,IAAI,UAAU,CAAC;AACnB,IAAI,IAAI,OAAO,CAAC;AAChB,IAAI,MAAM,OAAO,GAAG,MAAMA,iBAAU,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;AACxE,IAAI,MAAM,KAAK,GAAG,MAAM;AACxB,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9B,QAAQ,OAAO,GAAG,KAAK,CAAC,CAAC;AACzB,OAAO;AACP,MAAM,IAAI,UAAU,EAAE;AACtB,QAAQ,aAAa,CAAC,UAAU,CAAC,CAAC;AAClC,QAAQ,UAAU,GAAG,KAAK,CAAC,CAAC;AAC5B,OAAO;AACP,KAAK,CAAC;AACN,IAAI,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK;AAC9C,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;AAC1B,QAAQ,OAAO;AACf,MAAM,KAAK,EAAE,CAAC;AACd,MAAM,OAAO,EAAE,CAAC;AAChB,MAAM,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,KAAK,EAAE,EAAE;AAC1D,QAAQ,IAAI,EAAE,IAAI;AAClB,OAAO,CAAC,CAAC;AACT,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM;AACjC,QAAQ,UAAU,GAAG,WAAW,CAAC,MAAM;AACvC,UAAU,OAAO,EAAE,CAAC;AACpB,SAAS,EAAE,QAAQ,CAAC,CAAC;AACrB,OAAO,EAAE,KAAK,CAAC,CAAC;AAChB,KAAK,CAAC,CAAC;AACP,GAAG;AACH;;;;;;"}
|
package/lib/index.js
CHANGED
|
@@ -585,7 +585,7 @@ exports.INSTALLED_KEY = key.INSTALLED_KEY;
|
|
|
585
585
|
exports.componentSizeMap = size.componentSizeMap;
|
|
586
586
|
exports.componentSizes = size.componentSizes;
|
|
587
587
|
exports.ClickOutside = index$19["default"];
|
|
588
|
-
exports.
|
|
588
|
+
exports.vRepeatClick = index$1a.vRepeatClick;
|
|
589
589
|
exports.TrapFocus = index$1b["default"];
|
|
590
590
|
exports.Mousewheel = index$1c["default"];
|
|
591
591
|
exports.useAttrs = index$1d.useAttrs;
|
package/lib/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.0.
|
|
1
|
+
export declare const version = "0.0.20220921";
|
package/lib/version.js
CHANGED
package/lib/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.
|
|
1
|
+
{"version":3,"file":"version.js","sources":["../../../packages/element-plus/version.ts"],"sourcesContent":["export const version = '0.0.20220921'\n"],"names":[],"mappings":";;;;AAAY,MAAC,OAAO,GAAG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@element-plus/nightly",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20220921",
|
|
4
4
|
"description": "A Component Library for Vue 3",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"element-plus",
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
"not ie 11",
|
|
86
86
|
"not op_mini all"
|
|
87
87
|
],
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "34dd435534e27dd80ffdcb1c57002a6ea3432310"
|
|
89
89
|
}
|