@vuetify/nightly 3.8.11-master.2025-06-30 → 3.8.12-master.2025-07-03

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 (40) hide show
  1. package/CHANGELOG.md +5 -12
  2. package/dist/json/attributes.json +2240 -2240
  3. package/dist/json/importMap-labs.json +22 -22
  4. package/dist/json/importMap.json +130 -130
  5. package/dist/json/web-types.json +4056 -4056
  6. package/dist/vuetify-labs.cjs +37 -39
  7. package/dist/vuetify-labs.css +3621 -3621
  8. package/dist/vuetify-labs.d.ts +48 -48
  9. package/dist/vuetify-labs.esm.js +37 -39
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +37 -39
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +28 -30
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +3623 -3623
  16. package/dist/vuetify.d.ts +48 -48
  17. package/dist/vuetify.esm.js +28 -30
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +28 -30
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +30 -30
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VDatePicker/VDatePicker.js +2 -1
  25. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  26. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -2
  27. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  28. package/lib/components/VOtpInput/VOtpInput.js +17 -14
  29. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  30. package/lib/composables/calendar.d.ts +0 -1
  31. package/lib/composables/calendar.js +6 -10
  32. package/lib/composables/calendar.js.map +1 -1
  33. package/lib/composables/date/adapters/vuetify.js +1 -1
  34. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  35. package/lib/entry-bundler.js +1 -1
  36. package/lib/framework.d.ts +48 -48
  37. package/lib/framework.js +1 -1
  38. package/lib/labs/VCalendar/VCalendar.js +9 -9
  39. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  40. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.11-master.2025-06-30
2
+ * Vuetify v3.8.12-master.2025-07-03
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -17304,7 +17304,7 @@
17304
17304
  case 'fullDate':
17305
17305
  options = {
17306
17306
  year: 'numeric',
17307
- month: 'long',
17307
+ month: 'short',
17308
17308
  day: 'numeric'
17309
17309
  };
17310
17310
  break;
@@ -22100,13 +22100,9 @@
22100
22100
  const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value));
22101
22101
  return adapter.setMonth(date, value);
22102
22102
  }, v => adapter.getMonth(v));
22103
- const weekDays = vue.computed(() => {
22104
- const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
22105
- return props.weekdays.map(day => (day + firstDayOfWeek) % 7);
22106
- });
22107
22103
  const weekdayLabels = vue.computed(() => {
22108
- const labels = adapter.getWeekdays(props.firstDayOfWeek);
22109
- return weekDays.value.map(day => labels[day]);
22104
+ const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
22105
+ return adapter.getWeekdays(props.firstDayOfWeek).filter((_, i) => props.weekdays.includes((i + firstDayOfWeek) % 7));
22110
22106
  });
22111
22107
  const weeksInMonth = vue.computed(() => {
22112
22108
  const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
@@ -22130,13 +22126,14 @@
22130
22126
  });
22131
22127
  function genDays(days, today) {
22132
22128
  return days.filter(date => {
22133
- return weekDays.value.includes(adapter.toJsDate(date).getDay());
22129
+ return props.weekdays.includes(adapter.toJsDate(date).getDay());
22134
22130
  }).map((date, index) => {
22135
22131
  const isoDate = adapter.toISO(date);
22136
22132
  const isAdjacent = !adapter.isSameMonth(date, month.value);
22137
22133
  const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value));
22138
22134
  const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value));
22139
22135
  const isSame = adapter.isSameDay(date, month.value);
22136
+ const weekdaysCount = props.weekdays.length;
22140
22137
  return {
22141
22138
  date,
22142
22139
  formatted: adapter.format(date, 'keyboardDate'),
@@ -22148,8 +22145,8 @@
22148
22145
  isSelected: model.value.some(value => adapter.isSameDay(date, value)),
22149
22146
  isStart,
22150
22147
  isToday: adapter.isSameDay(date, today),
22151
- isWeekEnd: index % 7 === 6,
22152
- isWeekStart: index % 7 === 0,
22148
+ isWeekEnd: index % weekdaysCount === weekdaysCount - 1,
22149
+ isWeekStart: index % weekdaysCount === 0,
22153
22150
  isoDate,
22154
22151
  localized: adapter.format(date, 'dayOfMonth'),
22155
22152
  month: adapter.getMonth(date),
@@ -22196,7 +22193,6 @@
22196
22193
  genDays,
22197
22194
  model,
22198
22195
  weeksInMonth,
22199
- weekDays,
22200
22196
  weekdayLabels,
22201
22197
  weekNumbers
22202
22198
  };
@@ -22237,7 +22233,6 @@
22237
22233
  daysInMonth,
22238
22234
  model,
22239
22235
  weekNumbers,
22240
- weekDays,
22241
22236
  weekdayLabels
22242
22237
  } = useCalendar(props);
22243
22238
  const adapter = useDate();
@@ -22312,7 +22307,7 @@
22312
22307
  useRender(() => vue.createElementVNode("div", {
22313
22308
  "class": "v-date-picker-month",
22314
22309
  "style": {
22315
- '--v-date-picker-days-in-week': weekDays.value.length
22310
+ '--v-date-picker-days-in-week': props.weekdays.length
22316
22311
  }
22317
22312
  }, [props.showWeek && vue.createElementVNode("div", {
22318
22313
  "key": "weeks",
@@ -22712,7 +22707,8 @@
22712
22707
  }
22713
22708
  function allowedMonths(month) {
22714
22709
  if (typeof props.allowedDates === 'function') {
22715
- const startOfMonth = adapter.parseISO(`${year.value}-${month + 1}-01`);
22710
+ const monthTwoDigits = String(month + 1).padStart(2, '0');
22711
+ const startOfMonth = adapter.parseISO(`${year.value}-${monthTwoDigits}-01`);
22716
22712
  return isAllowedInRange(startOfMonth, adapter.endOfMonth(startOfMonth));
22717
22713
  }
22718
22714
  if (Array.isArray(props.allowedDates) && props.allowedDates.length) {
@@ -25383,19 +25379,21 @@
25383
25379
  const contentRef = vue.ref();
25384
25380
  const inputRef = vue.ref([]);
25385
25381
  const current = vue.computed(() => inputRef.value[focusIndex.value]);
25386
- const intersectScope = vue.effectScope();
25387
- intersectScope.run(() => {
25388
- const {
25389
- intersectionRef,
25390
- isIntersecting
25391
- } = useIntersectionObserver();
25392
- vue.watch(isIntersecting, v => {
25393
- if (!v) return;
25394
- intersectionRef.value?.focus();
25395
- intersectScope.stop();
25396
- });
25397
- vue.watchEffect(() => {
25398
- intersectionRef.value = inputRef.value[0];
25382
+ useToggleScope(() => props.autofocus, () => {
25383
+ const intersectScope = vue.effectScope();
25384
+ intersectScope.run(() => {
25385
+ const {
25386
+ intersectionRef,
25387
+ isIntersecting
25388
+ } = useIntersectionObserver();
25389
+ vue.watchEffect(() => {
25390
+ intersectionRef.value = inputRef.value[0];
25391
+ });
25392
+ vue.watch(isIntersecting, v => {
25393
+ if (!v) return;
25394
+ intersectionRef.value?.focus();
25395
+ intersectScope.stop();
25396
+ });
25399
25397
  });
25400
25398
  });
25401
25399
  function onInput() {
@@ -29234,9 +29232,8 @@
29234
29232
  model,
29235
29233
  displayValue,
29236
29234
  weekNumbers,
29237
- weekDays
29235
+ weekdayLabels
29238
29236
  } = useCalendar(props);
29239
- const dayNames = adapter.getWeekdays();
29240
29237
  function onClickNext() {
29241
29238
  if (props.viewMode === 'month') {
29242
29239
  model.value = [adapter.addMonths(displayValue.value, 1)];
@@ -29274,6 +29271,7 @@
29274
29271
  useRender(() => {
29275
29272
  const calendarDayProps = VCalendarDay.filterProps(props);
29276
29273
  const calendarHeaderProps = VCalendarHeader.filterProps(props);
29274
+ const weekdaysCount = daysInWeek.value.length;
29277
29275
  return vue.createElementVNode("div", {
29278
29276
  "class": vue.normalizeClass(['v-calendar', {
29279
29277
  'v-calendar-monthly': props.viewMode === 'month',
@@ -29295,25 +29293,25 @@
29295
29293
  }), {
29296
29294
  title: slots.title
29297
29295
  }))]), vue.createElementVNode("div", {
29298
- "class": vue.normalizeClass(['v-calendar__container', `days__${weekDays.value.length}`])
29296
+ "class": vue.normalizeClass(['v-calendar__container', `days__${weekdaysCount}`])
29299
29297
  }, [props.viewMode === 'month' && !props.hideDayHeader && vue.createElementVNode("div", {
29300
- "class": vue.normalizeClass(['v-calendar-weekly__head', `days__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])]),
29298
+ "class": vue.normalizeClass(['v-calendar-weekly__head', `days__${weekdaysCount}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])]),
29301
29299
  "key": "calendarWeeklyHead"
29302
29300
  }, [!props.hideWeekNumber ? vue.createElementVNode("div", {
29303
29301
  "key": "weekNumber0",
29304
29302
  "class": "v-calendar-weekly__head-weeknumber"
29305
- }, null) : '', weekDays.value.map(weekday => vue.createElementVNode("div", {
29303
+ }, null) : '', weekdayLabels.value.map(weekday => vue.createElementVNode("div", {
29306
29304
  "class": vue.normalizeClass(`v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}`)
29307
- }, [dayNames[weekday]]))]), props.viewMode === 'month' && vue.createElementVNode("div", {
29305
+ }, [weekday]))]), props.viewMode === 'month' && vue.createElementVNode("div", {
29308
29306
  "key": "VCalendarMonth",
29309
- "class": vue.normalizeClass(['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekDays.value.length}`, ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : [])])
29310
- }, [chunkArray(daysInMonth.value, weekDays.value.length).map((week, wi) => [!props.hideWeekNumber ? vue.createElementVNode("div", vue.mergeProps({
29307
+ "class": vue.normalizeClass(['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekdaysCount}`, ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : [])])
29308
+ }, [chunkArray(daysInMonth.value, weekdaysCount).map((week, wi) => [!props.hideWeekNumber ? vue.createElementVNode("div", vue.mergeProps({
29311
29309
  "class": "v-calendar-month__weeknumber"
29312
29310
  }, getPrefixedEventHandlers(attrs, ':weekNumber', () => ({
29313
29311
  weekNumber: weekNumbers.value[wi],
29314
29312
  week
29315
29313
  }))), [weekNumbers.value[wi]]) : '', week.map(day => vue.createVNode(VCalendarMonthDay, vue.mergeProps({
29316
- "key": day.date.getTime()
29314
+ "key": adapter.toJsDate(day.date).getTime()
29317
29315
  }, calendarDayProps, {
29318
29316
  "day": day,
29319
29317
  "title": adapter.format(day.date, 'dayOfMonth'),
@@ -32203,7 +32201,7 @@
32203
32201
  };
32204
32202
  });
32205
32203
  }
32206
- const version$1 = "3.8.11-master.2025-06-30";
32204
+ const version$1 = "3.8.12-master.2025-07-03";
32207
32205
  createVuetify$1.version = version$1;
32208
32206
 
32209
32207
  // Vue's inject() can only be used in setup
@@ -32501,7 +32499,7 @@
32501
32499
 
32502
32500
  /* eslint-disable local-rules/sort-imports */
32503
32501
 
32504
- const version = "3.8.11-master.2025-06-30";
32502
+ const version = "3.8.12-master.2025-07-03";
32505
32503
 
32506
32504
  /* eslint-disable local-rules/sort-imports */
32507
32505