@vuetify/nightly 3.6.13-3.7.0-beta.0.0-pr-20092.dc840ce → 3.6.13-pr-20185.5bf1ff4
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 +125 -273
- package/dist/json/importMap-labs.json +12 -12
- package/dist/json/importMap.json +102 -102
- package/dist/json/tags.json +5 -42
- package/dist/json/web-types.json +239 -610
- package/dist/vuetify-labs.css +4045 -3340
- package/dist/vuetify-labs.d.ts +368 -697
- package/dist/vuetify-labs.esm.js +236 -241
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +236 -241
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1754 -1049
- package/dist/vuetify.d.ts +338 -601
- package/dist/vuetify.esm.js +97 -160
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +97 -160
- 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/VDataTable/composables/options.mjs +1 -1
- package/lib/components/VDataTable/composables/options.mjs.map +1 -1
- 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 +0 -2
- 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 +6 -27
- 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 +36 -36
- 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.13-
|
2
|
+
* Vuetify v3.6.13-pr-20185.5bf1ff4
|
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
|
}));
|
@@ -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;
|
@@ -11217,9 +11188,6 @@
|
|
11217
11188
|
} else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {
|
11218
11189
|
isActive.value = false;
|
11219
11190
|
parent?.closeParents();
|
11220
|
-
} else if (props.submenu && e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
|
11221
|
-
isActive.value = false;
|
11222
|
-
overlay.value?.activatorEl?.focus();
|
11223
11191
|
}
|
11224
11192
|
}
|
11225
11193
|
function onActivatorKeydown(e) {
|
@@ -11228,21 +11196,12 @@
|
|
11228
11196
|
if (el && isActive.value) {
|
11229
11197
|
if (e.key === 'ArrowDown') {
|
11230
11198
|
e.preventDefault();
|
11231
|
-
e.stopImmediatePropagation();
|
11232
11199
|
focusChild(el, 'next');
|
11233
11200
|
} else if (e.key === 'ArrowUp') {
|
11234
11201
|
e.preventDefault();
|
11235
|
-
e.stopImmediatePropagation();
|
11236
11202
|
focusChild(el, 'prev');
|
11237
|
-
} else if (props.submenu) {
|
11238
|
-
if (e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
|
11239
|
-
isActive.value = false;
|
11240
|
-
} else if (e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')) {
|
11241
|
-
e.preventDefault();
|
11242
|
-
focusChild(el, 'first');
|
11243
|
-
}
|
11244
11203
|
}
|
11245
|
-
} else if (
|
11204
|
+
} else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
|
11246
11205
|
isActive.value = true;
|
11247
11206
|
e.preventDefault();
|
11248
11207
|
setTimeout(() => setTimeout(() => onActivatorKeydown(e)));
|
@@ -11266,7 +11225,6 @@
|
|
11266
11225
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
11267
11226
|
"absolute": true,
|
11268
11227
|
"activatorProps": activatorProps.value,
|
11269
|
-
"location": props.location ?? (props.submenu ? 'end' : 'bottom'),
|
11270
11228
|
"onClick:outside": onClickOutside,
|
11271
11229
|
"onKeydown": onKeydown
|
11272
11230
|
}, scopeId), {
|
@@ -12099,7 +12057,6 @@
|
|
12099
12057
|
deep: true
|
12100
12058
|
});
|
12101
12059
|
return {
|
12102
|
-
calculateVisibleItems,
|
12103
12060
|
containerRef,
|
12104
12061
|
markerRef,
|
12105
12062
|
computedItems,
|
@@ -12163,7 +12120,6 @@
|
|
12163
12120
|
dimensionStyles
|
12164
12121
|
} = useDimension(props);
|
12165
12122
|
const {
|
12166
|
-
calculateVisibleItems,
|
12167
12123
|
containerRef,
|
12168
12124
|
markerRef,
|
12169
12125
|
handleScroll,
|
@@ -12235,7 +12191,6 @@
|
|
12235
12191
|
}, [children])]);
|
12236
12192
|
});
|
12237
12193
|
return {
|
12238
|
-
calculateVisibleItems,
|
12239
12194
|
scrollToIndex
|
12240
12195
|
};
|
12241
12196
|
}
|
@@ -12304,9 +12259,9 @@
|
|
12304
12259
|
}
|
12305
12260
|
}
|
12306
12261
|
return {
|
12307
|
-
|
12308
|
-
|
12309
|
-
};
|
12262
|
+
onListScroll,
|
12263
|
+
onListKeydown
|
12264
|
+
};
|
12310
12265
|
}
|
12311
12266
|
|
12312
12267
|
// Types
|
@@ -12381,7 +12336,7 @@
|
|
12381
12336
|
const menu = vue.computed({
|
12382
12337
|
get: () => _menu.value,
|
12383
12338
|
set: v => {
|
12384
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren
|
12339
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
|
12385
12340
|
_menu.value = v;
|
12386
12341
|
}
|
12387
12342
|
});
|
@@ -12420,7 +12375,10 @@
|
|
12420
12375
|
};
|
12421
12376
|
});
|
12422
12377
|
const listRef = vue.ref();
|
12423
|
-
const
|
12378
|
+
const {
|
12379
|
+
onListScroll,
|
12380
|
+
onListKeydown
|
12381
|
+
} = useScrolling(listRef, vTextFieldRef);
|
12424
12382
|
function onClear(e) {
|
12425
12383
|
if (props.openOnClear) {
|
12426
12384
|
menu.value = true;
|
@@ -12430,11 +12388,6 @@
|
|
12430
12388
|
if (menuDisabled.value) return;
|
12431
12389
|
menu.value = !menu.value;
|
12432
12390
|
}
|
12433
|
-
function onListKeydown(e) {
|
12434
|
-
if (checkPrintable(e)) {
|
12435
|
-
onKeydown(e);
|
12436
|
-
}
|
12437
|
-
}
|
12438
12391
|
function onKeydown(e) {
|
12439
12392
|
if (!e.key || props.readonly || form?.isReadonly.value) return;
|
12440
12393
|
if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
|
@@ -12455,6 +12408,11 @@
|
|
12455
12408
|
// html select hotkeys
|
12456
12409
|
const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds
|
12457
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
|
+
}
|
12458
12416
|
if (props.multiple || !checkPrintable(e)) return;
|
12459
12417
|
const now = performance.now();
|
12460
12418
|
if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
|
@@ -12499,11 +12457,6 @@
|
|
12499
12457
|
menu.value = false;
|
12500
12458
|
}
|
12501
12459
|
}
|
12502
|
-
function onAfterEnter() {
|
12503
|
-
if (props.eager) {
|
12504
|
-
vVirtualScrollRef.value?.calculateVisibleItems();
|
12505
|
-
}
|
12506
|
-
}
|
12507
12460
|
function onAfterLeave() {
|
12508
12461
|
if (isFocused.value) {
|
12509
12462
|
vTextFieldRef.value?.focus();
|
@@ -12582,7 +12535,6 @@
|
|
12582
12535
|
"openOnClick": false,
|
12583
12536
|
"closeOnContentClick": false,
|
12584
12537
|
"transition": props.transition,
|
12585
|
-
"onAfterEnter": onAfterEnter,
|
12586
12538
|
"onAfterLeave": onAfterLeave
|
12587
12539
|
}, computedMenuProps.value), {
|
12588
12540
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
@@ -12592,10 +12544,11 @@
|
|
12592
12544
|
"onMousedown": e => e.preventDefault(),
|
12593
12545
|
"onKeydown": onListKeydown,
|
12594
12546
|
"onFocusin": onFocusin,
|
12547
|
+
"onScrollPassive": onListScroll,
|
12595
12548
|
"tabindex": "-1",
|
12596
12549
|
"aria-live": "polite",
|
12597
12550
|
"color": props.itemColor ?? props.color
|
12598
|
-
},
|
12551
|
+
}, props.listProps), {
|
12599
12552
|
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
|
12600
12553
|
"title": t(props.noDataText)
|
12601
12554
|
}, null)), vue.createVNode(VVirtualScroll, {
|
@@ -12890,7 +12843,7 @@
|
|
12890
12843
|
const menu = vue.computed({
|
12891
12844
|
get: () => _menu.value,
|
12892
12845
|
set: v => {
|
12893
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren
|
12846
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
|
12894
12847
|
_menu.value = v;
|
12895
12848
|
}
|
12896
12849
|
});
|
@@ -12934,7 +12887,10 @@
|
|
12934
12887
|
});
|
12935
12888
|
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
|
12936
12889
|
const listRef = vue.ref();
|
12937
|
-
const
|
12890
|
+
const {
|
12891
|
+
onListScroll,
|
12892
|
+
onListKeydown
|
12893
|
+
} = useScrolling(listRef, vTextFieldRef);
|
12938
12894
|
function onClear(e) {
|
12939
12895
|
if (props.openOnClear) {
|
12940
12896
|
menu.value = true;
|
@@ -12953,11 +12909,6 @@
|
|
12953
12909
|
}
|
12954
12910
|
menu.value = !menu.value;
|
12955
12911
|
}
|
12956
|
-
function onListKeydown(e) {
|
12957
|
-
if (checkPrintable(e)) {
|
12958
|
-
vTextFieldRef.value?.focus();
|
12959
|
-
}
|
12960
|
-
}
|
12961
12912
|
function onKeydown(e) {
|
12962
12913
|
if (props.readonly || form?.isReadonly.value) return;
|
12963
12914
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
@@ -13022,11 +12973,6 @@
|
|
13022
12973
|
}
|
13023
12974
|
}
|
13024
12975
|
}
|
13025
|
-
function onAfterEnter() {
|
13026
|
-
if (props.eager) {
|
13027
|
-
vVirtualScrollRef.value?.calculateVisibleItems();
|
13028
|
-
}
|
13029
|
-
}
|
13030
12976
|
function onAfterLeave() {
|
13031
12977
|
if (isFocused.value) {
|
13032
12978
|
isPristine.value = true;
|
@@ -13155,7 +13101,6 @@
|
|
13155
13101
|
"openOnClick": false,
|
13156
13102
|
"closeOnContentClick": false,
|
13157
13103
|
"transition": props.transition,
|
13158
|
-
"onAfterEnter": onAfterEnter,
|
13159
13104
|
"onAfterLeave": onAfterLeave
|
13160
13105
|
}, props.menuProps), {
|
13161
13106
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
@@ -13166,10 +13111,11 @@
|
|
13166
13111
|
"onKeydown": onListKeydown,
|
13167
13112
|
"onFocusin": onFocusin,
|
13168
13113
|
"onFocusout": onFocusout,
|
13114
|
+
"onScrollPassive": onListScroll,
|
13169
13115
|
"tabindex": "-1",
|
13170
13116
|
"aria-live": "polite",
|
13171
13117
|
"color": props.itemColor ?? props.color
|
13172
|
-
},
|
13118
|
+
}, props.listProps), {
|
13173
13119
|
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
|
13174
13120
|
"title": t(props.noDataText)
|
13175
13121
|
}, null)), vue.createVNode(VVirtualScroll, {
|
@@ -16730,7 +16676,7 @@
|
|
16730
16676
|
const menu = vue.computed({
|
16731
16677
|
get: () => _menu.value,
|
16732
16678
|
set: v => {
|
16733
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren
|
16679
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
|
16734
16680
|
_menu.value = v;
|
16735
16681
|
}
|
16736
16682
|
});
|
@@ -16813,7 +16759,10 @@
|
|
16813
16759
|
});
|
16814
16760
|
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
|
16815
16761
|
const listRef = vue.ref();
|
16816
|
-
const
|
16762
|
+
const {
|
16763
|
+
onListScroll,
|
16764
|
+
onListKeydown
|
16765
|
+
} = useScrolling(listRef, vTextFieldRef);
|
16817
16766
|
function onClear(e) {
|
16818
16767
|
cleared = true;
|
16819
16768
|
if (props.openOnClear) {
|
@@ -16832,11 +16781,6 @@
|
|
16832
16781
|
}
|
16833
16782
|
menu.value = !menu.value;
|
16834
16783
|
}
|
16835
|
-
function onListKeydown(e) {
|
16836
|
-
if (checkPrintable(e)) {
|
16837
|
-
vTextFieldRef.value?.focus();
|
16838
|
-
}
|
16839
|
-
}
|
16840
16784
|
// eslint-disable-next-line complexity
|
16841
16785
|
function onKeydown(e) {
|
16842
16786
|
if (isComposingIgnoreKey(e) || props.readonly || form?.isReadonly.value) return;
|
@@ -16901,11 +16845,6 @@
|
|
16901
16845
|
}
|
16902
16846
|
}
|
16903
16847
|
}
|
16904
|
-
function onAfterEnter() {
|
16905
|
-
if (props.eager) {
|
16906
|
-
vVirtualScrollRef.value?.calculateVisibleItems();
|
16907
|
-
}
|
16908
|
-
}
|
16909
16848
|
function onAfterLeave() {
|
16910
16849
|
if (isFocused.value) {
|
16911
16850
|
isPristine.value = true;
|
@@ -17030,7 +16969,6 @@
|
|
17030
16969
|
"openOnClick": false,
|
17031
16970
|
"closeOnContentClick": false,
|
17032
16971
|
"transition": props.transition,
|
17033
|
-
"onAfterEnter": onAfterEnter,
|
17034
16972
|
"onAfterLeave": onAfterLeave
|
17035
16973
|
}, props.menuProps), {
|
17036
16974
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
@@ -17041,10 +16979,11 @@
|
|
17041
16979
|
"onKeydown": onListKeydown,
|
17042
16980
|
"onFocusin": onFocusin,
|
17043
16981
|
"onFocusout": onFocusout,
|
16982
|
+
"onScrollPassive": onListScroll,
|
17044
16983
|
"tabindex": "-1",
|
17045
16984
|
"aria-live": "polite",
|
17046
16985
|
"color": props.itemColor ?? props.color
|
17047
|
-
},
|
16986
|
+
}, props.listProps), {
|
17048
16987
|
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
|
17049
16988
|
"title": t(props.noDataText)
|
17050
16989
|
}, null)), vue.createVNode(VVirtualScroll, {
|
@@ -18308,7 +18247,7 @@
|
|
18308
18247
|
if (deepEqual(oldOptions, options.value)) return;
|
18309
18248
|
|
18310
18249
|
// Reset page when searching
|
18311
|
-
if (oldOptions && oldOptions.search !== options.value.search) {
|
18250
|
+
if (oldOptions?.search != null && oldOptions.search !== options.value.search) {
|
18312
18251
|
page.value = 1;
|
18313
18252
|
}
|
18314
18253
|
vm.emit('update:options', options.value);
|
@@ -20988,7 +20927,6 @@
|
|
20988
20927
|
default: false
|
20989
20928
|
},
|
20990
20929
|
...makeComponentProps(),
|
20991
|
-
...makeDimensionProps(),
|
20992
20930
|
...makeTagProps()
|
20993
20931
|
}, 'VContainer');
|
20994
20932
|
const VContainer = genericComponent()({
|
@@ -21001,14 +20939,11 @@
|
|
21001
20939
|
const {
|
21002
20940
|
rtlClasses
|
21003
20941
|
} = useRtl();
|
21004
|
-
const {
|
21005
|
-
dimensionStyles
|
21006
|
-
} = useDimension(props);
|
21007
20942
|
useRender(() => vue.createVNode(props.tag, {
|
21008
20943
|
"class": ['v-container', {
|
21009
20944
|
'v-container--fluid': props.fluid
|
21010
20945
|
}, rtlClasses.value, props.class],
|
21011
|
-
"style":
|
20946
|
+
"style": props.style
|
21012
20947
|
}, slots));
|
21013
20948
|
return {};
|
21014
20949
|
}
|
@@ -22430,8 +22365,7 @@
|
|
22430
22365
|
default: false
|
22431
22366
|
},
|
22432
22367
|
readonly: Boolean,
|
22433
|
-
...makeComponentProps()
|
22434
|
-
...makeDimensionProps()
|
22368
|
+
...makeComponentProps()
|
22435
22369
|
}, 'VExpansionPanelTitle');
|
22436
22370
|
const VExpansionPanelTitle = genericComponent()({
|
22437
22371
|
name: 'VExpansionPanelTitle',
|
@@ -22449,9 +22383,6 @@
|
|
22449
22383
|
backgroundColorClasses,
|
22450
22384
|
backgroundColorStyles
|
22451
22385
|
} = useBackgroundColor(props, 'color');
|
22452
|
-
const {
|
22453
|
-
dimensionStyles
|
22454
|
-
} = useDimension(props);
|
22455
22386
|
const slotProps = vue.computed(() => ({
|
22456
22387
|
collapseIcon: props.collapseIcon,
|
22457
22388
|
disabled: expansionPanel.disabled.value,
|
@@ -22466,7 +22397,7 @@
|
|
22466
22397
|
'v-expansion-panel-title--focusable': props.focusable,
|
22467
22398
|
'v-expansion-panel-title--static': props.static
|
22468
22399
|
}, backgroundColorClasses.value, props.class],
|
22469
|
-
"style": [backgroundColorStyles.value,
|
22400
|
+
"style": [backgroundColorStyles.value, props.style],
|
22470
22401
|
"type": "button",
|
22471
22402
|
"tabindex": expansionPanel.disabled.value ? -1 : undefined,
|
22472
22403
|
"disabled": expansionPanel.disabled.value,
|
@@ -22988,6 +22919,8 @@
|
|
22988
22919
|
let {
|
22989
22920
|
slots
|
22990
22921
|
} = _ref;
|
22922
|
+
const layoutItemStyles = vue.ref();
|
22923
|
+
const layoutIsReady = vue.shallowRef();
|
22991
22924
|
const {
|
22992
22925
|
themeClasses
|
22993
22926
|
} = provideTheme(props);
|
@@ -23012,17 +22945,20 @@
|
|
23012
22945
|
autoHeight.value = entries[0].target.clientHeight;
|
23013
22946
|
});
|
23014
22947
|
const height = vue.computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10));
|
23015
|
-
|
23016
|
-
|
23017
|
-
|
23018
|
-
|
23019
|
-
|
23020
|
-
|
23021
|
-
|
23022
|
-
|
23023
|
-
|
23024
|
-
|
23025
|
-
|
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
|
+
});
|
23026
22962
|
});
|
23027
22963
|
useRender(() => vue.createVNode(props.tag, {
|
23028
22964
|
"ref": resizeRef,
|
@@ -23031,7 +22967,7 @@
|
|
23031
22967
|
height: convertToUnit(props.height)
|
23032
22968
|
}, props.style]
|
23033
22969
|
}, slots));
|
23034
|
-
return props.app ? layoutIsReady : {};
|
22970
|
+
return props.app ? layoutIsReady.value : {};
|
23035
22971
|
}
|
23036
22972
|
});
|
23037
22973
|
|
@@ -25172,16 +25108,17 @@
|
|
25172
25108
|
const items = vue.computed(() => genStructure(wrapInArray(props.type).join(',')));
|
25173
25109
|
useRender(() => {
|
25174
25110
|
const isLoading = !slots.default || props.loading;
|
25175
|
-
|
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({
|
25176
25117
|
"class": ['v-skeleton-loader', {
|
25177
25118
|
'v-skeleton-loader--boilerplate': props.boilerplate
|
25178
25119
|
}, themeClasses.value, backgroundColorClasses.value, elevationClasses.value],
|
25179
|
-
"style": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}]
|
25180
|
-
|
25181
|
-
"aria-live": !props.boilerplate ? 'polite' : undefined,
|
25182
|
-
"aria-label": !props.boilerplate ? t(props.loadingText) : undefined,
|
25183
|
-
"role": !props.boilerplate ? 'alert' : undefined
|
25184
|
-
}, [isLoading ? items.value : slots.default?.()]);
|
25120
|
+
"style": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}]
|
25121
|
+
}, loadingProps), [isLoading ? items.value : slots.default?.()]);
|
25185
25122
|
});
|
25186
25123
|
return {};
|
25187
25124
|
}
|
@@ -25214,14 +25151,14 @@
|
|
25214
25151
|
// Types
|
25215
25152
|
|
25216
25153
|
function useCountdown(milliseconds) {
|
25217
|
-
const time = vue.shallowRef(milliseconds);
|
25154
|
+
const time = vue.shallowRef(milliseconds());
|
25218
25155
|
let timer = -1;
|
25219
25156
|
function clear() {
|
25220
25157
|
clearInterval(timer);
|
25221
25158
|
}
|
25222
25159
|
function reset() {
|
25223
25160
|
clear();
|
25224
|
-
vue.nextTick(() => time.value = milliseconds);
|
25161
|
+
vue.nextTick(() => time.value = milliseconds());
|
25225
25162
|
}
|
25226
25163
|
function start(el) {
|
25227
25164
|
const style = el ? getComputedStyle(el) : {
|
@@ -25233,7 +25170,7 @@
|
|
25233
25170
|
const startTime = performance.now();
|
25234
25171
|
timer = window.setInterval(() => {
|
25235
25172
|
const elapsed = performance.now() - startTime + interval;
|
25236
|
-
time.value = Math.max(milliseconds - elapsed, 0);
|
25173
|
+
time.value = Math.max(milliseconds() - elapsed, 0);
|
25237
25174
|
if (time.value <= 0) clear();
|
25238
25175
|
}, interval);
|
25239
25176
|
}
|
@@ -25293,7 +25230,7 @@
|
|
25293
25230
|
const {
|
25294
25231
|
roundedClasses
|
25295
25232
|
} = useRounded(props);
|
25296
|
-
const countdown = useCountdown(Number(props.timeout));
|
25233
|
+
const countdown = useCountdown(() => Number(props.timeout));
|
25297
25234
|
const overlay = vue.ref();
|
25298
25235
|
const timerRef = vue.ref();
|
25299
25236
|
const isHovering = vue.shallowRef(false);
|
@@ -28113,19 +28050,23 @@
|
|
28113
28050
|
},
|
28114
28051
|
inset: Boolean,
|
28115
28052
|
hideInput: Boolean,
|
28053
|
+
modelValue: {
|
28054
|
+
type: Number,
|
28055
|
+
default: null
|
28056
|
+
},
|
28116
28057
|
min: {
|
28117
28058
|
type: Number,
|
28118
|
-
default:
|
28059
|
+
default: Number.MIN_SAFE_INTEGER
|
28119
28060
|
},
|
28120
28061
|
max: {
|
28121
28062
|
type: Number,
|
28122
|
-
default:
|
28063
|
+
default: Number.MAX_SAFE_INTEGER
|
28123
28064
|
},
|
28124
28065
|
step: {
|
28125
28066
|
type: Number,
|
28126
28067
|
default: 1
|
28127
28068
|
},
|
28128
|
-
...omit(makeVTextFieldProps(), ['appendInnerIcon', 'prependInnerIcon'])
|
28069
|
+
...omit(makeVTextFieldProps({}), ['appendInnerIcon', 'modelValue', 'prependInnerIcon'])
|
28129
28070
|
}, 'VNumberInput');
|
28130
28071
|
const VNumberInput = genericComponent()({
|
28131
28072
|
name: 'VNumberInput',
|
@@ -28137,30 +28078,27 @@
|
|
28137
28078
|
},
|
28138
28079
|
setup(props, _ref) {
|
28139
28080
|
let {
|
28140
|
-
attrs,
|
28141
|
-
emit,
|
28142
28081
|
slots
|
28143
28082
|
} = _ref;
|
28144
|
-
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();
|
28145
28091
|
const stepDecimals = vue.computed(() => getDecimals(props.step));
|
28146
|
-
const modelDecimals = vue.computed(() => model.value
|
28092
|
+
const modelDecimals = vue.computed(() => typeof model.value === 'number' ? getDecimals(model.value) : 0);
|
28147
28093
|
const form = useForm();
|
28148
28094
|
const controlsDisabled = vue.computed(() => props.disabled || props.readonly || form?.isReadonly.value);
|
28149
28095
|
const canIncrease = vue.computed(() => {
|
28150
28096
|
if (controlsDisabled.value) return false;
|
28151
|
-
|
28152
|
-
return model.value + props.step <= props.max;
|
28097
|
+
return (model.value ?? 0) + props.step <= props.max;
|
28153
28098
|
});
|
28154
28099
|
const canDecrease = vue.computed(() => {
|
28155
28100
|
if (controlsDisabled.value) return false;
|
28156
|
-
|
28157
|
-
return model.value - props.step >= props.min;
|
28158
|
-
});
|
28159
|
-
vue.watchEffect(() => {
|
28160
|
-
if (controlsDisabled.value) return;
|
28161
|
-
if (model.value != null && (model.value < props.min || model.value > props.max)) {
|
28162
|
-
model.value = clamp(model.value, props.min, props.max);
|
28163
|
-
}
|
28101
|
+
return (model.value ?? 0) - props.step >= props.min;
|
28164
28102
|
});
|
28165
28103
|
const controlVariant = vue.computed(() => {
|
28166
28104
|
return props.hideInput ? 'stacked' : props.controlVariant;
|
@@ -28175,11 +28113,16 @@
|
|
28175
28113
|
const decrementSlotProps = vue.computed(() => ({
|
28176
28114
|
click: onClickDown
|
28177
28115
|
}));
|
28116
|
+
vue.onMounted(() => {
|
28117
|
+
if (!props.readonly && !props.disabled) {
|
28118
|
+
clampModel();
|
28119
|
+
}
|
28120
|
+
});
|
28178
28121
|
function toggleUpDown() {
|
28179
28122
|
let increment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
28180
28123
|
if (controlsDisabled.value) return;
|
28181
28124
|
if (model.value == null) {
|
28182
|
-
model.value = 0;
|
28125
|
+
model.value = clamp(0, props.min, props.max);
|
28183
28126
|
return;
|
28184
28127
|
}
|
28185
28128
|
const decimals = Math.max(modelDecimals.value, stepDecimals.value);
|
@@ -28197,30 +28140,45 @@
|
|
28197
28140
|
e.stopPropagation();
|
28198
28141
|
toggleUpDown(false);
|
28199
28142
|
}
|
28200
|
-
function
|
28201
|
-
if (
|
28202
|
-
|
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)) {
|
28203
28153
|
e.preventDefault();
|
28204
|
-
toggleUpDown(false);
|
28205
|
-
return;
|
28206
28154
|
}
|
28207
|
-
|
28208
|
-
|
28209
|
-
|
28210
|
-
|
28211
|
-
}
|
28212
|
-
|
28213
|
-
// Only numbers, +, - & . are allowed
|
28214
|
-
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)) {
|
28215
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
|
+
}
|
28216
28168
|
}
|
28217
28169
|
}
|
28218
|
-
function onModelUpdate(v) {
|
28219
|
-
model.value = v ? +v : undefined;
|
28220
|
-
}
|
28221
28170
|
function onControlMousedown(e) {
|
28222
28171
|
e.stopPropagation();
|
28223
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
|
+
}
|
28224
28182
|
useRender(() => {
|
28225
28183
|
const {
|
28226
28184
|
modelValue: _,
|
@@ -28305,8 +28263,11 @@
|
|
28305
28263
|
}, null)]) : props.reverse ? vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined;
|
28306
28264
|
const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
|
28307
28265
|
return vue.createVNode(VTextField, vue.mergeProps({
|
28266
|
+
"ref": vTextFieldRef,
|
28308
28267
|
"modelValue": model.value,
|
28309
|
-
"onUpdate:modelValue":
|
28268
|
+
"onUpdate:modelValue": $event => model.value = $event,
|
28269
|
+
"onBeforeinput": onBeforeinput,
|
28270
|
+
"onChange": clampModel,
|
28310
28271
|
"onKeydown": onKeydown,
|
28311
28272
|
"class": ['v-number-input', {
|
28312
28273
|
'v-number-input--default': controlVariant.value === 'default',
|
@@ -29503,7 +29464,6 @@
|
|
29503
29464
|
|
29504
29465
|
const makeVTreeviewItemProps = propsFactory({
|
29505
29466
|
loading: Boolean,
|
29506
|
-
onToggleExpand: EventProp(),
|
29507
29467
|
toggleIcon: IconValue,
|
29508
29468
|
...makeVListItemProps({
|
29509
29469
|
slim: true
|
@@ -29524,12 +29484,24 @@
|
|
29524
29484
|
const {
|
29525
29485
|
activate,
|
29526
29486
|
isActivated,
|
29487
|
+
select,
|
29488
|
+
isSelected,
|
29489
|
+
isIndeterminate,
|
29527
29490
|
isGroupActivator,
|
29528
29491
|
root,
|
29529
29492
|
id
|
29530
29493
|
} = useNestedItem(rawId, false);
|
29531
29494
|
const isActivatableGroupActivator = vue.computed(() => root.activatable.value && isGroupActivator);
|
29532
|
-
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));
|
29533
29505
|
function activateItem(e) {
|
29534
29506
|
if (!isClickable.value || !isActivatableGroupActivator.value && isGroupActivator) return;
|
29535
29507
|
if (root.activatable.value) {
|
@@ -29540,20 +29512,68 @@
|
|
29540
29512
|
}
|
29541
29513
|
}
|
29542
29514
|
}
|
29515
|
+
function onKeyDown(e) {
|
29516
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
29517
|
+
e.preventDefault();
|
29518
|
+
activateItem(e);
|
29519
|
+
}
|
29520
|
+
}
|
29543
29521
|
const visibleIds = vue.inject(VTreeviewSymbol, {
|
29544
29522
|
visibleIds: vue.ref()
|
29545
29523
|
}).visibleIds;
|
29546
29524
|
useRender(() => {
|
29547
|
-
const
|
29525
|
+
const hasTitle = slots.title || props.title != null;
|
29526
|
+
const hasSubtitle = slots.subtitle || props.subtitle != null;
|
29527
|
+
const listItemProps = VListItem.filterProps(props);
|
29548
29528
|
const hasPrepend = slots.prepend || props.toggleIcon;
|
29549
|
-
return vue.
|
29550
|
-
"
|
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, {
|
29551
29571
|
"class": ['v-treeview-item', {
|
29552
|
-
'v-treeview-item--activatable-group-activator': isActivatableGroupActivator.value,
|
29553
29572
|
'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value)
|
29554
29573
|
}, props.class],
|
29555
|
-
"
|
29556
|
-
"onClick":
|
29574
|
+
"value": id.value,
|
29575
|
+
"onClick": activateItem,
|
29576
|
+
"onKeydown": isClickable.value && onKeyDown
|
29557
29577
|
}), {
|
29558
29578
|
...slots,
|
29559
29579
|
prepend: hasPrepend ? slotProps => {
|
@@ -29564,8 +29584,7 @@
|
|
29564
29584
|
"density": "compact",
|
29565
29585
|
"icon": props.toggleIcon,
|
29566
29586
|
"loading": props.loading,
|
29567
|
-
"variant": "text"
|
29568
|
-
"onClick": props.onToggleExpand
|
29587
|
+
"variant": "text"
|
29569
29588
|
}, {
|
29570
29589
|
loader() {
|
29571
29590
|
return vue.createVNode(VProgressCircular, {
|
@@ -29592,19 +29611,7 @@
|
|
29592
29611
|
default: '$loading'
|
29593
29612
|
},
|
29594
29613
|
items: Array,
|
29595
|
-
openOnClick: {
|
29596
|
-
type: Boolean,
|
29597
|
-
default: undefined
|
29598
|
-
},
|
29599
|
-
indeterminateIcon: {
|
29600
|
-
type: IconValue,
|
29601
|
-
default: '$checkboxIndeterminate'
|
29602
|
-
},
|
29603
|
-
falseIcon: IconValue,
|
29604
|
-
trueIcon: IconValue,
|
29605
|
-
returnObject: Boolean,
|
29606
29614
|
selectable: Boolean,
|
29607
|
-
selectedColor: String,
|
29608
29615
|
selectStrategy: [String, Function, Object]
|
29609
29616
|
}, 'VTreeviewChildren');
|
29610
29617
|
const VTreeviewChildren = genericComponent()({
|
@@ -29616,7 +29623,6 @@
|
|
29616
29623
|
slots
|
29617
29624
|
} = _ref;
|
29618
29625
|
const isLoading = vue.shallowRef(null);
|
29619
|
-
const isClickOnOpen = vue.computed(() => props.openOnClick != null ? props.openOnClick : props.selectable);
|
29620
29626
|
function checkChildren(item) {
|
29621
29627
|
return new Promise(resolve => {
|
29622
29628
|
if (!props.items?.length || !props.loadChildren) return resolve();
|
@@ -29647,11 +29653,7 @@
|
|
29647
29653
|
"key": item.value,
|
29648
29654
|
"modelValue": slotProps.isSelected,
|
29649
29655
|
"loading": loading,
|
29650
|
-
"color": props.selectedColor,
|
29651
29656
|
"indeterminate": slotProps.isIndeterminate,
|
29652
|
-
"indeterminateIcon": props.indeterminateIcon,
|
29653
|
-
"falseIcon": props.falseIcon,
|
29654
|
-
"trueIcon": props.trueIcon,
|
29655
29657
|
"onClick": vue.withModifiers(() => selectItem(slotProps.select, slotProps.isSelected), ['stop']),
|
29656
29658
|
"onKeydown": e => {
|
29657
29659
|
if (!['Enter', 'Space'].includes(e.key)) return;
|
@@ -29673,9 +29675,9 @@
|
|
29673
29675
|
};
|
29674
29676
|
const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps);
|
29675
29677
|
const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
|
29676
|
-
return children ? vue.createVNode(VTreeviewGroup, vue.mergeProps(
|
29677
|
-
"value":
|
29678
|
-
}), {
|
29678
|
+
return children ? vue.createVNode(VTreeviewGroup, vue.mergeProps({
|
29679
|
+
"value": itemProps?.value
|
29680
|
+
}, treeviewGroupProps), {
|
29679
29681
|
activator: _ref3 => {
|
29680
29682
|
let {
|
29681
29683
|
props: activatorProps
|
@@ -29683,24 +29685,19 @@
|
|
29683
29685
|
const listItemProps = {
|
29684
29686
|
...itemProps,
|
29685
29687
|
...activatorProps,
|
29686
|
-
value: itemProps?.value
|
29687
|
-
onToggleExpand: activatorProps.onClick,
|
29688
|
-
onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : undefined
|
29688
|
+
value: itemProps?.value
|
29689
29689
|
};
|
29690
29690
|
return vue.createVNode(VTreeviewItem, vue.mergeProps(listItemProps, {
|
29691
|
-
"
|
29692
|
-
"
|
29691
|
+
"loading": loading,
|
29692
|
+
"onClick": () => checkChildren(item)
|
29693
29693
|
}), slotsWithItem);
|
29694
29694
|
},
|
29695
29695
|
default: () => vue.createVNode(VTreeviewChildren, vue.mergeProps(treeviewChildrenProps, {
|
29696
|
-
"items": children
|
29697
|
-
"returnObject": props.returnObject
|
29696
|
+
"items": children
|
29698
29697
|
}), slots)
|
29699
29698
|
}) : slots.item?.({
|
29700
29699
|
props: itemProps
|
29701
|
-
}) ?? vue.createVNode(VTreeviewItem,
|
29702
|
-
"value": props.returnObject ? vue.toRaw(item) : itemProps.value
|
29703
|
-
}), slotsWithItem);
|
29700
|
+
}) ?? vue.createVNode(VTreeviewItem, itemProps, slotsWithItem);
|
29704
29701
|
});
|
29705
29702
|
}
|
29706
29703
|
});
|
@@ -29724,7 +29721,7 @@
|
|
29724
29721
|
collapseIcon: '$treeviewCollapse',
|
29725
29722
|
expandIcon: '$treeviewExpand',
|
29726
29723
|
slim: true
|
29727
|
-
}), ['nav'
|
29724
|
+
}), ['nav'])
|
29728
29725
|
}, 'VTreeview');
|
29729
29726
|
const VTreeview = genericComponent()({
|
29730
29727
|
name: 'VTreeview',
|
@@ -29783,11 +29780,11 @@
|
|
29783
29780
|
}
|
29784
29781
|
return arr;
|
29785
29782
|
}
|
29786
|
-
function openAll(
|
29783
|
+
function openAll(item) {
|
29787
29784
|
let ids = [];
|
29788
|
-
for (const i of
|
29785
|
+
for (const i of item) {
|
29789
29786
|
if (!i.children) continue;
|
29790
|
-
ids.push(
|
29787
|
+
ids.push(i.value);
|
29791
29788
|
if (i.children) {
|
29792
29789
|
ids = ids.concat(openAll(i.children));
|
29793
29790
|
}
|
@@ -29823,7 +29820,6 @@
|
|
29823
29820
|
"ref": vListRef
|
29824
29821
|
}, listProps, {
|
29825
29822
|
"class": ['v-treeview', props.class],
|
29826
|
-
"open-strategy": "multiple",
|
29827
29823
|
"style": props.style,
|
29828
29824
|
"opened": opened.value,
|
29829
29825
|
"activated": activated.value,
|
@@ -29832,7 +29828,6 @@
|
|
29832
29828
|
"onUpdate:selected": $event => selected.value = $event
|
29833
29829
|
}), {
|
29834
29830
|
default: () => [vue.createVNode(VTreeviewChildren, vue.mergeProps(treeviewChildrenProps, {
|
29835
|
-
"returnObject": props.returnObject,
|
29836
29831
|
"items": items.value
|
29837
29832
|
}), slots)]
|
29838
29833
|
});
|
@@ -30338,7 +30333,7 @@
|
|
30338
30333
|
goTo
|
30339
30334
|
};
|
30340
30335
|
}
|
30341
|
-
const version$1 = "3.6.13-
|
30336
|
+
const version$1 = "3.6.13-pr-20185.5bf1ff4";
|
30342
30337
|
createVuetify$1.version = version$1;
|
30343
30338
|
|
30344
30339
|
// Vue's inject() can only be used in setup
|
@@ -30591,7 +30586,7 @@
|
|
30591
30586
|
|
30592
30587
|
/* eslint-disable local-rules/sort-imports */
|
30593
30588
|
|
30594
|
-
const version = "3.6.13-
|
30589
|
+
const version = "3.6.13-pr-20185.5bf1ff4";
|
30595
30590
|
|
30596
30591
|
/* eslint-disable local-rules/sort-imports */
|
30597
30592
|
|