@vuetify/nightly 3.9.0-beta.1-dev.2025-06-28 → 3.9.0-beta.1-dev.2025-07-02
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.
- package/CHANGELOG.md +100 -3
- package/dist/json/attributes.json +725 -725
- package/dist/json/importMap-labs.json +30 -30
- package/dist/json/importMap.json +156 -156
- package/dist/json/web-types.json +1311 -1311
- package/dist/vuetify-labs.cjs +61 -63
- package/dist/vuetify-labs.css +4207 -4207
- package/dist/vuetify-labs.d.ts +203 -203
- package/dist/vuetify-labs.esm.js +61 -63
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +61 -63
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +36 -39
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4469 -4469
- package/dist/vuetify.d.ts +60 -60
- package/dist/vuetify.esm.js +36 -39
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +36 -39
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +34 -35
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTableColumn.js +0 -1
- package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.js +5 -5
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/composables/sort.js +2 -1
- package/lib/components/VDataTable/composables/sort.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js +1 -2
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +17 -14
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverlay/locationStrategies.js +1 -1
- package/lib/components/VOverlay/locationStrategies.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +1 -1
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/composables/calendar.d.ts +0 -1
- package/lib/composables/calendar.js +6 -10
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/date/adapters/vuetify.js +1 -1
- package/lib/composables/date/adapters/vuetify.js.map +1 -1
- package/lib/composables/virtual.js +1 -1
- package/lib/composables/virtual.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +60 -60
- package/lib/framework.js +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +33 -33
- package/lib/labs/VCalendar/VCalendar.js +9 -9
- package/lib/labs/VCalendar/VCalendar.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarDay.d.ts +33 -33
- package/lib/labs/VCalendar/VCalendarDay.js +1 -1
- package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarInterval.d.ts +36 -36
- package/lib/labs/VCalendar/VCalendarInterval.js +9 -9
- package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +12 -12
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +36 -36
- package/lib/labs/VCalendar/VCalendarMonthDay.js +4 -4
- package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
- package/lib/labs/VIconBtn/VIconBtn.js +1 -0
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/package.json +1 -1
package/dist/vuetify.cjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.9.0-beta.1-dev.2025-
|
2
|
+
* Vuetify v3.9.0-beta.1-dev.2025-07-02
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -10734,7 +10734,7 @@
|
|
10734
10734
|
});
|
10735
10735
|
if (flipped.isFull) {
|
10736
10736
|
const values = flipped.values();
|
10737
|
-
if (deepEqual(values.at(-1), values.at(-3))) {
|
10737
|
+
if (deepEqual(values.at(-1), values.at(-3)) && !deepEqual(values.at(-1), values.at(-2))) {
|
10738
10738
|
// Flipping is causing a container resize loop
|
10739
10739
|
return;
|
10740
10740
|
}
|
@@ -12584,7 +12584,7 @@
|
|
12584
12584
|
if (!isFocused.value) focus();
|
12585
12585
|
vue.nextTick(() => {
|
12586
12586
|
if (inputRef.value !== document.activeElement) {
|
12587
|
-
inputRef.value?.focus();
|
12587
|
+
vue.nextTick(() => inputRef.value?.focus());
|
12588
12588
|
}
|
12589
12589
|
});
|
12590
12590
|
}
|
@@ -12923,7 +12923,7 @@
|
|
12923
12923
|
raf = requestAnimationFrame(_calculateVisibleItems);
|
12924
12924
|
}
|
12925
12925
|
function _calculateVisibleItems() {
|
12926
|
-
if (!containerRef.value || !viewportHeight.value) return;
|
12926
|
+
if (!containerRef.value || !viewportHeight.value || !itemHeight.value) return;
|
12927
12927
|
const scrollTop = lastScrollTop - markerOffset;
|
12928
12928
|
const direction = Math.sign(scrollVelocity);
|
12929
12929
|
const startPx = Math.max(0, scrollTop - BUFFER_PX);
|
@@ -17806,7 +17806,7 @@
|
|
17806
17806
|
case 'fullDate':
|
17807
17807
|
options = {
|
17808
17808
|
year: 'numeric',
|
17809
|
-
month: '
|
17809
|
+
month: 'short',
|
17810
17810
|
day: 'numeric'
|
17811
17811
|
};
|
17812
17812
|
break;
|
@@ -20123,7 +20123,8 @@
|
|
20123
20123
|
|
20124
20124
|
// Dates should be compared numerically
|
20125
20125
|
if (sortA instanceof Date && sortB instanceof Date) {
|
20126
|
-
|
20126
|
+
sortA = sortA.getTime();
|
20127
|
+
sortB = sortB.getTime();
|
20127
20128
|
}
|
20128
20129
|
[sortA, sortB] = [sortA, sortB].map(s => s != null ? s.toString().toLocaleLowerCase() : s);
|
20129
20130
|
if (sortA !== sortB) {
|
@@ -20847,7 +20848,6 @@
|
|
20847
20848
|
} = _ref;
|
20848
20849
|
const Tag = props.tag ?? 'td';
|
20849
20850
|
return vue.createVNode(Tag, {
|
20850
|
-
"tabindex": "0",
|
20851
20851
|
"class": vue.normalizeClass(['v-data-table__td', {
|
20852
20852
|
'v-data-table-column--fixed': props.fixed,
|
20853
20853
|
'v-data-table-column--last-fixed': props.lastFixed,
|
@@ -21250,14 +21250,14 @@
|
|
21250
21250
|
},
|
21251
21251
|
"colspan": column.colspan,
|
21252
21252
|
"rowspan": column.rowspan,
|
21253
|
-
"onClick": column.sortable ? () => toggleSort(column) : undefined,
|
21254
21253
|
"fixed": column.fixed,
|
21255
21254
|
"nowrap": column.nowrap,
|
21256
21255
|
"lastFixed": column.lastFixed,
|
21257
|
-
"noPadding": noPadding
|
21258
|
-
|
21259
|
-
"
|
21260
|
-
|
21256
|
+
"noPadding": noPadding,
|
21257
|
+
"tabindex": column.sortable ? 0 : undefined,
|
21258
|
+
"onClick": column.sortable ? () => toggleSort(column) : undefined,
|
21259
|
+
"onKeydown": column.sortable ? event => handleEnterKeyPress(event, column) : undefined
|
21260
|
+
}, headerProps), {
|
21261
21261
|
default: () => {
|
21262
21262
|
const columnSlotName = `header.${column.key}`;
|
21263
21263
|
const columnSlotProps = {
|
@@ -22943,13 +22943,9 @@
|
|
22943
22943
|
const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value));
|
22944
22944
|
return adapter.setMonth(date, value);
|
22945
22945
|
}, v => adapter.getMonth(v));
|
22946
|
-
const weekDays = vue.computed(() => {
|
22947
|
-
const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
|
22948
|
-
return props.weekdays.map(day => (day + firstDayOfWeek) % 7);
|
22949
|
-
});
|
22950
22946
|
const weekdayLabels = vue.computed(() => {
|
22951
|
-
const
|
22952
|
-
return
|
22947
|
+
const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
|
22948
|
+
return adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat).filter((_, i) => props.weekdays.includes((i + firstDayOfWeek) % 7));
|
22953
22949
|
});
|
22954
22950
|
const weeksInMonth = vue.computed(() => {
|
22955
22951
|
const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
|
@@ -22973,13 +22969,14 @@
|
|
22973
22969
|
});
|
22974
22970
|
function genDays(days, today) {
|
22975
22971
|
return days.filter(date => {
|
22976
|
-
return
|
22972
|
+
return props.weekdays.includes(adapter.toJsDate(date).getDay());
|
22977
22973
|
}).map((date, index) => {
|
22978
22974
|
const isoDate = adapter.toISO(date);
|
22979
22975
|
const isAdjacent = !adapter.isSameMonth(date, month.value);
|
22980
22976
|
const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value));
|
22981
22977
|
const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value));
|
22982
22978
|
const isSame = adapter.isSameDay(date, month.value);
|
22979
|
+
const weekdaysCount = props.weekdays.length;
|
22983
22980
|
return {
|
22984
22981
|
date,
|
22985
22982
|
formatted: adapter.format(date, 'keyboardDate'),
|
@@ -22991,8 +22988,8 @@
|
|
22991
22988
|
isSelected: model.value.some(value => adapter.isSameDay(date, value)),
|
22992
22989
|
isStart,
|
22993
22990
|
isToday: adapter.isSameDay(date, today),
|
22994
|
-
isWeekEnd: index %
|
22995
|
-
isWeekStart: index %
|
22991
|
+
isWeekEnd: index % weekdaysCount === weekdaysCount - 1,
|
22992
|
+
isWeekStart: index % weekdaysCount === 0,
|
22996
22993
|
isoDate,
|
22997
22994
|
localized: adapter.format(date, 'dayOfMonth'),
|
22998
22995
|
month: adapter.getMonth(date),
|
@@ -23039,7 +23036,6 @@
|
|
23039
23036
|
genDays,
|
23040
23037
|
model,
|
23041
23038
|
weeksInMonth,
|
23042
|
-
weekDays,
|
23043
23039
|
weekdayLabels,
|
23044
23040
|
weekNumbers
|
23045
23041
|
};
|
@@ -23080,7 +23076,6 @@
|
|
23080
23076
|
daysInMonth,
|
23081
23077
|
model,
|
23082
23078
|
weekNumbers,
|
23083
|
-
weekDays,
|
23084
23079
|
weekdayLabels
|
23085
23080
|
} = useCalendar(props);
|
23086
23081
|
const adapter = useDate();
|
@@ -23155,7 +23150,7 @@
|
|
23155
23150
|
useRender(() => vue.createElementVNode("div", {
|
23156
23151
|
"class": "v-date-picker-month",
|
23157
23152
|
"style": {
|
23158
|
-
'--v-date-picker-days-in-week':
|
23153
|
+
'--v-date-picker-days-in-week': props.weekdays.length
|
23159
23154
|
}
|
23160
23155
|
}, [props.showWeek && vue.createElementVNode("div", {
|
23161
23156
|
"key": "weeks",
|
@@ -26326,19 +26321,21 @@
|
|
26326
26321
|
const contentRef = vue.ref();
|
26327
26322
|
const inputRef = vue.ref([]);
|
26328
26323
|
const current = vue.computed(() => inputRef.value[focusIndex.value]);
|
26329
|
-
|
26330
|
-
|
26331
|
-
|
26332
|
-
|
26333
|
-
|
26334
|
-
|
26335
|
-
|
26336
|
-
|
26337
|
-
|
26338
|
-
|
26339
|
-
|
26340
|
-
|
26341
|
-
|
26324
|
+
useToggleScope(() => props.autofocus, () => {
|
26325
|
+
const intersectScope = vue.effectScope();
|
26326
|
+
intersectScope.run(() => {
|
26327
|
+
const {
|
26328
|
+
intersectionRef,
|
26329
|
+
isIntersecting
|
26330
|
+
} = useIntersectionObserver();
|
26331
|
+
vue.watchEffect(() => {
|
26332
|
+
intersectionRef.value = inputRef.value[0];
|
26333
|
+
});
|
26334
|
+
vue.watch(isIntersecting, v => {
|
26335
|
+
if (!v) return;
|
26336
|
+
intersectionRef.value?.focus();
|
26337
|
+
intersectScope.stop();
|
26338
|
+
});
|
26342
26339
|
});
|
26343
26340
|
});
|
26344
26341
|
function onInput() {
|
@@ -31237,7 +31234,7 @@
|
|
31237
31234
|
};
|
31238
31235
|
});
|
31239
31236
|
}
|
31240
|
-
const version$1 = "3.9.0-beta.1-dev.2025-
|
31237
|
+
const version$1 = "3.9.0-beta.1-dev.2025-07-02";
|
31241
31238
|
createVuetify$1.version = version$1;
|
31242
31239
|
|
31243
31240
|
// Vue's inject() can only be used in setup
|
@@ -31262,7 +31259,7 @@
|
|
31262
31259
|
...options
|
31263
31260
|
});
|
31264
31261
|
};
|
31265
|
-
const version = "3.9.0-beta.1-dev.2025-
|
31262
|
+
const version = "3.9.0-beta.1-dev.2025-07-02";
|
31266
31263
|
createVuetify.version = version;
|
31267
31264
|
|
31268
31265
|
exports.blueprints = index;
|