@varlet/ui 1.26.4 → 1.26.7
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/README.en-US.md +14 -15
- package/README.md +19 -18
- 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 +4 -1
- package/es/image-preview/imagePreview.css +1 -1
- package/es/image-preview/imagePreview.less +11 -1
- package/es/index-bar/IndexBar.js +8 -14
- 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 +201 -83
- package/highlight/attributes.json +8 -0
- package/highlight/tags.json +3 -1
- package/highlight/web-types.json +23 -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 +4 -1
- package/lib/image-preview/imagePreview.css +1 -1
- package/lib/image-preview/imagePreview.less +11 -1
- package/lib/index-bar/IndexBar.js +7 -13
- package/lib/style.css +1 -1
- package/lib/uploader/Uploader.js +14 -1
- package/lib/uploader/props.js +4 -0
- package/package.json +5 -5
- package/types/datePicker.d.ts +1 -0
- package/types/uploader.d.ts +1 -0
- package/umd/varlet.js +4 -4
|
@@ -527,6 +527,10 @@
|
|
|
527
527
|
"type": "boolean",
|
|
528
528
|
"description": "是否支持选择一个范围 默认值:false"
|
|
529
529
|
},
|
|
530
|
+
"var-date-picker/touchable": {
|
|
531
|
+
"type": "boolean",
|
|
532
|
+
"description": "是否支持拖动切换面板 默认值:true"
|
|
533
|
+
},
|
|
530
534
|
"var-dialog/v-model:show": {
|
|
531
535
|
"type": "boolean",
|
|
532
536
|
"description": "是否显示对话框 默认值:false"
|
|
@@ -1743,6 +1747,10 @@
|
|
|
1743
1747
|
"type": "boolean",
|
|
1744
1748
|
"description": "是否开启水波纹 默认值:true"
|
|
1745
1749
|
},
|
|
1750
|
+
"var-uploader/hide-list": {
|
|
1751
|
+
"type": "boolean",
|
|
1752
|
+
"description": "是否隐藏文件列表 默认值:false"
|
|
1753
|
+
},
|
|
1746
1754
|
"var-uploader/validate-trigger": {
|
|
1747
1755
|
"type": "ValidateTriggers[]",
|
|
1748
1756
|
"description": "触发验证的时机, 可选值为 `onChange` `onRemove` 默认值:['onChange', 'onRemove']"
|
package/highlight/tags.json
CHANGED
|
@@ -192,7 +192,8 @@
|
|
|
192
192
|
"show-current",
|
|
193
193
|
"readonly",
|
|
194
194
|
"multiple",
|
|
195
|
-
"range"
|
|
195
|
+
"range",
|
|
196
|
+
"touchable"
|
|
196
197
|
]
|
|
197
198
|
},
|
|
198
199
|
"var-dialog": {
|
|
@@ -678,6 +679,7 @@
|
|
|
678
679
|
"maxsize",
|
|
679
680
|
"previewed",
|
|
680
681
|
"ripple",
|
|
682
|
+
"hide-list",
|
|
681
683
|
"validate-trigger",
|
|
682
684
|
"rules"
|
|
683
685
|
]
|
package/highlight/web-types.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
|
|
3
3
|
"framework": "vue",
|
|
4
|
-
"version": "1.26.
|
|
4
|
+
"version": "1.26.6",
|
|
5
5
|
"name": "VARLET",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
@@ -1542,6 +1542,15 @@
|
|
|
1542
1542
|
"type": "boolean",
|
|
1543
1543
|
"kind": "expression"
|
|
1544
1544
|
}
|
|
1545
|
+
},
|
|
1546
|
+
{
|
|
1547
|
+
"name": "touchable",
|
|
1548
|
+
"description": "是否支持拖动切换面板",
|
|
1549
|
+
"default": "true",
|
|
1550
|
+
"value": {
|
|
1551
|
+
"type": "boolean",
|
|
1552
|
+
"kind": "expression"
|
|
1553
|
+
}
|
|
1545
1554
|
}
|
|
1546
1555
|
],
|
|
1547
1556
|
"events": [
|
|
@@ -2186,6 +2195,10 @@
|
|
|
2186
2195
|
{
|
|
2187
2196
|
"name": "close-icon",
|
|
2188
2197
|
"description": "关闭按钮"
|
|
2198
|
+
},
|
|
2199
|
+
{
|
|
2200
|
+
"name": "extra",
|
|
2201
|
+
"description": "额外插槽"
|
|
2189
2202
|
}
|
|
2190
2203
|
]
|
|
2191
2204
|
},
|
|
@@ -5159,6 +5172,15 @@
|
|
|
5159
5172
|
"kind": "expression"
|
|
5160
5173
|
}
|
|
5161
5174
|
},
|
|
5175
|
+
{
|
|
5176
|
+
"name": "hide-list",
|
|
5177
|
+
"description": "是否隐藏文件列表",
|
|
5178
|
+
"default": "false",
|
|
5179
|
+
"value": {
|
|
5180
|
+
"type": "boolean",
|
|
5181
|
+
"kind": "expression"
|
|
5182
|
+
}
|
|
5183
|
+
},
|
|
5162
5184
|
{
|
|
5163
5185
|
"name": "validate-trigger",
|
|
5164
5186
|
"description": "触发验证的时机, 可选值为 `onChange` `onRemove`",
|
|
@@ -18,16 +18,12 @@ var _props = require("./props");
|
|
|
18
18
|
|
|
19
19
|
var _shared = require("../utils/shared");
|
|
20
20
|
|
|
21
|
+
var _elements = require("../utils/elements");
|
|
22
|
+
|
|
21
23
|
var _locale = require("../locale");
|
|
22
24
|
|
|
23
25
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
24
26
|
|
|
25
|
-
var _withScopeId = n => ((0, _vue.pushScopeId)(""), n = n(), (0, _vue.popScopeId)(), n);
|
|
26
|
-
|
|
27
|
-
var _hoisted_1 = {
|
|
28
|
-
class: "var-date-picker-body"
|
|
29
|
-
};
|
|
30
|
-
|
|
31
27
|
function render(_ctx, _cache) {
|
|
32
28
|
var _component_year_picker_panel = (0, _vue.resolveComponent)("year-picker-panel");
|
|
33
29
|
|
|
@@ -105,18 +101,30 @@ function render(_ctx, _cache) {
|
|
|
105
101
|
/* CLASS */
|
|
106
102
|
)], 4
|
|
107
103
|
/* STYLE */
|
|
108
|
-
), (0, _vue.createElementVNode)("div",
|
|
104
|
+
), (0, _vue.createElementVNode)("div", {
|
|
105
|
+
class: "var-date-picker-body",
|
|
106
|
+
onTouchstart: _cache[2] || (_cache[2] = function () {
|
|
107
|
+
return _ctx.handleTouchstart && _ctx.handleTouchstart(...arguments);
|
|
108
|
+
}),
|
|
109
|
+
onTouchmove: _cache[3] || (_cache[3] = function () {
|
|
110
|
+
return _ctx.handleTouchmove && _ctx.handleTouchmove(...arguments);
|
|
111
|
+
}),
|
|
112
|
+
onTouchend: _cache[4] || (_cache[4] = function () {
|
|
113
|
+
return _ctx.handleTouchend && _ctx.handleTouchend(...arguments);
|
|
114
|
+
})
|
|
115
|
+
}, [(0, _vue.createVNode)(_vue.Transition, {
|
|
109
116
|
name: "var-date-picker-panel-fade"
|
|
110
117
|
}, {
|
|
111
|
-
default: (0, _vue.withCtx)(() => [_ctx.
|
|
118
|
+
default: (0, _vue.withCtx)(() => [_ctx.getPanelType === 'year' ? ((0, _vue.openBlock)(), (0, _vue.createBlock)(_component_year_picker_panel, {
|
|
112
119
|
key: 0,
|
|
113
120
|
"component-props": _ctx.componentProps,
|
|
114
121
|
preview: _ctx.previewYear,
|
|
115
122
|
onChooseYear: _ctx.getChooseYear
|
|
116
123
|
}, null, 8
|
|
117
124
|
/* PROPS */
|
|
118
|
-
, ["component-props", "preview", "onChooseYear"])) :
|
|
125
|
+
, ["component-props", "preview", "onChooseYear"])) : _ctx.getPanelType === 'month' ? ((0, _vue.openBlock)(), (0, _vue.createBlock)(_component_month_picker_panel, {
|
|
119
126
|
key: 1,
|
|
127
|
+
ref: "monthPanelEl",
|
|
120
128
|
current: _ctx.currentDate,
|
|
121
129
|
choose: _ctx.getChoose,
|
|
122
130
|
preview: _ctx.getPreview,
|
|
@@ -126,8 +134,9 @@ function render(_ctx, _cache) {
|
|
|
126
134
|
onCheckPreview: _ctx.checkPreview
|
|
127
135
|
}, null, 8
|
|
128
136
|
/* PROPS */
|
|
129
|
-
, ["current", "choose", "preview", "click-year", "component-props", "onChooseMonth", "onCheckPreview"])) :
|
|
137
|
+
, ["current", "choose", "preview", "click-year", "component-props", "onChooseMonth", "onCheckPreview"])) : _ctx.getPanelType === 'date' ? ((0, _vue.openBlock)(), (0, _vue.createBlock)(_component_day_picker_panel, {
|
|
130
138
|
key: 2,
|
|
139
|
+
ref: "dayPanelEl",
|
|
131
140
|
current: _ctx.currentDate,
|
|
132
141
|
choose: _ctx.getChoose,
|
|
133
142
|
preview: _ctx.getPreview,
|
|
@@ -141,7 +150,9 @@ function render(_ctx, _cache) {
|
|
|
141
150
|
_: 1
|
|
142
151
|
/* STABLE */
|
|
143
152
|
|
|
144
|
-
})]
|
|
153
|
+
})], 32
|
|
154
|
+
/* HYDRATE_EVENTS */
|
|
155
|
+
)], 2
|
|
145
156
|
/* CLASS */
|
|
146
157
|
);
|
|
147
158
|
}
|
|
@@ -157,6 +168,10 @@ var _default = (0, _vue.defineComponent)({
|
|
|
157
168
|
props: _props.props,
|
|
158
169
|
|
|
159
170
|
setup(props) {
|
|
171
|
+
var startX = 0;
|
|
172
|
+
var startY = 0;
|
|
173
|
+
var checkType = '';
|
|
174
|
+
var touchDirection;
|
|
160
175
|
var currentDate = (0, _dayjs.default)().format('YYYY-MM-D');
|
|
161
176
|
var [currentYear, currentMonth] = currentDate.split('-');
|
|
162
177
|
|
|
@@ -175,6 +190,8 @@ var _default = (0, _vue.defineComponent)({
|
|
|
175
190
|
var chooseDays = (0, _vue.ref)([]);
|
|
176
191
|
var chooseRangeMonth = (0, _vue.ref)([]);
|
|
177
192
|
var chooseRangeDay = (0, _vue.ref)([]);
|
|
193
|
+
var monthPanelEl = (0, _vue.ref)(null);
|
|
194
|
+
var dayPanelEl = (0, _vue.ref)(null);
|
|
178
195
|
var componentProps = (0, _vue.reactive)({
|
|
179
196
|
allowedDates: props.allowedDates,
|
|
180
197
|
type: props.type,
|
|
@@ -244,6 +261,15 @@ var _default = (0, _vue.defineComponent)({
|
|
|
244
261
|
if (_locale.pack.value.lang === 'zh-CN') return chooseMonth.value.index + "-" + showDay + " " + weekName.slice(0, 3);
|
|
245
262
|
return weekName.slice(0, 3) + ", " + monthName.slice(0, 3) + " " + chooseDay.value;
|
|
246
263
|
});
|
|
264
|
+
var getPanelType = (0, _vue.computed)(() => {
|
|
265
|
+
if (isYearPanel.value) return 'year';
|
|
266
|
+
if (props.type === 'month' || isMonthPanel.value) return 'month';
|
|
267
|
+
if (props.type === 'date') return 'date';
|
|
268
|
+
return '';
|
|
269
|
+
});
|
|
270
|
+
var isUntouchable = (0, _vue.computed)(() => {
|
|
271
|
+
return !props.touchable || ['', 'year'].includes(getPanelType.value);
|
|
272
|
+
});
|
|
247
273
|
var slotProps = (0, _vue.computed)(() => {
|
|
248
274
|
var _chooseMonth$value, _chooseDay$value, _chooseYear$value, _chooseMonth$value$in, _chooseMonth$value2;
|
|
249
275
|
|
|
@@ -271,6 +297,41 @@ var _default = (0, _vue.defineComponent)({
|
|
|
271
297
|
}
|
|
272
298
|
};
|
|
273
299
|
|
|
300
|
+
var handleTouchstart = event => {
|
|
301
|
+
if (isUntouchable.value) return;
|
|
302
|
+
var {
|
|
303
|
+
clientX,
|
|
304
|
+
clientY
|
|
305
|
+
} = event.touches[0];
|
|
306
|
+
startX = clientX;
|
|
307
|
+
startY = clientY;
|
|
308
|
+
};
|
|
309
|
+
|
|
310
|
+
var getDirection = (x, y) => {
|
|
311
|
+
return x >= y && x > 20 ? 'x' : 'y';
|
|
312
|
+
};
|
|
313
|
+
|
|
314
|
+
var handleTouchmove = event => {
|
|
315
|
+
if (isUntouchable.value) return;
|
|
316
|
+
var {
|
|
317
|
+
clientX,
|
|
318
|
+
clientY
|
|
319
|
+
} = event.touches[0];
|
|
320
|
+
var x = clientX - startX;
|
|
321
|
+
var y = clientY - startY;
|
|
322
|
+
touchDirection = getDirection(Math.abs(x), Math.abs(y));
|
|
323
|
+
checkType = x > 0 ? 'prev' : 'next';
|
|
324
|
+
};
|
|
325
|
+
|
|
326
|
+
var handleTouchend = () => {
|
|
327
|
+
if (isUntouchable.value || touchDirection !== 'x') return;
|
|
328
|
+
var componentRef = getPanelType.value === 'month' ? monthPanelEl : dayPanelEl;
|
|
329
|
+
(0, _elements.nextTickFrame)(() => {
|
|
330
|
+
componentRef.value.forwardRef(checkType);
|
|
331
|
+
resetState();
|
|
332
|
+
});
|
|
333
|
+
};
|
|
334
|
+
|
|
274
335
|
var updateRange = (date, type) => {
|
|
275
336
|
var rangeDate = type === 'month' ? chooseRangeMonth : chooseRangeDay;
|
|
276
337
|
rangeDate.value = rangeDone.value ? [date, date] : [rangeDate.value[0], date];
|
|
@@ -438,6 +499,13 @@ var _default = (0, _vue.defineComponent)({
|
|
|
438
499
|
previewYear.value = yearValue;
|
|
439
500
|
};
|
|
440
501
|
|
|
502
|
+
var resetState = () => {
|
|
503
|
+
startY = 0;
|
|
504
|
+
startX = 0;
|
|
505
|
+
checkType = '';
|
|
506
|
+
touchDirection = undefined;
|
|
507
|
+
};
|
|
508
|
+
|
|
441
509
|
(0, _vue.watch)(() => props.modelValue, value => {
|
|
442
510
|
if (!checkValue() || invalidFormatDate(value) || !value) return;
|
|
443
511
|
|
|
@@ -454,7 +522,10 @@ var _default = (0, _vue.defineComponent)({
|
|
|
454
522
|
}, {
|
|
455
523
|
immediate: true
|
|
456
524
|
});
|
|
525
|
+
(0, _vue.watch)(getPanelType, resetState);
|
|
457
526
|
return {
|
|
527
|
+
monthPanelEl,
|
|
528
|
+
dayPanelEl,
|
|
458
529
|
reverse,
|
|
459
530
|
currentDate,
|
|
460
531
|
chooseMonth,
|
|
@@ -465,12 +536,16 @@ var _default = (0, _vue.defineComponent)({
|
|
|
465
536
|
isMonthPanel,
|
|
466
537
|
getMonthTitle,
|
|
467
538
|
getDateTitle,
|
|
539
|
+
getPanelType,
|
|
468
540
|
getChoose,
|
|
469
541
|
getPreview,
|
|
470
542
|
componentProps,
|
|
471
543
|
slotProps,
|
|
472
544
|
formatRange,
|
|
473
545
|
clickEl,
|
|
546
|
+
handleTouchstart,
|
|
547
|
+
handleTouchmove,
|
|
548
|
+
handleTouchend,
|
|
474
549
|
getChooseDay,
|
|
475
550
|
getChooseMonth,
|
|
476
551
|
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/lib/date-picker/props.js
CHANGED
|
@@ -51,6 +51,7 @@ function render(_ctx, _cache) {
|
|
|
51
51
|
var _component_var_button = (0, _vue.resolveComponent)("var-button");
|
|
52
52
|
|
|
53
53
|
return (0, _vue.openBlock)(), (0, _vue.createElementBlock)("div", _hoisted_1, [(0, _vue.createElementVNode)("div", _hoisted_2, [(0, _vue.createVNode)(_component_panel_header, {
|
|
54
|
+
ref: "headerEl",
|
|
54
55
|
type: "day",
|
|
55
56
|
date: _ctx.preview,
|
|
56
57
|
disabled: _ctx.panelBtnDisabled,
|
|
@@ -83,7 +84,7 @@ function render(_ctx, _cache) {
|
|
|
83
84
|
round: "",
|
|
84
85
|
ripple: false
|
|
85
86
|
}, _extends({}, _ctx.buttonProps(day)), {
|
|
86
|
-
onClick:
|
|
87
|
+
onClick: event => _ctx.chooseDay(day, event)
|
|
87
88
|
}), {
|
|
88
89
|
default: (0, _vue.withCtx)(() => [(0, _vue.createTextVNode)((0, _vue.toDisplayString)(_ctx.filterDay(day)), 1
|
|
89
90
|
/* TEXT */
|
|
@@ -144,6 +145,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
144
145
|
var days = (0, _vue.ref)([]);
|
|
145
146
|
var reverse = (0, _vue.ref)(false);
|
|
146
147
|
var panelKey = (0, _vue.ref)(0);
|
|
148
|
+
var headerEl = (0, _vue.ref)(null);
|
|
147
149
|
var panelBtnDisabled = (0, _vue.reactive)({
|
|
148
150
|
left: false,
|
|
149
151
|
right: false
|
|
@@ -312,11 +314,13 @@ var _default = (0, _vue.defineComponent)({
|
|
|
312
314
|
|
|
313
315
|
var isCover = textColorOrCover().startsWith('var-date-picker');
|
|
314
316
|
return {
|
|
315
|
-
disabled,
|
|
316
317
|
text: computeText(),
|
|
317
318
|
outline: computeOutline(),
|
|
318
319
|
textColor: isCover ? '' : textColorOrCover(),
|
|
319
|
-
'var-date-picker-color-cover': isCover
|
|
320
|
+
'var-date-picker-color-cover': isCover,
|
|
321
|
+
class: {
|
|
322
|
+
'var-day-picker__button-disabled': disabled
|
|
323
|
+
}
|
|
320
324
|
};
|
|
321
325
|
};
|
|
322
326
|
|
|
@@ -326,8 +330,15 @@ var _default = (0, _vue.defineComponent)({
|
|
|
326
330
|
emit('check-preview', 'month', checkType);
|
|
327
331
|
};
|
|
328
332
|
|
|
329
|
-
var chooseDay = day => {
|
|
333
|
+
var chooseDay = (day, event) => {
|
|
334
|
+
var buttonEl = event.currentTarget;
|
|
335
|
+
if (buttonEl.classList.contains('var-day-picker__button-disabled')) return;
|
|
330
336
|
emit('choose-day', day);
|
|
337
|
+
}; // expose for internal
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
var forwardRef = checkType => {
|
|
341
|
+
headerEl.value.checkDate(checkType);
|
|
331
342
|
};
|
|
332
343
|
|
|
333
344
|
(0, _vue.onMounted)(() => {
|
|
@@ -341,9 +352,11 @@ var _default = (0, _vue.defineComponent)({
|
|
|
341
352
|
return {
|
|
342
353
|
days,
|
|
343
354
|
reverse,
|
|
355
|
+
headerEl,
|
|
344
356
|
panelKey,
|
|
345
357
|
sortWeekList,
|
|
346
358
|
panelBtnDisabled,
|
|
359
|
+
forwardRef,
|
|
347
360
|
filterDay,
|
|
348
361
|
getDayAbbr,
|
|
349
362
|
checkDate,
|
|
@@ -45,6 +45,7 @@ function render(_ctx, _cache) {
|
|
|
45
45
|
var _component_var_button = (0, _vue.resolveComponent)("var-button");
|
|
46
46
|
|
|
47
47
|
return (0, _vue.openBlock)(), (0, _vue.createElementBlock)("div", _hoisted_1, [(0, _vue.createElementVNode)("div", _hoisted_2, [(0, _vue.createVNode)(_component_panel_header, {
|
|
48
|
+
ref: "headerEl",
|
|
48
49
|
type: "month",
|
|
49
50
|
date: _ctx.preview,
|
|
50
51
|
disabled: _ctx.panelBtnDisabled,
|
|
@@ -66,7 +67,7 @@ function render(_ctx, _cache) {
|
|
|
66
67
|
"var-month-picker-cover": "",
|
|
67
68
|
ripple: false
|
|
68
69
|
}, _extends({}, _ctx.buttonProps(month.index)), {
|
|
69
|
-
onClick:
|
|
70
|
+
onClick: event => _ctx.chooseMonth(month, event)
|
|
70
71
|
}), {
|
|
71
72
|
default: (0, _vue.withCtx)(() => [(0, _vue.createTextVNode)((0, _vue.toDisplayString)(_ctx.getMonthAbbr(month.index)), 1
|
|
72
73
|
/* TEXT */
|
|
@@ -126,6 +127,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
126
127
|
var [currentYear, currentMonth] = props.current.split('-');
|
|
127
128
|
var reverse = (0, _vue.ref)(false);
|
|
128
129
|
var panelKey = (0, _vue.ref)(0);
|
|
130
|
+
var headerEl = (0, _vue.ref)(null);
|
|
129
131
|
var panelBtnDisabled = (0, _vue.reactive)({
|
|
130
132
|
left: false,
|
|
131
133
|
right: false
|
|
@@ -238,16 +240,20 @@ var _default = (0, _vue.defineComponent)({
|
|
|
238
240
|
|
|
239
241
|
var isCover = textColorOrCover().startsWith('var-date-picker');
|
|
240
242
|
return {
|
|
241
|
-
disabled,
|
|
242
243
|
outline: computeOutline(),
|
|
243
244
|
text: computeText(),
|
|
244
245
|
color: !computeText() ? color : '',
|
|
245
246
|
textColor: isCover ? '' : textColorOrCover(),
|
|
246
|
-
'var-date-picker-color-cover': isCover
|
|
247
|
+
'var-date-picker-color-cover': isCover,
|
|
248
|
+
class: {
|
|
249
|
+
'var-month-picker__button-disabled': disabled
|
|
250
|
+
}
|
|
247
251
|
};
|
|
248
252
|
};
|
|
249
253
|
|
|
250
|
-
var chooseMonth = month => {
|
|
254
|
+
var chooseMonth = (month, event) => {
|
|
255
|
+
var buttonEl = event.currentTarget;
|
|
256
|
+
if (buttonEl.classList.contains('var-month-picker__button-disabled')) return;
|
|
251
257
|
emit('choose-month', month);
|
|
252
258
|
};
|
|
253
259
|
|
|
@@ -255,6 +261,11 @@ var _default = (0, _vue.defineComponent)({
|
|
|
255
261
|
reverse.value = checkType === 'prev';
|
|
256
262
|
panelKey.value += checkType === 'prev' ? -1 : 1;
|
|
257
263
|
emit('check-preview', 'year', checkType);
|
|
264
|
+
}; // expose for internal
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
var forwardRef = checkType => {
|
|
268
|
+
headerEl.value.checkDate(checkType);
|
|
258
269
|
};
|
|
259
270
|
|
|
260
271
|
(0, _vue.watch)(() => props.preview.previewYear, year => {
|
|
@@ -272,9 +283,11 @@ var _default = (0, _vue.defineComponent)({
|
|
|
272
283
|
return {
|
|
273
284
|
pack: _locale.pack,
|
|
274
285
|
MONTH_LIST: _props.MONTH_LIST,
|
|
286
|
+
headerEl,
|
|
275
287
|
reverse,
|
|
276
288
|
panelKey,
|
|
277
289
|
panelBtnDisabled,
|
|
290
|
+
forwardRef,
|
|
278
291
|
buttonProps,
|
|
279
292
|
getMonthAbbr,
|
|
280
293
|
chooseMonth,
|
|
@@ -126,6 +126,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
126
126
|
});
|
|
127
127
|
|
|
128
128
|
var checkDate = checkType => {
|
|
129
|
+
if (checkType === 'prev' && props.disabled.left || checkType === 'next' && props.disabled.right) return;
|
|
129
130
|
emit('check-date', checkType);
|
|
130
131
|
reverse.value = checkType === 'prev';
|
|
131
132
|
forwardOrBackNum.value += checkType === 'prev' ? -1 : 1;
|
|
@@ -32,6 +32,9 @@ var _hoisted_2 = {
|
|
|
32
32
|
key: 0,
|
|
33
33
|
class: "var-image-preview__indicators"
|
|
34
34
|
};
|
|
35
|
+
var _hoisted_3 = {
|
|
36
|
+
class: "var-image-preview__extra"
|
|
37
|
+
};
|
|
35
38
|
|
|
36
39
|
function render(_ctx, _cache) {
|
|
37
40
|
var _component_var_swipe_item = (0, _vue.resolveComponent)("var-swipe-item");
|
|
@@ -131,7 +134,7 @@ function render(_ctx, _cache) {
|
|
|
131
134
|
onClick: _ctx.close
|
|
132
135
|
}, null, 8
|
|
133
136
|
/* PROPS */
|
|
134
|
-
, ["onClick"])) : (0, _vue.createCommentVNode)("v-if", true)])]),
|
|
137
|
+
, ["onClick"])) : (0, _vue.createCommentVNode)("v-if", true)]), (0, _vue.createElementVNode)("div", _hoisted_3, [(0, _vue.renderSlot)(_ctx.$slots, "extra")])]),
|
|
135
138
|
_: 3
|
|
136
139
|
/* FORWARDED */
|
|
137
140
|
|
|
@@ -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;
|
|
@@ -66,7 +66,6 @@ var _default = (0, _vue.defineComponent)({
|
|
|
66
66
|
indexAnchors,
|
|
67
67
|
bindIndexAnchors
|
|
68
68
|
} = (0, _provide.useIndexAnchors)();
|
|
69
|
-
var scrollEl = (0, _vue.ref)(null);
|
|
70
69
|
var clickedName = (0, _vue.ref)('');
|
|
71
70
|
var scroller = (0, _vue.ref)(null);
|
|
72
71
|
var barEl = (0, _vue.ref)(null);
|
|
@@ -93,10 +92,8 @@ var _default = (0, _vue.defineComponent)({
|
|
|
93
92
|
};
|
|
94
93
|
|
|
95
94
|
var handleScroll = () => {
|
|
96
|
-
var
|
|
97
|
-
|
|
98
|
-
scrollHeight
|
|
99
|
-
} = scrollEl.value;
|
|
95
|
+
var scrollTop = (0, _elements.getScrollTop)(scroller.value);
|
|
96
|
+
var scrollHeight = scroller.value === window ? document.body.scrollHeight : scroller.value.scrollHeight;
|
|
100
97
|
var {
|
|
101
98
|
offsetTop
|
|
102
99
|
} = barEl.value;
|
|
@@ -131,10 +128,10 @@ var _default = (0, _vue.defineComponent)({
|
|
|
131
128
|
});
|
|
132
129
|
if (!indexAnchor) return;
|
|
133
130
|
var top = indexAnchor.ownTop.value - stickyOffsetTop.value + offsetTop;
|
|
134
|
-
var left = (0, _elements.getScrollLeft)(
|
|
131
|
+
var left = (0, _elements.getScrollLeft)(scroller.value);
|
|
135
132
|
clickedName.value = anchorName;
|
|
136
133
|
emitEvent(anchorName);
|
|
137
|
-
yield (0, _elements.scrollTo)(
|
|
134
|
+
yield (0, _elements.scrollTo)(scroller.value, {
|
|
138
135
|
left,
|
|
139
136
|
top,
|
|
140
137
|
animation: _shared.easeInOutCubic,
|
|
@@ -167,17 +164,14 @@ var _default = (0, _vue.defineComponent)({
|
|
|
167
164
|
});
|
|
168
165
|
}));
|
|
169
166
|
(0, _vue.onMounted)( /*#__PURE__*/_asyncToGenerator(function* () {
|
|
170
|
-
var _scroller$value;
|
|
171
|
-
|
|
172
167
|
yield (0, _elements.doubleRaf)();
|
|
173
168
|
scroller.value = (0, _elements.getParentScroller)(barEl.value);
|
|
174
|
-
|
|
175
|
-
(_scroller$value = scroller.value) == null ? void 0 : _scroller$value.addEventListener('scroll', handleScroll);
|
|
169
|
+
scroller.value.addEventListener('scroll', handleScroll);
|
|
176
170
|
}));
|
|
177
171
|
(0, _vue.onBeforeUnmount)(() => {
|
|
178
|
-
var _scroller$
|
|
172
|
+
var _scroller$value;
|
|
179
173
|
|
|
180
|
-
(_scroller$
|
|
174
|
+
(_scroller$value = scroller.value) == null ? void 0 : _scroller$value.removeEventListener('scroll', handleScroll);
|
|
181
175
|
});
|
|
182
176
|
return {
|
|
183
177
|
barEl,
|