vuetify 3.10.3 → 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.
Files changed (56) hide show
  1. package/dist/json/attributes.json +3476 -3472
  2. package/dist/json/importMap-labs.json +36 -36
  3. package/dist/json/importMap.json +166 -166
  4. package/dist/json/tags.json +1 -0
  5. package/dist/json/web-types.json +6418 -6408
  6. package/dist/vuetify-labs.cjs +92 -46
  7. package/dist/vuetify-labs.css +5324 -5324
  8. package/dist/vuetify-labs.d.ts +76 -66
  9. package/dist/vuetify-labs.esm.js +93 -47
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +92 -46
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +84 -42
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +6231 -6231
  16. package/dist/vuetify.d.ts +76 -66
  17. package/dist/vuetify.esm.js +84 -42
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +84 -42
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +32 -27
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VBtn/VBtn.js +1 -1
  25. package/lib/components/VBtn/VBtn.js.map +1 -1
  26. package/lib/components/VChip/VChip.js +13 -2
  27. package/lib/components/VChip/VChip.js.map +1 -1
  28. package/lib/components/VCombobox/VCombobox.d.ts +13 -0
  29. package/lib/components/VCombobox/VCombobox.js +3 -1
  30. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  31. package/lib/components/VDialog/VDialog.js +29 -11
  32. package/lib/components/VDialog/VDialog.js.map +1 -1
  33. package/lib/components/VDialog/__test__/VDialog.spec.browser.js +41 -0
  34. package/lib/components/VDialog/__test__/VDialog.spec.browser.js.map +1 -1
  35. package/lib/components/VFileInput/VFileInput.js +2 -1
  36. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  37. package/lib/components/VTreeview/VTreeviewChildren.js +1 -1
  38. package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
  39. package/lib/composables/group.d.ts +2 -0
  40. package/lib/composables/group.js +15 -9
  41. package/lib/composables/group.js.map +1 -1
  42. package/lib/entry-bundler.js +1 -1
  43. package/lib/framework.d.ts +66 -66
  44. package/lib/framework.js +1 -1
  45. package/lib/labs/VCalendar/VCalendar.js +7 -3
  46. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  47. package/lib/labs/VCalendar/composables/calendarWithEvents.js +7 -4
  48. package/lib/labs/VCalendar/composables/calendarWithEvents.js.map +1 -1
  49. package/lib/labs/VFileUpload/VFileUpload.js +2 -1
  50. package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
  51. package/lib/util/animation.js +1 -1
  52. package/lib/util/animation.js.map +1 -1
  53. package/lib/util/box.d.ts +1 -1
  54. package/lib/util/box.js +19 -14
  55. package/lib/util/box.js.map +1 -1
  56. package/package.json +1 -1
package/dist/vuetify.d.ts CHANGED
@@ -123,7 +123,7 @@ declare class Box {
123
123
  y: number;
124
124
  width: number;
125
125
  height: number;
126
- constructor({ x, y, width, height }: {
126
+ constructor(args: DOMRect | {
127
127
  x: number;
128
128
  y: number;
129
129
  width: number;
@@ -4464,6 +4464,8 @@ interface GroupItemProvide {
4464
4464
  value: Ref<unknown>;
4465
4465
  disabled: Ref<boolean | undefined>;
4466
4466
  group: GroupProvide;
4467
+ register: () => void;
4468
+ unregister: () => void;
4467
4469
  }
4468
4470
 
4469
4471
  // typeof allowedDensities[number] evaluates to any
@@ -28157,6 +28159,7 @@ declare const VCombobox: {
28157
28159
  noDataText: string;
28158
28160
  openOnClear: boolean;
28159
28161
  noAutoScroll: boolean;
28162
+ alwaysFilter: boolean;
28160
28163
  clearOnSelect: boolean;
28161
28164
  } & {
28162
28165
  theme?: string | undefined;
@@ -30875,6 +30878,7 @@ declare const VCombobox: {
30875
30878
  noDataText: string;
30876
30879
  openOnClear: boolean;
30877
30880
  noAutoScroll: boolean;
30881
+ alwaysFilter: boolean;
30878
30882
  clearOnSelect: boolean;
30879
30883
  }, true, {}, vue.SlotsType<Partial<{
30880
30884
  prepend: (arg: VInputSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -31007,6 +31011,7 @@ declare const VCombobox: {
31007
31011
  noDataText: string;
31008
31012
  openOnClear: boolean;
31009
31013
  noAutoScroll: boolean;
31014
+ alwaysFilter: boolean;
31010
31015
  clearOnSelect: boolean;
31011
31016
  } & {
31012
31017
  theme?: string | undefined;
@@ -33720,6 +33725,7 @@ declare const VCombobox: {
33720
33725
  noDataText: string;
33721
33726
  openOnClear: boolean;
33722
33727
  noAutoScroll: boolean;
33728
+ alwaysFilter: boolean;
33723
33729
  clearOnSelect: boolean;
33724
33730
  }>;
33725
33731
  __isFragment?: undefined;
@@ -33775,6 +33781,7 @@ declare const VCombobox: {
33775
33781
  noDataText: string;
33776
33782
  openOnClear: boolean;
33777
33783
  noAutoScroll: boolean;
33784
+ alwaysFilter: boolean;
33778
33785
  clearOnSelect: boolean;
33779
33786
  } & {
33780
33787
  theme?: string | undefined;
@@ -36493,6 +36500,7 @@ declare const VCombobox: {
36493
36500
  noDataText: string;
36494
36501
  openOnClear: boolean;
36495
36502
  noAutoScroll: boolean;
36503
+ alwaysFilter: boolean;
36496
36504
  clearOnSelect: boolean;
36497
36505
  }, {}, string, vue.SlotsType<Partial<{
36498
36506
  prepend: (arg: VInputSlot) => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -37290,6 +37298,7 @@ declare const VCombobox: {
37290
37298
  openOnClear: BooleanConstructor;
37291
37299
  itemColor: StringConstructor;
37292
37300
  noAutoScroll: BooleanConstructor;
37301
+ alwaysFilter: BooleanConstructor;
37293
37302
  autoSelectFirst: {
37294
37303
  type: PropType<"exact" | boolean>;
37295
37304
  };
@@ -37950,6 +37959,7 @@ declare const VCombobox: {
37950
37959
  openOnClear: BooleanConstructor;
37951
37960
  itemColor: StringConstructor;
37952
37961
  noAutoScroll: BooleanConstructor;
37962
+ alwaysFilter: BooleanConstructor;
37953
37963
  autoSelectFirst: {
37954
37964
  type: PropType<"exact" | boolean>;
37955
37965
  };
@@ -105728,48 +105738,43 @@ declare module 'vue' {
105728
105738
  $children?: VNodeChild
105729
105739
  }
105730
105740
  export interface GlobalComponents {
105731
- VApp: VApp
105732
105741
  VAlert: VAlert
105733
105742
  VAlertTitle: VAlertTitle
105734
- VAutocomplete: VAutocomplete
105735
105743
  VAppBar: VAppBar
105736
105744
  VAppBarNavIcon: VAppBarNavIcon
105737
105745
  VAppBarTitle: VAppBarTitle
105746
+ VApp: VApp
105738
105747
  VAvatar: VAvatar
105739
105748
  VBanner: VBanner
105740
105749
  VBannerActions: VBannerActions
105741
105750
  VBannerText: VBannerText
105742
- VBottomSheet: VBottomSheet
105743
- VBadge: VBadge
105751
+ VAutocomplete: VAutocomplete
105744
105752
  VBottomNavigation: VBottomNavigation
105745
- VBtnGroup: VBtnGroup
105746
- VChip: VChip
105747
105753
  VBreadcrumbs: VBreadcrumbs
105748
105754
  VBreadcrumbsItem: VBreadcrumbsItem
105749
105755
  VBreadcrumbsDivider: VBreadcrumbsDivider
105756
+ VBadge: VBadge
105757
+ VBottomSheet: VBottomSheet
105758
+ VBtnGroup: VBtnGroup
105750
105759
  VBtn: VBtn
105751
- VCarousel: VCarousel
105752
- VCarouselItem: VCarouselItem
105753
- VCheckbox: VCheckbox
105754
- VCheckboxBtn: VCheckboxBtn
105755
- VChipGroup: VChipGroup
105756
105760
  VCard: VCard
105757
105761
  VCardActions: VCardActions
105758
105762
  VCardItem: VCardItem
105759
105763
  VCardSubtitle: VCardSubtitle
105760
105764
  VCardText: VCardText
105761
105765
  VCardTitle: VCardTitle
105762
- VCombobox: VCombobox
105766
+ VCheckbox: VCheckbox
105767
+ VCheckboxBtn: VCheckboxBtn
105763
105768
  VBtnToggle: VBtnToggle
105764
- VColorPicker: VColorPicker
105765
105769
  VCode: VCode
105770
+ VChip: VChip
105771
+ VColorPicker: VColorPicker
105772
+ VChipGroup: VChipGroup
105773
+ VCarousel: VCarousel
105774
+ VCarouselItem: VCarouselItem
105775
+ VCombobox: VCombobox
105766
105776
  VCounter: VCounter
105767
- VDatePicker: VDatePicker
105768
- VDatePickerControls: VDatePickerControls
105769
- VDatePickerHeader: VDatePickerHeader
105770
- VDatePickerMonth: VDatePickerMonth
105771
- VDatePickerMonths: VDatePickerMonths
105772
- VDatePickerYears: VDatePickerYears
105777
+ VDialog: VDialog
105773
105778
  VDataTable: VDataTable
105774
105779
  VDataTableHeaders: VDataTableHeaders
105775
105780
  VDataTableFooter: VDataTableFooter
@@ -105777,33 +105782,35 @@ declare module 'vue' {
105777
105782
  VDataTableRow: VDataTableRow
105778
105783
  VDataTableVirtual: VDataTableVirtual
105779
105784
  VDataTableServer: VDataTableServer
105780
- VEmptyState: VEmptyState
105781
- VDialog: VDialog
105782
105785
  VExpansionPanels: VExpansionPanels
105783
105786
  VExpansionPanel: VExpansionPanel
105784
105787
  VExpansionPanelText: VExpansionPanelText
105785
105788
  VExpansionPanelTitle: VExpansionPanelTitle
105786
- VField: VField
105787
- VFieldLabel: VFieldLabel
105788
- VDivider: VDivider
105789
- VFileInput: VFileInput
105789
+ VDatePicker: VDatePicker
105790
+ VDatePickerControls: VDatePickerControls
105791
+ VDatePickerHeader: VDatePickerHeader
105792
+ VDatePickerMonth: VDatePickerMonth
105793
+ VDatePickerMonths: VDatePickerMonths
105794
+ VDatePickerYears: VDatePickerYears
105795
+ VEmptyState: VEmptyState
105790
105796
  VFooter: VFooter
105797
+ VDivider: VDivider
105798
+ VFab: VFab
105791
105799
  VIcon: VIcon
105792
105800
  VComponentIcon: VComponentIcon
105793
105801
  VSvgIcon: VSvgIcon
105794
105802
  VLigatureIcon: VLigatureIcon
105795
105803
  VClassIcon: VClassIcon
105796
- VFab: VFab
105797
- VInput: VInput
105804
+ VField: VField
105805
+ VFieldLabel: VFieldLabel
105806
+ VFileInput: VFileInput
105807
+ VImg: VImg
105798
105808
  VInfiniteScroll: VInfiniteScroll
105809
+ VInput: VInput
105810
+ VLabel: VLabel
105799
105811
  VItemGroup: VItemGroup
105800
105812
  VItem: VItem
105801
- VImg: VImg
105802
- VLabel: VLabel
105803
105813
  VKbd: VKbd
105804
- VNavigationDrawer: VNavigationDrawer
105805
- VMenu: VMenu
105806
- VMessages: VMessages
105807
105814
  VList: VList
105808
105815
  VListGroup: VListGroup
105809
105816
  VListImg: VListImg
@@ -105814,61 +105821,64 @@ declare module 'vue' {
105814
105821
  VListItemTitle: VListItemTitle
105815
105822
  VListSubheader: VListSubheader
105816
105823
  VMain: VMain
105824
+ VNavigationDrawer: VNavigationDrawer
105825
+ VMenu: VMenu
105826
+ VMessages: VMessages
105817
105827
  VNumberInput: VNumberInput
105828
+ VPagination: VPagination
105818
105829
  VOverlay: VOverlay
105819
105830
  VOtpInput: VOtpInput
105820
105831
  VProgressCircular: VProgressCircular
105821
- VProgressLinear: VProgressLinear
105822
- VPagination: VPagination
105832
+ VRating: VRating
105833
+ VSelect: VSelect
105823
105834
  VRadioGroup: VRadioGroup
105835
+ VProgressLinear: VProgressLinear
105836
+ VSheet: VSheet
105824
105837
  VSelectionControl: VSelectionControl
105825
- VSelect: VSelect
105838
+ VSelectionControlGroup: VSelectionControlGroup
105839
+ VSnackbar: VSnackbar
105826
105840
  VSlideGroup: VSlideGroup
105827
105841
  VSlideGroupItem: VSlideGroupItem
105828
- VRating: VRating
105829
- VSnackbar: VSnackbar
105830
- VSelectionControlGroup: VSelectionControlGroup
105831
105842
  VSlider: VSlider
105832
105843
  VSkeletonLoader: VSkeletonLoader
105833
- VSheet: VSheet
105834
105844
  VStepper: VStepper
105835
105845
  VStepperActions: VStepperActions
105836
105846
  VStepperHeader: VStepperHeader
105837
105847
  VStepperItem: VStepperItem
105838
105848
  VStepperWindow: VStepperWindow
105839
105849
  VStepperWindowItem: VStepperWindowItem
105840
- VSystemBar: VSystemBar
105841
- VTextarea: VTextarea
105842
105850
  VSwitch: VSwitch
105843
- VTextField: VTextField
105851
+ VTable: VTable
105852
+ VTextarea: VTextarea
105853
+ VSystemBar: VSystemBar
105844
105854
  VTab: VTab
105845
105855
  VTabs: VTabs
105846
105856
  VTabsWindow: VTabsWindow
105847
105857
  VTabsWindowItem: VTabsWindowItem
105848
- VTable: VTable
105858
+ VTextField: VTextField
105859
+ VTooltip: VTooltip
105860
+ VTimePicker: VTimePicker
105861
+ VTimePickerClock: VTimePickerClock
105862
+ VTimePickerControls: VTimePickerControls
105849
105863
  VTimeline: VTimeline
105850
105864
  VTimelineItem: VTimelineItem
105851
105865
  VToolbar: VToolbar
105852
105866
  VToolbarTitle: VToolbarTitle
105853
105867
  VToolbarItems: VToolbarItems
105854
- VTimePicker: VTimePicker
105855
- VTimePickerClock: VTimePickerClock
105856
- VTimePickerControls: VTimePickerControls
105857
- VWindow: VWindow
105858
- VWindowItem: VWindowItem
105859
- VTooltip: VTooltip
105860
105868
  VTreeview: VTreeview
105861
105869
  VTreeviewItem: VTreeviewItem
105862
105870
  VTreeviewGroup: VTreeviewGroup
105871
+ VWindow: VWindow
105872
+ VWindowItem: VWindowItem
105863
105873
  VConfirmEdit: VConfirmEdit
105864
105874
  VDataIterator: VDataIterator
105865
105875
  VDefaultsProvider: VDefaultsProvider
105866
- VHover: VHover
105867
- VForm: VForm
105868
105876
  VContainer: VContainer
105869
105877
  VCol: VCol
105870
105878
  VRow: VRow
105871
105879
  VSpacer: VSpacer
105880
+ VForm: VForm
105881
+ VHover: VHover
105872
105882
  VLayout: VLayout
105873
105883
  VLayoutItem: VLayoutItem
105874
105884
  VLocaleProvider: VLocaleProvider
@@ -105876,14 +105886,14 @@ declare module 'vue' {
105876
105886
  VNoSsr: VNoSsr
105877
105887
  VParallax: VParallax
105878
105888
  VRadio: VRadio
105879
- VRangeSlider: VRangeSlider
105880
105889
  VResponsive: VResponsive
105890
+ VRangeSlider: VRangeSlider
105881
105891
  VSnackbarQueue: VSnackbarQueue
105882
105892
  VSparkline: VSparkline
105883
105893
  VSpeedDial: VSpeedDial
105884
105894
  VThemeProvider: VThemeProvider
105885
- VVirtualScroll: VVirtualScroll
105886
105895
  VValidation: VValidation
105896
+ VVirtualScroll: VVirtualScroll
105887
105897
  VFabTransition: VFabTransition
105888
105898
  VDialogBottomTransition: VDialogBottomTransition
105889
105899
  VDialogTopTransition: VDialogTopTransition
@@ -105900,26 +105910,26 @@ declare module 'vue' {
105900
105910
  VExpandTransition: VExpandTransition
105901
105911
  VExpandXTransition: VExpandXTransition
105902
105912
  VDialogTransition: VDialogTransition
105913
+ VCalendar: VCalendar
105914
+ VColorInput: VColorInput
105903
105915
  VFileUpload: VFileUpload
105904
105916
  VFileUploadItem: VFileUploadItem
105905
- VColorInput: VColorInput
105906
- VIconBtn: VIconBtn
105907
- VPicker: VPicker
105908
- VPickerTitle: VPickerTitle
105909
- VCalendar: VCalendar
105910
- VStepperVertical: VStepperVertical
105911
- VStepperVerticalItem: VStepperVerticalItem
105912
- VStepperVerticalActions: VStepperVerticalActions
105913
- VPie: VPie
105914
- VPieSegment: VPieSegment
105915
- VPieTooltip: VPieTooltip
105916
105917
  VVideo: VVideo
105917
105918
  VVideoControls: VVideoControls
105918
105919
  VVideoVolume: VVideoVolume
105920
+ VPie: VPie
105921
+ VPieSegment: VPieSegment
105922
+ VPieTooltip: VPieTooltip
105919
105923
  VHotkey: VHotkey
105924
+ VIconBtn: VIconBtn
105925
+ VStepperVertical: VStepperVertical
105926
+ VStepperVerticalItem: VStepperVerticalItem
105927
+ VStepperVerticalActions: VStepperVerticalActions
105928
+ VPicker: VPicker
105929
+ VPickerTitle: VPickerTitle
105920
105930
  VDateInput: VDateInput
105921
- VMaskInput: VMaskInput
105922
105931
  VPullToRefresh: VPullToRefresh
105932
+ VMaskInput: VMaskInput
105923
105933
  }
105924
105934
  export interface GlobalDirectives {
105925
105935
  vClickOutside: typeof import('vuetify/directives')['ClickOutside']
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.10.3
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(_ref) {
588
- let {
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
- } = _ref;
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) {
@@ -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
- group.register({
5008
- id,
5009
- value,
5010
- disabled
5011
- }, vm);
5012
- onBeforeUnmount(() => {
5013
- group.unregister(id);
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) {
@@ -6401,7 +6412,7 @@ const VBtn = genericComponent()({
6401
6412
  });
6402
6413
  function onClick(e) {
6403
6414
  if (isDisabled.value || link.isLink.value && (e.metaKey || e.ctrlKey || e.shiftKey || e.button !== 0 || attrs.target === '_blank')) return;
6404
- if (link.isLink.value) {
6415
+ if (link.isRouterLink.value) {
6405
6416
  link.navigate?.(e);
6406
6417
  } else {
6407
6418
  // Group active state for links is handled by useSelectLink
@@ -8847,6 +8858,7 @@ const VChip = genericComponent()({
8847
8858
  } = provideTheme(props);
8848
8859
  const isActive = useProxiedModel(props, 'modelValue');
8849
8860
  const group = useGroupItem(props, VChipGroupSymbol, false);
8861
+ const slideGroup = useGroupItem(props, VSlideGroupSymbol, false);
8850
8862
  const link = useLink(props, attrs);
8851
8863
  const isLink = toRef(() => props.link !== false && link.isLink.value);
8852
8864
  const isClickable = computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
@@ -8860,6 +8872,15 @@ const VChip = genericComponent()({
8860
8872
  emit('click:close', e);
8861
8873
  }
8862
8874
  }));
8875
+ watch(isActive, val => {
8876
+ if (val) {
8877
+ group?.register();
8878
+ slideGroup?.register();
8879
+ } else {
8880
+ group?.unregister();
8881
+ slideGroup?.unregister();
8882
+ }
8883
+ });
8863
8884
  const {
8864
8885
  colorClasses,
8865
8886
  colorStyles,
@@ -15041,10 +15062,11 @@ const VDialog = genericComponent()({
15041
15062
  scopeId
15042
15063
  } = useScopeId();
15043
15064
  const overlay = ref();
15044
- function onFocusin(e) {
15065
+ async function onFocusin(e) {
15045
15066
  const before = e.relatedTarget;
15046
15067
  const after = e.target;
15047
- if (before !== after && overlay.value?.contentEl &&
15068
+ await nextTick();
15069
+ if (isActive.value && before !== after && overlay.value?.contentEl &&
15048
15070
  // We're the topmost dialog
15049
15071
  overlay.value?.globalTop &&
15050
15072
  // It isn't the document or the dialog body
@@ -15052,22 +15074,39 @@ const VDialog = genericComponent()({
15052
15074
  // It isn't inside the dialog body
15053
15075
  !overlay.value.contentEl.contains(after)) {
15054
15076
  const focusable = focusableChildren(overlay.value.contentEl);
15055
- if (!focusable.length) return;
15056
- const firstElement = focusable[0];
15057
- const lastElement = focusable[focusable.length - 1];
15058
- if (before === firstElement) {
15059
- lastElement.focus();
15060
- } else {
15061
- firstElement.focus();
15062
- }
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();
15063
15093
  }
15064
15094
  }
15065
15095
  onBeforeUnmount(() => {
15066
15096
  document.removeEventListener('focusin', onFocusin);
15097
+ document.removeEventListener('keydown', onKeydown);
15067
15098
  });
15068
15099
  if (IN_BROWSER) {
15069
15100
  watch(() => isActive.value && props.retainFocus, val => {
15070
- val ? document.addEventListener('focusin', onFocusin) : document.removeEventListener('focusin', onFocusin);
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
+ }
15071
15110
  }, {
15072
15111
  immediate: true
15073
15112
  });
@@ -19455,6 +19494,7 @@ const VColorPicker = defineComponent({
19455
19494
  // Types
19456
19495
 
19457
19496
  const makeVComboboxProps = propsFactory({
19497
+ alwaysFilter: Boolean,
19458
19498
  autoSelectFirst: {
19459
19499
  type: [Boolean, String]
19460
19500
  },
@@ -19554,7 +19594,7 @@ const VCombobox = genericComponent()({
19554
19594
  const {
19555
19595
  filteredItems,
19556
19596
  getMatches
19557
- } = useFilter(props, items, () => isPristine.value ? '' : search.value);
19597
+ } = useFilter(props, items, () => props.alwaysFilter || !isPristine.value ? search.value : '');
19558
19598
  const displayItems = computed(() => {
19559
19599
  if (props.hideSelected) {
19560
19600
  return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));
@@ -19601,6 +19641,7 @@ const VCombobox = genericComponent()({
19601
19641
  const listEvents = useScrolling(listRef, vTextFieldRef);
19602
19642
  function onClear(e) {
19603
19643
  cleared = true;
19644
+ nextTick(() => cleared = false);
19604
19645
  if (props.openOnClear) {
19605
19646
  menu.value = true;
19606
19647
  }
@@ -25274,7 +25315,8 @@ const VFileInput = genericComponent()({
25274
25315
  'onClick:clear': onClear
25275
25316
  };
25276
25317
  const expectsDirectory = attrs.webkitdirectory !== undefined && attrs.webkitdirectory !== false;
25277
- const inputAccept = expectsDirectory ? undefined : props.filterByType ?? String(attrs.accept);
25318
+ const acceptFallback = attrs.accept ? String(attrs.accept) : undefined;
25319
+ const inputAccept = expectsDirectory ? undefined : props.filterByType ?? acceptFallback;
25278
25320
  return createVNode(VInput, mergeProps({
25279
25321
  "ref": vInputRef,
25280
25322
  "modelValue": props.multiple ? model.value : model.value[0],
@@ -31529,6 +31571,7 @@ const VTreeviewChildren = genericComponent()({
31529
31571
  ...itemProps,
31530
31572
  ...activatorProps,
31531
31573
  value: itemProps?.value,
31574
+ indentLines: indentLines.node,
31532
31575
  onToggleExpand: [() => checkChildren(item), activatorProps.onClick],
31533
31576
  onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected)
31534
31577
  };
@@ -31542,7 +31585,6 @@ const VTreeviewChildren = genericComponent()({
31542
31585
  }, listItemProps, {
31543
31586
  "hasCustomPrepend": !!slots.prepend,
31544
31587
  "hideActions": props.hideActions,
31545
- "indentLines": indentLines.node,
31546
31588
  "value": props.returnObject ? item.raw : itemProps.value,
31547
31589
  "loading": loading
31548
31590
  }), slotsWithItem));
@@ -32237,7 +32279,7 @@ function createVuetify$1() {
32237
32279
  };
32238
32280
  });
32239
32281
  }
32240
- const version$1 = "3.10.3";
32282
+ const version$1 = "3.10.4";
32241
32283
  createVuetify$1.version = version$1;
32242
32284
 
32243
32285
  // Vue's inject() can only be used in setup
@@ -32262,7 +32304,7 @@ const createVuetify = function () {
32262
32304
  ...options
32263
32305
  });
32264
32306
  };
32265
- const version = "3.10.3";
32307
+ const version = "3.10.4";
32266
32308
  createVuetify.version = version;
32267
32309
 
32268
32310
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useHotkey, useLayout, useLocale, useMask, useRtl, useTheme, version };