@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
@@ -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
  */
@@ -18124,16 +18124,35 @@ function getYear(date) {
18124
18124
  function getMonth(date) {
18125
18125
  return date.getMonth();
18126
18126
  }
18127
- function getWeek(date, locale, firstDayOfWeek, firstWeekMinSize) {
18127
+ function getWeek(date, locale, firstDayOfWeek, firstDayOfYear) {
18128
18128
  const weekInfoFromLocale = weekInfo(locale);
18129
18129
  const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0;
18130
- const minWeekSize = firstWeekMinSize ?? weekInfoFromLocale?.firstWeekSize ?? 1;
18130
+ const minWeekSize = weekInfoFromLocale?.firstWeekSize ?? 1;
18131
+ return firstDayOfYear !== undefined ? calculateWeekWithFirstDayOfYear(date, locale, weekStart, firstDayOfYear) : calculateWeekWithMinWeekSize(date, locale, weekStart, minWeekSize);
18132
+ }
18133
+ function calculateWeekWithFirstDayOfYear(date, locale, weekStart, firstDayOfYear) {
18134
+ const firstDayOfYearOffset = (7 + firstDayOfYear - weekStart) % 7;
18135
+ const currentWeekStart = startOfWeek(date, locale, weekStart);
18136
+ const currentWeekEnd = addDays(currentWeekStart, 6);
18137
+ function yearStartWeekdayOffset(year) {
18138
+ return (7 + new Date(year, 0, 1).getDay() - weekStart) % 7;
18139
+ }
18140
+ let year = getYear(date);
18141
+ if (year < getYear(currentWeekEnd) && yearStartWeekdayOffset(year + 1) <= firstDayOfYearOffset) {
18142
+ year++;
18143
+ }
18144
+ const yearStart = new Date(year, 0, 1);
18145
+ const offset = yearStartWeekdayOffset(year);
18146
+ const d1w1 = offset <= firstDayOfYearOffset ? addDays(yearStart, -offset) : addDays(yearStart, 7 - offset);
18147
+ return 1 + getDiff(endOfDay(date), startOfDay(d1w1), 'weeks');
18148
+ }
18149
+ function calculateWeekWithMinWeekSize(date, locale, weekStart, minWeekSize) {
18150
+ const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
18131
18151
  function firstWeekSize(year) {
18132
18152
  const yearStart = new Date(year, 0, 1);
18133
18153
  return 7 - getDiff(yearStart, startOfWeek(yearStart, locale, weekStart), 'days');
18134
18154
  }
18135
18155
  let year = getYear(date);
18136
- const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
18137
18156
  if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) {
18138
18157
  year++;
18139
18158
  }
@@ -18355,9 +18374,10 @@ class VuetifyDateAdapter {
18355
18374
  getMonth(date) {
18356
18375
  return getMonth(date);
18357
18376
  }
18358
- getWeek(date, firstDayOfWeek, firstWeekMinSize) {
18377
+ getWeek(date, firstDayOfWeek, firstDayOfYear) {
18359
18378
  const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
18360
- return getWeek(date, this.locale, firstDay, firstWeekMinSize);
18379
+ const firstWeekStart = firstDayOfYear !== undefined ? Number(firstDayOfYear) : undefined;
18380
+ return getWeek(date, this.locale, firstDay, firstWeekStart);
18361
18381
  }
18362
18382
  getDate(date) {
18363
18383
  return getDate(date);
@@ -19729,7 +19749,7 @@ function groupItems(items, groupBy) {
19729
19749
  });
19730
19750
  return groups;
19731
19751
  }
19732
- function flattenItems(items, opened) {
19752
+ function flattenItems(items, opened, hasSummary) {
19733
19753
  const flatItems = [];
19734
19754
  for (const item of items) {
19735
19755
  // TODO: make this better
@@ -19738,7 +19758,13 @@ function flattenItems(items, opened) {
19738
19758
  flatItems.push(item);
19739
19759
  }
19740
19760
  if (opened.has(item.id) || item.value == null) {
19741
- flatItems.push(...flattenItems(item.items, opened));
19761
+ flatItems.push(...flattenItems(item.items, opened, hasSummary));
19762
+ if (hasSummary) {
19763
+ flatItems.push({
19764
+ ...item,
19765
+ type: 'group-summary'
19766
+ });
19767
+ }
19742
19768
  }
19743
19769
  } else {
19744
19770
  flatItems.push(item);
@@ -19746,11 +19772,11 @@ function flattenItems(items, opened) {
19746
19772
  }
19747
19773
  return flatItems;
19748
19774
  }
19749
- function useGroupedItems(items, groupBy, opened) {
19775
+ function useGroupedItems(items, groupBy, opened, hasSummary) {
19750
19776
  const flatItems = computed(() => {
19751
19777
  if (!groupBy.value.length) return items.value;
19752
19778
  const groupedItems = groupItems(items.value, groupBy.value.map(item => item.key));
19753
- return flattenItems(groupedItems, opened.value);
19779
+ return flattenItems(groupedItems, opened.value, toValue(hasSummary));
19754
19780
  });
19755
19781
  return {
19756
19782
  flatItems
@@ -20368,7 +20394,7 @@ const VDataIterator = genericComponent()({
20368
20394
  });
20369
20395
  const {
20370
20396
  flatItems
20371
- } = useGroupedItems(sortedItems, groupBy, opened);
20397
+ } = useGroupedItems(sortedItems, groupBy, opened, false);
20372
20398
  const itemsLength = toRef(() => flatItems.value.length);
20373
20399
  const {
20374
20400
  startIndex,
@@ -21856,6 +21882,15 @@ const VDataTableRows = genericComponent()({
21856
21882
  "item": item
21857
21883
  }, getPrefixedEventHandlers(attrs, ':group-header', () => slotProps), groupHeaderRowProps), slots);
21858
21884
  }
21885
+ if (item.type === 'group-summary') {
21886
+ const slotProps = {
21887
+ index,
21888
+ item,
21889
+ columns: columns.value,
21890
+ toggleGroup
21891
+ };
21892
+ return slots['group-summary']?.(slotProps) ?? '';
21893
+ }
21859
21894
  const slotProps = {
21860
21895
  index,
21861
21896
  item: item.raw,
@@ -22107,7 +22142,7 @@ const VDataTable = genericComponent()({
22107
22142
  });
22108
22143
  const {
22109
22144
  flatItems
22110
- } = useGroupedItems(sortedItems, groupBy, opened);
22145
+ } = useGroupedItems(sortedItems, groupBy, opened, () => !!slots['group-summary']);
22111
22146
  const itemsLength = computed(() => flatItems.value.length);
22112
22147
  const {
22113
22148
  startIndex,
@@ -22295,7 +22330,7 @@ const VDataTableVirtual = genericComponent()({
22295
22330
  });
22296
22331
  const {
22297
22332
  flatItems
22298
- } = useGroupedItems(sortedItems, groupBy, opened);
22333
+ } = useGroupedItems(sortedItems, groupBy, opened, () => !!slots['group-summary']);
22299
22334
  const allItems = computed(() => extractRows(flatItems.value));
22300
22335
  const {
22301
22336
  isSelected,
@@ -22524,7 +22559,7 @@ const VDataTableServer = genericComponent()({
22524
22559
  });
22525
22560
  const {
22526
22561
  flatItems
22527
- } = useGroupedItems(items, groupBy, opened);
22562
+ } = useGroupedItems(items, groupBy, opened, () => !!slots['group-summary']);
22528
22563
  const {
22529
22564
  isSelected,
22530
22565
  select,
@@ -23116,6 +23151,10 @@ const makeCalendarProps = propsFactory({
23116
23151
  type: [Number, String],
23117
23152
  default: undefined
23118
23153
  },
23154
+ firstDayOfYear: {
23155
+ type: [Number, String],
23156
+ default: undefined
23157
+ },
23119
23158
  weekdayFormat: String
23120
23159
  }, 'calendar');
23121
23160
  function useCalendar(props) {
@@ -23207,7 +23246,7 @@ function useCalendar(props) {
23207
23246
  });
23208
23247
  const weekNumbers = computed(() => {
23209
23248
  return weeksInMonth.value.map(week => {
23210
- return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null;
23249
+ return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek, props.firstDayOfYear) : null;
23211
23250
  });
23212
23251
  });
23213
23252
  function isDisabled(value) {
@@ -35626,7 +35665,7 @@ function createVuetify$1() {
35626
35665
  };
35627
35666
  });
35628
35667
  }
35629
- const version$1 = "3.9.3-dev.2025-08-02";
35668
+ const version$1 = "3.9.3-dev.2025-08-05";
35630
35669
  createVuetify$1.version = version$1;
35631
35670
 
35632
35671
  // Vue's inject() can only be used in setup
@@ -35924,7 +35963,7 @@ var index = /*#__PURE__*/Object.freeze({
35924
35963
 
35925
35964
  /* eslint-disable local-rules/sort-imports */
35926
35965
 
35927
- const version = "3.9.3-dev.2025-08-02";
35966
+ const version = "3.9.3-dev.2025-08-05";
35928
35967
 
35929
35968
  /* eslint-disable local-rules/sort-imports */
35930
35969