@vuetify/nightly 3.9.0-beta.1-dev.2025-06-28 → 3.9.0-beta.1-dev.2025-07-02

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 (65) hide show
  1. package/CHANGELOG.md +100 -3
  2. package/dist/json/attributes.json +725 -725
  3. package/dist/json/importMap-labs.json +30 -30
  4. package/dist/json/importMap.json +156 -156
  5. package/dist/json/web-types.json +1311 -1311
  6. package/dist/vuetify-labs.cjs +61 -63
  7. package/dist/vuetify-labs.css +4207 -4207
  8. package/dist/vuetify-labs.d.ts +203 -203
  9. package/dist/vuetify-labs.esm.js +61 -63
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +61 -63
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +36 -39
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +4469 -4469
  16. package/dist/vuetify.d.ts +60 -60
  17. package/dist/vuetify.esm.js +36 -39
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +36 -39
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +34 -35
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VDataTable/VDataTableColumn.js +0 -1
  25. package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
  26. package/lib/components/VDataTable/VDataTableHeaders.js +5 -5
  27. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  28. package/lib/components/VDataTable/composables/sort.js +2 -1
  29. package/lib/components/VDataTable/composables/sort.js.map +1 -1
  30. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -2
  31. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  32. package/lib/components/VOtpInput/VOtpInput.js +17 -14
  33. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  34. package/lib/components/VOverlay/locationStrategies.js +1 -1
  35. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  36. package/lib/components/VTextField/VTextField.js +1 -1
  37. package/lib/components/VTextField/VTextField.js.map +1 -1
  38. package/lib/composables/calendar.d.ts +0 -1
  39. package/lib/composables/calendar.js +6 -10
  40. package/lib/composables/calendar.js.map +1 -1
  41. package/lib/composables/date/adapters/vuetify.js +1 -1
  42. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  43. package/lib/composables/virtual.js +1 -1
  44. package/lib/composables/virtual.js.map +1 -1
  45. package/lib/entry-bundler.js +1 -1
  46. package/lib/framework.d.ts +60 -60
  47. package/lib/framework.js +1 -1
  48. package/lib/labs/VCalendar/VCalendar.d.ts +33 -33
  49. package/lib/labs/VCalendar/VCalendar.js +9 -9
  50. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  51. package/lib/labs/VCalendar/VCalendarDay.d.ts +33 -33
  52. package/lib/labs/VCalendar/VCalendarDay.js +1 -1
  53. package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
  54. package/lib/labs/VCalendar/VCalendarInterval.d.ts +36 -36
  55. package/lib/labs/VCalendar/VCalendarInterval.js +9 -9
  56. package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
  57. package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +12 -12
  58. package/lib/labs/VCalendar/VCalendarIntervalEvent.js +1 -1
  59. package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
  60. package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +36 -36
  61. package/lib/labs/VCalendar/VCalendarMonthDay.js +4 -4
  62. package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
  63. package/lib/labs/VIconBtn/VIconBtn.js +1 -0
  64. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  65. package/package.json +1 -1
package/dist/vuetify.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.9.0-beta.1-dev.2025-06-28
2
+ * Vuetify v3.9.0-beta.1-dev.2025-07-02
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -10734,7 +10734,7 @@
10734
10734
  });
10735
10735
  if (flipped.isFull) {
10736
10736
  const values = flipped.values();
10737
- if (deepEqual(values.at(-1), values.at(-3))) {
10737
+ if (deepEqual(values.at(-1), values.at(-3)) && !deepEqual(values.at(-1), values.at(-2))) {
10738
10738
  // Flipping is causing a container resize loop
10739
10739
  return;
10740
10740
  }
@@ -12584,7 +12584,7 @@
12584
12584
  if (!isFocused.value) focus();
12585
12585
  vue.nextTick(() => {
12586
12586
  if (inputRef.value !== document.activeElement) {
12587
- inputRef.value?.focus();
12587
+ vue.nextTick(() => inputRef.value?.focus());
12588
12588
  }
12589
12589
  });
12590
12590
  }
@@ -12923,7 +12923,7 @@
12923
12923
  raf = requestAnimationFrame(_calculateVisibleItems);
12924
12924
  }
12925
12925
  function _calculateVisibleItems() {
12926
- if (!containerRef.value || !viewportHeight.value) return;
12926
+ if (!containerRef.value || !viewportHeight.value || !itemHeight.value) return;
12927
12927
  const scrollTop = lastScrollTop - markerOffset;
12928
12928
  const direction = Math.sign(scrollVelocity);
12929
12929
  const startPx = Math.max(0, scrollTop - BUFFER_PX);
@@ -17806,7 +17806,7 @@
17806
17806
  case 'fullDate':
17807
17807
  options = {
17808
17808
  year: 'numeric',
17809
- month: 'long',
17809
+ month: 'short',
17810
17810
  day: 'numeric'
17811
17811
  };
17812
17812
  break;
@@ -20123,7 +20123,8 @@
20123
20123
 
20124
20124
  // Dates should be compared numerically
20125
20125
  if (sortA instanceof Date && sortB instanceof Date) {
20126
- return sortA.getTime() - sortB.getTime();
20126
+ sortA = sortA.getTime();
20127
+ sortB = sortB.getTime();
20127
20128
  }
20128
20129
  [sortA, sortB] = [sortA, sortB].map(s => s != null ? s.toString().toLocaleLowerCase() : s);
20129
20130
  if (sortA !== sortB) {
@@ -20847,7 +20848,6 @@
20847
20848
  } = _ref;
20848
20849
  const Tag = props.tag ?? 'td';
20849
20850
  return vue.createVNode(Tag, {
20850
- "tabindex": "0",
20851
20851
  "class": vue.normalizeClass(['v-data-table__td', {
20852
20852
  'v-data-table-column--fixed': props.fixed,
20853
20853
  'v-data-table-column--last-fixed': props.lastFixed,
@@ -21250,14 +21250,14 @@
21250
21250
  },
21251
21251
  "colspan": column.colspan,
21252
21252
  "rowspan": column.rowspan,
21253
- "onClick": column.sortable ? () => toggleSort(column) : undefined,
21254
21253
  "fixed": column.fixed,
21255
21254
  "nowrap": column.nowrap,
21256
21255
  "lastFixed": column.lastFixed,
21257
- "noPadding": noPadding
21258
- }, headerProps, {
21259
- "onKeydown": event => column.sortable && handleEnterKeyPress(event, column)
21260
- }), {
21256
+ "noPadding": noPadding,
21257
+ "tabindex": column.sortable ? 0 : undefined,
21258
+ "onClick": column.sortable ? () => toggleSort(column) : undefined,
21259
+ "onKeydown": column.sortable ? event => handleEnterKeyPress(event, column) : undefined
21260
+ }, headerProps), {
21261
21261
  default: () => {
21262
21262
  const columnSlotName = `header.${column.key}`;
21263
21263
  const columnSlotProps = {
@@ -22943,13 +22943,9 @@
22943
22943
  const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value));
22944
22944
  return adapter.setMonth(date, value);
22945
22945
  }, v => adapter.getMonth(v));
22946
- const weekDays = vue.computed(() => {
22947
- const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
22948
- return props.weekdays.map(day => (day + firstDayOfWeek) % 7);
22949
- });
22950
22946
  const weekdayLabels = vue.computed(() => {
22951
- const labels = adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat);
22952
- return weekDays.value.map(day => labels[day]);
22947
+ const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
22948
+ return adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat).filter((_, i) => props.weekdays.includes((i + firstDayOfWeek) % 7));
22953
22949
  });
22954
22950
  const weeksInMonth = vue.computed(() => {
22955
22951
  const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
@@ -22973,13 +22969,14 @@
22973
22969
  });
22974
22970
  function genDays(days, today) {
22975
22971
  return days.filter(date => {
22976
- return weekDays.value.includes(adapter.toJsDate(date).getDay());
22972
+ return props.weekdays.includes(adapter.toJsDate(date).getDay());
22977
22973
  }).map((date, index) => {
22978
22974
  const isoDate = adapter.toISO(date);
22979
22975
  const isAdjacent = !adapter.isSameMonth(date, month.value);
22980
22976
  const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value));
22981
22977
  const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value));
22982
22978
  const isSame = adapter.isSameDay(date, month.value);
22979
+ const weekdaysCount = props.weekdays.length;
22983
22980
  return {
22984
22981
  date,
22985
22982
  formatted: adapter.format(date, 'keyboardDate'),
@@ -22991,8 +22988,8 @@
22991
22988
  isSelected: model.value.some(value => adapter.isSameDay(date, value)),
22992
22989
  isStart,
22993
22990
  isToday: adapter.isSameDay(date, today),
22994
- isWeekEnd: index % 7 === 6,
22995
- isWeekStart: index % 7 === 0,
22991
+ isWeekEnd: index % weekdaysCount === weekdaysCount - 1,
22992
+ isWeekStart: index % weekdaysCount === 0,
22996
22993
  isoDate,
22997
22994
  localized: adapter.format(date, 'dayOfMonth'),
22998
22995
  month: adapter.getMonth(date),
@@ -23039,7 +23036,6 @@
23039
23036
  genDays,
23040
23037
  model,
23041
23038
  weeksInMonth,
23042
- weekDays,
23043
23039
  weekdayLabels,
23044
23040
  weekNumbers
23045
23041
  };
@@ -23080,7 +23076,6 @@
23080
23076
  daysInMonth,
23081
23077
  model,
23082
23078
  weekNumbers,
23083
- weekDays,
23084
23079
  weekdayLabels
23085
23080
  } = useCalendar(props);
23086
23081
  const adapter = useDate();
@@ -23155,7 +23150,7 @@
23155
23150
  useRender(() => vue.createElementVNode("div", {
23156
23151
  "class": "v-date-picker-month",
23157
23152
  "style": {
23158
- '--v-date-picker-days-in-week': weekDays.value.length
23153
+ '--v-date-picker-days-in-week': props.weekdays.length
23159
23154
  }
23160
23155
  }, [props.showWeek && vue.createElementVNode("div", {
23161
23156
  "key": "weeks",
@@ -26326,19 +26321,21 @@
26326
26321
  const contentRef = vue.ref();
26327
26322
  const inputRef = vue.ref([]);
26328
26323
  const current = vue.computed(() => inputRef.value[focusIndex.value]);
26329
- const intersectScope = vue.effectScope();
26330
- intersectScope.run(() => {
26331
- const {
26332
- intersectionRef,
26333
- isIntersecting
26334
- } = useIntersectionObserver();
26335
- vue.watch(isIntersecting, v => {
26336
- if (!v) return;
26337
- intersectionRef.value?.focus();
26338
- intersectScope.stop();
26339
- });
26340
- vue.watchEffect(() => {
26341
- intersectionRef.value = inputRef.value[0];
26324
+ useToggleScope(() => props.autofocus, () => {
26325
+ const intersectScope = vue.effectScope();
26326
+ intersectScope.run(() => {
26327
+ const {
26328
+ intersectionRef,
26329
+ isIntersecting
26330
+ } = useIntersectionObserver();
26331
+ vue.watchEffect(() => {
26332
+ intersectionRef.value = inputRef.value[0];
26333
+ });
26334
+ vue.watch(isIntersecting, v => {
26335
+ if (!v) return;
26336
+ intersectionRef.value?.focus();
26337
+ intersectScope.stop();
26338
+ });
26342
26339
  });
26343
26340
  });
26344
26341
  function onInput() {
@@ -31237,7 +31234,7 @@
31237
31234
  };
31238
31235
  });
31239
31236
  }
31240
- const version$1 = "3.9.0-beta.1-dev.2025-06-28";
31237
+ const version$1 = "3.9.0-beta.1-dev.2025-07-02";
31241
31238
  createVuetify$1.version = version$1;
31242
31239
 
31243
31240
  // Vue's inject() can only be used in setup
@@ -31262,7 +31259,7 @@
31262
31259
  ...options
31263
31260
  });
31264
31261
  };
31265
- const version = "3.9.0-beta.1-dev.2025-06-28";
31262
+ const version = "3.9.0-beta.1-dev.2025-07-02";
31266
31263
  createVuetify.version = version;
31267
31264
 
31268
31265
  exports.blueprints = index;