@vuetify/nightly 3.8.11-master.2025-06-24 → 3.8.11-master.2025-06-30

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 (56) hide show
  1. package/CHANGELOG.md +20 -3
  2. package/dist/json/attributes.json +926 -926
  3. package/dist/json/importMap-labs.json +20 -20
  4. package/dist/json/importMap.json +128 -128
  5. package/dist/json/web-types.json +1587 -1587
  6. package/dist/vuetify-labs.cjs +30 -29
  7. package/dist/vuetify-labs.css +4863 -4863
  8. package/dist/vuetify-labs.d.ts +186 -186
  9. package/dist/vuetify-labs.esm.js +30 -29
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +30 -29
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +13 -13
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3384 -3384
  16. package/dist/vuetify.d.ts +43 -43
  17. package/dist/vuetify.esm.js +13 -13
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +13 -13
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +9 -10
  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/VOverlay/locationStrategies.js +1 -1
  31. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  32. package/lib/components/VTextField/VTextField.js +1 -1
  33. package/lib/components/VTextField/VTextField.js.map +1 -1
  34. package/lib/composables/virtual.js +1 -1
  35. package/lib/composables/virtual.js.map +1 -1
  36. package/lib/entry-bundler.js +1 -1
  37. package/lib/framework.d.ts +43 -43
  38. package/lib/framework.js +1 -1
  39. package/lib/labs/VCalendar/VCalendar.d.ts +33 -33
  40. package/lib/labs/VCalendar/VCalendar.js +1 -1
  41. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  42. package/lib/labs/VCalendar/VCalendarDay.d.ts +33 -33
  43. package/lib/labs/VCalendar/VCalendarDay.js +1 -1
  44. package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
  45. package/lib/labs/VCalendar/VCalendarInterval.d.ts +36 -36
  46. package/lib/labs/VCalendar/VCalendarInterval.js +9 -9
  47. package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
  48. package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +12 -12
  49. package/lib/labs/VCalendar/VCalendarIntervalEvent.js +1 -1
  50. package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
  51. package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +36 -36
  52. package/lib/labs/VCalendar/VCalendarMonthDay.js +4 -4
  53. package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
  54. package/lib/labs/VIconBtn/VIconBtn.js +1 -0
  55. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  56. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.11-master.2025-06-24
2
+ * Vuetify v3.8.11-master.2025-06-30
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -10192,7 +10192,7 @@
10192
10192
  });
10193
10193
  if (flipped.isFull) {
10194
10194
  const values = flipped.values();
10195
- if (deepEqual(values.at(-1), values.at(-3))) {
10195
+ if (deepEqual(values.at(-1), values.at(-3)) && !deepEqual(values.at(-1), values.at(-2))) {
10196
10196
  // Flipping is causing a container resize loop
10197
10197
  return;
10198
10198
  }
@@ -12138,7 +12138,7 @@
12138
12138
  if (!isFocused.value) focus();
12139
12139
  vue.nextTick(() => {
12140
12140
  if (inputRef.value !== document.activeElement) {
12141
- inputRef.value?.focus();
12141
+ vue.nextTick(() => inputRef.value?.focus());
12142
12142
  }
12143
12143
  });
12144
12144
  }
@@ -12472,7 +12472,7 @@
12472
12472
  raf = requestAnimationFrame(_calculateVisibleItems);
12473
12473
  }
12474
12474
  function _calculateVisibleItems() {
12475
- if (!containerRef.value || !viewportHeight.value) return;
12475
+ if (!containerRef.value || !viewportHeight.value || !itemHeight.value) return;
12476
12476
  const scrollTop = lastScrollTop - markerOffset;
12477
12477
  const direction = Math.sign(scrollVelocity);
12478
12478
  const startPx = Math.max(0, scrollTop - BUFFER_PX);
@@ -19292,7 +19292,8 @@
19292
19292
 
19293
19293
  // Dates should be compared numerically
19294
19294
  if (sortA instanceof Date && sortB instanceof Date) {
19295
- return sortA.getTime() - sortB.getTime();
19295
+ sortA = sortA.getTime();
19296
+ sortB = sortB.getTime();
19296
19297
  }
19297
19298
  [sortA, sortB] = [sortA, sortB].map(s => s != null ? s.toString().toLocaleLowerCase() : s);
19298
19299
  if (sortA !== sortB) {
@@ -20016,7 +20017,6 @@
20016
20017
  } = _ref;
20017
20018
  const Tag = props.tag ?? 'td';
20018
20019
  return vue.createVNode(Tag, {
20019
- "tabindex": "0",
20020
20020
  "class": vue.normalizeClass(['v-data-table__td', {
20021
20021
  'v-data-table-column--fixed': props.fixed,
20022
20022
  'v-data-table-column--last-fixed': props.lastFixed,
@@ -20417,14 +20417,14 @@
20417
20417
  },
20418
20418
  "colspan": column.colspan,
20419
20419
  "rowspan": column.rowspan,
20420
- "onClick": column.sortable ? () => toggleSort(column) : undefined,
20421
20420
  "fixed": column.fixed,
20422
20421
  "nowrap": column.nowrap,
20423
20422
  "lastFixed": column.lastFixed,
20424
- "noPadding": noPadding
20425
- }, headerProps, {
20426
- "onKeydown": event => column.sortable && handleEnterKeyPress(event, column)
20427
- }), {
20423
+ "noPadding": noPadding,
20424
+ "tabindex": column.sortable ? 0 : undefined,
20425
+ "onClick": column.sortable ? () => toggleSort(column) : undefined,
20426
+ "onKeydown": column.sortable ? event => handleEnterKeyPress(event, column) : undefined
20427
+ }, headerProps), {
20428
20428
  default: () => {
20429
20429
  const columnSlotName = `header.${column.key}`;
20430
20430
  const columnSlotProps = {
@@ -28809,7 +28809,7 @@
28809
28809
  }
28810
28810
  };
28811
28811
  useRender(() => {
28812
- return vue.createElementVNode("div", null, [slots.intervalEvent?.({
28812
+ return vue.createElementVNode("div", null, [slots['interval-event']?.({
28813
28813
  height: calcHeight().height,
28814
28814
  margin: calcHeight().margin,
28815
28815
  eventClass: 'v-calendar-internal-event',
@@ -28906,13 +28906,13 @@
28906
28906
  "style": vue.normalizeStyle(`height: ${convertToUnit(props.intervalHeight)}`)
28907
28907
  }, [vue.createElementVNode("div", vue.mergeProps({
28908
28908
  "class": "v-calendar-day__row-label"
28909
- }, getPrefixedEventHandlers(attrs, ':time', () => props)), [slots.intervalTitle?.({
28909
+ }, getPrefixedEventHandlers(attrs, ':time', () => props)), [slots['interval-title']?.({
28910
28910
  interval: interval.value
28911
28911
  }) ?? (props.index ? props.intervalFormat ? typeof props.intervalFormat === 'string' ? adapter.format(interval.value.start, 'hours12h') : props.intervalFormat(interval.value) : interval.value.label : '12 AM')]), vue.createElementVNode("div", {
28912
28912
  "class": "v-calendar-day__row-hairline"
28913
28913
  }, null), vue.createElementVNode("div", vue.mergeProps({
28914
28914
  "class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
28915
- }, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots.intervalBody?.({
28915
+ }, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots['interval-body']?.({
28916
28916
  interval: interval.value
28917
28917
  }) ?? vue.createElementVNode("div", null, [interval.value.events?.map(event => vue.createVNode(VCalendarIntervalEvent, vue.mergeProps({
28918
28918
  "event": event,
@@ -28921,8 +28921,8 @@
28921
28921
  "intervalDuration": props.intervalDuration,
28922
28922
  "intervalHeight": props.intervalHeight
28923
28923
  }, attrs), {
28924
- ...(slots.intervalEvent ? {
28925
- intervalEvent: _ref2 => {
28924
+ ...(slots['interval-event'] ? {
28925
+ 'interval-event': _ref2 => {
28926
28926
  let {
28927
28927
  height,
28928
28928
  margin,
@@ -28930,7 +28930,7 @@
28930
28930
  event,
28931
28931
  interval
28932
28932
  } = _ref2;
28933
- return slots.intervalEvent?.({
28933
+ return slots['interval-event']?.({
28934
28934
  height,
28935
28935
  margin,
28936
28936
  eventClass,
@@ -28944,7 +28944,7 @@
28944
28944
  "style": vue.normalizeStyle(`height: ${convertToUnit(props.intervalHeight)}`)
28945
28945
  }, [vue.createElementVNode("div", vue.mergeProps({
28946
28946
  "class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
28947
- }, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots.intervalBody?.({
28947
+ }, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots['interval-body']?.({
28948
28948
  interval: interval.value
28949
28949
  }) ?? interval.value.events?.map(event => vue.createVNode(VCalendarIntervalEvent, vue.mergeProps({
28950
28950
  "event": event,
@@ -28953,8 +28953,8 @@
28953
28953
  "intervalDuration": props.intervalDuration,
28954
28954
  "intervalHeight": props.intervalHeight
28955
28955
  }, attrs), {
28956
- ...(slots.intervalEvent ? {
28957
- intervalEvent: _ref3 => {
28956
+ ...(slots['interval-event'] ? {
28957
+ 'interval-event': _ref3 => {
28958
28958
  let {
28959
28959
  height,
28960
28960
  margin,
@@ -28962,7 +28962,7 @@
28962
28962
  event,
28963
28963
  interval
28964
28964
  } = _ref3;
28965
- return slots.intervalEvent?.({
28965
+ return slots['interval-event']?.({
28966
28966
  height,
28967
28967
  margin,
28968
28968
  eventClass,
@@ -29017,7 +29017,7 @@
29017
29017
  }), null)])]), intervals.value.map((_, index) => slots.interval?.(calendarIntervalProps) ?? vue.createVNode(VCalendarInterval, vue.mergeProps({
29018
29018
  "index": index
29019
29019
  }, calendarIntervalProps, attrs, getPrefixedEventHandlers(attrs, ':interval', () => calendarIntervalProps)), {
29020
- ...pick(slots, ['intervalBody', 'intervalEvent', 'intervalTitle'])
29020
+ ...pick(slots, ['interval-body', 'interval-event', 'interval-title'])
29021
29021
  }))]);
29022
29022
  });
29023
29023
  return {
@@ -29161,7 +29161,7 @@
29161
29161
  }, getPrefixedEventHandlers(attrs, ':day', () => props)), [!props.day?.isHidden ? vue.createElementVNode("div", {
29162
29162
  "key": "title",
29163
29163
  "class": "v-calendar-weekly__day-label"
29164
- }, [slots.dayTitle?.({
29164
+ }, [slots['day-title']?.({
29165
29165
  title: props.title
29166
29166
  }) ?? vue.createVNode(VBtn, vue.mergeProps({
29167
29167
  "class": props.day?.isToday ? 'v-calendar-weekly__day-label__today' : undefined,
@@ -29174,12 +29174,12 @@
29174
29174
  }, getPrefixedEventHandlers(attrs, ':date', () => props)), null)]) : undefined, !props.day?.isHidden ? vue.createElementVNode("div", {
29175
29175
  "key": "content",
29176
29176
  "class": "v-calendar-weekly__day-content"
29177
- }, [slots.dayBody?.({
29177
+ }, [slots['day-body']?.({
29178
29178
  day: props.day,
29179
29179
  events: props.events
29180
29180
  }) ?? vue.createElementVNode("div", null, [vue.createElementVNode("div", {
29181
29181
  "class": "v-calendar-weekly__day-alldayevents-container"
29182
- }, [props.events?.filter(event => event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
29182
+ }, [props.events?.filter(event => event.allDay).map(event => slots['day-event'] ? slots['day-event']({
29183
29183
  day: props.day,
29184
29184
  allDay: true,
29185
29185
  event
@@ -29189,7 +29189,7 @@
29189
29189
  "allDay": true
29190
29190
  }, attrs), null))]), vue.createElementVNode("div", {
29191
29191
  "class": "v-calendar-weekly__day-events-container"
29192
- }, [props.events?.filter(event => !event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
29192
+ }, [props.events?.filter(event => !event.allDay).map(event => slots['day-event'] ? slots['day-event']({
29193
29193
  day: props.day,
29194
29194
  event,
29195
29195
  allDay: false
@@ -29330,7 +29330,7 @@
29330
29330
  "dayIndex": i,
29331
29331
  "events": props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date))
29332
29332
  }, attrs), {
29333
- ...pick(slots, ['interval', 'intervalBody', 'intervalEvent', 'intervalTitle'])
29333
+ ...pick(slots, ['interval', 'interval-body', 'interval-event', 'interval-title'])
29334
29334
  })), props.viewMode === 'day' && (slots['day-interval'] ? slots['day-interval']({
29335
29335
  day: genDays([displayValue.value], adapter.date())[0],
29336
29336
  dayIndex: 0,
@@ -30250,6 +30250,7 @@
30250
30250
  opacity: props.opacity
30251
30251
  };
30252
30252
  return vue.createVNode(props.tag, {
30253
+ "type": props.tag === 'button' ? 'button' : undefined,
30253
30254
  "class": vue.normalizeClass([{
30254
30255
  'v-icon-btn': true,
30255
30256
  'v-icon-btn--active': isActive.value,
@@ -32202,7 +32203,7 @@
32202
32203
  };
32203
32204
  });
32204
32205
  }
32205
- const version$1 = "3.8.11-master.2025-06-24";
32206
+ const version$1 = "3.8.11-master.2025-06-30";
32206
32207
  createVuetify$1.version = version$1;
32207
32208
 
32208
32209
  // Vue's inject() can only be used in setup
@@ -32500,7 +32501,7 @@
32500
32501
 
32501
32502
  /* eslint-disable local-rules/sort-imports */
32502
32503
 
32503
- const version = "3.8.11-master.2025-06-24";
32504
+ const version = "3.8.11-master.2025-06-30";
32504
32505
 
32505
32506
  /* eslint-disable local-rules/sort-imports */
32506
32507