vuetify 3.6.13 → 3.7.0-beta.1
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 +166 -26
- package/dist/json/importMap-labs.json +16 -16
- package/dist/json/importMap.json +138 -138
- package/dist/json/tags.json +40 -5
- package/dist/json/web-types.json +394 -41
- package/dist/vuetify-labs.css +2300 -2284
- package/dist/vuetify-labs.d.ts +12763 -12509
- package/dist/vuetify-labs.esm.js +153 -145
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +153 -145
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +887 -871
- package/dist/vuetify.d.ts +11161 -10982
- package/dist/vuetify.esm.js +107 -65
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +107 -65
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1076 -1078
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/index.d.mts +55 -55
- package/lib/components/VAppBar/index.d.mts +175 -169
- package/lib/components/VAutocomplete/VAutocomplete.mjs +15 -8
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +635 -634
- package/lib/components/VAvatar/VAvatar.css +7 -0
- package/lib/components/VAvatar/VAvatar.mjs +6 -1
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/VAvatar.sass +1 -0
- package/lib/components/VAvatar/_variables.scss +13 -0
- package/lib/components/VAvatar/index.d.mts +36 -30
- package/lib/components/VBadge/index.d.mts +58 -58
- package/lib/components/VBanner/index.d.mts +59 -59
- package/lib/components/VBottomNavigation/index.d.mts +58 -58
- package/lib/components/VBottomSheet/index.d.mts +125 -125
- package/lib/components/VBreadcrumbs/index.d.mts +42 -42
- package/lib/components/VBtn/VBtn.mjs +3 -1
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/index.d.mts +113 -107
- package/lib/components/VBtnGroup/index.d.mts +23 -23
- package/lib/components/VBtnToggle/index.d.mts +40 -40
- package/lib/components/VCard/index.d.mts +93 -93
- package/lib/components/VCarousel/index.d.mts +130 -121
- package/lib/components/VCheckbox/index.d.mts +166 -166
- package/lib/components/VChip/index.d.mts +86 -86
- package/lib/components/VChipGroup/index.d.mts +46 -46
- package/lib/components/VColorPicker/index.d.mts +96 -96
- package/lib/components/VCombobox/VCombobox.mjs +15 -8
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +635 -634
- package/lib/components/VConfirmEdit/index.d.mts +2 -2
- package/lib/components/VCounter/index.d.mts +27 -27
- package/lib/components/VDataIterator/index.d.mts +50 -50
- package/lib/components/VDataTable/index.d.mts +253 -253
- package/lib/components/VDatePicker/index.d.mts +134 -134
- package/lib/components/VDialog/index.d.mts +378 -378
- package/lib/components/VDivider/index.d.mts +15 -15
- package/lib/components/VEmptyState/index.d.mts +47 -47
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +7 -2
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +196 -124
- package/lib/components/VFab/index.d.mts +233 -227
- package/lib/components/VField/index.d.mts +46 -46
- package/lib/components/VFileInput/index.d.mts +243 -243
- package/lib/components/VFooter/index.d.mts +50 -50
- package/lib/components/VForm/index.d.mts +9 -9
- package/lib/components/VGrid/VContainer.mjs +6 -1
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/index.d.mts +178 -142
- package/lib/components/VIcon/index.d.mts +24 -24
- package/lib/components/VImg/VImg.css +9 -0
- package/lib/components/VImg/VImg.mjs +2 -0
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/VImg.sass +9 -0
- package/lib/components/VImg/index.d.mts +101 -92
- package/lib/components/VInfiniteScroll/index.d.mts +22 -22
- package/lib/components/VInput/index.d.mts +53 -53
- package/lib/components/VItemGroup/index.d.mts +17 -17
- package/lib/components/VLabel/index.d.mts +8 -8
- package/lib/components/VLayout/index.d.mts +36 -36
- package/lib/components/VLazy/index.d.mts +31 -31
- package/lib/components/VList/VListItem.css +2 -2
- package/lib/components/VList/VListItem.mjs +2 -0
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +1 -1
- package/lib/components/VList/index.d.mts +191 -190
- package/lib/components/VLocaleProvider/index.d.mts +7 -7
- package/lib/components/VMain/index.d.mts +10 -10
- package/lib/components/VMenu/VMenu.mjs +7 -5
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.mts +423 -423
- package/lib/components/VMessages/index.d.mts +20 -20
- package/lib/components/VNavigationDrawer/index.d.mts +72 -72
- package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
- package/lib/components/VOtpInput/index.d.mts +88 -88
- package/lib/components/VOverlay/index.d.mts +104 -104
- package/lib/components/VOverlay/locationStrategies.mjs +0 -6
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VPagination/index.d.mts +55 -55
- package/lib/components/VParallax/index.d.mts +7 -7
- package/lib/components/VProgressCircular/index.d.mts +24 -24
- package/lib/components/VProgressLinear/index.d.mts +52 -52
- package/lib/components/VRadio/index.d.mts +41 -41
- package/lib/components/VRadioGroup/index.d.mts +97 -97
- package/lib/components/VRangeSlider/index.d.mts +94 -94
- package/lib/components/VRating/index.d.mts +22 -22
- package/lib/components/VResponsive/index.d.mts +23 -23
- package/lib/components/VSelect/VSelect.mjs +15 -13
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +635 -634
- package/lib/components/VSelect/useScrolling.mjs +3 -3
- package/lib/components/VSelect/useScrolling.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.mts +43 -43
- package/lib/components/VSelectionControlGroup/index.d.mts +39 -39
- package/lib/components/VSheet/index.d.mts +34 -34
- package/lib/components/VSkeletonLoader/index.d.mts +17 -17
- package/lib/components/VSlideGroup/VSlideGroup.mjs +3 -1
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.mts +39 -33
- package/lib/components/VSlider/index.d.mts +87 -87
- package/lib/components/VSnackbar/index.d.mts +436 -436
- package/lib/components/VSparkline/index.d.mts +38 -38
- package/lib/components/VSpeedDial/index.d.mts +185 -185
- package/lib/components/VStepper/index.d.mts +119 -119
- package/lib/components/VSwitch/index.d.mts +100 -100
- package/lib/components/VSystemBar/index.d.mts +39 -39
- package/lib/components/VTable/index.d.mts +4 -4
- package/lib/components/VTabs/index.d.mts +530 -512
- package/lib/components/VTextField/index.d.mts +397 -397
- package/lib/components/VTextarea/index.d.mts +274 -274
- package/lib/components/VTimeline/index.d.mts +26 -26
- package/lib/components/VToolbar/index.d.mts +53 -53
- package/lib/components/VTooltip/index.d.mts +451 -451
- package/lib/components/VValidation/index.d.mts +22 -21
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +2 -0
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.d.mts +13 -10
- package/lib/components/VWindow/index.d.mts +31 -31
- package/lib/components/index.d.mts +11225 -11046
- package/lib/components/transitions/index.d.mts +200 -200
- package/lib/composables/nested/nested.mjs +3 -4
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/openStrategies.mjs +4 -2
- package/lib/composables/nested/openStrategies.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs +5 -5
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/composables/validation.mjs +8 -6
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/virtual.mjs +1 -0
- package/lib/composables/virtual.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.mts +44 -44
- package/lib/labs/VCalendar/index.d.mts +52 -52
- package/lib/labs/VDateInput/index.d.mts +244 -244
- package/lib/labs/VNumberInput/index.d.mts +235 -235
- package/lib/labs/VPicker/index.d.mts +45 -45
- package/lib/labs/VSnackbarQueue/index.d.mts +642 -642
- package/lib/labs/VStepperVertical/index.d.mts +224 -188
- package/lib/labs/VTimePicker/VTimePickerClock.mjs +0 -1
- package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/labs/VTimePicker/index.d.mts +115 -115
- package/lib/labs/VTreeview/VTreeview.mjs +7 -5
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +33 -10
- package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.css +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.mjs +14 -74
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.sass +2 -5
- package/lib/labs/VTreeview/index.d.mts +270 -253
- package/lib/labs/components.d.mts +1835 -1782
- package/lib/util/helpers.mjs +5 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +10 -5
package/dist/vuetify.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.
|
|
2
|
+
* Vuetify v3.7.0-beta.1
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -502,6 +502,11 @@
|
|
|
502
502
|
});
|
|
503
503
|
return fn;
|
|
504
504
|
}
|
|
505
|
+
function checkPrintable(e) {
|
|
506
|
+
const isPrintableChar = e.key.length === 1;
|
|
507
|
+
const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
|
|
508
|
+
return isPrintableChar && noModifier;
|
|
509
|
+
}
|
|
505
510
|
|
|
506
511
|
// Utilities
|
|
507
512
|
const block = ['top', 'bottom'];
|
|
@@ -3692,6 +3697,7 @@
|
|
|
3692
3697
|
// not intended for public use, this is passed in by vuetify-loader
|
|
3693
3698
|
|
|
3694
3699
|
const makeVImgProps = propsFactory({
|
|
3700
|
+
absolute: Boolean,
|
|
3695
3701
|
alt: String,
|
|
3696
3702
|
cover: Boolean,
|
|
3697
3703
|
color: String,
|
|
@@ -3948,6 +3954,7 @@
|
|
|
3948
3954
|
const responsiveProps = VResponsive.filterProps(props);
|
|
3949
3955
|
return vue.withDirectives(vue.createVNode(VResponsive, vue.mergeProps({
|
|
3950
3956
|
"class": ['v-img', {
|
|
3957
|
+
'v-img--absolute': props.absolute,
|
|
3951
3958
|
'v-img--booting': !isBooted.value
|
|
3952
3959
|
}, backgroundColorClasses.value, roundedClasses.value, props.class],
|
|
3953
3960
|
"style": [{
|
|
@@ -5748,6 +5755,7 @@
|
|
|
5748
5755
|
type: Boolean,
|
|
5749
5756
|
default: undefined
|
|
5750
5757
|
},
|
|
5758
|
+
activeColor: String,
|
|
5751
5759
|
baseColor: String,
|
|
5752
5760
|
symbol: {
|
|
5753
5761
|
type: null,
|
|
@@ -5839,10 +5847,11 @@
|
|
|
5839
5847
|
}
|
|
5840
5848
|
return group?.isSelected.value;
|
|
5841
5849
|
});
|
|
5850
|
+
const color = vue.computed(() => isActive.value ? props.activeColor ?? props.color : props.color);
|
|
5842
5851
|
const variantProps = vue.computed(() => {
|
|
5843
5852
|
const showColor = group?.isSelected.value && (!link.isLink.value || link.isActive?.value) || !group || link.isActive?.value;
|
|
5844
5853
|
return {
|
|
5845
|
-
color: showColor ?
|
|
5854
|
+
color: showColor ? color.value ?? props.baseColor : props.baseColor,
|
|
5846
5855
|
variant: props.variant
|
|
5847
5856
|
};
|
|
5848
5857
|
});
|
|
@@ -6183,6 +6192,7 @@
|
|
|
6183
6192
|
icon: IconValue,
|
|
6184
6193
|
image: String,
|
|
6185
6194
|
text: String,
|
|
6195
|
+
...makeBorderProps(),
|
|
6186
6196
|
...makeComponentProps(),
|
|
6187
6197
|
...makeDensityProps(),
|
|
6188
6198
|
...makeRoundedProps(),
|
|
@@ -6203,6 +6213,9 @@
|
|
|
6203
6213
|
const {
|
|
6204
6214
|
themeClasses
|
|
6205
6215
|
} = provideTheme(props);
|
|
6216
|
+
const {
|
|
6217
|
+
borderClasses
|
|
6218
|
+
} = useBorder(props);
|
|
6206
6219
|
const {
|
|
6207
6220
|
colorClasses,
|
|
6208
6221
|
colorStyles,
|
|
@@ -6222,7 +6235,7 @@
|
|
|
6222
6235
|
"class": ['v-avatar', {
|
|
6223
6236
|
'v-avatar--start': props.start,
|
|
6224
6237
|
'v-avatar--end': props.end
|
|
6225
|
-
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
|
6238
|
+
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
|
6226
6239
|
"style": [colorStyles.value, sizeStyles.value, props.style]
|
|
6227
6240
|
}, {
|
|
6228
6241
|
default: () => [!slots.default ? props.image ? vue.createVNode(VImg, {
|
|
@@ -6922,12 +6935,14 @@
|
|
|
6922
6935
|
const validateOn = vue.computed(() => {
|
|
6923
6936
|
let value = (props.validateOn ?? form?.validateOn.value) || 'input';
|
|
6924
6937
|
if (value === 'lazy') value = 'input lazy';
|
|
6938
|
+
if (value === 'eager') value = 'input eager';
|
|
6925
6939
|
const set = new Set(value?.split(' ') ?? []);
|
|
6926
6940
|
return {
|
|
6927
|
-
blur: set.has('blur') || set.has('input'),
|
|
6928
6941
|
input: set.has('input'),
|
|
6929
|
-
|
|
6930
|
-
|
|
6942
|
+
blur: set.has('blur') || set.has('input') || set.has('invalid-input'),
|
|
6943
|
+
invalidInput: set.has('invalid-input'),
|
|
6944
|
+
lazy: set.has('lazy'),
|
|
6945
|
+
eager: set.has('eager')
|
|
6931
6946
|
};
|
|
6932
6947
|
});
|
|
6933
6948
|
const isValid = vue.computed(() => {
|
|
@@ -6964,11 +6979,11 @@
|
|
|
6964
6979
|
});
|
|
6965
6980
|
vue.onMounted(async () => {
|
|
6966
6981
|
if (!validateOn.value.lazy) {
|
|
6967
|
-
await validate(
|
|
6982
|
+
await validate(!validateOn.value.eager);
|
|
6968
6983
|
}
|
|
6969
6984
|
form?.update(uid.value, isValid.value, errorMessages.value);
|
|
6970
6985
|
});
|
|
6971
|
-
useToggleScope(() => validateOn.value.input, () => {
|
|
6986
|
+
useToggleScope(() => validateOn.value.input || validateOn.value.invalidInput && isValid.value === false, () => {
|
|
6972
6987
|
vue.watch(validationModel, () => {
|
|
6973
6988
|
if (validationModel.value != null) {
|
|
6974
6989
|
validate();
|
|
@@ -6996,7 +7011,7 @@
|
|
|
6996
7011
|
async function resetValidation() {
|
|
6997
7012
|
isPristine.value = true;
|
|
6998
7013
|
if (!validateOn.value.lazy) {
|
|
6999
|
-
await validate(
|
|
7014
|
+
await validate(!validateOn.value.eager);
|
|
7000
7015
|
} else {
|
|
7001
7016
|
internalErrorMessages.value = [];
|
|
7002
7017
|
}
|
|
@@ -7936,7 +7951,9 @@
|
|
|
7936
7951
|
selected: group.selected,
|
|
7937
7952
|
scrollTo,
|
|
7938
7953
|
scrollOffset,
|
|
7939
|
-
focus
|
|
7954
|
+
focus,
|
|
7955
|
+
hasPrev,
|
|
7956
|
+
hasNext
|
|
7940
7957
|
};
|
|
7941
7958
|
}
|
|
7942
7959
|
});
|
|
@@ -8406,6 +8423,7 @@
|
|
|
8406
8423
|
return strategy;
|
|
8407
8424
|
};
|
|
8408
8425
|
|
|
8426
|
+
// Utilities
|
|
8409
8427
|
const singleOpenStrategy = {
|
|
8410
8428
|
open: _ref => {
|
|
8411
8429
|
let {
|
|
@@ -8439,11 +8457,11 @@
|
|
|
8439
8457
|
parents
|
|
8440
8458
|
} = _ref2;
|
|
8441
8459
|
if (value) {
|
|
8442
|
-
let parent = parents.get(id);
|
|
8460
|
+
let parent = vue.toRaw(parents.get(id));
|
|
8443
8461
|
opened.add(id);
|
|
8444
8462
|
while (parent != null && parent !== id) {
|
|
8445
8463
|
opened.add(parent);
|
|
8446
|
-
parent = parents.get(parent);
|
|
8464
|
+
parent = vue.toRaw(parents.get(parent));
|
|
8447
8465
|
}
|
|
8448
8466
|
return opened;
|
|
8449
8467
|
} else {
|
|
@@ -8614,18 +8632,18 @@
|
|
|
8614
8632
|
const items = [id];
|
|
8615
8633
|
while (items.length) {
|
|
8616
8634
|
const item = items.shift();
|
|
8617
|
-
selected.set(item, value ? 'on' : 'off');
|
|
8635
|
+
selected.set(vue.toRaw(item), value ? 'on' : 'off');
|
|
8618
8636
|
if (children.has(item)) {
|
|
8619
8637
|
items.push(...children.get(item));
|
|
8620
8638
|
}
|
|
8621
8639
|
}
|
|
8622
|
-
let parent = parents.get(id);
|
|
8640
|
+
let parent = vue.toRaw(parents.get(id));
|
|
8623
8641
|
while (parent) {
|
|
8624
8642
|
const childrenIds = children.get(parent);
|
|
8625
|
-
const everySelected = childrenIds.every(cid => selected.get(cid) === 'on');
|
|
8626
|
-
const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off');
|
|
8643
|
+
const everySelected = childrenIds.every(cid => selected.get(vue.toRaw(cid)) === 'on');
|
|
8644
|
+
const noneSelected = childrenIds.every(cid => !selected.has(vue.toRaw(cid)) || selected.get(vue.toRaw(cid)) === 'off');
|
|
8627
8645
|
selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate');
|
|
8628
|
-
parent = parents.get(parent);
|
|
8646
|
+
parent = vue.toRaw(parents.get(parent));
|
|
8629
8647
|
}
|
|
8630
8648
|
|
|
8631
8649
|
// If mandatory and planned deselect results in no selected
|
|
@@ -8703,7 +8721,7 @@
|
|
|
8703
8721
|
let isUnmounted = false;
|
|
8704
8722
|
const children = vue.ref(new Map());
|
|
8705
8723
|
const parents = vue.ref(new Map());
|
|
8706
|
-
const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
|
|
8724
|
+
const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(vue.toRaw(v)), v => [...v.values()]);
|
|
8707
8725
|
const activeStrategy = vue.computed(() => {
|
|
8708
8726
|
if (typeof props.activeStrategy === 'object') return props.activeStrategy;
|
|
8709
8727
|
if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);
|
|
@@ -8794,7 +8812,6 @@
|
|
|
8794
8812
|
children.value.set(parent, list.filter(child => child !== id));
|
|
8795
8813
|
}
|
|
8796
8814
|
parents.value.delete(id);
|
|
8797
|
-
opened.value.delete(id);
|
|
8798
8815
|
},
|
|
8799
8816
|
open: (id, value, event) => {
|
|
8800
8817
|
vm.emit('click:open', {
|
|
@@ -8877,9 +8894,9 @@
|
|
|
8877
8894
|
const item = {
|
|
8878
8895
|
...parent,
|
|
8879
8896
|
id: computedId,
|
|
8880
|
-
open: (open, e) => parent.root.open(computedId.value, open, e),
|
|
8897
|
+
open: (open, e) => parent.root.open(vue.toRaw(computedId.value), open, e),
|
|
8881
8898
|
openOnSelect: (open, e) => parent.root.openOnSelect(computedId.value, open, e),
|
|
8882
|
-
isOpen: vue.computed(() => parent.root.opened.value.has(computedId.value)),
|
|
8899
|
+
isOpen: vue.computed(() => parent.root.opened.value.has(vue.toRaw(computedId.value))),
|
|
8883
8900
|
parent: vue.computed(() => parent.root.parents.value.get(computedId.value)),
|
|
8884
8901
|
activate: (activated, e) => parent.root.activate(computedId.value, activated, e),
|
|
8885
8902
|
isActivated: vue.computed(() => parent.root.activated.value.has(vue.toRaw(computedId.value))),
|
|
@@ -9103,6 +9120,7 @@
|
|
|
9103
9120
|
activate,
|
|
9104
9121
|
isActivated,
|
|
9105
9122
|
select,
|
|
9123
|
+
isOpen,
|
|
9106
9124
|
isSelected,
|
|
9107
9125
|
isIndeterminate,
|
|
9108
9126
|
isGroupActivator,
|
|
@@ -9157,6 +9175,7 @@
|
|
|
9157
9175
|
const slotProps = vue.computed(() => ({
|
|
9158
9176
|
isActive: isActive.value,
|
|
9159
9177
|
select,
|
|
9178
|
+
isOpen: isOpen.value,
|
|
9160
9179
|
isSelected: isSelected.value,
|
|
9161
9180
|
isIndeterminate: isIndeterminate.value
|
|
9162
9181
|
}));
|
|
@@ -9966,12 +9985,6 @@
|
|
|
9966
9985
|
// el.style.removeProperty('max-width')
|
|
9967
9986
|
// el.style.removeProperty('max-height')
|
|
9968
9987
|
|
|
9969
|
-
if (isRtl) {
|
|
9970
|
-
el.style.removeProperty('left');
|
|
9971
|
-
} else {
|
|
9972
|
-
el.style.removeProperty('right');
|
|
9973
|
-
}
|
|
9974
|
-
|
|
9975
9988
|
/* eslint-disable-next-line sonarjs/prefer-immediate-return */
|
|
9976
9989
|
const contentBox = nullifyTransforms(el);
|
|
9977
9990
|
if (isRtl) {
|
|
@@ -11363,23 +11376,25 @@
|
|
|
11363
11376
|
const id = vue.computed(() => props.id || `v-menu-${uid}`);
|
|
11364
11377
|
const overlay = vue.ref();
|
|
11365
11378
|
const parent = vue.inject(VMenuSymbol, null);
|
|
11366
|
-
const openChildren = vue.shallowRef(
|
|
11379
|
+
const openChildren = vue.shallowRef(new Set());
|
|
11367
11380
|
vue.provide(VMenuSymbol, {
|
|
11368
11381
|
register() {
|
|
11369
|
-
|
|
11382
|
+
openChildren.value.add(uid);
|
|
11370
11383
|
},
|
|
11371
11384
|
unregister() {
|
|
11372
|
-
|
|
11385
|
+
openChildren.value.delete(uid);
|
|
11373
11386
|
},
|
|
11374
11387
|
closeParents(e) {
|
|
11375
11388
|
setTimeout(() => {
|
|
11376
|
-
if (!openChildren.value && !props.persistent && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
|
|
11389
|
+
if (!openChildren.value.size && !props.persistent && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
|
|
11377
11390
|
isActive.value = false;
|
|
11378
11391
|
parent?.closeParents();
|
|
11379
11392
|
}
|
|
11380
11393
|
}, 40);
|
|
11381
11394
|
}
|
|
11382
11395
|
});
|
|
11396
|
+
vue.onBeforeUnmount(() => parent?.unregister());
|
|
11397
|
+
vue.onDeactivated(() => isActive.value = false);
|
|
11383
11398
|
async function onFocusIn(e) {
|
|
11384
11399
|
const before = e.relatedTarget;
|
|
11385
11400
|
const after = e.target;
|
|
@@ -12291,6 +12306,7 @@
|
|
|
12291
12306
|
deep: true
|
|
12292
12307
|
});
|
|
12293
12308
|
return {
|
|
12309
|
+
calculateVisibleItems,
|
|
12294
12310
|
containerRef,
|
|
12295
12311
|
markerRef,
|
|
12296
12312
|
computedItems,
|
|
@@ -12354,6 +12370,7 @@
|
|
|
12354
12370
|
dimensionStyles
|
|
12355
12371
|
} = useDimension(props);
|
|
12356
12372
|
const {
|
|
12373
|
+
calculateVisibleItems,
|
|
12357
12374
|
containerRef,
|
|
12358
12375
|
markerRef,
|
|
12359
12376
|
handleScroll,
|
|
@@ -12425,6 +12442,7 @@
|
|
|
12425
12442
|
}, [children])]);
|
|
12426
12443
|
});
|
|
12427
12444
|
return {
|
|
12445
|
+
calculateVisibleItems,
|
|
12428
12446
|
scrollToIndex
|
|
12429
12447
|
};
|
|
12430
12448
|
}
|
|
@@ -12493,9 +12511,9 @@
|
|
|
12493
12511
|
}
|
|
12494
12512
|
}
|
|
12495
12513
|
return {
|
|
12496
|
-
onListScroll,
|
|
12497
|
-
onListKeydown
|
|
12498
|
-
};
|
|
12514
|
+
onScrollPassive: onListScroll,
|
|
12515
|
+
onKeydown: onListKeydown
|
|
12516
|
+
}; // typescript doesn't know about vue's event merging
|
|
12499
12517
|
}
|
|
12500
12518
|
|
|
12501
12519
|
// Types
|
|
@@ -12570,7 +12588,7 @@
|
|
|
12570
12588
|
const menu = vue.computed({
|
|
12571
12589
|
get: () => _menu.value,
|
|
12572
12590
|
set: v => {
|
|
12573
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
|
|
12591
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
|
12574
12592
|
_menu.value = v;
|
|
12575
12593
|
}
|
|
12576
12594
|
});
|
|
@@ -12609,10 +12627,7 @@
|
|
|
12609
12627
|
};
|
|
12610
12628
|
});
|
|
12611
12629
|
const listRef = vue.ref();
|
|
12612
|
-
const
|
|
12613
|
-
onListScroll,
|
|
12614
|
-
onListKeydown
|
|
12615
|
-
} = useScrolling(listRef, vTextFieldRef);
|
|
12630
|
+
const listEvents = useScrolling(listRef, vTextFieldRef);
|
|
12616
12631
|
function onClear(e) {
|
|
12617
12632
|
if (props.openOnClear) {
|
|
12618
12633
|
menu.value = true;
|
|
@@ -12622,6 +12637,11 @@
|
|
|
12622
12637
|
if (menuDisabled.value) return;
|
|
12623
12638
|
menu.value = !menu.value;
|
|
12624
12639
|
}
|
|
12640
|
+
function onListKeydown(e) {
|
|
12641
|
+
if (checkPrintable(e)) {
|
|
12642
|
+
onKeydown(e);
|
|
12643
|
+
}
|
|
12644
|
+
}
|
|
12625
12645
|
function onKeydown(e) {
|
|
12626
12646
|
if (!e.key || props.readonly || form?.isReadonly.value) return;
|
|
12627
12647
|
if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
|
|
@@ -12642,11 +12662,6 @@
|
|
|
12642
12662
|
// html select hotkeys
|
|
12643
12663
|
const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds
|
|
12644
12664
|
|
|
12645
|
-
function checkPrintable(e) {
|
|
12646
|
-
const isPrintableChar = e.key.length === 1;
|
|
12647
|
-
const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
|
|
12648
|
-
return isPrintableChar && noModifier;
|
|
12649
|
-
}
|
|
12650
12665
|
if (props.multiple || !checkPrintable(e)) return;
|
|
12651
12666
|
const now = performance.now();
|
|
12652
12667
|
if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
|
|
@@ -12691,6 +12706,11 @@
|
|
|
12691
12706
|
menu.value = false;
|
|
12692
12707
|
}
|
|
12693
12708
|
}
|
|
12709
|
+
function onAfterEnter() {
|
|
12710
|
+
if (props.eager) {
|
|
12711
|
+
vVirtualScrollRef.value?.calculateVisibleItems();
|
|
12712
|
+
}
|
|
12713
|
+
}
|
|
12694
12714
|
function onAfterLeave() {
|
|
12695
12715
|
if (isFocused.value) {
|
|
12696
12716
|
vTextFieldRef.value?.focus();
|
|
@@ -12769,6 +12789,7 @@
|
|
|
12769
12789
|
"openOnClick": false,
|
|
12770
12790
|
"closeOnContentClick": false,
|
|
12771
12791
|
"transition": props.transition,
|
|
12792
|
+
"onAfterEnter": onAfterEnter,
|
|
12772
12793
|
"onAfterLeave": onAfterLeave
|
|
12773
12794
|
}, computedMenuProps.value), {
|
|
12774
12795
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
|
@@ -12778,11 +12799,10 @@
|
|
|
12778
12799
|
"onMousedown": e => e.preventDefault(),
|
|
12779
12800
|
"onKeydown": onListKeydown,
|
|
12780
12801
|
"onFocusin": onFocusin,
|
|
12781
|
-
"onScrollPassive": onListScroll,
|
|
12782
12802
|
"tabindex": "-1",
|
|
12783
12803
|
"aria-live": "polite",
|
|
12784
12804
|
"color": props.itemColor ?? props.color
|
|
12785
|
-
}, props.listProps), {
|
|
12805
|
+
}, listEvents, props.listProps), {
|
|
12786
12806
|
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
|
|
12787
12807
|
"title": t(props.noDataText)
|
|
12788
12808
|
}, null)), vue.createVNode(VVirtualScroll, {
|
|
@@ -13077,7 +13097,7 @@
|
|
|
13077
13097
|
const menu = vue.computed({
|
|
13078
13098
|
get: () => _menu.value,
|
|
13079
13099
|
set: v => {
|
|
13080
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
|
|
13100
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
|
13081
13101
|
_menu.value = v;
|
|
13082
13102
|
}
|
|
13083
13103
|
});
|
|
@@ -13121,10 +13141,7 @@
|
|
|
13121
13141
|
});
|
|
13122
13142
|
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
|
|
13123
13143
|
const listRef = vue.ref();
|
|
13124
|
-
const
|
|
13125
|
-
onListScroll,
|
|
13126
|
-
onListKeydown
|
|
13127
|
-
} = useScrolling(listRef, vTextFieldRef);
|
|
13144
|
+
const listEvents = useScrolling(listRef, vTextFieldRef);
|
|
13128
13145
|
function onClear(e) {
|
|
13129
13146
|
if (props.openOnClear) {
|
|
13130
13147
|
menu.value = true;
|
|
@@ -13143,6 +13160,11 @@
|
|
|
13143
13160
|
}
|
|
13144
13161
|
menu.value = !menu.value;
|
|
13145
13162
|
}
|
|
13163
|
+
function onListKeydown(e) {
|
|
13164
|
+
if (checkPrintable(e)) {
|
|
13165
|
+
vTextFieldRef.value?.focus();
|
|
13166
|
+
}
|
|
13167
|
+
}
|
|
13146
13168
|
function onKeydown(e) {
|
|
13147
13169
|
if (props.readonly || form?.isReadonly.value) return;
|
|
13148
13170
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
|
@@ -13207,6 +13229,11 @@
|
|
|
13207
13229
|
}
|
|
13208
13230
|
}
|
|
13209
13231
|
}
|
|
13232
|
+
function onAfterEnter() {
|
|
13233
|
+
if (props.eager) {
|
|
13234
|
+
vVirtualScrollRef.value?.calculateVisibleItems();
|
|
13235
|
+
}
|
|
13236
|
+
}
|
|
13210
13237
|
function onAfterLeave() {
|
|
13211
13238
|
if (isFocused.value) {
|
|
13212
13239
|
isPristine.value = true;
|
|
@@ -13335,6 +13362,7 @@
|
|
|
13335
13362
|
"openOnClick": false,
|
|
13336
13363
|
"closeOnContentClick": false,
|
|
13337
13364
|
"transition": props.transition,
|
|
13365
|
+
"onAfterEnter": onAfterEnter,
|
|
13338
13366
|
"onAfterLeave": onAfterLeave
|
|
13339
13367
|
}, props.menuProps), {
|
|
13340
13368
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
|
@@ -13345,11 +13373,10 @@
|
|
|
13345
13373
|
"onKeydown": onListKeydown,
|
|
13346
13374
|
"onFocusin": onFocusin,
|
|
13347
13375
|
"onFocusout": onFocusout,
|
|
13348
|
-
"onScrollPassive": onListScroll,
|
|
13349
13376
|
"tabindex": "-1",
|
|
13350
13377
|
"aria-live": "polite",
|
|
13351
13378
|
"color": props.itemColor ?? props.color
|
|
13352
|
-
}, props.listProps), {
|
|
13379
|
+
}, listEvents, props.listProps), {
|
|
13353
13380
|
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
|
|
13354
13381
|
"title": t(props.noDataText)
|
|
13355
13382
|
}, null)), vue.createVNode(VVirtualScroll, {
|
|
@@ -16910,7 +16937,7 @@
|
|
|
16910
16937
|
const menu = vue.computed({
|
|
16911
16938
|
get: () => _menu.value,
|
|
16912
16939
|
set: v => {
|
|
16913
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
|
|
16940
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
|
16914
16941
|
_menu.value = v;
|
|
16915
16942
|
}
|
|
16916
16943
|
});
|
|
@@ -16993,10 +17020,7 @@
|
|
|
16993
17020
|
});
|
|
16994
17021
|
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
|
|
16995
17022
|
const listRef = vue.ref();
|
|
16996
|
-
const
|
|
16997
|
-
onListScroll,
|
|
16998
|
-
onListKeydown
|
|
16999
|
-
} = useScrolling(listRef, vTextFieldRef);
|
|
17023
|
+
const listEvents = useScrolling(listRef, vTextFieldRef);
|
|
17000
17024
|
function onClear(e) {
|
|
17001
17025
|
cleared = true;
|
|
17002
17026
|
if (props.openOnClear) {
|
|
@@ -17015,6 +17039,11 @@
|
|
|
17015
17039
|
}
|
|
17016
17040
|
menu.value = !menu.value;
|
|
17017
17041
|
}
|
|
17042
|
+
function onListKeydown(e) {
|
|
17043
|
+
if (checkPrintable(e)) {
|
|
17044
|
+
vTextFieldRef.value?.focus();
|
|
17045
|
+
}
|
|
17046
|
+
}
|
|
17018
17047
|
// eslint-disable-next-line complexity
|
|
17019
17048
|
function onKeydown(e) {
|
|
17020
17049
|
if (isComposingIgnoreKey(e) || props.readonly || form?.isReadonly.value) return;
|
|
@@ -17079,6 +17108,11 @@
|
|
|
17079
17108
|
}
|
|
17080
17109
|
}
|
|
17081
17110
|
}
|
|
17111
|
+
function onAfterEnter() {
|
|
17112
|
+
if (props.eager) {
|
|
17113
|
+
vVirtualScrollRef.value?.calculateVisibleItems();
|
|
17114
|
+
}
|
|
17115
|
+
}
|
|
17082
17116
|
function onAfterLeave() {
|
|
17083
17117
|
if (isFocused.value) {
|
|
17084
17118
|
isPristine.value = true;
|
|
@@ -17203,6 +17237,7 @@
|
|
|
17203
17237
|
"openOnClick": false,
|
|
17204
17238
|
"closeOnContentClick": false,
|
|
17205
17239
|
"transition": props.transition,
|
|
17240
|
+
"onAfterEnter": onAfterEnter,
|
|
17206
17241
|
"onAfterLeave": onAfterLeave
|
|
17207
17242
|
}, props.menuProps), {
|
|
17208
17243
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
|
@@ -17213,11 +17248,10 @@
|
|
|
17213
17248
|
"onKeydown": onListKeydown,
|
|
17214
17249
|
"onFocusin": onFocusin,
|
|
17215
17250
|
"onFocusout": onFocusout,
|
|
17216
|
-
"onScrollPassive": onListScroll,
|
|
17217
17251
|
"tabindex": "-1",
|
|
17218
17252
|
"aria-live": "polite",
|
|
17219
17253
|
"color": props.itemColor ?? props.color
|
|
17220
|
-
}, props.listProps), {
|
|
17254
|
+
}, listEvents, props.listProps), {
|
|
17221
17255
|
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
|
|
17222
17256
|
"title": t(props.noDataText)
|
|
17223
17257
|
}, null)), vue.createVNode(VVirtualScroll, {
|
|
@@ -21161,6 +21195,7 @@
|
|
|
21161
21195
|
default: false
|
|
21162
21196
|
},
|
|
21163
21197
|
...makeComponentProps(),
|
|
21198
|
+
...makeDimensionProps(),
|
|
21164
21199
|
...makeTagProps()
|
|
21165
21200
|
}, 'VContainer');
|
|
21166
21201
|
const VContainer = genericComponent()({
|
|
@@ -21173,11 +21208,14 @@
|
|
|
21173
21208
|
const {
|
|
21174
21209
|
rtlClasses
|
|
21175
21210
|
} = useRtl();
|
|
21211
|
+
const {
|
|
21212
|
+
dimensionStyles
|
|
21213
|
+
} = useDimension(props);
|
|
21176
21214
|
useRender(() => vue.createVNode(props.tag, {
|
|
21177
21215
|
"class": ['v-container', {
|
|
21178
21216
|
'v-container--fluid': props.fluid
|
|
21179
21217
|
}, rtlClasses.value, props.class],
|
|
21180
|
-
"style": props.style
|
|
21218
|
+
"style": [dimensionStyles.value, props.style]
|
|
21181
21219
|
}, slots));
|
|
21182
21220
|
return {};
|
|
21183
21221
|
}
|
|
@@ -22599,7 +22637,8 @@
|
|
|
22599
22637
|
default: false
|
|
22600
22638
|
},
|
|
22601
22639
|
readonly: Boolean,
|
|
22602
|
-
...makeComponentProps()
|
|
22640
|
+
...makeComponentProps(),
|
|
22641
|
+
...makeDimensionProps()
|
|
22603
22642
|
}, 'VExpansionPanelTitle');
|
|
22604
22643
|
const VExpansionPanelTitle = genericComponent()({
|
|
22605
22644
|
name: 'VExpansionPanelTitle',
|
|
@@ -22617,6 +22656,9 @@
|
|
|
22617
22656
|
backgroundColorClasses,
|
|
22618
22657
|
backgroundColorStyles
|
|
22619
22658
|
} = useBackgroundColor(props, 'color');
|
|
22659
|
+
const {
|
|
22660
|
+
dimensionStyles
|
|
22661
|
+
} = useDimension(props);
|
|
22620
22662
|
const slotProps = vue.computed(() => ({
|
|
22621
22663
|
collapseIcon: props.collapseIcon,
|
|
22622
22664
|
disabled: expansionPanel.disabled.value,
|
|
@@ -22631,7 +22673,7 @@
|
|
|
22631
22673
|
'v-expansion-panel-title--focusable': props.focusable,
|
|
22632
22674
|
'v-expansion-panel-title--static': props.static
|
|
22633
22675
|
}, backgroundColorClasses.value, props.class],
|
|
22634
|
-
"style": [backgroundColorStyles.value, props.style],
|
|
22676
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
|
|
22635
22677
|
"type": "button",
|
|
22636
22678
|
"tabindex": expansionPanel.disabled.value ? -1 : undefined,
|
|
22637
22679
|
"disabled": expansionPanel.disabled.value,
|
|
@@ -28137,7 +28179,7 @@
|
|
|
28137
28179
|
goTo
|
|
28138
28180
|
};
|
|
28139
28181
|
}
|
|
28140
|
-
const version$1 = "3.
|
|
28182
|
+
const version$1 = "3.7.0-beta.1";
|
|
28141
28183
|
createVuetify$1.version = version$1;
|
|
28142
28184
|
|
|
28143
28185
|
// Vue's inject() can only be used in setup
|
|
@@ -28162,7 +28204,7 @@
|
|
|
28162
28204
|
...options
|
|
28163
28205
|
});
|
|
28164
28206
|
};
|
|
28165
|
-
const version = "3.
|
|
28207
|
+
const version = "3.7.0-beta.1";
|
|
28166
28208
|
createVuetify.version = version;
|
|
28167
28209
|
|
|
28168
28210
|
exports.blueprints = index;
|