@vuetify/nightly 3.8.5-master.2025-05-20 → 3.8.6-master.2025-05-21

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 (57) hide show
  1. package/CHANGELOG.md +10 -15
  2. package/dist/json/attributes.json +3366 -3382
  3. package/dist/json/importMap-labs.json +26 -26
  4. package/dist/json/importMap.json +162 -162
  5. package/dist/json/tags.json +0 -4
  6. package/dist/json/web-types.json +6264 -6300
  7. package/dist/vuetify-labs.cjs +67 -31
  8. package/dist/vuetify-labs.css +4385 -4385
  9. package/dist/vuetify-labs.d.ts +63 -83
  10. package/dist/vuetify-labs.esm.js +67 -31
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +67 -31
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +67 -31
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +1780 -1780
  17. package/dist/vuetify.d.ts +63 -73
  18. package/dist/vuetify.esm.js +67 -31
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +67 -31
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +37 -34
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VDatePicker/VDatePicker.d.ts +0 -10
  26. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +0 -10
  27. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
  28. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  29. package/lib/components/VNavigationDrawer/touch.js +2 -4
  30. package/lib/components/VNavigationDrawer/touch.js.map +1 -1
  31. package/lib/components/VNumberInput/VNumberInput.js +18 -10
  32. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  33. package/lib/components/VProgressCircular/VProgressCircular.js +2 -2
  34. package/lib/components/VProgressCircular/VProgressCircular.js.map +1 -1
  35. package/lib/components/VSelect/VSelect.js +36 -7
  36. package/lib/components/VSelect/VSelect.js.map +1 -1
  37. package/lib/components/VSlider/slider.js +1 -1
  38. package/lib/components/VSlider/slider.js.map +1 -1
  39. package/lib/composables/calendar.d.ts +0 -5
  40. package/lib/composables/calendar.js +1 -2
  41. package/lib/composables/calendar.js.map +1 -1
  42. package/lib/composables/date/DateAdapter.d.ts +1 -1
  43. package/lib/composables/date/DateAdapter.js.map +1 -1
  44. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  45. package/lib/composables/date/adapters/vuetify.js +4 -4
  46. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  47. package/lib/composables/date/date.d.ts +1 -1
  48. package/lib/composables/goto.js +1 -1
  49. package/lib/composables/goto.js.map +1 -1
  50. package/lib/entry-bundler.d.ts +1 -1
  51. package/lib/entry-bundler.js +1 -1
  52. package/lib/framework.d.ts +63 -63
  53. package/lib/framework.js +1 -1
  54. package/lib/labs/VCalendar/VCalendar.d.ts +0 -10
  55. package/lib/labs/VDateInput/VDateInput.d.ts +0 -10
  56. package/lib/labs/entry-bundler.d.ts +1 -1
  57. package/package.json +5 -5
package/dist/vuetify.d.ts CHANGED
@@ -38,7 +38,7 @@ interface DateAdapter<T = unknown> {
38
38
  setYear(date: T, year: number): T;
39
39
  getDiff(date: T, comparing: T | string, unit?: string): number;
40
40
  getWeekArray(date: T, firstDayOfWeek?: number | string): T[][];
41
- getWeekdays(firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[];
41
+ getWeekdays(firstDayOfWeek?: number | string): string[];
42
42
  getWeek(date: T, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number;
43
43
  getMonth(date: T): number;
44
44
  setMonth(date: T, month: number): T;
@@ -39396,7 +39396,6 @@ declare const VDatePicker: {
39396
39396
  headerColor?: string | undefined;
39397
39397
  firstDayOfWeek?: string | number | undefined;
39398
39398
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
39399
- weekdayFormat?: "long" | "short" | "narrow" | undefined;
39400
39399
  } & {
39401
39400
  "onUpdate:month"?: ((date: any) => any) | undefined;
39402
39401
  "onUpdate:year"?: ((date: any) => any) | undefined;
@@ -39492,7 +39491,6 @@ declare const VDatePicker: {
39492
39491
  headerColor?: string | undefined;
39493
39492
  firstDayOfWeek?: string | number | undefined;
39494
39493
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
39495
- weekdayFormat?: "long" | "short" | "narrow" | undefined;
39496
39494
  } & {
39497
39495
  "onUpdate:month"?: ((date: any) => any) | undefined;
39498
39496
  "onUpdate:year"?: ((date: any) => any) | undefined;
@@ -39572,7 +39570,6 @@ declare const VDatePicker: {
39572
39570
  headerColor?: string | undefined;
39573
39571
  firstDayOfWeek?: string | number | undefined;
39574
39572
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
39575
- weekdayFormat?: "long" | "short" | "narrow" | undefined;
39576
39573
  } & {
39577
39574
  "onUpdate:month"?: ((date: any) => any) | undefined;
39578
39575
  "onUpdate:year"?: ((date: any) => any) | undefined;
@@ -39685,7 +39682,6 @@ declare const VDatePicker: {
39685
39682
  default: undefined;
39686
39683
  };
39687
39684
  allowedDates: vue.PropType<unknown[] | ((date: unknown) => boolean)>;
39688
- weekdayFormat: vue.PropType<"long" | "short" | "narrow" | undefined>;
39689
39685
  hideWeekdays: BooleanConstructor;
39690
39686
  multiple: vue.PropType<boolean | "range" | number | (string & {})>;
39691
39687
  showWeek: BooleanConstructor;
@@ -39791,7 +39787,6 @@ declare const VDatePicker: {
39791
39787
  default: undefined;
39792
39788
  };
39793
39789
  allowedDates: vue.PropType<unknown[] | ((date: unknown) => boolean)>;
39794
- weekdayFormat: vue.PropType<"long" | "short" | "narrow" | undefined>;
39795
39790
  hideWeekdays: BooleanConstructor;
39796
39791
  multiple: vue.PropType<boolean | "range" | number | (string & {})>;
39797
39792
  showWeek: BooleanConstructor;
@@ -40147,7 +40142,6 @@ declare const VDatePickerMonth: {
40147
40142
  modelValue?: unknown[] | undefined;
40148
40143
  firstDayOfWeek?: string | number | undefined;
40149
40144
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
40150
- weekdayFormat?: "long" | "short" | "narrow" | undefined;
40151
40145
  } & {
40152
40146
  $children?: {} | vue.VNodeChild | {
40153
40147
  day?: ((arg: {
@@ -40227,7 +40221,6 @@ declare const VDatePickerMonth: {
40227
40221
  modelValue?: unknown[] | undefined;
40228
40222
  firstDayOfWeek?: string | number | undefined;
40229
40223
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
40230
- weekdayFormat?: "long" | "short" | "narrow" | undefined;
40231
40224
  } & {
40232
40225
  $children?: {} | vue.VNodeChild | {
40233
40226
  day?: ((arg: {
@@ -40292,7 +40285,6 @@ declare const VDatePickerMonth: {
40292
40285
  modelValue?: unknown[] | undefined;
40293
40286
  firstDayOfWeek?: string | number | undefined;
40294
40287
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
40295
- weekdayFormat?: "long" | "short" | "narrow" | undefined;
40296
40288
  } & {
40297
40289
  $children?: {} | vue.VNodeChild | {
40298
40290
  day?: ((arg: {
@@ -40370,7 +40362,6 @@ declare const VDatePickerMonth: {
40370
40362
  default: undefined;
40371
40363
  };
40372
40364
  allowedDates: PropType<unknown[] | ((date: unknown) => boolean)>;
40373
- weekdayFormat: PropType<"long" | "short" | "narrow" | undefined>;
40374
40365
  color: StringConstructor;
40375
40366
  hideWeekdays: BooleanConstructor;
40376
40367
  multiple: PropType<boolean | "range" | number | (string & {})>;
@@ -40407,7 +40398,6 @@ declare const VDatePickerMonth: {
40407
40398
  default: undefined;
40408
40399
  };
40409
40400
  allowedDates: PropType<unknown[] | ((date: unknown) => boolean)>;
40410
- weekdayFormat: PropType<"long" | "short" | "narrow" | undefined>;
40411
40401
  color: StringConstructor;
40412
40402
  hideWeekdays: BooleanConstructor;
40413
40403
  multiple: PropType<boolean | "range" | number | (string & {})>;
@@ -85830,7 +85820,7 @@ declare const createVuetify: {
85830
85820
  setYear: (date: unknown, year: number) => unknown;
85831
85821
  getDiff: (date: unknown, comparing: unknown, unit?: string) => number;
85832
85822
  getWeekArray: (date: unknown, firstDayOfWeek?: number | string) => unknown[][];
85833
- getWeekdays: (firstDayOfWeek?: number | string, weekdayFormat?: "long" | "short" | "narrow") => string[];
85823
+ getWeekdays: (firstDayOfWeek?: number | string) => string[];
85834
85824
  getWeek: (date: unknown, firstDayOfWeek?: number | string, firstWeekMinSize?: number) => number;
85835
85825
  getMonth: (date: unknown) => number;
85836
85826
  setMonth: (date: unknown, month: number) => unknown;
@@ -85887,77 +85877,74 @@ declare module 'vue' {
85887
85877
  $children?: VNodeChild
85888
85878
  }
85889
85879
  export interface GlobalComponents {
85890
- VAvatar: VAvatar
85880
+ VApp: VApp
85881
+ VAutocomplete: VAutocomplete
85891
85882
  VAlert: VAlert
85892
85883
  VAlertTitle: VAlertTitle
85893
- VBanner: VBanner
85894
- VBannerActions: VBannerActions
85895
- VBannerText: VBannerText
85884
+ VBadge: VBadge
85896
85885
  VAppBar: VAppBar
85897
85886
  VAppBarNavIcon: VAppBarNavIcon
85898
85887
  VAppBarTitle: VAppBarTitle
85899
- VApp: VApp
85900
- VAutocomplete: VAutocomplete
85901
- VBadge: VBadge
85888
+ VAvatar: VAvatar
85902
85889
  VBreadcrumbs: VBreadcrumbs
85903
85890
  VBreadcrumbsItem: VBreadcrumbsItem
85904
85891
  VBreadcrumbsDivider: VBreadcrumbsDivider
85905
- VBtnGroup: VBtnGroup
85906
- VBtn: VBtn
85907
85892
  VBottomNavigation: VBottomNavigation
85893
+ VBtn: VBtn
85894
+ VBanner: VBanner
85895
+ VBannerActions: VBannerActions
85896
+ VBannerText: VBannerText
85897
+ VBtnToggle: VBtnToggle
85908
85898
  VCarousel: VCarousel
85909
85899
  VCarouselItem: VCarouselItem
85900
+ VBottomSheet: VBottomSheet
85910
85901
  VCard: VCard
85911
85902
  VCardActions: VCardActions
85912
85903
  VCardItem: VCardItem
85913
85904
  VCardSubtitle: VCardSubtitle
85914
85905
  VCardText: VCardText
85915
85906
  VCardTitle: VCardTitle
85916
- VBtnToggle: VBtnToggle
85907
+ VChip: VChip
85917
85908
  VCheckbox: VCheckbox
85918
85909
  VCheckboxBtn: VCheckboxBtn
85919
- VBottomSheet: VBottomSheet
85920
- VChipGroup: VChipGroup
85921
- VColorPicker: VColorPicker
85910
+ VBtnGroup: VBtnGroup
85922
85911
  VCode: VCode
85923
85912
  VCombobox: VCombobox
85913
+ VCounter: VCounter
85914
+ VChipGroup: VChipGroup
85915
+ VColorPicker: VColorPicker
85916
+ VDialog: VDialog
85924
85917
  VDatePicker: VDatePicker
85925
85918
  VDatePickerControls: VDatePickerControls
85926
85919
  VDatePickerHeader: VDatePickerHeader
85927
85920
  VDatePickerMonth: VDatePickerMonth
85928
85921
  VDatePickerMonths: VDatePickerMonths
85929
85922
  VDatePickerYears: VDatePickerYears
85930
- VCounter: VCounter
85931
- VDataTable: VDataTable
85932
- VDataTableHeaders: VDataTableHeaders
85933
- VDataTableFooter: VDataTableFooter
85934
- VDataTableRows: VDataTableRows
85935
- VDataTableRow: VDataTableRow
85936
- VDataTableVirtual: VDataTableVirtual
85937
- VDataTableServer: VDataTableServer
85938
85923
  VDivider: VDivider
85924
+ VEmptyState: VEmptyState
85939
85925
  VExpansionPanels: VExpansionPanels
85940
85926
  VExpansionPanel: VExpansionPanel
85941
85927
  VExpansionPanelText: VExpansionPanelText
85942
85928
  VExpansionPanelTitle: VExpansionPanelTitle
85943
- VEmptyState: VEmptyState
85944
85929
  VField: VField
85945
85930
  VFieldLabel: VFieldLabel
85946
85931
  VFab: VFab
85947
- VFileInput: VFileInput
85948
85932
  VIcon: VIcon
85949
85933
  VComponentIcon: VComponentIcon
85950
85934
  VSvgIcon: VSvgIcon
85951
85935
  VLigatureIcon: VLigatureIcon
85952
85936
  VClassIcon: VClassIcon
85937
+ VFileInput: VFileInput
85953
85938
  VFooter: VFooter
85954
- VImg: VImg
85939
+ VInfiniteScroll: VInfiniteScroll
85940
+ VLabel: VLabel
85955
85941
  VInput: VInput
85956
- VMain: VMain
85957
- VKbd: VKbd
85958
85942
  VItemGroup: VItemGroup
85959
85943
  VItem: VItem
85960
- VInfiniteScroll: VInfiniteScroll
85944
+ VImg: VImg
85945
+ VKbd: VKbd
85946
+ VMessages: VMessages
85947
+ VMenu: VMenu
85961
85948
  VList: VList
85962
85949
  VListGroup: VListGroup
85963
85950
  VListImg: VListImg
@@ -85967,40 +85954,41 @@ declare module 'vue' {
85967
85954
  VListItemSubtitle: VListItemSubtitle
85968
85955
  VListItemTitle: VListItemTitle
85969
85956
  VListSubheader: VListSubheader
85970
- VLabel: VLabel
85971
- VMenu: VMenu
85972
- VNumberInput: VNumberInput
85973
- VMessages: VMessages
85974
85957
  VNavigationDrawer: VNavigationDrawer
85975
85958
  VOtpInput: VOtpInput
85959
+ VNumberInput: VNumberInput
85976
85960
  VOverlay: VOverlay
85977
- VPagination: VPagination
85961
+ VProgressCircular: VProgressCircular
85978
85962
  VRadioGroup: VRadioGroup
85979
- VRating: VRating
85980
- VSelectionControlGroup: VSelectionControlGroup
85981
- VSelectionControl: VSelectionControl
85982
85963
  VProgressLinear: VProgressLinear
85964
+ VPagination: VPagination
85965
+ VSelectionControlGroup: VSelectionControlGroup
85966
+ VRating: VRating
85983
85967
  VSelect: VSelect
85984
- VSheet: VSheet
85968
+ VSelectionControl: VSelectionControl
85969
+ VSkeletonLoader: VSkeletonLoader
85970
+ VMain: VMain
85985
85971
  VSlideGroup: VSlideGroup
85986
85972
  VSlideGroupItem: VSlideGroupItem
85987
- VSkeletonLoader: VSkeletonLoader
85988
- VSnackbar: VSnackbar
85989
- VSlider: VSlider
85990
85973
  VStepper: VStepper
85991
85974
  VStepperActions: VStepperActions
85992
85975
  VStepperHeader: VStepperHeader
85993
85976
  VStepperItem: VStepperItem
85994
85977
  VStepperWindow: VStepperWindow
85995
85978
  VStepperWindowItem: VStepperWindowItem
85996
- VSystemBar: VSystemBar
85979
+ VSlider: VSlider
85980
+ VSheet: VSheet
85997
85981
  VSwitch: VSwitch
85998
- VTextField: VTextField
85982
+ VSnackbar: VSnackbar
85999
85983
  VTab: VTab
86000
85984
  VTabs: VTabs
86001
85985
  VTabsWindow: VTabsWindow
86002
85986
  VTabsWindowItem: VTabsWindowItem
85987
+ VTextField: VTextField
85988
+ VSystemBar: VSystemBar
86003
85989
  VTable: VTable
85990
+ VTimeline: VTimeline
85991
+ VTimelineItem: VTimelineItem
86004
85992
  VToolbar: VToolbar
86005
85993
  VToolbarTitle: VToolbarTitle
86006
85994
  VToolbarItems: VToolbarItems
@@ -86008,28 +85996,28 @@ declare module 'vue' {
86008
85996
  VTextarea: VTextarea
86009
85997
  VWindow: VWindow
86010
85998
  VWindowItem: VWindowItem
86011
- VChip: VChip
85999
+ VConfirmEdit: VConfirmEdit
86012
86000
  VDataIterator: VDataIterator
86013
86001
  VDefaultsProvider: VDefaultsProvider
86014
- VForm: VForm
86015
86002
  VContainer: VContainer
86016
86003
  VCol: VCol
86017
86004
  VRow: VRow
86018
86005
  VSpacer: VSpacer
86019
- VHover: VHover
86006
+ VForm: VForm
86020
86007
  VLayout: VLayout
86021
86008
  VLayoutItem: VLayoutItem
86022
- VLazy: VLazy
86023
86009
  VLocaleProvider: VLocaleProvider
86010
+ VHover: VHover
86024
86011
  VNoSsr: VNoSsr
86025
- VRadio: VRadio
86026
86012
  VParallax: VParallax
86013
+ VRadio: VRadio
86027
86014
  VRangeSlider: VRangeSlider
86028
- VSnackbarQueue: VSnackbarQueue
86029
86015
  VResponsive: VResponsive
86016
+ VSnackbarQueue: VSnackbarQueue
86030
86017
  VSparkline: VSparkline
86031
86018
  VSpeedDial: VSpeedDial
86032
86019
  VThemeProvider: VThemeProvider
86020
+ VVirtualScroll: VVirtualScroll
86033
86021
  VFabTransition: VFabTransition
86034
86022
  VDialogBottomTransition: VDialogBottomTransition
86035
86023
  VDialogTopTransition: VDialogTopTransition
@@ -86046,15 +86034,15 @@ declare module 'vue' {
86046
86034
  VExpandTransition: VExpandTransition
86047
86035
  VExpandXTransition: VExpandXTransition
86048
86036
  VDialogTransition: VDialogTransition
86049
- VVirtualScroll: VVirtualScroll
86037
+ VDataTable: VDataTable
86038
+ VDataTableHeaders: VDataTableHeaders
86039
+ VDataTableFooter: VDataTableFooter
86040
+ VDataTableRows: VDataTableRows
86041
+ VDataTableRow: VDataTableRow
86042
+ VDataTableVirtual: VDataTableVirtual
86043
+ VDataTableServer: VDataTableServer
86050
86044
  VValidation: VValidation
86051
- VProgressCircular: VProgressCircular
86052
- VDialog: VDialog
86053
- VConfirmEdit: VConfirmEdit
86054
- VTimeline: VTimeline
86055
- VTimelineItem: VTimelineItem
86056
- VFileUpload: VFileUpload
86057
- VFileUploadItem: VFileUploadItem
86045
+ VLazy: VLazy
86058
86046
  VCalendar: VCalendar
86059
86047
  VCalendarDay: VCalendarDay
86060
86048
  VCalendarHeader: VCalendarHeader
@@ -86062,19 +86050,21 @@ declare module 'vue' {
86062
86050
  VCalendarIntervalEvent: VCalendarIntervalEvent
86063
86051
  VCalendarMonthDay: VCalendarMonthDay
86064
86052
  VColorInput: VColorInput
86065
- VStepperVertical: VStepperVertical
86066
- VStepperVerticalItem: VStepperVerticalItem
86067
- VStepperVerticalActions: VStepperVerticalActions
86068
86053
  VIconBtn: VIconBtn
86054
+ VPicker: VPicker
86055
+ VPickerTitle: VPickerTitle
86056
+ VFileUpload: VFileUpload
86057
+ VFileUploadItem: VFileUploadItem
86069
86058
  VTimePicker: VTimePicker
86070
86059
  VTimePickerClock: VTimePickerClock
86071
86060
  VTimePickerControls: VTimePickerControls
86061
+ VStepperVertical: VStepperVertical
86062
+ VStepperVerticalItem: VStepperVerticalItem
86063
+ VStepperVerticalActions: VStepperVerticalActions
86072
86064
  VTreeview: VTreeview
86073
86065
  VTreeviewItem: VTreeviewItem
86074
86066
  VTreeviewGroup: VTreeviewGroup
86075
- VPicker: VPicker
86076
- VPickerTitle: VPickerTitle
86077
- VPullToRefresh: VPullToRefresh
86078
86067
  VDateInput: VDateInput
86068
+ VPullToRefresh: VPullToRefresh
86079
86069
  }
86080
86070
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.5-master.2025-05-20
2
+ * Vuetify v3.8.6-master.2025-05-21
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -5133,7 +5133,7 @@ const VProgressCircular = genericComponent()({
5133
5133
  resizeRef,
5134
5134
  contentRect
5135
5135
  } = useResizeObserver();
5136
- const normalizedValue = toRef(() => Math.max(0, Math.min(100, parseFloat(props.modelValue))));
5136
+ const normalizedValue = toRef(() => clamp(parseFloat(props.modelValue), 0, 100));
5137
5137
  const width = toRef(() => Number(props.width));
5138
5138
  const size = toRef(() => {
5139
5139
  // Get size from element if size prop value is small, large etc
@@ -7740,7 +7740,7 @@ function clampTarget(container, value, rtl, horizontal) {
7740
7740
  min = 0;
7741
7741
  max = scrollHeight + -containerHeight;
7742
7742
  }
7743
- return Math.max(Math.min(value, max), min);
7743
+ return clamp(value, min, max);
7744
7744
  }
7745
7745
 
7746
7746
  function calculateUpdatedTarget(_ref) {
@@ -13017,6 +13017,7 @@ const VSelect = genericComponent()({
13017
13017
  const selectedValues = computed(() => model.value.map(selection => selection.value));
13018
13018
  const isFocused = shallowRef(false);
13019
13019
  let keyboardLookupPrefix = '';
13020
+ let keyboardLookupIndex = -1;
13020
13021
  let keyboardLookupLastTime;
13021
13022
  const displayItems = computed(() => {
13022
13023
  if (props.hideSelected) {
@@ -13084,18 +13085,46 @@ const VSelect = genericComponent()({
13084
13085
  const now = performance.now();
13085
13086
  if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
13086
13087
  keyboardLookupPrefix = '';
13088
+ keyboardLookupIndex = -1;
13087
13089
  }
13088
13090
  keyboardLookupPrefix += e.key.toLowerCase();
13089
13091
  keyboardLookupLastTime = now;
13090
- const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));
13091
- if (item !== undefined) {
13092
- if (!props.multiple) {
13093
- model.value = [item];
13092
+ const items = displayItems.value;
13093
+ function findItem() {
13094
+ let result = findItemBase();
13095
+ if (result) return result;
13096
+ if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) {
13097
+ // No matches but we have a repeated letter, try the next item with that prefix
13098
+ keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1);
13099
+ result = findItemBase();
13100
+ if (result) return result;
13094
13101
  }
13095
- const index = displayItems.value.indexOf(item);
13096
- if (~index && IN_BROWSER) {
13097
- listRef.value?.focus(index);
13102
+
13103
+ // Still nothing, wrap around to the top
13104
+ keyboardLookupIndex = -1;
13105
+ result = findItemBase();
13106
+ if (result) return result;
13107
+
13108
+ // Still nothing, try just the new letter
13109
+ keyboardLookupPrefix = e.key.toLowerCase();
13110
+ return findItemBase();
13111
+ }
13112
+ function findItemBase() {
13113
+ for (let i = keyboardLookupIndex + 1; i < items.length; i++) {
13114
+ const _item = items[i];
13115
+ if (_item.title.toLowerCase().startsWith(keyboardLookupPrefix)) {
13116
+ return [_item, i];
13117
+ }
13098
13118
  }
13119
+ return undefined;
13120
+ }
13121
+ const result = findItem();
13122
+ if (!result) return;
13123
+ const [item, index] = result;
13124
+ keyboardLookupIndex = index;
13125
+ listRef.value?.focus(index);
13126
+ if (!props.multiple) {
13127
+ model.value = [item];
13099
13128
  }
13100
13129
  }
13101
13130
 
@@ -16139,7 +16168,7 @@ const useSlider = _ref => {
16139
16168
  const clickOffset = getPosition(e, position);
16140
16169
 
16141
16170
  // It is possible for left to be NaN, force to number
16142
- let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0;
16171
+ let clickPos = clamp((clickOffset - trackStart - startOffset.value) / trackLength) || 0;
16143
16172
  if (vertical ? indexFromEnd.value : indexFromEnd.value !== isRtl.value) clickPos = 1 - clickPos;
16144
16173
  return roundValue(min.value + clickPos * (max.value - min.value));
16145
16174
  }
@@ -17437,13 +17466,13 @@ function date(value) {
17437
17466
  return null;
17438
17467
  }
17439
17468
  const sundayJanuarySecond2000 = new Date(2000, 0, 2);
17440
- function getWeekdays(locale, firstDayOfWeek, weekdayFormat) {
17469
+ function getWeekdays(locale, firstDayOfWeek) {
17441
17470
  const daysFromSunday = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
17442
17471
  return createRange(7).map(i => {
17443
17472
  const weekday = new Date(sundayJanuarySecond2000);
17444
17473
  weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
17445
17474
  return new Intl.DateTimeFormat(locale, {
17446
- weekday: weekdayFormat ?? 'narrow'
17475
+ weekday: 'narrow'
17447
17476
  }).format(weekday);
17448
17477
  });
17449
17478
  }
@@ -17907,9 +17936,9 @@ class VuetifyDateAdapter {
17907
17936
  getDiff(date, comparing, unit) {
17908
17937
  return getDiff(date, comparing, unit);
17909
17938
  }
17910
- getWeekdays(firstDayOfWeek, weekdayFormat) {
17939
+ getWeekdays(firstDayOfWeek) {
17911
17940
  const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
17912
- return getWeekdays(this.locale, firstDay, weekdayFormat);
17941
+ return getWeekdays(this.locale, firstDay);
17913
17942
  }
17914
17943
  getYear(date) {
17915
17944
  return getYear(date);
@@ -22211,8 +22240,7 @@ const makeCalendarProps = propsFactory({
22211
22240
  firstDayOfWeek: {
22212
22241
  type: [Number, String],
22213
22242
  default: undefined
22214
- },
22215
- weekdayFormat: String
22243
+ }
22216
22244
  }, 'calendar');
22217
22245
  function useCalendar(props) {
22218
22246
  const adapter = useDate();
@@ -22460,7 +22488,7 @@ const VDatePickerMonth = genericComponent()({
22460
22488
  "ref": daysRef,
22461
22489
  "key": daysInMonth.value[0].date?.toString(),
22462
22490
  "class": "v-date-picker-month__days"
22463
- }, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat).map(weekDay => createVNode("div", {
22491
+ }, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => createVNode("div", {
22464
22492
  "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
22465
22493
  }, [weekDay])), daysInMonth.value.map((item, i) => {
22466
22494
  const slotProps = {
@@ -24578,7 +24606,7 @@ function useTouch(_ref) {
24578
24606
  function getProgress(pos) {
24579
24607
  let limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
24580
24608
  const progress = position.value === 'left' ? (pos - offset.value) / width.value : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value : position.value === 'top' ? (pos - offset.value) / width.value : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value : oops();
24581
- return limit ? Math.max(0, Math.min(1, progress)) : progress;
24609
+ return limit ? clamp(progress) : progress;
24582
24610
  }
24583
24611
  function onTouchstart(e) {
24584
24612
  if (touchless.value) return;
@@ -25063,6 +25091,9 @@ const VNumberInput = genericComponent()({
25063
25091
  const controlNodeDefaultHeight = toRef(() => controlVariant.value === 'stacked' ? 'auto' : '100%');
25064
25092
  const incrementSlotProps = {
25065
25093
  props: {
25094
+ style: {
25095
+ touchAction: 'none'
25096
+ },
25066
25097
  onClick: onControlClick,
25067
25098
  onPointerup: onControlMouseup,
25068
25099
  onPointerdown: onUpControlMousedown
@@ -25070,6 +25101,9 @@ const VNumberInput = genericComponent()({
25070
25101
  };
25071
25102
  const decrementSlotProps = {
25072
25103
  props: {
25104
+ style: {
25105
+ touchAction: 'none'
25106
+ },
25073
25107
  onClick: onControlClick,
25074
25108
  onPointerup: onControlMouseup,
25075
25109
  onPointerdown: onDownControlMousedown
@@ -25202,17 +25236,18 @@ const VNumberInput = genericComponent()({
25202
25236
  } = VTextField.filterProps(props);
25203
25237
  function incrementControlNode() {
25204
25238
  return !slots.increment ? createVNode(VBtn, {
25239
+ "aria-hidden": "true",
25240
+ "data-testid": "increment",
25205
25241
  "disabled": !canIncrease.value,
25206
25242
  "flat": true,
25207
- "key": "increment-btn",
25208
25243
  "height": controlNodeDefaultHeight.value,
25209
- "data-testid": "increment",
25210
- "aria-hidden": "true",
25211
25244
  "icon": incrementIcon.value,
25245
+ "key": "increment-btn",
25212
25246
  "onClick": onControlClick,
25213
- "onPointerup": onControlMouseup,
25214
25247
  "onPointerdown": onUpControlMousedown,
25248
+ "onPointerup": onControlMouseup,
25215
25249
  "size": controlNodeSize.value,
25250
+ "style": "touch-action: none",
25216
25251
  "tabindex": "-1"
25217
25252
  }, null) : createVNode(VDefaultsProvider, {
25218
25253
  "key": "increment-defaults",
@@ -25231,18 +25266,19 @@ const VNumberInput = genericComponent()({
25231
25266
  }
25232
25267
  function decrementControlNode() {
25233
25268
  return !slots.decrement ? createVNode(VBtn, {
25269
+ "aria-hidden": "true",
25270
+ "data-testid": "decrement",
25234
25271
  "disabled": !canDecrease.value,
25235
25272
  "flat": true,
25236
- "key": "decrement-btn",
25237
25273
  "height": controlNodeDefaultHeight.value,
25238
- "data-testid": "decrement",
25239
- "aria-hidden": "true",
25240
25274
  "icon": decrementIcon.value,
25241
- "size": controlNodeSize.value,
25242
- "tabindex": "-1",
25275
+ "key": "decrement-btn",
25243
25276
  "onClick": onControlClick,
25277
+ "onPointerdown": onDownControlMousedown,
25244
25278
  "onPointerup": onControlMouseup,
25245
- "onPointerdown": onDownControlMousedown
25279
+ "size": controlNodeSize.value,
25280
+ "style": "touch-action: none",
25281
+ "tabindex": "-1"
25246
25282
  }, null) : createVNode(VDefaultsProvider, {
25247
25283
  "key": "decrement-defaults",
25248
25284
  "defaults": {
@@ -29219,7 +29255,7 @@ function createVuetify$1() {
29219
29255
  };
29220
29256
  });
29221
29257
  }
29222
- const version$1 = "3.8.5-master.2025-05-20";
29258
+ const version$1 = "3.8.6-master.2025-05-21";
29223
29259
  createVuetify$1.version = version$1;
29224
29260
 
29225
29261
  // Vue's inject() can only be used in setup
@@ -29244,7 +29280,7 @@ const createVuetify = function () {
29244
29280
  ...options
29245
29281
  });
29246
29282
  };
29247
- const version = "3.8.5-master.2025-05-20";
29283
+ const version = "3.8.6-master.2025-05-21";
29248
29284
  createVuetify.version = version;
29249
29285
 
29250
29286
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };