@vuetify/nightly 3.8.1-master.2025-04-07 → 3.8.1-master.2025-04-08

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 (43) hide show
  1. package/CHANGELOG.md +12 -3
  2. package/dist/json/attributes.json +2796 -2796
  3. package/dist/json/importMap-labs.json +30 -30
  4. package/dist/json/importMap.json +132 -132
  5. package/dist/json/web-types.json +5227 -5227
  6. package/dist/vuetify-labs.cjs +107 -185
  7. package/dist/vuetify-labs.css +3264 -3264
  8. package/dist/vuetify-labs.d.ts +57 -55
  9. package/dist/vuetify-labs.esm.js +107 -185
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +107 -185
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +107 -185
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +2167 -2167
  16. package/dist/vuetify.d.ts +57 -55
  17. package/dist/vuetify.esm.js +107 -185
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +107 -185
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +277 -263
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VDataTable/VDataTable.css +1 -1
  25. package/lib/components/VDataTable/VDataTable.sass +1 -1
  26. package/lib/composables/calendar.js +2 -2
  27. package/lib/composables/calendar.js.map +1 -1
  28. package/lib/composables/date/DateAdapter.d.ts +1 -0
  29. package/lib/composables/date/DateAdapter.js.map +1 -1
  30. package/lib/composables/date/adapters/vuetify.d.ts +1 -0
  31. package/lib/composables/date/adapters/vuetify.js +101 -160
  32. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  33. package/lib/composables/date/date.d.ts +1 -1
  34. package/lib/composables/date/date.js +0 -20
  35. package/lib/composables/date/date.js.map +1 -1
  36. package/lib/composables/filter.js +2 -1
  37. package/lib/composables/filter.js.map +1 -1
  38. package/lib/entry-bundler.d.ts +1 -0
  39. package/lib/entry-bundler.js +1 -1
  40. package/lib/framework.d.ts +57 -55
  41. package/lib/framework.js +1 -1
  42. package/lib/labs/entry-bundler.d.ts +1 -0
  43. package/package.json +4 -4
@@ -39,6 +39,7 @@ interface DateAdapter<T = unknown> {
39
39
  getDiff(date: T, comparing: T | string, unit?: string): number;
40
40
  getWeekArray(date: T, firstDayOfWeek?: number | string): T[][];
41
41
  getWeekdays(firstDayOfWeek?: number | string): string[];
42
+ getWeek(date: T, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number;
42
43
  getMonth(date: T): number;
43
44
  setMonth(date: T, month: number): T;
44
45
  getDate(date: T): number;
@@ -96728,6 +96729,7 @@ declare const createVuetify: (options?: VuetifyOptions) => {
96728
96729
  getDiff: (date: unknown, comparing: unknown, unit?: string) => number;
96729
96730
  getWeekArray: (date: unknown, firstDayOfWeek?: number | string) => unknown[][];
96730
96731
  getWeekdays: (firstDayOfWeek?: number | string) => string[];
96732
+ getWeek: (date: unknown, firstDayOfWeek?: number | string, firstWeekMinSize?: number) => number;
96731
96733
  getMonth: (date: unknown) => number;
96732
96734
  setMonth: (date: unknown, month: number) => unknown;
96733
96735
  getDate: (date: unknown) => number;
@@ -96784,28 +96786,24 @@ declare module 'vue' {
96784
96786
  VAppBar: VAppBar
96785
96787
  VAppBarNavIcon: VAppBarNavIcon
96786
96788
  VAppBarTitle: VAppBarTitle
96789
+ VBadge: VBadge
96787
96790
  VAlert: VAlert
96788
96791
  VAlertTitle: VAlertTitle
96789
- VBadge: VBadge
96792
+ VAutocomplete: VAutocomplete
96790
96793
  VAvatar: VAvatar
96791
- VBottomSheet: VBottomSheet
96792
- VBanner: VBanner
96793
- VBannerActions: VBannerActions
96794
- VBannerText: VBannerText
96794
+ VBottomNavigation: VBottomNavigation
96795
96795
  VBreadcrumbs: VBreadcrumbs
96796
96796
  VBreadcrumbsItem: VBreadcrumbsItem
96797
96797
  VBreadcrumbsDivider: VBreadcrumbsDivider
96798
- VBottomNavigation: VBottomNavigation
96799
- VBtnToggle: VBtnToggle
96800
96798
  VBtn: VBtn
96801
- VAutocomplete: VAutocomplete
96799
+ VBanner: VBanner
96800
+ VBannerActions: VBannerActions
96801
+ VBannerText: VBannerText
96802
+ VBottomSheet: VBottomSheet
96803
+ VBtnToggle: VBtnToggle
96804
+ VBtnGroup: VBtnGroup
96802
96805
  VCarousel: VCarousel
96803
96806
  VCarouselItem: VCarouselItem
96804
- VBtnGroup: VBtnGroup
96805
- VCheckbox: VCheckbox
96806
- VCheckboxBtn: VCheckboxBtn
96807
- VCode: VCode
96808
- VCombobox: VCombobox
96809
96807
  VCard: VCard
96810
96808
  VCardActions: VCardActions
96811
96809
  VCardItem: VCardItem
@@ -96813,45 +96811,50 @@ declare module 'vue' {
96813
96811
  VCardText: VCardText
96814
96812
  VCardTitle: VCardTitle
96815
96813
  VChipGroup: VChipGroup
96816
- VDataTable: VDataTable
96817
- VDataTableHeaders: VDataTableHeaders
96818
- VDataTableFooter: VDataTableFooter
96819
- VDataTableRows: VDataTableRows
96820
- VDataTableRow: VDataTableRow
96821
- VDataTableVirtual: VDataTableVirtual
96822
- VDataTableServer: VDataTableServer
96814
+ VCheckbox: VCheckbox
96815
+ VCheckboxBtn: VCheckboxBtn
96816
+ VChip: VChip
96823
96817
  VColorPicker: VColorPicker
96818
+ VCode: VCode
96824
96819
  VCounter: VCounter
96825
- VChip: VChip
96826
- VDivider: VDivider
96820
+ VCombobox: VCombobox
96821
+ VDialog: VDialog
96827
96822
  VDatePicker: VDatePicker
96828
96823
  VDatePickerControls: VDatePickerControls
96829
96824
  VDatePickerHeader: VDatePickerHeader
96830
96825
  VDatePickerMonth: VDatePickerMonth
96831
96826
  VDatePickerMonths: VDatePickerMonths
96832
96827
  VDatePickerYears: VDatePickerYears
96828
+ VDivider: VDivider
96829
+ VDataTable: VDataTable
96830
+ VDataTableHeaders: VDataTableHeaders
96831
+ VDataTableFooter: VDataTableFooter
96832
+ VDataTableRows: VDataTableRows
96833
+ VDataTableRow: VDataTableRow
96834
+ VDataTableVirtual: VDataTableVirtual
96835
+ VDataTableServer: VDataTableServer
96833
96836
  VFab: VFab
96834
- VDialog: VDialog
96835
96837
  VEmptyState: VEmptyState
96836
- VFooter: VFooter
96837
96838
  VField: VField
96838
96839
  VFieldLabel: VFieldLabel
96840
+ VFileInput: VFileInput
96839
96841
  VExpansionPanels: VExpansionPanels
96840
96842
  VExpansionPanel: VExpansionPanel
96841
96843
  VExpansionPanelText: VExpansionPanelText
96842
96844
  VExpansionPanelTitle: VExpansionPanelTitle
96843
- VFileInput: VFileInput
96845
+ VFooter: VFooter
96846
+ VImg: VImg
96844
96847
  VIcon: VIcon
96845
96848
  VComponentIcon: VComponentIcon
96846
96849
  VSvgIcon: VSvgIcon
96847
96850
  VLigatureIcon: VLigatureIcon
96848
96851
  VClassIcon: VClassIcon
96849
- VImg: VImg
96850
- VInput: VInput
96852
+ VInfiniteScroll: VInfiniteScroll
96853
+ VKbd: VKbd
96851
96854
  VItemGroup: VItemGroup
96852
96855
  VItem: VItem
96853
- VInfiniteScroll: VInfiniteScroll
96854
- VLabel: VLabel
96856
+ VInput: VInput
96857
+ VMain: VMain
96855
96858
  VList: VList
96856
96859
  VListGroup: VListGroup
96857
96860
  VListImg: VListImg
@@ -96861,49 +96864,48 @@ declare module 'vue' {
96861
96864
  VListItemSubtitle: VListItemSubtitle
96862
96865
  VListItemTitle: VListItemTitle
96863
96866
  VListSubheader: VListSubheader
96864
- VKbd: VKbd
96865
- VMain: VMain
96866
- VMessages: VMessages
96867
- VNavigationDrawer: VNavigationDrawer
96867
+ VLabel: VLabel
96868
96868
  VMenu: VMenu
96869
+ VNavigationDrawer: VNavigationDrawer
96869
96870
  VNumberInput: VNumberInput
96870
- VOtpInput: VOtpInput
96871
+ VMessages: VMessages
96871
96872
  VOverlay: VOverlay
96872
- VPagination: VPagination
96873
+ VOtpInput: VOtpInput
96873
96874
  VProgressLinear: VProgressLinear
96874
- VRating: VRating
96875
+ VPagination: VPagination
96875
96876
  VRadioGroup: VRadioGroup
96876
96877
  VProgressCircular: VProgressCircular
96878
+ VRating: VRating
96877
96879
  VSelect: VSelect
96878
96880
  VSelectionControl: VSelectionControl
96881
+ VSheet: VSheet
96879
96882
  VSkeletonLoader: VSkeletonLoader
96880
- VSelectionControlGroup: VSelectionControlGroup
96881
96883
  VSlideGroup: VSlideGroup
96882
96884
  VSlideGroupItem: VSlideGroupItem
96883
- VSheet: VSheet
96885
+ VSelectionControlGroup: VSelectionControlGroup
96886
+ VSlider: VSlider
96887
+ VSnackbar: VSnackbar
96884
96888
  VStepper: VStepper
96885
96889
  VStepperActions: VStepperActions
96886
96890
  VStepperHeader: VStepperHeader
96887
96891
  VStepperItem: VStepperItem
96888
96892
  VStepperWindow: VStepperWindow
96889
96893
  VStepperWindowItem: VStepperWindowItem
96890
- VSnackbar: VSnackbar
96891
- VSlider: VSlider
96892
- VTextarea: VTextarea
96893
96894
  VTab: VTab
96894
96895
  VTabs: VTabs
96895
96896
  VTabsWindow: VTabsWindow
96896
96897
  VTabsWindowItem: VTabsWindowItem
96897
96898
  VSwitch: VSwitch
96898
- VSystemBar: VSystemBar
96899
- VTextField: VTextField
96900
96899
  VTable: VTable
96900
+ VTextField: VTextField
96901
+ VSystemBar: VSystemBar
96902
+ VTextarea: VTextarea
96903
+ VTooltip: VTooltip
96901
96904
  VTimeline: VTimeline
96902
96905
  VTimelineItem: VTimelineItem
96903
96906
  VToolbar: VToolbar
96904
96907
  VToolbarTitle: VToolbarTitle
96905
96908
  VToolbarItems: VToolbarItems
96906
- VTooltip: VTooltip
96907
96909
  VWindow: VWindow
96908
96910
  VWindowItem: VWindowItem
96909
96911
  VConfirmEdit: VConfirmEdit
@@ -96915,9 +96917,9 @@ declare module 'vue' {
96915
96917
  VRow: VRow
96916
96918
  VSpacer: VSpacer
96917
96919
  VHover: VHover
96920
+ VLazy: VLazy
96918
96921
  VLayout: VLayout
96919
96922
  VLayoutItem: VLayoutItem
96920
- VLazy: VLazy
96921
96923
  VLocaleProvider: VLocaleProvider
96922
96924
  VNoSsr: VNoSsr
96923
96925
  VParallax: VParallax
@@ -96948,24 +96950,24 @@ declare module 'vue' {
96948
96950
  VDialogTransition: VDialogTransition
96949
96951
  VFileUpload: VFileUpload
96950
96952
  VFileUploadItem: VFileUploadItem
96951
- VCalendar: VCalendar
96952
- VCalendarDay: VCalendarDay
96953
- VCalendarHeader: VCalendarHeader
96954
- VCalendarInterval: VCalendarInterval
96955
- VCalendarIntervalEvent: VCalendarIntervalEvent
96956
- VCalendarMonthDay: VCalendarMonthDay
96957
- VTreeview: VTreeview
96958
- VTreeviewItem: VTreeviewItem
96959
- VTreeviewGroup: VTreeviewGroup
96960
96953
  VPicker: VPicker
96961
96954
  VPickerTitle: VPickerTitle
96955
+ VIconBtn: VIconBtn
96962
96956
  VStepperVertical: VStepperVertical
96963
96957
  VStepperVerticalItem: VStepperVerticalItem
96964
96958
  VStepperVerticalActions: VStepperVerticalActions
96959
+ VTreeview: VTreeview
96960
+ VTreeviewItem: VTreeviewItem
96961
+ VTreeviewGroup: VTreeviewGroup
96965
96962
  VTimePicker: VTimePicker
96966
96963
  VTimePickerClock: VTimePickerClock
96967
96964
  VTimePickerControls: VTimePickerControls
96968
- VIconBtn: VIconBtn
96965
+ VCalendar: VCalendar
96966
+ VCalendarDay: VCalendarDay
96967
+ VCalendarHeader: VCalendarHeader
96968
+ VCalendarInterval: VCalendarInterval
96969
+ VCalendarIntervalEvent: VCalendarIntervalEvent
96970
+ VCalendarMonthDay: VCalendarMonthDay
96969
96971
  VDateInput: VDateInput
96970
96972
  VPullToRefresh: VPullToRefresh
96971
96973
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.1-master.2025-04-07
2
+ * Vuetify v3.8.1-master.2025-04-08
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -13050,6 +13050,7 @@ const VSelect = genericComponent()({
13050
13050
  // Composables
13051
13051
  const defaultFilter = (value, query, item) => {
13052
13052
  if (value == null || query == null) return -1;
13053
+ if (!query.length) return 0;
13053
13054
  value = value.toString().toLocaleLowerCase();
13054
13055
  query = query.toString().toLocaleLowerCase();
13055
13056
  const result = [];
@@ -13062,7 +13063,7 @@ const defaultFilter = (value, query, item) => {
13062
13063
  };
13063
13064
  function normaliseMatch(match, query) {
13064
13065
  if (match == null || typeof match === 'boolean' || match === -1) return;
13065
- if (typeof match === 'number') return [[match, query.length]];
13066
+ if (typeof match === 'number') return [[match, match + query.length]];
13066
13067
  if (Array.isArray(match[0])) return match;
13067
13068
  return [match];
13068
13069
  }
@@ -16977,165 +16978,81 @@ const VPicker = genericComponent()({
16977
16978
 
16978
16979
  // Types
16979
16980
 
16980
- const firstDay = {
16981
- '001': 1,
16982
- AD: 1,
16983
- AE: 6,
16984
- AF: 6,
16985
- AG: 0,
16986
- AI: 1,
16987
- AL: 1,
16988
- AM: 1,
16989
- AN: 1,
16990
- AR: 1,
16991
- AS: 0,
16992
- AT: 1,
16993
- AU: 1,
16994
- AX: 1,
16995
- AZ: 1,
16996
- BA: 1,
16997
- BD: 0,
16998
- BE: 1,
16999
- BG: 1,
17000
- BH: 6,
17001
- BM: 1,
17002
- BN: 1,
17003
- BR: 0,
17004
- BS: 0,
17005
- BT: 0,
17006
- BW: 0,
17007
- BY: 1,
17008
- BZ: 0,
17009
- CA: 0,
17010
- CH: 1,
17011
- CL: 1,
17012
- CM: 1,
17013
- CN: 1,
17014
- CO: 0,
17015
- CR: 1,
17016
- CY: 1,
17017
- CZ: 1,
17018
- DE: 1,
17019
- DJ: 6,
17020
- DK: 1,
17021
- DM: 0,
17022
- DO: 0,
17023
- DZ: 6,
17024
- EC: 1,
17025
- EE: 1,
17026
- EG: 6,
17027
- ES: 1,
17028
- ET: 0,
17029
- FI: 1,
17030
- FJ: 1,
17031
- FO: 1,
17032
- FR: 1,
17033
- GB: 1,
17034
- 'GB-alt-variant': 0,
17035
- GE: 1,
17036
- GF: 1,
17037
- GP: 1,
17038
- GR: 1,
17039
- GT: 0,
17040
- GU: 0,
17041
- HK: 0,
17042
- HN: 0,
17043
- HR: 1,
17044
- HU: 1,
17045
- ID: 0,
17046
- IE: 1,
17047
- IL: 0,
17048
- IN: 0,
17049
- IQ: 6,
17050
- IR: 6,
17051
- IS: 1,
17052
- IT: 1,
17053
- JM: 0,
17054
- JO: 6,
17055
- JP: 0,
17056
- KE: 0,
17057
- KG: 1,
17058
- KH: 0,
17059
- KR: 0,
17060
- KW: 6,
17061
- KZ: 1,
17062
- LA: 0,
17063
- LB: 1,
17064
- LI: 1,
17065
- LK: 1,
17066
- LT: 1,
17067
- LU: 1,
17068
- LV: 1,
17069
- LY: 6,
17070
- MC: 1,
17071
- MD: 1,
17072
- ME: 1,
17073
- MH: 0,
17074
- MK: 1,
17075
- MM: 0,
17076
- MN: 1,
17077
- MO: 0,
17078
- MQ: 1,
17079
- MT: 0,
17080
- MV: 5,
17081
- MX: 0,
17082
- MY: 1,
17083
- MZ: 0,
17084
- NI: 0,
17085
- NL: 1,
17086
- NO: 1,
17087
- NP: 0,
17088
- NZ: 1,
17089
- OM: 6,
17090
- PA: 0,
17091
- PE: 0,
17092
- PH: 0,
17093
- PK: 0,
17094
- PL: 1,
17095
- PR: 0,
17096
- PT: 0,
17097
- PY: 0,
17098
- QA: 6,
17099
- RE: 1,
17100
- RO: 1,
17101
- RS: 1,
17102
- RU: 1,
17103
- SA: 0,
17104
- SD: 6,
17105
- SE: 1,
17106
- SG: 0,
17107
- SI: 1,
17108
- SK: 1,
17109
- SM: 1,
17110
- SV: 0,
17111
- SY: 6,
17112
- TH: 0,
17113
- TJ: 1,
17114
- TM: 1,
17115
- TR: 1,
17116
- TT: 0,
17117
- TW: 0,
17118
- UA: 1,
17119
- UM: 0,
17120
- US: 0,
17121
- UY: 1,
17122
- UZ: 1,
17123
- VA: 1,
17124
- VE: 0,
17125
- VI: 0,
17126
- VN: 1,
17127
- WS: 0,
17128
- XK: 1,
17129
- YE: 0,
17130
- ZA: 0,
17131
- ZW: 0
17132
- };
16981
+ function weekInfo(locale) {
16982
+ // https://simplelocalize.io/data/locales/
16983
+ // then `new Intl.Locale(...).getWeekInfo()`
16984
+ const code = locale.slice(-2).toUpperCase();
16985
+ switch (true) {
16986
+ case locale === 'GB-alt-variant':
16987
+ {
16988
+ return {
16989
+ firstDay: 0,
16990
+ firstWeekSize: 4
16991
+ };
16992
+ }
16993
+ case locale === '001':
16994
+ {
16995
+ return {
16996
+ firstDay: 1,
16997
+ firstWeekSize: 1
16998
+ };
16999
+ }
17000
+ case `AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE
17001
+ KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US
17002
+ VE VI WS YE ZA ZW`.includes(code):
17003
+ {
17004
+ return {
17005
+ firstDay: 0,
17006
+ firstWeekSize: 1
17007
+ };
17008
+ }
17009
+ case `AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV
17010
+ MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(code):
17011
+ {
17012
+ return {
17013
+ firstDay: 1,
17014
+ firstWeekSize: 1
17015
+ };
17016
+ }
17017
+ case `AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS
17018
+ IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(code):
17019
+ {
17020
+ return {
17021
+ firstDay: 1,
17022
+ firstWeekSize: 4
17023
+ };
17024
+ }
17025
+ case `AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY`.includes(code):
17026
+ {
17027
+ return {
17028
+ firstDay: 6,
17029
+ firstWeekSize: 1
17030
+ };
17031
+ }
17032
+ case code === 'MV':
17033
+ {
17034
+ return {
17035
+ firstDay: 5,
17036
+ firstWeekSize: 1
17037
+ };
17038
+ }
17039
+ case code === 'PT':
17040
+ {
17041
+ return {
17042
+ firstDay: 0,
17043
+ firstWeekSize: 4
17044
+ };
17045
+ }
17046
+ default:
17047
+ return null;
17048
+ }
17049
+ }
17133
17050
  function getWeekArray(date, locale, firstDayOfWeek) {
17134
17051
  const weeks = [];
17135
17052
  let currentWeek = [];
17136
17053
  const firstDayOfMonth = startOfMonth(date);
17137
17054
  const lastDayOfMonth = endOfMonth(date);
17138
- const first = firstDayOfWeek ?? firstDay[locale.slice(-2).toUpperCase()] ?? 0;
17055
+ const first = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
17139
17056
  const firstDayWeekIndex = (firstDayOfMonth.getDay() - first + 7) % 7;
17140
17057
  const lastDayWeekIndex = (lastDayOfMonth.getDay() - first + 7) % 7;
17141
17058
  for (let i = 0; i < firstDayWeekIndex; i++) {
@@ -17166,7 +17083,7 @@ function getWeekArray(date, locale, firstDayOfWeek) {
17166
17083
  return weeks;
17167
17084
  }
17168
17085
  function startOfWeek(date, locale, firstDayOfWeek) {
17169
- const day = firstDayOfWeek ?? firstDay[locale.slice(-2).toUpperCase()] ?? 0;
17086
+ const day = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
17170
17087
  const d = new Date(date);
17171
17088
  while (d.getDay() !== day) {
17172
17089
  d.setDate(d.getDate() - 1);
@@ -17175,7 +17092,7 @@ function startOfWeek(date, locale, firstDayOfWeek) {
17175
17092
  }
17176
17093
  function endOfWeek(date, locale) {
17177
17094
  const d = new Date(date);
17178
- const lastDay = ((firstDay[locale.slice(-2).toUpperCase()] ?? 0) + 6) % 7;
17095
+ const lastDay = ((weekInfo(locale)?.firstDay ?? 0) + 6) % 7;
17179
17096
  while (d.getDay() !== lastDay) {
17180
17097
  d.setDate(d.getDate() + 1);
17181
17098
  }
@@ -17210,7 +17127,7 @@ function date(value) {
17210
17127
  }
17211
17128
  const sundayJanuarySecond2000 = new Date(2000, 0, 2);
17212
17129
  function getWeekdays(locale, firstDayOfWeek) {
17213
- const daysFromSunday = firstDayOfWeek ?? firstDay[locale.slice(-2).toUpperCase()] ?? 0;
17130
+ const daysFromSunday = firstDayOfWeek ?? weekInfo(locale)?.firstDay ?? 0;
17214
17131
  return createRange(7).map(i => {
17215
17132
  const weekday = new Date(sundayJanuarySecond2000);
17216
17133
  weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
@@ -17458,6 +17375,24 @@ function getYear(date) {
17458
17375
  function getMonth(date) {
17459
17376
  return date.getMonth();
17460
17377
  }
17378
+ function getWeek(date, locale, firstDayOfWeek, firstWeekMinSize) {
17379
+ const weekInfoFromLocale = weekInfo(locale);
17380
+ const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0;
17381
+ const minWeekSize = firstWeekMinSize ?? weekInfoFromLocale?.firstWeekSize ?? 1;
17382
+ function firstWeekSize(year) {
17383
+ const yearStart = new Date(year, 0, 1);
17384
+ return 7 - getDiff(yearStart, startOfWeek(yearStart, locale, weekStart), 'days');
17385
+ }
17386
+ let year = getYear(date);
17387
+ const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
17388
+ if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) {
17389
+ year++;
17390
+ }
17391
+ const yearStart = new Date(year, 0, 1);
17392
+ const size = firstWeekSize(year);
17393
+ const d1w1 = size >= minWeekSize ? addDays(yearStart, size - 7) : addDays(yearStart, size);
17394
+ return 1 + getDiff(date, d1w1, 'weeks');
17395
+ }
17461
17396
  function getDate(date) {
17462
17397
  return date.getDate();
17463
17398
  }
@@ -17597,10 +17532,12 @@ class VuetifyDateAdapter {
17597
17532
  return addMonths(date, amount);
17598
17533
  }
17599
17534
  getWeekArray(date, firstDayOfWeek) {
17600
- return getWeekArray(date, this.locale, firstDayOfWeek ? Number(firstDayOfWeek) : undefined);
17535
+ const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
17536
+ return getWeekArray(date, this.locale, firstDay);
17601
17537
  }
17602
17538
  startOfWeek(date, firstDayOfWeek) {
17603
- return startOfWeek(date, this.locale, firstDayOfWeek ? Number(firstDayOfWeek) : undefined);
17539
+ const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
17540
+ return startOfWeek(date, this.locale, firstDay);
17604
17541
  }
17605
17542
  endOfWeek(date) {
17606
17543
  return endOfWeek(date, this.locale);
@@ -17660,7 +17597,8 @@ class VuetifyDateAdapter {
17660
17597
  return getDiff(date, comparing, unit);
17661
17598
  }
17662
17599
  getWeekdays(firstDayOfWeek) {
17663
- return getWeekdays(this.locale, firstDayOfWeek ? Number(firstDayOfWeek) : undefined);
17600
+ const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
17601
+ return getWeekdays(this.locale, firstDay);
17664
17602
  }
17665
17603
  getYear(date) {
17666
17604
  return getYear(date);
@@ -17668,6 +17606,10 @@ class VuetifyDateAdapter {
17668
17606
  getMonth(date) {
17669
17607
  return getMonth(date);
17670
17608
  }
17609
+ getWeek(date, firstDayOfWeek, firstWeekMinSize) {
17610
+ const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
17611
+ return getWeek(date, this.locale, firstDay, firstWeekMinSize);
17612
+ }
17671
17613
  getDate(date) {
17672
17614
  return getDate(date);
17673
17615
  }
@@ -17771,26 +17713,6 @@ function useDate() {
17771
17713
  return createInstance(options, locale);
17772
17714
  }
17773
17715
 
17774
- // https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
17775
- function getWeek(adapter, value) {
17776
- const date = adapter.toJsDate(value);
17777
- let year = date.getFullYear();
17778
- let d1w1 = new Date(year, 0, 1);
17779
- if (date < d1w1) {
17780
- year = year - 1;
17781
- d1w1 = new Date(year, 0, 1);
17782
- } else {
17783
- const tv = new Date(year + 1, 0, 1);
17784
- if (date >= tv) {
17785
- year = year + 1;
17786
- d1w1 = tv;
17787
- }
17788
- }
17789
- const diffTime = Math.abs(date.getTime() - d1w1.getTime());
17790
- const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
17791
- return Math.floor(diffDays / 7) + 1;
17792
- }
17793
-
17794
17716
  // Types
17795
17717
 
17796
17718
  const makeVColorPickerProps = propsFactory({
@@ -22073,7 +21995,7 @@ function useCalendar(props) {
22073
21995
  });
22074
21996
  const weekNumbers = computed(() => {
22075
21997
  return weeksInMonth.value.map(week => {
22076
- return week.length ? getWeek(adapter, week[0]) : null;
21998
+ return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null;
22077
21999
  });
22078
22000
  });
22079
22001
  function isDisabled(value) {
@@ -31560,7 +31482,7 @@ function createVuetify$1() {
31560
31482
  };
31561
31483
  });
31562
31484
  }
31563
- const version$1 = "3.8.1-master.2025-04-07";
31485
+ const version$1 = "3.8.1-master.2025-04-08";
31564
31486
  createVuetify$1.version = version$1;
31565
31487
 
31566
31488
  // Vue's inject() can only be used in setup
@@ -31845,7 +31767,7 @@ var index = /*#__PURE__*/Object.freeze({
31845
31767
 
31846
31768
  /* eslint-disable local-rules/sort-imports */
31847
31769
 
31848
- const version = "3.8.1-master.2025-04-07";
31770
+ const version = "3.8.1-master.2025-04-08";
31849
31771
 
31850
31772
  /* eslint-disable local-rules/sort-imports */
31851
31773