@element-plus/nightly 0.0.20220726 → 0.0.20220727
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.css +1 -1
- package/dist/index.full.js +128 -127
- package/dist/index.full.min.js +13 -13
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +14 -14
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +128 -127
- 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/index.mjs +2 -2
- package/es/components/calendar/src/calendar.mjs +230 -16
- package/es/components/calendar/src/calendar.mjs.map +1 -1
- package/es/components/calendar/src/calendar2.mjs +16 -230
- package/es/components/calendar/src/calendar2.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.mjs +1 -1
- package/es/components/cascader-panel/src/index.mjs.map +1 -1
- package/es/components/color-picker/src/draggable.mjs +2 -2
- package/es/components/color-picker/src/draggable.mjs.map +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/slider/index.d.ts +5 -0
- package/es/components/slider/src/button.vue.d.ts +1 -0
- package/es/components/slider/src/button2.mjs +4 -2
- package/es/components/slider/src/button2.mjs.map +1 -1
- package/es/components/slider/src/composables/use-slide.d.ts +4 -0
- package/es/components/slider/src/composables/use-slider-button.d.ts +1 -0
- package/es/components/slider/src/composables/use-slider-button.mjs +1 -0
- package/es/components/slider/src/composables/use-slider-button.mjs.map +1 -1
- package/es/components/slider/src/slider.vue.d.ts +5 -0
- package/es/components/table/src/table/defaults.mjs +1 -3
- package/es/components/table/src/table/defaults.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.mjs +4 -4
- package/es/components/time-picker/src/common/picker.mjs.map +1 -1
- package/es/directives/mousewheel/index.mjs.map +1 -1
- package/es/hooks/use-escape-keydown/index.mjs +6 -6
- package/es/hooks/use-escape-keydown/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/index.js +2 -2
- package/lib/components/calendar/src/calendar.js +233 -16
- package/lib/components/calendar/src/calendar.js.map +1 -1
- package/lib/components/calendar/src/calendar2.js +16 -233
- package/lib/components/calendar/src/calendar2.js.map +1 -1
- package/lib/components/cascader-panel/src/index.js +1 -1
- package/lib/components/cascader-panel/src/index.js.map +1 -1
- package/lib/components/color-picker/src/draggable.js +2 -2
- package/lib/components/color-picker/src/draggable.js.map +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/slider/index.d.ts +5 -0
- package/lib/components/slider/src/button.vue.d.ts +1 -0
- package/lib/components/slider/src/button2.js +4 -2
- package/lib/components/slider/src/button2.js.map +1 -1
- package/lib/components/slider/src/composables/use-slide.d.ts +4 -0
- package/lib/components/slider/src/composables/use-slider-button.d.ts +1 -0
- package/lib/components/slider/src/composables/use-slider-button.js +1 -0
- package/lib/components/slider/src/composables/use-slider-button.js.map +1 -1
- package/lib/components/slider/src/slider.vue.d.ts +5 -0
- package/lib/components/table/src/table/defaults.js +1 -3
- package/lib/components/table/src/table/defaults.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.js +4 -4
- package/lib/components/time-picker/src/common/picker.js.map +1 -1
- package/lib/directives/mousewheel/index.js.map +1 -1
- package/lib/hooks/use-escape-keydown/index.js +6 -6
- package/lib/hooks/use-escape-keydown/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 +3 -3
- package/theme-chalk/el-rate.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/rate.scss +1 -0
- package/web-types.json +1 -1
|
@@ -2,244 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var vue = require('vue');
|
|
6
|
-
var dayjs = require('dayjs');
|
|
7
|
-
var index$2 = require('../../button/index.js');
|
|
8
|
-
require('../../../hooks/index.js');
|
|
9
5
|
require('../../../utils/index.js');
|
|
10
6
|
require('../../../constants/index.js');
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
|
|
14
|
-
var index = require('../../../hooks/use-namespace/index.js');
|
|
15
|
-
var index$1 = require('../../../hooks/use-locale/index.js');
|
|
7
|
+
var shared = require('@vue/shared');
|
|
8
|
+
var runtime = require('../../../utils/vue/props/runtime.js');
|
|
16
9
|
var event = require('../../../constants/event.js');
|
|
17
|
-
var error = require('../../../utils/error.js');
|
|
18
10
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
...__default__,
|
|
28
|
-
props: calendar.calendarProps,
|
|
29
|
-
emits: calendar.calendarEmits,
|
|
30
|
-
setup(__props, { expose, emit }) {
|
|
31
|
-
const props = __props;
|
|
32
|
-
const COMPONENT_NAME = "ElCalendar";
|
|
33
|
-
const ns = index.useNamespace("calendar");
|
|
34
|
-
const { t, lang } = index$1.useLocale();
|
|
35
|
-
const selectedDay = vue.ref();
|
|
36
|
-
const now = dayjs__default["default"]().locale(lang.value);
|
|
37
|
-
const realSelectedDay = vue.computed({
|
|
38
|
-
get() {
|
|
39
|
-
if (!props.modelValue)
|
|
40
|
-
return selectedDay.value;
|
|
41
|
-
return date.value;
|
|
42
|
-
},
|
|
43
|
-
set(val) {
|
|
44
|
-
if (!val)
|
|
45
|
-
return;
|
|
46
|
-
selectedDay.value = val;
|
|
47
|
-
const result = val.toDate();
|
|
48
|
-
emit(event.INPUT_EVENT, result);
|
|
49
|
-
emit(event.UPDATE_MODEL_EVENT, result);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
const validatedRange = vue.computed(() => {
|
|
53
|
-
if (!props.range)
|
|
54
|
-
return [];
|
|
55
|
-
const rangeArrDayjs = props.range.map((_) => dayjs__default["default"](_).locale(lang.value));
|
|
56
|
-
const [startDayjs, endDayjs] = rangeArrDayjs;
|
|
57
|
-
if (startDayjs.isAfter(endDayjs)) {
|
|
58
|
-
error.debugWarn(COMPONENT_NAME, "end time should be greater than start time");
|
|
59
|
-
return [];
|
|
60
|
-
}
|
|
61
|
-
if (startDayjs.isSame(endDayjs, "month")) {
|
|
62
|
-
return calculateValidatedDateRange(startDayjs, endDayjs);
|
|
63
|
-
} else {
|
|
64
|
-
if (startDayjs.add(1, "month").month() !== endDayjs.month()) {
|
|
65
|
-
error.debugWarn(COMPONENT_NAME, "start time and end time interval must not exceed two months");
|
|
66
|
-
return [];
|
|
67
|
-
}
|
|
68
|
-
return calculateValidatedDateRange(startDayjs, endDayjs);
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
const date = vue.computed(() => {
|
|
72
|
-
if (!props.modelValue) {
|
|
73
|
-
if (realSelectedDay.value) {
|
|
74
|
-
return realSelectedDay.value;
|
|
75
|
-
} else if (validatedRange.value.length) {
|
|
76
|
-
return validatedRange.value[0][0];
|
|
77
|
-
}
|
|
78
|
-
return now;
|
|
79
|
-
} else {
|
|
80
|
-
return dayjs__default["default"](props.modelValue).locale(lang.value);
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
const prevMonthDayjs = vue.computed(() => date.value.subtract(1, "month").date(1));
|
|
84
|
-
const nextMonthDayjs = vue.computed(() => date.value.add(1, "month").date(1));
|
|
85
|
-
const prevYearDayjs = vue.computed(() => date.value.subtract(1, "year").date(1));
|
|
86
|
-
const nextYearDayjs = vue.computed(() => date.value.add(1, "year").date(1));
|
|
87
|
-
const i18nDate = vue.computed(() => {
|
|
88
|
-
const pickedMonth = `el.datepicker.month${date.value.format("M")}`;
|
|
89
|
-
return `${date.value.year()} ${t("el.datepicker.year")} ${t(pickedMonth)}`;
|
|
90
|
-
});
|
|
91
|
-
const calculateValidatedDateRange = (startDayjs, endDayjs) => {
|
|
92
|
-
const firstDay = startDayjs.startOf("week");
|
|
93
|
-
const lastDay = endDayjs.endOf("week");
|
|
94
|
-
const firstMonth = firstDay.get("month");
|
|
95
|
-
const lastMonth = lastDay.get("month");
|
|
96
|
-
if (firstMonth === lastMonth) {
|
|
97
|
-
return [[firstDay, lastDay]];
|
|
98
|
-
} else if (firstMonth + 1 === lastMonth) {
|
|
99
|
-
const firstMonthLastDay = firstDay.endOf("month");
|
|
100
|
-
const lastMonthFirstDay = lastDay.startOf("month");
|
|
101
|
-
const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, "week");
|
|
102
|
-
const lastMonthStartDay = isSameWeek ? lastMonthFirstDay.add(1, "week") : lastMonthFirstDay;
|
|
103
|
-
return [
|
|
104
|
-
[firstDay, firstMonthLastDay],
|
|
105
|
-
[lastMonthStartDay.startOf("week"), lastDay]
|
|
106
|
-
];
|
|
107
|
-
} else if (firstMonth + 2 === lastMonth || (firstMonth + 1) % 11 === lastMonth) {
|
|
108
|
-
const firstMonthLastDay = firstDay.endOf("month");
|
|
109
|
-
const secondMonthFirstDay = firstDay.add(1, "month").startOf("month");
|
|
110
|
-
const secondMonthStartDay = firstMonthLastDay.isSame(secondMonthFirstDay, "week") ? secondMonthFirstDay.add(1, "week") : secondMonthFirstDay;
|
|
111
|
-
const secondMonthLastDay = secondMonthStartDay.endOf("month");
|
|
112
|
-
const lastMonthFirstDay = lastDay.startOf("month");
|
|
113
|
-
const lastMonthStartDay = secondMonthLastDay.isSame(lastMonthFirstDay, "week") ? lastMonthFirstDay.add(1, "week") : lastMonthFirstDay;
|
|
114
|
-
return [
|
|
115
|
-
[firstDay, firstMonthLastDay],
|
|
116
|
-
[secondMonthStartDay.startOf("week"), secondMonthLastDay],
|
|
117
|
-
[lastMonthStartDay.startOf("week"), lastDay]
|
|
118
|
-
];
|
|
119
|
-
} else {
|
|
120
|
-
error.debugWarn(COMPONENT_NAME, "start time and end time interval must not exceed two months");
|
|
121
|
-
return [];
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
const pickDay = (day) => {
|
|
125
|
-
realSelectedDay.value = day;
|
|
126
|
-
};
|
|
127
|
-
const selectDate = (type) => {
|
|
128
|
-
let day;
|
|
129
|
-
if (type === "prev-month") {
|
|
130
|
-
day = prevMonthDayjs.value;
|
|
131
|
-
} else if (type === "next-month") {
|
|
132
|
-
day = nextMonthDayjs.value;
|
|
133
|
-
} else if (type === "prev-year") {
|
|
134
|
-
day = prevYearDayjs.value;
|
|
135
|
-
} else if (type === "next-year") {
|
|
136
|
-
day = nextYearDayjs.value;
|
|
137
|
-
} else {
|
|
138
|
-
day = now;
|
|
139
|
-
}
|
|
140
|
-
if (day.isSame(date.value, "day"))
|
|
141
|
-
return;
|
|
142
|
-
pickDay(day);
|
|
143
|
-
};
|
|
144
|
-
expose({
|
|
145
|
-
selectedDay: realSelectedDay,
|
|
146
|
-
pickDay,
|
|
147
|
-
selectDate,
|
|
148
|
-
calculateValidatedDateRange
|
|
149
|
-
});
|
|
150
|
-
return (_ctx, _cache) => {
|
|
151
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
152
|
-
class: vue.normalizeClass(vue.unref(ns).b())
|
|
153
|
-
}, [
|
|
154
|
-
vue.createElementVNode("div", {
|
|
155
|
-
class: vue.normalizeClass(vue.unref(ns).e("header"))
|
|
156
|
-
}, [
|
|
157
|
-
vue.renderSlot(_ctx.$slots, "header", { date: vue.unref(i18nDate) }, () => [
|
|
158
|
-
vue.createElementVNode("div", {
|
|
159
|
-
class: vue.normalizeClass(vue.unref(ns).e("title"))
|
|
160
|
-
}, vue.toDisplayString(vue.unref(i18nDate)), 3),
|
|
161
|
-
vue.unref(validatedRange).length === 0 ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
162
|
-
key: 0,
|
|
163
|
-
class: vue.normalizeClass(vue.unref(ns).e("button-group"))
|
|
164
|
-
}, [
|
|
165
|
-
vue.createVNode(vue.unref(index$2.ElButtonGroup), null, {
|
|
166
|
-
default: vue.withCtx(() => [
|
|
167
|
-
vue.createVNode(vue.unref(index$2.ElButton), {
|
|
168
|
-
size: "small",
|
|
169
|
-
onClick: _cache[0] || (_cache[0] = ($event) => selectDate("prev-month"))
|
|
170
|
-
}, {
|
|
171
|
-
default: vue.withCtx(() => [
|
|
172
|
-
vue.createTextVNode(vue.toDisplayString(vue.unref(t)("el.datepicker.prevMonth")), 1)
|
|
173
|
-
]),
|
|
174
|
-
_: 1
|
|
175
|
-
}),
|
|
176
|
-
vue.createVNode(vue.unref(index$2.ElButton), {
|
|
177
|
-
size: "small",
|
|
178
|
-
onClick: _cache[1] || (_cache[1] = ($event) => selectDate("today"))
|
|
179
|
-
}, {
|
|
180
|
-
default: vue.withCtx(() => [
|
|
181
|
-
vue.createTextVNode(vue.toDisplayString(vue.unref(t)("el.datepicker.today")), 1)
|
|
182
|
-
]),
|
|
183
|
-
_: 1
|
|
184
|
-
}),
|
|
185
|
-
vue.createVNode(vue.unref(index$2.ElButton), {
|
|
186
|
-
size: "small",
|
|
187
|
-
onClick: _cache[2] || (_cache[2] = ($event) => selectDate("next-month"))
|
|
188
|
-
}, {
|
|
189
|
-
default: vue.withCtx(() => [
|
|
190
|
-
vue.createTextVNode(vue.toDisplayString(vue.unref(t)("el.datepicker.nextMonth")), 1)
|
|
191
|
-
]),
|
|
192
|
-
_: 1
|
|
193
|
-
})
|
|
194
|
-
]),
|
|
195
|
-
_: 1
|
|
196
|
-
})
|
|
197
|
-
], 2)) : vue.createCommentVNode("v-if", true)
|
|
198
|
-
])
|
|
199
|
-
], 2),
|
|
200
|
-
vue.unref(validatedRange).length === 0 ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
201
|
-
key: 0,
|
|
202
|
-
class: vue.normalizeClass(vue.unref(ns).e("body"))
|
|
203
|
-
}, [
|
|
204
|
-
vue.createVNode(dateTable["default"], {
|
|
205
|
-
date: vue.unref(date),
|
|
206
|
-
"selected-day": vue.unref(realSelectedDay),
|
|
207
|
-
onPick: pickDay
|
|
208
|
-
}, vue.createSlots({ _: 2 }, [
|
|
209
|
-
_ctx.$slots.dateCell ? {
|
|
210
|
-
name: "dateCell",
|
|
211
|
-
fn: vue.withCtx((data) => [
|
|
212
|
-
vue.renderSlot(_ctx.$slots, "dateCell", vue.normalizeProps(vue.guardReactiveProps(data)))
|
|
213
|
-
])
|
|
214
|
-
} : void 0
|
|
215
|
-
]), 1032, ["date", "selected-day"])
|
|
216
|
-
], 2)) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
217
|
-
key: 1,
|
|
218
|
-
class: vue.normalizeClass(vue.unref(ns).e("body"))
|
|
219
|
-
}, [
|
|
220
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(validatedRange), (range_, index) => {
|
|
221
|
-
return vue.openBlock(), vue.createBlock(dateTable["default"], {
|
|
222
|
-
key: index,
|
|
223
|
-
date: range_[0],
|
|
224
|
-
"selected-day": vue.unref(realSelectedDay),
|
|
225
|
-
range: range_,
|
|
226
|
-
"hide-header": index !== 0,
|
|
227
|
-
onPick: pickDay
|
|
228
|
-
}, vue.createSlots({ _: 2 }, [
|
|
229
|
-
_ctx.$slots.dateCell ? {
|
|
230
|
-
name: "dateCell",
|
|
231
|
-
fn: vue.withCtx((data) => [
|
|
232
|
-
vue.renderSlot(_ctx.$slots, "dateCell", vue.normalizeProps(vue.guardReactiveProps(data)))
|
|
233
|
-
])
|
|
234
|
-
} : void 0
|
|
235
|
-
]), 1032, ["date", "selected-day", "range", "hide-header"]);
|
|
236
|
-
}), 128))
|
|
237
|
-
], 2))
|
|
238
|
-
], 2);
|
|
239
|
-
};
|
|
11
|
+
const isValidRange = (range) => shared.isArray(range) && range.length === 2 && range.every((item) => shared.isDate(item));
|
|
12
|
+
const calendarProps = runtime.buildProps({
|
|
13
|
+
modelValue: {
|
|
14
|
+
type: Date
|
|
15
|
+
},
|
|
16
|
+
range: {
|
|
17
|
+
type: runtime.definePropType(Array),
|
|
18
|
+
validator: isValidRange
|
|
240
19
|
}
|
|
241
20
|
});
|
|
242
|
-
|
|
21
|
+
const calendarEmits = {
|
|
22
|
+
[event.UPDATE_MODEL_EVENT]: (value) => shared.isDate(value),
|
|
23
|
+
[event.INPUT_EVENT]: (value) => shared.isDate(value)
|
|
24
|
+
};
|
|
243
25
|
|
|
244
|
-
exports
|
|
26
|
+
exports.calendarEmits = calendarEmits;
|
|
27
|
+
exports.calendarProps = calendarProps;
|
|
245
28
|
//# sourceMappingURL=calendar2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar2.js","sources":["../../../../../../packages/components/calendar/src/calendar.vue"],"sourcesContent":["<template>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('header')\">\n <slot name=\"header\" :date=\"i18nDate\">\n <div :class=\"ns.e('title')\">{{ i18nDate }}</div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('button-group')\">\n <el-button-group>\n <el-button size=\"small\" @click=\"selectDate('prev-month')\">\n {{ t('el.datepicker.prevMonth') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('today')\">\n {{ t('el.datepicker.today') }}\n </el-button>\n <el-button size=\"small\" @click=\"selectDate('next-month')\">\n {{ t('el.datepicker.nextMonth') }}\n </el-button>\n </el-button-group>\n </div>\n </slot>\n </div>\n <div v-if=\"validatedRange.length === 0\" :class=\"ns.e('body')\">\n <date-table :date=\"date\" :selected-day=\"realSelectedDay\" @pick=\"pickDay\">\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n <div v-else :class=\"ns.e('body')\">\n <date-table\n v-for=\"(range_, index) in validatedRange\"\n :key=\"index\"\n :date=\"range_[0]\"\n :selected-day=\"realSelectedDay\"\n :range=\"range_\"\n :hide-header=\"index !== 0\"\n @pick=\"pickDay\"\n >\n <template v-if=\"$slots.dateCell\" #dateCell=\"data\">\n <slot name=\"dateCell\" v-bind=\"data\" />\n </template>\n </date-table>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport { ElButton, ElButtonGroup } from '@element-plus/components/button'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { debugWarn } from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport DateTable from './date-table.vue'\nimport { calendarEmits, calendarProps } from './calendar'\n\nimport type { CalendarDateType } from './calendar'\nimport type { ComputedRef } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nconst COMPONENT_NAME = 'ElCalendar'\n\ndefineOptions({\n name: 'ElCalendar',\n})\n\nconst props = defineProps(calendarProps)\nconst emit = defineEmits(calendarEmits)\n\nconst ns = useNamespace('calendar')\nconst { t, lang } = useLocale()\n\nconst selectedDay = ref<Dayjs>()\nconst now = dayjs().locale(lang.value)\n\nconst realSelectedDay = computed<Dayjs | undefined>({\n get() {\n if (!props.modelValue) return selectedDay.value\n return date.value\n },\n set(val) {\n if (!val) return\n selectedDay.value = val\n const result = val.toDate()\n\n emit(INPUT_EVENT, result)\n emit(UPDATE_MODEL_EVENT, result)\n },\n})\n\n// if range is valid, we get a two-digit array\nconst validatedRange = computed(() => {\n if (!props.range) return []\n const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value))\n const [startDayjs, endDayjs] = rangeArrDayjs\n if (startDayjs.isAfter(endDayjs)) {\n debugWarn(COMPONENT_NAME, 'end time should be greater than start time')\n return []\n }\n if (startDayjs.isSame(endDayjs, 'month')) {\n // same month\n return calculateValidatedDateRange(startDayjs, endDayjs)\n } else {\n // two months\n if (startDayjs.add(1, 'month').month() !== endDayjs.month()) {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n return calculateValidatedDateRange(startDayjs, endDayjs)\n }\n})\n\nconst date: ComputedRef<Dayjs> = computed(() => {\n if (!props.modelValue) {\n if (realSelectedDay.value) {\n return realSelectedDay.value\n } else if (validatedRange.value.length) {\n return validatedRange.value[0][0]\n }\n return now\n } else {\n return dayjs(props.modelValue).locale(lang.value)\n }\n})\nconst prevMonthDayjs = computed(() => date.value.subtract(1, 'month').date(1))\nconst nextMonthDayjs = computed(() => date.value.add(1, 'month').date(1))\nconst prevYearDayjs = computed(() => date.value.subtract(1, 'year').date(1))\nconst nextYearDayjs = computed(() => date.value.add(1, 'year').date(1))\n\nconst i18nDate = computed(() => {\n const pickedMonth = `el.datepicker.month${date.value.format('M')}`\n return `${date.value.year()} ${t('el.datepicker.year')} ${t(pickedMonth)}`\n})\n\n// https://github.com/element-plus/element-plus/issues/3155\n// Calculate the validate date range according to the start and end dates\nconst calculateValidatedDateRange = (\n startDayjs: Dayjs,\n endDayjs: Dayjs\n): [Dayjs, Dayjs][] => {\n const firstDay = startDayjs.startOf('week')\n const lastDay = endDayjs.endOf('week')\n const firstMonth = firstDay.get('month')\n const lastMonth = lastDay.get('month')\n\n // Current mouth\n if (firstMonth === lastMonth) {\n return [[firstDay, lastDay]]\n }\n // Two adjacent months\n else if (firstMonth + 1 === lastMonth) {\n const firstMonthLastDay = firstDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the first month and the first day of the last month is in the same week\n const isSameWeek = firstMonthLastDay.isSame(lastMonthFirstDay, 'week')\n const lastMonthStartDay = isSameWeek\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Three consecutive months (compatible: 2021-01-30 to 2021-02-28)\n else if (\n firstMonth + 2 === lastMonth ||\n (firstMonth + 1) % 11 === lastMonth\n ) {\n const firstMonthLastDay = firstDay.endOf('month')\n const secondMonthFirstDay = firstDay.add(1, 'month').startOf('month')\n\n // Whether the last day of the first month and the second month is in the same week\n const secondMonthStartDay = firstMonthLastDay.isSame(\n secondMonthFirstDay,\n 'week'\n )\n ? secondMonthFirstDay.add(1, 'week')\n : secondMonthFirstDay\n\n const secondMonthLastDay = secondMonthStartDay.endOf('month')\n const lastMonthFirstDay = lastDay.startOf('month')\n\n // Whether the last day of the second month and the last day of the last month is in the same week\n const lastMonthStartDay = secondMonthLastDay.isSame(\n lastMonthFirstDay,\n 'week'\n )\n ? lastMonthFirstDay.add(1, 'week')\n : lastMonthFirstDay\n\n return [\n [firstDay, firstMonthLastDay],\n [secondMonthStartDay.startOf('week'), secondMonthLastDay],\n [lastMonthStartDay.startOf('week'), lastDay],\n ]\n }\n // Other cases\n else {\n debugWarn(\n COMPONENT_NAME,\n 'start time and end time interval must not exceed two months'\n )\n return []\n }\n}\n\nconst pickDay = (day: Dayjs) => {\n realSelectedDay.value = day\n}\n\nconst selectDate = (type: CalendarDateType) => {\n let day: Dayjs\n if (type === 'prev-month') {\n day = prevMonthDayjs.value\n } else if (type === 'next-month') {\n day = nextMonthDayjs.value\n } else if (type === 'prev-year') {\n day = prevYearDayjs.value\n } else if (type === 'next-year') {\n day = nextYearDayjs.value\n } else {\n day = now\n }\n\n if (day.isSame(date.value, 'day')) return\n pickDay(day)\n}\n\ndefineExpose({\n /** @description currently selected date */\n selectedDay: realSelectedDay,\n /** @description select a specific date */\n pickDay,\n /** @description select date */\n selectDate,\n /** @description Calculate the validate date range according to the start and end dates */\n calculateValidatedDateRange,\n})\n</script>\n"],"names":["useNamespace","useLocale","ref","dayjs","computed","INPUT_EVENT","UPDATE_MODEL_EVENT","debugWarn"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"calendar2.js","sources":["../../../../../../packages/components/calendar/src/calendar.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isArray,\n isDate,\n} from '@element-plus/utils'\nimport { INPUT_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport type { ExtractPropTypes } from 'vue'\nimport type Calendar from './calendar.vue'\n\nexport type CalendarDateType =\n | 'prev-month'\n | 'next-month'\n | 'prev-year'\n | 'next-year'\n | 'today'\n\nconst isValidRange = (range: unknown): range is [Date, Date] =>\n isArray(range) && range.length === 2 && range.every((item) => isDate(item))\n\nexport const calendarProps = buildProps({\n modelValue: {\n type: Date,\n },\n range: {\n type: definePropType<[Date, Date]>(Array),\n validator: isValidRange,\n },\n} as const)\nexport type CalendarProps = ExtractPropTypes<typeof calendarProps>\n\nexport const calendarEmits = {\n [UPDATE_MODEL_EVENT]: (value: Date) => isDate(value),\n [INPUT_EVENT]: (value: Date) => isDate(value),\n}\nexport type CalendarEmits = typeof calendarEmits\n\nexport type CalendarInstance = InstanceType<typeof Calendar>\n"],"names":["isArray","isDate","buildProps","definePropType","UPDATE_MODEL_EVENT","INPUT_EVENT"],"mappings":";;;;;;;;;;AAOA,MAAM,YAAY,GAAG,CAAC,KAAK,KAAKA,cAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAKC,aAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAChG,MAAC,aAAa,GAAGC,kBAAU,CAAC;AACxC,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAEC,sBAAc,CAAC,KAAK,CAAC;AAC/B,IAAI,SAAS,EAAE,YAAY;AAC3B,GAAG;AACH,CAAC,EAAE;AACS,MAAC,aAAa,GAAG;AAC7B,EAAE,CAACC,wBAAkB,GAAG,CAAC,KAAK,KAAKH,aAAM,CAAC,KAAK,CAAC;AAChD,EAAE,CAACI,iBAAW,GAAG,CAAC,KAAK,KAAKJ,aAAM,CAAC,KAAK,CAAC;AACzC;;;;;"}
|
|
@@ -159,7 +159,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
159
159
|
} else {
|
|
160
160
|
const values = multiple ? arrays.castArray(modelValue) : [modelValue];
|
|
161
161
|
const nodes = arrays.unique(values.map((val) => store$1 == null ? void 0 : store$1.getNodeByValue(val, leafOnly)));
|
|
162
|
-
syncMenuState(nodes,
|
|
162
|
+
syncMenuState(nodes, forced);
|
|
163
163
|
checkedValue.value = modelValue;
|
|
164
164
|
}
|
|
165
165
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/cascader-panel/src/index.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('panel'), ns.is('bordered', border)]\"\n @keydown=\"handleKeyDown\"\n >\n <el-cascader-menu\n v-for=\"(menu, index) in menus\"\n :key=\"index\"\n :ref=\"(item) => (menuList[index] = item)\"\n :index=\"index\"\n :nodes=\"[...menu]\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n nextTick,\n onBeforeUpdate,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { flattenDeep, isEqual } from 'lodash-unified'\nimport { isClient } from '@vueuse/core'\nimport {\n castArray,\n focusNode,\n getSibling,\n isEmpty,\n scrollIntoView,\n unique,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport ElCascaderMenu from './menu.vue'\nimport Store from './store'\nimport Node, { ExpandTrigger } from './node'\nimport { CommonProps, useCascaderConfig } from './config'\nimport { checkNode, getMenuIndex, sortByOriginalOrder } from './utils'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type { PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type {\n default as CascaderNode,\n CascaderNodeValue,\n CascaderOption,\n CascaderValue,\n RenderLabel,\n} from './node'\n\nimport type { ElCascaderPanelContext } from './types'\n\nexport default defineComponent({\n name: 'ElCascaderPanel',\n\n components: {\n ElCascaderMenu,\n },\n\n props: {\n ...CommonProps,\n border: {\n type: Boolean,\n default: true,\n },\n renderLabel: Function as PropType<RenderLabel>,\n },\n\n emits: [UPDATE_MODEL_EVENT, CHANGE_EVENT, 'close', 'expand-change'],\n\n setup(props, { emit, slots }) {\n // for interrupt sync check status in lazy mode\n let manualChecked = false\n\n const ns = useNamespace('cascader')\n const config = useCascaderConfig(props)\n\n let store: Nullable<Store> = null\n const initialLoaded = ref(true)\n const menuList = ref<any[]>([])\n const checkedValue = ref<Nullable<CascaderValue>>(null)\n const menus = ref<CascaderNode[][]>([])\n const expandingNode = ref<Nullable<CascaderNode>>(null)\n const checkedNodes = ref<CascaderNode[]>([])\n\n const isHoverMenu = computed(\n () => config.value.expandTrigger === ExpandTrigger.HOVER\n )\n const renderLabelFn = computed(() => props.renderLabel || slots.default)\n\n const initStore = () => {\n const { options } = props\n const cfg = config.value\n\n manualChecked = false\n store = new Store(options, cfg)\n menus.value = [store.getNodes()]\n\n if (cfg.lazy && isEmpty(props.options)) {\n initialLoaded.value = false\n lazyLoad(undefined, (list) => {\n if (list) {\n store = new Store(list, cfg)\n menus.value = [store.getNodes()]\n }\n initialLoaded.value = true\n syncCheckedValue(false, true)\n })\n } else {\n syncCheckedValue(false, true)\n }\n }\n\n const lazyLoad: ElCascaderPanelContext['lazyLoad'] = (node, cb) => {\n const cfg = config.value\n node! = node || new Node({}, cfg, undefined, true)\n node.loading = true\n\n const resolve = (dataList: CascaderOption[]) => {\n const _node = node as Node\n const parent = _node.root ? null : _node\n dataList && store?.appendNodes(dataList, parent as any)\n _node.loading = false\n _node.loaded = true\n _node.childrenData = _node.childrenData || []\n cb && cb(dataList)\n }\n\n cfg.lazyLoad(node, resolve as any)\n }\n\n const expandNode: ElCascaderPanelContext['expandNode'] = (node, silent) => {\n const { level } = node\n const newMenus = menus.value.slice(0, level)\n let newExpandingNode: Nullable<CascaderNode>\n\n if (node.isLeaf) {\n newExpandingNode = node.pathNodes[level - 2]\n } else {\n newExpandingNode = node\n newMenus.push(node.children)\n }\n\n if (expandingNode.value?.uid !== newExpandingNode?.uid) {\n expandingNode.value = node\n menus.value = newMenus\n !silent && emit('expand-change', node?.pathValues || [])\n }\n }\n\n const handleCheckChange: ElCascaderPanelContext['handleCheckChange'] = (\n node,\n checked,\n emitClose = true\n ) => {\n const { checkStrictly, multiple } = config.value\n const oldNode = checkedNodes.value[0]\n manualChecked = true\n\n !multiple && oldNode?.doCheck(false)\n node.doCheck(checked)\n calculateCheckedValue()\n emitClose && !multiple && !checkStrictly && emit('close')\n !emitClose && !multiple && !checkStrictly && expandParentNode(node)\n }\n\n const expandParentNode = (node) => {\n if (!node) return\n node = node.parent\n expandParentNode(node)\n node && expandNode(node)\n }\n\n const getFlattedNodes = (leafOnly: boolean) => {\n return store?.getFlattedNodes(leafOnly)\n }\n\n const getCheckedNodes = (leafOnly: boolean) => {\n return getFlattedNodes(leafOnly)?.filter((node) => node.checked !== false)\n }\n\n const clearCheckedNodes = () => {\n checkedNodes.value.forEach((node) => node.doCheck(false))\n calculateCheckedValue()\n }\n\n const calculateCheckedValue = () => {\n const { checkStrictly, multiple } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = getCheckedNodes(!checkStrictly)!\n // ensure the original order\n const nodes = sortByOriginalOrder(oldNodes, newNodes)\n const values = nodes.map((node) => node.valueByOption)\n checkedNodes.value = nodes\n checkedValue.value = multiple ? values : values[0] ?? null\n }\n\n const syncCheckedValue = (loaded = false, forced = false) => {\n const { modelValue } = props\n const { lazy, multiple, checkStrictly } = config.value\n const leafOnly = !checkStrictly\n\n if (\n !initialLoaded.value ||\n manualChecked ||\n (!forced && isEqual(modelValue, checkedValue.value))\n )\n return\n\n if (lazy && !loaded) {\n const values: CascaderNodeValue[] = unique(\n flattenDeep(castArray(modelValue))\n )\n const nodes = values\n .map((val) => store?.getNodeByValue(val))\n .filter((node) => !!node && !node.loaded && !node.loading) as Node[]\n\n if (nodes.length) {\n nodes.forEach((node) => {\n lazyLoad(node, () => syncCheckedValue(false, forced))\n })\n } else {\n syncCheckedValue(true, forced)\n }\n } else {\n const values = multiple ? castArray(modelValue) : [modelValue]\n const nodes = unique(\n values.map((val) => store?.getNodeByValue(val, leafOnly))\n ) as Node[]\n syncMenuState(nodes, false)\n checkedValue.value = modelValue!\n }\n }\n\n const syncMenuState = (\n newCheckedNodes: CascaderNode[],\n reserveExpandingState = true\n ) => {\n const { checkStrictly } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = newCheckedNodes.filter(\n (node) => !!node && (checkStrictly || node.isLeaf)\n )\n const oldExpandingNode = store?.getSameNode(expandingNode.value!)\n const newExpandingNode =\n (reserveExpandingState && oldExpandingNode) || newNodes[0]\n\n if (newExpandingNode) {\n newExpandingNode.pathNodes.forEach((node) => expandNode(node, true))\n } else {\n expandingNode.value = null\n }\n\n oldNodes.forEach((node) => node.doCheck(false))\n newNodes.forEach((node) => node.doCheck(true))\n\n checkedNodes.value = newNodes\n nextTick(scrollToExpandingNode)\n }\n\n const scrollToExpandingNode = () => {\n if (!isClient) return\n\n menuList.value.forEach((menu) => {\n const menuElement = menu?.$el\n if (menuElement) {\n const container = menuElement.querySelector(\n `.${ns.namespace.value}-scrollbar__wrap`\n )\n const activeNode =\n menuElement.querySelector(`.${ns.b('node')}.${ns.is('active')}`) ||\n menuElement.querySelector(`.${ns.b('node')}.in-active-path`)\n scrollIntoView(container, activeNode)\n }\n })\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const { code } = e\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n e.preventDefault()\n const distance = code === EVENT_CODE.up ? -1 : 1\n focusNode(\n getSibling(target, distance, `.${ns.b('node')}[tabindex=\"-1\"]`)\n )\n break\n }\n case EVENT_CODE.left: {\n e.preventDefault()\n const preMenu = menuList.value[getMenuIndex(target) - 1]\n const expandedNode = preMenu?.$el.querySelector(\n `.${ns.b('node')}[aria-expanded=\"true\"]`\n )\n focusNode(expandedNode)\n break\n }\n case EVENT_CODE.right: {\n e.preventDefault()\n const nextMenu = menuList.value[getMenuIndex(target) + 1]\n const firstNode = nextMenu?.$el.querySelector(\n `.${ns.b('node')}[tabindex=\"-1\"]`\n )\n focusNode(firstNode)\n break\n }\n case EVENT_CODE.enter:\n checkNode(target)\n break\n }\n }\n\n provide(\n CASCADER_PANEL_INJECTION_KEY,\n reactive({\n config,\n expandingNode,\n checkedNodes,\n isHoverMenu,\n initialLoaded,\n renderLabelFn,\n lazyLoad,\n expandNode,\n handleCheckChange,\n })\n )\n\n watch([config, () => props.options], initStore, {\n deep: true,\n immediate: true,\n })\n\n watch(\n () => props.modelValue,\n () => {\n manualChecked = false\n syncCheckedValue()\n }\n )\n\n watch(checkedValue, (val) => {\n if (!isEqual(val, props.modelValue)) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n }\n })\n\n onBeforeUpdate(() => (menuList.value = []))\n\n onMounted(() => !isEmpty(props.modelValue) && syncCheckedValue())\n\n return {\n ns,\n menuList,\n menus,\n checkedNodes,\n handleKeyDown,\n handleCheckChange,\n getFlattedNodes,\n getCheckedNodes,\n clearCheckedNodes,\n calculateCheckedValue,\n scrollToExpandingNode,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElCascaderMenu","CommonProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","useNamespace","config","useCascaderConfig","store","ref","computed","ExpandTrigger","Store","isEmpty","node","Node","sortByOriginalOrder","isEqual","unique","flattenDeep","castArray","nextTick","isClient","scrollIntoView","EVENT_CODE","focusNode","getMenuIndex","checkNode","provide","CASCADER_PANEL_INJECTION_KEY","reactive","watch","onBeforeUpdate","onMounted","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_Fragment","_renderList","_createBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/cascader-panel/src/index.vue"],"sourcesContent":["<template>\n <div\n :class=\"[ns.b('panel'), ns.is('bordered', border)]\"\n @keydown=\"handleKeyDown\"\n >\n <el-cascader-menu\n v-for=\"(menu, index) in menus\"\n :key=\"index\"\n :ref=\"(item) => (menuList[index] = item)\"\n :index=\"index\"\n :nodes=\"[...menu]\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n nextTick,\n onBeforeUpdate,\n onMounted,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { flattenDeep, isEqual } from 'lodash-unified'\nimport { isClient } from '@vueuse/core'\nimport {\n castArray,\n focusNode,\n getSibling,\n isEmpty,\n scrollIntoView,\n unique,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n EVENT_CODE,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\n\nimport ElCascaderMenu from './menu.vue'\nimport Store from './store'\nimport Node, { ExpandTrigger } from './node'\nimport { CommonProps, useCascaderConfig } from './config'\nimport { checkNode, getMenuIndex, sortByOriginalOrder } from './utils'\nimport { CASCADER_PANEL_INJECTION_KEY } from './types'\n\nimport type { PropType } from 'vue'\nimport type { Nullable } from '@element-plus/utils'\nimport type {\n default as CascaderNode,\n CascaderNodeValue,\n CascaderOption,\n CascaderValue,\n RenderLabel,\n} from './node'\n\nimport type { ElCascaderPanelContext } from './types'\n\nexport default defineComponent({\n name: 'ElCascaderPanel',\n\n components: {\n ElCascaderMenu,\n },\n\n props: {\n ...CommonProps,\n border: {\n type: Boolean,\n default: true,\n },\n renderLabel: Function as PropType<RenderLabel>,\n },\n\n emits: [UPDATE_MODEL_EVENT, CHANGE_EVENT, 'close', 'expand-change'],\n\n setup(props, { emit, slots }) {\n // for interrupt sync check status in lazy mode\n let manualChecked = false\n\n const ns = useNamespace('cascader')\n const config = useCascaderConfig(props)\n\n let store: Nullable<Store> = null\n const initialLoaded = ref(true)\n const menuList = ref<any[]>([])\n const checkedValue = ref<Nullable<CascaderValue>>(null)\n const menus = ref<CascaderNode[][]>([])\n const expandingNode = ref<Nullable<CascaderNode>>(null)\n const checkedNodes = ref<CascaderNode[]>([])\n\n const isHoverMenu = computed(\n () => config.value.expandTrigger === ExpandTrigger.HOVER\n )\n const renderLabelFn = computed(() => props.renderLabel || slots.default)\n\n const initStore = () => {\n const { options } = props\n const cfg = config.value\n\n manualChecked = false\n store = new Store(options, cfg)\n menus.value = [store.getNodes()]\n\n if (cfg.lazy && isEmpty(props.options)) {\n initialLoaded.value = false\n lazyLoad(undefined, (list) => {\n if (list) {\n store = new Store(list, cfg)\n menus.value = [store.getNodes()]\n }\n initialLoaded.value = true\n syncCheckedValue(false, true)\n })\n } else {\n syncCheckedValue(false, true)\n }\n }\n\n const lazyLoad: ElCascaderPanelContext['lazyLoad'] = (node, cb) => {\n const cfg = config.value\n node! = node || new Node({}, cfg, undefined, true)\n node.loading = true\n\n const resolve = (dataList: CascaderOption[]) => {\n const _node = node as Node\n const parent = _node.root ? null : _node\n dataList && store?.appendNodes(dataList, parent as any)\n _node.loading = false\n _node.loaded = true\n _node.childrenData = _node.childrenData || []\n cb && cb(dataList)\n }\n\n cfg.lazyLoad(node, resolve as any)\n }\n\n const expandNode: ElCascaderPanelContext['expandNode'] = (node, silent) => {\n const { level } = node\n const newMenus = menus.value.slice(0, level)\n let newExpandingNode: Nullable<CascaderNode>\n\n if (node.isLeaf) {\n newExpandingNode = node.pathNodes[level - 2]\n } else {\n newExpandingNode = node\n newMenus.push(node.children)\n }\n\n if (expandingNode.value?.uid !== newExpandingNode?.uid) {\n expandingNode.value = node\n menus.value = newMenus\n !silent && emit('expand-change', node?.pathValues || [])\n }\n }\n\n const handleCheckChange: ElCascaderPanelContext['handleCheckChange'] = (\n node,\n checked,\n emitClose = true\n ) => {\n const { checkStrictly, multiple } = config.value\n const oldNode = checkedNodes.value[0]\n manualChecked = true\n\n !multiple && oldNode?.doCheck(false)\n node.doCheck(checked)\n calculateCheckedValue()\n emitClose && !multiple && !checkStrictly && emit('close')\n !emitClose && !multiple && !checkStrictly && expandParentNode(node)\n }\n\n const expandParentNode = (node) => {\n if (!node) return\n node = node.parent\n expandParentNode(node)\n node && expandNode(node)\n }\n\n const getFlattedNodes = (leafOnly: boolean) => {\n return store?.getFlattedNodes(leafOnly)\n }\n\n const getCheckedNodes = (leafOnly: boolean) => {\n return getFlattedNodes(leafOnly)?.filter((node) => node.checked !== false)\n }\n\n const clearCheckedNodes = () => {\n checkedNodes.value.forEach((node) => node.doCheck(false))\n calculateCheckedValue()\n }\n\n const calculateCheckedValue = () => {\n const { checkStrictly, multiple } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = getCheckedNodes(!checkStrictly)!\n // ensure the original order\n const nodes = sortByOriginalOrder(oldNodes, newNodes)\n const values = nodes.map((node) => node.valueByOption)\n checkedNodes.value = nodes\n checkedValue.value = multiple ? values : values[0] ?? null\n }\n\n const syncCheckedValue = (loaded = false, forced = false) => {\n const { modelValue } = props\n const { lazy, multiple, checkStrictly } = config.value\n const leafOnly = !checkStrictly\n\n if (\n !initialLoaded.value ||\n manualChecked ||\n (!forced && isEqual(modelValue, checkedValue.value))\n )\n return\n\n if (lazy && !loaded) {\n const values: CascaderNodeValue[] = unique(\n flattenDeep(castArray(modelValue))\n )\n const nodes = values\n .map((val) => store?.getNodeByValue(val))\n .filter((node) => !!node && !node.loaded && !node.loading) as Node[]\n\n if (nodes.length) {\n nodes.forEach((node) => {\n lazyLoad(node, () => syncCheckedValue(false, forced))\n })\n } else {\n syncCheckedValue(true, forced)\n }\n } else {\n const values = multiple ? castArray(modelValue) : [modelValue]\n const nodes = unique(\n values.map((val) => store?.getNodeByValue(val, leafOnly))\n ) as Node[]\n syncMenuState(nodes, forced)\n checkedValue.value = modelValue!\n }\n }\n\n const syncMenuState = (\n newCheckedNodes: CascaderNode[],\n reserveExpandingState = true\n ) => {\n const { checkStrictly } = config.value\n const oldNodes = checkedNodes.value\n const newNodes = newCheckedNodes.filter(\n (node) => !!node && (checkStrictly || node.isLeaf)\n )\n const oldExpandingNode = store?.getSameNode(expandingNode.value!)\n const newExpandingNode =\n (reserveExpandingState && oldExpandingNode) || newNodes[0]\n\n if (newExpandingNode) {\n newExpandingNode.pathNodes.forEach((node) => expandNode(node, true))\n } else {\n expandingNode.value = null\n }\n\n oldNodes.forEach((node) => node.doCheck(false))\n newNodes.forEach((node) => node.doCheck(true))\n\n checkedNodes.value = newNodes\n nextTick(scrollToExpandingNode)\n }\n\n const scrollToExpandingNode = () => {\n if (!isClient) return\n\n menuList.value.forEach((menu) => {\n const menuElement = menu?.$el\n if (menuElement) {\n const container = menuElement.querySelector(\n `.${ns.namespace.value}-scrollbar__wrap`\n )\n const activeNode =\n menuElement.querySelector(`.${ns.b('node')}.${ns.is('active')}`) ||\n menuElement.querySelector(`.${ns.b('node')}.in-active-path`)\n scrollIntoView(container, activeNode)\n }\n })\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n const target = e.target as HTMLElement\n const { code } = e\n\n switch (code) {\n case EVENT_CODE.up:\n case EVENT_CODE.down: {\n e.preventDefault()\n const distance = code === EVENT_CODE.up ? -1 : 1\n focusNode(\n getSibling(target, distance, `.${ns.b('node')}[tabindex=\"-1\"]`)\n )\n break\n }\n case EVENT_CODE.left: {\n e.preventDefault()\n const preMenu = menuList.value[getMenuIndex(target) - 1]\n const expandedNode = preMenu?.$el.querySelector(\n `.${ns.b('node')}[aria-expanded=\"true\"]`\n )\n focusNode(expandedNode)\n break\n }\n case EVENT_CODE.right: {\n e.preventDefault()\n const nextMenu = menuList.value[getMenuIndex(target) + 1]\n const firstNode = nextMenu?.$el.querySelector(\n `.${ns.b('node')}[tabindex=\"-1\"]`\n )\n focusNode(firstNode)\n break\n }\n case EVENT_CODE.enter:\n checkNode(target)\n break\n }\n }\n\n provide(\n CASCADER_PANEL_INJECTION_KEY,\n reactive({\n config,\n expandingNode,\n checkedNodes,\n isHoverMenu,\n initialLoaded,\n renderLabelFn,\n lazyLoad,\n expandNode,\n handleCheckChange,\n })\n )\n\n watch([config, () => props.options], initStore, {\n deep: true,\n immediate: true,\n })\n\n watch(\n () => props.modelValue,\n () => {\n manualChecked = false\n syncCheckedValue()\n }\n )\n\n watch(checkedValue, (val) => {\n if (!isEqual(val, props.modelValue)) {\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n }\n })\n\n onBeforeUpdate(() => (menuList.value = []))\n\n onMounted(() => !isEmpty(props.modelValue) && syncCheckedValue())\n\n return {\n ns,\n menuList,\n menus,\n checkedNodes,\n handleKeyDown,\n handleCheckChange,\n getFlattedNodes,\n getCheckedNodes,\n clearCheckedNodes,\n calculateCheckedValue,\n scrollToExpandingNode,\n }\n },\n})\n</script>\n"],"names":["defineComponent","ElCascaderMenu","CommonProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","useNamespace","config","useCascaderConfig","store","ref","computed","ExpandTrigger","Store","isEmpty","node","Node","sortByOriginalOrder","isEqual","unique","flattenDeep","castArray","nextTick","isClient","scrollIntoView","EVENT_CODE","focusNode","getMenuIndex","checkNode","provide","CASCADER_PANEL_INJECTION_KEY","reactive","watch","onBeforeUpdate","onMounted","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_Fragment","_renderList","_createBlock"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAgEA,MAAK,YAAaA,mBAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,iBAAA;AAAA,EAEN,UAAY,EAAA;AAAA,oBACVC,eAAA;AAAA,GACF;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,GAAGC,kBAAA;AAAA,IACH,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,IAAA;AAAA,KACX;AAAA,IACA,WAAa,EAAA,QAAA;AAAA,GACf;AAAA,EAEA,KAAO,EAAA,CAACC,wBAAoB,EAAAC,kBAAA,EAAc,SAAS,eAAe,CAAA;AAAA,EAElE,KAAM,CAAA,KAAA,EAAO,EAAE,IAAA,EAAM,KAAS,EAAA,EAAA;AAE5B,IAAA,IAAI,aAAgB,GAAA,KAAA,CAAA;AAEpB,IAAM,MAAA,EAAA,GAAKC,mBAAa,UAAU,CAAA,CAAA;AAClC,IAAM,MAAAC,QAAA,GAASC,yBAAkB,KAAK,CAAA,CAAA;AAEtC,IAAA,IAAIC,OAAyB,GAAA,IAAA,CAAA;AAC7B,IAAM,MAAA,aAAA,GAAgBC,QAAI,IAAI,CAAA,CAAA;AAC9B,IAAM,MAAA,QAAA,GAAWA,OAAW,CAAA,EAAE,CAAA,CAAA;AAC9B,IAAM,MAAA,YAAA,GAAeA,QAA6B,IAAI,CAAA,CAAA;AACtD,IAAM,MAAA,KAAA,GAAQA,OAAsB,CAAA,EAAE,CAAA,CAAA;AACtC,IAAM,MAAA,aAAA,GAAgBA,QAA4B,IAAI,CAAA,CAAA;AACtD,IAAM,MAAA,YAAA,GAAeA,OAAoB,CAAA,EAAE,CAAA,CAAA;AAE3C,IAAA,MAAM,cAAcC,YAClB,CAAA,MAAMJ,SAAO,KAAM,CAAA,aAAA,KAAkBK,mBAAc,KACrD,CAAA,CAAA;AACA,IAAA,MAAM,gBAAgBD,YAAS,CAAA,MAAM,KAAM,CAAA,WAAA,IAAe,MAAM,OAAO,CAAA,CAAA;AAEvE,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,MAAM,EAAE,OAAY,EAAA,GAAA,KAAA,CAAA;AACpB,MAAA,MAAM,MAAMJ,QAAO,CAAA,KAAA,CAAA;AAEnB,MAAgB,aAAA,GAAA,KAAA,CAAA;AAChB,MAAQE,OAAA,GAAA,IAAII,gBAAM,CAAA,OAAA,EAAS,GAAG,CAAA,CAAA;AAC9B,MAAA,KAAA,CAAM,KAAQ,GAAA,CAACJ,OAAM,CAAA,QAAA,EAAU,CAAA,CAAA;AAE/B,MAAA,IAAI,GAAI,CAAA,IAAA,IAAQK,aAAQ,CAAA,KAAA,CAAM,OAAO,CAAG,EAAA;AACtC,QAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AACtB,QAAS,QAAA,CAAA,KAAA,CAAA,EAAW,CAAC,IAAS,KAAA;AAC5B,UAAA,IAAI,IAAM,EAAA;AACR,YAAQL,OAAA,GAAA,IAAII,gBAAM,CAAA,IAAA,EAAM,GAAG,CAAA,CAAA;AAC3B,YAAA,KAAA,CAAM,KAAQ,GAAA,CAACJ,OAAM,CAAA,QAAA,EAAU,CAAA,CAAA;AAAA,WACjC;AACA,UAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AACtB,UAAA,gBAAA,CAAiB,OAAO,IAAI,CAAA,CAAA;AAAA,SAC7B,CAAA,CAAA;AAAA,OACI,MAAA;AACL,QAAA,gBAAA,CAAiB,OAAO,IAAI,CAAA,CAAA;AAAA,OAC9B;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,QAAA,GAA+C,CAACM,MAAA,EAAM,EAAO,KAAA;AACjE,MAAA,MAAM,MAAMR,QAAO,CAAA,KAAA,CAAA;AACnB,MAAAQ,MAAA,GAAQA,UAAQ,IAAIC,eAAA,CAAK,EAAI,EAAA,GAAA,EAAK,QAAW,IAAI,CAAA,CAAA;AACjD,MAAAD,MAAA,CAAK,OAAU,GAAA,IAAA,CAAA;AAEf,MAAM,MAAA,OAAA,GAAU,CAAC,QAA+B,KAAA;AAC9C,QAAA,MAAM,KAAQ,GAAAA,MAAA,CAAA;AACd,QAAM,MAAA,MAAA,GAAS,KAAM,CAAA,IAAA,GAAO,IAAO,GAAA,KAAA,CAAA;AACnC,QAAY,QAAA,KAAAN,OAAA,IAAmB,IAAA,GAAA,KAAA,CAAA,GAAAA,OAAuB,CAAA,WAAA,CAAA,QAAA,EAAA,MAAA,CAAA,CAAA,CAAA;AACtD,QAAA,KAAA,CAAM,OAAU,GAAA,KAAA,CAAA;AAChB,QAAA,KAAA,CAAM,MAAS,GAAA,IAAA,CAAA;AACf,QAAM,KAAA,CAAA,YAAA,GAAe,KAAM,CAAA,YAAA,IAAgB,EAAC,CAAA;AAC5C,QAAA,EAAA,IAAM,GAAG,QAAQ,CAAA,CAAA;AAAA,OACnB,CAAA;AAEA,MAAI,GAAA,CAAA,QAAA,CAASM,QAAM,OAAc,CAAA,CAAA;AAAA,KACnC,CAAA;AAEA,IAAM,MAAA,UAAA,GAAmD,CAAC,IAAA,EAAM,MAAW,KAAA;AACzE,MAAA,IAAA,EAAM;AACN,MAAA,MAAM,EAAW,KAAA,EAAA,GAAA,IAAA,CAAM;AACvB,MAAI,MAAA,QAAA,GAAA,KAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA,EAAA,KAAA,CAAA,CAAA;AAEJ,MAAA,IAAI,gBAAa,CAAA;AACf,MAAmB,IAAA,IAAA,CAAA,MAAA,EAAA;AAAuB,QACrC,gBAAA,GAAA,IAAA,CAAA,SAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA;AACL,OAAmB,MAAA;AACnB,QAAS,mBAAU,IAAQ,CAAA;AAAA,QAC7B,QAAA,CAAA,IAAA,CAAA,IAAA,CAAA,QAAA,CAAA,CAAA;AAEA,OAAA;AACE,MAAA,IAAA,CAAA,CAAA,EAAA,GAAA,aAAsB,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAA,GAAA,CAAA,EAAA;AACtB,QAAA,aAAc,CAAA,KAAA,GAAA,IAAA,CAAA;AACd,QAAA,WAAW,GAAK,QAAA,CAAA;AAAuC,QACzD,CAAA,MAAA,IAAA,IAAA,CAAA,eAAA,EAAA,CAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,UAAA,KAAA,EAAA,CAAA,CAAA;AAAA,OACF;AAEA,KAAA,CAAA;AAKE,IAAM,MAAA,iBAAiB,GAAA,CAAA,IAAA,EAAA,OAAoB,EAAA,SAAA,GAAA,IAAA,KAAA;AAC3C,MAAM,MAAA,EAAA,uBAA6B,EAAA,GAAAR,QAAA,CAAA,KAAA,CAAA;AACnC,MAAgB,MAAA,OAAA,GAAA,YAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAEhB,MAAC,aAAY,GAAS,IAAA,CAAA;AACtB,MAAA,CAAA,aAAoB,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACpB,MAAsB,IAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA;AACtB,MAAA,qBAAc,EAAA,CAAA;AACd,MAAA,cAAc,QAAC,IAAA,CAAY,aAAC,IAAA;AAAsC,MACpE,CAAA,SAAA,IAAA,CAAA,QAAA,IAAA,CAAA,aAAA,IAAA,gBAAA,CAAA,IAAA,CAAA,CAAA;AAEA,KAAM,CAAA;AACJ,IAAA,MAAI,gBAAC,GAAA,CAAA,IAAA,KAAA;AAAM,MAAA,IAAA,CAAA,IAAA;AACX,QAAA,OAAY;AACZ,MAAA,IAAA,GAAA,IAAA,CAAA,MAAqB,CAAA;AACrB,MAAA,qBAAuB,CAAA,CAAA;AAAA,MACzB,IAAA,IAAA,UAAA,CAAA,IAAA,CAAA,CAAA;AAEA,KAAM,CAAA;AACJ,IAAO,MAAA,2BAA+B,KAAA;AAAA,MACxC,OAAAE,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,OAAA,CAAA,eAAA,CAAA,QAAA,CAAA,CAAA;AAEA,KAAM,CAAA;AACJ,IAAO,MAAA,eAAA,GAAA,CAAgB,QAAQ,KAAG;AAAuC,MAC3E,IAAA,EAAA,CAAA;AAEA,MAAA,4BAAgC,CAAA,QAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAA,CAAA,IAAA,KAAA,IAAA,CAAA,OAAA,KAAA,KAAA,CAAA,CAAA;AAC9B,KAAA,CAAA;AACA,IAAsB,MAAA,iBAAA,GAAA,MAAA;AAAA,MACxB,YAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,IAAA,KAAA,IAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAEA,MAAA;AACE,KAAM,CAAA;AACN,IAAA,MAAA,qBAA8B,GAAA,MAAA;AAC9B,MAAM,IAAA,EAAA,CAAA;AAEN,MAAM,MAAA,EAAA,aAA4B,EAAA,QAAA,EAAA,GAAAF,QAAA,CAAA,KAAkB,CAAA;AACpD,MAAA,MAAM,WAAe,YAAK,CAAA,KAAS;AACnC,MAAA,MAAA,QAAqB,GAAA,eAAA,CAAA,CAAA,aAAA,CAAA,CAAA;AACrB,MAAA,MAAA,KAAA,GAAqBU,yBAAoB,CAAA,QAAA,EAAA,QAAa,CAAA,CAAA;AAAA,MACxD,MAAA,MAAA,GAAA,KAAA,CAAA,GAAA,CAAA,CAAA,IAAA,KAAA,IAAA,CAAA,aAAA,CAAA,CAAA;AAEA,MAAA,YAAyB,CAAA,KAAA,GAAA,KAAU,CAAA;AACjC,MAAA,YAAuB,CAAA,KAAA,GAAA,QAAA,GAAA,MAAA,GAAA,CAAA,EAAA,GAAA,MAAA,CAAA,CAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAA,IAAA,CAAA;AACvB,KAAA,CAAA;AACA,IAAA,MAAA,gBAAkB,GAAA,CAAA,MAAA,GAAA,KAAA,EAAA,MAAA,GAAA,KAAA,KAAA;AAElB,MACE,oBACA,GAAA,KAAA,CAAA;AAGA,MAAA,MAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,GAAAV,QAAA,CAAA,KAAA,CAAA;AAEF,MAAI,MAAA,QAAiB,GAAA,CAAA,aAAA,CAAA;AACnB,MAAA,IAAA,CAAA,aACE,CAAA,KAAA,IAAA,aAAsB,IAAA,CAAA,MAAA,IAAUW,qBAClC,CAAA,UAAA,EAAA,YAAA,CAAA,KAAA,CAAA;AACA,QAAM,OAAA;AAIN,MAAA,IAAA,QAAU,CAAQ,MAAA,EAAA;AAChB,QAAM,MAAA,MAAA,GAAAC,aAAkB,CAAAC,yBAAA,CAAAC,gBAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA;AACtB,QAAA,MAAA,KAAA,GAAe,MAAA,CAAA,GAAA,CAAM,CAAiB,GAAA,KAAAZ,OAAA,IAAA,IAAA,QAAa,CAAC,GAAAA,OAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,IAAA,KAAA,CAAA,CAAA,IAAA,IAAA,CAAA,IAAA,CAAA,MAAA,IAAA,CAAA,IAAA,CAAA,OAAA,CAAA,CAAA;AAAA,QAAA,IACrD,KAAA,CAAA,MAAA,EAAA;AAAA,UACI,KAAA,CAAA,OAAA,CAAA,CAAA,IAAA,KAAA;AACL,YAAA,QAAA,CAAA,IAAA,EAAiB,MAAM,gBAAM,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA,CAAA;AAAA,WAC/B,CAAA,CAAA;AAAA,SACK,MAAA;AACL,UAAA,gBAA0B,CAAA,IAAA,EAAA,MAAA,CAAA,CAAA;AAC1B,SAAM;AAGN,OAAA,MAAA;AACA,QAAA,MAAA,MAAA,GAAqB,QAAA,GAAAY,gBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,UAAA,CAAA,CAAA;AAAA,QACvB,MAAA,KAAA,GAAAF,aAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAAV,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,OAAA,CAAA,cAAA,CAAA,GAAA,EAAA,QAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QACF,aAAA,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;AAEA,QAAA,YAAsB,CAAA,KAAA,GAEpB,UAAA,CAAA;AAEA,OAAM;AACN,KAAA,CAAA;AACA,IAAM,MAAA,aAAW,GAAgB,CAAA,eAAA,EAAA,qBACnB,GAA0B,IAAA,KAAA;AAExC,MAAA,MAAM,EAAmB,aAAA,EAAA,GAAAF,QAAO,CAAY,KAAA,CAAA;AAC5C,MAAM,MAAA,QAAA,GAAA,YACsB,CAAA,KAAA,CAAA;AAE5B,MAAA,MAAsB,QAAA,GAAA,eAAA,CAAA,MAAA,CAAA,CAAA,IAAA,KAAA,CAAA,CAAA,IAAA,KAAA,aAAA,IAAA,IAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AACpB,MAAA,MAAA,0BAAmC,IAAA,IAAC,SAAS,GAAWE,OAAA,CAAA,YAAU,aAAC,CAAA,KAAA,CAAA,CAAA;AAAA,MACrE,MAAO,gBAAA,GAAA,qBAAA,IAAA,gBAAA,IAAA,QAAA,CAAA,CAAA,CAAA,CAAA;AACL,MAAA,IAAA,gBAAsB,EAAA;AAAA,QACxB,gBAAA,CAAA,SAAA,CAAA,OAAA,CAAA,CAAA,IAAA,KAAA,UAAA,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AAEA,OAAA,MAAA;AACA,QAAA,mBAAkB,GAAA,IAAc,CAAA;AAEhC,OAAA;AACA,MAAA,QAAA,CAAS,OAAqB,CAAA,CAAA,IAAA,KAAA,IAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,MAChC,QAAA,CAAA,OAAA,CAAA,CAAA,IAAA,KAAA,IAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAEA,MAAA,6BAAoC,CAAA;AAClC,MAAAa,YAAK,CAAA,qBAAA,CAAA,CAAA;AAAU,KAAA,CAAA;AAEf,IAAS,MAAA,qBAAwB,GAAA,MAAA;AAC/B,MAAA,IAAA,CAAAC;AACA,QAAA,OAAiB;AACf,MAAA,QAAA,CAAA,aAAkB,CAAY,CAAA,IAAA,KAAA;AAG9B,QAAA,MAAA,kBACc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAqB,CAAA;AAEnC,QAAA,IAAA,WAAA,EAAe;AAAqB,UACtC,MAAA,SAAA,GAAA,WAAA,CAAA,aAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,SAAA,CAAA,KAAA,CAAA,gBAAA,CAAA,CAAA,CAAA;AAAA,UACD,MAAA,UAAA,GAAA,WAAA,CAAA,aAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,IAAA,WAAA,CAAA,aAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,eAAA,CAAA,CAAA,CAAA;AAAA,UACHC,qBAAA,CAAA,SAAA,EAAA,UAAA,CAAA,CAAA;AAEA,SAAM;AACJ,OAAA,CAAA,CAAA;AACA,KAAA,CAAA;AAEA,IAAQ,MAAA,aAAA,GAAA,CAAA,CAAA,KAAA;AAAA,MAAA,MAAA,MACU,GAAA,CAAA,CAAA,MAAA,CAAA;AAAA,MAAA,MAAA,YACA,CAAM;AACpB,MAAA,QAAiB,IAAA;AACjB,QAAA,KAAAC,eAAiB,CAAA,EAAA,CAAA;AACjB,QACE,KAAAA,eAAA,CAAA,IAAA,EAAA;AAEF,UAAA,CAAA,CAAA,cAAA,EAAA,CAAA;AAAA,UACF,MAAA,QAAA,GAAA,IAAA,KAAAA,eAAA,CAAA,EAAA,GAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,UAAAC,kCACsB,CAAA,MAAA,EAAA,QAAA,EAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,eAAA,CAAA,CAAA,CAAA,CAAA;AACpB,UAAA,MAAiB;AACjB,SAAA;AACA,QAAM,KAAAD,eAAA,CAAA,IAAA,EAAA;AAGN,UAAA,CAAA,CAAA,cAAsB,EAAA,CAAA;AACtB,UAAA,MAAA,OAAA,GAAA,QAAA,CAAA,KAAA,CAAAE,kBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,UACF,MAAA,YAAA,GAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,GAAA,CAAA,aAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,sBAAA,CAAA,CAAA,CAAA;AAAA,UAAAD,6BACuB,CAAA,CAAA;AACrB,UAAA,MAAiB;AACjB,SAAA;AACA,QAAM,KAAAD,eAAA,CAAA;AAGN,UAAA,CAAA,CAAA,cAAmB,EAAA,CAAA;AACnB,UAAA,MAAA,QAAA,GAAA,QAAA,CAAA,KAAA,CAAAE,kBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAAA,UACF,MAAA,SAAA,GAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,GAAA,CAAA,aAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,eAAA,CAAA,CAAA,CAAA;AAAA,UAAAD,gBACgB,CAAA,SAAA,CAAA,CAAA;AACd,UAAA,MAAA;AACA,SAAA;AAAA,QAAA,KAAAD,eAAA,CAAA,KAAA;AAAA,UAENG,eAAA,CAAA,MAAA,CAAA,CAAA;AAEA,UAAA;AAEW,OACP;AAAA,KACA,CAAA;AAAA,IACAC,WAAA,CAAAC,oCAAA,EAAAC,YAAA,CAAA;AAAA,cACAxB,QAAA;AAAA,MACA,aAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,MACA,aAAA;AAAA,MACA,aAAA;AAAA,MAEJ,QAAA;AAEA,MAAA,UAAe;AAAiC,MAC9C,iBAAM;AAAA,KAAA,CACN,CAAW,CAAA;AAAA,IACbyB,SAAC,CAAA,CAAAzB,QAAA,EAAA,MAAA,KAAA,CAAA,OAAA,CAAA,EAAA,SAAA,EAAA;AAED,MACE,IAAA,EAAA,IAAM;AAEJ,MAAgB,SAAA,EAAA,IAAA;AAChB,KAAiB,CAAA,CAAA;AAAA,IACnByB,SACF,CAAA,MAAA,KAAA,CAAA,UAAA,EAAA,MAAA;AAEA,MAAM,aAAA,GAAA,KAAuB,CAAA;AAC3B,MAAA,gBAAkB,EAAA,CAAA;AAChB,KAAA,CAAA,CAAA;AACA,IAAAA,SAAA,CAAA,kBAAsB,KAAA;AAAA,MACxB,IAAA,CAAAd,qBAAA,CAAA,GAAA,EAAA,KAAA,CAAA,UAAA,CAAA,EAAA;AAAA,QACD,IAAA,CAAAd,wBAAA,EAAA,GAAA,CAAA,CAAA;AAED,QAAA,IAAA,CAAAC,kBAAsB,EAAA,GAAA,CAAA,CAAA;AAEtB,OAAA;AAEA,KAAO,CAAA,CAAA;AAAA,IACL4B,kBAAA,CAAA,MAAA,QAAA,CAAA,KAAA,GAAA,EAAA,CAAA,CAAA;AAAA,IACAC,aAAA,CAAA,MAAA,CAAApB,aAAA,CAAA,KAAA,CAAA,UAAA,CAAA,IAAA,gBAAA,EAAA,CAAA,CAAA;AAAA,IACA,OAAA;AAAA,MACA,EAAA;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,MACA,iBAAA;AAAA,MACA,eAAA;AAAA,MACA,eAAA;AAAA,MACF,iBAAA;AAAA,MACF,qBAAA;AACF,MAAC,qBAAA;;;;AAhXO,SAVH,wBAAW,EAAA,cAAe,EAAA,KAAA,EAAA;AAAqB,EAAA,iCACtC,GAAAqB,oBAAA,CAAA,kBAAA,CAAA,CAAA;AAAA,EAAA,OAAAC,aAAA,EAAA,EAAAC,sBAAA,CAAA,KAAA,EAAA;AAEV,IAAA,KAAA,EAAAC,kBAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAC0B,CAAA,EAAA,IAAA,CAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,IAAA,CAAA,MAAA,CAAA,CAAK,CAArB;6BAKR,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAA,IAAA,CAAA,aAAA,IAAA,IAAA,CAAA,aAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,GAAA,EAAA;AAJM,KAAAF,aAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,CAAAE,YAAA,EAAA,IAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,KAAA,EAAA,CAAA,IAAA,EAAA,KAAA,KAAA;aACFJ,aAAa,EAAA,EAAAK,eAAkB,CAAA,2BAAA,EAAA;AAAA,QAClC,GAAA,EAAA,KAAA;AAAA,QACA,OAAK,MAAU;AAAA,QAAA,GAAA,EAAA,CAAA,IAAA,KAAA,IAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,IAAA;;;;;;;;;;;"}
|
|
@@ -37,8 +37,8 @@ function draggable(element, options) {
|
|
|
37
37
|
isDragging = true;
|
|
38
38
|
(_a = options.start) == null ? void 0 : _a.call(options, event);
|
|
39
39
|
};
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
element.addEventListener("mousedown", downFn);
|
|
41
|
+
element.addEventListener("touchstart", downFn);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
exports["default"] = draggable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draggable.js","sources":["../../../../../../packages/components/color-picker/src/draggable.ts"],"sourcesContent":["import { isClient } from '@vueuse/core'\n\nlet isDragging = false\n\nexport declare interface IOptions {\n drag?: (event: Event) => void\n start?: (event: Event) => void\n end?: (event: Event) => void\n}\n\nexport default function (element: HTMLElement, options: IOptions) {\n if (!isClient) return\n\n const moveFn = function (event: Event) {\n options.drag?.(event)\n }\n\n const upFn = function (event: Event) {\n document.removeEventListener('mousemove', moveFn)\n document.removeEventListener('mouseup', upFn)\n document.removeEventListener('touchmove', moveFn)\n document.removeEventListener('touchend', upFn)\n document.onselectstart = null\n document.ondragstart = null\n\n isDragging = false\n\n options.end?.(event)\n }\n\n const downFn = function (event: Event) {\n if (isDragging) return\n event.preventDefault()\n document.onselectstart = () => false\n document.ondragstart = () => false\n document.addEventListener('mousemove', moveFn)\n document.addEventListener('mouseup', upFn)\n document.addEventListener('touchmove', moveFn)\n document.addEventListener('touchend', upFn)\n\n isDragging = true\n\n options.start?.(event)\n }\n\n
|
|
1
|
+
{"version":3,"file":"draggable.js","sources":["../../../../../../packages/components/color-picker/src/draggable.ts"],"sourcesContent":["import { isClient } from '@vueuse/core'\n\nlet isDragging = false\n\nexport declare interface IOptions {\n drag?: (event: Event) => void\n start?: (event: Event) => void\n end?: (event: Event) => void\n}\n\nexport default function (element: HTMLElement, options: IOptions) {\n if (!isClient) return\n\n const moveFn = function (event: Event) {\n options.drag?.(event)\n }\n\n const upFn = function (event: Event) {\n document.removeEventListener('mousemove', moveFn)\n document.removeEventListener('mouseup', upFn)\n document.removeEventListener('touchmove', moveFn)\n document.removeEventListener('touchend', upFn)\n document.onselectstart = null\n document.ondragstart = null\n\n isDragging = false\n\n options.end?.(event)\n }\n\n const downFn = function (event: Event) {\n if (isDragging) return\n event.preventDefault()\n document.onselectstart = () => false\n document.ondragstart = () => false\n document.addEventListener('mousemove', moveFn)\n document.addEventListener('mouseup', upFn)\n document.addEventListener('touchmove', moveFn)\n document.addEventListener('touchend', upFn)\n\n isDragging = true\n\n options.start?.(event)\n }\n\n element.addEventListener('mousedown', downFn)\n element.addEventListener('touchstart', downFn)\n}\n"],"names":["isClient"],"mappings":";;;;;;AACA,IAAI,UAAU,GAAG,KAAK,CAAC;AACR,kBAAQ,CAAC,OAAO,EAAE,OAAO,EAAE;AAC1C,EAAE,IAAI,CAACA,aAAQ;AACf,IAAI,OAAO;AACX,EAAE,MAAM,MAAM,GAAG,SAAS,KAAK,EAAE;AACjC,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACnE,GAAG,CAAC;AACJ,EAAE,MAAM,IAAI,GAAG,SAAS,KAAK,EAAE;AAC/B,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACtD,IAAI,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAClD,IAAI,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACtD,IAAI,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACnD,IAAI,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;AAClC,IAAI,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;AAChC,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAClE,GAAG,CAAC;AACJ,EAAE,MAAM,MAAM,GAAG,SAAS,KAAK,EAAE;AACjC,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,UAAU;AAClB,MAAM,OAAO;AACb,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;AAC3B,IAAI,QAAQ,CAAC,aAAa,GAAG,MAAM,KAAK,CAAC;AACzC,IAAI,QAAQ,CAAC,WAAW,GAAG,MAAM,KAAK,CAAC;AACvC,IAAI,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACnD,IAAI,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC/C,IAAI,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACnD,IAAI,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAChD,IAAI,UAAU,GAAG,IAAI,CAAC;AACtB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACpE,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAChD,EAAE,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AACjD;;;;"}
|
package/lib/components/index.js
CHANGED
|
@@ -85,7 +85,7 @@ var badge = require('./badge/src/badge.js');
|
|
|
85
85
|
var breadcrumb = require('./breadcrumb/src/breadcrumb.js');
|
|
86
86
|
var breadcrumbItem = require('./breadcrumb/src/breadcrumb-item.js');
|
|
87
87
|
var button = require('./button/src/button.js');
|
|
88
|
-
var calendar = require('./calendar/src/
|
|
88
|
+
var calendar = require('./calendar/src/calendar2.js');
|
|
89
89
|
var card = require('./card/src/card.js');
|
|
90
90
|
var carousel = require('./carousel/src/carousel.js');
|
|
91
91
|
var carouselItem = require('./carousel/src/carousel-item.js');
|
|
@@ -250,6 +250,7 @@ export declare const ElSlider: import("element-plus/es/utils").SFCWithInstall<im
|
|
|
250
250
|
newPosition: number;
|
|
251
251
|
oldValue: number;
|
|
252
252
|
};
|
|
253
|
+
disabled: import("vue").Ref<boolean>;
|
|
253
254
|
button: import("vue").Ref<HTMLDivElement | undefined>;
|
|
254
255
|
tooltip: import("vue").Ref<any>;
|
|
255
256
|
showTooltip: import("vue").Ref<import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
|
|
@@ -4991,6 +4992,7 @@ export declare const ElSlider: import("element-plus/es/utils").SFCWithInstall<im
|
|
|
4991
4992
|
newPosition: number;
|
|
4992
4993
|
oldValue: number;
|
|
4993
4994
|
};
|
|
4995
|
+
disabled: import("vue").Ref<boolean>;
|
|
4994
4996
|
button: import("vue").Ref<HTMLDivElement | undefined>;
|
|
4995
4997
|
tooltip: import("vue").Ref<any>;
|
|
4996
4998
|
showTooltip: import("vue").Ref<import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
|
|
@@ -9735,6 +9737,7 @@ export declare const ElSlider: import("element-plus/es/utils").SFCWithInstall<im
|
|
|
9735
9737
|
newPosition: number;
|
|
9736
9738
|
oldValue: number;
|
|
9737
9739
|
};
|
|
9740
|
+
disabled: import("vue").Ref<boolean>;
|
|
9738
9741
|
button: import("vue").Ref<HTMLDivElement | undefined>;
|
|
9739
9742
|
tooltip: import("vue").Ref<any>;
|
|
9740
9743
|
showTooltip: import("vue").Ref<import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
|
|
@@ -14476,6 +14479,7 @@ export declare const ElSlider: import("element-plus/es/utils").SFCWithInstall<im
|
|
|
14476
14479
|
newPosition: number;
|
|
14477
14480
|
oldValue: number;
|
|
14478
14481
|
};
|
|
14482
|
+
disabled: import("vue").Ref<boolean>;
|
|
14479
14483
|
button: import("vue").Ref<HTMLDivElement | undefined>;
|
|
14480
14484
|
tooltip: import("vue").Ref<any>;
|
|
14481
14485
|
showTooltip: import("vue").Ref<import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
|
|
@@ -20549,6 +20553,7 @@ export declare const ElSlider: import("element-plus/es/utils").SFCWithInstall<im
|
|
|
20549
20553
|
newPosition: number;
|
|
20550
20554
|
oldValue: number;
|
|
20551
20555
|
};
|
|
20556
|
+
disabled: import("vue").Ref<boolean>;
|
|
20552
20557
|
button: import("vue").Ref<HTMLDivElement | undefined>;
|
|
20553
20558
|
tooltip: import("vue").Ref<any>;
|
|
20554
20559
|
showTooltip: import("vue").Ref<import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
|
|
@@ -43,6 +43,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
43
43
|
newPosition: number;
|
|
44
44
|
oldValue: number;
|
|
45
45
|
};
|
|
46
|
+
disabled: import("vue").Ref<boolean>;
|
|
46
47
|
button: import("vue").Ref<HTMLDivElement | undefined>;
|
|
47
48
|
tooltip: import("vue").Ref<any>;
|
|
48
49
|
showTooltip: import("vue").Ref<import("../../../utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
|
|
@@ -11,6 +11,7 @@ var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper
|
|
|
11
11
|
var index = require('../../../hooks/use-namespace/index.js');
|
|
12
12
|
var useSliderButton = require('./composables/use-slider-button.js');
|
|
13
13
|
|
|
14
|
+
const _hoisted_1 = ["tabindex"];
|
|
14
15
|
const __default__ = {
|
|
15
16
|
name: "ElSliderButton"
|
|
16
17
|
};
|
|
@@ -34,6 +35,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
34
35
|
oldValue: props.modelValue
|
|
35
36
|
});
|
|
36
37
|
const {
|
|
38
|
+
disabled,
|
|
37
39
|
button,
|
|
38
40
|
tooltip,
|
|
39
41
|
showTooltip,
|
|
@@ -60,7 +62,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
60
62
|
ref: button,
|
|
61
63
|
class: vue.normalizeClass([vue.unref(ns).e("button-wrapper"), { hover: vue.unref(hovering), dragging: vue.unref(dragging) }]),
|
|
62
64
|
style: vue.normalizeStyle(vue.unref(wrapperStyle)),
|
|
63
|
-
tabindex:
|
|
65
|
+
tabindex: vue.unref(disabled) ? -1 : 0,
|
|
64
66
|
onMouseenter: _cache[0] || (_cache[0] = (...args) => vue.unref(handleMouseEnter) && vue.unref(handleMouseEnter)(...args)),
|
|
65
67
|
onMouseleave: _cache[1] || (_cache[1] = (...args) => vue.unref(handleMouseLeave) && vue.unref(handleMouseLeave)(...args)),
|
|
66
68
|
onMousedown: _cache[2] || (_cache[2] = (...args) => vue.unref(onButtonDown) && vue.unref(onButtonDown)(...args)),
|
|
@@ -90,7 +92,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
90
92
|
]),
|
|
91
93
|
_: 1
|
|
92
94
|
}, 8, ["visible", "placement", "popper-class", "disabled"])
|
|
93
|
-
],
|
|
95
|
+
], 46, _hoisted_1);
|
|
94
96
|
};
|
|
95
97
|
}
|
|
96
98
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button2.js","sources":["../../../../../../packages/components/slider/src/button.vue"],"sourcesContent":["<template>\n <div\n ref=\"button\"\n :class=\"[ns.e('button-wrapper'), { hover: hovering, dragging }]\"\n :style=\"wrapperStyle\"\n tabindex=\"0\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n @mousedown=\"onButtonDown\"\n @touchstart=\"onButtonDown\"\n @focus=\"handleMouseEnter\"\n @blur=\"handleMouseLeave\"\n @keydown=\"onKeyDown\"\n >\n <el-tooltip\n ref=\"tooltip\"\n :visible=\"tooltipVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['top', 'bottom', 'right', 'left']\"\n :stop-popper-mouse-event=\"false\"\n :popper-class=\"tooltipClass\"\n :disabled=\"!showTooltip\"\n persistent\n >\n <template #content>\n <span>{{ formatValue }}</span>\n </template>\n <div :class=\"[ns.e('button'), { hover: hovering, dragging }]\" />\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { reactive, toRefs } from 'vue'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useSliderButton } from './composables'\nimport { sliderButtonEmits, sliderButtonProps } from './button'\nimport type { SliderButtonInitData } from './button'\n\ndefineOptions({\n name: 'ElSliderButton',\n})\n\nconst props = defineProps(sliderButtonProps)\nconst emit = defineEmits(sliderButtonEmits)\n\nconst ns = useNamespace('slider')\n\nconst initData = reactive<SliderButtonInitData>({\n hovering: false,\n dragging: false,\n isClick: false,\n startX: 0,\n currentX: 0,\n startY: 0,\n currentY: 0,\n startPosition: 0,\n newPosition: 0,\n oldValue: props.modelValue,\n})\n\nconst {\n button,\n tooltip,\n showTooltip,\n tooltipVisible,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onKeyDown,\n setPosition,\n} = useSliderButton(props, initData, emit)\n\nconst { hovering, dragging } = toRefs(initData)\n\ndefineExpose({\n onButtonDown,\n onKeyDown,\n setPosition,\n hovering,\n dragging,\n})\n</script>\n"],"names":["useNamespace","reactive","useSliderButton","toRefs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"button2.js","sources":["../../../../../../packages/components/slider/src/button.vue"],"sourcesContent":["<template>\n <div\n ref=\"button\"\n :class=\"[ns.e('button-wrapper'), { hover: hovering, dragging }]\"\n :style=\"wrapperStyle\"\n :tabindex=\"disabled ? -1 : 0\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n @mousedown=\"onButtonDown\"\n @touchstart=\"onButtonDown\"\n @focus=\"handleMouseEnter\"\n @blur=\"handleMouseLeave\"\n @keydown=\"onKeyDown\"\n >\n <el-tooltip\n ref=\"tooltip\"\n :visible=\"tooltipVisible\"\n :placement=\"placement\"\n :fallback-placements=\"['top', 'bottom', 'right', 'left']\"\n :stop-popper-mouse-event=\"false\"\n :popper-class=\"tooltipClass\"\n :disabled=\"!showTooltip\"\n persistent\n >\n <template #content>\n <span>{{ formatValue }}</span>\n </template>\n <div :class=\"[ns.e('button'), { hover: hovering, dragging }]\" />\n </el-tooltip>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { reactive, toRefs } from 'vue'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useSliderButton } from './composables'\nimport { sliderButtonEmits, sliderButtonProps } from './button'\nimport type { SliderButtonInitData } from './button'\n\ndefineOptions({\n name: 'ElSliderButton',\n})\n\nconst props = defineProps(sliderButtonProps)\nconst emit = defineEmits(sliderButtonEmits)\n\nconst ns = useNamespace('slider')\n\nconst initData = reactive<SliderButtonInitData>({\n hovering: false,\n dragging: false,\n isClick: false,\n startX: 0,\n currentX: 0,\n startY: 0,\n currentY: 0,\n startPosition: 0,\n newPosition: 0,\n oldValue: props.modelValue,\n})\n\nconst {\n disabled,\n button,\n tooltip,\n showTooltip,\n tooltipVisible,\n wrapperStyle,\n formatValue,\n handleMouseEnter,\n handleMouseLeave,\n onButtonDown,\n onKeyDown,\n setPosition,\n} = useSliderButton(props, initData, emit)\n\nconst { hovering, dragging } = toRefs(initData)\n\ndefineExpose({\n onButtonDown,\n onKeyDown,\n setPosition,\n hovering,\n dragging,\n})\n</script>\n"],"names":["useNamespace","reactive","useSliderButton","toRefs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA+CA,IAAA,MAAA,EAAA,GAAAA,mBAAA,QAAA,CAAA,CAAA;AAEA,IAAA,MAAA,WAAAC,YAAA,CAAA;AAAA,MACA,QAAA,EAAA,KAAA;AAAA,MACA,QAAA,EAAA,KAAA;AAAA,MACA,OAAA,EAAA,KAAA;AAAA,MACA,MAAA,EAAA,CAAA;AAAA,MACA,QAAA,EAAA,CAAA;AAAA,MACA,MAAA,EAAA,CAAA;AAAA,MACA,QAAA,EAAA,CAAA;AAAA,MACA,aAAA,EAAA,CAAA;AAAA,MACA,WAAA,EAAA,CAAA;AAAA,MACA,UAAA,KAAA,CAAA,UAAA;AAAA,KACA,CAAA,CAAA;AAEA,IAAA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAA;AAAA,MACA,cAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,MACA,gBAAA;AAAA,MACA,gBAAA;AAAA,MACA,YAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA;AAAA,KACA,GAAAC,+BAAA,CAAA,KAAA,EAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AAEA,IAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,GAAAC,UAAA,CAAA,QAAA,CAAA,CAAA;AAEA,IAAA,MAAA,CAAA;AAAA,MACA,YAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,KACA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -80,6 +80,7 @@ export declare const useSlide: (props: SliderProps, initData: SliderInitData, em
|
|
|
80
80
|
newPosition: number;
|
|
81
81
|
oldValue: number;
|
|
82
82
|
};
|
|
83
|
+
disabled: Ref<boolean>;
|
|
83
84
|
button: Ref<HTMLDivElement | undefined>;
|
|
84
85
|
tooltip: Ref<any>;
|
|
85
86
|
showTooltip: Ref<import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
|
|
@@ -4821,6 +4822,7 @@ export declare const useSlide: (props: SliderProps, initData: SliderInitData, em
|
|
|
4821
4822
|
newPosition: number;
|
|
4822
4823
|
oldValue: number;
|
|
4823
4824
|
};
|
|
4825
|
+
disabled: Ref<boolean>;
|
|
4824
4826
|
button: Ref<HTMLDivElement | undefined>;
|
|
4825
4827
|
tooltip: Ref<any>;
|
|
4826
4828
|
showTooltip: Ref<import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
|
|
@@ -9565,6 +9567,7 @@ export declare const useSlide: (props: SliderProps, initData: SliderInitData, em
|
|
|
9565
9567
|
newPosition: number;
|
|
9566
9568
|
oldValue: number;
|
|
9567
9569
|
};
|
|
9570
|
+
disabled: Ref<boolean>;
|
|
9568
9571
|
button: Ref<HTMLDivElement | undefined>;
|
|
9569
9572
|
tooltip: Ref<any>;
|
|
9570
9573
|
showTooltip: Ref<import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
|
|
@@ -14306,6 +14309,7 @@ export declare const useSlide: (props: SliderProps, initData: SliderInitData, em
|
|
|
14306
14309
|
newPosition: number;
|
|
14307
14310
|
oldValue: number;
|
|
14308
14311
|
};
|
|
14312
|
+
disabled: Ref<boolean>;
|
|
14309
14313
|
button: Ref<HTMLDivElement | undefined>;
|
|
14310
14314
|
tooltip: Ref<any>;
|
|
14311
14315
|
showTooltip: Ref<import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { CSSProperties, ComputedRef, Ref, SetupContext } from 'vue';
|
|
2
2
|
import type { SliderButtonEmits, SliderButtonInitData, SliderButtonProps } from '../button';
|
|
3
3
|
export declare const useSliderButton: (props: SliderButtonProps, initData: SliderButtonInitData, emit: SetupContext<SliderButtonEmits>['emit']) => {
|
|
4
|
+
disabled: Ref<boolean>;
|
|
4
5
|
button: Ref<HTMLDivElement | undefined>;
|
|
5
6
|
tooltip: Ref<any>;
|
|
6
7
|
tooltipVisible: Ref<boolean>;
|