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
package/dist/vuetify.js CHANGED
@@ -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
  */
@@ -1850,6 +1850,79 @@
1850
1850
  };
1851
1851
  }
1852
1852
 
1853
+ // Utilities
1854
+
1855
+ // Types
1856
+
1857
+ function useToggleScope(source, fn) {
1858
+ let scope;
1859
+ function start() {
1860
+ scope = vue.effectScope();
1861
+ scope.run(() => fn.length ? fn(() => {
1862
+ scope?.stop();
1863
+ start();
1864
+ }) : fn());
1865
+ }
1866
+ vue.watch(source, active => {
1867
+ if (active && !scope) {
1868
+ start();
1869
+ } else if (!active) {
1870
+ scope?.stop();
1871
+ scope = undefined;
1872
+ }
1873
+ }, {
1874
+ immediate: true
1875
+ });
1876
+ vue.onScopeDispose(() => {
1877
+ scope?.stop();
1878
+ });
1879
+ }
1880
+
1881
+ // Composables
1882
+
1883
+ // Types
1884
+
1885
+ // Composables
1886
+ function useProxiedModel(props, prop, defaultValue) {
1887
+ let transformIn = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : v => v;
1888
+ let transformOut = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : v => v;
1889
+ const vm = getCurrentInstance('useProxiedModel');
1890
+ const internal = vue.ref(props[prop] !== undefined ? props[prop] : defaultValue);
1891
+ const kebabProp = toKebabCase(prop);
1892
+ const checkKebab = kebabProp !== prop;
1893
+ const isControlled = checkKebab ? vue.computed(() => {
1894
+ void props[prop];
1895
+ return !!((vm.vnode.props?.hasOwnProperty(prop) || vm.vnode.props?.hasOwnProperty(kebabProp)) && (vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`) || vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`)));
1896
+ }) : vue.computed(() => {
1897
+ void props[prop];
1898
+ return !!(vm.vnode.props?.hasOwnProperty(prop) && vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`));
1899
+ });
1900
+ useToggleScope(() => !isControlled.value, () => {
1901
+ vue.watch(() => props[prop], val => {
1902
+ internal.value = val;
1903
+ });
1904
+ });
1905
+ const model = vue.computed({
1906
+ get() {
1907
+ const externalValue = props[prop];
1908
+ return transformIn(isControlled.value ? externalValue : internal.value);
1909
+ },
1910
+ set(internalValue) {
1911
+ const newValue = transformOut(internalValue);
1912
+ const value = vue.toRaw(isControlled.value ? props[prop] : internal.value);
1913
+ if (value === newValue || transformIn(value) === internalValue) {
1914
+ return;
1915
+ }
1916
+ internal.value = newValue;
1917
+ vm?.emit(`update:${prop}`, newValue);
1918
+ }
1919
+ });
1920
+ Object.defineProperty(model, 'externalValue', {
1921
+ get: () => isControlled.value ? props[prop] : internal.value
1922
+ });
1923
+ return model;
1924
+ }
1925
+
1853
1926
  var en = {
1854
1927
  badge: 'Badge',
1855
1928
  open: 'Open',
@@ -1951,123 +2024,6 @@
1951
2024
  }
1952
2025
  };
1953
2026
 
1954
- const defaultRtl = {
1955
- af: false,
1956
- ar: true,
1957
- bg: false,
1958
- ca: false,
1959
- ckb: false,
1960
- cs: false,
1961
- de: false,
1962
- el: false,
1963
- en: false,
1964
- es: false,
1965
- et: false,
1966
- fa: true,
1967
- fi: false,
1968
- fr: false,
1969
- hr: false,
1970
- hu: false,
1971
- he: true,
1972
- id: false,
1973
- it: false,
1974
- ja: false,
1975
- ko: false,
1976
- lv: false,
1977
- lt: false,
1978
- nl: false,
1979
- no: false,
1980
- pl: false,
1981
- pt: false,
1982
- ro: false,
1983
- ru: false,
1984
- sk: false,
1985
- sl: false,
1986
- srCyrl: false,
1987
- srLatn: false,
1988
- sv: false,
1989
- th: false,
1990
- tr: false,
1991
- az: false,
1992
- uk: false,
1993
- vi: false,
1994
- zhHans: false,
1995
- zhHant: false
1996
- };
1997
-
1998
- // Utilities
1999
-
2000
- // Types
2001
-
2002
- function useToggleScope(source, fn) {
2003
- let scope;
2004
- function start() {
2005
- scope = vue.effectScope();
2006
- scope.run(() => fn.length ? fn(() => {
2007
- scope?.stop();
2008
- start();
2009
- }) : fn());
2010
- }
2011
- vue.watch(source, active => {
2012
- if (active && !scope) {
2013
- start();
2014
- } else if (!active) {
2015
- scope?.stop();
2016
- scope = undefined;
2017
- }
2018
- }, {
2019
- immediate: true
2020
- });
2021
- vue.onScopeDispose(() => {
2022
- scope?.stop();
2023
- });
2024
- }
2025
-
2026
- // Composables
2027
-
2028
- // Types
2029
-
2030
- // Composables
2031
- function useProxiedModel(props, prop, defaultValue) {
2032
- let transformIn = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : v => v;
2033
- let transformOut = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : v => v;
2034
- const vm = getCurrentInstance('useProxiedModel');
2035
- const internal = vue.ref(props[prop] !== undefined ? props[prop] : defaultValue);
2036
- const kebabProp = toKebabCase(prop);
2037
- const checkKebab = kebabProp !== prop;
2038
- const isControlled = checkKebab ? vue.computed(() => {
2039
- void props[prop];
2040
- return !!((vm.vnode.props?.hasOwnProperty(prop) || vm.vnode.props?.hasOwnProperty(kebabProp)) && (vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`) || vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`)));
2041
- }) : vue.computed(() => {
2042
- void props[prop];
2043
- return !!(vm.vnode.props?.hasOwnProperty(prop) && vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`));
2044
- });
2045
- useToggleScope(() => !isControlled.value, () => {
2046
- vue.watch(() => props[prop], val => {
2047
- internal.value = val;
2048
- });
2049
- });
2050
- const model = vue.computed({
2051
- get() {
2052
- const externalValue = props[prop];
2053
- return transformIn(isControlled.value ? externalValue : internal.value);
2054
- },
2055
- set(internalValue) {
2056
- const newValue = transformOut(internalValue);
2057
- const value = vue.toRaw(isControlled.value ? props[prop] : internal.value);
2058
- if (value === newValue || transformIn(value) === internalValue) {
2059
- return;
2060
- }
2061
- internal.value = newValue;
2062
- vm?.emit(`update:${prop}`, newValue);
2063
- }
2064
- });
2065
- Object.defineProperty(model, 'externalValue', {
2066
- get: () => isControlled.value ? props[prop] : internal.value
2067
- });
2068
- return model;
2069
- }
2070
-
2071
2027
  // Composables
2072
2028
 
2073
2029
  // Types
@@ -2198,8 +2154,53 @@
2198
2154
  vue.provide(LocaleSymbol, data);
2199
2155
  return data;
2200
2156
  }
2157
+ function genDefaults$1() {
2158
+ return {
2159
+ af: false,
2160
+ ar: true,
2161
+ bg: false,
2162
+ ca: false,
2163
+ ckb: false,
2164
+ cs: false,
2165
+ de: false,
2166
+ el: false,
2167
+ en: false,
2168
+ es: false,
2169
+ et: false,
2170
+ fa: true,
2171
+ fi: false,
2172
+ fr: false,
2173
+ hr: false,
2174
+ hu: false,
2175
+ he: true,
2176
+ id: false,
2177
+ it: false,
2178
+ ja: false,
2179
+ ko: false,
2180
+ lv: false,
2181
+ lt: false,
2182
+ nl: false,
2183
+ no: false,
2184
+ pl: false,
2185
+ pt: false,
2186
+ ro: false,
2187
+ ru: false,
2188
+ sk: false,
2189
+ sl: false,
2190
+ srCyrl: false,
2191
+ srLatn: false,
2192
+ sv: false,
2193
+ th: false,
2194
+ tr: false,
2195
+ az: false,
2196
+ uk: false,
2197
+ vi: false,
2198
+ zhHans: false,
2199
+ zhHant: false
2200
+ };
2201
+ }
2201
2202
  function createRtl(i18n, options) {
2202
- const rtl = vue.ref(options?.rtl ?? defaultRtl);
2203
+ const rtl = vue.ref(options?.rtl ?? genDefaults$1());
2203
2204
  const isRtl = vue.computed(() => rtl.value[i18n.current.value] ?? false);
2204
2205
  return {
2205
2206
  isRtl,
@@ -5591,7 +5592,9 @@
5591
5592
  }, null)])]
5592
5593
  }), [[vue.resolveDirective("ripple"), !isDisabled.value && props.ripple, null]]);
5593
5594
  });
5594
- return {};
5595
+ return {
5596
+ group
5597
+ };
5595
5598
  }
5596
5599
  });
5597
5600
 
@@ -6095,16 +6098,18 @@
6095
6098
  trueValue
6096
6099
  } = useSelectionControl(props);
6097
6100
  const uid = getUid();
6098
- const id = vue.computed(() => props.id || `input-${uid}`);
6099
6101
  const isFocused = vue.shallowRef(false);
6100
6102
  const isFocusVisible = vue.shallowRef(false);
6101
6103
  const input = vue.ref();
6104
+ const id = vue.computed(() => props.id || `input-${uid}`);
6105
+ const isInteractive = vue.computed(() => !props.disabled && !props.readonly);
6102
6106
  group?.onForceUpdate(() => {
6103
6107
  if (input.value) {
6104
6108
  input.value.checked = model.value;
6105
6109
  }
6106
6110
  });
6107
6111
  function onFocus(e) {
6112
+ if (!isInteractive.value) return;
6108
6113
  isFocused.value = true;
6109
6114
  if (matchesSelector(e.target, ':focus-visible') !== false) {
6110
6115
  isFocusVisible.value = true;
@@ -6115,6 +6120,7 @@
6115
6120
  isFocusVisible.value = false;
6116
6121
  }
6117
6122
  function onInput(e) {
6123
+ if (!isInteractive.value) return;
6118
6124
  if (props.readonly && group) {
6119
6125
  vue.nextTick(() => group.forceUpdate());
6120
6126
  }
@@ -6131,12 +6137,12 @@
6131
6137
  const inputNode = vue.createVNode("input", vue.mergeProps({
6132
6138
  "ref": input,
6133
6139
  "checked": model.value,
6134
- "disabled": !!(props.readonly || props.disabled),
6140
+ "disabled": !!props.disabled,
6135
6141
  "id": id.value,
6136
6142
  "onBlur": onBlur,
6137
6143
  "onFocus": onFocus,
6138
6144
  "onInput": onInput,
6139
- "aria-disabled": !!(props.readonly || props.disabled),
6145
+ "aria-disabled": !!props.disabled,
6140
6146
  "type": props.type,
6141
6147
  "value": trueValue.value,
6142
6148
  "name": props.name,
@@ -8711,9 +8717,7 @@
8711
8717
  // eslint-disable-next-line max-statements
8712
8718
  function updateLocation() {
8713
8719
  observe = false;
8714
- requestAnimationFrame(() => {
8715
- requestAnimationFrame(() => observe = true);
8716
- });
8720
+ requestAnimationFrame(() => observe = true);
8717
8721
  if (!data.target.value || !data.contentEl.value) return;
8718
8722
  const targetBox = getTargetBox(data.target.value);
8719
8723
  const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);
@@ -13361,7 +13365,7 @@
13361
13365
  icon: isRtl.value ? props.nextIcon : props.prevIcon,
13362
13366
  class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,
13363
13367
  onClick: group.prev,
13364
- ariaLabel: t('$vuetify.carousel.prev')
13368
+ 'aria-label': t('$vuetify.carousel.prev')
13365
13369
  };
13366
13370
  arrows.push(canMoveBack.value ? slots.prev ? slots.prev({
13367
13371
  props: prevProps
@@ -13370,7 +13374,7 @@
13370
13374
  icon: isRtl.value ? props.prevIcon : props.nextIcon,
13371
13375
  class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,
13372
13376
  onClick: group.next,
13373
- ariaLabel: t('$vuetify.carousel.next')
13377
+ 'aria-label': t('$vuetify.carousel.next')
13374
13378
  };
13375
13379
  arrows.push(canMoveForward.value ? slots.next ? slots.next({
13376
13380
  props: nextProps
@@ -14464,6 +14468,10 @@
14464
14468
  decimals,
14465
14469
  indexFromEnd
14466
14470
  } = slider;
14471
+ const elevationProps = vue.computed(() => !disabled.value ? elevation.value : undefined);
14472
+ const {
14473
+ elevationClasses
14474
+ } = useElevation(elevationProps);
14467
14475
  const {
14468
14476
  textColorClasses,
14469
14477
  textColorStyles
@@ -14508,9 +14516,6 @@
14508
14516
  }
14509
14517
  useRender(() => {
14510
14518
  const positionPercentage = convertToUnit(indexFromEnd.value ? 100 - props.position : props.position, '%');
14511
- const {
14512
- elevationClasses
14513
- } = useElevation(vue.computed(() => !disabled.value ? elevation.value : undefined));
14514
14519
  return vue.createVNode("div", {
14515
14520
  "class": ['v-slider-thumb', {
14516
14521
  'v-slider-thumb--focused': props.focused,
@@ -16260,6 +16265,7 @@
16260
16265
  return data;
16261
16266
  }
16262
16267
  function usePaginatedItems(options) {
16268
+ const vm = getCurrentInstance('usePaginatedItems');
16263
16269
  const {
16264
16270
  items,
16265
16271
  startIndex,
@@ -16270,6 +16276,9 @@
16270
16276
  if (itemsPerPage.value <= 0) return items.value;
16271
16277
  return items.value.slice(startIndex.value, stopIndex.value);
16272
16278
  });
16279
+ vue.watch(paginatedItems, val => {
16280
+ vm.emit('update:currentItems', val);
16281
+ });
16273
16282
  return {
16274
16283
  paginatedItems
16275
16284
  };
@@ -16696,10 +16705,9 @@
16696
16705
  return createRange(7).map(i => {
16697
16706
  const weekday = new Date(sundayJanuarySecond2000);
16698
16707
  weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
16699
- const formattedDay = new Intl.DateTimeFormat(locale, {
16708
+ return new Intl.DateTimeFormat(locale, {
16700
16709
  weekday: 'short'
16701
16710
  }).format(weekday);
16702
- return formattedDay.charAt(0).toUpperCase() + formattedDay.slice(1);
16703
16711
  });
16704
16712
  }
16705
16713
  function format(value, formatString, locale, formats) {
@@ -17101,13 +17109,13 @@
17101
17109
  // https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
17102
17110
  function getWeek(adapter, value) {
17103
17111
  const date = adapter.toJsDate(value);
17104
- let year = adapter.getYear(date);
17105
- let d1w1 = adapter.startOfYear(date);
17112
+ let year = date.getFullYear();
17113
+ let d1w1 = new Date(year, 0, 1);
17106
17114
  if (date < d1w1) {
17107
17115
  year = year - 1;
17108
- d1w1 = adapter.startOfYear(adapter.setYear(date, year));
17116
+ d1w1 = new Date(year, 0, 1);
17109
17117
  } else {
17110
- const tv = adapter.startOfYear(adapter.setYear(date, year + 1));
17118
+ const tv = new Date(year + 1, 0, 1);
17111
17119
  if (date >= tv) {
17112
17120
  year = year + 1;
17113
17121
  d1w1 = tv;
@@ -17313,7 +17321,8 @@
17313
17321
  'update:itemsPerPage': value => true,
17314
17322
  'update:sortBy': value => true,
17315
17323
  'update:options': value => true,
17316
- 'update:expanded': value => true
17324
+ 'update:expanded': value => true,
17325
+ 'update:currentItems': value => true
17317
17326
  },
17318
17327
  setup(props, _ref) {
17319
17328
  let {
@@ -17664,8 +17673,8 @@
17664
17673
  icon: true,
17665
17674
  disabled: !!props.disabled || +props.length < 2,
17666
17675
  color: isActive ? props.activeColor : props.color,
17667
- ariaCurrent: isActive,
17668
- ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
17676
+ 'aria-current': isActive,
17677
+ 'aria-label': t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
17669
17678
  onClick: e => setValue(e, item)
17670
17679
  }
17671
17680
  };
@@ -17680,29 +17689,29 @@
17680
17689
  icon: isRtl.value ? props.lastIcon : props.firstIcon,
17681
17690
  onClick: e => setValue(e, start.value, 'first'),
17682
17691
  disabled: prevDisabled,
17683
- ariaLabel: t(props.firstAriaLabel),
17684
- ariaDisabled: prevDisabled
17692
+ 'aria-label': t(props.firstAriaLabel),
17693
+ 'aria-disabled': prevDisabled
17685
17694
  } : undefined,
17686
17695
  prev: {
17687
17696
  icon: isRtl.value ? props.nextIcon : props.prevIcon,
17688
17697
  onClick: e => setValue(e, page.value - 1, 'prev'),
17689
17698
  disabled: prevDisabled,
17690
- ariaLabel: t(props.previousAriaLabel),
17691
- ariaDisabled: prevDisabled
17699
+ 'aria-label': t(props.previousAriaLabel),
17700
+ 'aria-disabled': prevDisabled
17692
17701
  },
17693
17702
  next: {
17694
17703
  icon: isRtl.value ? props.prevIcon : props.nextIcon,
17695
17704
  onClick: e => setValue(e, page.value + 1, 'next'),
17696
17705
  disabled: nextDisabled,
17697
- ariaLabel: t(props.nextAriaLabel),
17698
- ariaDisabled: nextDisabled
17706
+ 'aria-label': t(props.nextAriaLabel),
17707
+ 'aria-disabled': nextDisabled
17699
17708
  },
17700
17709
  last: props.showFirstLastPage ? {
17701
17710
  icon: isRtl.value ? props.firstIcon : props.lastIcon,
17702
17711
  onClick: e => setValue(e, start.value + length.value - 1, 'last'),
17703
17712
  disabled: nextDisabled,
17704
- ariaLabel: t(props.lastAriaLabel),
17705
- ariaDisabled: nextDisabled
17713
+ 'aria-label': t(props.lastAriaLabel),
17714
+ 'aria-disabled': nextDisabled
17706
17715
  } : undefined
17707
17716
  };
17708
17717
  });
@@ -18768,7 +18777,8 @@
18768
18777
  'update:sortBy': value => true,
18769
18778
  'update:options': value => true,
18770
18779
  'update:groupBy': value => true,
18771
- 'update:expanded': value => true
18780
+ 'update:expanded': value => true,
18781
+ 'update:currentItems': value => true
18772
18782
  },
18773
18783
  setup(props, _ref) {
18774
18784
  let {
@@ -19822,7 +19832,7 @@
19822
19832
  });
19823
19833
  function genDays(days, today) {
19824
19834
  return days.filter(date => {
19825
- return props.weekdays.includes(date.getDay());
19835
+ return props.weekdays.includes(adapter.toJsDate(date).getDay());
19826
19836
  }).map((date, index) => {
19827
19837
  const isoDate = adapter.toISO(date);
19828
19838
  const isAdjacent = !adapter.isSameMonth(date, month.value);
@@ -20270,7 +20280,7 @@
20270
20280
  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);
20271
20281
  });
20272
20282
  const text = vue.computed(() => {
20273
- return adapter.format(adapter.setYear(adapter.setMonth(adapter.date(), month.value), year.value), 'monthAndYear');
20283
+ return adapter.format(adapter.setYear(adapter.setMonth(adapter.startOfMonth(adapter.date()), month.value), year.value), 'monthAndYear');
20274
20284
  });
20275
20285
  // const headerIcon = computed(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)
20276
20286
  const headerTransition = vue.computed(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`);
@@ -24220,15 +24230,14 @@
24220
24230
  textColorClasses: sliderColorClasses,
24221
24231
  textColorStyles: sliderColorStyles
24222
24232
  } = useTextColor(props, 'sliderColor');
24223
- const isHorizontal = vue.computed(() => props.direction === 'horizontal');
24224
- const isSelected = vue.shallowRef(false);
24225
24233
  const rootEl = vue.ref();
24226
24234
  const sliderEl = vue.ref();
24235
+ const isHorizontal = vue.computed(() => props.direction === 'horizontal');
24236
+ const isSelected = vue.computed(() => rootEl.value?.group?.isSelected.value ?? false);
24227
24237
  function updateSlider(_ref2) {
24228
24238
  let {
24229
24239
  value
24230
24240
  } = _ref2;
24231
- isSelected.value = value;
24232
24241
  if (value) {
24233
24242
  const prevEl = rootEl.value?.$el.parentElement?.querySelector('.v-tab--selected .v-tab__slider');
24234
24243
  const nextEl = sliderEl.value;
@@ -24282,7 +24291,7 @@
24282
24291
  }, null)])
24283
24292
  });
24284
24293
  });
24285
- return {};
24294
+ return forwardRefs({}, rootEl);
24286
24295
  }
24287
24296
  });
24288
24297
 
@@ -25395,7 +25404,7 @@
25395
25404
  date
25396
25405
  };
25397
25406
  }
25398
- const version$1 = "3.4.10";
25407
+ const version$1 = "3.4.11";
25399
25408
  createVuetify$1.version = version$1;
25400
25409
 
25401
25410
  // Vue's inject() can only be used in setup
@@ -25420,7 +25429,7 @@
25420
25429
  ...options
25421
25430
  });
25422
25431
  };
25423
- const version = "3.4.10";
25432
+ const version = "3.4.11";
25424
25433
  createVuetify.version = version;
25425
25434
 
25426
25435
  exports.components = components;