@vuetify/nightly 3.9.2-master.2025-07-27 → 3.9.2-master.2025-07-29

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 (175) hide show
  1. package/CHANGELOG.md +15 -3
  2. package/dist/json/attributes.json +4468 -4468
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +140 -140
  5. package/dist/json/web-types.json +8333 -8333
  6. package/dist/vuetify-labs.cjs +48 -15
  7. package/dist/vuetify-labs.css +4607 -4612
  8. package/dist/vuetify-labs.d.ts +51 -51
  9. package/dist/vuetify-labs.esm.js +48 -15
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +48 -15
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +48 -15
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3424 -3429
  16. package/dist/vuetify.d.ts +51 -51
  17. package/dist/vuetify.esm.js +48 -15
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +48 -15
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +192 -191
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VDatePicker/VDatePickerControls.js +8 -1
  25. package/lib/components/VDatePicker/VDatePickerControls.js.map +1 -1
  26. package/lib/components/VDatePicker/VDatePickerMonth.js +11 -0
  27. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  28. package/lib/components/VDatePicker/VDatePickerMonths.js +3 -0
  29. package/lib/components/VDatePicker/VDatePickerMonths.js.map +1 -1
  30. package/lib/components/VList/VListChildren.js +3 -4
  31. package/lib/components/VList/VListChildren.js.map +1 -1
  32. package/lib/components/VNumberInput/VNumberInput.js +1 -1
  33. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  34. package/lib/components/VSlider/VSliderThumb.css +9 -14
  35. package/lib/components/VSlider/VSliderThumb.js +13 -7
  36. package/lib/components/VSlider/VSliderThumb.js.map +1 -1
  37. package/lib/components/VSlider/VSliderThumb.sass +9 -14
  38. package/lib/components/VSlider/slider.d.ts +1 -0
  39. package/lib/components/VSlider/slider.js +2 -0
  40. package/lib/components/VSlider/slider.js.map +1 -1
  41. package/lib/directives/ripple/index.js +2 -2
  42. package/lib/directives/ripple/index.js.map +1 -1
  43. package/lib/entry-bundler.js +1 -1
  44. package/lib/framework.d.ts +51 -51
  45. package/lib/framework.js +1 -1
  46. package/lib/locale/af.d.ts +7 -0
  47. package/lib/locale/af.js +7 -0
  48. package/lib/locale/af.js.map +1 -1
  49. package/lib/locale/ar.d.ts +7 -0
  50. package/lib/locale/ar.js +13 -6
  51. package/lib/locale/ar.js.map +1 -1
  52. package/lib/locale/az.d.ts +7 -0
  53. package/lib/locale/az.js +7 -0
  54. package/lib/locale/az.js.map +1 -1
  55. package/lib/locale/bg.d.ts +7 -0
  56. package/lib/locale/bg.js +7 -0
  57. package/lib/locale/bg.js.map +1 -1
  58. package/lib/locale/ca.d.ts +7 -0
  59. package/lib/locale/ca.js +7 -0
  60. package/lib/locale/ca.js.map +1 -1
  61. package/lib/locale/ckb.d.ts +7 -0
  62. package/lib/locale/ckb.js +7 -0
  63. package/lib/locale/ckb.js.map +1 -1
  64. package/lib/locale/cs.d.ts +7 -0
  65. package/lib/locale/cs.js +7 -0
  66. package/lib/locale/cs.js.map +1 -1
  67. package/lib/locale/da.d.ts +7 -0
  68. package/lib/locale/da.js +7 -0
  69. package/lib/locale/da.js.map +1 -1
  70. package/lib/locale/de.d.ts +7 -0
  71. package/lib/locale/de.js +7 -0
  72. package/lib/locale/de.js.map +1 -1
  73. package/lib/locale/el.d.ts +7 -0
  74. package/lib/locale/el.js +7 -0
  75. package/lib/locale/el.js.map +1 -1
  76. package/lib/locale/en.d.ts +7 -0
  77. package/lib/locale/en.js +8 -0
  78. package/lib/locale/en.js.map +1 -1
  79. package/lib/locale/es.d.ts +7 -0
  80. package/lib/locale/es.js +7 -0
  81. package/lib/locale/es.js.map +1 -1
  82. package/lib/locale/et.d.ts +7 -0
  83. package/lib/locale/et.js +7 -0
  84. package/lib/locale/et.js.map +1 -1
  85. package/lib/locale/fa.d.ts +7 -0
  86. package/lib/locale/fa.js +7 -0
  87. package/lib/locale/fa.js.map +1 -1
  88. package/lib/locale/fi.d.ts +7 -0
  89. package/lib/locale/fi.js +7 -0
  90. package/lib/locale/fi.js.map +1 -1
  91. package/lib/locale/fr.d.ts +7 -0
  92. package/lib/locale/fr.js +7 -0
  93. package/lib/locale/fr.js.map +1 -1
  94. package/lib/locale/he.d.ts +7 -0
  95. package/lib/locale/he.js +7 -0
  96. package/lib/locale/he.js.map +1 -1
  97. package/lib/locale/hr.d.ts +7 -0
  98. package/lib/locale/hr.js +7 -0
  99. package/lib/locale/hr.js.map +1 -1
  100. package/lib/locale/hu.d.ts +7 -0
  101. package/lib/locale/hu.js +7 -0
  102. package/lib/locale/hu.js.map +1 -1
  103. package/lib/locale/id.d.ts +7 -0
  104. package/lib/locale/id.js +7 -0
  105. package/lib/locale/id.js.map +1 -1
  106. package/lib/locale/it.d.ts +7 -0
  107. package/lib/locale/it.js +7 -0
  108. package/lib/locale/it.js.map +1 -1
  109. package/lib/locale/ja.d.ts +7 -0
  110. package/lib/locale/ja.js +7 -0
  111. package/lib/locale/ja.js.map +1 -1
  112. package/lib/locale/km.d.ts +7 -0
  113. package/lib/locale/km.js +7 -0
  114. package/lib/locale/km.js.map +1 -1
  115. package/lib/locale/ko.d.ts +7 -0
  116. package/lib/locale/ko.js +7 -0
  117. package/lib/locale/ko.js.map +1 -1
  118. package/lib/locale/lt.d.ts +7 -0
  119. package/lib/locale/lt.js +7 -0
  120. package/lib/locale/lt.js.map +1 -1
  121. package/lib/locale/lv.d.ts +7 -0
  122. package/lib/locale/lv.js +7 -0
  123. package/lib/locale/lv.js.map +1 -1
  124. package/lib/locale/nl.d.ts +7 -0
  125. package/lib/locale/nl.js +7 -0
  126. package/lib/locale/nl.js.map +1 -1
  127. package/lib/locale/no.d.ts +7 -0
  128. package/lib/locale/no.js +7 -0
  129. package/lib/locale/no.js.map +1 -1
  130. package/lib/locale/pl.d.ts +7 -0
  131. package/lib/locale/pl.js +7 -0
  132. package/lib/locale/pl.js.map +1 -1
  133. package/lib/locale/pt.d.ts +7 -0
  134. package/lib/locale/pt.js +7 -0
  135. package/lib/locale/pt.js.map +1 -1
  136. package/lib/locale/ro.d.ts +7 -0
  137. package/lib/locale/ro.js +7 -0
  138. package/lib/locale/ro.js.map +1 -1
  139. package/lib/locale/ru.d.ts +7 -0
  140. package/lib/locale/ru.js +7 -0
  141. package/lib/locale/ru.js.map +1 -1
  142. package/lib/locale/sk.d.ts +7 -0
  143. package/lib/locale/sk.js +7 -0
  144. package/lib/locale/sk.js.map +1 -1
  145. package/lib/locale/sl.d.ts +7 -0
  146. package/lib/locale/sl.js +7 -0
  147. package/lib/locale/sl.js.map +1 -1
  148. package/lib/locale/sr-Cyrl.d.ts +7 -0
  149. package/lib/locale/sr-Cyrl.js +7 -0
  150. package/lib/locale/sr-Cyrl.js.map +1 -1
  151. package/lib/locale/sr-Latn.d.ts +7 -0
  152. package/lib/locale/sr-Latn.js +7 -0
  153. package/lib/locale/sr-Latn.js.map +1 -1
  154. package/lib/locale/sv.d.ts +7 -0
  155. package/lib/locale/sv.js +7 -0
  156. package/lib/locale/sv.js.map +1 -1
  157. package/lib/locale/th.d.ts +7 -0
  158. package/lib/locale/th.js +7 -0
  159. package/lib/locale/th.js.map +1 -1
  160. package/lib/locale/tr.d.ts +7 -0
  161. package/lib/locale/tr.js +7 -0
  162. package/lib/locale/tr.js.map +1 -1
  163. package/lib/locale/uk.d.ts +7 -0
  164. package/lib/locale/uk.js +7 -0
  165. package/lib/locale/uk.js.map +1 -1
  166. package/lib/locale/vi.d.ts +7 -0
  167. package/lib/locale/vi.js +7 -0
  168. package/lib/locale/vi.js.map +1 -1
  169. package/lib/locale/zh-Hans.d.ts +7 -0
  170. package/lib/locale/zh-Hans.js +7 -0
  171. package/lib/locale/zh-Hans.js.map +1 -1
  172. package/lib/locale/zh-Hant.d.ts +7 -0
  173. package/lib/locale/zh-Hant.js +7 -0
  174. package/lib/locale/zh-Hant.js.map +1 -1
  175. package/package.json +1 -1
package/dist/vuetify.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.9.2-master.2025-07-27
2
+ * Vuetify v3.9.2-master.2025-07-29
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -2617,6 +2617,14 @@
2617
2617
  header: 'Enter date',
2618
2618
  input: {
2619
2619
  placeholder: 'Enter date'
2620
+ },
2621
+ ariaLabel: {
2622
+ previousMonth: 'Previous month',
2623
+ nextMonth: 'Next month',
2624
+ selectYear: 'Select year',
2625
+ selectDate: '{0}',
2626
+ // Full date format
2627
+ currentDate: 'Today, {0}'
2620
2628
  }
2621
2629
  },
2622
2630
  noDataText: 'No data available',
@@ -5927,8 +5935,8 @@
5927
5935
  if (!el?._ripple?.enabled) return;
5928
5936
  const ripples = el.getElementsByClassName('v-ripple__animation');
5929
5937
  if (ripples.length === 0) return;
5930
- const animation = ripples[ripples.length - 1];
5931
- if (animation.dataset.isHiding) return;else animation.dataset.isHiding = 'true';
5938
+ const animation = Array.from(ripples).findLast(ripple => !ripple.dataset.isHiding);
5939
+ if (!animation) return;else animation.dataset.isHiding = 'true';
5932
5940
  const diff = performance.now() - Number(animation.dataset.activated);
5933
5941
  const delay = Math.max(250 - diff, 0);
5934
5942
  setTimeout(() => {
@@ -10146,11 +10154,9 @@
10146
10154
  let {
10147
10155
  props: activatorProps
10148
10156
  } = _ref3;
10149
- const listItemProps = {
10150
- ...itemProps,
10151
- ...activatorProps,
10157
+ const listItemProps = vue.mergeProps(itemProps, activatorProps, {
10152
10158
  value: props.returnObject ? item : itemProps.value
10153
- };
10159
+ });
10154
10160
  return slots.header ? slots.header({
10155
10161
  props: listItemProps
10156
10162
  }) : vue.createVNode(VListItem, listItemProps, slotsWithItem);
@@ -16554,6 +16560,7 @@
16554
16560
  const numTicks = vue.computed(() => (max.value - min.value) / step.value);
16555
16561
  const disabled = vue.toRef(() => props.disabled);
16556
16562
  const thumbColor = vue.computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color);
16563
+ const thumbLabelColor = vue.computed(() => props.error || props.disabled ? undefined : props.thumbColor);
16557
16564
  const trackColor = vue.computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color);
16558
16565
  const trackFillColor = vue.computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color);
16559
16566
  const mousePressed = vue.shallowRef(false);
@@ -16711,6 +16718,7 @@
16711
16718
  step,
16712
16719
  thumbSize,
16713
16720
  thumbColor,
16721
+ thumbLabelColor,
16714
16722
  thumbLabel: vue.toRef(() => props.thumbLabel),
16715
16723
  ticks: vue.toRef(() => props.ticks),
16716
16724
  tickSize,
@@ -16776,6 +16784,7 @@
16776
16784
  min,
16777
16785
  max,
16778
16786
  thumbColor,
16787
+ thumbLabelColor,
16779
16788
  step,
16780
16789
  disabled,
16781
16790
  thumbSize,
@@ -16797,6 +16806,10 @@
16797
16806
  textColorClasses,
16798
16807
  textColorStyles
16799
16808
  } = useTextColor(thumbColor);
16809
+ const {
16810
+ backgroundColorClasses,
16811
+ backgroundColorStyles
16812
+ } = useBackgroundColor(thumbLabelColor);
16800
16813
  const {
16801
16814
  pageup,
16802
16815
  pagedown,
@@ -16862,9 +16875,7 @@
16862
16875
  "onKeydown": !readonly.value ? onKeydown : undefined
16863
16876
  }, [vue.createElementVNode("div", {
16864
16877
  "class": vue.normalizeClass(['v-slider-thumb__surface', textColorClasses.value, elevationClasses.value]),
16865
- "style": {
16866
- ...textColorStyles.value
16867
- }
16878
+ "style": vue.normalizeStyle(textColorStyles.value)
16868
16879
  }, null), vue.withDirectives(vue.createElementVNode("div", {
16869
16880
  "class": vue.normalizeClass(['v-slider-thumb__ripple', textColorClasses.value]),
16870
16881
  "style": vue.normalizeStyle(textColorStyles.value)
@@ -16877,10 +16888,13 @@
16877
16888
  default: () => [vue.withDirectives(vue.createElementVNode("div", {
16878
16889
  "class": "v-slider-thumb__label-container"
16879
16890
  }, [vue.createElementVNode("div", {
16880
- "class": vue.normalizeClass(['v-slider-thumb__label', textColorClasses.value])
16891
+ "class": vue.normalizeClass(['v-slider-thumb__label', backgroundColorClasses.value]),
16892
+ "style": vue.normalizeStyle(backgroundColorStyles.value)
16881
16893
  }, [vue.createElementVNode("div", null, [slots['thumb-label']?.({
16882
16894
  modelValue: props.modelValue
16883
- }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)])])]), [[vue.vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
16895
+ }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)]), vue.createElementVNode("div", {
16896
+ "class": "v-slider-thumb__label-wedge"
16897
+ }, null)])]), [[vue.vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]
16884
16898
  })]);
16885
16899
  });
16886
16900
  return {};
@@ -22894,6 +22908,9 @@
22894
22908
  let {
22895
22909
  emit
22896
22910
  } = _ref;
22911
+ const {
22912
+ t
22913
+ } = useLocale();
22897
22914
  const disableMonth = vue.computed(() => {
22898
22915
  return Array.isArray(props.disabled) ? props.disabled.includes('text') : !!props.disabled;
22899
22916
  });
@@ -22940,6 +22957,7 @@
22940
22957
  "density": "comfortable",
22941
22958
  "icon": props.modeIcon,
22942
22959
  "variant": "text",
22960
+ "aria-label": t('$vuetify.datePicker.ariaLabel.selectYear'),
22943
22961
  "onClick": onClickYear
22944
22962
  }, null), vue.createVNode(VSpacer, null, null), vue.createElementVNode("div", {
22945
22963
  "class": "v-date-picker-controls__month"
@@ -22949,6 +22967,7 @@
22949
22967
  "density": "comfortable",
22950
22968
  "icon": props.prevIcon,
22951
22969
  "variant": "text",
22970
+ "aria-label": t('$vuetify.datePicker.ariaLabel.previousMonth'),
22952
22971
  "onClick": onClickPrev
22953
22972
  }, null), vue.createVNode(VBtn, {
22954
22973
  "data-testid": "next-month",
@@ -22956,6 +22975,7 @@
22956
22975
  "icon": props.nextIcon,
22957
22976
  "density": "comfortable",
22958
22977
  "variant": "text",
22978
+ "aria-label": t('$vuetify.datePicker.ariaLabel.nextMonth'),
22959
22979
  "onClick": onClickNext
22960
22980
  }, null)])]);
22961
22981
  });
@@ -23220,6 +23240,9 @@
23220
23240
  slots
23221
23241
  } = _ref;
23222
23242
  const daysRef = vue.ref();
23243
+ const {
23244
+ t
23245
+ } = useLocale();
23223
23246
  const {
23224
23247
  daysInMonth,
23225
23248
  model,
@@ -23276,6 +23299,11 @@
23276
23299
  model.value = [rangeStart.value];
23277
23300
  }
23278
23301
  }
23302
+ function getDateAriaLabel(item) {
23303
+ const fullDate = adapter.format(item.date, 'fullDateWithWeekday');
23304
+ const localeKey = item.isToday ? 'currentDate' : 'selectDate';
23305
+ return t(`$vuetify.datePicker.ariaLabel.${localeKey}`, fullDate);
23306
+ }
23279
23307
  function onMultipleClick(value) {
23280
23308
  const index = model.value.findIndex(selection => adapter.isSameDay(selection, value));
23281
23309
  if (index === -1) {
@@ -23327,6 +23355,8 @@
23327
23355
  ripple: false,
23328
23356
  text: item.localized,
23329
23357
  variant: item.isSelected ? 'flat' : item.isToday ? 'outlined' : 'text',
23358
+ 'aria-label': getDateAriaLabel(item),
23359
+ 'aria-current': item.isToday ? 'date' : undefined,
23330
23360
  onClick: () => onClick(item.date)
23331
23361
  },
23332
23362
  item,
@@ -23381,11 +23411,13 @@
23381
23411
  }
23382
23412
  return createRange(12).map(i => {
23383
23413
  const text = adapter.format(date, 'monthShort');
23414
+ const label = adapter.format(date, 'month');
23384
23415
  const isDisabled = !!(!isMonthAllowed(i) || props.min && adapter.isAfter(adapter.startOfMonth(adapter.date(props.min)), date) || props.max && adapter.isAfter(date, adapter.startOfMonth(adapter.date(props.max))));
23385
23416
  date = adapter.getNextMonth(date);
23386
23417
  return {
23387
23418
  isDisabled,
23388
23419
  text,
23420
+ label,
23389
23421
  value: i
23390
23422
  };
23391
23423
  });
@@ -23412,6 +23444,7 @@
23412
23444
  }, [months.value.map((month, i) => {
23413
23445
  const btnProps = {
23414
23446
  active: model.value === i,
23447
+ ariaLabel: month.label,
23415
23448
  color: model.value === i ? props.color : undefined,
23416
23449
  disabled: month.isDisabled,
23417
23450
  rounded: true,
@@ -26097,7 +26130,7 @@
26097
26130
  return fixed.replace('.', decimalSeparator.value);
26098
26131
  }
26099
26132
  let [baseDigits, fractionDigits] = fixed.split('.');
26100
- fractionDigits = (fractionDigits ?? '').padEnd(props.minFractionDigits, '0').replace(new RegExp(`(?<=\\d{${props.minFractionDigits}})0`, 'g'), '');
26133
+ fractionDigits = (fractionDigits ?? '').padEnd(props.minFractionDigits, '0').replace(new RegExp(`(?<=\\d{${props.minFractionDigits}})0+$`, 'g'), '');
26101
26134
  return [baseDigits, fractionDigits].filter(Boolean).join(decimalSeparator.value);
26102
26135
  }
26103
26136
  const model = useProxiedModel(props, 'modelValue', null, val => val ?? null, val => val == null ? val ?? null : clamp(Number(val), props.min, props.max));
@@ -31436,7 +31469,7 @@
31436
31469
  };
31437
31470
  });
31438
31471
  }
31439
- const version$1 = "3.9.2-master.2025-07-27";
31472
+ const version$1 = "3.9.2-master.2025-07-29";
31440
31473
  createVuetify$1.version = version$1;
31441
31474
 
31442
31475
  // Vue's inject() can only be used in setup
@@ -31461,7 +31494,7 @@
31461
31494
  ...options
31462
31495
  });
31463
31496
  };
31464
- const version = "3.9.2-master.2025-07-27";
31497
+ const version = "3.9.2-master.2025-07-29";
31465
31498
  createVuetify.version = version;
31466
31499
 
31467
31500
  exports.blueprints = index;