@varlet/ui 1.26.3 → 1.26.6
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/es/date-picker/DatePicker.js +86 -12
- package/es/date-picker/date-picker.css +1 -1
- package/es/date-picker/date-picker.less +11 -0
- package/es/date-picker/props.js +4 -0
- package/es/date-picker/src/day-picker-panel.js +17 -4
- package/es/date-picker/src/month-picker-panel.js +17 -4
- package/es/date-picker/src/panel-header.js +1 -0
- package/es/image-preview/ImagePreview.js +5 -2
- package/es/image-preview/imagePreview.css +1 -1
- package/es/image-preview/imagePreview.less +11 -1
- package/es/rate/Rate.js +2 -1
- package/es/rate/props.js +3 -0
- package/es/snackbar/style/index.js +1 -1
- package/es/snackbar/style/less.js +1 -1
- package/es/style.css +1 -1
- package/es/uploader/Uploader.js +14 -1
- package/es/uploader/props.js +4 -0
- package/es/varlet.esm.js +200 -73
- package/highlight/attributes.json +12 -0
- package/highlight/tags.json +4 -1
- package/highlight/web-types.json +32 -1
- package/lib/date-picker/DatePicker.js +86 -11
- package/lib/date-picker/date-picker.css +1 -1
- package/lib/date-picker/date-picker.less +11 -0
- package/lib/date-picker/props.js +4 -0
- package/lib/date-picker/src/day-picker-panel.js +17 -4
- package/lib/date-picker/src/month-picker-panel.js +17 -4
- package/lib/date-picker/src/panel-header.js +1 -0
- package/lib/image-preview/ImagePreview.js +5 -2
- package/lib/image-preview/imagePreview.css +1 -1
- package/lib/image-preview/imagePreview.less +11 -1
- package/lib/rate/Rate.js +2 -1
- package/lib/rate/props.js +3 -0
- package/lib/style.css +1 -1
- package/lib/uploader/Uploader.js +14 -1
- package/lib/uploader/props.js +4 -0
- package/package.json +4 -4
- package/types/datePicker.d.ts +1 -0
- package/types/rate.d.ts +1 -0
- package/types/uploader.d.ts +1 -0
- package/umd/varlet.js +4 -4
|
@@ -5,14 +5,9 @@ import YearPickerPanel from './src/year-picker-panel.js'
|
|
|
5
5
|
import DayPickerPanel from './src/day-picker-panel.js'
|
|
6
6
|
import { props, MONTH_LIST, WEEK_HEADER } from './props';
|
|
7
7
|
import { isArray, toNumber } from '../utils/shared';
|
|
8
|
+
import { nextTickFrame } from '../utils/elements';
|
|
8
9
|
import { pack } from '../locale';
|
|
9
|
-
import { renderSlot as _renderSlot, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createCommentVNode as _createCommentVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeProps as _normalizeProps, mergeProps as _mergeProps, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode, normalizeStyle as _normalizeStyle, resolveComponent as _resolveComponent, createBlock as _createBlock
|
|
10
|
-
|
|
11
|
-
var _withScopeId = n => (_pushScopeId(""), n = n(), _popScopeId(), n);
|
|
12
|
-
|
|
13
|
-
var _hoisted_1 = {
|
|
14
|
-
class: "var-date-picker-body"
|
|
15
|
-
};
|
|
10
|
+
import { renderSlot as _renderSlot, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createCommentVNode as _createCommentVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeProps as _normalizeProps, mergeProps as _mergeProps, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode, normalizeStyle as _normalizeStyle, resolveComponent as _resolveComponent, createBlock as _createBlock } from "vue";
|
|
16
11
|
export function render(_ctx, _cache) {
|
|
17
12
|
var _component_year_picker_panel = _resolveComponent("year-picker-panel");
|
|
18
13
|
|
|
@@ -90,18 +85,30 @@ export function render(_ctx, _cache) {
|
|
|
90
85
|
/* CLASS */
|
|
91
86
|
)], 4
|
|
92
87
|
/* STYLE */
|
|
93
|
-
), _createElementVNode("div",
|
|
88
|
+
), _createElementVNode("div", {
|
|
89
|
+
class: "var-date-picker-body",
|
|
90
|
+
onTouchstart: _cache[2] || (_cache[2] = function () {
|
|
91
|
+
return _ctx.handleTouchstart && _ctx.handleTouchstart(...arguments);
|
|
92
|
+
}),
|
|
93
|
+
onTouchmove: _cache[3] || (_cache[3] = function () {
|
|
94
|
+
return _ctx.handleTouchmove && _ctx.handleTouchmove(...arguments);
|
|
95
|
+
}),
|
|
96
|
+
onTouchend: _cache[4] || (_cache[4] = function () {
|
|
97
|
+
return _ctx.handleTouchend && _ctx.handleTouchend(...arguments);
|
|
98
|
+
})
|
|
99
|
+
}, [_createVNode(_Transition, {
|
|
94
100
|
name: "var-date-picker-panel-fade"
|
|
95
101
|
}, {
|
|
96
|
-
default: _withCtx(() => [_ctx.
|
|
102
|
+
default: _withCtx(() => [_ctx.getPanelType === 'year' ? (_openBlock(), _createBlock(_component_year_picker_panel, {
|
|
97
103
|
key: 0,
|
|
98
104
|
"component-props": _ctx.componentProps,
|
|
99
105
|
preview: _ctx.previewYear,
|
|
100
106
|
onChooseYear: _ctx.getChooseYear
|
|
101
107
|
}, null, 8
|
|
102
108
|
/* PROPS */
|
|
103
|
-
, ["component-props", "preview", "onChooseYear"])) :
|
|
109
|
+
, ["component-props", "preview", "onChooseYear"])) : _ctx.getPanelType === 'month' ? (_openBlock(), _createBlock(_component_month_picker_panel, {
|
|
104
110
|
key: 1,
|
|
111
|
+
ref: "monthPanelEl",
|
|
105
112
|
current: _ctx.currentDate,
|
|
106
113
|
choose: _ctx.getChoose,
|
|
107
114
|
preview: _ctx.getPreview,
|
|
@@ -111,8 +118,9 @@ export function render(_ctx, _cache) {
|
|
|
111
118
|
onCheckPreview: _ctx.checkPreview
|
|
112
119
|
}, null, 8
|
|
113
120
|
/* PROPS */
|
|
114
|
-
, ["current", "choose", "preview", "click-year", "component-props", "onChooseMonth", "onCheckPreview"])) :
|
|
121
|
+
, ["current", "choose", "preview", "click-year", "component-props", "onChooseMonth", "onCheckPreview"])) : _ctx.getPanelType === 'date' ? (_openBlock(), _createBlock(_component_day_picker_panel, {
|
|
115
122
|
key: 2,
|
|
123
|
+
ref: "dayPanelEl",
|
|
116
124
|
current: _ctx.currentDate,
|
|
117
125
|
choose: _ctx.getChoose,
|
|
118
126
|
preview: _ctx.getPreview,
|
|
@@ -126,7 +134,9 @@ export function render(_ctx, _cache) {
|
|
|
126
134
|
_: 1
|
|
127
135
|
/* STABLE */
|
|
128
136
|
|
|
129
|
-
})]
|
|
137
|
+
})], 32
|
|
138
|
+
/* HYDRATE_EVENTS */
|
|
139
|
+
)], 2
|
|
130
140
|
/* CLASS */
|
|
131
141
|
);
|
|
132
142
|
}
|
|
@@ -141,6 +151,10 @@ export default defineComponent({
|
|
|
141
151
|
props,
|
|
142
152
|
|
|
143
153
|
setup(props) {
|
|
154
|
+
var startX = 0;
|
|
155
|
+
var startY = 0;
|
|
156
|
+
var checkType = '';
|
|
157
|
+
var touchDirection;
|
|
144
158
|
var currentDate = dayjs().format('YYYY-MM-D');
|
|
145
159
|
var [currentYear, currentMonth] = currentDate.split('-');
|
|
146
160
|
var monthDes = MONTH_LIST.find(month => month.index === currentMonth);
|
|
@@ -157,6 +171,8 @@ export default defineComponent({
|
|
|
157
171
|
var chooseDays = ref([]);
|
|
158
172
|
var chooseRangeMonth = ref([]);
|
|
159
173
|
var chooseRangeDay = ref([]);
|
|
174
|
+
var monthPanelEl = ref(null);
|
|
175
|
+
var dayPanelEl = ref(null);
|
|
160
176
|
var componentProps = reactive({
|
|
161
177
|
allowedDates: props.allowedDates,
|
|
162
178
|
type: props.type,
|
|
@@ -224,6 +240,15 @@ export default defineComponent({
|
|
|
224
240
|
if (pack.value.lang === 'zh-CN') return chooseMonth.value.index + "-" + showDay + " " + weekName.slice(0, 3);
|
|
225
241
|
return weekName.slice(0, 3) + ", " + monthName.slice(0, 3) + " " + chooseDay.value;
|
|
226
242
|
});
|
|
243
|
+
var getPanelType = computed(() => {
|
|
244
|
+
if (isYearPanel.value) return 'year';
|
|
245
|
+
if (props.type === 'month' || isMonthPanel.value) return 'month';
|
|
246
|
+
if (props.type === 'date') return 'date';
|
|
247
|
+
return '';
|
|
248
|
+
});
|
|
249
|
+
var isUntouchable = computed(() => {
|
|
250
|
+
return !props.touchable || ['', 'year'].includes(getPanelType.value);
|
|
251
|
+
});
|
|
227
252
|
var slotProps = computed(() => {
|
|
228
253
|
var _chooseMonth$value, _chooseDay$value, _chooseYear$value, _chooseMonth$value$in, _chooseMonth$value2;
|
|
229
254
|
|
|
@@ -251,6 +276,41 @@ export default defineComponent({
|
|
|
251
276
|
}
|
|
252
277
|
};
|
|
253
278
|
|
|
279
|
+
var handleTouchstart = event => {
|
|
280
|
+
if (isUntouchable.value) return;
|
|
281
|
+
var {
|
|
282
|
+
clientX,
|
|
283
|
+
clientY
|
|
284
|
+
} = event.touches[0];
|
|
285
|
+
startX = clientX;
|
|
286
|
+
startY = clientY;
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
var getDirection = (x, y) => {
|
|
290
|
+
return x >= y && x > 20 ? 'x' : 'y';
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
var handleTouchmove = event => {
|
|
294
|
+
if (isUntouchable.value) return;
|
|
295
|
+
var {
|
|
296
|
+
clientX,
|
|
297
|
+
clientY
|
|
298
|
+
} = event.touches[0];
|
|
299
|
+
var x = clientX - startX;
|
|
300
|
+
var y = clientY - startY;
|
|
301
|
+
touchDirection = getDirection(Math.abs(x), Math.abs(y));
|
|
302
|
+
checkType = x > 0 ? 'prev' : 'next';
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
var handleTouchend = () => {
|
|
306
|
+
if (isUntouchable.value || touchDirection !== 'x') return;
|
|
307
|
+
var componentRef = getPanelType.value === 'month' ? monthPanelEl : dayPanelEl;
|
|
308
|
+
nextTickFrame(() => {
|
|
309
|
+
componentRef.value.forwardRef(checkType);
|
|
310
|
+
resetState();
|
|
311
|
+
});
|
|
312
|
+
};
|
|
313
|
+
|
|
254
314
|
var updateRange = (date, type) => {
|
|
255
315
|
var rangeDate = type === 'month' ? chooseRangeMonth : chooseRangeDay;
|
|
256
316
|
rangeDate.value = rangeDone.value ? [date, date] : [rangeDate.value[0], date];
|
|
@@ -416,6 +476,13 @@ export default defineComponent({
|
|
|
416
476
|
previewYear.value = yearValue;
|
|
417
477
|
};
|
|
418
478
|
|
|
479
|
+
var resetState = () => {
|
|
480
|
+
startY = 0;
|
|
481
|
+
startX = 0;
|
|
482
|
+
checkType = '';
|
|
483
|
+
touchDirection = undefined;
|
|
484
|
+
};
|
|
485
|
+
|
|
419
486
|
watch(() => props.modelValue, value => {
|
|
420
487
|
if (!checkValue() || invalidFormatDate(value) || !value) return;
|
|
421
488
|
|
|
@@ -432,7 +499,10 @@ export default defineComponent({
|
|
|
432
499
|
}, {
|
|
433
500
|
immediate: true
|
|
434
501
|
});
|
|
502
|
+
watch(getPanelType, resetState);
|
|
435
503
|
return {
|
|
504
|
+
monthPanelEl,
|
|
505
|
+
dayPanelEl,
|
|
436
506
|
reverse,
|
|
437
507
|
currentDate,
|
|
438
508
|
chooseMonth,
|
|
@@ -443,12 +513,16 @@ export default defineComponent({
|
|
|
443
513
|
isMonthPanel,
|
|
444
514
|
getMonthTitle,
|
|
445
515
|
getDateTitle,
|
|
516
|
+
getPanelType,
|
|
446
517
|
getChoose,
|
|
447
518
|
getPreview,
|
|
448
519
|
componentProps,
|
|
449
520
|
slotProps,
|
|
450
521
|
formatRange,
|
|
451
522
|
clickEl,
|
|
523
|
+
handleTouchstart,
|
|
524
|
+
handleTouchmove,
|
|
525
|
+
handleTouchend,
|
|
452
526
|
getChooseDay,
|
|
453
527
|
getChooseMonth,
|
|
454
528
|
getChooseYear,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root { --date-picker-border-radius: 4px; --date-picker-font-size: var(--font-size-md); --date-picker-min-width: 290px; --date-picker-height: 385px; --date-picker-main-color: rgba(0, 0, 0, 0.87); --date-picker-title-padding: 16px; --date-picker-title-background: var(--color-primary); --date-picker-title-color: #fff; --date-picker-title-year-font-size: var(--font-size-md); --date-picker-title-year-font-weight: 500; --date-picker-title-year-margin-bottom: 8px; --date-picker-title-date-height: 48px; --date-picker-title-date-font-size: 34px; --date-picker-title-date-font-weight: 500; --date-picker-title-date-range-font-size: 20px; --date-picker-body-background-color: rgba(0, 0, 0, 0); --picker-header-padding: 4px 16px; --month-picker-padding: 0 12px; --month-picker-item-width: 33%; --month-picker-item-height: 56px; --month-picker-item-button-max-width: 140px; --year-picker-font-weight: 400; --year-picker-item-padding: 8px 0; --year-picker-item-active-font-size: 26px; --year-picker-item-active-font-weight: 500; --year-picker-item-active-font-padding: 10px 0; --year-picker-item-active-color: var(--color-primary); --day-picker-content-item-width: 14.28%; --day-picker-content-item-font-size: var(--font-size-sm); --day-picker-content-item-padding: 2px 0; --day-picker-content-item-button-width: 32px; --day-picker-content-item-button-height: 32px; --day-picker-content-item-button-font-size: var(--font-size-sm); --day-picker-head-item-color: rgba(0, 0, 0, 0.38); --day-picker-head-item-padding: 8px 0; --day-picker-head-item-font-weight: 600;}.var-date-picker { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-radius: var(--date-picker-border-radius); contain: layout style; display: flex; flex-direction: column; font-size: var(--date-picker-font-size); position: relative; min-width: var(--date-picker-min-width); height: var(--date-picker-height); overflow: hidden;}.var-date-picker ul { list-style: none; margin: 0; padding: 0;}.var-date-picker-title { padding: var(--date-picker-title-padding); color: var(--date-picker-title-color); background: var(--date-picker-title-background); display: flex; justify-content: space-between; flex-direction: column; flex-wrap: wrap;}.var-date-picker-title__year { opacity: 0.6; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); align-items: center; display: inline-flex; font-size: var(--date-picker-title-year-font-size); font-weight: var(--date-picker-title-year-font-weight); margin-bottom: var(--date-picker-title-year-margin-bottom); transition: 0.3s var(--cubic-bezier);}.var-date-picker-title__year--active { opacity: 1;}.var-date-picker-title__date { height: var(--date-picker-title-date-height); overflow: hidden; font-size: var(--date-picker-title-date-font-size); text-align: left; font-weight: var(--date-picker-title-date-font-weight); position: relative; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); display: flex; align-items: center; opacity: 0.6; transition: 0.3s var(--cubic-bezier);}.var-date-picker-title__date--active { opacity: 1;}.var-date-picker-title__date--range { font-size: var(--date-picker-title-date-range-font-size);}.var-date-picker-body { flex: 1; position: relative; overflow: auto; background-color: var(--date-picker-body-background-color);}.var-date-picker .var-picker-header { padding: var(--picker-header-padding); align-items: center; display: flex; justify-content: space-between; position: relative;}.var-date-picker .var-picker-header__value { flex: 1; text-align: center; position: relative; overflow: hidden; font-weight: 700; cursor: pointer;}.var-date-picker .var-picker-header__value div { width: 100%;}.var-date-picker .var-month-picker__content { padding: var(--month-picker-padding);}.var-date-picker .var-month-picker__content ul { display: flex; flex-wrap: wrap; justify-content: space-between;}.var-date-picker .var-month-picker__content ul li { width: var(--month-picker-item-width); display: flex; height: var(--month-picker-item-height); align-items: center; justify-content: center;}.var-date-picker .var-month-picker__button[var-month-picker-cover] { width: 100%; max-width: var(--month-picker-item-button-max-width);}.var-date-picker .var-month-picker__button[var-date-picker-color-cover='true'] { color: var(--date-picker-main-color);}.var-date-picker .var-year-picker__panel { width: 100%; height: 100%; font-weight: var(--year-picker-font-weight); padding: 0; margin: 0; list-style-type: none; overflow: auto; text-align: center;}.var-date-picker .var-year-picker__panel li { padding: var(--year-picker-item-padding); cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.var-date-picker .var-year-picker__panel--active { font-size: var(--year-picker-item-active-font-size); font-weight: var(--year-picker-item-active-font-weight); padding: var(--year-picker-item-active-font-padding); color: var(--year-picker-item-active-color);}.var-date-picker .var-day-picker__content ul { display: flex; flex-wrap: wrap;}.var-date-picker .var-day-picker__content ul li { position: relative; display: flex; justify-content: center; width: var(--day-picker-content-item-width); font-size: var(--day-picker-content-item-font-size); padding: var(--day-picker-content-item-padding);}.var-date-picker .var-day-picker__head li { color: var(--day-picker-head-item-color); padding: var(--day-picker-head-item-padding); font-weight: var(--day-picker-head-item-font-weight);}.var-date-picker .var-day-picker__button[var-day-picker-cover] { width: var(--day-picker-content-item-button-width); height: var(--day-picker-content-item-button-height); font-size: var(--day-picker-content-item-button-font-size);}.var-date-picker .var-day-picker__button[var-date-picker-color-cover='true'] { color: var(--date-picker-main-color);}.var-date-picker-translatey-enter-from { opacity: 0; transform: translateY(100%);}.var-date-picker-translatey-enter-active,.var-date-picker-reverse-translatey-enter-active { transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatey-leave-active,.var-date-picker-reverse-translatey-leave-active { position: absolute; transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatey-leave-to { opacity: 0; transform: translateY(-100%);}.var-date-picker-reverse-translatey-enter-from { opacity: 0; transform: translateY(-100%);}.var-date-picker-reverse-translatey-leave-to { opacity: 0; transform: translateY(100%);}.var-date-picker-panel-fade-enter-from,.var-date-picker-panel-fade-leave-to { transition: 0.3s var(--cubic-bezier); opacity: 0;}.var-date-picker-panel-fade-leave-active { position: absolute;}.var-date-picker-translatex-enter-from { opacity: 0; transform: translateX(100%);}.var-date-picker-reverse-translatex-enter-from { opacity: 0; transform: translateX(-100%);}.var-date-picker-translatex-enter-active,.var-date-picker-reverse-translatex-enter-active { transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatex-leave-active,.var-date-picker-reverse-translatex-leave-active { position: absolute; transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatex-leave-to { opacity: 0; transform: translateX(-100%);}.var-date-picker-reverse-translatex-leave-to { opacity: 0; transform: translateX(100%);}
|
|
1
|
+
:root { --date-picker-border-radius: 4px; --date-picker-font-size: var(--font-size-md); --date-picker-min-width: 290px; --date-picker-height: 385px; --date-picker-main-color: rgba(0, 0, 0, 0.87); --date-picker-title-padding: 16px; --date-picker-title-background: var(--color-primary); --date-picker-title-color: #fff; --date-picker-title-year-font-size: var(--font-size-md); --date-picker-title-year-font-weight: 500; --date-picker-title-year-margin-bottom: 8px; --date-picker-title-date-height: 48px; --date-picker-title-date-font-size: 34px; --date-picker-title-date-font-weight: 500; --date-picker-title-date-range-font-size: 20px; --date-picker-body-background-color: rgba(0, 0, 0, 0); --picker-header-padding: 4px 16px; --month-picker-padding: 0 12px; --month-picker-item-width: 33%; --month-picker-item-height: 56px; --month-picker-item-button-max-width: 140px; --year-picker-font-weight: 400; --year-picker-item-padding: 8px 0; --year-picker-item-active-font-size: 26px; --year-picker-item-active-font-weight: 500; --year-picker-item-active-font-padding: 10px 0; --year-picker-item-active-color: var(--color-primary); --day-picker-content-item-width: 14.28%; --day-picker-content-item-font-size: var(--font-size-sm); --day-picker-content-item-padding: 2px 0; --day-picker-content-item-button-width: 32px; --day-picker-content-item-button-height: 32px; --day-picker-content-item-button-font-size: var(--font-size-sm); --day-picker-head-item-color: rgba(0, 0, 0, 0.38); --day-picker-head-item-padding: 8px 0; --day-picker-head-item-font-weight: 600;}.var-date-picker { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); border-radius: var(--date-picker-border-radius); contain: layout style; display: flex; flex-direction: column; font-size: var(--date-picker-font-size); position: relative; min-width: var(--date-picker-min-width); height: var(--date-picker-height); overflow: hidden;}.var-date-picker ul { list-style: none; margin: 0; padding: 0;}.var-date-picker-title { padding: var(--date-picker-title-padding); color: var(--date-picker-title-color); background: var(--date-picker-title-background); display: flex; justify-content: space-between; flex-direction: column; flex-wrap: wrap;}.var-date-picker-title__year { opacity: 0.6; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); align-items: center; display: inline-flex; font-size: var(--date-picker-title-year-font-size); font-weight: var(--date-picker-title-year-font-weight); margin-bottom: var(--date-picker-title-year-margin-bottom); transition: 0.3s var(--cubic-bezier);}.var-date-picker-title__year--active { opacity: 1;}.var-date-picker-title__date { height: var(--date-picker-title-date-height); overflow: hidden; font-size: var(--date-picker-title-date-font-size); text-align: left; font-weight: var(--date-picker-title-date-font-weight); position: relative; cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); display: flex; align-items: center; opacity: 0.6; transition: 0.3s var(--cubic-bezier);}.var-date-picker-title__date--active { opacity: 1;}.var-date-picker-title__date--range { font-size: var(--date-picker-title-date-range-font-size);}.var-date-picker-body { flex: 1; position: relative; overflow: auto; background-color: var(--date-picker-body-background-color);}.var-date-picker .var-picker-header { padding: var(--picker-header-padding); align-items: center; display: flex; justify-content: space-between; position: relative;}.var-date-picker .var-picker-header__value { flex: 1; text-align: center; position: relative; overflow: hidden; font-weight: 700; cursor: pointer; user-select: none;}.var-date-picker .var-picker-header__value div { width: 100%;}.var-date-picker .var-month-picker__content { padding: var(--month-picker-padding);}.var-date-picker .var-month-picker__content ul { display: flex; flex-wrap: wrap; justify-content: space-between;}.var-date-picker .var-month-picker__content ul li { width: var(--month-picker-item-width); display: flex; height: var(--month-picker-item-height); align-items: center; justify-content: center;}.var-date-picker .var-month-picker__button[var-month-picker-cover] { width: 100%; max-width: var(--month-picker-item-button-max-width);}.var-date-picker .var-month-picker__button[var-date-picker-color-cover='true'] { color: var(--date-picker-main-color);}.var-date-picker .var-month-picker__button-disabled { color: var(--color-text-disabled) !important; cursor: not-allowed;}.var-date-picker .var-year-picker__panel { width: 100%; height: 100%; font-weight: var(--year-picker-font-weight); padding: 0; margin: 0; list-style-type: none; overflow: auto; text-align: center;}.var-date-picker .var-year-picker__panel li { padding: var(--year-picker-item-padding); cursor: pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.var-date-picker .var-year-picker__panel--active { font-size: var(--year-picker-item-active-font-size); font-weight: var(--year-picker-item-active-font-weight); padding: var(--year-picker-item-active-font-padding); color: var(--year-picker-item-active-color);}.var-date-picker .var-day-picker__content ul { display: flex; flex-wrap: wrap;}.var-date-picker .var-day-picker__content ul li { position: relative; display: flex; justify-content: center; width: var(--day-picker-content-item-width); font-size: var(--day-picker-content-item-font-size); padding: var(--day-picker-content-item-padding);}.var-date-picker .var-day-picker__head li { color: var(--day-picker-head-item-color); padding: var(--day-picker-head-item-padding); font-weight: var(--day-picker-head-item-font-weight);}.var-date-picker .var-day-picker__button[var-day-picker-cover] { width: var(--day-picker-content-item-button-width); height: var(--day-picker-content-item-button-height); font-size: var(--day-picker-content-item-button-font-size);}.var-date-picker .var-day-picker__button[var-date-picker-color-cover='true'] { color: var(--date-picker-main-color);}.var-date-picker .var-day-picker__button-disabled { color: var(--color-text-disabled) !important; cursor: not-allowed;}.var-date-picker-translatey-enter-from { opacity: 0; transform: translateY(100%);}.var-date-picker-translatey-enter-active,.var-date-picker-reverse-translatey-enter-active { transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatey-leave-active,.var-date-picker-reverse-translatey-leave-active { position: absolute; transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatey-leave-to { opacity: 0; transform: translateY(-100%);}.var-date-picker-reverse-translatey-enter-from { opacity: 0; transform: translateY(-100%);}.var-date-picker-reverse-translatey-leave-to { opacity: 0; transform: translateY(100%);}.var-date-picker-panel-fade-enter-from,.var-date-picker-panel-fade-leave-to { transition: 0.3s var(--cubic-bezier); opacity: 0;}.var-date-picker-panel-fade-leave-active { position: absolute;}.var-date-picker-translatex-enter-from { opacity: 0; transform: translateX(100%);}.var-date-picker-reverse-translatex-enter-from { opacity: 0; transform: translateX(-100%);}.var-date-picker-translatex-enter-active,.var-date-picker-reverse-translatex-enter-active { transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatex-leave-active,.var-date-picker-reverse-translatex-leave-active { position: absolute; transition: 0.3s var(--cubic-bezier);}.var-date-picker-translatex-leave-to { opacity: 0; transform: translateX(-100%);}.var-date-picker-reverse-translatex-leave-to { opacity: 0; transform: translateX(100%);}
|
|
@@ -162,6 +162,7 @@
|
|
|
162
162
|
overflow: hidden;
|
|
163
163
|
font-weight: 700;
|
|
164
164
|
cursor: pointer;
|
|
165
|
+
user-select: none;
|
|
165
166
|
|
|
166
167
|
div {
|
|
167
168
|
width: 100%;
|
|
@@ -196,6 +197,11 @@
|
|
|
196
197
|
&__button[var-date-picker-color-cover='true'] {
|
|
197
198
|
color: var(--date-picker-main-color);
|
|
198
199
|
}
|
|
200
|
+
|
|
201
|
+
&__button-disabled {
|
|
202
|
+
color: var(--color-text-disabled) !important;
|
|
203
|
+
cursor: not-allowed;
|
|
204
|
+
}
|
|
199
205
|
}
|
|
200
206
|
|
|
201
207
|
.var-year-picker {
|
|
@@ -258,6 +264,11 @@
|
|
|
258
264
|
&__button[var-date-picker-color-cover='true'] {
|
|
259
265
|
color: var(--date-picker-main-color);
|
|
260
266
|
}
|
|
267
|
+
|
|
268
|
+
&__button-disabled {
|
|
269
|
+
color: var(--color-text-disabled) !important;
|
|
270
|
+
cursor: not-allowed;
|
|
271
|
+
}
|
|
261
272
|
}
|
|
262
273
|
|
|
263
274
|
&-translatey-enter-from {
|
package/es/date-picker/props.js
CHANGED
|
@@ -33,6 +33,7 @@ export function render(_ctx, _cache) {
|
|
|
33
33
|
var _component_var_button = _resolveComponent("var-button");
|
|
34
34
|
|
|
35
35
|
return _openBlock(), _createElementBlock("div", _hoisted_1, [_createElementVNode("div", _hoisted_2, [_createVNode(_component_panel_header, {
|
|
36
|
+
ref: "headerEl",
|
|
36
37
|
type: "day",
|
|
37
38
|
date: _ctx.preview,
|
|
38
39
|
disabled: _ctx.panelBtnDisabled,
|
|
@@ -65,7 +66,7 @@ export function render(_ctx, _cache) {
|
|
|
65
66
|
round: "",
|
|
66
67
|
ripple: false
|
|
67
68
|
}, _extends({}, _ctx.buttonProps(day)), {
|
|
68
|
-
onClick:
|
|
69
|
+
onClick: event => _ctx.chooseDay(day, event)
|
|
69
70
|
}), {
|
|
70
71
|
default: _withCtx(() => [_createTextVNode(_toDisplayString(_ctx.filterDay(day)), 1
|
|
71
72
|
/* TEXT */
|
|
@@ -125,6 +126,7 @@ export default defineComponent({
|
|
|
125
126
|
var days = ref([]);
|
|
126
127
|
var reverse = ref(false);
|
|
127
128
|
var panelKey = ref(0);
|
|
129
|
+
var headerEl = ref(null);
|
|
128
130
|
var panelBtnDisabled = reactive({
|
|
129
131
|
left: false,
|
|
130
132
|
right: false
|
|
@@ -292,11 +294,13 @@ export default defineComponent({
|
|
|
292
294
|
|
|
293
295
|
var isCover = textColorOrCover().startsWith('var-date-picker');
|
|
294
296
|
return {
|
|
295
|
-
disabled,
|
|
296
297
|
text: computeText(),
|
|
297
298
|
outline: computeOutline(),
|
|
298
299
|
textColor: isCover ? '' : textColorOrCover(),
|
|
299
|
-
'var-date-picker-color-cover': isCover
|
|
300
|
+
'var-date-picker-color-cover': isCover,
|
|
301
|
+
class: {
|
|
302
|
+
'var-day-picker__button-disabled': disabled
|
|
303
|
+
}
|
|
300
304
|
};
|
|
301
305
|
};
|
|
302
306
|
|
|
@@ -306,8 +310,15 @@ export default defineComponent({
|
|
|
306
310
|
emit('check-preview', 'month', checkType);
|
|
307
311
|
};
|
|
308
312
|
|
|
309
|
-
var chooseDay = day => {
|
|
313
|
+
var chooseDay = (day, event) => {
|
|
314
|
+
var buttonEl = event.currentTarget;
|
|
315
|
+
if (buttonEl.classList.contains('var-day-picker__button-disabled')) return;
|
|
310
316
|
emit('choose-day', day);
|
|
317
|
+
}; // expose for internal
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
var forwardRef = checkType => {
|
|
321
|
+
headerEl.value.checkDate(checkType);
|
|
311
322
|
};
|
|
312
323
|
|
|
313
324
|
onMounted(() => {
|
|
@@ -321,9 +332,11 @@ export default defineComponent({
|
|
|
321
332
|
return {
|
|
322
333
|
days,
|
|
323
334
|
reverse,
|
|
335
|
+
headerEl,
|
|
324
336
|
panelKey,
|
|
325
337
|
sortWeekList,
|
|
326
338
|
panelBtnDisabled,
|
|
339
|
+
forwardRef,
|
|
327
340
|
filterDay,
|
|
328
341
|
getDayAbbr,
|
|
329
342
|
checkDate,
|
|
@@ -27,6 +27,7 @@ export function render(_ctx, _cache) {
|
|
|
27
27
|
var _component_var_button = _resolveComponent("var-button");
|
|
28
28
|
|
|
29
29
|
return _openBlock(), _createElementBlock("div", _hoisted_1, [_createElementVNode("div", _hoisted_2, [_createVNode(_component_panel_header, {
|
|
30
|
+
ref: "headerEl",
|
|
30
31
|
type: "month",
|
|
31
32
|
date: _ctx.preview,
|
|
32
33
|
disabled: _ctx.panelBtnDisabled,
|
|
@@ -48,7 +49,7 @@ export function render(_ctx, _cache) {
|
|
|
48
49
|
"var-month-picker-cover": "",
|
|
49
50
|
ripple: false
|
|
50
51
|
}, _extends({}, _ctx.buttonProps(month.index)), {
|
|
51
|
-
onClick:
|
|
52
|
+
onClick: event => _ctx.chooseMonth(month, event)
|
|
52
53
|
}), {
|
|
53
54
|
default: _withCtx(() => [_createTextVNode(_toDisplayString(_ctx.getMonthAbbr(month.index)), 1
|
|
54
55
|
/* TEXT */
|
|
@@ -107,6 +108,7 @@ export default defineComponent({
|
|
|
107
108
|
var [currentYear, currentMonth] = props.current.split('-');
|
|
108
109
|
var reverse = ref(false);
|
|
109
110
|
var panelKey = ref(0);
|
|
111
|
+
var headerEl = ref(null);
|
|
110
112
|
var panelBtnDisabled = reactive({
|
|
111
113
|
left: false,
|
|
112
114
|
right: false
|
|
@@ -219,16 +221,20 @@ export default defineComponent({
|
|
|
219
221
|
|
|
220
222
|
var isCover = textColorOrCover().startsWith('var-date-picker');
|
|
221
223
|
return {
|
|
222
|
-
disabled,
|
|
223
224
|
outline: computeOutline(),
|
|
224
225
|
text: computeText(),
|
|
225
226
|
color: !computeText() ? color : '',
|
|
226
227
|
textColor: isCover ? '' : textColorOrCover(),
|
|
227
|
-
'var-date-picker-color-cover': isCover
|
|
228
|
+
'var-date-picker-color-cover': isCover,
|
|
229
|
+
class: {
|
|
230
|
+
'var-month-picker__button-disabled': disabled
|
|
231
|
+
}
|
|
228
232
|
};
|
|
229
233
|
};
|
|
230
234
|
|
|
231
|
-
var chooseMonth = month => {
|
|
235
|
+
var chooseMonth = (month, event) => {
|
|
236
|
+
var buttonEl = event.currentTarget;
|
|
237
|
+
if (buttonEl.classList.contains('var-month-picker__button-disabled')) return;
|
|
232
238
|
emit('choose-month', month);
|
|
233
239
|
};
|
|
234
240
|
|
|
@@ -236,6 +242,11 @@ export default defineComponent({
|
|
|
236
242
|
reverse.value = checkType === 'prev';
|
|
237
243
|
panelKey.value += checkType === 'prev' ? -1 : 1;
|
|
238
244
|
emit('check-preview', 'year', checkType);
|
|
245
|
+
}; // expose for internal
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
var forwardRef = checkType => {
|
|
249
|
+
headerEl.value.checkDate(checkType);
|
|
239
250
|
};
|
|
240
251
|
|
|
241
252
|
watch(() => props.preview.previewYear, year => {
|
|
@@ -253,9 +264,11 @@ export default defineComponent({
|
|
|
253
264
|
return {
|
|
254
265
|
pack,
|
|
255
266
|
MONTH_LIST,
|
|
267
|
+
headerEl,
|
|
256
268
|
reverse,
|
|
257
269
|
panelKey,
|
|
258
270
|
panelBtnDisabled,
|
|
271
|
+
forwardRef,
|
|
259
272
|
buttonProps,
|
|
260
273
|
getMonthAbbr,
|
|
261
274
|
chooseMonth,
|
|
@@ -113,6 +113,7 @@ export default defineComponent({
|
|
|
113
113
|
});
|
|
114
114
|
|
|
115
115
|
var checkDate = checkType => {
|
|
116
|
+
if (checkType === 'prev' && props.disabled.left || checkType === 'next' && props.disabled.right) return;
|
|
116
117
|
emit('check-date', checkType);
|
|
117
118
|
reverse.value = checkType === 'prev';
|
|
118
119
|
forwardOrBackNum.value += checkType === 'prev' ? -1 : 1;
|
|
@@ -7,7 +7,7 @@ import { props } from './props';
|
|
|
7
7
|
import { toNumber } from '../utils/shared';
|
|
8
8
|
var DISTANCE_OFFSET = 12;
|
|
9
9
|
var EVENT_DELAY = 200;
|
|
10
|
-
var TAP_DELAY =
|
|
10
|
+
var TAP_DELAY = 350;
|
|
11
11
|
var ANIMATION_DURATION = 200;
|
|
12
12
|
import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, renderSlot as _renderSlot, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, mergeProps as _mergeProps, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from "vue";
|
|
13
13
|
|
|
@@ -18,6 +18,9 @@ var _hoisted_2 = {
|
|
|
18
18
|
key: 0,
|
|
19
19
|
class: "var-image-preview__indicators"
|
|
20
20
|
};
|
|
21
|
+
var _hoisted_3 = {
|
|
22
|
+
class: "var-image-preview__extra"
|
|
23
|
+
};
|
|
21
24
|
export function render(_ctx, _cache) {
|
|
22
25
|
var _component_var_swipe_item = _resolveComponent("var-swipe-item");
|
|
23
26
|
|
|
@@ -116,7 +119,7 @@ export function render(_ctx, _cache) {
|
|
|
116
119
|
onClick: _ctx.close
|
|
117
120
|
}, null, 8
|
|
118
121
|
/* PROPS */
|
|
119
|
-
, ["onClick"])) : _createCommentVNode("v-if", true)])]),
|
|
122
|
+
, ["onClick"])) : _createCommentVNode("v-if", true)]), _createElementVNode("div", _hoisted_3, [_renderSlot(_ctx.$slots, "extra")])]),
|
|
120
123
|
_: 3
|
|
121
124
|
/* FORWARDED */
|
|
122
125
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root { --image-preview-swipe-indicators-text-color: #ddd; --image-preview-swipe-indicators-padding: 16px 0; --image-preview-zoom-container-background: #000; --image-preview-close-icon-top:
|
|
1
|
+
:root { --image-preview-swipe-indicators-text-color: #ddd; --image-preview-swipe-indicators-padding: 16px 0; --image-preview-zoom-container-background: #000; --image-preview-close-icon-top: 14px; --image-preview-close-icon-right: 14px; --image-preview-extra-top: 14px; --image-preview-extra-left: 14px; --image-preview-close-icon-size: 22px; --image-preview-close-icon-color: #fff;}.var-image-preview__popup[var-image-preview-cover] { background: transparent;}.var-image-preview__swipe[var-image-preview-cover] { width: 100vw; height: 100vh;}.var-image-preview__swipe-item[var-image-preview-cover] { overflow: hidden;}.var-image-preview__close-icon[var-image-preview-cover] { position: absolute; top: var(--image-preview-close-icon-top); right: var(--image-preview-close-icon-right); color: var(--image-preview-close-icon-color); font-size: var(--image-preview-close-icon-size);}.var-image-preview__extra { position: absolute; top: var(--image-preview-extra-top); left: var(--image-preview-extra-left);}.var-image-preview__indicators { position: absolute; top: 0; width: 100%; padding: var(--image-preview-swipe-indicators-padding); color: var(--image-preview-swipe-indicators-text-color); text-align: center;}.var-image-preview__image { width: 100%; height: 100%; object-fit: contain; -webkit-user-drag: none;}.var-image-preview__zoom-container { display: flex; justify-content: center; align-items: center; width: 100vw; height: 100vh; transition: transform 0.2s; background: var(--image-preview-zoom-container-background);}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
@image-preview-swipe-indicators-text-color: #ddd;
|
|
2
2
|
@image-preview-swipe-indicators-padding: 16px 0;
|
|
3
3
|
@image-preview-zoom-container-background: #000;
|
|
4
|
-
@image-preview-close-icon-top:
|
|
4
|
+
@image-preview-close-icon-top: 14px;
|
|
5
5
|
@image-preview-close-icon-right: 14px;
|
|
6
|
+
@image-preview-extra-top: 14px;
|
|
7
|
+
@image-preview-extra-left: 14px;
|
|
6
8
|
@image-preview-close-icon-size: 22px;
|
|
7
9
|
@image-preview-close-icon-color: #fff;
|
|
8
10
|
|
|
@@ -12,6 +14,8 @@
|
|
|
12
14
|
--image-preview-zoom-container-background: @image-preview-zoom-container-background;
|
|
13
15
|
--image-preview-close-icon-top: @image-preview-close-icon-top;
|
|
14
16
|
--image-preview-close-icon-right: @image-preview-close-icon-right;
|
|
17
|
+
--image-preview-extra-top: @image-preview-extra-top;
|
|
18
|
+
--image-preview-extra-left: @image-preview-extra-left;
|
|
15
19
|
--image-preview-close-icon-size: @image-preview-close-icon-size;
|
|
16
20
|
--image-preview-close-icon-color: @image-preview-close-icon-color;
|
|
17
21
|
}
|
|
@@ -38,6 +42,12 @@
|
|
|
38
42
|
font-size: var(--image-preview-close-icon-size);
|
|
39
43
|
}
|
|
40
44
|
|
|
45
|
+
&__extra {
|
|
46
|
+
position: absolute;
|
|
47
|
+
top: var(--image-preview-extra-top);
|
|
48
|
+
left: var(--image-preview-extra-left);
|
|
49
|
+
}
|
|
50
|
+
|
|
41
51
|
&__indicators {
|
|
42
52
|
position: absolute;
|
|
43
53
|
top: 0;
|
package/es/rate/Rate.js
CHANGED
|
@@ -33,13 +33,14 @@ export function render(_ctx, _cache) {
|
|
|
33
33
|
onClick: $event => _ctx.handleClick(val, $event)
|
|
34
34
|
}, [_createVNode(_component_var_icon, {
|
|
35
35
|
transition: 0,
|
|
36
|
+
namespace: _ctx.namespace,
|
|
36
37
|
name: _ctx.getIconName(val),
|
|
37
38
|
style: _normalizeStyle({
|
|
38
39
|
fontSize: _ctx.toSizeUnit(_ctx.size)
|
|
39
40
|
})
|
|
40
41
|
}, null, 8
|
|
41
42
|
/* PROPS */
|
|
42
|
-
, ["name", "style"])], 14
|
|
43
|
+
, ["namespace", "name", "style"])], 14
|
|
43
44
|
/* CLASS, STYLE, PROPS */
|
|
44
45
|
, _hoisted_3)), [[_directive_ripple, {
|
|
45
46
|
disabled: _ctx.formReadonly || _ctx.readonly || _ctx.formDisabled || _ctx.disabled || !_ctx.ripple
|
package/es/rate/props.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import '../../styles/common.css'
|
|
2
|
-
import '../SnackbarSfc.css'
|
|
3
2
|
import '../../styles/elevation.css'
|
|
4
3
|
import '../../loading/loading.css'
|
|
5
4
|
import '../../button/button.css'
|
|
6
5
|
import '../../icon/icon.css'
|
|
7
6
|
import '../snackbar.css'
|
|
8
7
|
import '../coreSfc.css'
|
|
8
|
+
import '../SnackbarSfc.css'
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import '../../styles/common.less'
|
|
2
|
-
import '../SnackbarSfc.less'
|
|
3
2
|
import '../../styles/elevation.less'
|
|
4
3
|
import '../../loading/loading.less'
|
|
5
4
|
import '../../button/button.less'
|
|
6
5
|
import '../../icon/icon.less'
|
|
7
6
|
import '../snackbar.less'
|
|
8
7
|
import '../coreSfc.less'
|
|
8
|
+
import '../SnackbarSfc.less'
|