@vuetify/nightly 3.8.9-master.2025-06-14 → 3.8.9-master.2025-06-17

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 (44) hide show
  1. package/CHANGELOG.md +6 -3
  2. package/dist/json/attributes.json +3488 -3488
  3. package/dist/json/importMap-labs.json +26 -26
  4. package/dist/json/importMap.json +146 -146
  5. package/dist/json/web-types.json +5923 -5923
  6. package/dist/vuetify-labs.cjs +38 -14
  7. package/dist/vuetify-labs.css +3770 -3769
  8. package/dist/vuetify-labs.d.ts +55 -55
  9. package/dist/vuetify-labs.esm.js +38 -14
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +38 -14
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +38 -14
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +6029 -6028
  16. package/dist/vuetify.d.ts +55 -55
  17. package/dist/vuetify.esm.js +38 -14
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +38 -14
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +372 -371
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VBtnGroup/VBtnGroup.css +2 -1
  25. package/lib/components/VBtnGroup/VBtnGroup.sass +2 -1
  26. package/lib/components/VOtpInput/VOtpInput.js +17 -1
  27. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  28. package/lib/components/VTextField/VTextField.js +4 -4
  29. package/lib/components/VTextField/VTextField.js.map +1 -1
  30. package/lib/components/VTextarea/VTextarea.js +4 -4
  31. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  32. package/lib/composables/autofocus.d.ts +7 -0
  33. package/lib/composables/autofocus.js +10 -0
  34. package/lib/composables/autofocus.js.map +1 -0
  35. package/lib/composables/group.js +1 -0
  36. package/lib/composables/group.js.map +1 -1
  37. package/lib/composables/intersectionObserver.js +2 -2
  38. package/lib/composables/intersectionObserver.js.map +1 -1
  39. package/lib/composables/selectLink.js +2 -2
  40. package/lib/composables/selectLink.js.map +1 -1
  41. package/lib/entry-bundler.js +1 -1
  42. package/lib/framework.d.ts +55 -55
  43. package/lib/framework.js +1 -1
  44. package/package.json +1 -1
@@ -101795,41 +101795,39 @@ declare module 'vue' {
101795
101795
  $children?: VNodeChild
101796
101796
  }
101797
101797
  export interface GlobalComponents {
101798
+ VAutocomplete: VAutocomplete
101798
101799
  VAlert: VAlert
101799
101800
  VAlertTitle: VAlertTitle
101800
101801
  VAppBar: VAppBar
101801
101802
  VAppBarNavIcon: VAppBarNavIcon
101802
101803
  VAppBarTitle: VAppBarTitle
101804
+ VAvatar: VAvatar
101803
101805
  VApp: VApp
101804
- VAutocomplete: VAutocomplete
101805
101806
  VBanner: VBanner
101806
101807
  VBannerActions: VBannerActions
101807
101808
  VBannerText: VBannerText
101808
- VBottomNavigation: VBottomNavigation
101809
+ VBottomSheet: VBottomSheet
101809
101810
  VBadge: VBadge
101810
- VBtnGroup: VBtnGroup
101811
- VAvatar: VAvatar
101811
+ VBtnToggle: VBtnToggle
101812
+ VCarousel: VCarousel
101813
+ VCarouselItem: VCarouselItem
101814
+ VCode: VCode
101812
101815
  VCard: VCard
101813
101816
  VCardActions: VCardActions
101814
101817
  VCardItem: VCardItem
101815
101818
  VCardSubtitle: VCardSubtitle
101816
101819
  VCardText: VCardText
101817
101820
  VCardTitle: VCardTitle
101818
- VBtnToggle: VBtnToggle
101819
- VBottomSheet: VBottomSheet
101821
+ VChip: VChip
101820
101822
  VBreadcrumbs: VBreadcrumbs
101821
101823
  VBreadcrumbsItem: VBreadcrumbsItem
101822
101824
  VBreadcrumbsDivider: VBreadcrumbsDivider
101823
101825
  VCheckbox: VCheckbox
101824
101826
  VCheckboxBtn: VCheckboxBtn
101825
- VBtn: VBtn
101826
- VCarousel: VCarousel
101827
- VCarouselItem: VCarouselItem
101828
- VChip: VChip
101829
- VCode: VCode
101830
- VCombobox: VCombobox
101831
101827
  VCounter: VCounter
101832
101828
  VColorPicker: VColorPicker
101829
+ VBtn: VBtn
101830
+ VBtnGroup: VBtnGroup
101833
101831
  VDataTable: VDataTable
101834
101832
  VDataTableHeaders: VDataTableHeaders
101835
101833
  VDataTableFooter: VDataTableFooter
@@ -101837,40 +101835,37 @@ declare module 'vue' {
101837
101835
  VDataTableRow: VDataTableRow
101838
101836
  VDataTableVirtual: VDataTableVirtual
101839
101837
  VDataTableServer: VDataTableServer
101840
- VChipGroup: VChipGroup
101838
+ VDialog: VDialog
101841
101839
  VDatePicker: VDatePicker
101842
101840
  VDatePickerControls: VDatePickerControls
101843
101841
  VDatePickerHeader: VDatePickerHeader
101844
101842
  VDatePickerMonth: VDatePickerMonth
101845
101843
  VDatePickerMonths: VDatePickerMonths
101846
101844
  VDatePickerYears: VDatePickerYears
101847
- VDialog: VDialog
101845
+ VEmptyState: VEmptyState
101846
+ VChipGroup: VChipGroup
101848
101847
  VExpansionPanels: VExpansionPanels
101849
101848
  VExpansionPanel: VExpansionPanel
101850
101849
  VExpansionPanelText: VExpansionPanelText
101851
101850
  VExpansionPanelTitle: VExpansionPanelTitle
101852
- VDivider: VDivider
101853
- VFooter: VFooter
101854
- VFab: VFab
101851
+ VFileInput: VFileInput
101855
101852
  VField: VField
101856
101853
  VFieldLabel: VFieldLabel
101857
- VEmptyState: VEmptyState
101858
- VFileInput: VFileInput
101854
+ VCombobox: VCombobox
101855
+ VFab: VFab
101856
+ VFooter: VFooter
101859
101857
  VIcon: VIcon
101860
101858
  VComponentIcon: VComponentIcon
101861
101859
  VSvgIcon: VSvgIcon
101862
101860
  VLigatureIcon: VLigatureIcon
101863
101861
  VClassIcon: VClassIcon
101864
- VImg: VImg
101862
+ VInput: VInput
101865
101863
  VInfiniteScroll: VInfiniteScroll
101864
+ VImg: VImg
101865
+ VLabel: VLabel
101866
101866
  VItemGroup: VItemGroup
101867
101867
  VItem: VItem
101868
- VInput: VInput
101869
- VMenu: VMenu
101870
101868
  VKbd: VKbd
101871
- VLabel: VLabel
101872
- VNavigationDrawer: VNavigationDrawer
101873
- VMessages: VMessages
101874
101869
  VList: VList
101875
101870
  VListGroup: VListGroup
101876
101871
  VListImg: VListImg
@@ -101880,56 +101875,59 @@ declare module 'vue' {
101880
101875
  VListItemSubtitle: VListItemSubtitle
101881
101876
  VListItemTitle: VListItemTitle
101882
101877
  VListSubheader: VListSubheader
101883
- VNumberInput: VNumberInput
101878
+ VMessages: VMessages
101879
+ VNavigationDrawer: VNavigationDrawer
101884
101880
  VOtpInput: VOtpInput
101885
- VOverlay: VOverlay
101881
+ VMain: VMain
101882
+ VMenu: VMenu
101883
+ VNumberInput: VNumberInput
101884
+ VPagination: VPagination
101886
101885
  VProgressCircular: VProgressCircular
101887
- VRadioGroup: VRadioGroup
101888
101886
  VProgressLinear: VProgressLinear
101889
- VPagination: VPagination
101890
- VSelect: VSelect
101891
- VSelectionControl: VSelectionControl
101892
- VSelectionControlGroup: VSelectionControlGroup
101887
+ VOverlay: VOverlay
101893
101888
  VRating: VRating
101889
+ VSelectionControl: VSelectionControl
101890
+ VSlider: VSlider
101891
+ VSelect: VSelect
101892
+ VRadioGroup: VRadioGroup
101894
101893
  VSheet: VSheet
101894
+ VSelectionControlGroup: VSelectionControlGroup
101895
101895
  VSkeletonLoader: VSkeletonLoader
101896
+ VSnackbar: VSnackbar
101896
101897
  VSlideGroup: VSlideGroup
101897
101898
  VSlideGroupItem: VSlideGroupItem
101899
+ VSwitch: VSwitch
101898
101900
  VStepper: VStepper
101899
101901
  VStepperActions: VStepperActions
101900
101902
  VStepperHeader: VStepperHeader
101901
101903
  VStepperItem: VStepperItem
101902
101904
  VStepperWindow: VStepperWindow
101903
101905
  VStepperWindowItem: VStepperWindowItem
101904
- VSnackbar: VSnackbar
101905
- VSlider: VSlider
101906
- VSystemBar: VSystemBar
101907
- VSwitch: VSwitch
101908
- VTextarea: VTextarea
101909
- VTable: VTable
101910
- VTextField: VTextField
101911
101906
  VTab: VTab
101912
101907
  VTabs: VTabs
101913
101908
  VTabsWindow: VTabsWindow
101914
101909
  VTabsWindowItem: VTabsWindowItem
101915
- VTooltip: VTooltip
101916
- VWindow: VWindow
101917
- VWindowItem: VWindowItem
101910
+ VTable: VTable
101911
+ VTextField: VTextField
101918
101912
  VTimeline: VTimeline
101919
101913
  VTimelineItem: VTimelineItem
101920
101914
  VToolbar: VToolbar
101921
101915
  VToolbarTitle: VToolbarTitle
101922
101916
  VToolbarItems: VToolbarItems
101923
- VMain: VMain
101924
- VConfirmEdit: VConfirmEdit
101925
- VDataIterator: VDataIterator
101917
+ VTooltip: VTooltip
101918
+ VSystemBar: VSystemBar
101919
+ VTextarea: VTextarea
101920
+ VWindow: VWindow
101921
+ VWindowItem: VWindowItem
101922
+ VBottomNavigation: VBottomNavigation
101926
101923
  VDefaultsProvider: VDefaultsProvider
101927
- VForm: VForm
101924
+ VConfirmEdit: VConfirmEdit
101925
+ VHover: VHover
101928
101926
  VContainer: VContainer
101929
101927
  VCol: VCol
101930
101928
  VRow: VRow
101931
101929
  VSpacer: VSpacer
101932
- VHover: VHover
101930
+ VForm: VForm
101933
101931
  VLayout: VLayout
101934
101932
  VLayoutItem: VLayoutItem
101935
101933
  VLazy: VLazy
@@ -101942,9 +101940,10 @@ declare module 'vue' {
101942
101940
  VSnackbarQueue: VSnackbarQueue
101943
101941
  VSparkline: VSparkline
101944
101942
  VSpeedDial: VSpeedDial
101945
- VValidation: VValidation
101946
101943
  VVirtualScroll: VVirtualScroll
101947
101944
  VThemeProvider: VThemeProvider
101945
+ VValidation: VValidation
101946
+ VDivider: VDivider
101948
101947
  VFabTransition: VFabTransition
101949
101948
  VDialogBottomTransition: VDialogBottomTransition
101950
101949
  VDialogTopTransition: VDialogTopTransition
@@ -101961,28 +101960,29 @@ declare module 'vue' {
101961
101960
  VExpandTransition: VExpandTransition
101962
101961
  VExpandXTransition: VExpandXTransition
101963
101962
  VDialogTransition: VDialogTransition
101963
+ VDataIterator: VDataIterator
101964
101964
  VCalendar: VCalendar
101965
101965
  VCalendarDay: VCalendarDay
101966
101966
  VCalendarHeader: VCalendarHeader
101967
101967
  VCalendarInterval: VCalendarInterval
101968
101968
  VCalendarIntervalEvent: VCalendarIntervalEvent
101969
101969
  VCalendarMonthDay: VCalendarMonthDay
101970
+ VIconBtn: VIconBtn
101970
101971
  VFileUpload: VFileUpload
101971
101972
  VFileUploadItem: VFileUploadItem
101972
- VIconBtn: VIconBtn
101973
- VTimePicker: VTimePicker
101974
- VTimePickerClock: VTimePickerClock
101975
- VTimePickerControls: VTimePickerControls
101973
+ VColorInput: VColorInput
101976
101974
  VPicker: VPicker
101977
101975
  VPickerTitle: VPickerTitle
101978
101976
  VStepperVertical: VStepperVertical
101979
101977
  VStepperVerticalItem: VStepperVerticalItem
101980
101978
  VStepperVerticalActions: VStepperVerticalActions
101981
- VDateInput: VDateInput
101982
- VPullToRefresh: VPullToRefresh
101983
- VColorInput: VColorInput
101984
101979
  VTreeview: VTreeview
101985
101980
  VTreeviewItem: VTreeviewItem
101986
101981
  VTreeviewGroup: VTreeviewGroup
101982
+ VTimePicker: VTimePicker
101983
+ VTimePickerClock: VTimePickerClock
101984
+ VTimePickerControls: VTimePickerControls
101985
+ VDateInput: VDateInput
101986
+ VPullToRefresh: VPullToRefresh
101987
101987
  }
101988
101988
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.9-master.2025-06-14
2
+ * Vuetify v3.8.9-master.2025-06-17
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -4400,6 +4400,7 @@ function useGroup(props, injectKey) {
4400
4400
  } else {
4401
4401
  const isSelected = selected.value.includes(id);
4402
4402
  if (props.mandatory && isSelected) return;
4403
+ if (!isSelected && !value) return;
4403
4404
  selected.value = value ?? !isSelected ? [id] : [];
4404
4405
  }
4405
4406
  }
@@ -4834,7 +4835,7 @@ function useIntersectionObserver(callback, options) {
4834
4835
  const observer = new IntersectionObserver(entries => {
4835
4836
  isIntersecting.value = !!entries.find(entry => entry.isIntersecting);
4836
4837
  }, options);
4837
- onBeforeUnmount(() => {
4838
+ onScopeDispose(() => {
4838
4839
  observer.disconnect();
4839
4840
  });
4840
4841
  watch(intersectionRef, (newValue, oldValue) => {
@@ -5365,9 +5366,9 @@ function useBackButton(router, cb) {
5365
5366
 
5366
5367
  function useSelectLink(link, select) {
5367
5368
  watch(() => link.isActive?.value, isActive => {
5368
- if (link.isLink.value && isActive && select) {
5369
+ if (link.isLink.value && isActive != null && select) {
5369
5370
  nextTick(() => {
5370
- select(true);
5371
+ select(isActive);
5371
5372
  });
5372
5373
  }
5373
5374
  }, {
@@ -12064,6 +12065,16 @@ const VField = genericComponent()({
12064
12065
  }
12065
12066
  });
12066
12067
 
12068
+ function useAutofocus(props) {
12069
+ function onIntersect(isIntersecting, entries) {
12070
+ if (!props.autofocus || !isIntersecting) return;
12071
+ entries[0].target?.focus?.();
12072
+ }
12073
+ return {
12074
+ onIntersect
12075
+ };
12076
+ }
12077
+
12067
12078
  // Types
12068
12079
 
12069
12080
  const activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month'];
@@ -12110,6 +12121,9 @@ const VTextField = genericComponent()({
12110
12121
  focus,
12111
12122
  blur
12112
12123
  } = useFocus(props);
12124
+ const {
12125
+ onIntersect
12126
+ } = useAutofocus(props);
12113
12127
  const counterValue = computed(() => {
12114
12128
  return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : (model.value ?? '').toString().length;
12115
12129
  });
@@ -12119,10 +12133,6 @@ const VTextField = genericComponent()({
12119
12133
  return props.counter;
12120
12134
  });
12121
12135
  const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));
12122
- function onIntersect(isIntersecting, entries) {
12123
- if (!props.autofocus || !isIntersecting) return;
12124
- entries[0].target?.focus?.();
12125
- }
12126
12136
  const vInputRef = ref();
12127
12137
  const vFieldRef = ref();
12128
12138
  const inputRef = ref();
@@ -25368,6 +25378,21 @@ const VOtpInput = genericComponent()({
25368
25378
  const contentRef = ref();
25369
25379
  const inputRef = ref([]);
25370
25380
  const current = computed(() => inputRef.value[focusIndex.value]);
25381
+ const intersectScope = effectScope();
25382
+ intersectScope.run(() => {
25383
+ const {
25384
+ intersectionRef,
25385
+ isIntersecting
25386
+ } = useIntersectionObserver();
25387
+ watch(isIntersecting, v => {
25388
+ if (!v) return;
25389
+ intersectionRef.value?.focus();
25390
+ intersectScope.stop();
25391
+ });
25392
+ watchEffect(() => {
25393
+ intersectionRef.value = inputRef.value[0];
25394
+ });
25395
+ });
25371
25396
  function onInput() {
25372
25397
  // The maxlength attribute doesn't work for the number type input, so the text type is used.
25373
25398
  // The following logic simulates the behavior of a number input.
@@ -28114,6 +28139,9 @@ const VTextarea = genericComponent()({
28114
28139
  focus,
28115
28140
  blur
28116
28141
  } = useFocus(props);
28142
+ const {
28143
+ onIntersect
28144
+ } = useAutofocus(props);
28117
28145
  const counterValue = computed(() => {
28118
28146
  return typeof props.counterValue === 'function' ? props.counterValue(model.value) : (model.value || '').toString().length;
28119
28147
  });
@@ -28122,10 +28150,6 @@ const VTextarea = genericComponent()({
28122
28150
  if (!props.counter || typeof props.counter !== 'number' && typeof props.counter !== 'string') return undefined;
28123
28151
  return props.counter;
28124
28152
  });
28125
- function onIntersect(isIntersecting, entries) {
28126
- if (!props.autofocus || !isIntersecting) return;
28127
- entries[0].target?.focus?.();
28128
- }
28129
28153
  const vInputRef = ref();
28130
28154
  const vFieldRef = ref();
28131
28155
  const controlHeight = shallowRef('');
@@ -32171,7 +32195,7 @@ function createVuetify$1() {
32171
32195
  };
32172
32196
  });
32173
32197
  }
32174
- const version$1 = "3.8.9-master.2025-06-14";
32198
+ const version$1 = "3.8.9-master.2025-06-17";
32175
32199
  createVuetify$1.version = version$1;
32176
32200
 
32177
32201
  // Vue's inject() can only be used in setup
@@ -32469,7 +32493,7 @@ var index = /*#__PURE__*/Object.freeze({
32469
32493
 
32470
32494
  /* eslint-disable local-rules/sort-imports */
32471
32495
 
32472
- const version = "3.8.9-master.2025-06-14";
32496
+ const version = "3.8.9-master.2025-06-17";
32473
32497
 
32474
32498
  /* eslint-disable local-rules/sort-imports */
32475
32499