vuetify 3.10.2 → 3.10.4
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 +3585 -3581
- package/dist/json/importMap-labs.json +22 -22
- package/dist/json/importMap.json +136 -136
- package/dist/json/tags.json +1 -0
- package/dist/json/web-types.json +6506 -6482
- package/dist/vuetify-labs.cjs +124 -92
- package/dist/vuetify-labs.css +4941 -4941
- package/dist/vuetify-labs.d.ts +1375 -1363
- package/dist/vuetify-labs.esm.js +125 -93
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +124 -92
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +116 -87
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +6491 -6491
- package/dist/vuetify.d.ts +1120 -1108
- package/dist/vuetify.esm.js +116 -87
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +116 -87
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1435 -1428
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.d.ts +3 -3
- package/lib/components/VAlert/VAlertTitle.d.ts +3 -3
- package/lib/components/VApp/VApp.d.ts +3 -3
- package/lib/components/VAppBar/VAppBar.d.ts +3 -3
- package/lib/components/VAppBar/VAppBarNavIcon.d.ts +6 -6
- package/lib/components/VAppBar/VAppBarTitle.d.ts +3 -3
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +116 -116
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VAvatar/VAvatar.d.ts +3 -3
- package/lib/components/VBadge/VBadge.d.ts +3 -3
- package/lib/components/VBanner/VBanner.d.ts +3 -3
- package/lib/components/VBanner/VBannerActions.d.ts +3 -3
- package/lib/components/VBanner/VBannerText.d.ts +3 -3
- package/lib/components/VBottomNavigation/VBottomNavigation.d.ts +3 -3
- package/lib/components/VBottomSheet/VBottomSheet.d.ts +3 -3
- package/lib/components/VBreadcrumbs/VBreadcrumbs.d.ts +3 -3
- package/lib/components/VBreadcrumbs/VBreadcrumbsDivider.d.ts +3 -3
- package/lib/components/VBreadcrumbs/VBreadcrumbsItem.d.ts +3 -3
- package/lib/components/VBtn/VBtn.d.ts +6 -6
- package/lib/components/VBtn/VBtn.js +5 -5
- package/lib/components/VBtn/VBtn.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.d.ts +3 -3
- package/lib/components/VBtnToggle/VBtnToggle.d.ts +3 -3
- package/lib/components/VCard/VCard.d.ts +6 -6
- package/lib/components/VCard/VCard.js +2 -2
- package/lib/components/VCard/VCard.js.map +1 -1
- package/lib/components/VCard/VCardActions.d.ts +3 -3
- package/lib/components/VCard/VCardItem.d.ts +3 -3
- package/lib/components/VCard/VCardSubtitle.d.ts +3 -3
- package/lib/components/VCard/VCardText.d.ts +3 -3
- package/lib/components/VCard/VCardTitle.d.ts +3 -3
- package/lib/components/VCarousel/VCarousel.d.ts +3 -3
- package/lib/components/VCarousel/VCarouselItem.d.ts +3 -3
- package/lib/components/VCheckbox/VCheckbox.d.ts +15 -15
- package/lib/components/VCheckbox/VCheckboxBtn.d.ts +6 -6
- package/lib/components/VChip/VChip.d.ts +6 -6
- package/lib/components/VChip/VChip.js +15 -4
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VChipGroup/VChipGroup.d.ts +3 -3
- package/lib/components/VCode/index.d.ts +3 -3
- package/lib/components/VCombobox/VCombobox.d.ts +129 -116
- package/lib/components/VCombobox/VCombobox.js +8 -25
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VCounter/VCounter.d.ts +3 -3
- package/lib/components/VDataIterator/VDataIterator.d.ts +9 -9
- package/lib/components/VDataTable/VDataTable.d.ts +3 -3
- package/lib/components/VDataTable/VDataTableServer.d.ts +3 -3
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +6 -6
- package/lib/components/VDataTable/composables/expand.js +8 -8
- package/lib/components/VDataTable/composables/expand.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.d.ts +3 -3
- package/lib/components/VDialog/VDialog.d.ts +12 -12
- package/lib/components/VDialog/VDialog.js +29 -11
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VDialog/__test__/VDialog.spec.browser.js +41 -0
- package/lib/components/VDialog/__test__/VDialog.spec.browser.js.map +1 -1
- package/lib/components/VDivider/VDivider.d.ts +3 -3
- package/lib/components/VEmptyState/VEmptyState.d.ts +6 -6
- package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +6 -6
- package/lib/components/VExpansionPanel/VExpansionPanelText.d.ts +3 -3
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +6 -6
- package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +6 -6
- package/lib/components/VFab/VFab.d.ts +6 -6
- package/lib/components/VField/VField.d.ts +3 -3
- package/lib/components/VField/VFieldLabel.d.ts +3 -3
- package/lib/components/VFileInput/VFileInput.d.ts +12 -12
- package/lib/components/VFileInput/VFileInput.js +2 -1
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VFooter/VFooter.d.ts +3 -3
- package/lib/components/VForm/VForm.d.ts +6 -6
- package/lib/components/VGrid/VCol.d.ts +3 -3
- package/lib/components/VGrid/VContainer.d.ts +3 -3
- package/lib/components/VGrid/VRow.d.ts +3 -3
- package/lib/components/VGrid/VSpacer.d.ts +3 -3
- package/lib/components/VIcon/VIcon.d.ts +3 -3
- package/lib/components/VImg/VImg.d.ts +3 -3
- package/lib/components/VInput/VInput.d.ts +3 -3
- package/lib/components/VItemGroup/VItemGroup.d.ts +3 -3
- package/lib/components/VKbd/VKbd.d.ts +3 -3
- package/lib/components/VLabel/VLabel.d.ts +3 -3
- package/lib/components/VLayout/VLayout.d.ts +3 -3
- package/lib/components/VLayout/VLayoutItem.d.ts +3 -3
- package/lib/components/VLazy/VLazy.d.ts +3 -3
- package/lib/components/VList/VList.d.ts +11 -11
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListGroup.d.ts +3 -3
- package/lib/components/VList/VListImg.d.ts +3 -3
- package/lib/components/VList/VListItem.d.ts +6 -6
- package/lib/components/VList/VListItem.js +2 -2
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VList/VListItemAction.d.ts +3 -3
- package/lib/components/VList/VListItemMedia.d.ts +3 -3
- package/lib/components/VList/VListItemSubtitle.d.ts +3 -3
- package/lib/components/VList/VListItemTitle.d.ts +3 -3
- package/lib/components/VList/VListSubheader.d.ts +3 -3
- package/lib/components/VLocaleProvider/VLocaleProvider.d.ts +3 -3
- package/lib/components/VMain/VMain.d.ts +3 -3
- package/lib/components/VMenu/VMenu.d.ts +15 -15
- package/lib/components/VMessages/VMessages.d.ts +3 -3
- package/lib/components/VNavigationDrawer/VNavigationDrawer.d.ts +3 -3
- package/lib/components/VNumberInput/VNumberInput.d.ts +66 -66
- package/lib/components/VNumberInput/VNumberInput.js +1 -0
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.d.ts +3 -3
- package/lib/components/VOverlay/VOverlay.d.ts +3 -3
- package/lib/components/VPagination/VPagination.d.ts +3 -3
- package/lib/components/VParallax/VParallax.d.ts +3 -3
- package/lib/components/VProgressCircular/VProgressCircular.d.ts +3 -3
- package/lib/components/VProgressLinear/VProgressLinear.d.ts +3 -3
- package/lib/components/VRadio/VRadio.d.ts +6 -6
- package/lib/components/VRadioGroup/VRadioGroup.d.ts +15 -15
- package/lib/components/VRangeSlider/VRangeSlider.d.ts +12 -12
- package/lib/components/VRating/VRating.d.ts +3 -3
- package/lib/components/VResponsive/VResponsive.d.ts +3 -3
- package/lib/components/VSelect/VSelect.d.ts +140 -140
- package/lib/components/VSelectionControl/VSelectionControl.d.ts +6 -6
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +6 -6
- package/lib/components/VSheet/VSheet.d.ts +3 -3
- package/lib/components/VSlideGroup/VSlideGroup.d.ts +3 -3
- package/lib/components/VSlider/VSlider.d.ts +12 -12
- package/lib/components/VSlider/VSliderThumb.d.ts +6 -6
- package/lib/components/VSlider/VSliderTrack.d.ts +3 -3
- package/lib/components/VSnackbar/VSnackbar.d.ts +12 -12
- package/lib/components/VSnackbarQueue/VSnackbarQueue.d.ts +3 -3
- package/lib/components/VSpeedDial/VSpeedDial.d.ts +9 -9
- package/lib/components/VStepper/VStepper.d.ts +3 -3
- package/lib/components/VStepper/VStepperHeader.d.ts +3 -3
- package/lib/components/VStepper/VStepperItem.d.ts +3 -3
- package/lib/components/VStepper/VStepperWindow.d.ts +3 -3
- package/lib/components/VStepper/VStepperWindowItem.d.ts +3 -3
- package/lib/components/VSwitch/VSwitch.d.ts +15 -15
- package/lib/components/VSwitch/VSwitch.js +2 -2
- package/lib/components/VSwitch/VSwitch.js.map +1 -1
- package/lib/components/VSystemBar/VSystemBar.d.ts +3 -3
- package/lib/components/VTable/VTable.d.ts +3 -3
- package/lib/components/VTabs/VTab.d.ts +24 -24
- package/lib/components/VTabs/VTabs.d.ts +3 -3
- package/lib/components/VTabs/VTabsWindow.d.ts +3 -3
- package/lib/components/VTabs/VTabsWindowItem.d.ts +3 -3
- package/lib/components/VTextField/VTextField.d.ts +21 -21
- package/lib/components/VTextarea/VTextarea.d.ts +12 -12
- package/lib/components/VThemeProvider/VThemeProvider.d.ts +3 -3
- package/lib/components/VTimePicker/VTimePicker.d.ts +3 -3
- package/lib/components/VTimeline/VTimeline.d.ts +3 -3
- package/lib/components/VTimeline/VTimelineDivider.d.ts +3 -3
- package/lib/components/VTimeline/VTimelineItem.d.ts +3 -3
- package/lib/components/VToolbar/VToolbar.d.ts +3 -3
- package/lib/components/VToolbar/VToolbarItems.d.ts +3 -3
- package/lib/components/VToolbar/VToolbarTitle.d.ts +3 -3
- package/lib/components/VTooltip/VTooltip.d.ts +15 -15
- package/lib/components/VTreeview/VTreeview.d.ts +26 -26
- package/lib/components/VTreeview/VTreeviewChildren.js +1 -1
- package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewGroup.d.ts +3 -3
- package/lib/components/VTreeview/VTreeviewItem.d.ts +24 -24
- package/lib/components/VVirtualScroll/VVirtualScroll.d.ts +6 -6
- package/lib/components/VVirtualScroll/VVirtualScrollItem.d.ts +3 -3
- package/lib/components/VWindow/VWindow.d.ts +3 -3
- package/lib/components/VWindow/VWindowItem.d.ts +3 -3
- package/lib/components/transitions/createTransition.d.ts +6 -6
- package/lib/components/transitions/index.d.ts +78 -78
- package/lib/composables/goto.js +2 -2
- package/lib/composables/goto.js.map +1 -1
- package/lib/composables/group.d.ts +2 -0
- package/lib/composables/group.js +15 -9
- package/lib/composables/group.js.map +1 -1
- package/lib/composables/router.d.ts +2 -0
- package/lib/composables/router.js +6 -1
- package/lib/composables/router.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +63 -63
- package/lib/framework.js +1 -1
- package/lib/labs/VCalendar/VCalendar.js +7 -4
- package/lib/labs/VCalendar/VCalendar.js.map +1 -1
- package/lib/labs/VCalendar/composables/calendarWithEvents.js +7 -4
- package/lib/labs/VCalendar/composables/calendarWithEvents.js.map +1 -1
- package/lib/labs/VColorInput/VColorInput.d.ts +6 -6
- package/lib/labs/VDateInput/VDateInput.d.ts +66 -66
- package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
- package/lib/labs/VFileUpload/VFileUpload.js +2 -1
- package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
- package/lib/labs/VFileUpload/VFileUploadItem.d.ts +6 -6
- package/lib/labs/VHotkey/VHotkey.d.ts +3 -3
- package/lib/labs/VIconBtn/VIconBtn.d.ts +3 -3
- package/lib/labs/VMaskInput/VMaskInput.d.ts +66 -66
- package/lib/labs/VPicker/VPicker.d.ts +3 -3
- package/lib/labs/VPicker/VPickerTitle.d.ts +3 -3
- package/lib/labs/VPie/VPieTooltip.d.ts +3 -3
- package/lib/labs/VStepperVertical/VStepperVertical.d.ts +6 -6
- package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +6 -6
- package/lib/labs/VVideo/VVideo.d.ts +87 -87
- package/lib/labs/VVideo/VVideoControls.d.ts +40 -40
- package/lib/labs/VVideo/VVideoVolume.d.ts +33 -33
- package/lib/util/animation.js +1 -1
- package/lib/util/animation.js.map +1 -1
- package/lib/util/box.d.ts +1 -1
- package/lib/util/box.js +19 -14
- package/lib/util/box.js.map +1 -1
- package/lib/util/createSimpleFunctional.d.ts +3 -3
- package/lib/util/events.js +2 -2
- package/lib/util/events.js.map +1 -1
- package/package.json +9 -9
package/dist/vuetify.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.10.
|
|
2
|
+
* Vuetify v3.10.4
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -584,17 +584,19 @@ function getAxis(anchor) {
|
|
|
584
584
|
}
|
|
585
585
|
|
|
586
586
|
class Box {
|
|
587
|
-
constructor(
|
|
588
|
-
|
|
587
|
+
constructor(args) {
|
|
588
|
+
const pageScale = document.body.currentCSSZoom ?? 1;
|
|
589
|
+
const factor = args instanceof DOMRect ? 1 + (1 - pageScale) / pageScale : 1;
|
|
590
|
+
const {
|
|
589
591
|
x,
|
|
590
592
|
y,
|
|
591
593
|
width,
|
|
592
594
|
height
|
|
593
|
-
} =
|
|
594
|
-
this.x = x;
|
|
595
|
-
this.y = y;
|
|
596
|
-
this.width = width;
|
|
597
|
-
this.height = height;
|
|
595
|
+
} = args;
|
|
596
|
+
this.x = x * factor;
|
|
597
|
+
this.y = y * factor;
|
|
598
|
+
this.width = width * factor;
|
|
599
|
+
this.height = height * factor;
|
|
598
600
|
}
|
|
599
601
|
get top() {
|
|
600
602
|
return this.y;
|
|
@@ -623,14 +625,16 @@ function getOverflow(a, b) {
|
|
|
623
625
|
}
|
|
624
626
|
function getTargetBox(target) {
|
|
625
627
|
if (Array.isArray(target)) {
|
|
628
|
+
const pageScale = document.body.currentCSSZoom ?? 1;
|
|
629
|
+
const factor = 1 + (1 - pageScale) / pageScale;
|
|
626
630
|
return new Box({
|
|
627
|
-
x: target[0],
|
|
628
|
-
y: target[1],
|
|
629
|
-
width: 0,
|
|
630
|
-
height: 0
|
|
631
|
+
x: target[0] * factor,
|
|
632
|
+
y: target[1] * factor,
|
|
633
|
+
width: 0 * factor,
|
|
634
|
+
height: 0 * factor
|
|
631
635
|
});
|
|
632
636
|
} else {
|
|
633
|
-
return target.getBoundingClientRect();
|
|
637
|
+
return new Box(target.getBoundingClientRect());
|
|
634
638
|
}
|
|
635
639
|
}
|
|
636
640
|
function getElementBox(el) {
|
|
@@ -643,11 +647,12 @@ function getElementBox(el) {
|
|
|
643
647
|
height: document.documentElement.clientHeight
|
|
644
648
|
});
|
|
645
649
|
} else {
|
|
650
|
+
const pageScale = document.body.currentCSSZoom ?? 1;
|
|
646
651
|
return new Box({
|
|
647
652
|
x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft,
|
|
648
653
|
y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop,
|
|
649
|
-
width: visualViewport.width * visualViewport.scale,
|
|
650
|
-
height: visualViewport.height * visualViewport.scale
|
|
654
|
+
width: visualViewport.width * visualViewport.scale / pageScale,
|
|
655
|
+
height: visualViewport.height * visualViewport.scale / pageScale
|
|
651
656
|
});
|
|
652
657
|
}
|
|
653
658
|
} else {
|
|
@@ -665,7 +670,7 @@ function getElementBox(el) {
|
|
|
665
670
|
|
|
666
671
|
/** @see https://stackoverflow.com/a/57876601/2074736 */
|
|
667
672
|
function nullifyTransforms(el) {
|
|
668
|
-
const rect = el.getBoundingClientRect();
|
|
673
|
+
const rect = new Box(el.getBoundingClientRect());
|
|
669
674
|
const style = getComputedStyle(el);
|
|
670
675
|
const tx = style.transform;
|
|
671
676
|
if (tx) {
|
|
@@ -1585,7 +1590,7 @@ const easingPatterns = {
|
|
|
1585
1590
|
// Utilities
|
|
1586
1591
|
function getPrefixedEventHandlers(attrs, suffix, getData) {
|
|
1587
1592
|
return Object.keys(attrs).filter(key => isOn(key) && key.endsWith(suffix)).reduce((acc, key) => {
|
|
1588
|
-
acc[key.slice(0, -suffix.length)] = event => attrs[key]
|
|
1593
|
+
acc[key.slice(0, -suffix.length)] = event => callEvent(attrs[key], event, getData(event));
|
|
1589
1594
|
return acc;
|
|
1590
1595
|
}, {});
|
|
1591
1596
|
}
|
|
@@ -5004,14 +5009,18 @@ function useGroupItem(props, injectKey) {
|
|
|
5004
5009
|
}
|
|
5005
5010
|
const value = toRef(() => props.value);
|
|
5006
5011
|
const disabled = computed(() => !!(group.disabled.value || props.disabled));
|
|
5007
|
-
|
|
5008
|
-
|
|
5009
|
-
|
|
5010
|
-
|
|
5011
|
-
|
|
5012
|
-
|
|
5013
|
-
|
|
5014
|
-
|
|
5012
|
+
function register() {
|
|
5013
|
+
group?.register({
|
|
5014
|
+
id,
|
|
5015
|
+
value,
|
|
5016
|
+
disabled
|
|
5017
|
+
}, vm);
|
|
5018
|
+
}
|
|
5019
|
+
function unregister() {
|
|
5020
|
+
group?.unregister(id);
|
|
5021
|
+
}
|
|
5022
|
+
onMounted(() => register());
|
|
5023
|
+
onBeforeUnmount(() => unregister());
|
|
5015
5024
|
const isSelected = computed(() => {
|
|
5016
5025
|
return group.isSelected(id);
|
|
5017
5026
|
});
|
|
@@ -5039,7 +5048,9 @@ function useGroupItem(props, injectKey) {
|
|
|
5039
5048
|
selectedClass,
|
|
5040
5049
|
value,
|
|
5041
5050
|
disabled,
|
|
5042
|
-
group
|
|
5051
|
+
group,
|
|
5052
|
+
register,
|
|
5053
|
+
unregister
|
|
5043
5054
|
};
|
|
5044
5055
|
}
|
|
5045
5056
|
function useGroup(props, injectKey) {
|
|
@@ -5886,6 +5897,7 @@ function useLink(props, attrs) {
|
|
|
5886
5897
|
const href = toRef(() => props.href);
|
|
5887
5898
|
return {
|
|
5888
5899
|
isLink,
|
|
5900
|
+
isRouterLink: toRef(() => false),
|
|
5889
5901
|
isClickable,
|
|
5890
5902
|
href,
|
|
5891
5903
|
linkProps: reactive({
|
|
@@ -5909,8 +5921,10 @@ function useLink(props, attrs) {
|
|
|
5909
5921
|
return link.value.isExactActive?.value && deepEqual(link.value.route.value.query, route.value.query);
|
|
5910
5922
|
});
|
|
5911
5923
|
const href = computed(() => props.to ? link.value?.route.value.href : props.href);
|
|
5924
|
+
const isRouterLink = toRef(() => !!props.to);
|
|
5912
5925
|
return {
|
|
5913
5926
|
isLink,
|
|
5927
|
+
isRouterLink,
|
|
5914
5928
|
isClickable,
|
|
5915
5929
|
isActive,
|
|
5916
5930
|
route: link.value?.route,
|
|
@@ -5918,7 +5932,9 @@ function useLink(props, attrs) {
|
|
|
5918
5932
|
href,
|
|
5919
5933
|
linkProps: reactive({
|
|
5920
5934
|
href,
|
|
5921
|
-
'aria-current': toRef(() => isActive.value ? 'page' : undefined)
|
|
5935
|
+
'aria-current': toRef(() => isActive.value ? 'page' : undefined),
|
|
5936
|
+
'aria-disabled': toRef(() => props.disabled && isLink.value ? 'true' : undefined),
|
|
5937
|
+
tabindex: toRef(() => props.disabled && isLink.value ? '-1' : undefined)
|
|
5922
5938
|
})
|
|
5923
5939
|
};
|
|
5924
5940
|
}
|
|
@@ -6368,7 +6384,7 @@ const VBtn = genericComponent()({
|
|
|
6368
6384
|
if (props.active !== undefined) {
|
|
6369
6385
|
return props.active;
|
|
6370
6386
|
}
|
|
6371
|
-
if (link.
|
|
6387
|
+
if (link.isRouterLink.value) {
|
|
6372
6388
|
return link.isActive?.value;
|
|
6373
6389
|
}
|
|
6374
6390
|
return group?.isSelected.value;
|
|
@@ -6396,7 +6412,7 @@ const VBtn = genericComponent()({
|
|
|
6396
6412
|
});
|
|
6397
6413
|
function onClick(e) {
|
|
6398
6414
|
if (isDisabled.value || link.isLink.value && (e.metaKey || e.ctrlKey || e.shiftKey || e.button !== 0 || attrs.target === '_blank')) return;
|
|
6399
|
-
if (link.
|
|
6415
|
+
if (link.isRouterLink.value) {
|
|
6400
6416
|
link.navigate?.(e);
|
|
6401
6417
|
} else {
|
|
6402
6418
|
// Group active state for links is handled by useSelectLink
|
|
@@ -6409,7 +6425,7 @@ const VBtn = genericComponent()({
|
|
|
6409
6425
|
const hasPrepend = !!(props.prependIcon || slots.prepend);
|
|
6410
6426
|
const hasAppend = !!(props.appendIcon || slots.append);
|
|
6411
6427
|
const hasIcon = !!(props.icon && props.icon !== true);
|
|
6412
|
-
return withDirectives(createVNode(Tag, mergeProps({
|
|
6428
|
+
return withDirectives(createVNode(Tag, mergeProps(link.linkProps, {
|
|
6413
6429
|
"type": Tag === 'a' ? undefined : 'button',
|
|
6414
6430
|
"class": ['v-btn', group?.selectedClass.value, {
|
|
6415
6431
|
'v-btn--active': isActive.value,
|
|
@@ -6425,11 +6441,11 @@ const VBtn = genericComponent()({
|
|
|
6425
6441
|
}, props.spaced ? ['v-btn--spaced', `v-btn--spaced-${props.spaced}`] : [], themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
|
6426
6442
|
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
|
|
6427
6443
|
"aria-busy": props.loading ? true : undefined,
|
|
6428
|
-
"disabled": isDisabled.value || undefined,
|
|
6444
|
+
"disabled": isDisabled.value && Tag !== 'a' || undefined,
|
|
6429
6445
|
"tabindex": props.loading || props.readonly ? -1 : undefined,
|
|
6430
6446
|
"onClick": onClick,
|
|
6431
6447
|
"value": valueAttr.value
|
|
6432
|
-
}
|
|
6448
|
+
}), {
|
|
6433
6449
|
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && createElementVNode("span", {
|
|
6434
6450
|
"key": "prepend",
|
|
6435
6451
|
"class": "v-btn__prepend"
|
|
@@ -8174,7 +8190,7 @@ async function scrollTo(_target, _options, horizontal, goTo) {
|
|
|
8174
8190
|
const rtl = goTo?.rtl.value;
|
|
8175
8191
|
const target = (typeof _target === 'number' ? _target : getTarget$1(_target)) ?? 0;
|
|
8176
8192
|
const container = options.container === 'parent' && target instanceof HTMLElement ? target.parentElement : getContainer(options.container);
|
|
8177
|
-
const ease =
|
|
8193
|
+
const ease = PREFERS_REDUCED_MOTION() ? options.patterns.instant : typeof options.easing === 'function' ? options.easing : options.patterns[options.easing];
|
|
8178
8194
|
if (!ease) throw new TypeError(`Easing function "${options.easing}" not found.`);
|
|
8179
8195
|
let targetLocation;
|
|
8180
8196
|
if (typeof target === 'number') {
|
|
@@ -8842,6 +8858,7 @@ const VChip = genericComponent()({
|
|
|
8842
8858
|
} = provideTheme(props);
|
|
8843
8859
|
const isActive = useProxiedModel(props, 'modelValue');
|
|
8844
8860
|
const group = useGroupItem(props, VChipGroupSymbol, false);
|
|
8861
|
+
const slideGroup = useGroupItem(props, VSlideGroupSymbol, false);
|
|
8845
8862
|
const link = useLink(props, attrs);
|
|
8846
8863
|
const isLink = toRef(() => props.link !== false && link.isLink.value);
|
|
8847
8864
|
const isClickable = computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
|
|
@@ -8855,6 +8872,15 @@ const VChip = genericComponent()({
|
|
|
8855
8872
|
emit('click:close', e);
|
|
8856
8873
|
}
|
|
8857
8874
|
}));
|
|
8875
|
+
watch(isActive, val => {
|
|
8876
|
+
if (val) {
|
|
8877
|
+
group?.register();
|
|
8878
|
+
slideGroup?.register();
|
|
8879
|
+
} else {
|
|
8880
|
+
group?.unregister();
|
|
8881
|
+
slideGroup?.unregister();
|
|
8882
|
+
}
|
|
8883
|
+
});
|
|
8858
8884
|
const {
|
|
8859
8885
|
colorClasses,
|
|
8860
8886
|
colorStyles,
|
|
@@ -8886,7 +8912,7 @@ const VChip = genericComponent()({
|
|
|
8886
8912
|
const hasFilter = !!(slots.filter || props.filter) && group;
|
|
8887
8913
|
const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);
|
|
8888
8914
|
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
|
8889
|
-
return isActive.value && withDirectives(createVNode(Tag, mergeProps({
|
|
8915
|
+
return isActive.value && withDirectives(createVNode(Tag, mergeProps(link.linkProps, {
|
|
8890
8916
|
"class": ['v-chip', {
|
|
8891
8917
|
'v-chip--disabled': props.disabled,
|
|
8892
8918
|
'v-chip--label': props.label,
|
|
@@ -8901,7 +8927,7 @@ const VChip = genericComponent()({
|
|
|
8901
8927
|
"tabindex": isClickable.value ? 0 : undefined,
|
|
8902
8928
|
"onClick": onClick,
|
|
8903
8929
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
|
8904
|
-
}
|
|
8930
|
+
}), {
|
|
8905
8931
|
default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && createVNode(VExpandXTransition, {
|
|
8906
8932
|
"key": "filter"
|
|
8907
8933
|
}, {
|
|
@@ -10104,7 +10130,7 @@ const VListItem = genericComponent()({
|
|
|
10104
10130
|
if (props.activeColor) {
|
|
10105
10131
|
deprecate('active-color', ['color', 'base-color']);
|
|
10106
10132
|
}
|
|
10107
|
-
return withDirectives(createVNode(Tag, mergeProps({
|
|
10133
|
+
return withDirectives(createVNode(Tag, mergeProps(link.linkProps, {
|
|
10108
10134
|
"class": ['v-list-item', {
|
|
10109
10135
|
'v-list-item--active': isActive.value,
|
|
10110
10136
|
'v-list-item--disabled': props.disabled,
|
|
@@ -10120,7 +10146,7 @@ const VListItem = genericComponent()({
|
|
|
10120
10146
|
"role": role.value,
|
|
10121
10147
|
"onClick": onClick,
|
|
10122
10148
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
|
10123
|
-
}
|
|
10149
|
+
}), {
|
|
10124
10150
|
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && createElementVNode("div", {
|
|
10125
10151
|
"key": "prepend",
|
|
10126
10152
|
"class": "v-list-item__prepend"
|
|
@@ -14402,7 +14428,7 @@ const VAutocomplete = genericComponent()({
|
|
|
14402
14428
|
} else {
|
|
14403
14429
|
if (!props.multiple && search.value == null) model.value = [];
|
|
14404
14430
|
menu.value = false;
|
|
14405
|
-
|
|
14431
|
+
search.value = '';
|
|
14406
14432
|
selectionIndex.value = -1;
|
|
14407
14433
|
}
|
|
14408
14434
|
});
|
|
@@ -15036,10 +15062,11 @@ const VDialog = genericComponent()({
|
|
|
15036
15062
|
scopeId
|
|
15037
15063
|
} = useScopeId();
|
|
15038
15064
|
const overlay = ref();
|
|
15039
|
-
function onFocusin(e) {
|
|
15065
|
+
async function onFocusin(e) {
|
|
15040
15066
|
const before = e.relatedTarget;
|
|
15041
15067
|
const after = e.target;
|
|
15042
|
-
|
|
15068
|
+
await nextTick();
|
|
15069
|
+
if (isActive.value && before !== after && overlay.value?.contentEl &&
|
|
15043
15070
|
// We're the topmost dialog
|
|
15044
15071
|
overlay.value?.globalTop &&
|
|
15045
15072
|
// It isn't the document or the dialog body
|
|
@@ -15047,22 +15074,39 @@ const VDialog = genericComponent()({
|
|
|
15047
15074
|
// It isn't inside the dialog body
|
|
15048
15075
|
!overlay.value.contentEl.contains(after)) {
|
|
15049
15076
|
const focusable = focusableChildren(overlay.value.contentEl);
|
|
15050
|
-
|
|
15051
|
-
|
|
15052
|
-
|
|
15053
|
-
|
|
15054
|
-
|
|
15055
|
-
|
|
15056
|
-
|
|
15057
|
-
|
|
15077
|
+
focusable[0]?.focus();
|
|
15078
|
+
}
|
|
15079
|
+
}
|
|
15080
|
+
function onKeydown(e) {
|
|
15081
|
+
if (e.key !== 'Tab' || !overlay.value?.contentEl) return;
|
|
15082
|
+
const focusable = focusableChildren(overlay.value.contentEl);
|
|
15083
|
+
if (!focusable.length) return;
|
|
15084
|
+
const firstElement = focusable[0];
|
|
15085
|
+
const lastElement = focusable[focusable.length - 1];
|
|
15086
|
+
const active = document.activeElement;
|
|
15087
|
+
if (e.shiftKey && active === firstElement) {
|
|
15088
|
+
e.preventDefault();
|
|
15089
|
+
lastElement.focus();
|
|
15090
|
+
} else if (!e.shiftKey && active === lastElement) {
|
|
15091
|
+
e.preventDefault();
|
|
15092
|
+
firstElement.focus();
|
|
15058
15093
|
}
|
|
15059
15094
|
}
|
|
15060
15095
|
onBeforeUnmount(() => {
|
|
15061
15096
|
document.removeEventListener('focusin', onFocusin);
|
|
15097
|
+
document.removeEventListener('keydown', onKeydown);
|
|
15062
15098
|
});
|
|
15063
15099
|
if (IN_BROWSER) {
|
|
15064
15100
|
watch(() => isActive.value && props.retainFocus, val => {
|
|
15065
|
-
|
|
15101
|
+
if (val) {
|
|
15102
|
+
document.addEventListener('focusin', onFocusin, {
|
|
15103
|
+
once: true
|
|
15104
|
+
});
|
|
15105
|
+
document.addEventListener('keydown', onKeydown);
|
|
15106
|
+
} else {
|
|
15107
|
+
document.removeEventListener('focusin', onFocusin);
|
|
15108
|
+
document.removeEventListener('keydown', onKeydown);
|
|
15109
|
+
}
|
|
15066
15110
|
}, {
|
|
15067
15111
|
immediate: true
|
|
15068
15112
|
});
|
|
@@ -15625,7 +15669,7 @@ const VCard = genericComponent()({
|
|
|
15625
15669
|
const hasImage = !!(slots.image || props.image);
|
|
15626
15670
|
const hasCardItem = hasHeader || hasPrepend || hasAppend;
|
|
15627
15671
|
const hasText = !!(slots.text || props.text != null);
|
|
15628
|
-
return withDirectives(createVNode(Tag, mergeProps({
|
|
15672
|
+
return withDirectives(createVNode(Tag, mergeProps(link.linkProps, {
|
|
15629
15673
|
"class": ['v-card', {
|
|
15630
15674
|
'v-card--disabled': props.disabled,
|
|
15631
15675
|
'v-card--flat': props.flat,
|
|
@@ -15635,7 +15679,7 @@ const VCard = genericComponent()({
|
|
|
15635
15679
|
"style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
|
|
15636
15680
|
"onClick": isClickable && link.navigate,
|
|
15637
15681
|
"tabindex": props.disabled ? -1 : undefined
|
|
15638
|
-
}
|
|
15682
|
+
}), {
|
|
15639
15683
|
default: () => [hasImage && createElementVNode("div", {
|
|
15640
15684
|
"key": "image",
|
|
15641
15685
|
"class": "v-card__image"
|
|
@@ -19450,6 +19494,7 @@ const VColorPicker = defineComponent({
|
|
|
19450
19494
|
// Types
|
|
19451
19495
|
|
|
19452
19496
|
const makeVComboboxProps = propsFactory({
|
|
19497
|
+
alwaysFilter: Boolean,
|
|
19453
19498
|
autoSelectFirst: {
|
|
19454
19499
|
type: [Boolean, String]
|
|
19455
19500
|
},
|
|
@@ -19494,7 +19539,6 @@ const VCombobox = genericComponent()({
|
|
|
19494
19539
|
const isFocused = shallowRef(false);
|
|
19495
19540
|
const isPristine = shallowRef(true);
|
|
19496
19541
|
const listHasFocus = shallowRef(false);
|
|
19497
|
-
const showAllItemsForNoMatch = shallowRef(false);
|
|
19498
19542
|
const vMenuRef = ref();
|
|
19499
19543
|
const vVirtualScrollRef = ref();
|
|
19500
19544
|
const selectionIndex = shallowRef(-1);
|
|
@@ -19550,22 +19594,14 @@ const VCombobox = genericComponent()({
|
|
|
19550
19594
|
const {
|
|
19551
19595
|
filteredItems,
|
|
19552
19596
|
getMatches
|
|
19553
|
-
} = useFilter(props, items, search);
|
|
19554
|
-
const hasMatchingItems = computed(() => {
|
|
19555
|
-
return props.hideSelected ? filteredItems.value.some(filteredItem => !model.value.some(s => s.value === filteredItem.value)) : filteredItems.value.length > 0;
|
|
19556
|
-
});
|
|
19597
|
+
} = useFilter(props, items, () => props.alwaysFilter || !isPristine.value ? search.value : '');
|
|
19557
19598
|
const displayItems = computed(() => {
|
|
19558
19599
|
if (props.hideSelected) {
|
|
19559
19600
|
return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));
|
|
19560
19601
|
}
|
|
19561
|
-
if (filteredItems.value.length === 0 && showAllItemsForNoMatch.value) {
|
|
19562
|
-
return items.value;
|
|
19563
|
-
}
|
|
19564
19602
|
return filteredItems.value;
|
|
19565
19603
|
});
|
|
19566
|
-
const menuDisabled = computed(() =>
|
|
19567
|
-
return form.isReadonly.value || form.isDisabled.value;
|
|
19568
|
-
});
|
|
19604
|
+
const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
|
19569
19605
|
const _menu = useProxiedModel(props, 'menu');
|
|
19570
19606
|
const menu = computed({
|
|
19571
19607
|
get: () => _menu.value,
|
|
@@ -19582,17 +19618,13 @@ const VCombobox = genericComponent()({
|
|
|
19582
19618
|
ariaLabel
|
|
19583
19619
|
} = useMenuActivator(props, menu);
|
|
19584
19620
|
watch(_search, value => {
|
|
19585
|
-
showAllItemsForNoMatch.value = false;
|
|
19586
19621
|
if (cleared) {
|
|
19587
19622
|
// wait for clear to finish, VTextField sets _search to null
|
|
19588
19623
|
// then search computed triggers and updates _search to ''
|
|
19589
19624
|
nextTick(() => cleared = false);
|
|
19590
19625
|
} else if (isFocused.value && !menu.value) {
|
|
19591
|
-
menu.value =
|
|
19592
|
-
} else if (isFocused.value && menu.value && !hasMatchingItems.value && props.hideNoData) {
|
|
19593
|
-
menu.value = false;
|
|
19626
|
+
menu.value = true;
|
|
19594
19627
|
}
|
|
19595
|
-
isPristine.value = !value;
|
|
19596
19628
|
emit('update:search', value);
|
|
19597
19629
|
});
|
|
19598
19630
|
watch(model, value => {
|
|
@@ -19609,6 +19641,7 @@ const VCombobox = genericComponent()({
|
|
|
19609
19641
|
const listEvents = useScrolling(listRef, vTextFieldRef);
|
|
19610
19642
|
function onClear(e) {
|
|
19611
19643
|
cleared = true;
|
|
19644
|
+
nextTick(() => cleared = false);
|
|
19612
19645
|
if (props.openOnClear) {
|
|
19613
19646
|
menu.value = true;
|
|
19614
19647
|
}
|
|
@@ -19771,19 +19804,13 @@ const VCombobox = genericComponent()({
|
|
|
19771
19804
|
}
|
|
19772
19805
|
}
|
|
19773
19806
|
});
|
|
19774
|
-
watch(menu,
|
|
19775
|
-
if (!props.hideSelected &&
|
|
19807
|
+
watch(menu, () => {
|
|
19808
|
+
if (!props.hideSelected && menu.value && model.value.length) {
|
|
19776
19809
|
const index = displayItems.value.findIndex(item => model.value.some(s => (props.valueComparator || deepEqual)(s.value, item.value)));
|
|
19777
19810
|
IN_BROWSER && window.requestAnimationFrame(() => {
|
|
19778
19811
|
index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);
|
|
19779
19812
|
});
|
|
19780
19813
|
}
|
|
19781
|
-
if (val && search.value && !hasMatchingItems.value) {
|
|
19782
|
-
showAllItemsForNoMatch.value = true;
|
|
19783
|
-
}
|
|
19784
|
-
isPristine.value = !search.value;
|
|
19785
|
-
}, {
|
|
19786
|
-
immediate: true
|
|
19787
19814
|
});
|
|
19788
19815
|
watch(items, (newVal, oldVal) => {
|
|
19789
19816
|
if (menu.value) return;
|
|
@@ -19980,7 +20007,7 @@ const VCombobox = genericComponent()({
|
|
|
19980
20007
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
19981
20008
|
args[_key] = arguments[_key];
|
|
19982
20009
|
}
|
|
19983
|
-
return createElementVNode(Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? createVNode(VIcon, {
|
|
20010
|
+
return createElementVNode(Fragment, null, [slots['append-inner']?.(...args), (!props.hideNoData || props.items.length) && props.menuIcon ? createVNode(VIcon, {
|
|
19984
20011
|
"class": "v-combobox__menu-icon",
|
|
19985
20012
|
"color": vTextFieldRef.value?.fieldIconColor,
|
|
19986
20013
|
"icon": props.menuIcon,
|
|
@@ -20123,20 +20150,20 @@ function provideExpanded(props) {
|
|
|
20123
20150
|
}, v => {
|
|
20124
20151
|
return [...v.values()];
|
|
20125
20152
|
});
|
|
20126
|
-
function getItemKey(item) {
|
|
20127
|
-
return isObject(item.value) ? item.key : item.value;
|
|
20128
|
-
}
|
|
20129
20153
|
function expand(item, value) {
|
|
20130
20154
|
const newExpanded = new Set(expanded.value);
|
|
20155
|
+
const rawValue = toRaw(item.value);
|
|
20131
20156
|
if (!value) {
|
|
20132
|
-
|
|
20157
|
+
const item = [...expanded.value].find(x => toRaw(x) === rawValue);
|
|
20158
|
+
newExpanded.delete(item);
|
|
20133
20159
|
} else {
|
|
20134
|
-
newExpanded.add(
|
|
20160
|
+
newExpanded.add(rawValue);
|
|
20135
20161
|
}
|
|
20136
20162
|
expanded.value = newExpanded;
|
|
20137
20163
|
}
|
|
20138
20164
|
function isExpanded(item) {
|
|
20139
|
-
|
|
20165
|
+
const rawValue = toRaw(item.value);
|
|
20166
|
+
return [...expanded.value].some(x => toRaw(x) === rawValue);
|
|
20140
20167
|
}
|
|
20141
20168
|
function toggleExpand(item) {
|
|
20142
20169
|
expand(item, !isExpanded(item));
|
|
@@ -25288,7 +25315,8 @@ const VFileInput = genericComponent()({
|
|
|
25288
25315
|
'onClick:clear': onClear
|
|
25289
25316
|
};
|
|
25290
25317
|
const expectsDirectory = attrs.webkitdirectory !== undefined && attrs.webkitdirectory !== false;
|
|
25291
|
-
const
|
|
25318
|
+
const acceptFallback = attrs.accept ? String(attrs.accept) : undefined;
|
|
25319
|
+
const inputAccept = expectsDirectory ? undefined : props.filterByType ?? acceptFallback;
|
|
25292
25320
|
return createVNode(VInput, mergeProps({
|
|
25293
25321
|
"ref": vInputRef,
|
|
25294
25322
|
"modelValue": props.multiple ? model.value : model.value[0],
|
|
@@ -26999,6 +27027,7 @@ const VNumberInput = genericComponent()({
|
|
|
26999
27027
|
useRender(() => {
|
|
27000
27028
|
const {
|
|
27001
27029
|
modelValue: _,
|
|
27030
|
+
type,
|
|
27002
27031
|
...textFieldProps
|
|
27003
27032
|
} = VTextField.filterProps(props);
|
|
27004
27033
|
function incrementControlNode() {
|
|
@@ -29448,7 +29477,7 @@ const VSwitch = genericComponent()({
|
|
|
29448
29477
|
} = useFocus(props);
|
|
29449
29478
|
const control = ref();
|
|
29450
29479
|
const inputRef = ref();
|
|
29451
|
-
const isForcedColorsModeActive =
|
|
29480
|
+
const isForcedColorsModeActive = SUPPORTS_MATCH_MEDIA && window.matchMedia('(forced-colors: active)').matches;
|
|
29452
29481
|
const loaderColor = toRef(() => {
|
|
29453
29482
|
return typeof props.loading === 'string' && props.loading !== '' ? props.loading : props.color;
|
|
29454
29483
|
});
|
|
@@ -31542,6 +31571,7 @@ const VTreeviewChildren = genericComponent()({
|
|
|
31542
31571
|
...itemProps,
|
|
31543
31572
|
...activatorProps,
|
|
31544
31573
|
value: itemProps?.value,
|
|
31574
|
+
indentLines: indentLines.node,
|
|
31545
31575
|
onToggleExpand: [() => checkChildren(item), activatorProps.onClick],
|
|
31546
31576
|
onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected)
|
|
31547
31577
|
};
|
|
@@ -31555,7 +31585,6 @@ const VTreeviewChildren = genericComponent()({
|
|
|
31555
31585
|
}, listItemProps, {
|
|
31556
31586
|
"hasCustomPrepend": !!slots.prepend,
|
|
31557
31587
|
"hideActions": props.hideActions,
|
|
31558
|
-
"indentLines": indentLines.node,
|
|
31559
31588
|
"value": props.returnObject ? item.raw : itemProps.value,
|
|
31560
31589
|
"loading": loading
|
|
31561
31590
|
}), slotsWithItem));
|
|
@@ -32250,7 +32279,7 @@ function createVuetify$1() {
|
|
|
32250
32279
|
};
|
|
32251
32280
|
});
|
|
32252
32281
|
}
|
|
32253
|
-
const version$1 = "3.10.
|
|
32282
|
+
const version$1 = "3.10.4";
|
|
32254
32283
|
createVuetify$1.version = version$1;
|
|
32255
32284
|
|
|
32256
32285
|
// Vue's inject() can only be used in setup
|
|
@@ -32275,7 +32304,7 @@ const createVuetify = function () {
|
|
|
32275
32304
|
...options
|
|
32276
32305
|
});
|
|
32277
32306
|
};
|
|
32278
|
-
const version = "3.10.
|
|
32307
|
+
const version = "3.10.4";
|
|
32279
32308
|
createVuetify.version = version;
|
|
32280
32309
|
|
|
32281
32310
|
export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useHotkey, useLayout, useLocale, useMask, useRtl, useTheme, version };
|