@vuetify/nightly 3.6.13-3.7.0-beta.0.0-pr-20092.a834b18 → 3.6.14-master.2024-08-01
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 +127 -275
- package/dist/json/importMap-labs.json +20 -20
- package/dist/json/importMap.json +130 -130
- package/dist/json/tags.json +5 -42
- package/dist/json/web-types.json +241 -612
- package/dist/vuetify-labs.css +3861 -3156
- package/dist/vuetify-labs.d.ts +368 -697
- package/dist/vuetify-labs.esm.js +238 -240
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +238 -240
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1162 -457
- package/dist/vuetify.d.ts +348 -611
- package/dist/vuetify.esm.js +99 -159
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +99 -159
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1038 -1037
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +5 -1
- package/lib/components/VAppBar/index.d.mts +0 -6
- package/lib/components/VAutocomplete/VAutocomplete.css +4 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +8 -15
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +42 -61
- package/lib/components/VAvatar/VAvatar.css +2 -7
- package/lib/components/VAvatar/VAvatar.mjs +2 -7
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/VAvatar.sass +0 -1
- package/lib/components/VAvatar/_variables.scss +0 -13
- package/lib/components/VAvatar/index.d.mts +0 -6
- package/lib/components/VBadge/VBadge.css +2 -0
- package/lib/components/VBanner/VBanner.css +12 -4
- package/lib/components/VBottomNavigation/VBottomNavigation.css +11 -3
- package/lib/components/VBottomSheet/VBottomSheet.css +2 -0
- package/lib/components/VBreadcrumbs/index.d.mts +8 -8
- package/lib/components/VBtn/VBtn.css +16 -9
- package/lib/components/VBtn/VBtn.mjs +2 -4
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +4 -4
- package/lib/components/VBtn/index.d.mts +0 -6
- package/lib/components/VBtnGroup/VBtnGroup.css +12 -4
- package/lib/components/VCard/VCard.css +9 -1
- package/lib/components/VCarousel/VCarousel.css +2 -0
- package/lib/components/VCarousel/index.d.mts +0 -9
- package/lib/components/VCheckbox/index.d.mts +6 -6
- package/lib/components/VChip/VChip.css +15 -9
- package/lib/components/VChip/VChip.sass +1 -1
- package/lib/components/VColorPicker/VColorPicker.css +2 -0
- package/lib/components/VColorPicker/VColorPicker.sass +4 -4
- package/lib/components/VColorPicker/VColorPickerPreview.sass +4 -4
- package/lib/components/VCombobox/VCombobox.css +4 -0
- package/lib/components/VCombobox/VCombobox.mjs +8 -15
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +42 -61
- package/lib/components/VDialog/VDialog.css +5 -0
- package/lib/components/VDialog/index.d.mts +3 -3
- package/lib/components/VDivider/VDivider.css +2 -0
- package/lib/components/VExpansionPanel/VExpansionPanel.css +11 -5
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +3 -3
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +2 -7
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +0 -72
- package/lib/components/VFab/index.d.mts +0 -6
- package/lib/components/VField/VField.css +13 -1
- package/lib/components/VField/VField.sass +5 -8
- package/lib/components/VFileInput/index.d.mts +18 -18
- package/lib/components/VFooter/VFooter.css +12 -4
- package/lib/components/VFooter/VFooter.mjs +20 -14
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/index.d.mts +3 -3
- package/lib/components/VForm/index.d.mts +9 -9
- package/lib/components/VGrid/VContainer.mjs +1 -6
- package/lib/components/VGrid/VContainer.mjs.map +1 -1
- package/lib/components/VGrid/VGrid.sass +1 -1
- package/lib/components/VGrid/_mixins.sass +4 -4
- package/lib/components/VGrid/index.d.mts +0 -36
- package/lib/components/VImg/VImg.css +6 -9
- package/lib/components/VImg/VImg.mjs +0 -2
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/VImg.sass +0 -9
- package/lib/components/VImg/index.d.mts +0 -9
- package/lib/components/VInput/index.d.mts +6 -6
- package/lib/components/VKbd/VKbd.css +2 -0
- package/lib/components/VList/VList.css +12 -4
- package/lib/components/VList/VListItem.css +23 -13
- package/lib/components/VList/VListItem.mjs +1 -3
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +2 -2
- package/lib/components/VList/index.d.mts +18 -19
- package/lib/components/VMain/VMain.css +2 -0
- package/lib/components/VMenu/VMenu.css +6 -0
- package/lib/components/VMenu/VMenu.mjs +8 -26
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.mts +15 -30
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +9 -3
- package/lib/components/VOtpInput/VOtpInput.css +3 -1
- package/lib/components/VOtpInput/VOtpInput.sass +1 -2
- package/lib/components/VOverflowBtn/VOverflowBtn.sass +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +4 -5
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +2 -3
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.mts +6 -6
- package/lib/components/VRangeSlider/index.d.mts +6 -6
- package/lib/components/VSelect/VSelect.css +4 -0
- package/lib/components/VSelect/VSelect.mjs +13 -15
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +42 -61
- package/lib/components/VSelect/useScrolling.mjs +3 -3
- package/lib/components/VSelect/useScrolling.mjs.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.css +6 -4
- package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
- package/lib/components/VSheet/VSheet.css +12 -4
- package/lib/components/VSkeletonLoader/VSkeletonLoader.css +6 -4
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +9 -8
- package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +1 -2
- package/lib/components/VSlideGroup/VSlideGroup.mjs +1 -3
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.mts +0 -6
- package/lib/components/VSlider/VSliderThumb.sass +2 -2
- package/lib/components/VSlider/index.d.mts +6 -6
- package/lib/components/VSnackbar/VSnackbar.css +2 -0
- package/lib/components/VSnackbar/VSnackbar.mjs +4 -4
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.mts +3 -3
- package/lib/components/VSpeedDial/index.d.mts +13 -28
- package/lib/components/VStepper/VStepper.css +8 -2
- package/lib/components/VStepper/VStepper.sass +2 -4
- package/lib/components/VStepper/VStepperItem.css +4 -1
- package/lib/components/VStepper/VStepperItem.sass +1 -1
- package/lib/components/VSwitch/VSwitch.css +2 -0
- package/lib/components/VSwitch/VSwitch.sass +10 -10
- package/lib/components/VSwitch/index.d.mts +6 -6
- package/lib/components/VSystemBar/VSystemBar.css +14 -8
- package/lib/components/VTable/VTable.css +8 -4
- package/lib/components/VTable/VTable.sass +2 -3
- package/lib/components/VTabs/index.d.mts +3 -21
- package/lib/components/VTextField/index.d.mts +18 -18
- package/lib/components/VTextarea/index.d.mts +18 -18
- package/lib/components/VTimeline/VTimeline.css +2 -0
- package/lib/components/VToolbar/VToolbar.css +21 -7
- package/lib/components/VToolbar/VToolbar.sass +1 -2
- package/lib/components/VTooltip/index.d.mts +3 -3
- package/lib/components/VTreeview/VTreeview.sass +9 -9
- package/lib/components/VValidation/index.d.mts +8 -9
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +0 -2
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.d.mts +0 -3
- package/lib/components/index.d.mts +302 -565
- package/lib/composables/nested/nested.mjs +3 -3
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/nested/openStrategies.mjs +2 -4
- 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 +6 -8
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/composables/virtual.mjs +0 -1
- 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 +46 -46
- package/lib/labs/VDateInput/index.d.mts +6 -6
- package/lib/labs/VNumberInput/VNumberInput.mjs +60 -36
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/index.d.mts +23 -14
- package/lib/labs/VPicker/VPicker.css +6 -2
- package/lib/labs/VPicker/VPicker.sass +2 -3
- package/lib/labs/VSnackbarQueue/index.d.mts +3 -3
- package/lib/labs/VStepperVertical/index.d.mts +0 -36
- package/lib/labs/VTreeview/VTreeview.mjs +5 -7
- package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +10 -33
- package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.css +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.mjs +74 -14
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.sass +5 -2
- package/lib/labs/VTreeview/index.d.mts +60 -77
- package/lib/labs/components.d.mts +92 -136
- package/lib/styles/generic/_colors.scss +9 -3
- package/lib/styles/main.css +520 -0
- package/lib/styles/tools/_absolute.sass +8 -7
- package/lib/styles/tools/_border.sass +4 -3
- package/lib/styles/tools/_display.sass +8 -7
- package/lib/styles/tools/_elevation.sass +4 -2
- package/lib/styles/tools/_index.sass +0 -1
- package/lib/styles/tools/_radius.sass +6 -5
- package/lib/styles/tools/_rounded.sass +2 -1
- package/lib/styles/tools/_theme.sass +3 -2
- package/lib/styles/tools/_typography.sass +6 -5
- package/lib/styles/tools/_utilities.sass +5 -5
- package/lib/styles/utilities/_index.sass +7 -7
- package/lib/util/helpers.mjs +0 -5
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +1 -1
- package/lib/styles/tools/_sheet.sass +0 -14
package/dist/vuetify-labs.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.6.
|
2
|
+
* Vuetify v3.6.14-master.2024-08-01
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -579,11 +579,6 @@
|
|
579
579
|
});
|
580
580
|
return fn;
|
581
581
|
}
|
582
|
-
function checkPrintable(e) {
|
583
|
-
const isPrintableChar = e.key.length === 1;
|
584
|
-
const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
|
585
|
-
return isPrintableChar && noModifier;
|
586
|
-
}
|
587
582
|
|
588
583
|
// Utilities
|
589
584
|
const block = ['top', 'bottom'];
|
@@ -3257,7 +3252,6 @@
|
|
3257
3252
|
// not intended for public use, this is passed in by vuetify-loader
|
3258
3253
|
|
3259
3254
|
const makeVImgProps = propsFactory({
|
3260
|
-
absolute: Boolean,
|
3261
3255
|
alt: String,
|
3262
3256
|
cover: Boolean,
|
3263
3257
|
color: String,
|
@@ -3514,7 +3508,6 @@
|
|
3514
3508
|
const responsiveProps = VResponsive.filterProps(props);
|
3515
3509
|
return vue.withDirectives(vue.createVNode(VResponsive, vue.mergeProps({
|
3516
3510
|
"class": ['v-img', {
|
3517
|
-
'v-img--absolute': props.absolute,
|
3518
3511
|
'v-img--booting': !isBooted.value
|
3519
3512
|
}, backgroundColorClasses.value, roundedClasses.value, props.class],
|
3520
3513
|
"style": [{
|
@@ -5522,7 +5515,6 @@
|
|
5522
5515
|
type: Boolean,
|
5523
5516
|
default: undefined
|
5524
5517
|
},
|
5525
|
-
activeColor: String,
|
5526
5518
|
baseColor: String,
|
5527
5519
|
symbol: {
|
5528
5520
|
type: null,
|
@@ -5614,11 +5606,10 @@
|
|
5614
5606
|
}
|
5615
5607
|
return group?.isSelected.value;
|
5616
5608
|
});
|
5617
|
-
const color = vue.computed(() => isActive.value ? props.activeColor ?? props.color : props.color);
|
5618
5609
|
const variantProps = vue.computed(() => {
|
5619
5610
|
const showColor = group?.isSelected.value && (!link.isLink.value || link.isActive?.value) || !group || link.isActive?.value;
|
5620
5611
|
return {
|
5621
|
-
color: showColor ? color
|
5612
|
+
color: showColor ? props.color ?? props.baseColor : props.baseColor,
|
5622
5613
|
variant: props.variant
|
5623
5614
|
};
|
5624
5615
|
});
|
@@ -5720,7 +5711,7 @@
|
|
5720
5711
|
"indeterminate": true,
|
5721
5712
|
"width": "2"
|
5722
5713
|
}, null)])]
|
5723
|
-
}), [[Ripple, !isDisabled.value &&
|
5714
|
+
}), [[Ripple, !isDisabled.value && props.ripple, '', {
|
5724
5715
|
center: !!props.icon
|
5725
5716
|
}]]);
|
5726
5717
|
});
|
@@ -5959,7 +5950,6 @@
|
|
5959
5950
|
icon: IconValue,
|
5960
5951
|
image: String,
|
5961
5952
|
text: String,
|
5962
|
-
...makeBorderProps(),
|
5963
5953
|
...makeComponentProps(),
|
5964
5954
|
...makeDensityProps(),
|
5965
5955
|
...makeRoundedProps(),
|
@@ -5980,9 +5970,6 @@
|
|
5980
5970
|
const {
|
5981
5971
|
themeClasses
|
5982
5972
|
} = provideTheme(props);
|
5983
|
-
const {
|
5984
|
-
borderClasses
|
5985
|
-
} = useBorder(props);
|
5986
5973
|
const {
|
5987
5974
|
colorClasses,
|
5988
5975
|
colorStyles,
|
@@ -6002,7 +5989,7 @@
|
|
6002
5989
|
"class": ['v-avatar', {
|
6003
5990
|
'v-avatar--start': props.start,
|
6004
5991
|
'v-avatar--end': props.end
|
6005
|
-
}, themeClasses.value,
|
5992
|
+
}, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
6006
5993
|
"style": [colorStyles.value, sizeStyles.value, props.style]
|
6007
5994
|
}, {
|
6008
5995
|
default: () => [!slots.default ? props.image ? vue.createVNode(VImg, {
|
@@ -6018,7 +6005,7 @@
|
|
6018
6005
|
"defaults": {
|
6019
6006
|
VImg: {
|
6020
6007
|
cover: true,
|
6021
|
-
|
6008
|
+
src: props.image
|
6022
6009
|
},
|
6023
6010
|
VIcon: {
|
6024
6011
|
icon: props.icon
|
@@ -6702,14 +6689,12 @@
|
|
6702
6689
|
const validateOn = vue.computed(() => {
|
6703
6690
|
let value = (props.validateOn ?? form?.validateOn.value) || 'input';
|
6704
6691
|
if (value === 'lazy') value = 'input lazy';
|
6705
|
-
if (value === 'eager') value = 'input eager';
|
6706
6692
|
const set = new Set(value?.split(' ') ?? []);
|
6707
6693
|
return {
|
6694
|
+
blur: set.has('blur') || set.has('input'),
|
6708
6695
|
input: set.has('input'),
|
6709
|
-
|
6710
|
-
|
6711
|
-
lazy: set.has('lazy'),
|
6712
|
-
eager: set.has('eager')
|
6696
|
+
submit: set.has('submit'),
|
6697
|
+
lazy: set.has('lazy')
|
6713
6698
|
};
|
6714
6699
|
});
|
6715
6700
|
const isValid = vue.computed(() => {
|
@@ -6746,11 +6731,11 @@
|
|
6746
6731
|
});
|
6747
6732
|
vue.onMounted(async () => {
|
6748
6733
|
if (!validateOn.value.lazy) {
|
6749
|
-
await validate(
|
6734
|
+
await validate(true);
|
6750
6735
|
}
|
6751
6736
|
form?.update(uid.value, isValid.value, errorMessages.value);
|
6752
6737
|
});
|
6753
|
-
useToggleScope(() => validateOn.value.input
|
6738
|
+
useToggleScope(() => validateOn.value.input, () => {
|
6754
6739
|
vue.watch(validationModel, () => {
|
6755
6740
|
if (validationModel.value != null) {
|
6756
6741
|
validate();
|
@@ -6778,7 +6763,7 @@
|
|
6778
6763
|
async function resetValidation() {
|
6779
6764
|
isPristine.value = true;
|
6780
6765
|
if (!validateOn.value.lazy) {
|
6781
|
-
await validate(
|
6766
|
+
await validate(true);
|
6782
6767
|
} else {
|
6783
6768
|
internalErrorMessages.value = [];
|
6784
6769
|
}
|
@@ -7718,9 +7703,7 @@
|
|
7718
7703
|
selected: group.selected,
|
7719
7704
|
scrollTo,
|
7720
7705
|
scrollOffset,
|
7721
|
-
focus
|
7722
|
-
hasPrev,
|
7723
|
-
hasNext
|
7706
|
+
focus
|
7724
7707
|
};
|
7725
7708
|
}
|
7726
7709
|
});
|
@@ -8190,7 +8173,6 @@
|
|
8190
8173
|
return strategy;
|
8191
8174
|
};
|
8192
8175
|
|
8193
|
-
// Utilities
|
8194
8176
|
const singleOpenStrategy = {
|
8195
8177
|
open: _ref => {
|
8196
8178
|
let {
|
@@ -8224,11 +8206,11 @@
|
|
8224
8206
|
parents
|
8225
8207
|
} = _ref2;
|
8226
8208
|
if (value) {
|
8227
|
-
let parent =
|
8209
|
+
let parent = parents.get(id);
|
8228
8210
|
opened.add(id);
|
8229
8211
|
while (parent != null && parent !== id) {
|
8230
8212
|
opened.add(parent);
|
8231
|
-
parent =
|
8213
|
+
parent = parents.get(parent);
|
8232
8214
|
}
|
8233
8215
|
return opened;
|
8234
8216
|
} else {
|
@@ -8399,18 +8381,18 @@
|
|
8399
8381
|
const items = [id];
|
8400
8382
|
while (items.length) {
|
8401
8383
|
const item = items.shift();
|
8402
|
-
selected.set(
|
8384
|
+
selected.set(item, value ? 'on' : 'off');
|
8403
8385
|
if (children.has(item)) {
|
8404
8386
|
items.push(...children.get(item));
|
8405
8387
|
}
|
8406
8388
|
}
|
8407
|
-
let parent =
|
8389
|
+
let parent = parents.get(id);
|
8408
8390
|
while (parent) {
|
8409
8391
|
const childrenIds = children.get(parent);
|
8410
|
-
const everySelected = childrenIds.every(cid => selected.get(
|
8411
|
-
const noneSelected = childrenIds.every(cid => !selected.has(
|
8392
|
+
const everySelected = childrenIds.every(cid => selected.get(cid) === 'on');
|
8393
|
+
const noneSelected = childrenIds.every(cid => !selected.has(cid) || selected.get(cid) === 'off');
|
8412
8394
|
selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate');
|
8413
|
-
parent =
|
8395
|
+
parent = parents.get(parent);
|
8414
8396
|
}
|
8415
8397
|
|
8416
8398
|
// If mandatory and planned deselect results in no selected
|
@@ -8488,7 +8470,7 @@
|
|
8488
8470
|
let isUnmounted = false;
|
8489
8471
|
const children = vue.ref(new Map());
|
8490
8472
|
const parents = vue.ref(new Map());
|
8491
|
-
const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(
|
8473
|
+
const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);
|
8492
8474
|
const activeStrategy = vue.computed(() => {
|
8493
8475
|
if (typeof props.activeStrategy === 'object') return props.activeStrategy;
|
8494
8476
|
if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);
|
@@ -8661,9 +8643,9 @@
|
|
8661
8643
|
const item = {
|
8662
8644
|
...parent,
|
8663
8645
|
id: computedId,
|
8664
|
-
open: (open, e) => parent.root.open(
|
8646
|
+
open: (open, e) => parent.root.open(computedId.value, open, e),
|
8665
8647
|
openOnSelect: (open, e) => parent.root.openOnSelect(computedId.value, open, e),
|
8666
|
-
isOpen: vue.computed(() => parent.root.opened.value.has(
|
8648
|
+
isOpen: vue.computed(() => parent.root.opened.value.has(computedId.value)),
|
8667
8649
|
parent: vue.computed(() => parent.root.parents.value.get(computedId.value)),
|
8668
8650
|
activate: (activated, e) => parent.root.activate(computedId.value, activated, e),
|
8669
8651
|
isActivated: vue.computed(() => parent.root.activated.value.has(vue.toRaw(computedId.value))),
|
@@ -8887,7 +8869,6 @@
|
|
8887
8869
|
activate,
|
8888
8870
|
isActivated,
|
8889
8871
|
select,
|
8890
|
-
isOpen,
|
8891
8872
|
isSelected,
|
8892
8873
|
isIndeterminate,
|
8893
8874
|
isGroupActivator,
|
@@ -8942,7 +8923,6 @@
|
|
8942
8923
|
const slotProps = vue.computed(() => ({
|
8943
8924
|
isActive: isActive.value,
|
8944
8925
|
select,
|
8945
|
-
isOpen: isOpen.value,
|
8946
8926
|
isSelected: isSelected.value,
|
8947
8927
|
isIndeterminate: isIndeterminate.value
|
8948
8928
|
}));
|
@@ -8962,7 +8942,7 @@
|
|
8962
8942
|
function onKeyDown(e) {
|
8963
8943
|
if (e.key === 'Enter' || e.key === ' ') {
|
8964
8944
|
e.preventDefault();
|
8965
|
-
|
8945
|
+
onClick(e);
|
8966
8946
|
}
|
8967
8947
|
}
|
8968
8948
|
useRender(() => {
|
@@ -10285,8 +10265,7 @@
|
|
10285
10265
|
function useActivator(props, _ref) {
|
10286
10266
|
let {
|
10287
10267
|
isActive,
|
10288
|
-
isTop
|
10289
|
-
contentEl
|
10268
|
+
isTop
|
10290
10269
|
} = _ref;
|
10291
10270
|
const vm = getCurrentInstance('useActivator');
|
10292
10271
|
const activatorEl = vue.ref();
|
@@ -10403,7 +10382,7 @@
|
|
10403
10382
|
return events;
|
10404
10383
|
});
|
10405
10384
|
vue.watch(isTop, val => {
|
10406
|
-
if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))
|
10385
|
+
if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))) {
|
10407
10386
|
isActive.value = false;
|
10408
10387
|
}
|
10409
10388
|
});
|
@@ -10809,9 +10788,6 @@
|
|
10809
10788
|
attrs,
|
10810
10789
|
emit
|
10811
10790
|
} = _ref;
|
10812
|
-
const root = vue.ref();
|
10813
|
-
const scrimEl = vue.ref();
|
10814
|
-
const contentEl = vue.ref();
|
10815
10791
|
const model = useProxiedModel(props, 'modelValue');
|
10816
10792
|
const isActive = vue.computed({
|
10817
10793
|
get: () => model.value,
|
@@ -10849,8 +10825,7 @@
|
|
10849
10825
|
scrimEvents
|
10850
10826
|
} = useActivator(props, {
|
10851
10827
|
isActive,
|
10852
|
-
isTop: localTop
|
10853
|
-
contentEl
|
10828
|
+
isTop: localTop
|
10854
10829
|
});
|
10855
10830
|
const {
|
10856
10831
|
teleportTarget
|
@@ -10871,6 +10846,9 @@
|
|
10871
10846
|
vue.watch(() => props.disabled, v => {
|
10872
10847
|
if (v) isActive.value = false;
|
10873
10848
|
});
|
10849
|
+
const root = vue.ref();
|
10850
|
+
const scrimEl = vue.ref();
|
10851
|
+
const contentEl = vue.ref();
|
10874
10852
|
const {
|
10875
10853
|
contentStyles,
|
10876
10854
|
updateLocation
|
@@ -11121,12 +11099,10 @@
|
|
11121
11099
|
// TODO
|
11122
11100
|
// disableKeys: Boolean,
|
11123
11101
|
id: String,
|
11124
|
-
submenu: Boolean,
|
11125
11102
|
...omit(makeVOverlayProps({
|
11126
11103
|
closeDelay: 250,
|
11127
11104
|
closeOnContentClick: true,
|
11128
11105
|
locationStrategy: 'connected',
|
11129
|
-
location: undefined,
|
11130
11106
|
openDelay: 300,
|
11131
11107
|
scrim: false,
|
11132
11108
|
scrollStrategy: 'reposition',
|
@@ -11149,32 +11125,27 @@
|
|
11149
11125
|
const {
|
11150
11126
|
scopeId
|
11151
11127
|
} = useScopeId();
|
11152
|
-
const {
|
11153
|
-
isRtl
|
11154
|
-
} = useRtl();
|
11155
11128
|
const uid = getUid();
|
11156
11129
|
const id = vue.computed(() => props.id || `v-menu-${uid}`);
|
11157
11130
|
const overlay = vue.ref();
|
11158
11131
|
const parent = vue.inject(VMenuSymbol, null);
|
11159
|
-
const openChildren = vue.shallowRef(
|
11132
|
+
const openChildren = vue.shallowRef(0);
|
11160
11133
|
vue.provide(VMenuSymbol, {
|
11161
11134
|
register() {
|
11162
|
-
openChildren.value
|
11135
|
+
++openChildren.value;
|
11163
11136
|
},
|
11164
11137
|
unregister() {
|
11165
|
-
openChildren.value
|
11138
|
+
--openChildren.value;
|
11166
11139
|
},
|
11167
11140
|
closeParents(e) {
|
11168
11141
|
setTimeout(() => {
|
11169
|
-
if (!openChildren.value
|
11142
|
+
if (!openChildren.value && !props.persistent && (e == null || overlay.value?.contentEl && !isClickInsideElement(e, overlay.value.contentEl))) {
|
11170
11143
|
isActive.value = false;
|
11171
11144
|
parent?.closeParents();
|
11172
11145
|
}
|
11173
11146
|
}, 40);
|
11174
11147
|
}
|
11175
11148
|
});
|
11176
|
-
vue.onBeforeUnmount(() => parent?.unregister());
|
11177
|
-
vue.onDeactivated(() => isActive.value = false);
|
11178
11149
|
async function onFocusIn(e) {
|
11179
11150
|
const before = e.relatedTarget;
|
11180
11151
|
const after = e.target;
|
@@ -11214,9 +11185,9 @@
|
|
11214
11185
|
isActive.value = false;
|
11215
11186
|
overlay.value?.activatorEl?.focus();
|
11216
11187
|
}
|
11217
|
-
} else if (
|
11188
|
+
} else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {
|
11218
11189
|
isActive.value = false;
|
11219
|
-
|
11190
|
+
parent?.closeParents();
|
11220
11191
|
}
|
11221
11192
|
}
|
11222
11193
|
function onActivatorKeydown(e) {
|
@@ -11225,21 +11196,12 @@
|
|
11225
11196
|
if (el && isActive.value) {
|
11226
11197
|
if (e.key === 'ArrowDown') {
|
11227
11198
|
e.preventDefault();
|
11228
|
-
e.stopImmediatePropagation();
|
11229
11199
|
focusChild(el, 'next');
|
11230
11200
|
} else if (e.key === 'ArrowUp') {
|
11231
11201
|
e.preventDefault();
|
11232
|
-
e.stopImmediatePropagation();
|
11233
11202
|
focusChild(el, 'prev');
|
11234
|
-
} else if (props.submenu) {
|
11235
|
-
if (e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
|
11236
|
-
isActive.value = false;
|
11237
|
-
} else if (e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')) {
|
11238
|
-
e.preventDefault();
|
11239
|
-
focusChild(el, 'first');
|
11240
|
-
}
|
11241
11203
|
}
|
11242
|
-
} else if (
|
11204
|
+
} else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
|
11243
11205
|
isActive.value = true;
|
11244
11206
|
e.preventDefault();
|
11245
11207
|
setTimeout(() => setTimeout(() => onActivatorKeydown(e)));
|
@@ -11263,7 +11225,6 @@
|
|
11263
11225
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
11264
11226
|
"absolute": true,
|
11265
11227
|
"activatorProps": activatorProps.value,
|
11266
|
-
"location": props.location ?? (props.submenu ? 'end' : 'bottom'),
|
11267
11228
|
"onClick:outside": onClickOutside,
|
11268
11229
|
"onKeydown": onKeydown
|
11269
11230
|
}, scopeId), {
|
@@ -12096,7 +12057,6 @@
|
|
12096
12057
|
deep: true
|
12097
12058
|
});
|
12098
12059
|
return {
|
12099
|
-
calculateVisibleItems,
|
12100
12060
|
containerRef,
|
12101
12061
|
markerRef,
|
12102
12062
|
computedItems,
|
@@ -12160,7 +12120,6 @@
|
|
12160
12120
|
dimensionStyles
|
12161
12121
|
} = useDimension(props);
|
12162
12122
|
const {
|
12163
|
-
calculateVisibleItems,
|
12164
12123
|
containerRef,
|
12165
12124
|
markerRef,
|
12166
12125
|
handleScroll,
|
@@ -12232,7 +12191,6 @@
|
|
12232
12191
|
}, [children])]);
|
12233
12192
|
});
|
12234
12193
|
return {
|
12235
|
-
calculateVisibleItems,
|
12236
12194
|
scrollToIndex
|
12237
12195
|
};
|
12238
12196
|
}
|
@@ -12301,9 +12259,9 @@
|
|
12301
12259
|
}
|
12302
12260
|
}
|
12303
12261
|
return {
|
12304
|
-
|
12305
|
-
|
12306
|
-
};
|
12262
|
+
onListScroll,
|
12263
|
+
onListKeydown
|
12264
|
+
};
|
12307
12265
|
}
|
12308
12266
|
|
12309
12267
|
// Types
|
@@ -12378,7 +12336,7 @@
|
|
12378
12336
|
const menu = vue.computed({
|
12379
12337
|
get: () => _menu.value,
|
12380
12338
|
set: v => {
|
12381
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren
|
12339
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
|
12382
12340
|
_menu.value = v;
|
12383
12341
|
}
|
12384
12342
|
});
|
@@ -12417,7 +12375,10 @@
|
|
12417
12375
|
};
|
12418
12376
|
});
|
12419
12377
|
const listRef = vue.ref();
|
12420
|
-
const
|
12378
|
+
const {
|
12379
|
+
onListScroll,
|
12380
|
+
onListKeydown
|
12381
|
+
} = useScrolling(listRef, vTextFieldRef);
|
12421
12382
|
function onClear(e) {
|
12422
12383
|
if (props.openOnClear) {
|
12423
12384
|
menu.value = true;
|
@@ -12427,11 +12388,6 @@
|
|
12427
12388
|
if (menuDisabled.value) return;
|
12428
12389
|
menu.value = !menu.value;
|
12429
12390
|
}
|
12430
|
-
function onListKeydown(e) {
|
12431
|
-
if (checkPrintable(e)) {
|
12432
|
-
onKeydown(e);
|
12433
|
-
}
|
12434
|
-
}
|
12435
12391
|
function onKeydown(e) {
|
12436
12392
|
if (!e.key || props.readonly || form?.isReadonly.value) return;
|
12437
12393
|
if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
|
@@ -12452,6 +12408,11 @@
|
|
12452
12408
|
// html select hotkeys
|
12453
12409
|
const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds
|
12454
12410
|
|
12411
|
+
function checkPrintable(e) {
|
12412
|
+
const isPrintableChar = e.key.length === 1;
|
12413
|
+
const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
|
12414
|
+
return isPrintableChar && noModifier;
|
12415
|
+
}
|
12455
12416
|
if (props.multiple || !checkPrintable(e)) return;
|
12456
12417
|
const now = performance.now();
|
12457
12418
|
if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
|
@@ -12496,11 +12457,6 @@
|
|
12496
12457
|
menu.value = false;
|
12497
12458
|
}
|
12498
12459
|
}
|
12499
|
-
function onAfterEnter() {
|
12500
|
-
if (props.eager) {
|
12501
|
-
vVirtualScrollRef.value?.calculateVisibleItems();
|
12502
|
-
}
|
12503
|
-
}
|
12504
12460
|
function onAfterLeave() {
|
12505
12461
|
if (isFocused.value) {
|
12506
12462
|
vTextFieldRef.value?.focus();
|
@@ -12579,7 +12535,6 @@
|
|
12579
12535
|
"openOnClick": false,
|
12580
12536
|
"closeOnContentClick": false,
|
12581
12537
|
"transition": props.transition,
|
12582
|
-
"onAfterEnter": onAfterEnter,
|
12583
12538
|
"onAfterLeave": onAfterLeave
|
12584
12539
|
}, computedMenuProps.value), {
|
12585
12540
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
@@ -12589,10 +12544,11 @@
|
|
12589
12544
|
"onMousedown": e => e.preventDefault(),
|
12590
12545
|
"onKeydown": onListKeydown,
|
12591
12546
|
"onFocusin": onFocusin,
|
12547
|
+
"onScrollPassive": onListScroll,
|
12592
12548
|
"tabindex": "-1",
|
12593
12549
|
"aria-live": "polite",
|
12594
12550
|
"color": props.itemColor ?? props.color
|
12595
|
-
},
|
12551
|
+
}, props.listProps), {
|
12596
12552
|
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
|
12597
12553
|
"title": t(props.noDataText)
|
12598
12554
|
}, null)), vue.createVNode(VVirtualScroll, {
|
@@ -12887,7 +12843,7 @@
|
|
12887
12843
|
const menu = vue.computed({
|
12888
12844
|
get: () => _menu.value,
|
12889
12845
|
set: v => {
|
12890
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren
|
12846
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
|
12891
12847
|
_menu.value = v;
|
12892
12848
|
}
|
12893
12849
|
});
|
@@ -12931,7 +12887,10 @@
|
|
12931
12887
|
});
|
12932
12888
|
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
|
12933
12889
|
const listRef = vue.ref();
|
12934
|
-
const
|
12890
|
+
const {
|
12891
|
+
onListScroll,
|
12892
|
+
onListKeydown
|
12893
|
+
} = useScrolling(listRef, vTextFieldRef);
|
12935
12894
|
function onClear(e) {
|
12936
12895
|
if (props.openOnClear) {
|
12937
12896
|
menu.value = true;
|
@@ -12950,11 +12909,6 @@
|
|
12950
12909
|
}
|
12951
12910
|
menu.value = !menu.value;
|
12952
12911
|
}
|
12953
|
-
function onListKeydown(e) {
|
12954
|
-
if (checkPrintable(e)) {
|
12955
|
-
vTextFieldRef.value?.focus();
|
12956
|
-
}
|
12957
|
-
}
|
12958
12912
|
function onKeydown(e) {
|
12959
12913
|
if (props.readonly || form?.isReadonly.value) return;
|
12960
12914
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
@@ -13019,11 +12973,6 @@
|
|
13019
12973
|
}
|
13020
12974
|
}
|
13021
12975
|
}
|
13022
|
-
function onAfterEnter() {
|
13023
|
-
if (props.eager) {
|
13024
|
-
vVirtualScrollRef.value?.calculateVisibleItems();
|
13025
|
-
}
|
13026
|
-
}
|
13027
12976
|
function onAfterLeave() {
|
13028
12977
|
if (isFocused.value) {
|
13029
12978
|
isPristine.value = true;
|
@@ -13152,7 +13101,6 @@
|
|
13152
13101
|
"openOnClick": false,
|
13153
13102
|
"closeOnContentClick": false,
|
13154
13103
|
"transition": props.transition,
|
13155
|
-
"onAfterEnter": onAfterEnter,
|
13156
13104
|
"onAfterLeave": onAfterLeave
|
13157
13105
|
}, props.menuProps), {
|
13158
13106
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
@@ -13163,10 +13111,11 @@
|
|
13163
13111
|
"onKeydown": onListKeydown,
|
13164
13112
|
"onFocusin": onFocusin,
|
13165
13113
|
"onFocusout": onFocusout,
|
13114
|
+
"onScrollPassive": onListScroll,
|
13166
13115
|
"tabindex": "-1",
|
13167
13116
|
"aria-live": "polite",
|
13168
13117
|
"color": props.itemColor ?? props.color
|
13169
|
-
},
|
13118
|
+
}, props.listProps), {
|
13170
13119
|
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
|
13171
13120
|
"title": t(props.noDataText)
|
13172
13121
|
}, null)), vue.createVNode(VVirtualScroll, {
|
@@ -16727,7 +16676,7 @@
|
|
16727
16676
|
const menu = vue.computed({
|
16728
16677
|
get: () => _menu.value,
|
16729
16678
|
set: v => {
|
16730
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren
|
16679
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
|
16731
16680
|
_menu.value = v;
|
16732
16681
|
}
|
16733
16682
|
});
|
@@ -16810,7 +16759,10 @@
|
|
16810
16759
|
});
|
16811
16760
|
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
|
16812
16761
|
const listRef = vue.ref();
|
16813
|
-
const
|
16762
|
+
const {
|
16763
|
+
onListScroll,
|
16764
|
+
onListKeydown
|
16765
|
+
} = useScrolling(listRef, vTextFieldRef);
|
16814
16766
|
function onClear(e) {
|
16815
16767
|
cleared = true;
|
16816
16768
|
if (props.openOnClear) {
|
@@ -16829,11 +16781,6 @@
|
|
16829
16781
|
}
|
16830
16782
|
menu.value = !menu.value;
|
16831
16783
|
}
|
16832
|
-
function onListKeydown(e) {
|
16833
|
-
if (checkPrintable(e)) {
|
16834
|
-
vTextFieldRef.value?.focus();
|
16835
|
-
}
|
16836
|
-
}
|
16837
16784
|
// eslint-disable-next-line complexity
|
16838
16785
|
function onKeydown(e) {
|
16839
16786
|
if (isComposingIgnoreKey(e) || props.readonly || form?.isReadonly.value) return;
|
@@ -16898,11 +16845,6 @@
|
|
16898
16845
|
}
|
16899
16846
|
}
|
16900
16847
|
}
|
16901
|
-
function onAfterEnter() {
|
16902
|
-
if (props.eager) {
|
16903
|
-
vVirtualScrollRef.value?.calculateVisibleItems();
|
16904
|
-
}
|
16905
|
-
}
|
16906
16848
|
function onAfterLeave() {
|
16907
16849
|
if (isFocused.value) {
|
16908
16850
|
isPristine.value = true;
|
@@ -17027,7 +16969,6 @@
|
|
17027
16969
|
"openOnClick": false,
|
17028
16970
|
"closeOnContentClick": false,
|
17029
16971
|
"transition": props.transition,
|
17030
|
-
"onAfterEnter": onAfterEnter,
|
17031
16972
|
"onAfterLeave": onAfterLeave
|
17032
16973
|
}, props.menuProps), {
|
17033
16974
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
@@ -17038,10 +16979,11 @@
|
|
17038
16979
|
"onKeydown": onListKeydown,
|
17039
16980
|
"onFocusin": onFocusin,
|
17040
16981
|
"onFocusout": onFocusout,
|
16982
|
+
"onScrollPassive": onListScroll,
|
17041
16983
|
"tabindex": "-1",
|
17042
16984
|
"aria-live": "polite",
|
17043
16985
|
"color": props.itemColor ?? props.color
|
17044
|
-
},
|
16986
|
+
}, props.listProps), {
|
17045
16987
|
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
|
17046
16988
|
"title": t(props.noDataText)
|
17047
16989
|
}, null)), vue.createVNode(VVirtualScroll, {
|
@@ -20985,7 +20927,6 @@
|
|
20985
20927
|
default: false
|
20986
20928
|
},
|
20987
20929
|
...makeComponentProps(),
|
20988
|
-
...makeDimensionProps(),
|
20989
20930
|
...makeTagProps()
|
20990
20931
|
}, 'VContainer');
|
20991
20932
|
const VContainer = genericComponent()({
|
@@ -20998,14 +20939,11 @@
|
|
20998
20939
|
const {
|
20999
20940
|
rtlClasses
|
21000
20941
|
} = useRtl();
|
21001
|
-
const {
|
21002
|
-
dimensionStyles
|
21003
|
-
} = useDimension(props);
|
21004
20942
|
useRender(() => vue.createVNode(props.tag, {
|
21005
20943
|
"class": ['v-container', {
|
21006
20944
|
'v-container--fluid': props.fluid
|
21007
20945
|
}, rtlClasses.value, props.class],
|
21008
|
-
"style":
|
20946
|
+
"style": props.style
|
21009
20947
|
}, slots));
|
21010
20948
|
return {};
|
21011
20949
|
}
|
@@ -22427,8 +22365,7 @@
|
|
22427
22365
|
default: false
|
22428
22366
|
},
|
22429
22367
|
readonly: Boolean,
|
22430
|
-
...makeComponentProps()
|
22431
|
-
...makeDimensionProps()
|
22368
|
+
...makeComponentProps()
|
22432
22369
|
}, 'VExpansionPanelTitle');
|
22433
22370
|
const VExpansionPanelTitle = genericComponent()({
|
22434
22371
|
name: 'VExpansionPanelTitle',
|
@@ -22446,9 +22383,6 @@
|
|
22446
22383
|
backgroundColorClasses,
|
22447
22384
|
backgroundColorStyles
|
22448
22385
|
} = useBackgroundColor(props, 'color');
|
22449
|
-
const {
|
22450
|
-
dimensionStyles
|
22451
|
-
} = useDimension(props);
|
22452
22386
|
const slotProps = vue.computed(() => ({
|
22453
22387
|
collapseIcon: props.collapseIcon,
|
22454
22388
|
disabled: expansionPanel.disabled.value,
|
@@ -22463,7 +22397,7 @@
|
|
22463
22397
|
'v-expansion-panel-title--focusable': props.focusable,
|
22464
22398
|
'v-expansion-panel-title--static': props.static
|
22465
22399
|
}, backgroundColorClasses.value, props.class],
|
22466
|
-
"style": [backgroundColorStyles.value,
|
22400
|
+
"style": [backgroundColorStyles.value, props.style],
|
22467
22401
|
"type": "button",
|
22468
22402
|
"tabindex": expansionPanel.disabled.value ? -1 : undefined,
|
22469
22403
|
"disabled": expansionPanel.disabled.value,
|
@@ -22985,6 +22919,8 @@
|
|
22985
22919
|
let {
|
22986
22920
|
slots
|
22987
22921
|
} = _ref;
|
22922
|
+
const layoutItemStyles = vue.ref();
|
22923
|
+
const layoutIsReady = vue.shallowRef();
|
22988
22924
|
const {
|
22989
22925
|
themeClasses
|
22990
22926
|
} = provideTheme(props);
|
@@ -23009,17 +22945,20 @@
|
|
23009
22945
|
autoHeight.value = entries[0].target.clientHeight;
|
23010
22946
|
});
|
23011
22947
|
const height = vue.computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10));
|
23012
|
-
|
23013
|
-
|
23014
|
-
|
23015
|
-
|
23016
|
-
|
23017
|
-
|
23018
|
-
|
23019
|
-
|
23020
|
-
|
23021
|
-
|
23022
|
-
|
22948
|
+
useToggleScope(() => props.app, () => {
|
22949
|
+
const layout = useLayoutItem({
|
22950
|
+
id: props.name,
|
22951
|
+
order: vue.computed(() => parseInt(props.order, 10)),
|
22952
|
+
position: vue.computed(() => 'bottom'),
|
22953
|
+
layoutSize: height,
|
22954
|
+
elementSize: vue.computed(() => props.height === 'auto' ? undefined : height.value),
|
22955
|
+
active: vue.computed(() => props.app),
|
22956
|
+
absolute: vue.toRef(props, 'absolute')
|
22957
|
+
});
|
22958
|
+
vue.watchEffect(() => {
|
22959
|
+
layoutItemStyles.value = layout.layoutItemStyles.value;
|
22960
|
+
layoutIsReady.value = layout.layoutIsReady;
|
22961
|
+
});
|
23023
22962
|
});
|
23024
22963
|
useRender(() => vue.createVNode(props.tag, {
|
23025
22964
|
"ref": resizeRef,
|
@@ -23028,7 +22967,7 @@
|
|
23028
22967
|
height: convertToUnit(props.height)
|
23029
22968
|
}, props.style]
|
23030
22969
|
}, slots));
|
23031
|
-
return props.app ? layoutIsReady : {};
|
22970
|
+
return props.app ? layoutIsReady.value : {};
|
23032
22971
|
}
|
23033
22972
|
});
|
23034
22973
|
|
@@ -25169,16 +25108,17 @@
|
|
25169
25108
|
const items = vue.computed(() => genStructure(wrapInArray(props.type).join(',')));
|
25170
25109
|
useRender(() => {
|
25171
25110
|
const isLoading = !slots.default || props.loading;
|
25172
|
-
|
25111
|
+
const loadingProps = props.boilerplate || !isLoading ? {} : {
|
25112
|
+
ariaLive: 'polite',
|
25113
|
+
ariaLabel: t(props.loadingText),
|
25114
|
+
role: 'alert'
|
25115
|
+
};
|
25116
|
+
return vue.createVNode("div", vue.mergeProps({
|
25173
25117
|
"class": ['v-skeleton-loader', {
|
25174
25118
|
'v-skeleton-loader--boilerplate': props.boilerplate
|
25175
25119
|
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value],
|
25176
|
-
"style": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}]
|
25177
|
-
|
25178
|
-
"aria-live": !props.boilerplate ? 'polite' : undefined,
|
25179
|
-
"aria-label": !props.boilerplate ? t(props.loadingText) : undefined,
|
25180
|
-
"role": !props.boilerplate ? 'alert' : undefined
|
25181
|
-
}, [isLoading ? items.value : slots.default?.()]);
|
25120
|
+
"style": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}]
|
25121
|
+
}, loadingProps), [isLoading ? items.value : slots.default?.()]);
|
25182
25122
|
});
|
25183
25123
|
return {};
|
25184
25124
|
}
|
@@ -25211,14 +25151,14 @@
|
|
25211
25151
|
// Types
|
25212
25152
|
|
25213
25153
|
function useCountdown(milliseconds) {
|
25214
|
-
const time = vue.shallowRef(milliseconds);
|
25154
|
+
const time = vue.shallowRef(milliseconds());
|
25215
25155
|
let timer = -1;
|
25216
25156
|
function clear() {
|
25217
25157
|
clearInterval(timer);
|
25218
25158
|
}
|
25219
25159
|
function reset() {
|
25220
25160
|
clear();
|
25221
|
-
vue.nextTick(() => time.value = milliseconds);
|
25161
|
+
vue.nextTick(() => time.value = milliseconds());
|
25222
25162
|
}
|
25223
25163
|
function start(el) {
|
25224
25164
|
const style = el ? getComputedStyle(el) : {
|
@@ -25230,7 +25170,7 @@
|
|
25230
25170
|
const startTime = performance.now();
|
25231
25171
|
timer = window.setInterval(() => {
|
25232
25172
|
const elapsed = performance.now() - startTime + interval;
|
25233
|
-
time.value = Math.max(milliseconds - elapsed, 0);
|
25173
|
+
time.value = Math.max(milliseconds() - elapsed, 0);
|
25234
25174
|
if (time.value <= 0) clear();
|
25235
25175
|
}, interval);
|
25236
25176
|
}
|
@@ -25290,7 +25230,7 @@
|
|
25290
25230
|
const {
|
25291
25231
|
roundedClasses
|
25292
25232
|
} = useRounded(props);
|
25293
|
-
const countdown = useCountdown(Number(props.timeout));
|
25233
|
+
const countdown = useCountdown(() => Number(props.timeout));
|
25294
25234
|
const overlay = vue.ref();
|
25295
25235
|
const timerRef = vue.ref();
|
25296
25236
|
const isHovering = vue.shallowRef(false);
|
@@ -28110,19 +28050,23 @@
|
|
28110
28050
|
},
|
28111
28051
|
inset: Boolean,
|
28112
28052
|
hideInput: Boolean,
|
28053
|
+
modelValue: {
|
28054
|
+
type: Number,
|
28055
|
+
default: null
|
28056
|
+
},
|
28113
28057
|
min: {
|
28114
28058
|
type: Number,
|
28115
|
-
default:
|
28059
|
+
default: Number.MIN_SAFE_INTEGER
|
28116
28060
|
},
|
28117
28061
|
max: {
|
28118
28062
|
type: Number,
|
28119
|
-
default:
|
28063
|
+
default: Number.MAX_SAFE_INTEGER
|
28120
28064
|
},
|
28121
28065
|
step: {
|
28122
28066
|
type: Number,
|
28123
28067
|
default: 1
|
28124
28068
|
},
|
28125
|
-
...omit(makeVTextFieldProps(), ['appendInnerIcon', 'prependInnerIcon'])
|
28069
|
+
...omit(makeVTextFieldProps({}), ['appendInnerIcon', 'modelValue', 'prependInnerIcon'])
|
28126
28070
|
}, 'VNumberInput');
|
28127
28071
|
const VNumberInput = genericComponent()({
|
28128
28072
|
name: 'VNumberInput',
|
@@ -28134,30 +28078,27 @@
|
|
28134
28078
|
},
|
28135
28079
|
setup(props, _ref) {
|
28136
28080
|
let {
|
28137
|
-
attrs,
|
28138
|
-
emit,
|
28139
28081
|
slots
|
28140
28082
|
} = _ref;
|
28141
|
-
const
|
28083
|
+
const _model = useProxiedModel(props, 'modelValue');
|
28084
|
+
const model = vue.computed({
|
28085
|
+
get: () => _model.value,
|
28086
|
+
set(val) {
|
28087
|
+
if (typeof val !== 'string') _model.value = val;
|
28088
|
+
}
|
28089
|
+
});
|
28090
|
+
const vTextFieldRef = vue.ref();
|
28142
28091
|
const stepDecimals = vue.computed(() => getDecimals(props.step));
|
28143
|
-
const modelDecimals = vue.computed(() => model.value
|
28092
|
+
const modelDecimals = vue.computed(() => typeof model.value === 'number' ? getDecimals(model.value) : 0);
|
28144
28093
|
const form = useForm();
|
28145
28094
|
const controlsDisabled = vue.computed(() => props.disabled || props.readonly || form?.isReadonly.value);
|
28146
28095
|
const canIncrease = vue.computed(() => {
|
28147
28096
|
if (controlsDisabled.value) return false;
|
28148
|
-
|
28149
|
-
return model.value + props.step <= props.max;
|
28097
|
+
return (model.value ?? 0) + props.step <= props.max;
|
28150
28098
|
});
|
28151
28099
|
const canDecrease = vue.computed(() => {
|
28152
28100
|
if (controlsDisabled.value) return false;
|
28153
|
-
|
28154
|
-
return model.value - props.step >= props.min;
|
28155
|
-
});
|
28156
|
-
vue.watchEffect(() => {
|
28157
|
-
if (controlsDisabled.value) return;
|
28158
|
-
if (model.value != null && (model.value < props.min || model.value > props.max)) {
|
28159
|
-
model.value = clamp(model.value, props.min, props.max);
|
28160
|
-
}
|
28101
|
+
return (model.value ?? 0) - props.step >= props.min;
|
28161
28102
|
});
|
28162
28103
|
const controlVariant = vue.computed(() => {
|
28163
28104
|
return props.hideInput ? 'stacked' : props.controlVariant;
|
@@ -28172,11 +28113,16 @@
|
|
28172
28113
|
const decrementSlotProps = vue.computed(() => ({
|
28173
28114
|
click: onClickDown
|
28174
28115
|
}));
|
28116
|
+
vue.onMounted(() => {
|
28117
|
+
if (!props.readonly && !props.disabled) {
|
28118
|
+
clampModel();
|
28119
|
+
}
|
28120
|
+
});
|
28175
28121
|
function toggleUpDown() {
|
28176
28122
|
let increment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
28177
28123
|
if (controlsDisabled.value) return;
|
28178
28124
|
if (model.value == null) {
|
28179
|
-
model.value = 0;
|
28125
|
+
model.value = clamp(0, props.min, props.max);
|
28180
28126
|
return;
|
28181
28127
|
}
|
28182
28128
|
const decimals = Math.max(modelDecimals.value, stepDecimals.value);
|
@@ -28194,30 +28140,45 @@
|
|
28194
28140
|
e.stopPropagation();
|
28195
28141
|
toggleUpDown(false);
|
28196
28142
|
}
|
28197
|
-
function
|
28198
|
-
if (
|
28199
|
-
|
28143
|
+
function onBeforeinput(e) {
|
28144
|
+
if (!e.data) return;
|
28145
|
+
const existingTxt = e.target?.value;
|
28146
|
+
const selectionStart = e.target?.selectionStart;
|
28147
|
+
const selectionEnd = e.target?.selectionEnd;
|
28148
|
+
const potentialNewInputVal = existingTxt ? existingTxt.slice(0, selectionStart) + e.data + existingTxt.slice(selectionEnd) : e.data;
|
28149
|
+
// Only numbers, "-", "." are allowed
|
28150
|
+
// AND "-", "." are allowed only once
|
28151
|
+
// AND "-" is only allowed at the start
|
28152
|
+
if (!/^-?(\d+(\.\d*)?|(\.\d+)|\d*|\.)$/.test(potentialNewInputVal)) {
|
28200
28153
|
e.preventDefault();
|
28201
|
-
toggleUpDown(false);
|
28202
|
-
return;
|
28203
28154
|
}
|
28204
|
-
|
28205
|
-
|
28206
|
-
|
28207
|
-
|
28208
|
-
}
|
28209
|
-
|
28210
|
-
// Only numbers, +, - & . are allowed
|
28211
|
-
if (!/^[0-9\-+.]+$/.test(e.key)) {
|
28155
|
+
}
|
28156
|
+
async function onKeydown(e) {
|
28157
|
+
if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) || e.ctrlKey) return;
|
28158
|
+
if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
|
28212
28159
|
e.preventDefault();
|
28160
|
+
clampModel();
|
28161
|
+
// _model is controlled, so need to wait until props['modelValue'] is updated
|
28162
|
+
await vue.nextTick();
|
28163
|
+
if (e.key === 'ArrowDown') {
|
28164
|
+
toggleUpDown(false);
|
28165
|
+
} else {
|
28166
|
+
toggleUpDown();
|
28167
|
+
}
|
28213
28168
|
}
|
28214
28169
|
}
|
28215
|
-
function onModelUpdate(v) {
|
28216
|
-
model.value = v ? +v : undefined;
|
28217
|
-
}
|
28218
28170
|
function onControlMousedown(e) {
|
28219
28171
|
e.stopPropagation();
|
28220
28172
|
}
|
28173
|
+
function clampModel() {
|
28174
|
+
if (!vTextFieldRef.value) return;
|
28175
|
+
const inputText = vTextFieldRef.value.value;
|
28176
|
+
if (inputText && !isNaN(+inputText)) {
|
28177
|
+
model.value = clamp(+inputText, props.min, props.max);
|
28178
|
+
} else {
|
28179
|
+
model.value = null;
|
28180
|
+
}
|
28181
|
+
}
|
28221
28182
|
useRender(() => {
|
28222
28183
|
const {
|
28223
28184
|
modelValue: _,
|
@@ -28302,8 +28263,11 @@
|
|
28302
28263
|
}, null)]) : props.reverse ? vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined;
|
28303
28264
|
const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
|
28304
28265
|
return vue.createVNode(VTextField, vue.mergeProps({
|
28266
|
+
"ref": vTextFieldRef,
|
28305
28267
|
"modelValue": model.value,
|
28306
|
-
"onUpdate:modelValue":
|
28268
|
+
"onUpdate:modelValue": $event => model.value = $event,
|
28269
|
+
"onBeforeinput": onBeforeinput,
|
28270
|
+
"onChange": clampModel,
|
28307
28271
|
"onKeydown": onKeydown,
|
28308
28272
|
"class": ['v-number-input', {
|
28309
28273
|
'v-number-input--default': controlVariant.value === 'default',
|
@@ -29500,7 +29464,6 @@
|
|
29500
29464
|
|
29501
29465
|
const makeVTreeviewItemProps = propsFactory({
|
29502
29466
|
loading: Boolean,
|
29503
|
-
onToggleExpand: EventProp(),
|
29504
29467
|
toggleIcon: IconValue,
|
29505
29468
|
...makeVListItemProps({
|
29506
29469
|
slim: true
|
@@ -29521,12 +29484,24 @@
|
|
29521
29484
|
const {
|
29522
29485
|
activate,
|
29523
29486
|
isActivated,
|
29487
|
+
select,
|
29488
|
+
isSelected,
|
29489
|
+
isIndeterminate,
|
29524
29490
|
isGroupActivator,
|
29525
29491
|
root,
|
29526
29492
|
id
|
29527
29493
|
} = useNestedItem(rawId, false);
|
29528
29494
|
const isActivatableGroupActivator = vue.computed(() => root.activatable.value && isGroupActivator);
|
29529
|
-
const
|
29495
|
+
const {
|
29496
|
+
densityClasses
|
29497
|
+
} = useDensity(props, 'v-list-item');
|
29498
|
+
const slotProps = vue.computed(() => ({
|
29499
|
+
isActive: isActivated.value,
|
29500
|
+
select,
|
29501
|
+
isSelected: isSelected.value,
|
29502
|
+
isIndeterminate: isIndeterminate.value
|
29503
|
+
}));
|
29504
|
+
const isClickable = vue.computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!vListItemRef.value?.list));
|
29530
29505
|
function activateItem(e) {
|
29531
29506
|
if (!isClickable.value || !isActivatableGroupActivator.value && isGroupActivator) return;
|
29532
29507
|
if (root.activatable.value) {
|
@@ -29537,20 +29512,68 @@
|
|
29537
29512
|
}
|
29538
29513
|
}
|
29539
29514
|
}
|
29515
|
+
function onKeyDown(e) {
|
29516
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
29517
|
+
e.preventDefault();
|
29518
|
+
activateItem(e);
|
29519
|
+
}
|
29520
|
+
}
|
29540
29521
|
const visibleIds = vue.inject(VTreeviewSymbol, {
|
29541
29522
|
visibleIds: vue.ref()
|
29542
29523
|
}).visibleIds;
|
29543
29524
|
useRender(() => {
|
29544
|
-
const
|
29525
|
+
const hasTitle = slots.title || props.title != null;
|
29526
|
+
const hasSubtitle = slots.subtitle || props.subtitle != null;
|
29527
|
+
const listItemProps = VListItem.filterProps(props);
|
29545
29528
|
const hasPrepend = slots.prepend || props.toggleIcon;
|
29546
|
-
return vue.
|
29547
|
-
"
|
29529
|
+
return isActivatableGroupActivator.value ? vue.withDirectives(vue.createVNode("div", {
|
29530
|
+
"class": ['v-list-item', 'v-list-item--one-line', 'v-treeview-item', 'v-treeview-item--activetable-group-activator', {
|
29531
|
+
'v-list-item--active': isActivated.value || isSelected.value,
|
29532
|
+
'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value)
|
29533
|
+
}, densityClasses.value, props.class],
|
29534
|
+
"onClick": activateItem
|
29535
|
+
}, [vue.createVNode(vue.Fragment, null, [genOverlays(isActivated.value || isSelected.value, 'v-list-item'), props.toggleIcon && vue.createVNode(VListItemAction, {
|
29536
|
+
"start": false
|
29537
|
+
}, {
|
29538
|
+
default: () => [vue.createVNode(VBtn, {
|
29539
|
+
"density": "compact",
|
29540
|
+
"icon": props.toggleIcon,
|
29541
|
+
"loading": props.loading,
|
29542
|
+
"variant": "text",
|
29543
|
+
"onClick": props.onClick
|
29544
|
+
}, {
|
29545
|
+
loader() {
|
29546
|
+
return vue.createVNode(VProgressCircular, {
|
29547
|
+
"indeterminate": "disable-shrink",
|
29548
|
+
"size": "20",
|
29549
|
+
"width": "2"
|
29550
|
+
}, null);
|
29551
|
+
}
|
29552
|
+
})]
|
29553
|
+
})]), vue.createVNode("div", {
|
29554
|
+
"class": "v-list-item__content",
|
29555
|
+
"data-no-activator": ""
|
29556
|
+
}, [hasTitle && vue.createVNode(VListItemTitle, {
|
29557
|
+
"key": "title"
|
29558
|
+
}, {
|
29559
|
+
default: () => [slots.title?.({
|
29560
|
+
title: props.title
|
29561
|
+
}) ?? props.title]
|
29562
|
+
}), hasSubtitle && vue.createVNode(VListItemSubtitle, {
|
29563
|
+
"key": "subtitle"
|
29564
|
+
}, {
|
29565
|
+
default: () => [slots.subtitle?.({
|
29566
|
+
subtitle: props.subtitle
|
29567
|
+
}) ?? props.subtitle]
|
29568
|
+
}), slots.default?.(slotProps.value)])]), [[vue.resolveDirective("ripple"), isClickable.value && props.ripple]]) : vue.createVNode(VListItem, vue.mergeProps({
|
29569
|
+
"ref": vListItemRef
|
29570
|
+
}, listItemProps, {
|
29548
29571
|
"class": ['v-treeview-item', {
|
29549
|
-
'v-treeview-item--activatable-group-activator': isActivatableGroupActivator.value,
|
29550
29572
|
'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value)
|
29551
29573
|
}, props.class],
|
29552
|
-
"
|
29553
|
-
"onClick":
|
29574
|
+
"value": id.value,
|
29575
|
+
"onClick": activateItem,
|
29576
|
+
"onKeydown": isClickable.value && onKeyDown
|
29554
29577
|
}), {
|
29555
29578
|
...slots,
|
29556
29579
|
prepend: hasPrepend ? slotProps => {
|
@@ -29561,8 +29584,7 @@
|
|
29561
29584
|
"density": "compact",
|
29562
29585
|
"icon": props.toggleIcon,
|
29563
29586
|
"loading": props.loading,
|
29564
|
-
"variant": "text"
|
29565
|
-
"onClick": props.onToggleExpand
|
29587
|
+
"variant": "text"
|
29566
29588
|
}, {
|
29567
29589
|
loader() {
|
29568
29590
|
return vue.createVNode(VProgressCircular, {
|
@@ -29589,19 +29611,7 @@
|
|
29589
29611
|
default: '$loading'
|
29590
29612
|
},
|
29591
29613
|
items: Array,
|
29592
|
-
openOnClick: {
|
29593
|
-
type: Boolean,
|
29594
|
-
default: undefined
|
29595
|
-
},
|
29596
|
-
indeterminateIcon: {
|
29597
|
-
type: IconValue,
|
29598
|
-
default: '$checkboxIndeterminate'
|
29599
|
-
},
|
29600
|
-
falseIcon: IconValue,
|
29601
|
-
trueIcon: IconValue,
|
29602
|
-
returnObject: Boolean,
|
29603
29614
|
selectable: Boolean,
|
29604
|
-
selectedColor: String,
|
29605
29615
|
selectStrategy: [String, Function, Object]
|
29606
29616
|
}, 'VTreeviewChildren');
|
29607
29617
|
const VTreeviewChildren = genericComponent()({
|
@@ -29613,7 +29623,6 @@
|
|
29613
29623
|
slots
|
29614
29624
|
} = _ref;
|
29615
29625
|
const isLoading = vue.shallowRef(null);
|
29616
|
-
const isClickOnOpen = vue.computed(() => props.openOnClick != null ? props.openOnClick : props.selectable);
|
29617
29626
|
function checkChildren(item) {
|
29618
29627
|
return new Promise(resolve => {
|
29619
29628
|
if (!props.items?.length || !props.loadChildren) return resolve();
|
@@ -29644,11 +29653,7 @@
|
|
29644
29653
|
"key": item.value,
|
29645
29654
|
"modelValue": slotProps.isSelected,
|
29646
29655
|
"loading": loading,
|
29647
|
-
"color": props.selectedColor,
|
29648
29656
|
"indeterminate": slotProps.isIndeterminate,
|
29649
|
-
"indeterminateIcon": props.indeterminateIcon,
|
29650
|
-
"falseIcon": props.falseIcon,
|
29651
|
-
"trueIcon": props.trueIcon,
|
29652
29657
|
"onClick": vue.withModifiers(() => selectItem(slotProps.select, slotProps.isSelected), ['stop']),
|
29653
29658
|
"onKeydown": e => {
|
29654
29659
|
if (!['Enter', 'Space'].includes(e.key)) return;
|
@@ -29670,9 +29675,9 @@
|
|
29670
29675
|
};
|
29671
29676
|
const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps);
|
29672
29677
|
const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
|
29673
|
-
return children ? vue.createVNode(VTreeviewGroup, vue.mergeProps(
|
29674
|
-
"value":
|
29675
|
-
}), {
|
29678
|
+
return children ? vue.createVNode(VTreeviewGroup, vue.mergeProps({
|
29679
|
+
"value": itemProps?.value
|
29680
|
+
}, treeviewGroupProps), {
|
29676
29681
|
activator: _ref3 => {
|
29677
29682
|
let {
|
29678
29683
|
props: activatorProps
|
@@ -29680,24 +29685,19 @@
|
|
29680
29685
|
const listItemProps = {
|
29681
29686
|
...itemProps,
|
29682
29687
|
...activatorProps,
|
29683
|
-
value: itemProps?.value
|
29684
|
-
onToggleExpand: activatorProps.onClick,
|
29685
|
-
onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : undefined
|
29688
|
+
value: itemProps?.value
|
29686
29689
|
};
|
29687
29690
|
return vue.createVNode(VTreeviewItem, vue.mergeProps(listItemProps, {
|
29688
|
-
"
|
29689
|
-
"
|
29691
|
+
"loading": loading,
|
29692
|
+
"onClick": () => checkChildren(item)
|
29690
29693
|
}), slotsWithItem);
|
29691
29694
|
},
|
29692
29695
|
default: () => vue.createVNode(VTreeviewChildren, vue.mergeProps(treeviewChildrenProps, {
|
29693
|
-
"items": children
|
29694
|
-
"returnObject": props.returnObject
|
29696
|
+
"items": children
|
29695
29697
|
}), slots)
|
29696
29698
|
}) : slots.item?.({
|
29697
29699
|
props: itemProps
|
29698
|
-
}) ?? vue.createVNode(VTreeviewItem,
|
29699
|
-
"value": props.returnObject ? vue.toRaw(item) : itemProps.value
|
29700
|
-
}), slotsWithItem);
|
29700
|
+
}) ?? vue.createVNode(VTreeviewItem, itemProps, slotsWithItem);
|
29701
29701
|
});
|
29702
29702
|
}
|
29703
29703
|
});
|
@@ -29721,7 +29721,7 @@
|
|
29721
29721
|
collapseIcon: '$treeviewCollapse',
|
29722
29722
|
expandIcon: '$treeviewExpand',
|
29723
29723
|
slim: true
|
29724
|
-
}), ['nav'
|
29724
|
+
}), ['nav'])
|
29725
29725
|
}, 'VTreeview');
|
29726
29726
|
const VTreeview = genericComponent()({
|
29727
29727
|
name: 'VTreeview',
|
@@ -29780,11 +29780,11 @@
|
|
29780
29780
|
}
|
29781
29781
|
return arr;
|
29782
29782
|
}
|
29783
|
-
function openAll(
|
29783
|
+
function openAll(item) {
|
29784
29784
|
let ids = [];
|
29785
|
-
for (const i of
|
29785
|
+
for (const i of item) {
|
29786
29786
|
if (!i.children) continue;
|
29787
|
-
ids.push(
|
29787
|
+
ids.push(i.value);
|
29788
29788
|
if (i.children) {
|
29789
29789
|
ids = ids.concat(openAll(i.children));
|
29790
29790
|
}
|
@@ -29820,7 +29820,6 @@
|
|
29820
29820
|
"ref": vListRef
|
29821
29821
|
}, listProps, {
|
29822
29822
|
"class": ['v-treeview', props.class],
|
29823
|
-
"open-strategy": "multiple",
|
29824
29823
|
"style": props.style,
|
29825
29824
|
"opened": opened.value,
|
29826
29825
|
"activated": activated.value,
|
@@ -29829,7 +29828,6 @@
|
|
29829
29828
|
"onUpdate:selected": $event => selected.value = $event
|
29830
29829
|
}), {
|
29831
29830
|
default: () => [vue.createVNode(VTreeviewChildren, vue.mergeProps(treeviewChildrenProps, {
|
29832
|
-
"returnObject": props.returnObject,
|
29833
29831
|
"items": items.value
|
29834
29832
|
}), slots)]
|
29835
29833
|
});
|
@@ -30335,7 +30333,7 @@
|
|
30335
30333
|
goTo
|
30336
30334
|
};
|
30337
30335
|
}
|
30338
|
-
const version$1 = "3.6.
|
30336
|
+
const version$1 = "3.6.14-master.2024-08-01";
|
30339
30337
|
createVuetify$1.version = version$1;
|
30340
30338
|
|
30341
30339
|
// Vue's inject() can only be used in setup
|
@@ -30588,7 +30586,7 @@
|
|
30588
30586
|
|
30589
30587
|
/* eslint-disable local-rules/sort-imports */
|
30590
30588
|
|
30591
|
-
const version = "3.6.
|
30589
|
+
const version = "3.6.14-master.2024-08-01";
|
30592
30590
|
|
30593
30591
|
/* eslint-disable local-rules/sort-imports */
|
30594
30592
|
|