@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
package/README.en-US.md
CHANGED
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
</p>
|
|
10
10
|
<p>
|
|
11
11
|
<img src="https://img.shields.io/npm/v/@varlet/ui?style=flat-square" alt="version">
|
|
12
|
-
<img src="https://img.shields.io/github/stars/
|
|
12
|
+
<img src="https://img.shields.io/github/stars/varletjs/varlet" alt="stars">
|
|
13
13
|
<img src="https://img.shields.io/badge/vue-v3.2.0%2B-%23407fbc" alt="vue">
|
|
14
14
|
<img src="https://img.shields.io/npm/l/@varlet/ui.svg" alt="licence">
|
|
15
|
-
<img src="https://img.shields.io/codecov/c/github/
|
|
15
|
+
<img src="https://img.shields.io/codecov/c/github/varletjs/varlet" alt="coverage">
|
|
16
16
|
<img src="https://img.badgesize.io/https://unpkg.com/@varlet/ui/umd/varlet.js?compression=gzip&label=gzip" alt="gzip" />
|
|
17
17
|
<img src="https://github.com/varletjs/varlet/workflows/CI/badge.svg" alt="ci">
|
|
18
18
|
</p>
|
|
@@ -26,17 +26,17 @@ Varlet is a Material design mobile component library developed based on `Vue3`,
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
### Features
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
29
|
+
- 🚀 Provide 50 high quality general purpose components
|
|
30
|
+
- 🚀 Components are very lightweight
|
|
31
|
+
- 💪 Developed by Chinese, complete Chinese and English documentation and logistics support
|
|
32
|
+
- 🛠️ Support on-demand introduction
|
|
33
|
+
- 🛠️ Support theme customization
|
|
34
|
+
- 🌍 Support internationalization
|
|
35
|
+
- 💡 Support WebStorm, VS Code component syntax highlighting
|
|
36
|
+
- 💪 Support the SSR
|
|
37
|
+
- 💡 Support the Typescript
|
|
38
|
+
- 💪 Make sure more than 90 percent unit test coverage, providing stability assurance
|
|
39
|
+
- 🛠️ Support dark mode
|
|
40
40
|
|
|
41
41
|
### Install
|
|
42
42
|
|
|
@@ -56,7 +56,6 @@ Varlet is a Material design mobile component library developed based on `Vue3`,
|
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
### Webpack / Vite
|
|
59
|
-
|
|
60
59
|
```shell
|
|
61
60
|
# Install with npm or yarn or pnpm
|
|
62
61
|
|
|
@@ -83,4 +82,4 @@ createApp(App).use(Varlet).mount('#app')
|
|
|
83
82
|
|
|
84
83
|
<a href="https://github.com/varletjs/varlet/graphs/contributors">
|
|
85
84
|
<img src="https://contrib.rocks/image?repo=haoziqaq/varlet" />
|
|
86
|
-
</a>
|
|
85
|
+
</a>
|
package/README.md
CHANGED
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
<img src="https://varlet.gitee.io/varlet-ui/logo.svg" width="150">
|
|
4
4
|
</a>
|
|
5
5
|
<h1>VARLET</h1>
|
|
6
|
-
<p>基于Vue3的Material design风格移动端组件库</p>
|
|
6
|
+
<p>基于 Vue3 的 Material design 风格移动端组件库</p>
|
|
7
7
|
<p>
|
|
8
8
|
<a href="https://varlet.gitee.io/varlet-ui/">开发文档</a> | <a href="https://github.com/varletjs/varlet/blob/dev/README.en-US.md">English</a>
|
|
9
9
|
</p>
|
|
10
10
|
<p>
|
|
11
11
|
<img src="https://img.shields.io/npm/v/@varlet/ui?style=flat-square" alt="version">
|
|
12
|
-
<img src="https://img.shields.io/github/stars/
|
|
12
|
+
<img src="https://img.shields.io/github/stars/varletjs/varlet" alt="stars">
|
|
13
13
|
<img src="https://img.shields.io/badge/vue-v3.2.0%2B-%23407fbc" alt="vue">
|
|
14
14
|
<img src="https://img.shields.io/npm/l/@varlet/ui.svg" alt="licence">
|
|
15
|
-
<img src="https://img.shields.io/codecov/c/github/
|
|
15
|
+
<img src="https://img.shields.io/codecov/c/github/varletjs/varlet" alt="coverage">
|
|
16
16
|
<img src="https://img.badgesize.io/https://unpkg.com/@varlet/ui/umd/varlet.js?compression=gzip&label=gzip" alt="gzip" />
|
|
17
17
|
<img src="https://github.com/varletjs/varlet/workflows/CI/badge.svg" alt="ci">
|
|
18
18
|
</p>
|
|
@@ -22,25 +22,25 @@
|
|
|
22
22
|
|
|
23
23
|
### 介绍
|
|
24
24
|
|
|
25
|
-
Varlet
|
|
25
|
+
Varlet 是一个基于 `Vue3` 开发的 Material 风格移动端组件库,全面拥抱 `Vue3` 生态,由社区建立起来的组件库团队进行维护。
|
|
26
26
|
|
|
27
27
|
### 特性
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
- 🚀 提供50个高质量通用组件
|
|
29
|
+
- 🚀 组件十分轻量
|
|
30
|
+
- 💪 由国人开发,完善的中英文文档和后勤保障
|
|
31
|
+
- 🛠️ 支持按需引入
|
|
32
|
+
- 🛠️ 支持主题定制
|
|
33
|
+
- 🌍 支持国际化
|
|
34
|
+
- 💡 支持 webstorm,vscode 组件属性高亮
|
|
35
|
+
- 💪 支持 SSR
|
|
36
|
+
- 💡 支持 Typescript
|
|
37
|
+
- 💪 确保90%以上单元测试覆盖率,提供稳定性保证
|
|
38
|
+
- 🛠️ 支持暗黑模式
|
|
39
39
|
|
|
40
40
|
### 安装
|
|
41
41
|
|
|
42
42
|
### CDN
|
|
43
|
-
`varlet.js
|
|
43
|
+
`varlet.js` 包含组件库的所有样式和逻辑,引入即可。
|
|
44
44
|
|
|
45
45
|
```html
|
|
46
46
|
<div id="app"></div>
|
|
@@ -56,7 +56,7 @@ Varlet是一个基于`Vue3`开发的Material风格移动端组件库,全面拥
|
|
|
56
56
|
|
|
57
57
|
### Webpack / Vite
|
|
58
58
|
```shell
|
|
59
|
-
# 通过npm或yarn或pnpm安装
|
|
59
|
+
# 通过 npm 或 yarn 或 pnpm 安装
|
|
60
60
|
|
|
61
61
|
# npm
|
|
62
62
|
npm i @varlet/ui -S
|
|
@@ -80,5 +80,6 @@ createApp(App).use(Varlet).mount('#app')
|
|
|
80
80
|
### Contributors
|
|
81
81
|
|
|
82
82
|
<a href="https://github.com/varletjs/varlet/graphs/contributors">
|
|
83
|
-
<img src="https://contrib.rocks/image?repo=
|
|
83
|
+
<img src="https://contrib.rocks/image?repo=varletjs/varlet" />
|
|
84
84
|
</a>
|
|
85
|
+
|
|
@@ -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;
|
|
@@ -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;
|