@vuetify/nightly 3.9.3-dev.2025-08-02 → 3.9.3-dev.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 (68) hide show
  1. package/CHANGELOG.md +5 -3
  2. package/dist/json/attributes.json +3040 -3024
  3. package/dist/json/importMap-labs.json +18 -18
  4. package/dist/json/importMap.json +130 -130
  5. package/dist/json/tags.json +4 -0
  6. package/dist/json/web-types.json +5954 -5826
  7. package/dist/vuetify-labs.cjs +56 -17
  8. package/dist/vuetify-labs.css +3273 -3273
  9. package/dist/vuetify-labs.d.ts +145 -66
  10. package/dist/vuetify-labs.esm.js +56 -17
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +56 -17
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +56 -17
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +4298 -4298
  17. package/dist/vuetify.d.ts +117 -66
  18. package/dist/vuetify.esm.js +56 -17
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +56 -17
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +285 -279
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VDataIterator/VDataIterator.d.ts +2 -2
  26. package/lib/components/VDataIterator/VDataIterator.js +1 -1
  27. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  28. package/lib/components/VDataTable/VDataTable.d.ts +6 -4
  29. package/lib/components/VDataTable/VDataTable.js +1 -1
  30. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  31. package/lib/components/VDataTable/VDataTableRows.d.ts +14 -11
  32. package/lib/components/VDataTable/VDataTableRows.js +9 -0
  33. package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
  34. package/lib/components/VDataTable/VDataTableServer.d.ts +4 -2
  35. package/lib/components/VDataTable/VDataTableServer.js +1 -1
  36. package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
  37. package/lib/components/VDataTable/VDataTableVirtual.d.ts +4 -2
  38. package/lib/components/VDataTable/VDataTableVirtual.js +1 -1
  39. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  40. package/lib/components/VDataTable/composables/group.d.ts +13 -5
  41. package/lib/components/VDataTable/composables/group.js +11 -5
  42. package/lib/components/VDataTable/composables/group.js.map +1 -1
  43. package/lib/components/VDataTable/composables/paginate.d.ts +3 -3
  44. package/lib/components/VDataTable/composables/paginate.js.map +1 -1
  45. package/lib/components/VDataTable/types.d.ts +7 -1
  46. package/lib/components/VDataTable/types.js.map +1 -1
  47. package/lib/components/VDatePicker/VDatePicker.d.ts +25 -0
  48. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +25 -0
  49. package/lib/composables/calendar.d.ts +12 -0
  50. package/lib/composables/calendar.js +5 -1
  51. package/lib/composables/calendar.js.map +1 -1
  52. package/lib/composables/date/DateAdapter.d.ts +1 -1
  53. package/lib/composables/date/DateAdapter.js.map +1 -1
  54. package/lib/composables/date/adapters/string.d.ts +1 -1
  55. package/lib/composables/date/adapters/string.js +2 -2
  56. package/lib/composables/date/adapters/string.js.map +1 -1
  57. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  58. package/lib/composables/date/adapters/vuetify.js +25 -5
  59. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  60. package/lib/composables/date/date.d.ts +1 -1
  61. package/lib/entry-bundler.d.ts +1 -1
  62. package/lib/entry-bundler.js +1 -1
  63. package/lib/framework.d.ts +51 -51
  64. package/lib/framework.js +1 -1
  65. package/lib/labs/VCalendar/VCalendar.d.ts +25 -0
  66. package/lib/labs/VDateInput/VDateInput.d.ts +25 -0
  67. package/lib/labs/entry-bundler.d.ts +1 -1
  68. package/package.json +1 -1
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.9.3-dev.2025-08-02
2
+ * Vuetify v3.9.3-dev.2025-08-05
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -18368,16 +18368,35 @@
18368
18368
  function getMonth(date) {
18369
18369
  return date.getMonth();
18370
18370
  }
18371
- function getWeek(date, locale, firstDayOfWeek, firstWeekMinSize) {
18371
+ function getWeek(date, locale, firstDayOfWeek, firstDayOfYear) {
18372
18372
  const weekInfoFromLocale = weekInfo(locale);
18373
18373
  const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0;
18374
- const minWeekSize = firstWeekMinSize ?? weekInfoFromLocale?.firstWeekSize ?? 1;
18374
+ const minWeekSize = weekInfoFromLocale?.firstWeekSize ?? 1;
18375
+ return firstDayOfYear !== undefined ? calculateWeekWithFirstDayOfYear(date, locale, weekStart, firstDayOfYear) : calculateWeekWithMinWeekSize(date, locale, weekStart, minWeekSize);
18376
+ }
18377
+ function calculateWeekWithFirstDayOfYear(date, locale, weekStart, firstDayOfYear) {
18378
+ const firstDayOfYearOffset = (7 + firstDayOfYear - weekStart) % 7;
18379
+ const currentWeekStart = startOfWeek(date, locale, weekStart);
18380
+ const currentWeekEnd = addDays(currentWeekStart, 6);
18381
+ function yearStartWeekdayOffset(year) {
18382
+ return (7 + new Date(year, 0, 1).getDay() - weekStart) % 7;
18383
+ }
18384
+ let year = getYear(date);
18385
+ if (year < getYear(currentWeekEnd) && yearStartWeekdayOffset(year + 1) <= firstDayOfYearOffset) {
18386
+ year++;
18387
+ }
18388
+ const yearStart = new Date(year, 0, 1);
18389
+ const offset = yearStartWeekdayOffset(year);
18390
+ const d1w1 = offset <= firstDayOfYearOffset ? addDays(yearStart, -offset) : addDays(yearStart, 7 - offset);
18391
+ return 1 + getDiff(endOfDay(date), startOfDay(d1w1), 'weeks');
18392
+ }
18393
+ function calculateWeekWithMinWeekSize(date, locale, weekStart, minWeekSize) {
18394
+ const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
18375
18395
  function firstWeekSize(year) {
18376
18396
  const yearStart = new Date(year, 0, 1);
18377
18397
  return 7 - getDiff(yearStart, startOfWeek(yearStart, locale, weekStart), 'days');
18378
18398
  }
18379
18399
  let year = getYear(date);
18380
- const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
18381
18400
  if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) {
18382
18401
  year++;
18383
18402
  }
@@ -18599,9 +18618,10 @@
18599
18618
  getMonth(date) {
18600
18619
  return getMonth(date);
18601
18620
  }
18602
- getWeek(date, firstDayOfWeek, firstWeekMinSize) {
18621
+ getWeek(date, firstDayOfWeek, firstDayOfYear) {
18603
18622
  const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
18604
- return getWeek(date, this.locale, firstDay, firstWeekMinSize);
18623
+ const firstWeekStart = firstDayOfYear !== undefined ? Number(firstDayOfYear) : undefined;
18624
+ return getWeek(date, this.locale, firstDay, firstWeekStart);
18605
18625
  }
18606
18626
  getDate(date) {
18607
18627
  return getDate(date);
@@ -19973,7 +19993,7 @@
19973
19993
  });
19974
19994
  return groups;
19975
19995
  }
19976
- function flattenItems(items, opened) {
19996
+ function flattenItems(items, opened, hasSummary) {
19977
19997
  const flatItems = [];
19978
19998
  for (const item of items) {
19979
19999
  // TODO: make this better
@@ -19982,7 +20002,13 @@
19982
20002
  flatItems.push(item);
19983
20003
  }
19984
20004
  if (opened.has(item.id) || item.value == null) {
19985
- flatItems.push(...flattenItems(item.items, opened));
20005
+ flatItems.push(...flattenItems(item.items, opened, hasSummary));
20006
+ if (hasSummary) {
20007
+ flatItems.push({
20008
+ ...item,
20009
+ type: 'group-summary'
20010
+ });
20011
+ }
19986
20012
  }
19987
20013
  } else {
19988
20014
  flatItems.push(item);
@@ -19990,11 +20016,11 @@
19990
20016
  }
19991
20017
  return flatItems;
19992
20018
  }
19993
- function useGroupedItems(items, groupBy, opened) {
20019
+ function useGroupedItems(items, groupBy, opened, hasSummary) {
19994
20020
  const flatItems = vue.computed(() => {
19995
20021
  if (!groupBy.value.length) return items.value;
19996
20022
  const groupedItems = groupItems(items.value, groupBy.value.map(item => item.key));
19997
- return flattenItems(groupedItems, opened.value);
20023
+ return flattenItems(groupedItems, opened.value, vue.toValue(hasSummary));
19998
20024
  });
19999
20025
  return {
20000
20026
  flatItems
@@ -20612,7 +20638,7 @@
20612
20638
  });
20613
20639
  const {
20614
20640
  flatItems
20615
- } = useGroupedItems(sortedItems, groupBy, opened);
20641
+ } = useGroupedItems(sortedItems, groupBy, opened, false);
20616
20642
  const itemsLength = vue.toRef(() => flatItems.value.length);
20617
20643
  const {
20618
20644
  startIndex,
@@ -22100,6 +22126,15 @@
22100
22126
  "item": item
22101
22127
  }, getPrefixedEventHandlers(attrs, ':group-header', () => slotProps), groupHeaderRowProps), slots);
22102
22128
  }
22129
+ if (item.type === 'group-summary') {
22130
+ const slotProps = {
22131
+ index,
22132
+ item,
22133
+ columns: columns.value,
22134
+ toggleGroup
22135
+ };
22136
+ return slots['group-summary']?.(slotProps) ?? '';
22137
+ }
22103
22138
  const slotProps = {
22104
22139
  index,
22105
22140
  item: item.raw,
@@ -22351,7 +22386,7 @@
22351
22386
  });
22352
22387
  const {
22353
22388
  flatItems
22354
- } = useGroupedItems(sortedItems, groupBy, opened);
22389
+ } = useGroupedItems(sortedItems, groupBy, opened, () => !!slots['group-summary']);
22355
22390
  const itemsLength = vue.computed(() => flatItems.value.length);
22356
22391
  const {
22357
22392
  startIndex,
@@ -22539,7 +22574,7 @@
22539
22574
  });
22540
22575
  const {
22541
22576
  flatItems
22542
- } = useGroupedItems(sortedItems, groupBy, opened);
22577
+ } = useGroupedItems(sortedItems, groupBy, opened, () => !!slots['group-summary']);
22543
22578
  const allItems = vue.computed(() => extractRows(flatItems.value));
22544
22579
  const {
22545
22580
  isSelected,
@@ -22768,7 +22803,7 @@
22768
22803
  });
22769
22804
  const {
22770
22805
  flatItems
22771
- } = useGroupedItems(items, groupBy, opened);
22806
+ } = useGroupedItems(items, groupBy, opened, () => !!slots['group-summary']);
22772
22807
  const {
22773
22808
  isSelected,
22774
22809
  select,
@@ -23360,6 +23395,10 @@
23360
23395
  type: [Number, String],
23361
23396
  default: undefined
23362
23397
  },
23398
+ firstDayOfYear: {
23399
+ type: [Number, String],
23400
+ default: undefined
23401
+ },
23363
23402
  weekdayFormat: String
23364
23403
  }, 'calendar');
23365
23404
  function useCalendar(props) {
@@ -23451,7 +23490,7 @@
23451
23490
  });
23452
23491
  const weekNumbers = vue.computed(() => {
23453
23492
  return weeksInMonth.value.map(week => {
23454
- return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null;
23493
+ return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek, props.firstDayOfYear) : null;
23455
23494
  });
23456
23495
  });
23457
23496
  function isDisabled(value) {
@@ -31901,7 +31940,7 @@
31901
31940
  };
31902
31941
  });
31903
31942
  }
31904
- const version$1 = "3.9.3-dev.2025-08-02";
31943
+ const version$1 = "3.9.3-dev.2025-08-05";
31905
31944
  createVuetify$1.version = version$1;
31906
31945
 
31907
31946
  // Vue's inject() can only be used in setup
@@ -31926,7 +31965,7 @@
31926
31965
  ...options
31927
31966
  });
31928
31967
  };
31929
- const version = "3.9.3-dev.2025-08-02";
31968
+ const version = "3.9.3-dev.2025-08-05";
31930
31969
  createVuetify.version = version;
31931
31970
 
31932
31971
  exports.blueprints = index;