@varlet/ui 1.26.4 → 1.26.5
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 +83 -12
- package/es/date-picker/date-picker.css +1 -1
- package/es/date-picker/date-picker.less +1 -0
- package/es/date-picker/props.js +4 -0
- package/es/date-picker/src/day-picker-panel.js +9 -0
- package/es/date-picker/src/month-picker-panel.js +9 -0
- package/es/date-picker/src/panel-header.js +1 -0
- package/es/image-preview/ImagePreview.js +4 -1
- package/es/image-preview/imagePreview.css +1 -1
- package/es/image-preview/imagePreview.less +11 -1
- package/es/style.css +1 -1
- package/es/varlet.esm.js +155 -59
- package/highlight/attributes.json +4 -0
- package/highlight/tags.json +2 -1
- package/highlight/web-types.json +14 -1
- package/lib/date-picker/DatePicker.js +82 -11
- package/lib/date-picker/date-picker.css +1 -1
- package/lib/date-picker/date-picker.less +1 -0
- package/lib/date-picker/props.js +4 -0
- package/lib/date-picker/src/day-picker-panel.js +9 -0
- package/lib/date-picker/src/month-picker-panel.js +9 -0
- package/lib/date-picker/src/panel-header.js +1 -0
- package/lib/image-preview/ImagePreview.js +4 -1
- package/lib/image-preview/imagePreview.css +1 -1
- package/lib/image-preview/imagePreview.less +11 -1
- package/lib/style.css +1 -1
- package/package.json +4 -4
- package/types/datePicker.d.ts +1 -0
- package/umd/varlet.js +4 -4
|
@@ -6,13 +6,7 @@ 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
8
|
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
|
-
};
|
|
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 } from "vue";
|
|
16
10
|
export function render(_ctx, _cache) {
|
|
17
11
|
var _component_year_picker_panel = _resolveComponent("year-picker-panel");
|
|
18
12
|
|
|
@@ -90,18 +84,30 @@ export function render(_ctx, _cache) {
|
|
|
90
84
|
/* CLASS */
|
|
91
85
|
)], 4
|
|
92
86
|
/* STYLE */
|
|
93
|
-
), _createElementVNode("div",
|
|
87
|
+
), _createElementVNode("div", {
|
|
88
|
+
class: "var-date-picker-body",
|
|
89
|
+
onTouchstart: _cache[2] || (_cache[2] = function () {
|
|
90
|
+
return _ctx.handleTouchstart && _ctx.handleTouchstart(...arguments);
|
|
91
|
+
}),
|
|
92
|
+
onTouchmove: _cache[3] || (_cache[3] = function () {
|
|
93
|
+
return _ctx.handleTouchmove && _ctx.handleTouchmove(...arguments);
|
|
94
|
+
}),
|
|
95
|
+
onTouchend: _cache[4] || (_cache[4] = function () {
|
|
96
|
+
return _ctx.handleTouchend && _ctx.handleTouchend(...arguments);
|
|
97
|
+
})
|
|
98
|
+
}, [_createVNode(_Transition, {
|
|
94
99
|
name: "var-date-picker-panel-fade"
|
|
95
100
|
}, {
|
|
96
|
-
default: _withCtx(() => [_ctx.
|
|
101
|
+
default: _withCtx(() => [_ctx.getPanelType === 'year' ? (_openBlock(), _createBlock(_component_year_picker_panel, {
|
|
97
102
|
key: 0,
|
|
98
103
|
"component-props": _ctx.componentProps,
|
|
99
104
|
preview: _ctx.previewYear,
|
|
100
105
|
onChooseYear: _ctx.getChooseYear
|
|
101
106
|
}, null, 8
|
|
102
107
|
/* PROPS */
|
|
103
|
-
, ["component-props", "preview", "onChooseYear"])) :
|
|
108
|
+
, ["component-props", "preview", "onChooseYear"])) : _ctx.getPanelType === 'month' ? (_openBlock(), _createBlock(_component_month_picker_panel, {
|
|
104
109
|
key: 1,
|
|
110
|
+
ref: "monthPanelEl",
|
|
105
111
|
current: _ctx.currentDate,
|
|
106
112
|
choose: _ctx.getChoose,
|
|
107
113
|
preview: _ctx.getPreview,
|
|
@@ -111,8 +117,9 @@ export function render(_ctx, _cache) {
|
|
|
111
117
|
onCheckPreview: _ctx.checkPreview
|
|
112
118
|
}, null, 8
|
|
113
119
|
/* PROPS */
|
|
114
|
-
, ["current", "choose", "preview", "click-year", "component-props", "onChooseMonth", "onCheckPreview"])) :
|
|
120
|
+
, ["current", "choose", "preview", "click-year", "component-props", "onChooseMonth", "onCheckPreview"])) : _ctx.getPanelType === 'date' ? (_openBlock(), _createBlock(_component_day_picker_panel, {
|
|
115
121
|
key: 2,
|
|
122
|
+
ref: "dayPanelEl",
|
|
116
123
|
current: _ctx.currentDate,
|
|
117
124
|
choose: _ctx.getChoose,
|
|
118
125
|
preview: _ctx.getPreview,
|
|
@@ -126,7 +133,9 @@ export function render(_ctx, _cache) {
|
|
|
126
133
|
_: 1
|
|
127
134
|
/* STABLE */
|
|
128
135
|
|
|
129
|
-
})]
|
|
136
|
+
})], 32
|
|
137
|
+
/* HYDRATE_EVENTS */
|
|
138
|
+
)], 2
|
|
130
139
|
/* CLASS */
|
|
131
140
|
);
|
|
132
141
|
}
|
|
@@ -141,6 +150,10 @@ export default defineComponent({
|
|
|
141
150
|
props,
|
|
142
151
|
|
|
143
152
|
setup(props) {
|
|
153
|
+
var startX = 0;
|
|
154
|
+
var startY = 0;
|
|
155
|
+
var checkType = '';
|
|
156
|
+
var touchDirection;
|
|
144
157
|
var currentDate = dayjs().format('YYYY-MM-D');
|
|
145
158
|
var [currentYear, currentMonth] = currentDate.split('-');
|
|
146
159
|
var monthDes = MONTH_LIST.find(month => month.index === currentMonth);
|
|
@@ -157,6 +170,8 @@ export default defineComponent({
|
|
|
157
170
|
var chooseDays = ref([]);
|
|
158
171
|
var chooseRangeMonth = ref([]);
|
|
159
172
|
var chooseRangeDay = ref([]);
|
|
173
|
+
var monthPanelEl = ref(null);
|
|
174
|
+
var dayPanelEl = ref(null);
|
|
160
175
|
var componentProps = reactive({
|
|
161
176
|
allowedDates: props.allowedDates,
|
|
162
177
|
type: props.type,
|
|
@@ -224,6 +239,15 @@ export default defineComponent({
|
|
|
224
239
|
if (pack.value.lang === 'zh-CN') return chooseMonth.value.index + "-" + showDay + " " + weekName.slice(0, 3);
|
|
225
240
|
return weekName.slice(0, 3) + ", " + monthName.slice(0, 3) + " " + chooseDay.value;
|
|
226
241
|
});
|
|
242
|
+
var getPanelType = computed(() => {
|
|
243
|
+
if (isYearPanel.value) return 'year';
|
|
244
|
+
if (props.type === 'month' || isMonthPanel.value) return 'month';
|
|
245
|
+
if (props.type === 'date') return 'date';
|
|
246
|
+
return '';
|
|
247
|
+
});
|
|
248
|
+
var isUntouchable = computed(() => {
|
|
249
|
+
return !props.touchable || ['', 'year'].includes(getPanelType.value);
|
|
250
|
+
});
|
|
227
251
|
var slotProps = computed(() => {
|
|
228
252
|
var _chooseMonth$value, _chooseDay$value, _chooseYear$value, _chooseMonth$value$in, _chooseMonth$value2;
|
|
229
253
|
|
|
@@ -251,6 +275,39 @@ export default defineComponent({
|
|
|
251
275
|
}
|
|
252
276
|
};
|
|
253
277
|
|
|
278
|
+
var handleTouchstart = event => {
|
|
279
|
+
if (isUntouchable.value) return;
|
|
280
|
+
var {
|
|
281
|
+
clientX,
|
|
282
|
+
clientY
|
|
283
|
+
} = event.touches[0];
|
|
284
|
+
startX = clientX;
|
|
285
|
+
startY = clientY;
|
|
286
|
+
};
|
|
287
|
+
|
|
288
|
+
var getDirection = (x, y) => {
|
|
289
|
+
return x >= y && x > 20 ? 'x' : 'y';
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
var handleTouchmove = event => {
|
|
293
|
+
if (isUntouchable.value) return;
|
|
294
|
+
var {
|
|
295
|
+
clientX,
|
|
296
|
+
clientY
|
|
297
|
+
} = event.touches[0];
|
|
298
|
+
var x = clientX - startX;
|
|
299
|
+
var y = clientY - startY;
|
|
300
|
+
touchDirection = getDirection(Math.abs(x), Math.abs(y));
|
|
301
|
+
checkType = x > 0 ? 'prev' : 'next';
|
|
302
|
+
};
|
|
303
|
+
|
|
304
|
+
var handleTouchend = () => {
|
|
305
|
+
if (isUntouchable.value || touchDirection !== 'x') return;
|
|
306
|
+
var componentRef = getPanelType.value === 'month' ? monthPanelEl : dayPanelEl;
|
|
307
|
+
componentRef.value.forwardRef(checkType);
|
|
308
|
+
resetState();
|
|
309
|
+
};
|
|
310
|
+
|
|
254
311
|
var updateRange = (date, type) => {
|
|
255
312
|
var rangeDate = type === 'month' ? chooseRangeMonth : chooseRangeDay;
|
|
256
313
|
rangeDate.value = rangeDone.value ? [date, date] : [rangeDate.value[0], date];
|
|
@@ -416,6 +473,13 @@ export default defineComponent({
|
|
|
416
473
|
previewYear.value = yearValue;
|
|
417
474
|
};
|
|
418
475
|
|
|
476
|
+
var resetState = () => {
|
|
477
|
+
startY = 0;
|
|
478
|
+
startX = 0;
|
|
479
|
+
checkType = '';
|
|
480
|
+
touchDirection = undefined;
|
|
481
|
+
};
|
|
482
|
+
|
|
419
483
|
watch(() => props.modelValue, value => {
|
|
420
484
|
if (!checkValue() || invalidFormatDate(value) || !value) return;
|
|
421
485
|
|
|
@@ -432,7 +496,10 @@ export default defineComponent({
|
|
|
432
496
|
}, {
|
|
433
497
|
immediate: true
|
|
434
498
|
});
|
|
499
|
+
watch(getPanelType, resetState);
|
|
435
500
|
return {
|
|
501
|
+
monthPanelEl,
|
|
502
|
+
dayPanelEl,
|
|
436
503
|
reverse,
|
|
437
504
|
currentDate,
|
|
438
505
|
chooseMonth,
|
|
@@ -443,12 +510,16 @@ export default defineComponent({
|
|
|
443
510
|
isMonthPanel,
|
|
444
511
|
getMonthTitle,
|
|
445
512
|
getDateTitle,
|
|
513
|
+
getPanelType,
|
|
446
514
|
getChoose,
|
|
447
515
|
getPreview,
|
|
448
516
|
componentProps,
|
|
449
517
|
slotProps,
|
|
450
518
|
formatRange,
|
|
451
519
|
clickEl,
|
|
520
|
+
handleTouchstart,
|
|
521
|
+
handleTouchmove,
|
|
522
|
+
handleTouchend,
|
|
452
523
|
getChooseDay,
|
|
453
524
|
getChooseMonth,
|
|
454
525
|
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-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%);}
|
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,
|
|
@@ -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
|
|
@@ -308,6 +310,11 @@ export default defineComponent({
|
|
|
308
310
|
|
|
309
311
|
var chooseDay = day => {
|
|
310
312
|
emit('choose-day', day);
|
|
313
|
+
}; // expose for internal
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
var forwardRef = checkType => {
|
|
317
|
+
headerEl.value.checkDate(checkType);
|
|
311
318
|
};
|
|
312
319
|
|
|
313
320
|
onMounted(() => {
|
|
@@ -321,9 +328,11 @@ export default defineComponent({
|
|
|
321
328
|
return {
|
|
322
329
|
days,
|
|
323
330
|
reverse,
|
|
331
|
+
headerEl,
|
|
324
332
|
panelKey,
|
|
325
333
|
sortWeekList,
|
|
326
334
|
panelBtnDisabled,
|
|
335
|
+
forwardRef,
|
|
327
336
|
filterDay,
|
|
328
337
|
getDayAbbr,
|
|
329
338
|
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,
|
|
@@ -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
|
|
@@ -236,6 +238,11 @@ export default defineComponent({
|
|
|
236
238
|
reverse.value = checkType === 'prev';
|
|
237
239
|
panelKey.value += checkType === 'prev' ? -1 : 1;
|
|
238
240
|
emit('check-preview', 'year', checkType);
|
|
241
|
+
}; // expose for internal
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
var forwardRef = checkType => {
|
|
245
|
+
headerEl.value.checkDate(checkType);
|
|
239
246
|
};
|
|
240
247
|
|
|
241
248
|
watch(() => props.preview.previewYear, year => {
|
|
@@ -253,9 +260,11 @@ export default defineComponent({
|
|
|
253
260
|
return {
|
|
254
261
|
pack,
|
|
255
262
|
MONTH_LIST,
|
|
263
|
+
headerEl,
|
|
256
264
|
reverse,
|
|
257
265
|
panelKey,
|
|
258
266
|
panelBtnDisabled,
|
|
267
|
+
forwardRef,
|
|
259
268
|
buttonProps,
|
|
260
269
|
getMonthAbbr,
|
|
261
270
|
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;
|
|
@@ -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;
|