vuetify 3.4.10 → 3.4.11

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 +5 -5
  2. package/dist/json/importMap.json +154 -154
  3. package/dist/json/web-types.json +2511 -2489
  4. package/dist/vuetify-labs.css +2293 -2287
  5. package/dist/vuetify-labs.d.ts +1116 -15
  6. package/dist/vuetify-labs.esm.js +166 -157
  7. package/dist/vuetify-labs.esm.js.map +1 -1
  8. package/dist/vuetify-labs.js +166 -157
  9. package/dist/vuetify-labs.min.css +2 -2
  10. package/dist/vuetify.css +548 -542
  11. package/dist/vuetify.d.ts +1162 -61
  12. package/dist/vuetify.esm.js +166 -157
  13. package/dist/vuetify.esm.js.map +1 -1
  14. package/dist/vuetify.js +166 -157
  15. package/dist/vuetify.js.map +1 -1
  16. package/dist/vuetify.min.css +2 -2
  17. package/dist/vuetify.min.js +755 -758
  18. package/dist/vuetify.min.js.map +1 -1
  19. package/lib/components/VBtn/VBtn.mjs +3 -1
  20. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  21. package/lib/components/VBtn/index.d.mts +21 -5
  22. package/lib/components/VCarousel/index.d.mts +5 -5
  23. package/lib/components/VDataIterator/VDataIterator.mjs +2 -1
  24. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  25. package/lib/components/VDataIterator/index.d.mts +6 -0
  26. package/lib/components/VDataTable/VDataTable.mjs +2 -1
  27. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  28. package/lib/components/VDataTable/VDataTableFooter.css +9 -4
  29. package/lib/components/VDataTable/VDataTableFooter.sass +9 -4
  30. package/lib/components/VDataTable/_variables.scss +5 -0
  31. package/lib/components/VDataTable/composables/paginate.mjs +6 -2
  32. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  33. package/lib/components/VDataTable/index.d.mts +6 -0
  34. package/lib/components/VDatePicker/VDatePicker.mjs +1 -1
  35. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  36. package/lib/components/VList/VListItem.css +1 -0
  37. package/lib/components/VList/VListItem.sass +1 -0
  38. package/lib/components/VList/_variables.scss +1 -0
  39. package/lib/components/VOverlay/locationStrategies.mjs +1 -3
  40. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  41. package/lib/components/VPagination/VPagination.mjs +10 -10
  42. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  43. package/lib/components/VPagination/index.d.mts +2 -2
  44. package/lib/components/VSelectionControl/VSelectionControl.mjs +6 -3
  45. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  46. package/lib/components/VSlider/VSliderThumb.mjs +4 -3
  47. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  48. package/lib/components/VTabs/VTab.mjs +6 -6
  49. package/lib/components/VTabs/VTab.mjs.map +1 -1
  50. package/lib/components/VTabs/index.d.mts +1102 -3
  51. package/lib/components/VWindow/VWindow.mjs +2 -2
  52. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  53. package/lib/components/VWindow/index.d.mts +1 -1
  54. package/lib/components/index.d.mts +1116 -15
  55. package/lib/composables/calendar.mjs +1 -1
  56. package/lib/composables/calendar.mjs.map +1 -1
  57. package/lib/composables/date/adapters/vuetify.mjs +1 -2
  58. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  59. package/lib/composables/date/date.mjs +4 -4
  60. package/lib/composables/date/date.mjs.map +1 -1
  61. package/lib/composables/locale.mjs +46 -2
  62. package/lib/composables/locale.mjs.map +1 -1
  63. package/lib/entry-bundler.mjs +1 -1
  64. package/lib/framework.mjs +1 -1
  65. package/lib/index.d.mts +46 -46
  66. package/lib/locale/index.d.mts +1 -45
  67. package/lib/locale/index.mjs +0 -43
  68. package/lib/locale/index.mjs.map +1 -1
  69. package/lib/locale/sk.mjs +22 -22
  70. package/lib/locale/sk.mjs.map +1 -1
  71. package/lib/styles/main.css +78 -78
  72. package/lib/styles/settings/_utilities.scss +1 -0
  73. package/lib/util/helpers.mjs +1 -43
  74. package/lib/util/helpers.mjs.map +1 -1
  75. package/package.json +3 -2
  76. package/lib/components/VDatePicker/utils.mjs +0 -69
  77. package/lib/components/VDatePicker/utils.mjs.map +0 -1
  78. package/lib/util/dateTimeUtils.mjs +0 -115
  79. package/lib/util/dateTimeUtils.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.4.10
2
+ * Vuetify v3.4.11
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -1846,6 +1846,79 @@ function createLayout(props) {
1846
1846
  };
1847
1847
  }
1848
1848
 
1849
+ // Utilities
1850
+
1851
+ // Types
1852
+
1853
+ function useToggleScope(source, fn) {
1854
+ let scope;
1855
+ function start() {
1856
+ scope = effectScope();
1857
+ scope.run(() => fn.length ? fn(() => {
1858
+ scope?.stop();
1859
+ start();
1860
+ }) : fn());
1861
+ }
1862
+ watch(source, active => {
1863
+ if (active && !scope) {
1864
+ start();
1865
+ } else if (!active) {
1866
+ scope?.stop();
1867
+ scope = undefined;
1868
+ }
1869
+ }, {
1870
+ immediate: true
1871
+ });
1872
+ onScopeDispose(() => {
1873
+ scope?.stop();
1874
+ });
1875
+ }
1876
+
1877
+ // Composables
1878
+
1879
+ // Types
1880
+
1881
+ // Composables
1882
+ function useProxiedModel(props, prop, defaultValue) {
1883
+ let transformIn = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : v => v;
1884
+ let transformOut = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : v => v;
1885
+ const vm = getCurrentInstance('useProxiedModel');
1886
+ const internal = ref(props[prop] !== undefined ? props[prop] : defaultValue);
1887
+ const kebabProp = toKebabCase(prop);
1888
+ const checkKebab = kebabProp !== prop;
1889
+ const isControlled = checkKebab ? computed(() => {
1890
+ void props[prop];
1891
+ return !!((vm.vnode.props?.hasOwnProperty(prop) || vm.vnode.props?.hasOwnProperty(kebabProp)) && (vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`) || vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`)));
1892
+ }) : computed(() => {
1893
+ void props[prop];
1894
+ return !!(vm.vnode.props?.hasOwnProperty(prop) && vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`));
1895
+ });
1896
+ useToggleScope(() => !isControlled.value, () => {
1897
+ watch(() => props[prop], val => {
1898
+ internal.value = val;
1899
+ });
1900
+ });
1901
+ const model = computed({
1902
+ get() {
1903
+ const externalValue = props[prop];
1904
+ return transformIn(isControlled.value ? externalValue : internal.value);
1905
+ },
1906
+ set(internalValue) {
1907
+ const newValue = transformOut(internalValue);
1908
+ const value = toRaw(isControlled.value ? props[prop] : internal.value);
1909
+ if (value === newValue || transformIn(value) === internalValue) {
1910
+ return;
1911
+ }
1912
+ internal.value = newValue;
1913
+ vm?.emit(`update:${prop}`, newValue);
1914
+ }
1915
+ });
1916
+ Object.defineProperty(model, 'externalValue', {
1917
+ get: () => isControlled.value ? props[prop] : internal.value
1918
+ });
1919
+ return model;
1920
+ }
1921
+
1849
1922
  var en = {
1850
1923
  badge: 'Badge',
1851
1924
  open: 'Open',
@@ -1947,123 +2020,6 @@ var en = {
1947
2020
  }
1948
2021
  };
1949
2022
 
1950
- const defaultRtl = {
1951
- af: false,
1952
- ar: true,
1953
- bg: false,
1954
- ca: false,
1955
- ckb: false,
1956
- cs: false,
1957
- de: false,
1958
- el: false,
1959
- en: false,
1960
- es: false,
1961
- et: false,
1962
- fa: true,
1963
- fi: false,
1964
- fr: false,
1965
- hr: false,
1966
- hu: false,
1967
- he: true,
1968
- id: false,
1969
- it: false,
1970
- ja: false,
1971
- ko: false,
1972
- lv: false,
1973
- lt: false,
1974
- nl: false,
1975
- no: false,
1976
- pl: false,
1977
- pt: false,
1978
- ro: false,
1979
- ru: false,
1980
- sk: false,
1981
- sl: false,
1982
- srCyrl: false,
1983
- srLatn: false,
1984
- sv: false,
1985
- th: false,
1986
- tr: false,
1987
- az: false,
1988
- uk: false,
1989
- vi: false,
1990
- zhHans: false,
1991
- zhHant: false
1992
- };
1993
-
1994
- // Utilities
1995
-
1996
- // Types
1997
-
1998
- function useToggleScope(source, fn) {
1999
- let scope;
2000
- function start() {
2001
- scope = effectScope();
2002
- scope.run(() => fn.length ? fn(() => {
2003
- scope?.stop();
2004
- start();
2005
- }) : fn());
2006
- }
2007
- watch(source, active => {
2008
- if (active && !scope) {
2009
- start();
2010
- } else if (!active) {
2011
- scope?.stop();
2012
- scope = undefined;
2013
- }
2014
- }, {
2015
- immediate: true
2016
- });
2017
- onScopeDispose(() => {
2018
- scope?.stop();
2019
- });
2020
- }
2021
-
2022
- // Composables
2023
-
2024
- // Types
2025
-
2026
- // Composables
2027
- function useProxiedModel(props, prop, defaultValue) {
2028
- let transformIn = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : v => v;
2029
- let transformOut = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : v => v;
2030
- const vm = getCurrentInstance('useProxiedModel');
2031
- const internal = ref(props[prop] !== undefined ? props[prop] : defaultValue);
2032
- const kebabProp = toKebabCase(prop);
2033
- const checkKebab = kebabProp !== prop;
2034
- const isControlled = checkKebab ? computed(() => {
2035
- void props[prop];
2036
- return !!((vm.vnode.props?.hasOwnProperty(prop) || vm.vnode.props?.hasOwnProperty(kebabProp)) && (vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`) || vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`)));
2037
- }) : computed(() => {
2038
- void props[prop];
2039
- return !!(vm.vnode.props?.hasOwnProperty(prop) && vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`));
2040
- });
2041
- useToggleScope(() => !isControlled.value, () => {
2042
- watch(() => props[prop], val => {
2043
- internal.value = val;
2044
- });
2045
- });
2046
- const model = computed({
2047
- get() {
2048
- const externalValue = props[prop];
2049
- return transformIn(isControlled.value ? externalValue : internal.value);
2050
- },
2051
- set(internalValue) {
2052
- const newValue = transformOut(internalValue);
2053
- const value = toRaw(isControlled.value ? props[prop] : internal.value);
2054
- if (value === newValue || transformIn(value) === internalValue) {
2055
- return;
2056
- }
2057
- internal.value = newValue;
2058
- vm?.emit(`update:${prop}`, newValue);
2059
- }
2060
- });
2061
- Object.defineProperty(model, 'externalValue', {
2062
- get: () => isControlled.value ? props[prop] : internal.value
2063
- });
2064
- return model;
2065
- }
2066
-
2067
2023
  // Composables
2068
2024
 
2069
2025
  // Types
@@ -2194,8 +2150,53 @@ function provideLocale(props) {
2194
2150
  provide(LocaleSymbol, data);
2195
2151
  return data;
2196
2152
  }
2153
+ function genDefaults$1() {
2154
+ return {
2155
+ af: false,
2156
+ ar: true,
2157
+ bg: false,
2158
+ ca: false,
2159
+ ckb: false,
2160
+ cs: false,
2161
+ de: false,
2162
+ el: false,
2163
+ en: false,
2164
+ es: false,
2165
+ et: false,
2166
+ fa: true,
2167
+ fi: false,
2168
+ fr: false,
2169
+ hr: false,
2170
+ hu: false,
2171
+ he: true,
2172
+ id: false,
2173
+ it: false,
2174
+ ja: false,
2175
+ ko: false,
2176
+ lv: false,
2177
+ lt: false,
2178
+ nl: false,
2179
+ no: false,
2180
+ pl: false,
2181
+ pt: false,
2182
+ ro: false,
2183
+ ru: false,
2184
+ sk: false,
2185
+ sl: false,
2186
+ srCyrl: false,
2187
+ srLatn: false,
2188
+ sv: false,
2189
+ th: false,
2190
+ tr: false,
2191
+ az: false,
2192
+ uk: false,
2193
+ vi: false,
2194
+ zhHans: false,
2195
+ zhHant: false
2196
+ };
2197
+ }
2197
2198
  function createRtl(i18n, options) {
2198
- const rtl = ref(options?.rtl ?? defaultRtl);
2199
+ const rtl = ref(options?.rtl ?? genDefaults$1());
2199
2200
  const isRtl = computed(() => rtl.value[i18n.current.value] ?? false);
2200
2201
  return {
2201
2202
  isRtl,
@@ -5587,7 +5588,9 @@ const VBtn = genericComponent()({
5587
5588
  }, null)])]
5588
5589
  }), [[resolveDirective("ripple"), !isDisabled.value && props.ripple, null]]);
5589
5590
  });
5590
- return {};
5591
+ return {
5592
+ group
5593
+ };
5591
5594
  }
5592
5595
  });
5593
5596
 
@@ -6091,16 +6094,18 @@ const VSelectionControl = genericComponent()({
6091
6094
  trueValue
6092
6095
  } = useSelectionControl(props);
6093
6096
  const uid = getUid();
6094
- const id = computed(() => props.id || `input-${uid}`);
6095
6097
  const isFocused = shallowRef(false);
6096
6098
  const isFocusVisible = shallowRef(false);
6097
6099
  const input = ref();
6100
+ const id = computed(() => props.id || `input-${uid}`);
6101
+ const isInteractive = computed(() => !props.disabled && !props.readonly);
6098
6102
  group?.onForceUpdate(() => {
6099
6103
  if (input.value) {
6100
6104
  input.value.checked = model.value;
6101
6105
  }
6102
6106
  });
6103
6107
  function onFocus(e) {
6108
+ if (!isInteractive.value) return;
6104
6109
  isFocused.value = true;
6105
6110
  if (matchesSelector(e.target, ':focus-visible') !== false) {
6106
6111
  isFocusVisible.value = true;
@@ -6111,6 +6116,7 @@ const VSelectionControl = genericComponent()({
6111
6116
  isFocusVisible.value = false;
6112
6117
  }
6113
6118
  function onInput(e) {
6119
+ if (!isInteractive.value) return;
6114
6120
  if (props.readonly && group) {
6115
6121
  nextTick(() => group.forceUpdate());
6116
6122
  }
@@ -6127,12 +6133,12 @@ const VSelectionControl = genericComponent()({
6127
6133
  const inputNode = createVNode("input", mergeProps({
6128
6134
  "ref": input,
6129
6135
  "checked": model.value,
6130
- "disabled": !!(props.readonly || props.disabled),
6136
+ "disabled": !!props.disabled,
6131
6137
  "id": id.value,
6132
6138
  "onBlur": onBlur,
6133
6139
  "onFocus": onFocus,
6134
6140
  "onInput": onInput,
6135
- "aria-disabled": !!(props.readonly || props.disabled),
6141
+ "aria-disabled": !!props.disabled,
6136
6142
  "type": props.type,
6137
6143
  "value": trueValue.value,
6138
6144
  "name": props.name,
@@ -8707,9 +8713,7 @@ function connectedLocationStrategy(data, props, contentStyles) {
8707
8713
  // eslint-disable-next-line max-statements
8708
8714
  function updateLocation() {
8709
8715
  observe = false;
8710
- requestAnimationFrame(() => {
8711
- requestAnimationFrame(() => observe = true);
8712
- });
8716
+ requestAnimationFrame(() => observe = true);
8713
8717
  if (!data.target.value || !data.contentEl.value) return;
8714
8718
  const targetBox = getTargetBox(data.target.value);
8715
8719
  const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);
@@ -13357,7 +13361,7 @@ const VWindow = genericComponent()({
13357
13361
  icon: isRtl.value ? props.nextIcon : props.prevIcon,
13358
13362
  class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,
13359
13363
  onClick: group.prev,
13360
- ariaLabel: t('$vuetify.carousel.prev')
13364
+ 'aria-label': t('$vuetify.carousel.prev')
13361
13365
  };
13362
13366
  arrows.push(canMoveBack.value ? slots.prev ? slots.prev({
13363
13367
  props: prevProps
@@ -13366,7 +13370,7 @@ const VWindow = genericComponent()({
13366
13370
  icon: isRtl.value ? props.prevIcon : props.nextIcon,
13367
13371
  class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,
13368
13372
  onClick: group.next,
13369
- ariaLabel: t('$vuetify.carousel.next')
13373
+ 'aria-label': t('$vuetify.carousel.next')
13370
13374
  };
13371
13375
  arrows.push(canMoveForward.value ? slots.next ? slots.next({
13372
13376
  props: nextProps
@@ -14460,6 +14464,10 @@ const VSliderThumb = genericComponent()({
14460
14464
  decimals,
14461
14465
  indexFromEnd
14462
14466
  } = slider;
14467
+ const elevationProps = computed(() => !disabled.value ? elevation.value : undefined);
14468
+ const {
14469
+ elevationClasses
14470
+ } = useElevation(elevationProps);
14463
14471
  const {
14464
14472
  textColorClasses,
14465
14473
  textColorStyles
@@ -14504,9 +14512,6 @@ const VSliderThumb = genericComponent()({
14504
14512
  }
14505
14513
  useRender(() => {
14506
14514
  const positionPercentage = convertToUnit(indexFromEnd.value ? 100 - props.position : props.position, '%');
14507
- const {
14508
- elevationClasses
14509
- } = useElevation(computed(() => !disabled.value ? elevation.value : undefined));
14510
14515
  return createVNode("div", {
14511
14516
  "class": ['v-slider-thumb', {
14512
14517
  'v-slider-thumb--focused': props.focused,
@@ -16256,6 +16261,7 @@ function usePagination() {
16256
16261
  return data;
16257
16262
  }
16258
16263
  function usePaginatedItems(options) {
16264
+ const vm = getCurrentInstance('usePaginatedItems');
16259
16265
  const {
16260
16266
  items,
16261
16267
  startIndex,
@@ -16266,6 +16272,9 @@ function usePaginatedItems(options) {
16266
16272
  if (itemsPerPage.value <= 0) return items.value;
16267
16273
  return items.value.slice(startIndex.value, stopIndex.value);
16268
16274
  });
16275
+ watch(paginatedItems, val => {
16276
+ vm.emit('update:currentItems', val);
16277
+ });
16269
16278
  return {
16270
16279
  paginatedItems
16271
16280
  };
@@ -16692,10 +16701,9 @@ function getWeekdays(locale) {
16692
16701
  return createRange(7).map(i => {
16693
16702
  const weekday = new Date(sundayJanuarySecond2000);
16694
16703
  weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
16695
- const formattedDay = new Intl.DateTimeFormat(locale, {
16704
+ return new Intl.DateTimeFormat(locale, {
16696
16705
  weekday: 'short'
16697
16706
  }).format(weekday);
16698
- return formattedDay.charAt(0).toUpperCase() + formattedDay.slice(1);
16699
16707
  });
16700
16708
  }
16701
16709
  function format(value, formatString, locale, formats) {
@@ -17097,13 +17105,13 @@ function useDate() {
17097
17105
  // https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
17098
17106
  function getWeek(adapter, value) {
17099
17107
  const date = adapter.toJsDate(value);
17100
- let year = adapter.getYear(date);
17101
- let d1w1 = adapter.startOfYear(date);
17108
+ let year = date.getFullYear();
17109
+ let d1w1 = new Date(year, 0, 1);
17102
17110
  if (date < d1w1) {
17103
17111
  year = year - 1;
17104
- d1w1 = adapter.startOfYear(adapter.setYear(date, year));
17112
+ d1w1 = new Date(year, 0, 1);
17105
17113
  } else {
17106
- const tv = adapter.startOfYear(adapter.setYear(date, year + 1));
17114
+ const tv = new Date(year + 1, 0, 1);
17107
17115
  if (date >= tv) {
17108
17116
  year = year + 1;
17109
17117
  d1w1 = tv;
@@ -17309,7 +17317,8 @@ const VDataIterator = genericComponent()({
17309
17317
  'update:itemsPerPage': value => true,
17310
17318
  'update:sortBy': value => true,
17311
17319
  'update:options': value => true,
17312
- 'update:expanded': value => true
17320
+ 'update:expanded': value => true,
17321
+ 'update:currentItems': value => true
17313
17322
  },
17314
17323
  setup(props, _ref) {
17315
17324
  let {
@@ -17660,8 +17669,8 @@ const VPagination = genericComponent()({
17660
17669
  icon: true,
17661
17670
  disabled: !!props.disabled || +props.length < 2,
17662
17671
  color: isActive ? props.activeColor : props.color,
17663
- ariaCurrent: isActive,
17664
- ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
17672
+ 'aria-current': isActive,
17673
+ 'aria-label': t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
17665
17674
  onClick: e => setValue(e, item)
17666
17675
  }
17667
17676
  };
@@ -17676,29 +17685,29 @@ const VPagination = genericComponent()({
17676
17685
  icon: isRtl.value ? props.lastIcon : props.firstIcon,
17677
17686
  onClick: e => setValue(e, start.value, 'first'),
17678
17687
  disabled: prevDisabled,
17679
- ariaLabel: t(props.firstAriaLabel),
17680
- ariaDisabled: prevDisabled
17688
+ 'aria-label': t(props.firstAriaLabel),
17689
+ 'aria-disabled': prevDisabled
17681
17690
  } : undefined,
17682
17691
  prev: {
17683
17692
  icon: isRtl.value ? props.nextIcon : props.prevIcon,
17684
17693
  onClick: e => setValue(e, page.value - 1, 'prev'),
17685
17694
  disabled: prevDisabled,
17686
- ariaLabel: t(props.previousAriaLabel),
17687
- ariaDisabled: prevDisabled
17695
+ 'aria-label': t(props.previousAriaLabel),
17696
+ 'aria-disabled': prevDisabled
17688
17697
  },
17689
17698
  next: {
17690
17699
  icon: isRtl.value ? props.prevIcon : props.nextIcon,
17691
17700
  onClick: e => setValue(e, page.value + 1, 'next'),
17692
17701
  disabled: nextDisabled,
17693
- ariaLabel: t(props.nextAriaLabel),
17694
- ariaDisabled: nextDisabled
17702
+ 'aria-label': t(props.nextAriaLabel),
17703
+ 'aria-disabled': nextDisabled
17695
17704
  },
17696
17705
  last: props.showFirstLastPage ? {
17697
17706
  icon: isRtl.value ? props.firstIcon : props.lastIcon,
17698
17707
  onClick: e => setValue(e, start.value + length.value - 1, 'last'),
17699
17708
  disabled: nextDisabled,
17700
- ariaLabel: t(props.lastAriaLabel),
17701
- ariaDisabled: nextDisabled
17709
+ 'aria-label': t(props.lastAriaLabel),
17710
+ 'aria-disabled': nextDisabled
17702
17711
  } : undefined
17703
17712
  };
17704
17713
  });
@@ -18764,7 +18773,8 @@ const VDataTable = genericComponent()({
18764
18773
  'update:sortBy': value => true,
18765
18774
  'update:options': value => true,
18766
18775
  'update:groupBy': value => true,
18767
- 'update:expanded': value => true
18776
+ 'update:expanded': value => true,
18777
+ 'update:currentItems': value => true
18768
18778
  },
18769
18779
  setup(props, _ref) {
18770
18780
  let {
@@ -19818,7 +19828,7 @@ function useCalendar(props) {
19818
19828
  });
19819
19829
  function genDays(days, today) {
19820
19830
  return days.filter(date => {
19821
- return props.weekdays.includes(date.getDay());
19831
+ return props.weekdays.includes(adapter.toJsDate(date).getDay());
19822
19832
  }).map((date, index) => {
19823
19833
  const isoDate = adapter.toISO(date);
19824
19834
  const isAdjacent = !adapter.isSameMonth(date, month.value);
@@ -20266,7 +20276,7 @@ const VDatePicker = genericComponent()({
20266
20276
  return props.multiple && model.value.length > 1 ? t('$vuetify.datePicker.itemsSelected', model.value.length) : model.value[0] && adapter.isValid(model.value[0]) ? adapter.format(model.value[0], 'normalDateWithWeekday') : t(props.header);
20267
20277
  });
20268
20278
  const text = computed(() => {
20269
- return adapter.format(adapter.setYear(adapter.setMonth(adapter.date(), month.value), year.value), 'monthAndYear');
20279
+ return adapter.format(adapter.setYear(adapter.setMonth(adapter.startOfMonth(adapter.date()), month.value), year.value), 'monthAndYear');
20270
20280
  });
20271
20281
  // const headerIcon = computed(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)
20272
20282
  const headerTransition = computed(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`);
@@ -24216,15 +24226,14 @@ const VTab = genericComponent()({
24216
24226
  textColorClasses: sliderColorClasses,
24217
24227
  textColorStyles: sliderColorStyles
24218
24228
  } = useTextColor(props, 'sliderColor');
24219
- const isHorizontal = computed(() => props.direction === 'horizontal');
24220
- const isSelected = shallowRef(false);
24221
24229
  const rootEl = ref();
24222
24230
  const sliderEl = ref();
24231
+ const isHorizontal = computed(() => props.direction === 'horizontal');
24232
+ const isSelected = computed(() => rootEl.value?.group?.isSelected.value ?? false);
24223
24233
  function updateSlider(_ref2) {
24224
24234
  let {
24225
24235
  value
24226
24236
  } = _ref2;
24227
- isSelected.value = value;
24228
24237
  if (value) {
24229
24238
  const prevEl = rootEl.value?.$el.parentElement?.querySelector('.v-tab--selected .v-tab__slider');
24230
24239
  const nextEl = sliderEl.value;
@@ -24278,7 +24287,7 @@ const VTab = genericComponent()({
24278
24287
  }, null)])
24279
24288
  });
24280
24289
  });
24281
- return {};
24290
+ return forwardRefs({}, rootEl);
24282
24291
  }
24283
24292
  });
24284
24293
 
@@ -25391,7 +25400,7 @@ function createVuetify$1() {
25391
25400
  date
25392
25401
  };
25393
25402
  }
25394
- const version$1 = "3.4.10";
25403
+ const version$1 = "3.4.11";
25395
25404
  createVuetify$1.version = version$1;
25396
25405
 
25397
25406
  // Vue's inject() can only be used in setup
@@ -25416,7 +25425,7 @@ const createVuetify = function () {
25416
25425
  ...options
25417
25426
  });
25418
25427
  };
25419
- const version = "3.4.10";
25428
+ const version = "3.4.11";
25420
25429
  createVuetify.version = version;
25421
25430
 
25422
25431
  export { components, createVuetify, directives, useDate, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };