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
  */
@@ -1856,6 +1856,79 @@
1856
1856
  };
1857
1857
  }
1858
1858
 
1859
+ // Utilities
1860
+
1861
+ // Types
1862
+
1863
+ function useToggleScope(source, fn) {
1864
+ let scope;
1865
+ function start() {
1866
+ scope = vue.effectScope();
1867
+ scope.run(() => fn.length ? fn(() => {
1868
+ scope?.stop();
1869
+ start();
1870
+ }) : fn());
1871
+ }
1872
+ vue.watch(source, active => {
1873
+ if (active && !scope) {
1874
+ start();
1875
+ } else if (!active) {
1876
+ scope?.stop();
1877
+ scope = undefined;
1878
+ }
1879
+ }, {
1880
+ immediate: true
1881
+ });
1882
+ vue.onScopeDispose(() => {
1883
+ scope?.stop();
1884
+ });
1885
+ }
1886
+
1887
+ // Composables
1888
+
1889
+ // Types
1890
+
1891
+ // Composables
1892
+ function useProxiedModel(props, prop, defaultValue) {
1893
+ let transformIn = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : v => v;
1894
+ let transformOut = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : v => v;
1895
+ const vm = getCurrentInstance('useProxiedModel');
1896
+ const internal = vue.ref(props[prop] !== undefined ? props[prop] : defaultValue);
1897
+ const kebabProp = toKebabCase(prop);
1898
+ const checkKebab = kebabProp !== prop;
1899
+ const isControlled = checkKebab ? vue.computed(() => {
1900
+ void props[prop];
1901
+ return !!((vm.vnode.props?.hasOwnProperty(prop) || vm.vnode.props?.hasOwnProperty(kebabProp)) && (vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`) || vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`)));
1902
+ }) : vue.computed(() => {
1903
+ void props[prop];
1904
+ return !!(vm.vnode.props?.hasOwnProperty(prop) && vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`));
1905
+ });
1906
+ useToggleScope(() => !isControlled.value, () => {
1907
+ vue.watch(() => props[prop], val => {
1908
+ internal.value = val;
1909
+ });
1910
+ });
1911
+ const model = vue.computed({
1912
+ get() {
1913
+ const externalValue = props[prop];
1914
+ return transformIn(isControlled.value ? externalValue : internal.value);
1915
+ },
1916
+ set(internalValue) {
1917
+ const newValue = transformOut(internalValue);
1918
+ const value = vue.toRaw(isControlled.value ? props[prop] : internal.value);
1919
+ if (value === newValue || transformIn(value) === internalValue) {
1920
+ return;
1921
+ }
1922
+ internal.value = newValue;
1923
+ vm?.emit(`update:${prop}`, newValue);
1924
+ }
1925
+ });
1926
+ Object.defineProperty(model, 'externalValue', {
1927
+ get: () => isControlled.value ? props[prop] : internal.value
1928
+ });
1929
+ return model;
1930
+ }
1931
+
1859
1932
  var en = {
1860
1933
  badge: 'Badge',
1861
1934
  open: 'Open',
@@ -1957,123 +2030,6 @@
1957
2030
  }
1958
2031
  };
1959
2032
 
1960
- const defaultRtl = {
1961
- af: false,
1962
- ar: true,
1963
- bg: false,
1964
- ca: false,
1965
- ckb: false,
1966
- cs: false,
1967
- de: false,
1968
- el: false,
1969
- en: false,
1970
- es: false,
1971
- et: false,
1972
- fa: true,
1973
- fi: false,
1974
- fr: false,
1975
- hr: false,
1976
- hu: false,
1977
- he: true,
1978
- id: false,
1979
- it: false,
1980
- ja: false,
1981
- ko: false,
1982
- lv: false,
1983
- lt: false,
1984
- nl: false,
1985
- no: false,
1986
- pl: false,
1987
- pt: false,
1988
- ro: false,
1989
- ru: false,
1990
- sk: false,
1991
- sl: false,
1992
- srCyrl: false,
1993
- srLatn: false,
1994
- sv: false,
1995
- th: false,
1996
- tr: false,
1997
- az: false,
1998
- uk: false,
1999
- vi: false,
2000
- zhHans: false,
2001
- zhHant: false
2002
- };
2003
-
2004
- // Utilities
2005
-
2006
- // Types
2007
-
2008
- function useToggleScope(source, fn) {
2009
- let scope;
2010
- function start() {
2011
- scope = vue.effectScope();
2012
- scope.run(() => fn.length ? fn(() => {
2013
- scope?.stop();
2014
- start();
2015
- }) : fn());
2016
- }
2017
- vue.watch(source, active => {
2018
- if (active && !scope) {
2019
- start();
2020
- } else if (!active) {
2021
- scope?.stop();
2022
- scope = undefined;
2023
- }
2024
- }, {
2025
- immediate: true
2026
- });
2027
- vue.onScopeDispose(() => {
2028
- scope?.stop();
2029
- });
2030
- }
2031
-
2032
- // Composables
2033
-
2034
- // Types
2035
-
2036
- // Composables
2037
- function useProxiedModel(props, prop, defaultValue) {
2038
- let transformIn = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : v => v;
2039
- let transformOut = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : v => v;
2040
- const vm = getCurrentInstance('useProxiedModel');
2041
- const internal = vue.ref(props[prop] !== undefined ? props[prop] : defaultValue);
2042
- const kebabProp = toKebabCase(prop);
2043
- const checkKebab = kebabProp !== prop;
2044
- const isControlled = checkKebab ? vue.computed(() => {
2045
- void props[prop];
2046
- return !!((vm.vnode.props?.hasOwnProperty(prop) || vm.vnode.props?.hasOwnProperty(kebabProp)) && (vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`) || vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`)));
2047
- }) : vue.computed(() => {
2048
- void props[prop];
2049
- return !!(vm.vnode.props?.hasOwnProperty(prop) && vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`));
2050
- });
2051
- useToggleScope(() => !isControlled.value, () => {
2052
- vue.watch(() => props[prop], val => {
2053
- internal.value = val;
2054
- });
2055
- });
2056
- const model = vue.computed({
2057
- get() {
2058
- const externalValue = props[prop];
2059
- return transformIn(isControlled.value ? externalValue : internal.value);
2060
- },
2061
- set(internalValue) {
2062
- const newValue = transformOut(internalValue);
2063
- const value = vue.toRaw(isControlled.value ? props[prop] : internal.value);
2064
- if (value === newValue || transformIn(value) === internalValue) {
2065
- return;
2066
- }
2067
- internal.value = newValue;
2068
- vm?.emit(`update:${prop}`, newValue);
2069
- }
2070
- });
2071
- Object.defineProperty(model, 'externalValue', {
2072
- get: () => isControlled.value ? props[prop] : internal.value
2073
- });
2074
- return model;
2075
- }
2076
-
2077
2033
  // Composables
2078
2034
 
2079
2035
  // Types
@@ -2204,8 +2160,53 @@
2204
2160
  vue.provide(LocaleSymbol, data);
2205
2161
  return data;
2206
2162
  }
2163
+ function genDefaults$1() {
2164
+ return {
2165
+ af: false,
2166
+ ar: true,
2167
+ bg: false,
2168
+ ca: false,
2169
+ ckb: false,
2170
+ cs: false,
2171
+ de: false,
2172
+ el: false,
2173
+ en: false,
2174
+ es: false,
2175
+ et: false,
2176
+ fa: true,
2177
+ fi: false,
2178
+ fr: false,
2179
+ hr: false,
2180
+ hu: false,
2181
+ he: true,
2182
+ id: false,
2183
+ it: false,
2184
+ ja: false,
2185
+ ko: false,
2186
+ lv: false,
2187
+ lt: false,
2188
+ nl: false,
2189
+ no: false,
2190
+ pl: false,
2191
+ pt: false,
2192
+ ro: false,
2193
+ ru: false,
2194
+ sk: false,
2195
+ sl: false,
2196
+ srCyrl: false,
2197
+ srLatn: false,
2198
+ sv: false,
2199
+ th: false,
2200
+ tr: false,
2201
+ az: false,
2202
+ uk: false,
2203
+ vi: false,
2204
+ zhHans: false,
2205
+ zhHant: false
2206
+ };
2207
+ }
2207
2208
  function createRtl(i18n, options) {
2208
- const rtl = vue.ref(options?.rtl ?? defaultRtl);
2209
+ const rtl = vue.ref(options?.rtl ?? genDefaults$1());
2209
2210
  const isRtl = vue.computed(() => rtl.value[i18n.current.value] ?? false);
2210
2211
  return {
2211
2212
  isRtl,
@@ -5597,7 +5598,9 @@
5597
5598
  }, null)])]
5598
5599
  }), [[vue.resolveDirective("ripple"), !isDisabled.value && props.ripple, null]]);
5599
5600
  });
5600
- return {};
5601
+ return {
5602
+ group
5603
+ };
5601
5604
  }
5602
5605
  });
5603
5606
 
@@ -6101,16 +6104,18 @@
6101
6104
  trueValue
6102
6105
  } = useSelectionControl(props);
6103
6106
  const uid = getUid();
6104
- const id = vue.computed(() => props.id || `input-${uid}`);
6105
6107
  const isFocused = vue.shallowRef(false);
6106
6108
  const isFocusVisible = vue.shallowRef(false);
6107
6109
  const input = vue.ref();
6110
+ const id = vue.computed(() => props.id || `input-${uid}`);
6111
+ const isInteractive = vue.computed(() => !props.disabled && !props.readonly);
6108
6112
  group?.onForceUpdate(() => {
6109
6113
  if (input.value) {
6110
6114
  input.value.checked = model.value;
6111
6115
  }
6112
6116
  });
6113
6117
  function onFocus(e) {
6118
+ if (!isInteractive.value) return;
6114
6119
  isFocused.value = true;
6115
6120
  if (matchesSelector(e.target, ':focus-visible') !== false) {
6116
6121
  isFocusVisible.value = true;
@@ -6121,6 +6126,7 @@
6121
6126
  isFocusVisible.value = false;
6122
6127
  }
6123
6128
  function onInput(e) {
6129
+ if (!isInteractive.value) return;
6124
6130
  if (props.readonly && group) {
6125
6131
  vue.nextTick(() => group.forceUpdate());
6126
6132
  }
@@ -6137,12 +6143,12 @@
6137
6143
  const inputNode = vue.createVNode("input", vue.mergeProps({
6138
6144
  "ref": input,
6139
6145
  "checked": model.value,
6140
- "disabled": !!(props.readonly || props.disabled),
6146
+ "disabled": !!props.disabled,
6141
6147
  "id": id.value,
6142
6148
  "onBlur": onBlur,
6143
6149
  "onFocus": onFocus,
6144
6150
  "onInput": onInput,
6145
- "aria-disabled": !!(props.readonly || props.disabled),
6151
+ "aria-disabled": !!props.disabled,
6146
6152
  "type": props.type,
6147
6153
  "value": trueValue.value,
6148
6154
  "name": props.name,
@@ -8717,9 +8723,7 @@
8717
8723
  // eslint-disable-next-line max-statements
8718
8724
  function updateLocation() {
8719
8725
  observe = false;
8720
- requestAnimationFrame(() => {
8721
- requestAnimationFrame(() => observe = true);
8722
- });
8726
+ requestAnimationFrame(() => observe = true);
8723
8727
  if (!data.target.value || !data.contentEl.value) return;
8724
8728
  const targetBox = getTargetBox(data.target.value);
8725
8729
  const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);
@@ -13367,7 +13371,7 @@
13367
13371
  icon: isRtl.value ? props.nextIcon : props.prevIcon,
13368
13372
  class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,
13369
13373
  onClick: group.prev,
13370
- ariaLabel: t('$vuetify.carousel.prev')
13374
+ 'aria-label': t('$vuetify.carousel.prev')
13371
13375
  };
13372
13376
  arrows.push(canMoveBack.value ? slots.prev ? slots.prev({
13373
13377
  props: prevProps
@@ -13376,7 +13380,7 @@
13376
13380
  icon: isRtl.value ? props.prevIcon : props.nextIcon,
13377
13381
  class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,
13378
13382
  onClick: group.next,
13379
- ariaLabel: t('$vuetify.carousel.next')
13383
+ 'aria-label': t('$vuetify.carousel.next')
13380
13384
  };
13381
13385
  arrows.push(canMoveForward.value ? slots.next ? slots.next({
13382
13386
  props: nextProps
@@ -14470,6 +14474,10 @@
14470
14474
  decimals,
14471
14475
  indexFromEnd
14472
14476
  } = slider;
14477
+ const elevationProps = vue.computed(() => !disabled.value ? elevation.value : undefined);
14478
+ const {
14479
+ elevationClasses
14480
+ } = useElevation(elevationProps);
14473
14481
  const {
14474
14482
  textColorClasses,
14475
14483
  textColorStyles
@@ -14514,9 +14522,6 @@
14514
14522
  }
14515
14523
  useRender(() => {
14516
14524
  const positionPercentage = convertToUnit(indexFromEnd.value ? 100 - props.position : props.position, '%');
14517
- const {
14518
- elevationClasses
14519
- } = useElevation(vue.computed(() => !disabled.value ? elevation.value : undefined));
14520
14525
  return vue.createVNode("div", {
14521
14526
  "class": ['v-slider-thumb', {
14522
14527
  'v-slider-thumb--focused': props.focused,
@@ -16266,6 +16271,7 @@
16266
16271
  return data;
16267
16272
  }
16268
16273
  function usePaginatedItems(options) {
16274
+ const vm = getCurrentInstance('usePaginatedItems');
16269
16275
  const {
16270
16276
  items,
16271
16277
  startIndex,
@@ -16276,6 +16282,9 @@
16276
16282
  if (itemsPerPage.value <= 0) return items.value;
16277
16283
  return items.value.slice(startIndex.value, stopIndex.value);
16278
16284
  });
16285
+ vue.watch(paginatedItems, val => {
16286
+ vm.emit('update:currentItems', val);
16287
+ });
16279
16288
  return {
16280
16289
  paginatedItems
16281
16290
  };
@@ -16702,10 +16711,9 @@
16702
16711
  return createRange(7).map(i => {
16703
16712
  const weekday = new Date(sundayJanuarySecond2000);
16704
16713
  weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
16705
- const formattedDay = new Intl.DateTimeFormat(locale, {
16714
+ return new Intl.DateTimeFormat(locale, {
16706
16715
  weekday: 'short'
16707
16716
  }).format(weekday);
16708
- return formattedDay.charAt(0).toUpperCase() + formattedDay.slice(1);
16709
16717
  });
16710
16718
  }
16711
16719
  function format(value, formatString, locale, formats) {
@@ -17107,13 +17115,13 @@
17107
17115
  // https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
17108
17116
  function getWeek(adapter, value) {
17109
17117
  const date = adapter.toJsDate(value);
17110
- let year = adapter.getYear(date);
17111
- let d1w1 = adapter.startOfYear(date);
17118
+ let year = date.getFullYear();
17119
+ let d1w1 = new Date(year, 0, 1);
17112
17120
  if (date < d1w1) {
17113
17121
  year = year - 1;
17114
- d1w1 = adapter.startOfYear(adapter.setYear(date, year));
17122
+ d1w1 = new Date(year, 0, 1);
17115
17123
  } else {
17116
- const tv = adapter.startOfYear(adapter.setYear(date, year + 1));
17124
+ const tv = new Date(year + 1, 0, 1);
17117
17125
  if (date >= tv) {
17118
17126
  year = year + 1;
17119
17127
  d1w1 = tv;
@@ -17319,7 +17327,8 @@
17319
17327
  'update:itemsPerPage': value => true,
17320
17328
  'update:sortBy': value => true,
17321
17329
  'update:options': value => true,
17322
- 'update:expanded': value => true
17330
+ 'update:expanded': value => true,
17331
+ 'update:currentItems': value => true
17323
17332
  },
17324
17333
  setup(props, _ref) {
17325
17334
  let {
@@ -17670,8 +17679,8 @@
17670
17679
  icon: true,
17671
17680
  disabled: !!props.disabled || +props.length < 2,
17672
17681
  color: isActive ? props.activeColor : props.color,
17673
- ariaCurrent: isActive,
17674
- ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
17682
+ 'aria-current': isActive,
17683
+ 'aria-label': t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
17675
17684
  onClick: e => setValue(e, item)
17676
17685
  }
17677
17686
  };
@@ -17686,29 +17695,29 @@
17686
17695
  icon: isRtl.value ? props.lastIcon : props.firstIcon,
17687
17696
  onClick: e => setValue(e, start.value, 'first'),
17688
17697
  disabled: prevDisabled,
17689
- ariaLabel: t(props.firstAriaLabel),
17690
- ariaDisabled: prevDisabled
17698
+ 'aria-label': t(props.firstAriaLabel),
17699
+ 'aria-disabled': prevDisabled
17691
17700
  } : undefined,
17692
17701
  prev: {
17693
17702
  icon: isRtl.value ? props.nextIcon : props.prevIcon,
17694
17703
  onClick: e => setValue(e, page.value - 1, 'prev'),
17695
17704
  disabled: prevDisabled,
17696
- ariaLabel: t(props.previousAriaLabel),
17697
- ariaDisabled: prevDisabled
17705
+ 'aria-label': t(props.previousAriaLabel),
17706
+ 'aria-disabled': prevDisabled
17698
17707
  },
17699
17708
  next: {
17700
17709
  icon: isRtl.value ? props.prevIcon : props.nextIcon,
17701
17710
  onClick: e => setValue(e, page.value + 1, 'next'),
17702
17711
  disabled: nextDisabled,
17703
- ariaLabel: t(props.nextAriaLabel),
17704
- ariaDisabled: nextDisabled
17712
+ 'aria-label': t(props.nextAriaLabel),
17713
+ 'aria-disabled': nextDisabled
17705
17714
  },
17706
17715
  last: props.showFirstLastPage ? {
17707
17716
  icon: isRtl.value ? props.firstIcon : props.lastIcon,
17708
17717
  onClick: e => setValue(e, start.value + length.value - 1, 'last'),
17709
17718
  disabled: nextDisabled,
17710
- ariaLabel: t(props.lastAriaLabel),
17711
- ariaDisabled: nextDisabled
17719
+ 'aria-label': t(props.lastAriaLabel),
17720
+ 'aria-disabled': nextDisabled
17712
17721
  } : undefined
17713
17722
  };
17714
17723
  });
@@ -18774,7 +18783,8 @@
18774
18783
  'update:sortBy': value => true,
18775
18784
  'update:options': value => true,
18776
18785
  'update:groupBy': value => true,
18777
- 'update:expanded': value => true
18786
+ 'update:expanded': value => true,
18787
+ 'update:currentItems': value => true
18778
18788
  },
18779
18789
  setup(props, _ref) {
18780
18790
  let {
@@ -19828,7 +19838,7 @@
19828
19838
  });
19829
19839
  function genDays(days, today) {
19830
19840
  return days.filter(date => {
19831
- return props.weekdays.includes(date.getDay());
19841
+ return props.weekdays.includes(adapter.toJsDate(date).getDay());
19832
19842
  }).map((date, index) => {
19833
19843
  const isoDate = adapter.toISO(date);
19834
19844
  const isAdjacent = !adapter.isSameMonth(date, month.value);
@@ -20276,7 +20286,7 @@
20276
20286
  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);
20277
20287
  });
20278
20288
  const text = vue.computed(() => {
20279
- return adapter.format(adapter.setYear(adapter.setMonth(adapter.date(), month.value), year.value), 'monthAndYear');
20289
+ return adapter.format(adapter.setYear(adapter.setMonth(adapter.startOfMonth(adapter.date()), month.value), year.value), 'monthAndYear');
20280
20290
  });
20281
20291
  // const headerIcon = computed(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)
20282
20292
  const headerTransition = vue.computed(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`);
@@ -24226,15 +24236,14 @@
24226
24236
  textColorClasses: sliderColorClasses,
24227
24237
  textColorStyles: sliderColorStyles
24228
24238
  } = useTextColor(props, 'sliderColor');
24229
- const isHorizontal = vue.computed(() => props.direction === 'horizontal');
24230
- const isSelected = vue.shallowRef(false);
24231
24239
  const rootEl = vue.ref();
24232
24240
  const sliderEl = vue.ref();
24241
+ const isHorizontal = vue.computed(() => props.direction === 'horizontal');
24242
+ const isSelected = vue.computed(() => rootEl.value?.group?.isSelected.value ?? false);
24233
24243
  function updateSlider(_ref2) {
24234
24244
  let {
24235
24245
  value
24236
24246
  } = _ref2;
24237
- isSelected.value = value;
24238
24247
  if (value) {
24239
24248
  const prevEl = rootEl.value?.$el.parentElement?.querySelector('.v-tab--selected .v-tab__slider');
24240
24249
  const nextEl = sliderEl.value;
@@ -24288,7 +24297,7 @@
24288
24297
  }, null)])
24289
24298
  });
24290
24299
  });
24291
- return {};
24300
+ return forwardRefs({}, rootEl);
24292
24301
  }
24293
24302
  });
24294
24303
 
@@ -25953,7 +25962,7 @@
25953
25962
  date
25954
25963
  };
25955
25964
  }
25956
- const version$1 = "3.4.10";
25965
+ const version$1 = "3.4.11";
25957
25966
  createVuetify$1.version = version$1;
25958
25967
 
25959
25968
  // Vue's inject() can only be used in setup
@@ -25967,7 +25976,7 @@
25967
25976
 
25968
25977
  /* eslint-disable local-rules/sort-imports */
25969
25978
 
25970
- const version = "3.4.10";
25979
+ const version = "3.4.11";
25971
25980
 
25972
25981
  /* eslint-disable local-rules/sort-imports */
25973
25982