@vuetify/nightly 3.0.0-next-20220112.0 → 3.0.0-next-20220128.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +96 -8
- package/dist/json/importMap.json +8 -0
- package/dist/json/tags.json +36 -4
- package/dist/json/web-types.json +354 -25
- package/dist/vuetify.css +116 -35
- package/dist/vuetify.d.ts +226 -65
- package/dist/vuetify.esm.js +745 -403
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +745 -403
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs +2 -2
- package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
- package/lib/components/VHover/VHover.mjs +3 -3
- package/lib/components/VHover/VHover.mjs.map +1 -1
- package/lib/components/VIcon/VIcon.mjs +8 -3
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VList/VList.css +4 -2
- package/lib/components/VList/VList.mjs +37 -36
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VList.sass +5 -2
- package/lib/components/VList/VListChildren.mjs +25 -15
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +19 -41
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +9 -5
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListSubheader.mjs +20 -12
- package/lib/components/VList/VListSubheader.mjs.map +1 -1
- package/lib/components/VList/list.mjs +31 -0
- package/lib/components/VList/list.mjs.map +1 -0
- package/lib/components/VPagination/VPagination.mjs +3 -0
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs +40 -28
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSlider.css +2 -0
- package/lib/components/VSlider/VSlider.mjs +4 -3
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/VSlider.sass +2 -0
- package/lib/components/VSlider/VSliderThumb.css +8 -2
- package/lib/components/VSlider/VSliderThumb.mjs +4 -3
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VSlider/VSliderThumb.sass +7 -2
- package/lib/components/VSlider/_variables.scss +2 -1
- package/lib/components/VSlider/slider.mjs +8 -6
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VWindow/VWindow.css +70 -0
- package/lib/components/VWindow/VWindow.mjs +158 -233
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindow.sass +26 -50
- package/lib/components/VWindow/VWindowItem.mjs +72 -98
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/_variables.scss +2 -3
- package/lib/components/VWindow/index.mjs +2 -9
- package/lib/components/VWindow/index.mjs.map +1 -1
- package/lib/components/index.d.ts +222 -64
- package/lib/components/index.mjs +1 -1
- package/lib/components/index.mjs.map +1 -1
- package/lib/composables/group.mjs +1 -6
- package/lib/composables/group.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +1 -1
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/openStrategies.mjs +1 -1
- package/lib/composables/nested/openStrategies.mjs.map +1 -1
- package/lib/directives/touch/index.mjs +6 -3
- package/lib/directives/touch/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/index.d.ts +2 -0
- package/package.json +2 -1
package/dist/vuetify.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.0.0-next-
|
|
2
|
+
* Vuetify v3.0.0-next-20220128.0
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -2611,12 +2611,7 @@
|
|
|
2611
2611
|
next: () => step(1),
|
|
2612
2612
|
isSelected: id => selected.value.includes(id),
|
|
2613
2613
|
selectedClass: vue.computed(() => props.selectedClass),
|
|
2614
|
-
items: vue.computed(() => items
|
|
2615
|
-
let {
|
|
2616
|
-
id
|
|
2617
|
-
} = _ref;
|
|
2618
|
-
return id;
|
|
2619
|
-
}))
|
|
2614
|
+
items: vue.computed(() => items)
|
|
2620
2615
|
};
|
|
2621
2616
|
vue.provide(injectKey, state);
|
|
2622
2617
|
return state;
|
|
@@ -2857,7 +2852,8 @@
|
|
|
2857
2852
|
...makeSizeProps(),
|
|
2858
2853
|
...makeTagProps({
|
|
2859
2854
|
tag: 'i'
|
|
2860
|
-
})
|
|
2855
|
+
}),
|
|
2856
|
+
...makeThemeProps()
|
|
2861
2857
|
},
|
|
2862
2858
|
|
|
2863
2859
|
setup(props, _ref) {
|
|
@@ -2876,6 +2872,9 @@
|
|
|
2876
2872
|
});
|
|
2877
2873
|
}
|
|
2878
2874
|
|
|
2875
|
+
const {
|
|
2876
|
+
themeClasses
|
|
2877
|
+
} = provideTheme(props);
|
|
2879
2878
|
const {
|
|
2880
2879
|
iconData
|
|
2881
2880
|
} = useIcon(slotIcon || props);
|
|
@@ -2890,7 +2889,7 @@
|
|
|
2890
2889
|
return vue.createVNode(iconData.value.component, {
|
|
2891
2890
|
"tag": props.tag,
|
|
2892
2891
|
"icon": iconData.value.icon,
|
|
2893
|
-
"class": ['v-icon', 'notranslate', sizeClasses.value, textColorClasses.value, {
|
|
2892
|
+
"class": ['v-icon', 'notranslate', sizeClasses.value, textColorClasses.value, themeClasses.value, {
|
|
2894
2893
|
'v-icon--left': props.left,
|
|
2895
2894
|
'v-icon--right': props.right
|
|
2896
2895
|
}],
|
|
@@ -7116,11 +7115,11 @@
|
|
|
7116
7115
|
} = useElevation(props);
|
|
7117
7116
|
vue.provide(VExpansionPanelSymbol, groupItem);
|
|
7118
7117
|
const isBeforeSelected = vue.computed(() => {
|
|
7119
|
-
const index = groupItem.group.items.value.
|
|
7118
|
+
const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id);
|
|
7120
7119
|
return !groupItem.isSelected.value && groupItem.group.selected.value.some(id => groupItem.group.items.value.indexOf(id) - index === 1);
|
|
7121
7120
|
});
|
|
7122
7121
|
const isAfterSelected = vue.computed(() => {
|
|
7123
|
-
const index = groupItem.group.items.value.
|
|
7122
|
+
const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id);
|
|
7124
7123
|
return !groupItem.isSelected.value && groupItem.group.selected.value.some(id => groupItem.group.items.value.indexOf(id) - index === -1);
|
|
7125
7124
|
});
|
|
7126
7125
|
const {
|
|
@@ -8373,16 +8372,16 @@
|
|
|
8373
8372
|
let {
|
|
8374
8373
|
slots
|
|
8375
8374
|
} = _ref;
|
|
8376
|
-
const
|
|
8375
|
+
const isHovering = useProxiedModel(props, 'modelValue');
|
|
8377
8376
|
const {
|
|
8378
8377
|
runOpenDelay,
|
|
8379
8378
|
runCloseDelay
|
|
8380
|
-
} = useDelay(props, value => !props.disabled && (
|
|
8379
|
+
} = useDelay(props, value => !props.disabled && (isHovering.value = value));
|
|
8381
8380
|
return () => {
|
|
8382
8381
|
var _slots$default;
|
|
8383
8382
|
|
|
8384
8383
|
return (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, {
|
|
8385
|
-
|
|
8384
|
+
isHovering: isHovering.value,
|
|
8386
8385
|
props: {
|
|
8387
8386
|
onMouseenter: runOpenDelay,
|
|
8388
8387
|
onMouseleave: runCloseDelay
|
|
@@ -8596,37 +8595,26 @@
|
|
|
8596
8595
|
|
|
8597
8596
|
});
|
|
8598
8597
|
|
|
8599
|
-
|
|
8600
|
-
name: 'VListSubheader',
|
|
8601
|
-
props: {
|
|
8602
|
-
color: String,
|
|
8603
|
-
inset: Boolean,
|
|
8604
|
-
...makeTagProps()
|
|
8605
|
-
},
|
|
8606
|
-
|
|
8607
|
-
setup(props, _ref) {
|
|
8608
|
-
let {
|
|
8609
|
-
slots
|
|
8610
|
-
} = _ref;
|
|
8611
|
-
const {
|
|
8612
|
-
textColorClasses,
|
|
8613
|
-
textColorStyles
|
|
8614
|
-
} = useTextColor(vue.toRef(props, 'color'));
|
|
8615
|
-
return () => vue.createVNode(props.tag, {
|
|
8616
|
-
"class": ['v-list-subheader', {
|
|
8617
|
-
'v-list-subheader--inset': props.inset
|
|
8618
|
-
}, textColorClasses.value],
|
|
8619
|
-
"style": {
|
|
8620
|
-
textColorStyles
|
|
8621
|
-
}
|
|
8622
|
-
}, {
|
|
8623
|
-
default: () => [slots.default && vue.createVNode("div", {
|
|
8624
|
-
"class": "v-list-subheader__text"
|
|
8625
|
-
}, [slots.default()])]
|
|
8626
|
-
}, 8, ["class", "style"]);
|
|
8627
|
-
}
|
|
8598
|
+
// Utilities
|
|
8628
8599
|
|
|
8629
|
-
|
|
8600
|
+
const ListKey = Symbol.for('vuetify:list');
|
|
8601
|
+
function createList() {
|
|
8602
|
+
const parent = vue.inject(ListKey, {
|
|
8603
|
+
hasPrepend: vue.ref(false),
|
|
8604
|
+
updateHasPrepend: () => null
|
|
8605
|
+
});
|
|
8606
|
+
const data = {
|
|
8607
|
+
hasPrepend: vue.ref(false),
|
|
8608
|
+
updateHasPrepend: value => {
|
|
8609
|
+
if (value) data.hasPrepend.value = value;
|
|
8610
|
+
}
|
|
8611
|
+
};
|
|
8612
|
+
vue.provide(ListKey, data);
|
|
8613
|
+
return parent;
|
|
8614
|
+
}
|
|
8615
|
+
function useList() {
|
|
8616
|
+
return vue.inject(ListKey, null);
|
|
8617
|
+
}
|
|
8630
8618
|
|
|
8631
8619
|
const singleOpenStrategy = _ref => {
|
|
8632
8620
|
let {
|
|
@@ -8664,7 +8652,7 @@
|
|
|
8664
8652
|
let parent = parents.get(id);
|
|
8665
8653
|
opened.add(id);
|
|
8666
8654
|
|
|
8667
|
-
while (parent != null) {
|
|
8655
|
+
while (parent != null && parent !== id) {
|
|
8668
8656
|
opened.add(parent);
|
|
8669
8657
|
parent = parents.get(parent);
|
|
8670
8658
|
}
|
|
@@ -8916,7 +8904,7 @@
|
|
|
8916
8904
|
return arr;
|
|
8917
8905
|
}),
|
|
8918
8906
|
register: (id, parentId, isGroup) => {
|
|
8919
|
-
parentId && parents.value.set(id, parentId);
|
|
8907
|
+
parentId && id !== parentId && parents.value.set(id, parentId);
|
|
8920
8908
|
isGroup && children.value.set(id, []);
|
|
8921
8909
|
|
|
8922
8910
|
if (parentId != null) {
|
|
@@ -9023,30 +9011,6 @@
|
|
|
9023
9011
|
return group;
|
|
9024
9012
|
};
|
|
9025
9013
|
|
|
9026
|
-
const VListGroupItems = defineComponent({
|
|
9027
|
-
name: 'VListGroupItems',
|
|
9028
|
-
props: {
|
|
9029
|
-
open: Boolean,
|
|
9030
|
-
items: Array
|
|
9031
|
-
},
|
|
9032
|
-
|
|
9033
|
-
setup(props, _ref) {
|
|
9034
|
-
let {
|
|
9035
|
-
slots
|
|
9036
|
-
} = _ref;
|
|
9037
|
-
createList();
|
|
9038
|
-
return () => {
|
|
9039
|
-
return vue.createVNode(VExpandTransition, null, {
|
|
9040
|
-
default: () => [vue.withDirectives(vue.createVNode("div", {
|
|
9041
|
-
"class": "v-list-group__items"
|
|
9042
|
-
}, [vue.createVNode(VListChildren, {
|
|
9043
|
-
"items": props.items
|
|
9044
|
-
}, slots, 8, ["items"])], 512), [[vue.vShow, props.open]])]
|
|
9045
|
-
});
|
|
9046
|
-
};
|
|
9047
|
-
}
|
|
9048
|
-
|
|
9049
|
-
});
|
|
9050
9014
|
const VListGroup = genericComponent()({
|
|
9051
9015
|
name: 'VListGroup',
|
|
9052
9016
|
props: {
|
|
@@ -9059,14 +9023,13 @@
|
|
|
9059
9023
|
type: String,
|
|
9060
9024
|
default: '$expand'
|
|
9061
9025
|
},
|
|
9062
|
-
items: Array,
|
|
9063
9026
|
...makeTagProps()
|
|
9064
9027
|
},
|
|
9065
9028
|
|
|
9066
|
-
setup(props,
|
|
9029
|
+
setup(props, _ref) {
|
|
9067
9030
|
let {
|
|
9068
9031
|
slots
|
|
9069
|
-
} =
|
|
9032
|
+
} = _ref;
|
|
9070
9033
|
const {
|
|
9071
9034
|
isOpen,
|
|
9072
9035
|
open
|
|
@@ -9077,23 +9040,27 @@
|
|
|
9077
9040
|
open(!isOpen.value, e);
|
|
9078
9041
|
};
|
|
9079
9042
|
|
|
9080
|
-
const
|
|
9043
|
+
const activatorProps = vue.computed(() => ({
|
|
9081
9044
|
onClick,
|
|
9082
9045
|
appendIcon: isOpen.value ? props.collapseIcon : props.expandIcon,
|
|
9083
|
-
class: 'v-list-group__header'
|
|
9046
|
+
class: 'v-list-group__header',
|
|
9047
|
+
value: `${props.value}_header`
|
|
9084
9048
|
}));
|
|
9085
9049
|
return () => {
|
|
9086
|
-
var _slots$
|
|
9050
|
+
var _slots$activator, _slots$default;
|
|
9087
9051
|
|
|
9088
9052
|
return vue.createVNode(props.tag, {
|
|
9089
9053
|
"class": ['v-list-group', {
|
|
9090
9054
|
'v-list-group--prepend': list == null ? void 0 : list.hasPrepend.value
|
|
9091
9055
|
}]
|
|
9092
9056
|
}, {
|
|
9093
|
-
default: () => [(_slots$
|
|
9094
|
-
|
|
9095
|
-
|
|
9096
|
-
|
|
9057
|
+
default: () => [(_slots$activator = slots.activator) == null ? void 0 : _slots$activator.call(slots, {
|
|
9058
|
+
props: activatorProps.value
|
|
9059
|
+
}), vue.createVNode(VExpandTransition, null, {
|
|
9060
|
+
default: () => [vue.withDirectives(vue.createVNode("div", {
|
|
9061
|
+
"class": "v-list-group__items"
|
|
9062
|
+
}, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots)], 512), [[vue.vShow, isOpen.value]])]
|
|
9063
|
+
})],
|
|
9097
9064
|
_: 1
|
|
9098
9065
|
}, 8, ["class"]);
|
|
9099
9066
|
};
|
|
@@ -9270,9 +9237,13 @@
|
|
|
9270
9237
|
}, null, 8, ["density", "icon", "image"])]
|
|
9271
9238
|
}, 8, ["left"])), hasHeader && vue.createVNode(VListItemHeader, null, {
|
|
9272
9239
|
default: () => [hasTitle && vue.createVNode(VListItemTitle, null, {
|
|
9273
|
-
default: () => [slots.title ? slots.title(
|
|
9240
|
+
default: () => [slots.title ? slots.title({
|
|
9241
|
+
title: props.title
|
|
9242
|
+
}) : props.title]
|
|
9274
9243
|
}), hasSubtitle && vue.createVNode(VListItemSubtitle, null, {
|
|
9275
|
-
default: () => [slots.subtitle ? slots.subtitle(
|
|
9244
|
+
default: () => [slots.subtitle ? slots.subtitle({
|
|
9245
|
+
subtitle: props.subtitle
|
|
9246
|
+
}) : props.subtitle]
|
|
9276
9247
|
})],
|
|
9277
9248
|
_: 1
|
|
9278
9249
|
}), (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots, slotProps.value), hasAppend && (slots.append ? slots.append(slotProps.value) : vue.createVNode(VListItemAvatar, {
|
|
@@ -9291,6 +9262,46 @@
|
|
|
9291
9262
|
|
|
9292
9263
|
});
|
|
9293
9264
|
|
|
9265
|
+
const VListSubheader = defineComponent({
|
|
9266
|
+
name: 'VListSubheader',
|
|
9267
|
+
props: {
|
|
9268
|
+
color: String,
|
|
9269
|
+
inset: Boolean,
|
|
9270
|
+
sticky: Boolean,
|
|
9271
|
+
text: String,
|
|
9272
|
+
...makeTagProps()
|
|
9273
|
+
},
|
|
9274
|
+
|
|
9275
|
+
setup(props, _ref) {
|
|
9276
|
+
let {
|
|
9277
|
+
slots
|
|
9278
|
+
} = _ref;
|
|
9279
|
+
const {
|
|
9280
|
+
textColorClasses,
|
|
9281
|
+
textColorStyles
|
|
9282
|
+
} = useTextColor(vue.toRef(props, 'color'));
|
|
9283
|
+
return () => {
|
|
9284
|
+
var _slots$default, _slots$default2;
|
|
9285
|
+
|
|
9286
|
+
const hasText = !!(slots.default || props.text);
|
|
9287
|
+
return vue.createVNode(props.tag, {
|
|
9288
|
+
"class": ['v-list-subheader', {
|
|
9289
|
+
'v-list-subheader--inset': props.inset,
|
|
9290
|
+
'v-list-subheader--sticky': props.sticky
|
|
9291
|
+
}, textColorClasses.value],
|
|
9292
|
+
"style": {
|
|
9293
|
+
textColorStyles
|
|
9294
|
+
}
|
|
9295
|
+
}, {
|
|
9296
|
+
default: () => [hasText && vue.createVNode("div", {
|
|
9297
|
+
"class": "v-list-subheader__text"
|
|
9298
|
+
}, [(_slots$default = (_slots$default2 = slots.default) == null ? void 0 : _slots$default2.call(slots)) != null ? _slots$default : props.text])]
|
|
9299
|
+
}, 8, ["class", "style"]);
|
|
9300
|
+
};
|
|
9301
|
+
}
|
|
9302
|
+
|
|
9303
|
+
});
|
|
9304
|
+
|
|
9294
9305
|
const VListChildren = genericComponent()({
|
|
9295
9306
|
name: 'VListChildren',
|
|
9296
9307
|
props: {
|
|
@@ -9301,51 +9312,69 @@
|
|
|
9301
9312
|
let {
|
|
9302
9313
|
slots
|
|
9303
9314
|
} = _ref;
|
|
9315
|
+
createList();
|
|
9304
9316
|
return () => {
|
|
9305
9317
|
var _slots$default, _slots$default2, _props$items;
|
|
9306
9318
|
|
|
9307
9319
|
return (_slots$default = (_slots$default2 = slots.default) == null ? void 0 : _slots$default2.call(slots)) != null ? _slots$default : (_props$items = props.items) == null ? void 0 : _props$items.map(_ref2 => {
|
|
9308
9320
|
let {
|
|
9309
9321
|
children,
|
|
9310
|
-
|
|
9322
|
+
props: itemProps,
|
|
9323
|
+
type
|
|
9311
9324
|
} = _ref2;
|
|
9312
|
-
|
|
9313
|
-
|
|
9314
|
-
...rest
|
|
9315
|
-
} = item;
|
|
9325
|
+
if (type === 'divider') return vue.createVNode(VDivider, itemProps, null, 16);
|
|
9326
|
+
if (type === 'subheader') return vue.createVNode(VListSubheader, itemProps, slots, 16);
|
|
9316
9327
|
return children ? vue.createVNode(VListGroup, {
|
|
9317
|
-
"value": value
|
|
9318
|
-
|
|
9319
|
-
|
|
9320
|
-
|
|
9321
|
-
|
|
9322
|
-
|
|
9328
|
+
"value": itemProps == null ? void 0 : itemProps.value
|
|
9329
|
+
}, {
|
|
9330
|
+
default: () => vue.createVNode(VListChildren, {
|
|
9331
|
+
"items": children
|
|
9332
|
+
}, slots, 8, ["items"]),
|
|
9333
|
+
activator: _ref3 => {
|
|
9334
|
+
let {
|
|
9335
|
+
props: activatorProps
|
|
9336
|
+
} = _ref3;
|
|
9337
|
+
return slots.header ? slots.header({ ...itemProps,
|
|
9338
|
+
...activatorProps
|
|
9339
|
+
}) : vue.createVNode(VListItem, vue.mergeProps(itemProps, activatorProps), null, 16);
|
|
9340
|
+
},
|
|
9323
9341
|
_: 2
|
|
9324
|
-
}, 8, ["value"
|
|
9342
|
+
}, 8, ["value"]) : slots.item ? slots.item(itemProps) : vue.createVNode(VListItem, itemProps, slots, 16);
|
|
9325
9343
|
});
|
|
9326
9344
|
};
|
|
9327
9345
|
}
|
|
9328
9346
|
|
|
9329
9347
|
});
|
|
9330
9348
|
|
|
9331
|
-
const
|
|
9332
|
-
|
|
9333
|
-
|
|
9334
|
-
|
|
9335
|
-
|
|
9349
|
+
const parseItems = items => {
|
|
9350
|
+
if (!items) return undefined;
|
|
9351
|
+
return items.map(item => {
|
|
9352
|
+
if (typeof item === 'string') return {
|
|
9353
|
+
type: 'item',
|
|
9354
|
+
value: item,
|
|
9355
|
+
title: item
|
|
9356
|
+
};
|
|
9357
|
+
const {
|
|
9358
|
+
$type,
|
|
9359
|
+
$children,
|
|
9360
|
+
...props
|
|
9361
|
+
} = item;
|
|
9362
|
+
if ($type === 'subheader') return {
|
|
9363
|
+
type: 'subheader',
|
|
9364
|
+
props
|
|
9365
|
+
};
|
|
9366
|
+
if ($type === 'divider') return {
|
|
9367
|
+
type: 'divider',
|
|
9368
|
+
props
|
|
9369
|
+
};
|
|
9370
|
+
return {
|
|
9371
|
+
type: 'item',
|
|
9372
|
+
props,
|
|
9373
|
+
children: parseItems($children)
|
|
9374
|
+
};
|
|
9336
9375
|
});
|
|
9337
|
-
const data = {
|
|
9338
|
-
hasPrepend: vue.ref(false),
|
|
9339
|
-
updateHasPrepend: value => {
|
|
9340
|
-
if (value) data.hasPrepend.value = value;
|
|
9341
|
-
}
|
|
9342
|
-
};
|
|
9343
|
-
vue.provide(ListKey, data);
|
|
9344
|
-
return parent;
|
|
9345
|
-
};
|
|
9346
|
-
const useList = () => {
|
|
9347
|
-
return vue.inject(ListKey, null);
|
|
9348
9376
|
};
|
|
9377
|
+
|
|
9349
9378
|
const VList = genericComponent()({
|
|
9350
9379
|
name: 'VList',
|
|
9351
9380
|
props: {
|
|
@@ -9356,10 +9385,6 @@
|
|
|
9356
9385
|
default: 'one'
|
|
9357
9386
|
},
|
|
9358
9387
|
nav: Boolean,
|
|
9359
|
-
subheader: {
|
|
9360
|
-
type: [Boolean, String],
|
|
9361
|
-
default: false
|
|
9362
|
-
},
|
|
9363
9388
|
items: Array,
|
|
9364
9389
|
...makeNestedProps({
|
|
9365
9390
|
selectStrategy: 'leaf',
|
|
@@ -9384,6 +9409,7 @@
|
|
|
9384
9409
|
let {
|
|
9385
9410
|
slots
|
|
9386
9411
|
} = _ref;
|
|
9412
|
+
const items = vue.computed(() => parseItems(props.items));
|
|
9387
9413
|
const {
|
|
9388
9414
|
themeClasses
|
|
9389
9415
|
} = provideTheme(props);
|
|
@@ -9413,28 +9439,24 @@
|
|
|
9413
9439
|
} = useNested(props);
|
|
9414
9440
|
createList();
|
|
9415
9441
|
useRender(() => {
|
|
9416
|
-
const hasHeader = typeof props.subheader === 'string' || slots.subheader;
|
|
9417
9442
|
return vue.createVNode(props.tag, {
|
|
9418
9443
|
"class": ['v-list', {
|
|
9419
9444
|
'v-list--disabled': props.disabled,
|
|
9420
9445
|
'v-list--nav': props.nav,
|
|
9421
|
-
'v-list--subheader': props.subheader,
|
|
9422
|
-
'v-list--subheader-sticky': props.subheader === 'sticky',
|
|
9423
9446
|
[`v-list--${props.lines}-line`]: true
|
|
9424
9447
|
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value],
|
|
9425
9448
|
"style": [backgroundColorStyles.value, dimensionStyles.value]
|
|
9426
9449
|
}, {
|
|
9427
|
-
default: () => [
|
|
9428
|
-
|
|
9429
|
-
})), vue.createVNode(VListChildren, {
|
|
9430
|
-
"items": props.items
|
|
9450
|
+
default: () => [vue.createVNode(VListChildren, {
|
|
9451
|
+
"items": items.value
|
|
9431
9452
|
}, {
|
|
9432
9453
|
default: slots.default,
|
|
9433
9454
|
item: slots.item,
|
|
9434
|
-
|
|
9455
|
+
title: slots.title,
|
|
9456
|
+
subtitle: slots.subtitle,
|
|
9457
|
+
header: slots.header,
|
|
9435
9458
|
_: 1
|
|
9436
|
-
}, 8, ["items"])]
|
|
9437
|
-
_: 1
|
|
9459
|
+
}, 8, ["items"])]
|
|
9438
9460
|
}, 8, ["class", "style"]);
|
|
9439
9461
|
});
|
|
9440
9462
|
return {
|
|
@@ -10176,6 +10198,7 @@
|
|
|
10176
10198
|
default: '...'
|
|
10177
10199
|
},
|
|
10178
10200
|
showFirstLastPage: Boolean,
|
|
10201
|
+
...makeRoundedProps(),
|
|
10179
10202
|
...makeBorderProps(),
|
|
10180
10203
|
...makeDensityProps(),
|
|
10181
10204
|
...makeElevationProps(),
|
|
@@ -10310,6 +10333,7 @@
|
|
|
10310
10333
|
icon: true,
|
|
10311
10334
|
disabled: !!props.disabled || props.length < 2,
|
|
10312
10335
|
elevation: props.elevation,
|
|
10336
|
+
rounded: props.rounded,
|
|
10313
10337
|
color: isActive ? props.color : undefined,
|
|
10314
10338
|
ariaCurrent: isActive,
|
|
10315
10339
|
ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, index + 1),
|
|
@@ -10737,7 +10761,7 @@
|
|
|
10737
10761
|
},
|
|
10738
10762
|
showTicks: {
|
|
10739
10763
|
type: [Boolean, String],
|
|
10740
|
-
default:
|
|
10764
|
+
default: false,
|
|
10741
10765
|
validator: v => typeof v === 'boolean' || v === 'always'
|
|
10742
10766
|
},
|
|
10743
10767
|
showTickLabels: {
|
|
@@ -10821,6 +10845,7 @@
|
|
|
10821
10845
|
const mousePressed = vue.ref(false);
|
|
10822
10846
|
const startOffset = vue.ref(0);
|
|
10823
10847
|
const trackContainerRef = vue.ref();
|
|
10848
|
+
const activeThumbRef = vue.ref();
|
|
10824
10849
|
|
|
10825
10850
|
function roundValue(value) {
|
|
10826
10851
|
if (step.value <= 0) return value;
|
|
@@ -10862,14 +10887,14 @@
|
|
|
10862
10887
|
};
|
|
10863
10888
|
|
|
10864
10889
|
const handleStart = e => {
|
|
10865
|
-
|
|
10866
|
-
if (!
|
|
10867
|
-
|
|
10890
|
+
activeThumbRef.value = getActiveThumb(e);
|
|
10891
|
+
if (!activeThumbRef.value) return;
|
|
10892
|
+
activeThumbRef.value.focus();
|
|
10868
10893
|
mousePressed.value = true;
|
|
10869
10894
|
|
|
10870
|
-
if (
|
|
10895
|
+
if (activeThumbRef.value.contains(e.target)) {
|
|
10871
10896
|
thumbMoved = true;
|
|
10872
|
-
startOffset.value = getOffset(e,
|
|
10897
|
+
startOffset.value = getOffset(e, activeThumbRef.value, props.direction);
|
|
10873
10898
|
} else {
|
|
10874
10899
|
startOffset.value = 0;
|
|
10875
10900
|
handleMouseMove(parseMouseMove(e));
|
|
@@ -10953,6 +10978,7 @@
|
|
|
10953
10978
|
return !!label;
|
|
10954
10979
|
}));
|
|
10955
10980
|
const data = {
|
|
10981
|
+
activeThumbRef,
|
|
10956
10982
|
color: vue.toRef(props, 'color'),
|
|
10957
10983
|
decimals,
|
|
10958
10984
|
disabled,
|
|
@@ -11041,7 +11067,8 @@
|
|
|
11041
11067
|
elevation,
|
|
11042
11068
|
isReversed,
|
|
11043
11069
|
horizontalDirection,
|
|
11044
|
-
mousePressed
|
|
11070
|
+
mousePressed,
|
|
11071
|
+
decimals
|
|
11045
11072
|
} = slider;
|
|
11046
11073
|
const {
|
|
11047
11074
|
textColorClasses,
|
|
@@ -11118,7 +11145,7 @@
|
|
|
11118
11145
|
"aria-valuenow": props.modelValue,
|
|
11119
11146
|
"aria-readonly": readonly.value,
|
|
11120
11147
|
"aria-orientation": direction.value,
|
|
11121
|
-
"onKeydown": onKeydown
|
|
11148
|
+
"onKeydown": !readonly.value ? onKeydown : undefined
|
|
11122
11149
|
}, [vue.createVNode("div", {
|
|
11123
11150
|
"class": ['v-slider-thumb__surface', textColorClasses.value, elevationClasses.value],
|
|
11124
11151
|
"style": { ...textColorStyles.value
|
|
@@ -11138,7 +11165,7 @@
|
|
|
11138
11165
|
"class": ['v-slider-thumb__label']
|
|
11139
11166
|
}, [vue.createVNode("div", null, [(_slots$thumbLabel = (_slots$thumbLabel2 = slots['thumb-label']) == null ? void 0 : _slots$thumbLabel2.call(slots, {
|
|
11140
11167
|
modelValue: props.modelValue
|
|
11141
|
-
})) != null ? _slots$thumbLabel : props.modelValue.toFixed(1)])])], 512), [[vue.vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
|
|
11168
|
+
})) != null ? _slots$thumbLabel : props.modelValue.toFixed(step.value ? decimals.value : 1)])])], 512), [[vue.vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
|
|
11142
11169
|
})], 46, ["tabindex", "aria-label", "aria-valuemin", "aria-valuemax", "aria-valuenow", "aria-readonly", "aria-orientation", "onKeydown"]);
|
|
11143
11170
|
};
|
|
11144
11171
|
}
|
|
@@ -11259,6 +11286,7 @@
|
|
|
11259
11286
|
name: 'VRangeSlider',
|
|
11260
11287
|
props: { ...makeVInputProps(),
|
|
11261
11288
|
...makeSliderProps(),
|
|
11289
|
+
strict: Boolean,
|
|
11262
11290
|
modelValue: {
|
|
11263
11291
|
type: Array,
|
|
11264
11292
|
default: () => [0, 0]
|
|
@@ -11275,20 +11303,15 @@
|
|
|
11275
11303
|
} = _ref;
|
|
11276
11304
|
const startThumbRef = vue.ref();
|
|
11277
11305
|
const stopThumbRef = vue.ref();
|
|
11278
|
-
const focusedThumb = vue.ref();
|
|
11279
11306
|
const inputRef = vue.ref();
|
|
11280
|
-
let canSwitch = false;
|
|
11281
11307
|
|
|
11282
11308
|
function getActiveThumb(e) {
|
|
11283
|
-
var _startThumbRef$value, _stopThumbRef$value;
|
|
11284
|
-
|
|
11285
11309
|
if (!startThumbRef.value || !stopThumbRef.value) return;
|
|
11286
|
-
canSwitch = true;
|
|
11287
11310
|
const startOffset = getOffset(e, startThumbRef.value.$el, props.direction);
|
|
11288
11311
|
const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction);
|
|
11289
11312
|
const a = Math.abs(startOffset);
|
|
11290
11313
|
const b = Math.abs(stopOffset);
|
|
11291
|
-
return a < b || a === b && startOffset < 0 ?
|
|
11314
|
+
return a < b || a === b && startOffset < 0 ? startThumbRef.value.$el : stopThumbRef.value.$el;
|
|
11292
11315
|
}
|
|
11293
11316
|
|
|
11294
11317
|
const {
|
|
@@ -11300,25 +11323,33 @@
|
|
|
11300
11323
|
onSliderTouchstart,
|
|
11301
11324
|
trackContainerRef,
|
|
11302
11325
|
position,
|
|
11303
|
-
hasLabels
|
|
11326
|
+
hasLabels,
|
|
11327
|
+
activeThumbRef
|
|
11304
11328
|
} = useSlider({
|
|
11305
11329
|
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
11306
11330
|
props,
|
|
11307
11331
|
handleSliderMouseUp: newValue => {
|
|
11308
|
-
|
|
11332
|
+
var _startThumbRef$value;
|
|
11333
|
+
|
|
11334
|
+
model.value = activeThumbRef.value === ((_startThumbRef$value = startThumbRef.value) == null ? void 0 : _startThumbRef$value.$el) ? [newValue, model.value[1]] : [model.value[0], newValue];
|
|
11309
11335
|
},
|
|
11310
11336
|
handleMouseMove: newValue => {
|
|
11311
|
-
|
|
11312
|
-
|
|
11313
|
-
|
|
11314
|
-
|
|
11315
|
-
|
|
11337
|
+
var _startThumbRef$value3;
|
|
11338
|
+
|
|
11339
|
+
const [start, stop] = model.value;
|
|
11340
|
+
|
|
11341
|
+
if (!props.strict && start === stop && start !== min.value) {
|
|
11342
|
+
var _stopThumbRef$value, _startThumbRef$value2, _activeThumbRef$value;
|
|
11316
11343
|
|
|
11317
|
-
|
|
11318
|
-
|
|
11344
|
+
activeThumbRef.value = newValue > start ? (_stopThumbRef$value = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value.$el : (_startThumbRef$value2 = startThumbRef.value) == null ? void 0 : _startThumbRef$value2.$el;
|
|
11345
|
+
(_activeThumbRef$value = activeThumbRef.value) == null ? void 0 : _activeThumbRef$value.focus();
|
|
11319
11346
|
}
|
|
11320
11347
|
|
|
11321
|
-
|
|
11348
|
+
if (activeThumbRef.value === ((_startThumbRef$value3 = startThumbRef.value) == null ? void 0 : _startThumbRef$value3.$el)) {
|
|
11349
|
+
model.value = [Math.min(newValue, stop), stop];
|
|
11350
|
+
} else {
|
|
11351
|
+
model.value = [start, Math.max(start, newValue)];
|
|
11352
|
+
}
|
|
11322
11353
|
},
|
|
11323
11354
|
getActiveThumb
|
|
11324
11355
|
/* eslint-enable @typescript-eslint/no-use-before-define */
|
|
@@ -11349,6 +11380,8 @@
|
|
|
11349
11380
|
"focused": isFocused.value
|
|
11350
11381
|
}), { ...slots,
|
|
11351
11382
|
default: _ref2 => {
|
|
11383
|
+
var _startThumbRef$value4, _stopThumbRef$value4;
|
|
11384
|
+
|
|
11352
11385
|
let {
|
|
11353
11386
|
id
|
|
11354
11387
|
} = _ref2;
|
|
@@ -11379,23 +11412,28 @@
|
|
|
11379
11412
|
_: 1
|
|
11380
11413
|
}, 8, ["start", "stop"]), vue.createVNode(VSliderThumb, {
|
|
11381
11414
|
"ref": startThumbRef,
|
|
11382
|
-
"focused": isFocused &&
|
|
11415
|
+
"focused": isFocused && activeThumbRef.value === ((_startThumbRef$value4 = startThumbRef.value) == null ? void 0 : _startThumbRef$value4.$el),
|
|
11383
11416
|
"modelValue": model.value[0],
|
|
11384
11417
|
"onUpdate:modelValue": v => model.value = [v, model.value[1]],
|
|
11385
11418
|
"onFocus": e => {
|
|
11386
|
-
var
|
|
11419
|
+
var _startThumbRef$value5, _stopThumbRef$value2;
|
|
11387
11420
|
|
|
11388
11421
|
focus();
|
|
11389
|
-
|
|
11422
|
+
activeThumbRef.value = (_startThumbRef$value5 = startThumbRef.value) == null ? void 0 : _startThumbRef$value5.$el; // Make sure second thumb is focused if
|
|
11390
11423
|
// the thumbs are on top of each other
|
|
11391
11424
|
// and they are both at minimum value
|
|
11392
11425
|
// but only if focused from outside.
|
|
11393
11426
|
|
|
11394
|
-
if (model.value[0] === model.value[1] && model.value[1] === min.value && e.relatedTarget !== ((_stopThumbRef$value2 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value2.$el))
|
|
11427
|
+
if (model.value[0] === model.value[1] && model.value[1] === min.value && e.relatedTarget !== ((_stopThumbRef$value2 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value2.$el)) {
|
|
11428
|
+
var _startThumbRef$value6, _stopThumbRef$value3;
|
|
11429
|
+
|
|
11430
|
+
(_startThumbRef$value6 = startThumbRef.value) == null ? void 0 : _startThumbRef$value6.$el.blur();
|
|
11431
|
+
(_stopThumbRef$value3 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value3.$el.focus();
|
|
11432
|
+
}
|
|
11395
11433
|
},
|
|
11396
11434
|
"onBlur": () => {
|
|
11397
11435
|
blur();
|
|
11398
|
-
|
|
11436
|
+
activeThumbRef.value = undefined;
|
|
11399
11437
|
},
|
|
11400
11438
|
"min": min.value,
|
|
11401
11439
|
"max": model.value[1],
|
|
@@ -11405,27 +11443,28 @@
|
|
|
11405
11443
|
_: 1
|
|
11406
11444
|
}, 8, ["focused", "modelValue", "onUpdate:modelValue", "onFocus", "onBlur", "min", "max", "position"]), vue.createVNode(VSliderThumb, {
|
|
11407
11445
|
"ref": stopThumbRef,
|
|
11408
|
-
"focused": isFocused &&
|
|
11446
|
+
"focused": isFocused && activeThumbRef.value === ((_stopThumbRef$value4 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value4.$el),
|
|
11409
11447
|
"modelValue": model.value[1],
|
|
11410
11448
|
"onUpdate:modelValue": v => model.value = [model.value[0], v],
|
|
11411
11449
|
"onFocus": e => {
|
|
11412
|
-
var _startThumbRef$
|
|
11450
|
+
var _stopThumbRef$value5, _startThumbRef$value7;
|
|
11413
11451
|
|
|
11414
11452
|
focus();
|
|
11415
|
-
|
|
11453
|
+
activeThumbRef.value = (_stopThumbRef$value5 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value5.$el; // Make sure first thumb is focused if
|
|
11416
11454
|
// the thumbs are on top of each other
|
|
11417
11455
|
// and they are both at maximum value
|
|
11418
11456
|
// but only if focused from outside.
|
|
11419
11457
|
|
|
11420
|
-
if (model.value[0] === model.value[1] && model.value[0] === max.value && e.relatedTarget !== ((_startThumbRef$
|
|
11421
|
-
var _startThumbRef$
|
|
11458
|
+
if (model.value[0] === model.value[1] && model.value[0] === max.value && e.relatedTarget !== ((_startThumbRef$value7 = startThumbRef.value) == null ? void 0 : _startThumbRef$value7.$el)) {
|
|
11459
|
+
var _stopThumbRef$value6, _startThumbRef$value8;
|
|
11422
11460
|
|
|
11423
|
-
(
|
|
11461
|
+
(_stopThumbRef$value6 = stopThumbRef.value) == null ? void 0 : _stopThumbRef$value6.$el.blur();
|
|
11462
|
+
(_startThumbRef$value8 = startThumbRef.value) == null ? void 0 : _startThumbRef$value8.$el.focus();
|
|
11424
11463
|
}
|
|
11425
11464
|
},
|
|
11426
11465
|
"onBlur": () => {
|
|
11427
11466
|
blur();
|
|
11428
|
-
|
|
11467
|
+
activeThumbRef.value = undefined;
|
|
11429
11468
|
},
|
|
11430
11469
|
"min": model.value[0],
|
|
11431
11470
|
"max": max.value,
|
|
@@ -11756,7 +11795,8 @@
|
|
|
11756
11795
|
onSliderTouchstart,
|
|
11757
11796
|
trackContainerRef,
|
|
11758
11797
|
position,
|
|
11759
|
-
hasLabels
|
|
11798
|
+
hasLabels,
|
|
11799
|
+
readonly
|
|
11760
11800
|
} = useSlider({
|
|
11761
11801
|
props,
|
|
11762
11802
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
@@ -11797,8 +11837,8 @@
|
|
|
11797
11837
|
} = _ref2;
|
|
11798
11838
|
return vue.createVNode("div", {
|
|
11799
11839
|
"class": "v-slider__container",
|
|
11800
|
-
"onMousedown": onSliderMousedown,
|
|
11801
|
-
"onTouchstartPassive": onSliderTouchstart
|
|
11840
|
+
"onMousedown": !readonly.value ? onSliderMousedown : undefined,
|
|
11841
|
+
"onTouchstartPassive": !readonly.value ? onSliderTouchstart : undefined
|
|
11802
11842
|
}, [vue.createVNode("input", {
|
|
11803
11843
|
"id": id.value,
|
|
11804
11844
|
"name": props.name || id.value,
|
|
@@ -12800,111 +12840,535 @@
|
|
|
12800
12840
|
|
|
12801
12841
|
});
|
|
12802
12842
|
|
|
12803
|
-
|
|
12804
|
-
|
|
12805
|
-
|
|
12806
|
-
|
|
12807
|
-
|
|
12808
|
-
|
|
12809
|
-
|
|
12810
|
-
|
|
12811
|
-
|
|
12812
|
-
|
|
12813
|
-
|
|
12814
|
-
|
|
12815
|
-
|
|
12816
|
-
|
|
12817
|
-
|
|
12818
|
-
|
|
12819
|
-
|
|
12820
|
-
|
|
12821
|
-
|
|
12822
|
-
|
|
12823
|
-
|
|
12824
|
-
|
|
12825
|
-
|
|
12826
|
-
|
|
12827
|
-
|
|
12828
|
-
|
|
12829
|
-
|
|
12830
|
-
|
|
12831
|
-
|
|
12832
|
-
|
|
12833
|
-
|
|
12834
|
-
|
|
12835
|
-
|
|
12836
|
-
|
|
12837
|
-
|
|
12838
|
-
|
|
12839
|
-
|
|
12840
|
-
|
|
12841
|
-
|
|
12842
|
-
|
|
12843
|
-
|
|
12844
|
-
|
|
12845
|
-
|
|
12846
|
-
|
|
12847
|
-
|
|
12848
|
-
|
|
12849
|
-
|
|
12850
|
-
|
|
12851
|
-
|
|
12852
|
-
|
|
12853
|
-
|
|
12854
|
-
|
|
12855
|
-
|
|
12856
|
-
|
|
12857
|
-
|
|
12858
|
-
|
|
12859
|
-
|
|
12860
|
-
|
|
12861
|
-
|
|
12862
|
-
|
|
12863
|
-
|
|
12864
|
-
|
|
12865
|
-
|
|
12866
|
-
|
|
12867
|
-
|
|
12868
|
-
|
|
12869
|
-
|
|
12870
|
-
|
|
12871
|
-
|
|
12872
|
-
|
|
12873
|
-
|
|
12874
|
-
|
|
12875
|
-
|
|
12876
|
-
|
|
12877
|
-
|
|
12878
|
-
|
|
12879
|
-
|
|
12880
|
-
|
|
12881
|
-
|
|
12882
|
-
|
|
12883
|
-
|
|
12884
|
-
|
|
12885
|
-
|
|
12886
|
-
|
|
12887
|
-
|
|
12888
|
-
|
|
12889
|
-
|
|
12890
|
-
|
|
12891
|
-
|
|
12892
|
-
|
|
12893
|
-
|
|
12894
|
-
|
|
12895
|
-
|
|
12896
|
-
|
|
12897
|
-
|
|
12898
|
-
|
|
12899
|
-
|
|
12900
|
-
|
|
12901
|
-
|
|
12902
|
-
|
|
12903
|
-
|
|
12843
|
+
// Types
|
|
12844
|
+
|
|
12845
|
+
const handleGesture = wrapper => {
|
|
12846
|
+
const {
|
|
12847
|
+
touchstartX,
|
|
12848
|
+
touchendX,
|
|
12849
|
+
touchstartY,
|
|
12850
|
+
touchendY
|
|
12851
|
+
} = wrapper;
|
|
12852
|
+
const dirRatio = 0.5;
|
|
12853
|
+
const minDistance = 16;
|
|
12854
|
+
wrapper.offsetX = touchendX - touchstartX;
|
|
12855
|
+
wrapper.offsetY = touchendY - touchstartY;
|
|
12856
|
+
|
|
12857
|
+
if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {
|
|
12858
|
+
wrapper.left && touchendX < touchstartX - minDistance && wrapper.left(wrapper);
|
|
12859
|
+
wrapper.right && touchendX > touchstartX + minDistance && wrapper.right(wrapper);
|
|
12860
|
+
}
|
|
12861
|
+
|
|
12862
|
+
if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {
|
|
12863
|
+
wrapper.up && touchendY < touchstartY - minDistance && wrapper.up(wrapper);
|
|
12864
|
+
wrapper.down && touchendY > touchstartY + minDistance && wrapper.down(wrapper);
|
|
12865
|
+
}
|
|
12866
|
+
};
|
|
12867
|
+
|
|
12868
|
+
function touchstart(event, wrapper) {
|
|
12869
|
+
var _wrapper$start;
|
|
12870
|
+
|
|
12871
|
+
const touch = event.changedTouches[0];
|
|
12872
|
+
wrapper.touchstartX = touch.clientX;
|
|
12873
|
+
wrapper.touchstartY = touch.clientY;
|
|
12874
|
+
(_wrapper$start = wrapper.start) == null ? void 0 : _wrapper$start.call(wrapper, {
|
|
12875
|
+
originalEvent: event,
|
|
12876
|
+
...wrapper
|
|
12877
|
+
});
|
|
12878
|
+
}
|
|
12879
|
+
|
|
12880
|
+
function touchend(event, wrapper) {
|
|
12881
|
+
var _wrapper$end;
|
|
12882
|
+
|
|
12883
|
+
const touch = event.changedTouches[0];
|
|
12884
|
+
wrapper.touchendX = touch.clientX;
|
|
12885
|
+
wrapper.touchendY = touch.clientY;
|
|
12886
|
+
(_wrapper$end = wrapper.end) == null ? void 0 : _wrapper$end.call(wrapper, {
|
|
12887
|
+
originalEvent: event,
|
|
12888
|
+
...wrapper
|
|
12889
|
+
});
|
|
12890
|
+
handleGesture(wrapper);
|
|
12891
|
+
}
|
|
12892
|
+
|
|
12893
|
+
function touchmove(event, wrapper) {
|
|
12894
|
+
var _wrapper$move;
|
|
12895
|
+
|
|
12896
|
+
const touch = event.changedTouches[0];
|
|
12897
|
+
wrapper.touchmoveX = touch.clientX;
|
|
12898
|
+
wrapper.touchmoveY = touch.clientY;
|
|
12899
|
+
(_wrapper$move = wrapper.move) == null ? void 0 : _wrapper$move.call(wrapper, {
|
|
12900
|
+
originalEvent: event,
|
|
12901
|
+
...wrapper
|
|
12902
|
+
});
|
|
12903
|
+
}
|
|
12904
|
+
|
|
12905
|
+
function createHandlers() {
|
|
12906
|
+
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
12907
|
+
const wrapper = {
|
|
12908
|
+
touchstartX: 0,
|
|
12909
|
+
touchstartY: 0,
|
|
12910
|
+
touchendX: 0,
|
|
12911
|
+
touchendY: 0,
|
|
12912
|
+
touchmoveX: 0,
|
|
12913
|
+
touchmoveY: 0,
|
|
12914
|
+
offsetX: 0,
|
|
12915
|
+
offsetY: 0,
|
|
12916
|
+
left: value.left,
|
|
12917
|
+
right: value.right,
|
|
12918
|
+
up: value.up,
|
|
12919
|
+
down: value.down,
|
|
12920
|
+
start: value.start,
|
|
12921
|
+
move: value.move,
|
|
12922
|
+
end: value.end
|
|
12923
|
+
};
|
|
12924
|
+
return {
|
|
12925
|
+
touchstart: e => touchstart(e, wrapper),
|
|
12926
|
+
touchend: e => touchend(e, wrapper),
|
|
12927
|
+
touchmove: e => touchmove(e, wrapper)
|
|
12928
|
+
};
|
|
12929
|
+
}
|
|
12930
|
+
|
|
12931
|
+
function mounted$3(el, binding) {
|
|
12932
|
+
var _value$options, _binding$instance, _target$_touchHandler;
|
|
12933
|
+
|
|
12934
|
+
const value = binding.value;
|
|
12935
|
+
const target = value != null && value.parent ? el.parentElement : el;
|
|
12936
|
+
const options = (_value$options = value == null ? void 0 : value.options) != null ? _value$options : {
|
|
12937
|
+
passive: true
|
|
12938
|
+
};
|
|
12939
|
+
const uid = (_binding$instance = binding.instance) == null ? void 0 : _binding$instance.$.uid; // TODO: use custom uid generator
|
|
12940
|
+
|
|
12941
|
+
if (!target || !uid) return;
|
|
12942
|
+
const handlers = createHandlers(binding.value);
|
|
12943
|
+
target._touchHandlers = (_target$_touchHandler = target._touchHandlers) != null ? _target$_touchHandler : Object.create(null);
|
|
12944
|
+
target._touchHandlers[uid] = handlers;
|
|
12945
|
+
keys(handlers).forEach(eventName => {
|
|
12946
|
+
target.addEventListener(eventName, handlers[eventName], options);
|
|
12947
|
+
});
|
|
12948
|
+
}
|
|
12949
|
+
|
|
12950
|
+
function unmounted$3(el, binding) {
|
|
12951
|
+
var _binding$value, _binding$instance2;
|
|
12952
|
+
|
|
12953
|
+
const target = (_binding$value = binding.value) != null && _binding$value.parent ? el.parentElement : el;
|
|
12954
|
+
const uid = (_binding$instance2 = binding.instance) == null ? void 0 : _binding$instance2.$.uid;
|
|
12955
|
+
if (!(target != null && target._touchHandlers) || !uid) return;
|
|
12956
|
+
const handlers = target._touchHandlers[uid];
|
|
12957
|
+
keys(handlers).forEach(eventName => {
|
|
12958
|
+
target.removeEventListener(eventName, handlers[eventName]);
|
|
12959
|
+
});
|
|
12960
|
+
delete target._touchHandlers[uid];
|
|
12961
|
+
}
|
|
12962
|
+
|
|
12963
|
+
const Touch = {
|
|
12964
|
+
mounted: mounted$3,
|
|
12965
|
+
unmounted: unmounted$3
|
|
12966
|
+
};
|
|
12967
|
+
|
|
12968
|
+
const VWindowSymbol = Symbol.for('vuetify:v-window');
|
|
12969
|
+
const VWindowGroupSymbol = Symbol.for('vuetify:v-window-group');
|
|
12970
|
+
const VWindow = vue.defineComponent({
|
|
12971
|
+
name: 'VWindow',
|
|
12972
|
+
directives: {
|
|
12973
|
+
Touch
|
|
12974
|
+
},
|
|
12975
|
+
props: {
|
|
12976
|
+
continuous: Boolean,
|
|
12977
|
+
nextIcon: {
|
|
12978
|
+
type: [Boolean, String],
|
|
12979
|
+
default: '$next'
|
|
12980
|
+
},
|
|
12981
|
+
prevIcon: {
|
|
12982
|
+
type: [Boolean, String],
|
|
12983
|
+
default: '$prev'
|
|
12984
|
+
},
|
|
12985
|
+
reverse: Boolean,
|
|
12986
|
+
showArrows: {
|
|
12987
|
+
type: [Boolean, String],
|
|
12988
|
+
validator: v => typeof v === 'boolean' || v === 'hover'
|
|
12989
|
+
},
|
|
12990
|
+
touch: {
|
|
12991
|
+
type: [Object, Boolean],
|
|
12992
|
+
default: undefined
|
|
12993
|
+
},
|
|
12994
|
+
direction: {
|
|
12995
|
+
type: String,
|
|
12996
|
+
default: 'horizontal'
|
|
12997
|
+
},
|
|
12998
|
+
modelValue: null,
|
|
12999
|
+
disabled: Boolean,
|
|
13000
|
+
selectedClass: {
|
|
13001
|
+
type: String,
|
|
13002
|
+
default: 'v-window-item--active'
|
|
13003
|
+
},
|
|
13004
|
+
// TODO: mandatory should probably not be exposed but do this for now
|
|
13005
|
+
mandatory: {
|
|
13006
|
+
default: 'force'
|
|
13007
|
+
},
|
|
13008
|
+
...makeTagProps(),
|
|
13009
|
+
...makeThemeProps()
|
|
13010
|
+
},
|
|
13011
|
+
emits: {
|
|
13012
|
+
'update:modelValue': v => true
|
|
13013
|
+
},
|
|
13014
|
+
|
|
13015
|
+
setup(props, _ref) {
|
|
13016
|
+
let {
|
|
13017
|
+
slots
|
|
13018
|
+
} = _ref;
|
|
13019
|
+
const {
|
|
13020
|
+
themeClasses
|
|
13021
|
+
} = provideTheme(props);
|
|
13022
|
+
const {
|
|
13023
|
+
isRtl
|
|
13024
|
+
} = useRtl();
|
|
13025
|
+
const {
|
|
13026
|
+
t
|
|
13027
|
+
} = useLocale();
|
|
13028
|
+
const group = useGroup(props, VWindowGroupSymbol);
|
|
13029
|
+
const rootRef = vue.ref();
|
|
13030
|
+
const isRtlReverse = vue.computed(() => isRtl.value ? !props.reverse : props.reverse);
|
|
13031
|
+
const isReversed = vue.ref(false);
|
|
13032
|
+
const transition = vue.computed(() => {
|
|
13033
|
+
const axis = props.direction === 'vertical' ? 'y' : 'x';
|
|
13034
|
+
const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value;
|
|
13035
|
+
const direction = reverse ? '-reverse' : '';
|
|
13036
|
+
return `v-window-${axis}${direction}-transition`;
|
|
13037
|
+
});
|
|
13038
|
+
const transitionCount = vue.ref(0);
|
|
13039
|
+
const transitionHeight = vue.ref(undefined);
|
|
13040
|
+
const activeIndex = vue.computed(() => {
|
|
13041
|
+
return group.items.value.findIndex(item => group.selected.value.includes(item.id));
|
|
13042
|
+
});
|
|
13043
|
+
vue.watch(activeIndex, (newVal, oldVal) => {
|
|
13044
|
+
const itemsLength = group.items.value.length;
|
|
13045
|
+
const lastIndex = itemsLength - 1;
|
|
13046
|
+
|
|
13047
|
+
if (itemsLength <= 2) {
|
|
13048
|
+
isReversed.value = newVal < oldVal;
|
|
13049
|
+
} else if (newVal === lastIndex && oldVal === 0) {
|
|
13050
|
+
isReversed.value = true;
|
|
13051
|
+
} else if (newVal === 0 && oldVal === lastIndex) {
|
|
13052
|
+
isReversed.value = false;
|
|
13053
|
+
} else {
|
|
13054
|
+
isReversed.value = newVal < oldVal;
|
|
13055
|
+
}
|
|
13056
|
+
});
|
|
13057
|
+
vue.provide(VWindowSymbol, {
|
|
13058
|
+
transition,
|
|
13059
|
+
isReversed,
|
|
13060
|
+
transitionCount,
|
|
13061
|
+
transitionHeight,
|
|
13062
|
+
rootRef
|
|
13063
|
+
});
|
|
13064
|
+
const canMoveBack = vue.computed(() => props.continuous || activeIndex.value !== 0);
|
|
13065
|
+
const canMoveForward = vue.computed(() => props.continuous || activeIndex.value !== group.items.value.length - 1);
|
|
13066
|
+
|
|
13067
|
+
function prev() {
|
|
13068
|
+
canMoveBack.value && group.prev();
|
|
13069
|
+
}
|
|
13070
|
+
|
|
13071
|
+
function next() {
|
|
13072
|
+
canMoveForward.value && group.next();
|
|
13073
|
+
}
|
|
13074
|
+
|
|
13075
|
+
provideDefaults({
|
|
13076
|
+
VBtn: {
|
|
13077
|
+
variant: 'text'
|
|
13078
|
+
}
|
|
13079
|
+
}, {
|
|
13080
|
+
scoped: true
|
|
13081
|
+
});
|
|
13082
|
+
const arrows = vue.computed(() => {
|
|
13083
|
+
const arrows = [];
|
|
13084
|
+
const prevProps = {
|
|
13085
|
+
icon: isRtl.value ? props.nextIcon : props.prevIcon,
|
|
13086
|
+
class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,
|
|
13087
|
+
onClick: group.prev,
|
|
13088
|
+
ariaLabel: t('$vuetify.carousel.prev')
|
|
13089
|
+
};
|
|
13090
|
+
arrows.push(canMoveBack.value ? slots.prev ? slots.prev({
|
|
13091
|
+
props: prevProps
|
|
13092
|
+
}) : vue.createVNode(VBtn, prevProps, null, 16) : vue.createVNode("div", null, null));
|
|
13093
|
+
const nextProps = {
|
|
13094
|
+
icon: isRtl.value ? props.prevIcon : props.nextIcon,
|
|
13095
|
+
class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,
|
|
13096
|
+
onClick: group.next,
|
|
13097
|
+
ariaLabel: t('$vuetify.carousel.next')
|
|
13098
|
+
};
|
|
13099
|
+
arrows.push(canMoveForward.value ? slots.next ? slots.next({
|
|
13100
|
+
props: nextProps
|
|
13101
|
+
}) : vue.createVNode(VBtn, nextProps, null, 16) : vue.createVNode("div", null, null));
|
|
13102
|
+
return arrows;
|
|
13103
|
+
});
|
|
13104
|
+
const touchOptions = vue.computed(() => {
|
|
13105
|
+
if (props.touch === false) return props.touch;
|
|
13106
|
+
const options = {
|
|
13107
|
+
left: () => {
|
|
13108
|
+
isRtlReverse.value ? prev() : next();
|
|
13109
|
+
},
|
|
13110
|
+
right: () => {
|
|
13111
|
+
isRtlReverse.value ? next() : prev();
|
|
13112
|
+
},
|
|
13113
|
+
end: _ref2 => {
|
|
13114
|
+
let {
|
|
13115
|
+
originalEvent
|
|
13116
|
+
} = _ref2;
|
|
13117
|
+
originalEvent.stopPropagation();
|
|
13118
|
+
},
|
|
13119
|
+
start: _ref3 => {
|
|
13120
|
+
let {
|
|
13121
|
+
originalEvent
|
|
13122
|
+
} = _ref3;
|
|
13123
|
+
originalEvent.stopPropagation();
|
|
13124
|
+
}
|
|
13125
|
+
};
|
|
13126
|
+
return { ...options,
|
|
13127
|
+
...(props.touch === true ? {} : props.touch)
|
|
13128
|
+
};
|
|
13129
|
+
});
|
|
13130
|
+
return () => {
|
|
13131
|
+
var _slots$default;
|
|
13132
|
+
|
|
13133
|
+
return vue.withDirectives(vue.createVNode(props.tag, {
|
|
13134
|
+
"ref": rootRef,
|
|
13135
|
+
"class": ['v-window', {
|
|
13136
|
+
'v-window--show-arrows-on-hover': props.showArrows === 'hover'
|
|
13137
|
+
}, themeClasses.value]
|
|
13138
|
+
}, {
|
|
13139
|
+
default: () => [vue.createVNode("div", {
|
|
13140
|
+
"class": "v-window__container",
|
|
13141
|
+
"style": {
|
|
13142
|
+
height: transitionHeight.value
|
|
13143
|
+
}
|
|
13144
|
+
}, [(_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots), props.showArrows !== false && vue.createVNode("div", {
|
|
13145
|
+
"class": "v-window__controls"
|
|
13146
|
+
}, [arrows.value])], 4)]
|
|
13147
|
+
}, 8, ["class"]), [[vue.resolveDirective("touch"), touchOptions.value]]);
|
|
13148
|
+
};
|
|
13149
|
+
}
|
|
13150
|
+
|
|
13151
|
+
});
|
|
13152
|
+
|
|
13153
|
+
const VWindowItem = defineComponent({
|
|
13154
|
+
name: 'VWindowItem',
|
|
13155
|
+
directives: {
|
|
13156
|
+
Touch
|
|
13157
|
+
},
|
|
13158
|
+
props: {
|
|
13159
|
+
reverseTransition: {
|
|
13160
|
+
type: [Boolean, String],
|
|
13161
|
+
default: undefined
|
|
13162
|
+
},
|
|
13163
|
+
transition: {
|
|
13164
|
+
type: [Boolean, String],
|
|
13165
|
+
default: undefined
|
|
13166
|
+
},
|
|
13167
|
+
...makeLazyProps(),
|
|
13168
|
+
...makeGroupItemProps()
|
|
13169
|
+
},
|
|
13170
|
+
|
|
13171
|
+
setup(props, _ref) {
|
|
13172
|
+
let {
|
|
13173
|
+
slots
|
|
13174
|
+
} = _ref;
|
|
13175
|
+
const window = vue.inject(VWindowSymbol);
|
|
13176
|
+
const groupItem = useGroupItem(props, VWindowGroupSymbol);
|
|
13177
|
+
if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow');
|
|
13178
|
+
const isTransitioning = vue.ref(false);
|
|
13179
|
+
const hasTransition = vue.computed(() => window.isReversed.value ? props.reverseTransition !== false : props.transition !== false);
|
|
13180
|
+
|
|
13181
|
+
function onAfterTransition() {
|
|
13182
|
+
if (!isTransitioning.value || !window) {
|
|
13183
|
+
return;
|
|
13184
|
+
} // Finalize transition state.
|
|
13185
|
+
|
|
13186
|
+
|
|
13187
|
+
isTransitioning.value = false;
|
|
13188
|
+
|
|
13189
|
+
if (window.transitionCount.value > 0) {
|
|
13190
|
+
window.transitionCount.value -= 1; // Remove container height if we are out of transition.
|
|
13191
|
+
|
|
13192
|
+
if (window.transitionCount.value === 0) {
|
|
13193
|
+
window.transitionHeight.value = undefined;
|
|
13194
|
+
}
|
|
13195
|
+
}
|
|
13196
|
+
}
|
|
13197
|
+
|
|
13198
|
+
function onBeforeTransition() {
|
|
13199
|
+
if (isTransitioning.value || !window) {
|
|
13200
|
+
return;
|
|
13201
|
+
} // Initialize transition state here.
|
|
13202
|
+
|
|
13203
|
+
|
|
13204
|
+
isTransitioning.value = true;
|
|
13205
|
+
|
|
13206
|
+
if (window.transitionCount.value === 0) {
|
|
13207
|
+
var _window$rootRef$value;
|
|
13208
|
+
|
|
13209
|
+
// Set initial height for height transition.
|
|
13210
|
+
window.transitionHeight.value = convertToUnit((_window$rootRef$value = window.rootRef.value) == null ? void 0 : _window$rootRef$value.clientHeight);
|
|
13211
|
+
}
|
|
13212
|
+
|
|
13213
|
+
window.transitionCount.value += 1;
|
|
13214
|
+
}
|
|
13215
|
+
|
|
13216
|
+
function onTransitionCancelled() {
|
|
13217
|
+
onAfterTransition(); // This should have the same path as normal transition end.
|
|
13218
|
+
}
|
|
13219
|
+
|
|
13220
|
+
function onEnterTransition(el) {
|
|
13221
|
+
if (!isTransitioning.value) {
|
|
13222
|
+
return;
|
|
13223
|
+
}
|
|
13224
|
+
|
|
13225
|
+
vue.nextTick(() => {
|
|
13226
|
+
// Do not set height if no transition or cancelled.
|
|
13227
|
+
if (!hasTransition.value || !isTransitioning.value || !window) {
|
|
13228
|
+
return;
|
|
13229
|
+
} // Set transition target height.
|
|
13230
|
+
|
|
13231
|
+
|
|
13232
|
+
window.transitionHeight.value = convertToUnit(el.clientHeight);
|
|
13233
|
+
});
|
|
13234
|
+
}
|
|
13235
|
+
|
|
13236
|
+
const transition = vue.computed(() => {
|
|
13237
|
+
const name = window.isReversed.value ? props.reverseTransition : props.transition;
|
|
13238
|
+
return !hasTransition.value ? false : {
|
|
13239
|
+
name: typeof name !== 'string' ? window.transition.value : name,
|
|
13240
|
+
onBeforeEnter: onBeforeTransition,
|
|
13241
|
+
onAfterEnter: onAfterTransition,
|
|
13242
|
+
onEnterCancelled: onTransitionCancelled,
|
|
13243
|
+
onBeforeLeave: onBeforeTransition,
|
|
13244
|
+
onAfterLeave: onAfterTransition,
|
|
13245
|
+
onLeaveCancelled: onTransitionCancelled,
|
|
13246
|
+
onEnter: onEnterTransition
|
|
13247
|
+
};
|
|
13248
|
+
});
|
|
13249
|
+
const {
|
|
13250
|
+
hasContent
|
|
13251
|
+
} = useLazy(props, groupItem.isSelected);
|
|
13252
|
+
return () => {
|
|
13253
|
+
return vue.createVNode(MaybeTransition, {
|
|
13254
|
+
"transition": transition.value
|
|
13255
|
+
}, {
|
|
13256
|
+
default: () => [vue.withDirectives(vue.createVNode("div", {
|
|
13257
|
+
"class": ['v-window-item', groupItem.selectedClass.value]
|
|
13258
|
+
}, [slots.default && hasContent.value && slots.default()], 2), [[vue.vShow, groupItem.isSelected.value]])]
|
|
13259
|
+
}, 8, ["transition"]);
|
|
13260
|
+
};
|
|
13261
|
+
}
|
|
13262
|
+
|
|
13263
|
+
});
|
|
13264
|
+
|
|
13265
|
+
var components = /*#__PURE__*/Object.freeze({
|
|
13266
|
+
__proto__: null,
|
|
13267
|
+
VApp: VApp,
|
|
13268
|
+
VAppBar: VAppBar,
|
|
13269
|
+
VAppBarNavIcon: VAppBarNavIcon,
|
|
13270
|
+
VAppBarTitle: VAppBarTitle,
|
|
13271
|
+
VAlert: VAlert,
|
|
13272
|
+
VAvatar: VAvatar,
|
|
13273
|
+
VBadge: VBadge,
|
|
13274
|
+
VBanner: VBanner,
|
|
13275
|
+
VBannerActions: VBannerActions,
|
|
13276
|
+
VBannerAvatar: VBannerAvatar,
|
|
13277
|
+
VBannerContent: VBannerContent,
|
|
13278
|
+
VBannerText: VBannerText,
|
|
13279
|
+
VBottomNavigation: VBottomNavigation,
|
|
13280
|
+
VBreadcrumbs: VBreadcrumbs,
|
|
13281
|
+
VBreadcrumbsItem: VBreadcrumbsItem,
|
|
13282
|
+
VBreadcrumbsDivider: VBreadcrumbsDivider,
|
|
13283
|
+
VBtn: VBtn,
|
|
13284
|
+
VBtnGroup: VBtnGroup,
|
|
13285
|
+
VBtnToggle: VBtnToggle,
|
|
13286
|
+
VCard: VCard,
|
|
13287
|
+
VCardActions: VCardActions,
|
|
13288
|
+
VCardAvatar: VCardAvatar,
|
|
13289
|
+
VCardHeader: VCardHeader,
|
|
13290
|
+
VCardHeaderText: VCardHeaderText,
|
|
13291
|
+
VCardImg: VCardImg,
|
|
13292
|
+
VCardSubtitle: VCardSubtitle,
|
|
13293
|
+
VCardText: VCardText,
|
|
13294
|
+
VCardTitle: VCardTitle,
|
|
13295
|
+
VCheckbox: VCheckbox,
|
|
13296
|
+
VChip: VChip,
|
|
13297
|
+
VCode: VCode,
|
|
13298
|
+
VCounter: VCounter,
|
|
13299
|
+
VDefaultsProvider: VDefaultsProvider,
|
|
13300
|
+
VDialog: VDialog,
|
|
13301
|
+
VDivider: VDivider,
|
|
13302
|
+
VExpansionPanels: VExpansionPanels,
|
|
13303
|
+
VExpansionPanel: VExpansionPanel,
|
|
13304
|
+
VExpansionPanelText: VExpansionPanelText,
|
|
13305
|
+
VExpansionPanelTitle: VExpansionPanelTitle,
|
|
13306
|
+
VField: VField,
|
|
13307
|
+
VFieldLabel: VFieldLabel,
|
|
13308
|
+
VFileInput: VFileInput,
|
|
13309
|
+
VFooter: VFooter,
|
|
13310
|
+
VForm: VForm,
|
|
13311
|
+
VContainer: VContainer,
|
|
13312
|
+
VCol: VCol,
|
|
13313
|
+
VRow: VRow,
|
|
13314
|
+
VSpacer: VSpacer,
|
|
13315
|
+
VHover: VHover,
|
|
13316
|
+
VIcon: VIcon,
|
|
13317
|
+
VComponentIcon: VComponentIcon,
|
|
13318
|
+
VSvgIcon: VSvgIcon,
|
|
13319
|
+
VLigatureIcon: VLigatureIcon,
|
|
13320
|
+
VClassIcon: VClassIcon,
|
|
13321
|
+
VImg: VImg,
|
|
13322
|
+
VInput: VInput,
|
|
13323
|
+
VItemGroup: VItemGroup,
|
|
13324
|
+
VItem: VItem,
|
|
13325
|
+
VKbd: VKbd,
|
|
13326
|
+
VLabel: VLabel,
|
|
13327
|
+
VLayout: VLayout,
|
|
13328
|
+
VLayoutItem: VLayoutItem,
|
|
13329
|
+
VLazy: VLazy,
|
|
13330
|
+
VList: VList,
|
|
13331
|
+
VListSubheader: VListSubheader,
|
|
13332
|
+
VListImg: VListImg,
|
|
13333
|
+
VListItem: VListItem,
|
|
13334
|
+
VListItemAvatar: VListItemAvatar,
|
|
13335
|
+
VListItemHeader: VListItemHeader,
|
|
13336
|
+
VListItemMedia: VListItemMedia,
|
|
13337
|
+
VListItemSubtitle: VListItemSubtitle,
|
|
13338
|
+
VListItemTitle: VListItemTitle,
|
|
13339
|
+
VListGroup: VListGroup,
|
|
13340
|
+
VLocaleProvider: VLocaleProvider,
|
|
13341
|
+
VMain: VMain,
|
|
13342
|
+
VMenu: VMenu,
|
|
13343
|
+
VMessages: VMessages,
|
|
13344
|
+
VNavigationDrawer: VNavigationDrawer,
|
|
13345
|
+
VNoSsr: VNoSsr,
|
|
13346
|
+
VOverlay: VOverlay,
|
|
13347
|
+
VPagination: VPagination,
|
|
13348
|
+
VParallax: VParallax,
|
|
13349
|
+
VProgressCircular: VProgressCircular,
|
|
13350
|
+
VProgressLinear: VProgressLinear,
|
|
13351
|
+
VRadio: VRadio,
|
|
13352
|
+
VRadioGroup: VRadioGroup,
|
|
13353
|
+
VRangeSlider: VRangeSlider,
|
|
13354
|
+
VRating: VRating,
|
|
13355
|
+
VResponsive: VResponsive,
|
|
13356
|
+
VSelectionControl: VSelectionControl,
|
|
13357
|
+
VSelectionControlGroup: VSelectionControlGroup,
|
|
13358
|
+
VSheet: VSheet,
|
|
13359
|
+
VSlider: VSlider,
|
|
13360
|
+
VSwitch: VSwitch,
|
|
13361
|
+
VSystemBar: VSystemBar,
|
|
13362
|
+
VTable: VTable,
|
|
13363
|
+
VTextarea: VTextarea,
|
|
13364
|
+
VTextField: VTextField,
|
|
13365
|
+
VThemeProvider: VThemeProvider,
|
|
12904
13366
|
VTimeline: VTimeline,
|
|
12905
13367
|
VTimelineItem: VTimelineItem,
|
|
12906
13368
|
VTooltip: VTooltip,
|
|
12907
13369
|
VValidation: VValidation,
|
|
13370
|
+
VWindow: VWindow,
|
|
13371
|
+
VWindowItem: VWindowItem,
|
|
12908
13372
|
VDialogTransition: VDialogTransition,
|
|
12909
13373
|
VCarouselTransition: VCarouselTransition,
|
|
12910
13374
|
VCarouselReverseTransition: VCarouselReverseTransition,
|
|
@@ -12929,7 +13393,7 @@
|
|
|
12929
13393
|
});
|
|
12930
13394
|
|
|
12931
13395
|
// Types
|
|
12932
|
-
function mounted$
|
|
13396
|
+
function mounted$2(el, binding) {
|
|
12933
13397
|
var _modifierKeys$attr, _modifierKeys$char, _modifierKeys$child, _modifierKeys$sub;
|
|
12934
13398
|
|
|
12935
13399
|
const modifiers = binding.modifiers || {};
|
|
@@ -12956,7 +13420,7 @@
|
|
|
12956
13420
|
let mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
12957
13421
|
let observer = arguments.length > 1 ? arguments[1] : undefined;
|
|
12958
13422
|
handler == null ? void 0 : handler(mutations, observer);
|
|
12959
|
-
if (once) unmounted$
|
|
13423
|
+
if (once) unmounted$2(el, binding);
|
|
12960
13424
|
});
|
|
12961
13425
|
if (immediate) handler == null ? void 0 : handler([], observer);
|
|
12962
13426
|
el._mutate = Object(el._mutate);
|
|
@@ -12966,7 +13430,7 @@
|
|
|
12966
13430
|
observer.observe(el, options);
|
|
12967
13431
|
}
|
|
12968
13432
|
|
|
12969
|
-
function unmounted$
|
|
13433
|
+
function unmounted$2(el, binding) {
|
|
12970
13434
|
var _el$_mutate;
|
|
12971
13435
|
|
|
12972
13436
|
if (!((_el$_mutate = el._mutate) != null && _el$_mutate[binding.instance.$.uid])) return;
|
|
@@ -12977,11 +13441,11 @@
|
|
|
12977
13441
|
}
|
|
12978
13442
|
|
|
12979
13443
|
const Mutate = {
|
|
12980
|
-
mounted: mounted$
|
|
12981
|
-
unmounted: unmounted$
|
|
13444
|
+
mounted: mounted$2,
|
|
13445
|
+
unmounted: unmounted$2
|
|
12982
13446
|
};
|
|
12983
13447
|
|
|
12984
|
-
function mounted$
|
|
13448
|
+
function mounted$1(el, binding) {
|
|
12985
13449
|
var _binding$modifiers, _binding$modifiers2;
|
|
12986
13450
|
|
|
12987
13451
|
const handler = binding.value;
|
|
@@ -13000,7 +13464,7 @@
|
|
|
13000
13464
|
}
|
|
13001
13465
|
}
|
|
13002
13466
|
|
|
13003
|
-
function unmounted$
|
|
13467
|
+
function unmounted$1(el, binding) {
|
|
13004
13468
|
var _el$_onResize;
|
|
13005
13469
|
|
|
13006
13470
|
if (!((_el$_onResize = el._onResize) != null && _el$_onResize[binding.instance.$.uid])) return;
|
|
@@ -13013,11 +13477,11 @@
|
|
|
13013
13477
|
}
|
|
13014
13478
|
|
|
13015
13479
|
const Resize = {
|
|
13016
|
-
mounted: mounted$
|
|
13017
|
-
unmounted: unmounted$
|
|
13480
|
+
mounted: mounted$1,
|
|
13481
|
+
unmounted: unmounted$1
|
|
13018
13482
|
};
|
|
13019
13483
|
|
|
13020
|
-
function mounted
|
|
13484
|
+
function mounted(el, binding) {
|
|
13021
13485
|
var _binding$modifiers;
|
|
13022
13486
|
|
|
13023
13487
|
const {
|
|
@@ -13040,7 +13504,7 @@
|
|
|
13040
13504
|
};
|
|
13041
13505
|
}
|
|
13042
13506
|
|
|
13043
|
-
function unmounted
|
|
13507
|
+
function unmounted(el, binding) {
|
|
13044
13508
|
var _el$_onScroll;
|
|
13045
13509
|
|
|
13046
13510
|
if (!((_el$_onScroll = el._onScroll) != null && _el$_onScroll[binding.instance.$.uid])) return;
|
|
@@ -13055,136 +13519,14 @@
|
|
|
13055
13519
|
|
|
13056
13520
|
function updated(el, binding) {
|
|
13057
13521
|
if (binding.value === binding.oldValue) return;
|
|
13058
|
-
unmounted
|
|
13059
|
-
mounted
|
|
13522
|
+
unmounted(el, binding);
|
|
13523
|
+
mounted(el, binding);
|
|
13060
13524
|
}
|
|
13061
13525
|
|
|
13062
13526
|
const Scroll = {
|
|
13063
|
-
mounted: mounted$1,
|
|
13064
|
-
unmounted: unmounted$1,
|
|
13065
|
-
updated
|
|
13066
|
-
};
|
|
13067
|
-
|
|
13068
|
-
// Types
|
|
13069
|
-
|
|
13070
|
-
const handleGesture = wrapper => {
|
|
13071
|
-
const {
|
|
13072
|
-
touchstartX,
|
|
13073
|
-
touchendX,
|
|
13074
|
-
touchstartY,
|
|
13075
|
-
touchendY
|
|
13076
|
-
} = wrapper;
|
|
13077
|
-
const dirRatio = 0.5;
|
|
13078
|
-
const minDistance = 16;
|
|
13079
|
-
wrapper.offsetX = touchendX - touchstartX;
|
|
13080
|
-
wrapper.offsetY = touchendY - touchstartY;
|
|
13081
|
-
|
|
13082
|
-
if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {
|
|
13083
|
-
wrapper.left && touchendX < touchstartX - minDistance && wrapper.left(wrapper);
|
|
13084
|
-
wrapper.right && touchendX > touchstartX + minDistance && wrapper.right(wrapper);
|
|
13085
|
-
}
|
|
13086
|
-
|
|
13087
|
-
if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {
|
|
13088
|
-
wrapper.up && touchendY < touchstartY - minDistance && wrapper.up(wrapper);
|
|
13089
|
-
wrapper.down && touchendY > touchstartY + minDistance && wrapper.down(wrapper);
|
|
13090
|
-
}
|
|
13091
|
-
};
|
|
13092
|
-
|
|
13093
|
-
function touchstart(event, wrapper) {
|
|
13094
|
-
var _wrapper$start;
|
|
13095
|
-
|
|
13096
|
-
const touch = event.changedTouches[0];
|
|
13097
|
-
wrapper.touchstartX = touch.clientX;
|
|
13098
|
-
wrapper.touchstartY = touch.clientY;
|
|
13099
|
-
(_wrapper$start = wrapper.start) == null ? void 0 : _wrapper$start.call(wrapper, { ...event,
|
|
13100
|
-
...wrapper
|
|
13101
|
-
});
|
|
13102
|
-
}
|
|
13103
|
-
|
|
13104
|
-
function touchend(event, wrapper) {
|
|
13105
|
-
var _wrapper$end;
|
|
13106
|
-
|
|
13107
|
-
const touch = event.changedTouches[0];
|
|
13108
|
-
wrapper.touchendX = touch.clientX;
|
|
13109
|
-
wrapper.touchendY = touch.clientY;
|
|
13110
|
-
(_wrapper$end = wrapper.end) == null ? void 0 : _wrapper$end.call(wrapper, { ...event,
|
|
13111
|
-
...wrapper
|
|
13112
|
-
});
|
|
13113
|
-
handleGesture(wrapper);
|
|
13114
|
-
}
|
|
13115
|
-
|
|
13116
|
-
function touchmove(event, wrapper) {
|
|
13117
|
-
var _wrapper$move;
|
|
13118
|
-
|
|
13119
|
-
const touch = event.changedTouches[0];
|
|
13120
|
-
wrapper.touchmoveX = touch.clientX;
|
|
13121
|
-
wrapper.touchmoveY = touch.clientY;
|
|
13122
|
-
(_wrapper$move = wrapper.move) == null ? void 0 : _wrapper$move.call(wrapper, { ...event,
|
|
13123
|
-
...wrapper
|
|
13124
|
-
});
|
|
13125
|
-
}
|
|
13126
|
-
|
|
13127
|
-
function createHandlers() {
|
|
13128
|
-
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
13129
|
-
const wrapper = {
|
|
13130
|
-
touchstartX: 0,
|
|
13131
|
-
touchstartY: 0,
|
|
13132
|
-
touchendX: 0,
|
|
13133
|
-
touchendY: 0,
|
|
13134
|
-
touchmoveX: 0,
|
|
13135
|
-
touchmoveY: 0,
|
|
13136
|
-
offsetX: 0,
|
|
13137
|
-
offsetY: 0,
|
|
13138
|
-
left: value.left,
|
|
13139
|
-
right: value.right,
|
|
13140
|
-
up: value.up,
|
|
13141
|
-
down: value.down,
|
|
13142
|
-
start: value.start,
|
|
13143
|
-
move: value.move,
|
|
13144
|
-
end: value.end
|
|
13145
|
-
};
|
|
13146
|
-
return {
|
|
13147
|
-
touchstart: e => touchstart(e, wrapper),
|
|
13148
|
-
touchend: e => touchend(e, wrapper),
|
|
13149
|
-
touchmove: e => touchmove(e, wrapper)
|
|
13150
|
-
};
|
|
13151
|
-
}
|
|
13152
|
-
|
|
13153
|
-
function mounted(el, binding) {
|
|
13154
|
-
var _value$options, _binding$instance, _target$_touchHandler;
|
|
13155
|
-
|
|
13156
|
-
const value = binding.value;
|
|
13157
|
-
const target = value != null && value.parent ? el.parentElement : el;
|
|
13158
|
-
const options = (_value$options = value == null ? void 0 : value.options) != null ? _value$options : {
|
|
13159
|
-
passive: true
|
|
13160
|
-
};
|
|
13161
|
-
const uid = (_binding$instance = binding.instance) == null ? void 0 : _binding$instance.$.uid; // TODO: use custom uid generator
|
|
13162
|
-
|
|
13163
|
-
if (!target || !uid) return;
|
|
13164
|
-
const handlers = createHandlers(binding.value);
|
|
13165
|
-
target._touchHandlers = (_target$_touchHandler = target._touchHandlers) != null ? _target$_touchHandler : Object.create(null);
|
|
13166
|
-
target._touchHandlers[uid] = handlers;
|
|
13167
|
-
keys(handlers).forEach(eventName => {
|
|
13168
|
-
target.addEventListener(eventName, handlers[eventName], options);
|
|
13169
|
-
});
|
|
13170
|
-
}
|
|
13171
|
-
|
|
13172
|
-
function unmounted(el, binding) {
|
|
13173
|
-
var _binding$value, _binding$instance2;
|
|
13174
|
-
|
|
13175
|
-
const target = (_binding$value = binding.value) != null && _binding$value.parent ? el.parentElement : el;
|
|
13176
|
-
const uid = (_binding$instance2 = binding.instance) == null ? void 0 : _binding$instance2.$.uid;
|
|
13177
|
-
if (!(target != null && target._touchHandlers) || !uid) return;
|
|
13178
|
-
const handlers = target._touchHandlers[uid];
|
|
13179
|
-
keys(handlers).forEach(eventName => {
|
|
13180
|
-
target.removeEventListener(eventName, handlers[eventName]);
|
|
13181
|
-
});
|
|
13182
|
-
delete target._touchHandlers[uid];
|
|
13183
|
-
}
|
|
13184
|
-
|
|
13185
|
-
const Touch = {
|
|
13186
13527
|
mounted,
|
|
13187
|
-
unmounted
|
|
13528
|
+
unmounted,
|
|
13529
|
+
updated
|
|
13188
13530
|
};
|
|
13189
13531
|
|
|
13190
13532
|
var directives = /*#__PURE__*/Object.freeze({
|
|
@@ -13323,7 +13665,7 @@
|
|
|
13323
13665
|
...options
|
|
13324
13666
|
});
|
|
13325
13667
|
};
|
|
13326
|
-
const version = "3.0.0-next-
|
|
13668
|
+
const version = "3.0.0-next-20220128.0";
|
|
13327
13669
|
|
|
13328
13670
|
exports.components = components;
|
|
13329
13671
|
exports.createVuetify = createVuetify;
|