vuetify 3.5.16 → 3.5.17
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 +226 -30
- package/dist/json/importMap-labs.json +8 -4
- package/dist/json/importMap.json +126 -126
- package/dist/json/tags.json +54 -0
- package/dist/json/web-types.json +607 -84
- package/dist/vuetify-labs.css +2606 -2579
- package/dist/vuetify-labs.d.ts +742 -64
- package/dist/vuetify-labs.esm.js +356 -127
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +355 -126
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +2393 -2367
- package/dist/vuetify.d.ts +127 -62
- package/dist/vuetify.esm.js +169 -101
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +168 -100
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +181 -178
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAppBar/index.d.mts +1 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +8 -10
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.css +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.css +1 -1
- package/lib/components/VBtn/index.d.mts +1 -0
- package/lib/components/VBtnToggle/index.d.mts +1 -0
- package/lib/components/VCard/VCard.css +3 -3
- package/lib/components/VCarousel/VCarouselItem.mjs +1 -1
- package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
- package/lib/components/VCarousel/index.d.mts +1 -0
- package/lib/components/VChip/VChip.css +1 -1
- package/lib/components/VChip/VChip.sass +1 -0
- package/lib/components/VChipGroup/index.d.mts +1 -0
- package/lib/components/VCombobox/VCombobox.mjs +8 -10
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs +10 -0
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.mjs +6 -2
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs +39 -0
- package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs.map +1 -0
- package/lib/components/VDialog/index.d.mts +4 -10
- package/lib/components/VFileInput/VFileInput.mjs +1 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.mts +17 -5
- package/lib/components/VInput/VInput.mjs +6 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.mts +6 -0
- package/lib/components/VList/VList.mjs +2 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +3 -3
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/touch.mjs +16 -2
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs +11 -1
- package/lib/components/VProgressLinear/VProgressLinear.mjs.map +1 -1
- package/lib/components/VProgressLinear/index.d.mts +21 -0
- package/lib/components/VRangeSlider/index.d.mts +6 -0
- package/lib/components/VSelect/VSelect.mjs +5 -1
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.mts +1 -0
- package/lib/components/VSlider/index.d.mts +6 -0
- package/lib/components/VSnackbar/VSnackbar.css +18 -4
- package/lib/components/VSnackbar/VSnackbar.mjs +26 -8
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +19 -3
- package/lib/components/VSwitch/VSwitch.css +14 -2
- package/lib/components/VSwitch/VSwitch.sass +8 -2
- package/lib/components/VSystemBar/VSystemBar.css +1 -1
- package/lib/components/VTabs/index.d.mts +1 -0
- package/lib/components/VTextField/index.d.mts +15 -3
- package/lib/components/VTextarea/index.d.mts +15 -3
- package/lib/components/VWindow/index.d.mts +1 -0
- package/lib/components/index.d.mts +85 -21
- package/lib/composables/group.mjs +10 -1
- package/lib/composables/group.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +42 -41
- package/lib/labs/VEmptyState/VEmptyState.css +3 -3
- package/lib/labs/VFab/VFab.css +1 -0
- package/lib/labs/VFab/VFab.mjs +3 -2
- package/lib/labs/VFab/VFab.mjs.map +1 -1
- package/lib/labs/VFab/VFab.sass +1 -0
- package/lib/labs/VFab/index.d.mts +10 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs +79 -24
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/index.d.mts +56 -29
- package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs +112 -0
- package/lib/labs/VSnackbarQueue/VSnackbarQueue.mjs.map +1 -0
- package/lib/labs/VSnackbarQueue/index.d.mts +2693 -0
- package/lib/labs/VSnackbarQueue/index.mjs +2 -0
- package/lib/labs/VSnackbarQueue/index.mjs.map +1 -0
- package/lib/labs/VTimePicker/VTimePickerClock.mjs +1 -3
- package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/labs/VTimePicker/index.d.mts +6 -13
- package/lib/labs/components.d.mts +2893 -282
- package/lib/labs/components.mjs +1 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/locale/af.mjs +1 -0
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs +1 -0
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs +1 -0
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +1 -0
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +1 -0
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +1 -0
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +1 -0
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +1 -0
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/de.mjs +1 -0
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs +1 -0
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs +1 -0
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +1 -0
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +1 -0
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +1 -0
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +1 -0
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +1 -0
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +1 -0
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +1 -0
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +1 -0
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +1 -0
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.d.mts +43 -0
- package/lib/locale/it.mjs +1 -0
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +1 -0
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/km.mjs +1 -0
- package/lib/locale/km.mjs.map +1 -1
- package/lib/locale/ko.mjs +1 -0
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +1 -0
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +1 -0
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +1 -0
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +1 -0
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +1 -0
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +1 -0
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +1 -0
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +1 -0
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +1 -0
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +1 -0
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +1 -0
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +1 -0
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +1 -0
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +1 -0
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +1 -0
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +1 -0
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +1 -0
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +1 -0
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +1 -0
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/lib/styles/main.css +78 -78
- package/lib/styles/settings/_variables.scss +21 -14
- package/package.json +2 -2
package/dist/vuetify.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.5.
|
|
2
|
+
* Vuetify v3.5.17
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -2374,6 +2374,7 @@
|
|
|
2374
2374
|
badge: 'Badge',
|
|
2375
2375
|
open: 'Open',
|
|
2376
2376
|
close: 'Close',
|
|
2377
|
+
dismiss: 'Dismiss',
|
|
2377
2378
|
confirmEdit: {
|
|
2378
2379
|
ok: 'OK',
|
|
2379
2380
|
cancel: 'Cancel'
|
|
@@ -4598,6 +4599,7 @@
|
|
|
4598
4599
|
const index = children.indexOf(vm);
|
|
4599
4600
|
if (vue.unref(unwrapped.value) == null) {
|
|
4600
4601
|
unwrapped.value = index;
|
|
4602
|
+
unwrapped.useIndexAsValue = true;
|
|
4601
4603
|
}
|
|
4602
4604
|
if (index > -1) {
|
|
4603
4605
|
items.splice(index, 0, unwrapped);
|
|
@@ -4630,6 +4632,14 @@
|
|
|
4630
4632
|
vue.onBeforeUnmount(() => {
|
|
4631
4633
|
isUnmounted = true;
|
|
4632
4634
|
});
|
|
4635
|
+
vue.onUpdated(() => {
|
|
4636
|
+
// #19655 update the items that use the index as the value.
|
|
4637
|
+
for (let i = 0; i < items.length; i++) {
|
|
4638
|
+
if (items[i].useIndexAsValue) {
|
|
4639
|
+
items[i].value = i;
|
|
4640
|
+
}
|
|
4641
|
+
}
|
|
4642
|
+
});
|
|
4633
4643
|
function select(id, value) {
|
|
4634
4644
|
const item = items.find(item => item.id === id);
|
|
4635
4645
|
if (value && item?.disabled) return;
|
|
@@ -5012,6 +5022,65 @@
|
|
|
5012
5022
|
}
|
|
5013
5023
|
});
|
|
5014
5024
|
|
|
5025
|
+
// Composables
|
|
5026
|
+
|
|
5027
|
+
// Types
|
|
5028
|
+
|
|
5029
|
+
const oppositeMap = {
|
|
5030
|
+
center: 'center',
|
|
5031
|
+
top: 'bottom',
|
|
5032
|
+
bottom: 'top',
|
|
5033
|
+
left: 'right',
|
|
5034
|
+
right: 'left'
|
|
5035
|
+
};
|
|
5036
|
+
const makeLocationProps = propsFactory({
|
|
5037
|
+
location: String
|
|
5038
|
+
}, 'location');
|
|
5039
|
+
function useLocation(props) {
|
|
5040
|
+
let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
5041
|
+
let offset = arguments.length > 2 ? arguments[2] : undefined;
|
|
5042
|
+
const {
|
|
5043
|
+
isRtl
|
|
5044
|
+
} = useRtl();
|
|
5045
|
+
const locationStyles = vue.computed(() => {
|
|
5046
|
+
if (!props.location) return {};
|
|
5047
|
+
const {
|
|
5048
|
+
side,
|
|
5049
|
+
align
|
|
5050
|
+
} = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);
|
|
5051
|
+
function getOffset(side) {
|
|
5052
|
+
return offset ? offset(side) : 0;
|
|
5053
|
+
}
|
|
5054
|
+
const styles = {};
|
|
5055
|
+
if (side !== 'center') {
|
|
5056
|
+
if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;
|
|
5057
|
+
}
|
|
5058
|
+
if (align !== 'center') {
|
|
5059
|
+
if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;
|
|
5060
|
+
} else {
|
|
5061
|
+
if (side === 'center') styles.top = styles.left = '50%';else {
|
|
5062
|
+
styles[{
|
|
5063
|
+
top: 'left',
|
|
5064
|
+
bottom: 'left',
|
|
5065
|
+
left: 'top',
|
|
5066
|
+
right: 'top'
|
|
5067
|
+
}[side]] = '50%';
|
|
5068
|
+
}
|
|
5069
|
+
styles.transform = {
|
|
5070
|
+
top: 'translateX(-50%)',
|
|
5071
|
+
bottom: 'translateX(-50%)',
|
|
5072
|
+
left: 'translateY(-50%)',
|
|
5073
|
+
right: 'translateY(-50%)',
|
|
5074
|
+
center: 'translate(-50%, -50%)'
|
|
5075
|
+
}[side];
|
|
5076
|
+
}
|
|
5077
|
+
return styles;
|
|
5078
|
+
});
|
|
5079
|
+
return {
|
|
5080
|
+
locationStyles
|
|
5081
|
+
};
|
|
5082
|
+
}
|
|
5083
|
+
|
|
5015
5084
|
const makeVProgressLinearProps = propsFactory({
|
|
5016
5085
|
absolute: Boolean,
|
|
5017
5086
|
active: {
|
|
@@ -5044,6 +5113,9 @@
|
|
|
5044
5113
|
striped: Boolean,
|
|
5045
5114
|
roundedBar: Boolean,
|
|
5046
5115
|
...makeComponentProps(),
|
|
5116
|
+
...makeLocationProps({
|
|
5117
|
+
location: 'top'
|
|
5118
|
+
}),
|
|
5047
5119
|
...makeRoundedProps(),
|
|
5048
5120
|
...makeTagProps(),
|
|
5049
5121
|
...makeThemeProps()
|
|
@@ -5066,6 +5138,9 @@
|
|
|
5066
5138
|
const {
|
|
5067
5139
|
themeClasses
|
|
5068
5140
|
} = provideTheme(props);
|
|
5141
|
+
const {
|
|
5142
|
+
locationStyles
|
|
5143
|
+
} = useLocation(props);
|
|
5069
5144
|
const {
|
|
5070
5145
|
textColorClasses,
|
|
5071
5146
|
textColorStyles
|
|
@@ -5115,8 +5190,11 @@
|
|
|
5115
5190
|
'v-progress-linear--striped': props.striped
|
|
5116
5191
|
}, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class],
|
|
5117
5192
|
"style": [{
|
|
5193
|
+
bottom: props.location === 'bottom' ? 0 : undefined,
|
|
5194
|
+
top: props.location === 'top' ? 0 : undefined,
|
|
5118
5195
|
height: props.active ? convertToUnit(height.value) : 0,
|
|
5119
|
-
'--v-progress-linear-height': convertToUnit(height.value)
|
|
5196
|
+
'--v-progress-linear-height': convertToUnit(height.value),
|
|
5197
|
+
...(props.absolute ? locationStyles.value : {})
|
|
5120
5198
|
}, props.style],
|
|
5121
5199
|
"role": "progressbar",
|
|
5122
5200
|
"aria-hidden": props.active ? 'false' : 'true',
|
|
@@ -5202,65 +5280,6 @@
|
|
|
5202
5280
|
}, null)]);
|
|
5203
5281
|
}
|
|
5204
5282
|
|
|
5205
|
-
// Composables
|
|
5206
|
-
|
|
5207
|
-
// Types
|
|
5208
|
-
|
|
5209
|
-
const oppositeMap = {
|
|
5210
|
-
center: 'center',
|
|
5211
|
-
top: 'bottom',
|
|
5212
|
-
bottom: 'top',
|
|
5213
|
-
left: 'right',
|
|
5214
|
-
right: 'left'
|
|
5215
|
-
};
|
|
5216
|
-
const makeLocationProps = propsFactory({
|
|
5217
|
-
location: String
|
|
5218
|
-
}, 'location');
|
|
5219
|
-
function useLocation(props) {
|
|
5220
|
-
let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
5221
|
-
let offset = arguments.length > 2 ? arguments[2] : undefined;
|
|
5222
|
-
const {
|
|
5223
|
-
isRtl
|
|
5224
|
-
} = useRtl();
|
|
5225
|
-
const locationStyles = vue.computed(() => {
|
|
5226
|
-
if (!props.location) return {};
|
|
5227
|
-
const {
|
|
5228
|
-
side,
|
|
5229
|
-
align
|
|
5230
|
-
} = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);
|
|
5231
|
-
function getOffset(side) {
|
|
5232
|
-
return offset ? offset(side) : 0;
|
|
5233
|
-
}
|
|
5234
|
-
const styles = {};
|
|
5235
|
-
if (side !== 'center') {
|
|
5236
|
-
if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;
|
|
5237
|
-
}
|
|
5238
|
-
if (align !== 'center') {
|
|
5239
|
-
if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;
|
|
5240
|
-
} else {
|
|
5241
|
-
if (side === 'center') styles.top = styles.left = '50%';else {
|
|
5242
|
-
styles[{
|
|
5243
|
-
top: 'left',
|
|
5244
|
-
bottom: 'left',
|
|
5245
|
-
left: 'top',
|
|
5246
|
-
right: 'top'
|
|
5247
|
-
}[side]] = '50%';
|
|
5248
|
-
}
|
|
5249
|
-
styles.transform = {
|
|
5250
|
-
top: 'translateX(-50%)',
|
|
5251
|
-
bottom: 'translateX(-50%)',
|
|
5252
|
-
left: 'translateY(-50%)',
|
|
5253
|
-
right: 'translateY(-50%)',
|
|
5254
|
-
center: 'translate(-50%, -50%)'
|
|
5255
|
-
}[side];
|
|
5256
|
-
}
|
|
5257
|
-
return styles;
|
|
5258
|
-
});
|
|
5259
|
-
return {
|
|
5260
|
-
locationStyles
|
|
5261
|
-
};
|
|
5262
|
-
}
|
|
5263
|
-
|
|
5264
5283
|
// Utilities
|
|
5265
5284
|
|
|
5266
5285
|
// Types
|
|
@@ -6975,6 +6994,7 @@
|
|
|
6975
6994
|
'onClick:append': EventProp(),
|
|
6976
6995
|
...makeComponentProps(),
|
|
6977
6996
|
...makeDensityProps(),
|
|
6997
|
+
...makeThemeProps(),
|
|
6978
6998
|
...makeValidationProps()
|
|
6979
6999
|
}, 'VInput');
|
|
6980
7000
|
const VInput = genericComponent()({
|
|
@@ -6994,6 +7014,9 @@
|
|
|
6994
7014
|
const {
|
|
6995
7015
|
densityClasses
|
|
6996
7016
|
} = useDensity(props);
|
|
7017
|
+
const {
|
|
7018
|
+
themeClasses
|
|
7019
|
+
} = provideTheme(props);
|
|
6997
7020
|
const {
|
|
6998
7021
|
rtlClasses
|
|
6999
7022
|
} = useRtl();
|
|
@@ -7047,7 +7070,7 @@
|
|
|
7047
7070
|
"class": ['v-input', `v-input--${props.direction}`, {
|
|
7048
7071
|
'v-input--center-affix': props.centerAffix,
|
|
7049
7072
|
'v-input--hide-spin-buttons': props.hideSpinButtons
|
|
7050
|
-
}, densityClasses.value, rtlClasses.value, validationClasses.value, props.class],
|
|
7073
|
+
}, densityClasses.value, themeClasses.value, rtlClasses.value, validationClasses.value, props.class],
|
|
7051
7074
|
"style": props.style
|
|
7052
7075
|
}, [hasPrepend && vue.createVNode("div", {
|
|
7053
7076
|
"key": "prepend",
|
|
@@ -9403,7 +9426,8 @@
|
|
|
9403
9426
|
if (!isFocused.value && !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget))) focus();
|
|
9404
9427
|
}
|
|
9405
9428
|
function onKeydown(e) {
|
|
9406
|
-
|
|
9429
|
+
const target = e.target;
|
|
9430
|
+
if (!contentRef.value || ['INPUT', 'TEXTAREA'].includes(target.tagName)) return;
|
|
9407
9431
|
if (e.key === 'ArrowDown') {
|
|
9408
9432
|
focus('next');
|
|
9409
9433
|
} else if (e.key === 'ArrowUp') {
|
|
@@ -12317,6 +12341,10 @@
|
|
|
12317
12341
|
const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));
|
|
12318
12342
|
if (item !== undefined) {
|
|
12319
12343
|
model.value = [item];
|
|
12344
|
+
const index = displayItems.value.indexOf(item);
|
|
12345
|
+
IN_BROWSER && window.requestAnimationFrame(() => {
|
|
12346
|
+
index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);
|
|
12347
|
+
});
|
|
12320
12348
|
}
|
|
12321
12349
|
}
|
|
12322
12350
|
|
|
@@ -12365,7 +12393,7 @@
|
|
|
12365
12393
|
vTextFieldRef.value.value = '';
|
|
12366
12394
|
}
|
|
12367
12395
|
}
|
|
12368
|
-
vue.watch(
|
|
12396
|
+
vue.watch(menu, () => {
|
|
12369
12397
|
if (!props.hideSelected && menu.value && model.value.length) {
|
|
12370
12398
|
const index = displayItems.value.findIndex(item => model.value.some(s => props.valueComparator(s.value, item.value)));
|
|
12371
12399
|
IN_BROWSER && window.requestAnimationFrame(() => {
|
|
@@ -12819,16 +12847,14 @@
|
|
|
12819
12847
|
listRef.value?.focus('next');
|
|
12820
12848
|
}
|
|
12821
12849
|
if (['Backspace', 'Delete'].includes(e.key)) {
|
|
12822
|
-
if (!props.multiple && hasSelectionSlot.value && model.value.length > 0) return select(model.value[0], false);
|
|
12823
|
-
if (selectionIndex.value
|
|
12824
|
-
|
|
12825
|
-
|
|
12826
|
-
|
|
12827
|
-
|
|
12850
|
+
if (!props.multiple && hasSelectionSlot.value && model.value.length > 0 && !search.value) return select(model.value[0], false);
|
|
12851
|
+
if (~selectionIndex.value) {
|
|
12852
|
+
const originalSelectionIndex = selectionIndex.value;
|
|
12853
|
+
select(model.value[selectionIndex.value], false);
|
|
12854
|
+
selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
|
|
12855
|
+
} else if (e.key === 'Backspace' && !search.value) {
|
|
12856
|
+
selectionIndex.value = length - 1;
|
|
12828
12857
|
}
|
|
12829
|
-
const originalSelectionIndex = selectionIndex.value;
|
|
12830
|
-
select(model.value[selectionIndex.value], false);
|
|
12831
|
-
selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
|
|
12832
12858
|
}
|
|
12833
12859
|
if (!props.multiple) return;
|
|
12834
12860
|
if (e.key === 'ArrowLeft') {
|
|
@@ -12876,7 +12902,7 @@
|
|
|
12876
12902
|
listHasFocus.value = false;
|
|
12877
12903
|
}
|
|
12878
12904
|
function onUpdateModelValue(v) {
|
|
12879
|
-
if (v == null || v === '' && !props.multiple) model.value = [];
|
|
12905
|
+
if (v == null || v === '' && !props.multiple && !hasSelectionSlot.value) model.value = [];
|
|
12880
12906
|
}
|
|
12881
12907
|
const isSelecting = vue.shallowRef(false);
|
|
12882
12908
|
|
|
@@ -13514,12 +13540,12 @@
|
|
|
13514
13540
|
name: 'VDialog',
|
|
13515
13541
|
props: makeVDialogProps(),
|
|
13516
13542
|
emits: {
|
|
13517
|
-
'click:outside': e => true,
|
|
13518
13543
|
'update:modelValue': value => true,
|
|
13519
13544
|
afterLeave: () => true
|
|
13520
13545
|
},
|
|
13521
13546
|
setup(props, _ref) {
|
|
13522
13547
|
let {
|
|
13548
|
+
emit,
|
|
13523
13549
|
slots
|
|
13524
13550
|
} = _ref;
|
|
13525
13551
|
const isActive = useProxiedModel(props, 'modelValue');
|
|
@@ -13562,6 +13588,9 @@
|
|
|
13562
13588
|
});
|
|
13563
13589
|
}
|
|
13564
13590
|
}
|
|
13591
|
+
function onAfterLeave() {
|
|
13592
|
+
emit('afterLeave');
|
|
13593
|
+
}
|
|
13565
13594
|
vue.watch(isActive, async val => {
|
|
13566
13595
|
if (!val) {
|
|
13567
13596
|
await vue.nextTick();
|
|
@@ -13593,7 +13622,8 @@
|
|
|
13593
13622
|
"activatorProps": activatorProps,
|
|
13594
13623
|
"contentProps": contentProps,
|
|
13595
13624
|
"role": "dialog",
|
|
13596
|
-
"onAfterEnter": onAfterEnter
|
|
13625
|
+
"onAfterEnter": onAfterEnter,
|
|
13626
|
+
"onAfterLeave": onAfterLeave
|
|
13597
13627
|
}, scopeId), {
|
|
13598
13628
|
activator: slots.activator,
|
|
13599
13629
|
default: function () {
|
|
@@ -14643,7 +14673,7 @@
|
|
|
14643
14673
|
const imgProps = VImg.filterProps(props);
|
|
14644
14674
|
const windowItemProps = VWindowItem.filterProps(props);
|
|
14645
14675
|
return vue.createVNode(VWindowItem, vue.mergeProps({
|
|
14646
|
-
"class":
|
|
14676
|
+
"class": ['v-carousel-item', props.class]
|
|
14647
14677
|
}, windowItemProps), {
|
|
14648
14678
|
default: () => [vue.createVNode(VImg, vue.mergeProps(attrs, imgProps), slots)]
|
|
14649
14679
|
});
|
|
@@ -16648,16 +16678,14 @@
|
|
|
16648
16678
|
if (hasSelectionSlot.value) _search.value = '';
|
|
16649
16679
|
}
|
|
16650
16680
|
if (['Backspace', 'Delete'].includes(e.key)) {
|
|
16651
|
-
if (!props.multiple && hasSelectionSlot.value && model.value.length > 0) return select(model.value[0], false);
|
|
16652
|
-
if (selectionIndex.value
|
|
16653
|
-
|
|
16654
|
-
|
|
16655
|
-
|
|
16656
|
-
|
|
16681
|
+
if (!props.multiple && hasSelectionSlot.value && model.value.length > 0 && !search.value) return select(model.value[0], false);
|
|
16682
|
+
if (~selectionIndex.value) {
|
|
16683
|
+
const originalSelectionIndex = selectionIndex.value;
|
|
16684
|
+
select(model.value[selectionIndex.value], false);
|
|
16685
|
+
selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
|
|
16686
|
+
} else if (e.key === 'Backspace' && !search.value) {
|
|
16687
|
+
selectionIndex.value = length - 1;
|
|
16657
16688
|
}
|
|
16658
|
-
const originalSelectionIndex = selectionIndex.value;
|
|
16659
|
-
select(model.value[selectionIndex.value], false);
|
|
16660
|
-
selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
|
|
16661
16689
|
}
|
|
16662
16690
|
if (!props.multiple) return;
|
|
16663
16691
|
if (e.key === 'ArrowLeft') {
|
|
@@ -16726,7 +16754,7 @@
|
|
|
16726
16754
|
listHasFocus.value = false;
|
|
16727
16755
|
}
|
|
16728
16756
|
function onUpdateModelValue(v) {
|
|
16729
|
-
if (v == null || v === '' && !props.multiple) model.value = [];
|
|
16757
|
+
if (v == null || v === '' && !props.multiple && !hasSelectionSlot.value) model.value = [];
|
|
16730
16758
|
}
|
|
16731
16759
|
vue.watch(isFocused, (val, oldVal) => {
|
|
16732
16760
|
if (val || val === oldVal) return;
|
|
@@ -21589,6 +21617,16 @@
|
|
|
21589
21617
|
vue.watch(model, (val, oldVal) => {
|
|
21590
21618
|
const before = adapter.date(wrapInArray(val)[0]);
|
|
21591
21619
|
const after = adapter.date(wrapInArray(oldVal)[0]);
|
|
21620
|
+
const newMonth = adapter.getMonth(before);
|
|
21621
|
+
const newYear = adapter.getYear(before);
|
|
21622
|
+
if (newMonth !== month.value) {
|
|
21623
|
+
month.value = newMonth;
|
|
21624
|
+
onUpdateMonth(month.value);
|
|
21625
|
+
}
|
|
21626
|
+
if (newYear !== year.value) {
|
|
21627
|
+
year.value = newYear;
|
|
21628
|
+
onUpdateYear(year.value);
|
|
21629
|
+
}
|
|
21592
21630
|
isReversing.value = adapter.isBefore(before, after);
|
|
21593
21631
|
});
|
|
21594
21632
|
useRender(() => {
|
|
@@ -21942,7 +21980,7 @@
|
|
|
21942
21980
|
}),
|
|
21943
21981
|
modelValue: {
|
|
21944
21982
|
type: [Array, Object],
|
|
21945
|
-
default:
|
|
21983
|
+
default: props => props.multiple ? [] : null,
|
|
21946
21984
|
validator: val => {
|
|
21947
21985
|
return wrapInArray(val).every(v => v != null && typeof v === 'object');
|
|
21948
21986
|
}
|
|
@@ -22971,6 +23009,7 @@
|
|
|
22971
23009
|
|
|
22972
23010
|
function useTouch(_ref) {
|
|
22973
23011
|
let {
|
|
23012
|
+
el,
|
|
22974
23013
|
isActive,
|
|
22975
23014
|
isTemporary,
|
|
22976
23015
|
width,
|
|
@@ -23020,10 +23059,10 @@
|
|
|
23020
23059
|
const inTouchZone = position.value === 'left' ? touchX < touchZone : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone : position.value === 'top' ? touchY < touchZone : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone : oops();
|
|
23021
23060
|
const inElement = isActive.value && (position.value === 'left' ? touchX < width.value : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value : position.value === 'top' ? touchY < width.value : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value : oops());
|
|
23022
23061
|
if (inTouchZone || inElement || isActive.value && isTemporary.value) {
|
|
23023
|
-
maybeDragging = true;
|
|
23024
23062
|
start = [touchX, touchY];
|
|
23025
23063
|
offset.value = getOffset(isHorizontal.value ? touchX : touchY, isActive.value);
|
|
23026
23064
|
dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY);
|
|
23065
|
+
maybeDragging = offset.value > -20 && offset.value < 80;
|
|
23027
23066
|
endTouch(e);
|
|
23028
23067
|
addMovement(e);
|
|
23029
23068
|
}
|
|
@@ -23083,6 +23122,18 @@
|
|
|
23083
23122
|
transition: 'none'
|
|
23084
23123
|
} : undefined;
|
|
23085
23124
|
});
|
|
23125
|
+
useToggleScope(isDragging, () => {
|
|
23126
|
+
const transform = el.value?.style.transform ?? null;
|
|
23127
|
+
const transition = el.value?.style.transition ?? null;
|
|
23128
|
+
vue.watchEffect(() => {
|
|
23129
|
+
el.value?.style.setProperty('transform', dragStyles.value?.transform || 'none');
|
|
23130
|
+
el.value?.style.setProperty('transition', dragStyles.value?.transition || null);
|
|
23131
|
+
});
|
|
23132
|
+
vue.onScopeDispose(() => {
|
|
23133
|
+
el.value?.style.setProperty('transform', transform);
|
|
23134
|
+
el.value?.style.setProperty('transition', transition);
|
|
23135
|
+
});
|
|
23136
|
+
});
|
|
23086
23137
|
return {
|
|
23087
23138
|
isDragging,
|
|
23088
23139
|
dragProgress,
|
|
@@ -23215,9 +23266,9 @@
|
|
|
23215
23266
|
});
|
|
23216
23267
|
const {
|
|
23217
23268
|
isDragging,
|
|
23218
|
-
dragProgress
|
|
23219
|
-
dragStyles
|
|
23269
|
+
dragProgress
|
|
23220
23270
|
} = useTouch({
|
|
23271
|
+
el: rootEl,
|
|
23221
23272
|
isActive,
|
|
23222
23273
|
isTemporary,
|
|
23223
23274
|
width,
|
|
@@ -23287,7 +23338,7 @@
|
|
|
23287
23338
|
'v-navigation-drawer--active': isActive.value,
|
|
23288
23339
|
'v-navigation-drawer--sticky': isSticky.value
|
|
23289
23340
|
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, displayClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
|
23290
|
-
"style": [backgroundColorStyles.value, layoutItemStyles.value,
|
|
23341
|
+
"style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
|
|
23291
23342
|
}, scopeId, attrs), {
|
|
23292
23343
|
default: () => [hasImage && vue.createVNode("div", {
|
|
23293
23344
|
"key": "image",
|
|
@@ -24398,8 +24449,8 @@
|
|
|
24398
24449
|
} = _ref;
|
|
24399
24450
|
const isActive = useProxiedModel(props, 'modelValue');
|
|
24400
24451
|
const {
|
|
24401
|
-
|
|
24402
|
-
} =
|
|
24452
|
+
mainStyles
|
|
24453
|
+
} = useLayout();
|
|
24403
24454
|
const {
|
|
24404
24455
|
positionClasses
|
|
24405
24456
|
} = usePosition(props);
|
|
@@ -24421,6 +24472,7 @@
|
|
|
24421
24472
|
const overlay = vue.ref();
|
|
24422
24473
|
const timerRef = vue.ref();
|
|
24423
24474
|
const isHovering = vue.shallowRef(false);
|
|
24475
|
+
const startY = vue.shallowRef(0);
|
|
24424
24476
|
vue.watch(isActive, startTimeout);
|
|
24425
24477
|
vue.watch(() => props.timeout, startTimeout);
|
|
24426
24478
|
vue.onMounted(() => {
|
|
@@ -24450,6 +24502,20 @@
|
|
|
24450
24502
|
isHovering.value = false;
|
|
24451
24503
|
startTimeout();
|
|
24452
24504
|
}
|
|
24505
|
+
function onTouchstart(event) {
|
|
24506
|
+
startY.value = event.touches[0].clientY;
|
|
24507
|
+
}
|
|
24508
|
+
function onTouchend(event) {
|
|
24509
|
+
if (Math.abs(startY.value - event.changedTouches[0].clientY) > 50) {
|
|
24510
|
+
isActive.value = false;
|
|
24511
|
+
}
|
|
24512
|
+
}
|
|
24513
|
+
const locationClasses = vue.computed(() => {
|
|
24514
|
+
return props.location.split(' ').reduce((acc, loc) => {
|
|
24515
|
+
acc[`v-snackbar--${loc}`] = true;
|
|
24516
|
+
return acc;
|
|
24517
|
+
}, {});
|
|
24518
|
+
});
|
|
24453
24519
|
useRender(() => {
|
|
24454
24520
|
const overlayProps = VOverlay.filterProps(props);
|
|
24455
24521
|
const hasContent = !!(slots.default || slots.text || props.text);
|
|
@@ -24460,14 +24526,14 @@
|
|
|
24460
24526
|
'v-snackbar--multi-line': props.multiLine && !props.vertical,
|
|
24461
24527
|
'v-snackbar--timer': !!props.timer,
|
|
24462
24528
|
'v-snackbar--vertical': props.vertical
|
|
24463
|
-
}, positionClasses.value, props.class],
|
|
24464
|
-
"style": props.style
|
|
24529
|
+
}, locationClasses.value, positionClasses.value, props.class],
|
|
24530
|
+
"style": [mainStyles.value, props.style]
|
|
24465
24531
|
}, overlayProps, {
|
|
24466
24532
|
"modelValue": isActive.value,
|
|
24467
24533
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
24468
24534
|
"contentProps": vue.mergeProps({
|
|
24469
24535
|
class: ['v-snackbar__wrapper', themeClasses.value, colorClasses.value, roundedClasses.value, variantClasses.value],
|
|
24470
|
-
style: [
|
|
24536
|
+
style: [colorStyles.value],
|
|
24471
24537
|
onPointerenter,
|
|
24472
24538
|
onPointerleave
|
|
24473
24539
|
}, overlayProps.contentProps),
|
|
@@ -24475,7 +24541,9 @@
|
|
|
24475
24541
|
"noClickAnimation": true,
|
|
24476
24542
|
"scrim": false,
|
|
24477
24543
|
"scrollStrategy": "none",
|
|
24478
|
-
"_disableGlobalStack": true
|
|
24544
|
+
"_disableGlobalStack": true,
|
|
24545
|
+
"onTouchstart": onTouchstart,
|
|
24546
|
+
"onTouchend": onTouchend
|
|
24479
24547
|
}, scopeId), {
|
|
24480
24548
|
default: () => [genOverlays(false, 'v-snackbar'), props.timer && !isHovering.value && vue.createVNode("div", {
|
|
24481
24549
|
"key": "timer",
|
|
@@ -26334,7 +26402,7 @@
|
|
|
26334
26402
|
goTo
|
|
26335
26403
|
};
|
|
26336
26404
|
}
|
|
26337
|
-
const version$1 = "3.5.
|
|
26405
|
+
const version$1 = "3.5.17";
|
|
26338
26406
|
createVuetify$1.version = version$1;
|
|
26339
26407
|
|
|
26340
26408
|
// Vue's inject() can only be used in setup
|
|
@@ -26359,7 +26427,7 @@
|
|
|
26359
26427
|
...options
|
|
26360
26428
|
});
|
|
26361
26429
|
};
|
|
26362
|
-
const version = "3.5.
|
|
26430
|
+
const version = "3.5.17";
|
|
26363
26431
|
createVuetify.version = version;
|
|
26364
26432
|
|
|
26365
26433
|
exports.blueprints = index;
|