@vuetify/nightly 3.9.3-master.2025-08-03 → 3.9.3-master.2025-08-05

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 (81) hide show
  1. package/CHANGELOG.md +7 -6
  2. package/dist/json/attributes.json +3159 -3171
  3. package/dist/json/importMap-labs.json +42 -42
  4. package/dist/json/importMap.json +174 -174
  5. package/dist/json/tags.json +1 -4
  6. package/dist/json/web-types.json +5928 -6047
  7. package/dist/vuetify-labs.cjs +30 -71
  8. package/dist/vuetify-labs.css +3504 -3503
  9. package/dist/vuetify-labs.d.ts +86 -160
  10. package/dist/vuetify-labs.esm.js +30 -71
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +30 -71
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +26 -70
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +4352 -4351
  17. package/dist/vuetify.d.ts +81 -132
  18. package/dist/vuetify.esm.js +26 -70
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +26 -70
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +245 -251
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VColorPicker/VColorPickerCanvas.css +1 -0
  26. package/lib/components/VColorPicker/VColorPickerCanvas.sass +1 -0
  27. package/lib/components/VDataIterator/VDataIterator.d.ts +2 -2
  28. package/lib/components/VDataIterator/VDataIterator.js +1 -1
  29. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  30. package/lib/components/VDataTable/VDataTable.d.ts +4 -6
  31. package/lib/components/VDataTable/VDataTable.js +1 -1
  32. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  33. package/lib/components/VDataTable/VDataTableRows.d.ts +11 -14
  34. package/lib/components/VDataTable/VDataTableRows.js +0 -9
  35. package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
  36. package/lib/components/VDataTable/VDataTableServer.d.ts +2 -4
  37. package/lib/components/VDataTable/VDataTableServer.js +1 -1
  38. package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
  39. package/lib/components/VDataTable/VDataTableVirtual.d.ts +2 -4
  40. package/lib/components/VDataTable/VDataTableVirtual.js +1 -1
  41. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  42. package/lib/components/VDataTable/composables/group.d.ts +5 -13
  43. package/lib/components/VDataTable/composables/group.js +5 -11
  44. package/lib/components/VDataTable/composables/group.js.map +1 -1
  45. package/lib/components/VDataTable/composables/paginate.d.ts +3 -3
  46. package/lib/components/VDataTable/composables/paginate.js.map +1 -1
  47. package/lib/components/VDataTable/types.d.ts +1 -7
  48. package/lib/components/VDataTable/types.js.map +1 -1
  49. package/lib/components/VDatePicker/VDatePicker.d.ts +0 -25
  50. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +0 -25
  51. package/lib/components/VOverlay/scrollStrategies.js +7 -7
  52. package/lib/components/VOverlay/scrollStrategies.js.map +1 -1
  53. package/lib/components/VTreeview/VTreeviewChildren.d.ts +2 -20
  54. package/lib/components/VTreeview/VTreeviewChildren.js +2 -7
  55. package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
  56. package/lib/composables/calendar.d.ts +0 -12
  57. package/lib/composables/calendar.js +1 -5
  58. package/lib/composables/calendar.js.map +1 -1
  59. package/lib/composables/date/DateAdapter.d.ts +1 -1
  60. package/lib/composables/date/DateAdapter.js.map +1 -1
  61. package/lib/composables/date/adapters/string.d.ts +1 -1
  62. package/lib/composables/date/adapters/string.js +2 -2
  63. package/lib/composables/date/adapters/string.js.map +1 -1
  64. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  65. package/lib/composables/date/adapters/vuetify.js +5 -25
  66. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  67. package/lib/composables/date/date.d.ts +1 -1
  68. package/lib/entry-bundler.d.ts +1 -1
  69. package/lib/entry-bundler.js +1 -1
  70. package/lib/framework.d.ts +66 -66
  71. package/lib/framework.js +1 -1
  72. package/lib/labs/VCalendar/VCalendar.d.ts +0 -25
  73. package/lib/labs/VDateInput/VDateInput.d.ts +0 -25
  74. package/lib/labs/VVideo/VVideo.css +3 -3
  75. package/lib/labs/VVideo/VVideo.d.ts +10 -0
  76. package/lib/labs/VVideo/VVideo.js +4 -1
  77. package/lib/labs/VVideo/VVideo.js.map +1 -1
  78. package/lib/labs/VVideo/VVideo.sass +2 -2
  79. package/lib/labs/VVideo/_variables.scss +3 -2
  80. package/lib/labs/entry-bundler.d.ts +1 -1
  81. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.9.3-master.2025-08-03
2
+ * Vuetify v3.9.3-master.2025-08-05
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -10929,11 +10929,11 @@ function closeScrollStrategy(data) {
10929
10929
  function onScroll(e) {
10930
10930
  data.isActive.value = false;
10931
10931
  }
10932
- bindScroll(data.target.value ?? data.contentEl.value, onScroll);
10932
+ bindScroll(getTargetEl(data.target.value, data.contentEl.value), onScroll);
10933
10933
  }
10934
10934
  function blockScrollStrategy(data, props) {
10935
10935
  const offsetParent = data.root.value?.offsetParent;
10936
- const target = Array.isArray(data.target.value) ? document.elementFromPoint(...data.target.value) : data.target.value;
10936
+ const target = getTargetEl(data.target.value, data.contentEl.value);
10937
10937
  const scrollElements = [...new Set([...getScrollParents(target, props.contained ? offsetParent : undefined), ...getScrollParents(data.contentEl.value, props.contained ? offsetParent : undefined)])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'));
10938
10938
  const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth;
10939
10939
  const scrollableParent = (el => hasScrollbar(el) && el)(offsetParent || document.documentElement);
@@ -10981,7 +10981,7 @@ function repositionScrollStrategy(data, props, scope) {
10981
10981
  }
10982
10982
  ric = (typeof requestIdleCallback === 'undefined' ? cb => cb() : requestIdleCallback)(() => {
10983
10983
  scope.run(() => {
10984
- bindScroll(data.target.value ?? data.contentEl.value, e => {
10984
+ bindScroll(getTargetEl(data.target.value, data.contentEl.value), e => {
10985
10985
  if (slow) {
10986
10986
  // If the position calculation is slow,
10987
10987
  // defer updates until scrolling is finished.
@@ -11004,10 +11004,10 @@ function repositionScrollStrategy(data, props, scope) {
11004
11004
  cancelAnimationFrame(raf);
11005
11005
  });
11006
11006
  }
11007
-
11008
- /** @private */
11009
- function bindScroll(target, onScroll) {
11010
- const el = Array.isArray(target) ? document.elementFromPoint(...target) : target;
11007
+ function getTargetEl(target, contentEl) {
11008
+ return Array.isArray(target) ? document.elementsFromPoint(...target).find(el => !contentEl?.contains(el)) : target ?? contentEl;
11009
+ }
11010
+ function bindScroll(el, onScroll) {
11011
11011
  const scrollElements = [document, ...getScrollParents(el)];
11012
11012
  scrollElements.forEach(el => {
11013
11013
  el.addEventListener('scroll', onScroll, {
@@ -17961,35 +17961,16 @@ function getYear(date) {
17961
17961
  function getMonth(date) {
17962
17962
  return date.getMonth();
17963
17963
  }
17964
- function getWeek(date, locale, firstDayOfWeek, firstDayOfYear) {
17964
+ function getWeek(date, locale, firstDayOfWeek, firstWeekMinSize) {
17965
17965
  const weekInfoFromLocale = weekInfo(locale);
17966
17966
  const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0;
17967
- const minWeekSize = weekInfoFromLocale?.firstWeekSize ?? 1;
17968
- return firstDayOfYear !== undefined ? calculateWeekWithFirstDayOfYear(date, locale, weekStart, firstDayOfYear) : calculateWeekWithMinWeekSize(date, locale, weekStart, minWeekSize);
17969
- }
17970
- function calculateWeekWithFirstDayOfYear(date, locale, weekStart, firstDayOfYear) {
17971
- const firstDayOfYearOffset = (7 + firstDayOfYear - weekStart) % 7;
17972
- const currentWeekStart = startOfWeek(date, locale, weekStart);
17973
- const currentWeekEnd = addDays(currentWeekStart, 6);
17974
- function yearStartWeekdayOffset(year) {
17975
- return (7 + new Date(year, 0, 1).getDay() - weekStart) % 7;
17976
- }
17977
- let year = getYear(date);
17978
- if (year < getYear(currentWeekEnd) && yearStartWeekdayOffset(year + 1) <= firstDayOfYearOffset) {
17979
- year++;
17980
- }
17981
- const yearStart = new Date(year, 0, 1);
17982
- const offset = yearStartWeekdayOffset(year);
17983
- const d1w1 = offset <= firstDayOfYearOffset ? addDays(yearStart, -offset) : addDays(yearStart, 7 - offset);
17984
- return 1 + getDiff(endOfDay(date), startOfDay(d1w1), 'weeks');
17985
- }
17986
- function calculateWeekWithMinWeekSize(date, locale, weekStart, minWeekSize) {
17987
- const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
17967
+ const minWeekSize = firstWeekMinSize ?? weekInfoFromLocale?.firstWeekSize ?? 1;
17988
17968
  function firstWeekSize(year) {
17989
17969
  const yearStart = new Date(year, 0, 1);
17990
17970
  return 7 - getDiff(yearStart, startOfWeek(yearStart, locale, weekStart), 'days');
17991
17971
  }
17992
17972
  let year = getYear(date);
17973
+ const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
17993
17974
  if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) {
17994
17975
  year++;
17995
17976
  }
@@ -18211,10 +18192,9 @@ class VuetifyDateAdapter {
18211
18192
  getMonth(date) {
18212
18193
  return getMonth(date);
18213
18194
  }
18214
- getWeek(date, firstDayOfWeek, firstDayOfYear) {
18195
+ getWeek(date, firstDayOfWeek, firstWeekMinSize) {
18215
18196
  const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
18216
- const firstWeekStart = firstDayOfYear !== undefined ? Number(firstDayOfYear) : undefined;
18217
- return getWeek(date, this.locale, firstDay, firstWeekStart);
18197
+ return getWeek(date, this.locale, firstDay, firstWeekMinSize);
18218
18198
  }
18219
18199
  getDate(date) {
18220
18200
  return getDate(date);
@@ -19582,7 +19562,7 @@ function groupItems(items, groupBy) {
19582
19562
  });
19583
19563
  return groups;
19584
19564
  }
19585
- function flattenItems(items, opened, hasSummary) {
19565
+ function flattenItems(items, opened) {
19586
19566
  const flatItems = [];
19587
19567
  for (const item of items) {
19588
19568
  // TODO: make this better
@@ -19591,13 +19571,7 @@ function flattenItems(items, opened, hasSummary) {
19591
19571
  flatItems.push(item);
19592
19572
  }
19593
19573
  if (opened.has(item.id) || item.value == null) {
19594
- flatItems.push(...flattenItems(item.items, opened, hasSummary));
19595
- if (hasSummary) {
19596
- flatItems.push({
19597
- ...item,
19598
- type: 'group-summary'
19599
- });
19600
- }
19574
+ flatItems.push(...flattenItems(item.items, opened));
19601
19575
  }
19602
19576
  } else {
19603
19577
  flatItems.push(item);
@@ -19605,11 +19579,11 @@ function flattenItems(items, opened, hasSummary) {
19605
19579
  }
19606
19580
  return flatItems;
19607
19581
  }
19608
- function useGroupedItems(items, groupBy, opened, hasSummary) {
19582
+ function useGroupedItems(items, groupBy, opened) {
19609
19583
  const flatItems = computed(() => {
19610
19584
  if (!groupBy.value.length) return items.value;
19611
19585
  const groupedItems = groupItems(items.value, groupBy.value.map(item => item.key));
19612
- return flattenItems(groupedItems, opened.value, toValue(hasSummary));
19586
+ return flattenItems(groupedItems, opened.value);
19613
19587
  });
19614
19588
  return {
19615
19589
  flatItems
@@ -20227,7 +20201,7 @@ const VDataIterator = genericComponent()({
20227
20201
  });
20228
20202
  const {
20229
20203
  flatItems
20230
- } = useGroupedItems(sortedItems, groupBy, opened, false);
20204
+ } = useGroupedItems(sortedItems, groupBy, opened);
20231
20205
  const itemsLength = toRef(() => flatItems.value.length);
20232
20206
  const {
20233
20207
  startIndex,
@@ -21678,15 +21652,6 @@ const VDataTableRows = genericComponent()({
21678
21652
  "item": item
21679
21653
  }, getPrefixedEventHandlers(attrs, ':group-header', () => slotProps)), slots);
21680
21654
  }
21681
- if (item.type === 'group-summary') {
21682
- const slotProps = {
21683
- index,
21684
- item,
21685
- columns: columns.value,
21686
- toggleGroup
21687
- };
21688
- return slots['group-summary']?.(slotProps) ?? '';
21689
- }
21690
21655
  const slotProps = {
21691
21656
  index,
21692
21657
  item: item.raw,
@@ -21945,7 +21910,7 @@ const VDataTable = genericComponent()({
21945
21910
  });
21946
21911
  const {
21947
21912
  flatItems
21948
- } = useGroupedItems(sortedItems, groupBy, opened, () => !!slots['group-summary']);
21913
+ } = useGroupedItems(sortedItems, groupBy, opened);
21949
21914
  const itemsLength = computed(() => flatItems.value.length);
21950
21915
  const {
21951
21916
  startIndex,
@@ -22133,7 +22098,7 @@ const VDataTableVirtual = genericComponent()({
22133
22098
  });
22134
22099
  const {
22135
22100
  flatItems
22136
- } = useGroupedItems(sortedItems, groupBy, opened, () => !!slots['group-summary']);
22101
+ } = useGroupedItems(sortedItems, groupBy, opened);
22137
22102
  const allItems = computed(() => extractRows(flatItems.value));
22138
22103
  const {
22139
22104
  isSelected,
@@ -22362,7 +22327,7 @@ const VDataTableServer = genericComponent()({
22362
22327
  });
22363
22328
  const {
22364
22329
  flatItems
22365
- } = useGroupedItems(items, groupBy, opened, () => !!slots['group-summary']);
22330
+ } = useGroupedItems(items, groupBy, opened);
22366
22331
  const {
22367
22332
  isSelected,
22368
22333
  select,
@@ -22954,10 +22919,6 @@ const makeCalendarProps = propsFactory({
22954
22919
  type: [Number, String],
22955
22920
  default: undefined
22956
22921
  },
22957
- firstDayOfYear: {
22958
- type: [Number, String],
22959
- default: undefined
22960
- },
22961
22922
  weekdayFormat: String
22962
22923
  }, 'calendar');
22963
22924
  function useCalendar(props) {
@@ -23049,7 +23010,7 @@ function useCalendar(props) {
23049
23010
  });
23050
23011
  const weekNumbers = computed(() => {
23051
23012
  return weeksInMonth.value.map(week => {
23052
- return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek, props.firstDayOfYear) : null;
23013
+ return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null;
23053
23014
  });
23054
23015
  });
23055
23016
  function isDisabled(value) {
@@ -30640,19 +30601,14 @@ const VTreeviewChildren = genericComponent()({
30640
30601
  onToggleExpand: [() => checkChildren(item), activatorProps.onClick],
30641
30602
  onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected)
30642
30603
  };
30643
- return renderSlot(slots.header, {
30644
- props: listItemProps,
30645
- item: item.raw,
30646
- internalItem: item,
30647
- loading
30648
- }, () => createVNode(VTreeviewItem, mergeProps({
30604
+ return createVNode(VTreeviewItem, mergeProps({
30649
30605
  "ref": el => activatorItems.value[index] = el
30650
30606
  }, listItemProps, {
30651
30607
  "hideActions": props.hideActions,
30652
30608
  "indentLines": indentLines.node,
30653
30609
  "value": props.returnObject ? item.raw : itemProps.value,
30654
30610
  "loading": loading
30655
- }), slotsWithItem));
30611
+ }), slotsWithItem);
30656
30612
  },
30657
30613
  default: () => createVNode(VTreeviewChildren, mergeProps(treeviewChildrenProps, {
30658
30614
  "items": children,
@@ -34453,6 +34409,7 @@ const VVideoControls = genericComponent()({
34453
34409
 
34454
34410
  const allowedVariants = ['background', 'player'];
34455
34411
  const makeVVideoProps = propsFactory({
34412
+ aspectRatio: [String, Number],
34456
34413
  autoplay: Boolean,
34457
34414
  muted: Boolean,
34458
34415
  eager: Boolean,
@@ -34769,7 +34726,9 @@ const VVideo = genericComponent()({
34769
34726
  "class": normalizeClass(['v-video', `v-video--variant-${props.variant}`, `v-video--${state.value}`, {
34770
34727
  'v-video--playing': playing.value
34771
34728
  }, themeClasses.value, densityClasses.value, roundedContainerClasses.value, props.class]),
34772
- "style": normalizeStyle([props.variant === 'background' ? [] : pick(dimensionStyles.value, ['width', 'min-width', 'max-width']), props.style]),
34729
+ "style": normalizeStyle([{
34730
+ '--v-video-aspect-ratio': props.aspectRatio
34731
+ }, props.variant === 'background' ? [] : pick(dimensionStyles.value, ['width', 'minWidth', 'maxWidth']), props.style]),
34773
34732
  "onKeydown": onKeydown,
34774
34733
  "onClick": onClick
34775
34734
  }, [createElementVNode("div", {
@@ -35283,7 +35242,7 @@ function createVuetify$1() {
35283
35242
  };
35284
35243
  });
35285
35244
  }
35286
- const version$1 = "3.9.3-master.2025-08-03";
35245
+ const version$1 = "3.9.3-master.2025-08-05";
35287
35246
  createVuetify$1.version = version$1;
35288
35247
 
35289
35248
  // Vue's inject() can only be used in setup
@@ -35581,7 +35540,7 @@ var index = /*#__PURE__*/Object.freeze({
35581
35540
 
35582
35541
  /* eslint-disable local-rules/sort-imports */
35583
35542
 
35584
- const version = "3.9.3-master.2025-08-03";
35543
+ const version = "3.9.3-master.2025-08-05";
35585
35544
 
35586
35545
  /* eslint-disable local-rules/sort-imports */
35587
35546