vuetify 3.8.10 → 3.8.12

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 (79) hide show
  1. package/dist/json/attributes.json +3366 -3366
  2. package/dist/json/importMap-labs.json +24 -24
  3. package/dist/json/importMap.json +150 -150
  4. package/dist/json/web-types.json +6157 -6157
  5. package/dist/vuetify-labs.cjs +81 -83
  6. package/dist/vuetify-labs.css +2588 -2594
  7. package/dist/vuetify-labs.d.ts +200 -200
  8. package/dist/vuetify-labs.esm.js +81 -83
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +81 -83
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.cjs +56 -59
  13. package/dist/vuetify.cjs.map +1 -1
  14. package/dist/vuetify.css +3957 -3963
  15. package/dist/vuetify.d.ts +57 -57
  16. package/dist/vuetify.esm.js +56 -59
  17. package/dist/vuetify.esm.js.map +1 -1
  18. package/dist/vuetify.js +56 -59
  19. package/dist/vuetify.js.map +1 -1
  20. package/dist/vuetify.min.css +2 -2
  21. package/dist/vuetify.min.js +45 -46
  22. package/dist/vuetify.min.js.map +1 -1
  23. package/lib/components/VBtn/VBtn.sass +3 -1
  24. package/lib/components/VCarousel/VCarousel.css +0 -1
  25. package/lib/components/VCarousel/VCarousel.js +1 -0
  26. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  27. package/lib/components/VCarousel/VCarousel.sass +0 -1
  28. package/lib/components/VDataTable/VDataTableColumn.js +0 -1
  29. package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
  30. package/lib/components/VDataTable/VDataTableHeaders.js +5 -5
  31. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  32. package/lib/components/VDataTable/composables/sort.js +2 -1
  33. package/lib/components/VDataTable/composables/sort.js.map +1 -1
  34. package/lib/components/VDatePicker/VDatePickerMonth.css +3 -8
  35. package/lib/components/VDatePicker/VDatePickerMonth.js +7 -3
  36. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  37. package/lib/components/VDatePicker/VDatePickerMonth.sass +3 -8
  38. package/lib/components/VField/VField.js +2 -10
  39. package/lib/components/VField/VField.js.map +1 -1
  40. package/lib/components/VList/VList.js +1 -1
  41. package/lib/components/VList/VList.js.map +1 -1
  42. package/lib/components/VNumberInput/VNumberInput.js +4 -10
  43. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  44. package/lib/components/VNumberInput/hold.js +4 -0
  45. package/lib/components/VNumberInput/hold.js.map +1 -1
  46. package/lib/components/VOtpInput/VOtpInput.js +17 -14
  47. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  48. package/lib/components/VOverlay/locationStrategies.js +1 -1
  49. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  50. package/lib/components/VTextField/VTextField.js +1 -1
  51. package/lib/components/VTextField/VTextField.js.map +1 -1
  52. package/lib/composables/calendar.d.ts +1 -1
  53. package/lib/composables/calendar.js +8 -8
  54. package/lib/composables/calendar.js.map +1 -1
  55. package/lib/composables/date/adapters/vuetify.js +1 -1
  56. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  57. package/lib/composables/virtual.js +1 -1
  58. package/lib/composables/virtual.js.map +1 -1
  59. package/lib/entry-bundler.js +1 -1
  60. package/lib/framework.d.ts +57 -57
  61. package/lib/framework.js +1 -1
  62. package/lib/labs/VCalendar/VCalendar.d.ts +33 -33
  63. package/lib/labs/VCalendar/VCalendar.js +9 -9
  64. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  65. package/lib/labs/VCalendar/VCalendarDay.d.ts +33 -33
  66. package/lib/labs/VCalendar/VCalendarDay.js +1 -1
  67. package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
  68. package/lib/labs/VCalendar/VCalendarInterval.d.ts +36 -36
  69. package/lib/labs/VCalendar/VCalendarInterval.js +9 -9
  70. package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
  71. package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +12 -12
  72. package/lib/labs/VCalendar/VCalendarIntervalEvent.js +1 -1
  73. package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
  74. package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +36 -36
  75. package/lib/labs/VCalendar/VCalendarMonthDay.js +4 -4
  76. package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
  77. package/lib/labs/VIconBtn/VIconBtn.js +1 -0
  78. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  79. package/package.json +2 -2
package/dist/vuetify.d.ts CHANGED
@@ -85919,43 +85919,35 @@ declare module 'vue' {
85919
85919
  VAppBar: VAppBar
85920
85920
  VAppBarNavIcon: VAppBarNavIcon
85921
85921
  VAppBarTitle: VAppBarTitle
85922
- VAvatar: VAvatar
85923
85922
  VAutocomplete: VAutocomplete
85923
+ VBadge: VBadge
85924
+ VAvatar: VAvatar
85924
85925
  VBanner: VBanner
85925
85926
  VBannerActions: VBannerActions
85926
85927
  VBannerText: VBannerText
85927
- VBottomSheet: VBottomSheet
85928
- VBadge: VBadge
85929
85928
  VBottomNavigation: VBottomNavigation
85930
- VBtnGroup: VBtnGroup
85929
+ VBottomSheet: VBottomSheet
85931
85930
  VBreadcrumbs: VBreadcrumbs
85932
85931
  VBreadcrumbsItem: VBreadcrumbsItem
85933
85932
  VBreadcrumbsDivider: VBreadcrumbsDivider
85934
- VBtnToggle: VBtnToggle
85935
85933
  VCard: VCard
85936
85934
  VCardActions: VCardActions
85937
85935
  VCardItem: VCardItem
85938
85936
  VCardSubtitle: VCardSubtitle
85939
85937
  VCardText: VCardText
85940
85938
  VCardTitle: VCardTitle
85939
+ VBtnGroup: VBtnGroup
85940
+ VCarousel: VCarousel
85941
+ VCarouselItem: VCarouselItem
85942
+ VBtnToggle: VBtnToggle
85941
85943
  VCheckbox: VCheckbox
85942
85944
  VCheckboxBtn: VCheckboxBtn
85943
85945
  VChipGroup: VChipGroup
85944
- VCode: VCode
85945
- VCarousel: VCarousel
85946
- VCarouselItem: VCarouselItem
85947
- VChip: VChip
85948
- VCombobox: VCombobox
85949
85946
  VCounter: VCounter
85950
- VColorPicker: VColorPicker
85951
- VDatePicker: VDatePicker
85952
- VDatePickerControls: VDatePickerControls
85953
- VDatePickerHeader: VDatePickerHeader
85954
- VDatePickerMonth: VDatePickerMonth
85955
- VDatePickerMonths: VDatePickerMonths
85956
- VDatePickerYears: VDatePickerYears
85957
- VDialog: VDialog
85947
+ VCombobox: VCombobox
85958
85948
  VBtn: VBtn
85949
+ VChip: VChip
85950
+ VColorPicker: VColorPicker
85959
85951
  VDataTable: VDataTable
85960
85952
  VDataTableHeaders: VDataTableHeaders
85961
85953
  VDataTableFooter: VDataTableFooter
@@ -85963,29 +85955,36 @@ declare module 'vue' {
85963
85955
  VDataTableRow: VDataTableRow
85964
85956
  VDataTableVirtual: VDataTableVirtual
85965
85957
  VDataTableServer: VDataTableServer
85966
- VDivider: VDivider
85958
+ VDatePicker: VDatePicker
85959
+ VDatePickerControls: VDatePickerControls
85960
+ VDatePickerHeader: VDatePickerHeader
85961
+ VDatePickerMonth: VDatePickerMonth
85962
+ VDatePickerMonths: VDatePickerMonths
85963
+ VDatePickerYears: VDatePickerYears
85967
85964
  VEmptyState: VEmptyState
85968
- VField: VField
85969
- VFieldLabel: VFieldLabel
85970
- VFileInput: VFileInput
85965
+ VDialog: VDialog
85971
85966
  VExpansionPanels: VExpansionPanels
85972
85967
  VExpansionPanel: VExpansionPanel
85973
85968
  VExpansionPanelText: VExpansionPanelText
85974
85969
  VExpansionPanelTitle: VExpansionPanelTitle
85970
+ VDivider: VDivider
85975
85971
  VFab: VFab
85976
- VItemGroup: VItemGroup
85977
- VItem: VItem
85978
- VImg: VImg
85979
- VInput: VInput
85972
+ VFileInput: VFileInput
85973
+ VField: VField
85974
+ VFieldLabel: VFieldLabel
85975
+ VFooter: VFooter
85980
85976
  VIcon: VIcon
85981
85977
  VComponentIcon: VComponentIcon
85982
85978
  VSvgIcon: VSvgIcon
85983
85979
  VLigatureIcon: VLigatureIcon
85984
85980
  VClassIcon: VClassIcon
85981
+ VImg: VImg
85985
85982
  VInfiniteScroll: VInfiniteScroll
85986
- VFooter: VFooter
85987
- VLabel: VLabel
85988
85983
  VKbd: VKbd
85984
+ VInput: VInput
85985
+ VLabel: VLabel
85986
+ VItemGroup: VItemGroup
85987
+ VItem: VItem
85989
85988
  VList: VList
85990
85989
  VListGroup: VListGroup
85991
85990
  VListImg: VListImg
@@ -85996,73 +85995,73 @@ declare module 'vue' {
85996
85995
  VListItemTitle: VListItemTitle
85997
85996
  VListSubheader: VListSubheader
85998
85997
  VMain: VMain
85999
- VMessages: VMessages
86000
85998
  VMenu: VMenu
86001
- VOtpInput: VOtpInput
86002
85999
  VNavigationDrawer: VNavigationDrawer
86000
+ VMessages: VMessages
86003
86001
  VOverlay: VOverlay
86002
+ VOtpInput: VOtpInput
86004
86003
  VPagination: VPagination
86005
- VProgressCircular: VProgressCircular
86006
86004
  VNumberInput: VNumberInput
86007
- VRadioGroup: VRadioGroup
86005
+ VProgressCircular: VProgressCircular
86008
86006
  VProgressLinear: VProgressLinear
86009
86007
  VRating: VRating
86010
- VSelect: VSelect
86011
- VSheet: VSheet
86012
- VSelectionControl: VSelectionControl
86008
+ VRadioGroup: VRadioGroup
86013
86009
  VSelectionControlGroup: VSelectionControlGroup
86014
86010
  VSkeletonLoader: VSkeletonLoader
86015
- VSlideGroup: VSlideGroup
86016
- VSlideGroupItem: VSlideGroupItem
86017
- VSlider: VSlider
86011
+ VSheet: VSheet
86012
+ VSelectionControl: VSelectionControl
86013
+ VSnackbar: VSnackbar
86018
86014
  VStepper: VStepper
86019
86015
  VStepperActions: VStepperActions
86020
86016
  VStepperHeader: VStepperHeader
86021
86017
  VStepperItem: VStepperItem
86022
86018
  VStepperWindow: VStepperWindow
86023
86019
  VStepperWindowItem: VStepperWindowItem
86024
- VSnackbar: VSnackbar
86020
+ VSlideGroup: VSlideGroup
86021
+ VSlideGroupItem: VSlideGroupItem
86022
+ VSystemBar: VSystemBar
86023
+ VTextarea: VTextarea
86025
86024
  VSwitch: VSwitch
86026
86025
  VTable: VTable
86027
- VTextField: VTextField
86028
86026
  VTab: VTab
86029
86027
  VTabs: VTabs
86030
86028
  VTabsWindow: VTabsWindow
86031
86029
  VTabsWindowItem: VTabsWindowItem
86032
- VSystemBar: VSystemBar
86033
- VTextarea: VTextarea
86030
+ VTooltip: VTooltip
86034
86031
  VToolbar: VToolbar
86035
86032
  VToolbarTitle: VToolbarTitle
86036
86033
  VToolbarItems: VToolbarItems
86034
+ VTextField: VTextField
86035
+ VSlider: VSlider
86037
86036
  VTimeline: VTimeline
86038
86037
  VTimelineItem: VTimelineItem
86039
- VTooltip: VTooltip
86040
86038
  VWindow: VWindow
86041
86039
  VWindowItem: VWindowItem
86042
86040
  VConfirmEdit: VConfirmEdit
86043
86041
  VDataIterator: VDataIterator
86044
86042
  VDefaultsProvider: VDefaultsProvider
86045
86043
  VForm: VForm
86044
+ VHover: VHover
86046
86045
  VContainer: VContainer
86047
86046
  VCol: VCol
86048
86047
  VRow: VRow
86049
86048
  VSpacer: VSpacer
86050
- VHover: VHover
86051
86049
  VLayout: VLayout
86052
86050
  VLayoutItem: VLayoutItem
86053
- VLazy: VLazy
86054
86051
  VLocaleProvider: VLocaleProvider
86052
+ VLazy: VLazy
86055
86053
  VNoSsr: VNoSsr
86056
- VParallax: VParallax
86057
- VRadio: VRadio
86058
86054
  VRangeSlider: VRangeSlider
86055
+ VRadio: VRadio
86056
+ VParallax: VParallax
86059
86057
  VResponsive: VResponsive
86060
- VSparkline: VSparkline
86061
86058
  VSnackbarQueue: VSnackbarQueue
86059
+ VSparkline: VSparkline
86062
86060
  VSpeedDial: VSpeedDial
86063
- VThemeProvider: VThemeProvider
86064
86061
  VVirtualScroll: VVirtualScroll
86062
+ VThemeProvider: VThemeProvider
86065
86063
  VValidation: VValidation
86064
+ VSelect: VSelect
86066
86065
  VFabTransition: VFabTransition
86067
86066
  VDialogBottomTransition: VDialogBottomTransition
86068
86067
  VDialogTopTransition: VDialogTopTransition
@@ -86079,6 +86078,7 @@ declare module 'vue' {
86079
86078
  VExpandTransition: VExpandTransition
86080
86079
  VExpandXTransition: VExpandXTransition
86081
86080
  VDialogTransition: VDialogTransition
86081
+ VCode: VCode
86082
86082
  VCalendar: VCalendar
86083
86083
  VCalendarDay: VCalendarDay
86084
86084
  VCalendarHeader: VCalendarHeader
@@ -86086,21 +86086,21 @@ declare module 'vue' {
86086
86086
  VCalendarIntervalEvent: VCalendarIntervalEvent
86087
86087
  VCalendarMonthDay: VCalendarMonthDay
86088
86088
  VColorInput: VColorInput
86089
- VPicker: VPicker
86090
- VPickerTitle: VPickerTitle
86091
- VIconBtn: VIconBtn
86092
- VTreeview: VTreeview
86093
- VTreeviewItem: VTreeviewItem
86094
- VTreeviewGroup: VTreeviewGroup
86095
86089
  VFileUpload: VFileUpload
86096
86090
  VFileUploadItem: VFileUploadItem
86091
+ VIconBtn: VIconBtn
86097
86092
  VTimePicker: VTimePicker
86098
86093
  VTimePickerClock: VTimePickerClock
86099
86094
  VTimePickerControls: VTimePickerControls
86095
+ VTreeview: VTreeview
86096
+ VTreeviewItem: VTreeviewItem
86097
+ VTreeviewGroup: VTreeviewGroup
86098
+ VPicker: VPicker
86099
+ VPickerTitle: VPickerTitle
86100
+ VDateInput: VDateInput
86101
+ VPullToRefresh: VPullToRefresh
86100
86102
  VStepperVertical: VStepperVertical
86101
86103
  VStepperVerticalItem: VStepperVerticalItem
86102
86104
  VStepperVerticalActions: VStepperVerticalActions
86103
- VDateInput: VDateInput
86104
- VPullToRefresh: VPullToRefresh
86105
86105
  }
86106
86106
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.10
2
+ * Vuetify v3.8.12
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -9987,7 +9987,7 @@ function useItems(props) {
9987
9987
  function transformItem$2(props, item) {
9988
9988
  const type = getPropertyFromItem(item, props.itemType, 'item');
9989
9989
  const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
9990
- const value = getPropertyFromItem(item, props.itemValue, undefined);
9990
+ const value = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemValue, undefined);
9991
9991
  const children = getPropertyFromItem(item, props.itemChildren);
9992
9992
  const itemProps = props.itemProps === true ? omit(item, ['children']) : getPropertyFromItem(item, props.itemProps);
9993
9993
  const _props = {
@@ -10466,7 +10466,7 @@ function connectedLocationStrategy(data, props, contentStyles) {
10466
10466
  });
10467
10467
  if (flipped.isFull) {
10468
10468
  const values = flipped.values();
10469
- if (deepEqual(values.at(-1), values.at(-3))) {
10469
+ if (deepEqual(values.at(-1), values.at(-3)) && !deepEqual(values.at(-1), values.at(-2))) {
10470
10470
  // Flipping is causing a container resize loop
10471
10471
  return;
10472
10472
  }
@@ -12232,11 +12232,7 @@ const VField = genericComponent()({
12232
12232
  default: slots.loader
12233
12233
  }), hasPrepend && createElementVNode("div", {
12234
12234
  "key": "prepend",
12235
- "class": "v-field__prepend-inner",
12236
- "onMousedown": e => {
12237
- e.preventDefault();
12238
- e.stopPropagation();
12239
- }
12235
+ "class": "v-field__prepend-inner"
12240
12236
  }, [props.prependInnerIcon && createVNode(InputIcon, {
12241
12237
  "key": "prepend-icon",
12242
12238
  "name": "prependInner",
@@ -12305,11 +12301,7 @@ const VField = genericComponent()({
12305
12301
  })]), [[vShow, props.dirty]])]
12306
12302
  }), hasAppend && createElementVNode("div", {
12307
12303
  "key": "append",
12308
- "class": "v-field__append-inner",
12309
- "onMousedown": e => {
12310
- e.preventDefault();
12311
- e.stopPropagation();
12312
- }
12304
+ "class": "v-field__append-inner"
12313
12305
  }, [slots['append-inner']?.(slotProps.value), props.appendInnerIcon && createVNode(InputIcon, {
12314
12306
  "key": "append-icon",
12315
12307
  "name": "appendInner",
@@ -12420,7 +12412,7 @@ const VTextField = genericComponent()({
12420
12412
  if (!isFocused.value) focus();
12421
12413
  nextTick(() => {
12422
12414
  if (inputRef.value !== document.activeElement) {
12423
- inputRef.value?.focus();
12415
+ nextTick(() => inputRef.value?.focus());
12424
12416
  }
12425
12417
  });
12426
12418
  }
@@ -12754,7 +12746,7 @@ function useVirtual(props, items) {
12754
12746
  raf = requestAnimationFrame(_calculateVisibleItems);
12755
12747
  }
12756
12748
  function _calculateVisibleItems() {
12757
- if (!containerRef.value || !viewportHeight.value) return;
12749
+ if (!containerRef.value || !viewportHeight.value || !itemHeight.value) return;
12758
12750
  const scrollTop = lastScrollTop - markerOffset;
12759
12751
  const direction = Math.sign(scrollVelocity);
12760
12752
  const startPx = Math.max(0, scrollTop - BUFFER_PX);
@@ -15503,6 +15495,7 @@ const VCarousel = genericComponent()({
15503
15495
  }) : createVNode(VBtn, mergeProps(item, props), null);
15504
15496
  })]
15505
15497
  })]), props.progress && createVNode(VProgressLinear, {
15498
+ "absolute": true,
15506
15499
  "class": "v-carousel__progress",
15507
15500
  "color": typeof props.progress === 'string' ? props.progress : undefined,
15508
15501
  "modelValue": (group.getItemIndex(model.value) + 1) / group.items.value.length * 100
@@ -17585,7 +17578,7 @@ function format(value, formatString, locale, formats) {
17585
17578
  case 'fullDate':
17586
17579
  options = {
17587
17580
  year: 'numeric',
17588
- month: 'long',
17581
+ month: 'short',
17589
17582
  day: 'numeric'
17590
17583
  };
17591
17584
  break;
@@ -19573,7 +19566,8 @@ function sortItems(items, sortByItems, locale, options) {
19573
19566
 
19574
19567
  // Dates should be compared numerically
19575
19568
  if (sortA instanceof Date && sortB instanceof Date) {
19576
- return sortA.getTime() - sortB.getTime();
19569
+ sortA = sortA.getTime();
19570
+ sortB = sortB.getTime();
19577
19571
  }
19578
19572
  [sortA, sortB] = [sortA, sortB].map(s => s != null ? s.toString().toLocaleLowerCase() : s);
19579
19573
  if (sortA !== sortB) {
@@ -20297,7 +20291,6 @@ const VDataTableColumn = defineFunctionalComponent({
20297
20291
  } = _ref;
20298
20292
  const Tag = props.tag ?? 'td';
20299
20293
  return createVNode(Tag, {
20300
- "tabindex": "0",
20301
20294
  "class": normalizeClass(['v-data-table__td', {
20302
20295
  'v-data-table-column--fixed': props.fixed,
20303
20296
  'v-data-table-column--last-fixed': props.lastFixed,
@@ -20698,14 +20691,14 @@ const VDataTableHeaders = genericComponent()({
20698
20691
  },
20699
20692
  "colspan": column.colspan,
20700
20693
  "rowspan": column.rowspan,
20701
- "onClick": column.sortable ? () => toggleSort(column) : undefined,
20702
20694
  "fixed": column.fixed,
20703
20695
  "nowrap": column.nowrap,
20704
20696
  "lastFixed": column.lastFixed,
20705
- "noPadding": noPadding
20706
- }, headerProps, {
20707
- "onKeydown": event => column.sortable && handleEnterKeyPress(event, column)
20708
- }), {
20697
+ "noPadding": noPadding,
20698
+ "tabindex": column.sortable ? 0 : undefined,
20699
+ "onClick": column.sortable ? () => toggleSort(column) : undefined,
20700
+ "onKeydown": column.sortable ? event => handleEnterKeyPress(event, column) : undefined
20701
+ }, headerProps), {
20709
20702
  default: () => {
20710
20703
  const columnSlotName = `header.${column.key}`;
20711
20704
  const columnSlotProps = {
@@ -22381,10 +22374,9 @@ function useCalendar(props) {
22381
22374
  const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value));
22382
22375
  return adapter.setMonth(date, value);
22383
22376
  }, v => adapter.getMonth(v));
22384
- const weekDays = computed(() => {
22377
+ const weekdayLabels = computed(() => {
22385
22378
  const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
22386
- // Always generate all days, regardless of props.weekdays
22387
- return [0, 1, 2, 3, 4, 5, 6].map(day => (day + firstDayOfWeek) % 7);
22379
+ return adapter.getWeekdays(props.firstDayOfWeek).filter((_, i) => props.weekdays.includes((i + firstDayOfWeek) % 7));
22388
22380
  });
22389
22381
  const weeksInMonth = computed(() => {
22390
22382
  const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
@@ -22408,13 +22400,14 @@ function useCalendar(props) {
22408
22400
  });
22409
22401
  function genDays(days, today) {
22410
22402
  return days.filter(date => {
22411
- return weekDays.value.includes(adapter.toJsDate(date).getDay());
22403
+ return props.weekdays.includes(adapter.toJsDate(date).getDay());
22412
22404
  }).map((date, index) => {
22413
22405
  const isoDate = adapter.toISO(date);
22414
22406
  const isAdjacent = !adapter.isSameMonth(date, month.value);
22415
22407
  const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value));
22416
22408
  const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value));
22417
22409
  const isSame = adapter.isSameDay(date, month.value);
22410
+ const weekdaysCount = props.weekdays.length;
22418
22411
  return {
22419
22412
  date,
22420
22413
  formatted: adapter.format(date, 'keyboardDate'),
@@ -22426,8 +22419,8 @@ function useCalendar(props) {
22426
22419
  isSelected: model.value.some(value => adapter.isSameDay(date, value)),
22427
22420
  isStart,
22428
22421
  isToday: adapter.isSameDay(date, today),
22429
- isWeekEnd: index % 7 === 6,
22430
- isWeekStart: index % 7 === 0,
22422
+ isWeekEnd: index % weekdaysCount === weekdaysCount - 1,
22423
+ isWeekStart: index % weekdaysCount === 0,
22431
22424
  isoDate,
22432
22425
  localized: adapter.format(date, 'dayOfMonth'),
22433
22426
  month: adapter.getMonth(date),
@@ -22465,7 +22458,7 @@ function useCalendar(props) {
22465
22458
  if (typeof props.allowedDates === 'function') {
22466
22459
  return !props.allowedDates(date);
22467
22460
  }
22468
- return !props.weekdays.includes(adapter.toJsDate(date).getDay());
22461
+ return false;
22469
22462
  }
22470
22463
  return {
22471
22464
  displayValue,
@@ -22474,7 +22467,7 @@ function useCalendar(props) {
22474
22467
  genDays,
22475
22468
  model,
22476
22469
  weeksInMonth,
22477
- weekDays,
22470
+ weekdayLabels,
22478
22471
  weekNumbers
22479
22472
  };
22480
22473
  }
@@ -22513,7 +22506,8 @@ const VDatePickerMonth = genericComponent()({
22513
22506
  const {
22514
22507
  daysInMonth,
22515
22508
  model,
22516
- weekNumbers
22509
+ weekNumbers,
22510
+ weekdayLabels
22517
22511
  } = useCalendar(props);
22518
22512
  const adapter = useDate();
22519
22513
  const rangeStart = shallowRef();
@@ -22585,7 +22579,10 @@ const VDatePickerMonth = genericComponent()({
22585
22579
  }
22586
22580
  }
22587
22581
  useRender(() => createElementVNode("div", {
22588
- "class": "v-date-picker-month"
22582
+ "class": "v-date-picker-month",
22583
+ "style": {
22584
+ '--v-date-picker-days-in-week': props.weekdays.length
22585
+ }
22589
22586
  }, [props.showWeek && createElementVNode("div", {
22590
22587
  "key": "weeks",
22591
22588
  "class": "v-date-picker-month__weeks"
@@ -22601,7 +22598,7 @@ const VDatePickerMonth = genericComponent()({
22601
22598
  "ref": daysRef,
22602
22599
  "key": daysInMonth.value[0].date?.toString(),
22603
22600
  "class": "v-date-picker-month__days"
22604
- }, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => createElementVNode("div", {
22601
+ }, [!props.hideWeekdays && weekdayLabels.value.map(weekDay => createElementVNode("div", {
22605
22602
  "class": normalizeClass(['v-date-picker-month__day', 'v-date-picker-month__weekday'])
22606
22603
  }, [weekDay])), daysInMonth.value.map((item, i) => {
22607
22604
  const slotProps = {
@@ -25203,6 +25200,8 @@ function useHold(_ref) {
25203
25200
  function holdStart(value) {
25204
25201
  holdStop();
25205
25202
  tick(value);
25203
+ window.addEventListener('pointerup', holdStop);
25204
+ document.addEventListener('blur', holdStop);
25206
25205
  timeout = window.setTimeout(() => {
25207
25206
  interval = window.setInterval(() => tick(value), HOLD_REPEAT);
25208
25207
  }, HOLD_DELAY);
@@ -25210,6 +25209,8 @@ function useHold(_ref) {
25210
25209
  function holdStop() {
25211
25210
  window.clearTimeout(timeout);
25212
25211
  window.clearInterval(interval);
25212
+ window.removeEventListener('pointerup', holdStop);
25213
+ document.removeEventListener('blur', holdStop);
25213
25214
  }
25214
25215
  function tick(value) {
25215
25216
  toggleUpDown(value === 'up');
@@ -25321,7 +25322,7 @@ const VNumberInput = genericComponent()({
25321
25322
  onClick: onControlClick,
25322
25323
  onPointerup: onControlMouseup,
25323
25324
  onPointerdown: onUpControlMousedown,
25324
- onPointercancel: onControlPointerCancel
25325
+ onPointercancel: onControlMouseup
25325
25326
  }
25326
25327
  };
25327
25328
  const decrementSlotProps = {
@@ -25329,7 +25330,7 @@ const VNumberInput = genericComponent()({
25329
25330
  onClick: onControlClick,
25330
25331
  onPointerup: onControlMouseup,
25331
25332
  onPointerdown: onDownControlMousedown,
25332
- onPointercancel: onControlPointerCancel
25333
+ onPointercancel: onControlMouseup
25333
25334
  }
25334
25335
  };
25335
25336
  watch(() => props.precision, () => formatInputValue());
@@ -25409,7 +25410,6 @@ const VNumberInput = genericComponent()({
25409
25410
  const el = e.currentTarget;
25410
25411
  el?.releasePointerCapture(e.pointerId);
25411
25412
  e.preventDefault();
25412
- e.stopPropagation();
25413
25413
  holdStop();
25414
25414
  }
25415
25415
  function onUpControlMousedown(e) {
@@ -25426,11 +25426,6 @@ const VNumberInput = genericComponent()({
25426
25426
  e.stopPropagation();
25427
25427
  holdStart('down');
25428
25428
  }
25429
- function onControlPointerCancel(e) {
25430
- const el = e.currentTarget;
25431
- el?.releasePointerCapture(e.pointerId);
25432
- holdStop();
25433
- }
25434
25429
  function clampModel() {
25435
25430
  if (controlsDisabled.value) return;
25436
25431
  if (!vTextFieldRef.value) return;
@@ -25480,7 +25475,7 @@ const VNumberInput = genericComponent()({
25480
25475
  "onClick": onControlClick,
25481
25476
  "onPointerdown": onUpControlMousedown,
25482
25477
  "onPointerup": onControlMouseup,
25483
- "onPointercancel": onControlPointerCancel,
25478
+ "onPointercancel": onControlMouseup,
25484
25479
  "size": controlNodeSize.value,
25485
25480
  "tabindex": "-1"
25486
25481
  }, null) : createVNode(VDefaultsProvider, {
@@ -25510,7 +25505,7 @@ const VNumberInput = genericComponent()({
25510
25505
  "onClick": onControlClick,
25511
25506
  "onPointerdown": onDownControlMousedown,
25512
25507
  "onPointerup": onControlMouseup,
25513
- "onPointercancel": onControlPointerCancel,
25508
+ "onPointercancel": onControlMouseup,
25514
25509
  "size": controlNodeSize.value,
25515
25510
  "tabindex": "-1"
25516
25511
  }, null) : createVNode(VDefaultsProvider, {
@@ -25657,19 +25652,21 @@ const VOtpInput = genericComponent()({
25657
25652
  const contentRef = ref();
25658
25653
  const inputRef = ref([]);
25659
25654
  const current = computed(() => inputRef.value[focusIndex.value]);
25660
- const intersectScope = effectScope();
25661
- intersectScope.run(() => {
25662
- const {
25663
- intersectionRef,
25664
- isIntersecting
25665
- } = useIntersectionObserver();
25666
- watch(isIntersecting, v => {
25667
- if (!v) return;
25668
- intersectionRef.value?.focus();
25669
- intersectScope.stop();
25670
- });
25671
- watchEffect(() => {
25672
- intersectionRef.value = inputRef.value[0];
25655
+ useToggleScope(() => props.autofocus, () => {
25656
+ const intersectScope = effectScope();
25657
+ intersectScope.run(() => {
25658
+ const {
25659
+ intersectionRef,
25660
+ isIntersecting
25661
+ } = useIntersectionObserver();
25662
+ watchEffect(() => {
25663
+ intersectionRef.value = inputRef.value[0];
25664
+ });
25665
+ watch(isIntersecting, v => {
25666
+ if (!v) return;
25667
+ intersectionRef.value?.focus();
25668
+ intersectScope.stop();
25669
+ });
25673
25670
  });
25674
25671
  });
25675
25672
  function onInput() {
@@ -29508,7 +29505,7 @@ function createVuetify$1() {
29508
29505
  };
29509
29506
  });
29510
29507
  }
29511
- const version$1 = "3.8.10";
29508
+ const version$1 = "3.8.12";
29512
29509
  createVuetify$1.version = version$1;
29513
29510
 
29514
29511
  // Vue's inject() can only be used in setup
@@ -29533,7 +29530,7 @@ const createVuetify = function () {
29533
29530
  ...options
29534
29531
  });
29535
29532
  };
29536
- const version = "3.8.10";
29533
+ const version = "3.8.12";
29537
29534
  createVuetify.version = version;
29538
29535
 
29539
29536
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };