vuetify 3.8.11 → 3.8.12

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 (64) hide show
  1. package/dist/json/attributes.json +3312 -3312
  2. package/dist/json/importMap-labs.json +26 -26
  3. package/dist/json/importMap.json +166 -166
  4. package/dist/json/web-types.json +6235 -6235
  5. package/dist/vuetify-labs.cjs +61 -63
  6. package/dist/vuetify-labs.css +4191 -4191
  7. package/dist/vuetify-labs.d.ts +204 -204
  8. package/dist/vuetify-labs.esm.js +61 -63
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +61 -63
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.cjs +36 -39
  13. package/dist/vuetify.cjs.map +1 -1
  14. package/dist/vuetify.css +4025 -4025
  15. package/dist/vuetify.d.ts +61 -61
  16. package/dist/vuetify.esm.js +36 -39
  17. package/dist/vuetify.esm.js.map +1 -1
  18. package/dist/vuetify.js +36 -39
  19. package/dist/vuetify.js.map +1 -1
  20. package/dist/vuetify.min.css +2 -2
  21. package/dist/vuetify.min.js +34 -35
  22. package/dist/vuetify.min.js.map +1 -1
  23. package/lib/components/VDataTable/VDataTableColumn.js +0 -1
  24. package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
  25. package/lib/components/VDataTable/VDataTableHeaders.js +5 -5
  26. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  27. package/lib/components/VDataTable/composables/sort.js +2 -1
  28. package/lib/components/VDataTable/composables/sort.js.map +1 -1
  29. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -2
  30. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  31. package/lib/components/VOtpInput/VOtpInput.js +17 -14
  32. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  33. package/lib/components/VOverlay/locationStrategies.js +1 -1
  34. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  35. package/lib/components/VTextField/VTextField.js +1 -1
  36. package/lib/components/VTextField/VTextField.js.map +1 -1
  37. package/lib/composables/calendar.d.ts +0 -1
  38. package/lib/composables/calendar.js +6 -10
  39. package/lib/composables/calendar.js.map +1 -1
  40. package/lib/composables/date/adapters/vuetify.js +1 -1
  41. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  42. package/lib/composables/virtual.js +1 -1
  43. package/lib/composables/virtual.js.map +1 -1
  44. package/lib/entry-bundler.js +1 -1
  45. package/lib/framework.d.ts +61 -61
  46. package/lib/framework.js +1 -1
  47. package/lib/labs/VCalendar/VCalendar.d.ts +33 -33
  48. package/lib/labs/VCalendar/VCalendar.js +9 -9
  49. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  50. package/lib/labs/VCalendar/VCalendarDay.d.ts +33 -33
  51. package/lib/labs/VCalendar/VCalendarDay.js +1 -1
  52. package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
  53. package/lib/labs/VCalendar/VCalendarInterval.d.ts +36 -36
  54. package/lib/labs/VCalendar/VCalendarInterval.js +9 -9
  55. package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
  56. package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +12 -12
  57. package/lib/labs/VCalendar/VCalendarIntervalEvent.js +1 -1
  58. package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
  59. package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +36 -36
  60. package/lib/labs/VCalendar/VCalendarMonthDay.js +4 -4
  61. package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
  62. package/lib/labs/VIconBtn/VIconBtn.js +1 -0
  63. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  64. package/package.json +2 -2
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.11
2
+ * Vuetify v3.8.12
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -10470,7 +10470,7 @@
10470
10470
  });
10471
10471
  if (flipped.isFull) {
10472
10472
  const values = flipped.values();
10473
- if (deepEqual(values.at(-1), values.at(-3))) {
10473
+ if (deepEqual(values.at(-1), values.at(-3)) && !deepEqual(values.at(-1), values.at(-2))) {
10474
10474
  // Flipping is causing a container resize loop
10475
10475
  return;
10476
10476
  }
@@ -12416,7 +12416,7 @@
12416
12416
  if (!isFocused.value) focus();
12417
12417
  vue.nextTick(() => {
12418
12418
  if (inputRef.value !== document.activeElement) {
12419
- inputRef.value?.focus();
12419
+ vue.nextTick(() => inputRef.value?.focus());
12420
12420
  }
12421
12421
  });
12422
12422
  }
@@ -12750,7 +12750,7 @@
12750
12750
  raf = requestAnimationFrame(_calculateVisibleItems);
12751
12751
  }
12752
12752
  function _calculateVisibleItems() {
12753
- if (!containerRef.value || !viewportHeight.value) return;
12753
+ if (!containerRef.value || !viewportHeight.value || !itemHeight.value) return;
12754
12754
  const scrollTop = lastScrollTop - markerOffset;
12755
12755
  const direction = Math.sign(scrollVelocity);
12756
12756
  const startPx = Math.max(0, scrollTop - BUFFER_PX);
@@ -17582,7 +17582,7 @@
17582
17582
  case 'fullDate':
17583
17583
  options = {
17584
17584
  year: 'numeric',
17585
- month: 'long',
17585
+ month: 'short',
17586
17586
  day: 'numeric'
17587
17587
  };
17588
17588
  break;
@@ -19570,7 +19570,8 @@
19570
19570
 
19571
19571
  // Dates should be compared numerically
19572
19572
  if (sortA instanceof Date && sortB instanceof Date) {
19573
- return sortA.getTime() - sortB.getTime();
19573
+ sortA = sortA.getTime();
19574
+ sortB = sortB.getTime();
19574
19575
  }
19575
19576
  [sortA, sortB] = [sortA, sortB].map(s => s != null ? s.toString().toLocaleLowerCase() : s);
19576
19577
  if (sortA !== sortB) {
@@ -20294,7 +20295,6 @@
20294
20295
  } = _ref;
20295
20296
  const Tag = props.tag ?? 'td';
20296
20297
  return vue.createVNode(Tag, {
20297
- "tabindex": "0",
20298
20298
  "class": vue.normalizeClass(['v-data-table__td', {
20299
20299
  'v-data-table-column--fixed': props.fixed,
20300
20300
  'v-data-table-column--last-fixed': props.lastFixed,
@@ -20695,14 +20695,14 @@
20695
20695
  },
20696
20696
  "colspan": column.colspan,
20697
20697
  "rowspan": column.rowspan,
20698
- "onClick": column.sortable ? () => toggleSort(column) : undefined,
20699
20698
  "fixed": column.fixed,
20700
20699
  "nowrap": column.nowrap,
20701
20700
  "lastFixed": column.lastFixed,
20702
- "noPadding": noPadding
20703
- }, headerProps, {
20704
- "onKeydown": event => column.sortable && handleEnterKeyPress(event, column)
20705
- }), {
20701
+ "noPadding": noPadding,
20702
+ "tabindex": column.sortable ? 0 : undefined,
20703
+ "onClick": column.sortable ? () => toggleSort(column) : undefined,
20704
+ "onKeydown": column.sortable ? event => handleEnterKeyPress(event, column) : undefined
20705
+ }, headerProps), {
20706
20706
  default: () => {
20707
20707
  const columnSlotName = `header.${column.key}`;
20708
20708
  const columnSlotProps = {
@@ -22378,13 +22378,9 @@
22378
22378
  const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value));
22379
22379
  return adapter.setMonth(date, value);
22380
22380
  }, v => adapter.getMonth(v));
22381
- const weekDays = vue.computed(() => {
22382
- const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
22383
- return props.weekdays.map(day => (day + firstDayOfWeek) % 7);
22384
- });
22385
22381
  const weekdayLabels = vue.computed(() => {
22386
- const labels = adapter.getWeekdays(props.firstDayOfWeek);
22387
- return weekDays.value.map(day => labels[day]);
22382
+ const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
22383
+ return adapter.getWeekdays(props.firstDayOfWeek).filter((_, i) => props.weekdays.includes((i + firstDayOfWeek) % 7));
22388
22384
  });
22389
22385
  const weeksInMonth = vue.computed(() => {
22390
22386
  const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
@@ -22408,13 +22404,14 @@
22408
22404
  });
22409
22405
  function genDays(days, today) {
22410
22406
  return days.filter(date => {
22411
- return weekDays.value.includes(adapter.toJsDate(date).getDay());
22407
+ return props.weekdays.includes(adapter.toJsDate(date).getDay());
22412
22408
  }).map((date, index) => {
22413
22409
  const isoDate = adapter.toISO(date);
22414
22410
  const isAdjacent = !adapter.isSameMonth(date, month.value);
22415
22411
  const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value));
22416
22412
  const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value));
22417
22413
  const isSame = adapter.isSameDay(date, month.value);
22414
+ const weekdaysCount = props.weekdays.length;
22418
22415
  return {
22419
22416
  date,
22420
22417
  formatted: adapter.format(date, 'keyboardDate'),
@@ -22426,8 +22423,8 @@
22426
22423
  isSelected: model.value.some(value => adapter.isSameDay(date, value)),
22427
22424
  isStart,
22428
22425
  isToday: adapter.isSameDay(date, today),
22429
- isWeekEnd: index % 7 === 6,
22430
- isWeekStart: index % 7 === 0,
22426
+ isWeekEnd: index % weekdaysCount === weekdaysCount - 1,
22427
+ isWeekStart: index % weekdaysCount === 0,
22431
22428
  isoDate,
22432
22429
  localized: adapter.format(date, 'dayOfMonth'),
22433
22430
  month: adapter.getMonth(date),
@@ -22474,7 +22471,6 @@
22474
22471
  genDays,
22475
22472
  model,
22476
22473
  weeksInMonth,
22477
- weekDays,
22478
22474
  weekdayLabels,
22479
22475
  weekNumbers
22480
22476
  };
@@ -22515,7 +22511,6 @@
22515
22511
  daysInMonth,
22516
22512
  model,
22517
22513
  weekNumbers,
22518
- weekDays,
22519
22514
  weekdayLabels
22520
22515
  } = useCalendar(props);
22521
22516
  const adapter = useDate();
@@ -22590,7 +22585,7 @@
22590
22585
  useRender(() => vue.createElementVNode("div", {
22591
22586
  "class": "v-date-picker-month",
22592
22587
  "style": {
22593
- '--v-date-picker-days-in-week': weekDays.value.length
22588
+ '--v-date-picker-days-in-week': props.weekdays.length
22594
22589
  }
22595
22590
  }, [props.showWeek && vue.createElementVNode("div", {
22596
22591
  "key": "weeks",
@@ -25661,19 +25656,21 @@
25661
25656
  const contentRef = vue.ref();
25662
25657
  const inputRef = vue.ref([]);
25663
25658
  const current = vue.computed(() => inputRef.value[focusIndex.value]);
25664
- const intersectScope = vue.effectScope();
25665
- intersectScope.run(() => {
25666
- const {
25667
- intersectionRef,
25668
- isIntersecting
25669
- } = useIntersectionObserver();
25670
- vue.watch(isIntersecting, v => {
25671
- if (!v) return;
25672
- intersectionRef.value?.focus();
25673
- intersectScope.stop();
25674
- });
25675
- vue.watchEffect(() => {
25676
- intersectionRef.value = inputRef.value[0];
25659
+ useToggleScope(() => props.autofocus, () => {
25660
+ const intersectScope = vue.effectScope();
25661
+ intersectScope.run(() => {
25662
+ const {
25663
+ intersectionRef,
25664
+ isIntersecting
25665
+ } = useIntersectionObserver();
25666
+ vue.watchEffect(() => {
25667
+ intersectionRef.value = inputRef.value[0];
25668
+ });
25669
+ vue.watch(isIntersecting, v => {
25670
+ if (!v) return;
25671
+ intersectionRef.value?.focus();
25672
+ intersectScope.stop();
25673
+ });
25677
25674
  });
25678
25675
  });
25679
25676
  function onInput() {
@@ -29512,7 +29509,7 @@
29512
29509
  };
29513
29510
  });
29514
29511
  }
29515
- const version$1 = "3.8.11";
29512
+ const version$1 = "3.8.12";
29516
29513
  createVuetify$1.version = version$1;
29517
29514
 
29518
29515
  // Vue's inject() can only be used in setup
@@ -29537,7 +29534,7 @@
29537
29534
  ...options
29538
29535
  });
29539
29536
  };
29540
- const version = "3.8.11";
29537
+ const version = "3.8.12";
29541
29538
  createVuetify.version = version;
29542
29539
 
29543
29540
  exports.blueprints = index;