@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
  */
@@ -18128,16 +18128,35 @@
18128
18128
  function getMonth(date) {
18129
18129
  return date.getMonth();
18130
18130
  }
18131
- function getWeek(date, locale, firstDayOfWeek, firstWeekMinSize) {
18131
+ function getWeek(date, locale, firstDayOfWeek, firstDayOfYear) {
18132
18132
  const weekInfoFromLocale = weekInfo(locale);
18133
18133
  const weekStart = firstDayOfWeek ?? weekInfoFromLocale?.firstDay ?? 0;
18134
- const minWeekSize = firstWeekMinSize ?? weekInfoFromLocale?.firstWeekSize ?? 1;
18134
+ const minWeekSize = weekInfoFromLocale?.firstWeekSize ?? 1;
18135
+ return firstDayOfYear !== undefined ? calculateWeekWithFirstDayOfYear(date, locale, weekStart, firstDayOfYear) : calculateWeekWithMinWeekSize(date, locale, weekStart, minWeekSize);
18136
+ }
18137
+ function calculateWeekWithFirstDayOfYear(date, locale, weekStart, firstDayOfYear) {
18138
+ const firstDayOfYearOffset = (7 + firstDayOfYear - weekStart) % 7;
18139
+ const currentWeekStart = startOfWeek(date, locale, weekStart);
18140
+ const currentWeekEnd = addDays(currentWeekStart, 6);
18141
+ function yearStartWeekdayOffset(year) {
18142
+ return (7 + new Date(year, 0, 1).getDay() - weekStart) % 7;
18143
+ }
18144
+ let year = getYear(date);
18145
+ if (year < getYear(currentWeekEnd) && yearStartWeekdayOffset(year + 1) <= firstDayOfYearOffset) {
18146
+ year++;
18147
+ }
18148
+ const yearStart = new Date(year, 0, 1);
18149
+ const offset = yearStartWeekdayOffset(year);
18150
+ const d1w1 = offset <= firstDayOfYearOffset ? addDays(yearStart, -offset) : addDays(yearStart, 7 - offset);
18151
+ return 1 + getDiff(endOfDay(date), startOfDay(d1w1), 'weeks');
18152
+ }
18153
+ function calculateWeekWithMinWeekSize(date, locale, weekStart, minWeekSize) {
18154
+ const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
18135
18155
  function firstWeekSize(year) {
18136
18156
  const yearStart = new Date(year, 0, 1);
18137
18157
  return 7 - getDiff(yearStart, startOfWeek(yearStart, locale, weekStart), 'days');
18138
18158
  }
18139
18159
  let year = getYear(date);
18140
- const currentWeekEnd = addDays(startOfWeek(date, locale, weekStart), 6);
18141
18160
  if (year < getYear(currentWeekEnd) && firstWeekSize(year + 1) >= minWeekSize) {
18142
18161
  year++;
18143
18162
  }
@@ -18359,9 +18378,10 @@
18359
18378
  getMonth(date) {
18360
18379
  return getMonth(date);
18361
18380
  }
18362
- getWeek(date, firstDayOfWeek, firstWeekMinSize) {
18381
+ getWeek(date, firstDayOfWeek, firstDayOfYear) {
18363
18382
  const firstDay = firstDayOfWeek !== undefined ? Number(firstDayOfWeek) : undefined;
18364
- return getWeek(date, this.locale, firstDay, firstWeekMinSize);
18383
+ const firstWeekStart = firstDayOfYear !== undefined ? Number(firstDayOfYear) : undefined;
18384
+ return getWeek(date, this.locale, firstDay, firstWeekStart);
18365
18385
  }
18366
18386
  getDate(date) {
18367
18387
  return getDate(date);
@@ -19733,7 +19753,7 @@
19733
19753
  });
19734
19754
  return groups;
19735
19755
  }
19736
- function flattenItems(items, opened) {
19756
+ function flattenItems(items, opened, hasSummary) {
19737
19757
  const flatItems = [];
19738
19758
  for (const item of items) {
19739
19759
  // TODO: make this better
@@ -19742,7 +19762,13 @@
19742
19762
  flatItems.push(item);
19743
19763
  }
19744
19764
  if (opened.has(item.id) || item.value == null) {
19745
- flatItems.push(...flattenItems(item.items, opened));
19765
+ flatItems.push(...flattenItems(item.items, opened, hasSummary));
19766
+ if (hasSummary) {
19767
+ flatItems.push({
19768
+ ...item,
19769
+ type: 'group-summary'
19770
+ });
19771
+ }
19746
19772
  }
19747
19773
  } else {
19748
19774
  flatItems.push(item);
@@ -19750,11 +19776,11 @@
19750
19776
  }
19751
19777
  return flatItems;
19752
19778
  }
19753
- function useGroupedItems(items, groupBy, opened) {
19779
+ function useGroupedItems(items, groupBy, opened, hasSummary) {
19754
19780
  const flatItems = vue.computed(() => {
19755
19781
  if (!groupBy.value.length) return items.value;
19756
19782
  const groupedItems = groupItems(items.value, groupBy.value.map(item => item.key));
19757
- return flattenItems(groupedItems, opened.value);
19783
+ return flattenItems(groupedItems, opened.value, vue.toValue(hasSummary));
19758
19784
  });
19759
19785
  return {
19760
19786
  flatItems
@@ -20372,7 +20398,7 @@
20372
20398
  });
20373
20399
  const {
20374
20400
  flatItems
20375
- } = useGroupedItems(sortedItems, groupBy, opened);
20401
+ } = useGroupedItems(sortedItems, groupBy, opened, false);
20376
20402
  const itemsLength = vue.toRef(() => flatItems.value.length);
20377
20403
  const {
20378
20404
  startIndex,
@@ -21860,6 +21886,15 @@
21860
21886
  "item": item
21861
21887
  }, getPrefixedEventHandlers(attrs, ':group-header', () => slotProps), groupHeaderRowProps), slots);
21862
21888
  }
21889
+ if (item.type === 'group-summary') {
21890
+ const slotProps = {
21891
+ index,
21892
+ item,
21893
+ columns: columns.value,
21894
+ toggleGroup
21895
+ };
21896
+ return slots['group-summary']?.(slotProps) ?? '';
21897
+ }
21863
21898
  const slotProps = {
21864
21899
  index,
21865
21900
  item: item.raw,
@@ -22111,7 +22146,7 @@
22111
22146
  });
22112
22147
  const {
22113
22148
  flatItems
22114
- } = useGroupedItems(sortedItems, groupBy, opened);
22149
+ } = useGroupedItems(sortedItems, groupBy, opened, () => !!slots['group-summary']);
22115
22150
  const itemsLength = vue.computed(() => flatItems.value.length);
22116
22151
  const {
22117
22152
  startIndex,
@@ -22299,7 +22334,7 @@
22299
22334
  });
22300
22335
  const {
22301
22336
  flatItems
22302
- } = useGroupedItems(sortedItems, groupBy, opened);
22337
+ } = useGroupedItems(sortedItems, groupBy, opened, () => !!slots['group-summary']);
22303
22338
  const allItems = vue.computed(() => extractRows(flatItems.value));
22304
22339
  const {
22305
22340
  isSelected,
@@ -22528,7 +22563,7 @@
22528
22563
  });
22529
22564
  const {
22530
22565
  flatItems
22531
- } = useGroupedItems(items, groupBy, opened);
22566
+ } = useGroupedItems(items, groupBy, opened, () => !!slots['group-summary']);
22532
22567
  const {
22533
22568
  isSelected,
22534
22569
  select,
@@ -23120,6 +23155,10 @@
23120
23155
  type: [Number, String],
23121
23156
  default: undefined
23122
23157
  },
23158
+ firstDayOfYear: {
23159
+ type: [Number, String],
23160
+ default: undefined
23161
+ },
23123
23162
  weekdayFormat: String
23124
23163
  }, 'calendar');
23125
23164
  function useCalendar(props) {
@@ -23211,7 +23250,7 @@
23211
23250
  });
23212
23251
  const weekNumbers = vue.computed(() => {
23213
23252
  return weeksInMonth.value.map(week => {
23214
- return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek) : null;
23253
+ return week.length ? adapter.getWeek(week[0], props.firstDayOfWeek, props.firstDayOfYear) : null;
23215
23254
  });
23216
23255
  });
23217
23256
  function isDisabled(value) {
@@ -35630,7 +35669,7 @@
35630
35669
  };
35631
35670
  });
35632
35671
  }
35633
- const version$1 = "3.9.3-dev.2025-08-02";
35672
+ const version$1 = "3.9.3-dev.2025-08-05";
35634
35673
  createVuetify$1.version = version$1;
35635
35674
 
35636
35675
  // Vue's inject() can only be used in setup
@@ -35928,7 +35967,7 @@
35928
35967
 
35929
35968
  /* eslint-disable local-rules/sort-imports */
35930
35969
 
35931
- const version = "3.9.3-dev.2025-08-02";
35970
+ const version = "3.9.3-dev.2025-08-05";
35932
35971
 
35933
35972
  /* eslint-disable local-rules/sort-imports */
35934
35973