vuetify 3.8.10 → 3.8.12
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/dist/json/attributes.json +3366 -3366
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +150 -150
- package/dist/json/web-types.json +6157 -6157
- package/dist/vuetify-labs.cjs +81 -83
- package/dist/vuetify-labs.css +2588 -2594
- package/dist/vuetify-labs.d.ts +200 -200
- package/dist/vuetify-labs.esm.js +81 -83
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +81 -83
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +56 -59
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3957 -3963
- package/dist/vuetify.d.ts +57 -57
- package/dist/vuetify.esm.js +56 -59
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +56 -59
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +45 -46
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VBtn/VBtn.sass +3 -1
- package/lib/components/VCarousel/VCarousel.css +0 -1
- package/lib/components/VCarousel/VCarousel.js +1 -0
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.sass +0 -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.css +3 -8
- package/lib/components/VDatePicker/VDatePickerMonth.js +7 -3
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.sass +3 -8
- package/lib/components/VField/VField.js +2 -10
- package/lib/components/VField/VField.js.map +1 -1
- package/lib/components/VList/VList.js +1 -1
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.js +4 -10
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VNumberInput/hold.js +4 -0
- package/lib/components/VNumberInput/hold.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 +1 -1
- package/lib/composables/calendar.js +8 -8
- 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 +57 -57
- 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 +2 -2
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.8.
|
|
2
|
+
* Vuetify v3.8.12
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -9713,7 +9713,7 @@
|
|
|
9713
9713
|
function transformItem$2(props, item) {
|
|
9714
9714
|
const type = getPropertyFromItem(item, props.itemType, 'item');
|
|
9715
9715
|
const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
|
|
9716
|
-
const value = getPropertyFromItem(item, props.itemValue, undefined);
|
|
9716
|
+
const value = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemValue, undefined);
|
|
9717
9717
|
const children = getPropertyFromItem(item, props.itemChildren);
|
|
9718
9718
|
const itemProps = props.itemProps === true ? omit(item, ['children']) : getPropertyFromItem(item, props.itemProps);
|
|
9719
9719
|
const _props = {
|
|
@@ -10192,7 +10192,7 @@
|
|
|
10192
10192
|
});
|
|
10193
10193
|
if (flipped.isFull) {
|
|
10194
10194
|
const values = flipped.values();
|
|
10195
|
-
if (deepEqual(values.at(-1), values.at(-3))) {
|
|
10195
|
+
if (deepEqual(values.at(-1), values.at(-3)) && !deepEqual(values.at(-1), values.at(-2))) {
|
|
10196
10196
|
// Flipping is causing a container resize loop
|
|
10197
10197
|
return;
|
|
10198
10198
|
}
|
|
@@ -11958,11 +11958,7 @@
|
|
|
11958
11958
|
default: slots.loader
|
|
11959
11959
|
}), hasPrepend && vue.createElementVNode("div", {
|
|
11960
11960
|
"key": "prepend",
|
|
11961
|
-
"class": "v-field__prepend-inner"
|
|
11962
|
-
"onMousedown": e => {
|
|
11963
|
-
e.preventDefault();
|
|
11964
|
-
e.stopPropagation();
|
|
11965
|
-
}
|
|
11961
|
+
"class": "v-field__prepend-inner"
|
|
11966
11962
|
}, [props.prependInnerIcon && vue.createVNode(InputIcon, {
|
|
11967
11963
|
"key": "prepend-icon",
|
|
11968
11964
|
"name": "prependInner",
|
|
@@ -12031,11 +12027,7 @@
|
|
|
12031
12027
|
})]), [[vue.vShow, props.dirty]])]
|
|
12032
12028
|
}), hasAppend && vue.createElementVNode("div", {
|
|
12033
12029
|
"key": "append",
|
|
12034
|
-
"class": "v-field__append-inner"
|
|
12035
|
-
"onMousedown": e => {
|
|
12036
|
-
e.preventDefault();
|
|
12037
|
-
e.stopPropagation();
|
|
12038
|
-
}
|
|
12030
|
+
"class": "v-field__append-inner"
|
|
12039
12031
|
}, [slots['append-inner']?.(slotProps.value), props.appendInnerIcon && vue.createVNode(InputIcon, {
|
|
12040
12032
|
"key": "append-icon",
|
|
12041
12033
|
"name": "appendInner",
|
|
@@ -12146,7 +12138,7 @@
|
|
|
12146
12138
|
if (!isFocused.value) focus();
|
|
12147
12139
|
vue.nextTick(() => {
|
|
12148
12140
|
if (inputRef.value !== document.activeElement) {
|
|
12149
|
-
inputRef.value?.focus();
|
|
12141
|
+
vue.nextTick(() => inputRef.value?.focus());
|
|
12150
12142
|
}
|
|
12151
12143
|
});
|
|
12152
12144
|
}
|
|
@@ -12480,7 +12472,7 @@
|
|
|
12480
12472
|
raf = requestAnimationFrame(_calculateVisibleItems);
|
|
12481
12473
|
}
|
|
12482
12474
|
function _calculateVisibleItems() {
|
|
12483
|
-
if (!containerRef.value || !viewportHeight.value) return;
|
|
12475
|
+
if (!containerRef.value || !viewportHeight.value || !itemHeight.value) return;
|
|
12484
12476
|
const scrollTop = lastScrollTop - markerOffset;
|
|
12485
12477
|
const direction = Math.sign(scrollVelocity);
|
|
12486
12478
|
const startPx = Math.max(0, scrollTop - BUFFER_PX);
|
|
@@ -15229,6 +15221,7 @@
|
|
|
15229
15221
|
}) : vue.createVNode(VBtn, vue.mergeProps(item, props), null);
|
|
15230
15222
|
})]
|
|
15231
15223
|
})]), props.progress && vue.createVNode(VProgressLinear, {
|
|
15224
|
+
"absolute": true,
|
|
15232
15225
|
"class": "v-carousel__progress",
|
|
15233
15226
|
"color": typeof props.progress === 'string' ? props.progress : undefined,
|
|
15234
15227
|
"modelValue": (group.getItemIndex(model.value) + 1) / group.items.value.length * 100
|
|
@@ -17311,7 +17304,7 @@
|
|
|
17311
17304
|
case 'fullDate':
|
|
17312
17305
|
options = {
|
|
17313
17306
|
year: 'numeric',
|
|
17314
|
-
month: '
|
|
17307
|
+
month: 'short',
|
|
17315
17308
|
day: 'numeric'
|
|
17316
17309
|
};
|
|
17317
17310
|
break;
|
|
@@ -19299,7 +19292,8 @@
|
|
|
19299
19292
|
|
|
19300
19293
|
// Dates should be compared numerically
|
|
19301
19294
|
if (sortA instanceof Date && sortB instanceof Date) {
|
|
19302
|
-
|
|
19295
|
+
sortA = sortA.getTime();
|
|
19296
|
+
sortB = sortB.getTime();
|
|
19303
19297
|
}
|
|
19304
19298
|
[sortA, sortB] = [sortA, sortB].map(s => s != null ? s.toString().toLocaleLowerCase() : s);
|
|
19305
19299
|
if (sortA !== sortB) {
|
|
@@ -20023,7 +20017,6 @@
|
|
|
20023
20017
|
} = _ref;
|
|
20024
20018
|
const Tag = props.tag ?? 'td';
|
|
20025
20019
|
return vue.createVNode(Tag, {
|
|
20026
|
-
"tabindex": "0",
|
|
20027
20020
|
"class": vue.normalizeClass(['v-data-table__td', {
|
|
20028
20021
|
'v-data-table-column--fixed': props.fixed,
|
|
20029
20022
|
'v-data-table-column--last-fixed': props.lastFixed,
|
|
@@ -20424,14 +20417,14 @@
|
|
|
20424
20417
|
},
|
|
20425
20418
|
"colspan": column.colspan,
|
|
20426
20419
|
"rowspan": column.rowspan,
|
|
20427
|
-
"onClick": column.sortable ? () => toggleSort(column) : undefined,
|
|
20428
20420
|
"fixed": column.fixed,
|
|
20429
20421
|
"nowrap": column.nowrap,
|
|
20430
20422
|
"lastFixed": column.lastFixed,
|
|
20431
|
-
"noPadding": noPadding
|
|
20432
|
-
|
|
20433
|
-
"
|
|
20434
|
-
|
|
20423
|
+
"noPadding": noPadding,
|
|
20424
|
+
"tabindex": column.sortable ? 0 : undefined,
|
|
20425
|
+
"onClick": column.sortable ? () => toggleSort(column) : undefined,
|
|
20426
|
+
"onKeydown": column.sortable ? event => handleEnterKeyPress(event, column) : undefined
|
|
20427
|
+
}, headerProps), {
|
|
20435
20428
|
default: () => {
|
|
20436
20429
|
const columnSlotName = `header.${column.key}`;
|
|
20437
20430
|
const columnSlotProps = {
|
|
@@ -22107,10 +22100,9 @@
|
|
|
22107
22100
|
const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value));
|
|
22108
22101
|
return adapter.setMonth(date, value);
|
|
22109
22102
|
}, v => adapter.getMonth(v));
|
|
22110
|
-
const
|
|
22103
|
+
const weekdayLabels = vue.computed(() => {
|
|
22111
22104
|
const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
|
|
22112
|
-
|
|
22113
|
-
return [0, 1, 2, 3, 4, 5, 6].map(day => (day + firstDayOfWeek) % 7);
|
|
22105
|
+
return adapter.getWeekdays(props.firstDayOfWeek).filter((_, i) => props.weekdays.includes((i + firstDayOfWeek) % 7));
|
|
22114
22106
|
});
|
|
22115
22107
|
const weeksInMonth = vue.computed(() => {
|
|
22116
22108
|
const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
|
|
@@ -22134,13 +22126,14 @@
|
|
|
22134
22126
|
});
|
|
22135
22127
|
function genDays(days, today) {
|
|
22136
22128
|
return days.filter(date => {
|
|
22137
|
-
return
|
|
22129
|
+
return props.weekdays.includes(adapter.toJsDate(date).getDay());
|
|
22138
22130
|
}).map((date, index) => {
|
|
22139
22131
|
const isoDate = adapter.toISO(date);
|
|
22140
22132
|
const isAdjacent = !adapter.isSameMonth(date, month.value);
|
|
22141
22133
|
const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value));
|
|
22142
22134
|
const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value));
|
|
22143
22135
|
const isSame = adapter.isSameDay(date, month.value);
|
|
22136
|
+
const weekdaysCount = props.weekdays.length;
|
|
22144
22137
|
return {
|
|
22145
22138
|
date,
|
|
22146
22139
|
formatted: adapter.format(date, 'keyboardDate'),
|
|
@@ -22152,8 +22145,8 @@
|
|
|
22152
22145
|
isSelected: model.value.some(value => adapter.isSameDay(date, value)),
|
|
22153
22146
|
isStart,
|
|
22154
22147
|
isToday: adapter.isSameDay(date, today),
|
|
22155
|
-
isWeekEnd: index %
|
|
22156
|
-
isWeekStart: index %
|
|
22148
|
+
isWeekEnd: index % weekdaysCount === weekdaysCount - 1,
|
|
22149
|
+
isWeekStart: index % weekdaysCount === 0,
|
|
22157
22150
|
isoDate,
|
|
22158
22151
|
localized: adapter.format(date, 'dayOfMonth'),
|
|
22159
22152
|
month: adapter.getMonth(date),
|
|
@@ -22191,7 +22184,7 @@
|
|
|
22191
22184
|
if (typeof props.allowedDates === 'function') {
|
|
22192
22185
|
return !props.allowedDates(date);
|
|
22193
22186
|
}
|
|
22194
|
-
return
|
|
22187
|
+
return false;
|
|
22195
22188
|
}
|
|
22196
22189
|
return {
|
|
22197
22190
|
displayValue,
|
|
@@ -22200,7 +22193,7 @@
|
|
|
22200
22193
|
genDays,
|
|
22201
22194
|
model,
|
|
22202
22195
|
weeksInMonth,
|
|
22203
|
-
|
|
22196
|
+
weekdayLabels,
|
|
22204
22197
|
weekNumbers
|
|
22205
22198
|
};
|
|
22206
22199
|
}
|
|
@@ -22239,7 +22232,8 @@
|
|
|
22239
22232
|
const {
|
|
22240
22233
|
daysInMonth,
|
|
22241
22234
|
model,
|
|
22242
|
-
weekNumbers
|
|
22235
|
+
weekNumbers,
|
|
22236
|
+
weekdayLabels
|
|
22243
22237
|
} = useCalendar(props);
|
|
22244
22238
|
const adapter = useDate();
|
|
22245
22239
|
const rangeStart = vue.shallowRef();
|
|
@@ -22311,7 +22305,10 @@
|
|
|
22311
22305
|
}
|
|
22312
22306
|
}
|
|
22313
22307
|
useRender(() => vue.createElementVNode("div", {
|
|
22314
|
-
"class": "v-date-picker-month"
|
|
22308
|
+
"class": "v-date-picker-month",
|
|
22309
|
+
"style": {
|
|
22310
|
+
'--v-date-picker-days-in-week': props.weekdays.length
|
|
22311
|
+
}
|
|
22315
22312
|
}, [props.showWeek && vue.createElementVNode("div", {
|
|
22316
22313
|
"key": "weeks",
|
|
22317
22314
|
"class": "v-date-picker-month__weeks"
|
|
@@ -22327,7 +22324,7 @@
|
|
|
22327
22324
|
"ref": daysRef,
|
|
22328
22325
|
"key": daysInMonth.value[0].date?.toString(),
|
|
22329
22326
|
"class": "v-date-picker-month__days"
|
|
22330
|
-
}, [!props.hideWeekdays &&
|
|
22327
|
+
}, [!props.hideWeekdays && weekdayLabels.value.map(weekDay => vue.createElementVNode("div", {
|
|
22331
22328
|
"class": vue.normalizeClass(['v-date-picker-month__day', 'v-date-picker-month__weekday'])
|
|
22332
22329
|
}, [weekDay])), daysInMonth.value.map((item, i) => {
|
|
22333
22330
|
const slotProps = {
|
|
@@ -24929,6 +24926,8 @@
|
|
|
24929
24926
|
function holdStart(value) {
|
|
24930
24927
|
holdStop();
|
|
24931
24928
|
tick(value);
|
|
24929
|
+
window.addEventListener('pointerup', holdStop);
|
|
24930
|
+
document.addEventListener('blur', holdStop);
|
|
24932
24931
|
timeout = window.setTimeout(() => {
|
|
24933
24932
|
interval = window.setInterval(() => tick(value), HOLD_REPEAT);
|
|
24934
24933
|
}, HOLD_DELAY);
|
|
@@ -24936,6 +24935,8 @@
|
|
|
24936
24935
|
function holdStop() {
|
|
24937
24936
|
window.clearTimeout(timeout);
|
|
24938
24937
|
window.clearInterval(interval);
|
|
24938
|
+
window.removeEventListener('pointerup', holdStop);
|
|
24939
|
+
document.removeEventListener('blur', holdStop);
|
|
24939
24940
|
}
|
|
24940
24941
|
function tick(value) {
|
|
24941
24942
|
toggleUpDown(value === 'up');
|
|
@@ -25047,7 +25048,7 @@
|
|
|
25047
25048
|
onClick: onControlClick,
|
|
25048
25049
|
onPointerup: onControlMouseup,
|
|
25049
25050
|
onPointerdown: onUpControlMousedown,
|
|
25050
|
-
onPointercancel:
|
|
25051
|
+
onPointercancel: onControlMouseup
|
|
25051
25052
|
}
|
|
25052
25053
|
};
|
|
25053
25054
|
const decrementSlotProps = {
|
|
@@ -25055,7 +25056,7 @@
|
|
|
25055
25056
|
onClick: onControlClick,
|
|
25056
25057
|
onPointerup: onControlMouseup,
|
|
25057
25058
|
onPointerdown: onDownControlMousedown,
|
|
25058
|
-
onPointercancel:
|
|
25059
|
+
onPointercancel: onControlMouseup
|
|
25059
25060
|
}
|
|
25060
25061
|
};
|
|
25061
25062
|
vue.watch(() => props.precision, () => formatInputValue());
|
|
@@ -25135,7 +25136,6 @@
|
|
|
25135
25136
|
const el = e.currentTarget;
|
|
25136
25137
|
el?.releasePointerCapture(e.pointerId);
|
|
25137
25138
|
e.preventDefault();
|
|
25138
|
-
e.stopPropagation();
|
|
25139
25139
|
holdStop();
|
|
25140
25140
|
}
|
|
25141
25141
|
function onUpControlMousedown(e) {
|
|
@@ -25152,11 +25152,6 @@
|
|
|
25152
25152
|
e.stopPropagation();
|
|
25153
25153
|
holdStart('down');
|
|
25154
25154
|
}
|
|
25155
|
-
function onControlPointerCancel(e) {
|
|
25156
|
-
const el = e.currentTarget;
|
|
25157
|
-
el?.releasePointerCapture(e.pointerId);
|
|
25158
|
-
holdStop();
|
|
25159
|
-
}
|
|
25160
25155
|
function clampModel() {
|
|
25161
25156
|
if (controlsDisabled.value) return;
|
|
25162
25157
|
if (!vTextFieldRef.value) return;
|
|
@@ -25206,7 +25201,7 @@
|
|
|
25206
25201
|
"onClick": onControlClick,
|
|
25207
25202
|
"onPointerdown": onUpControlMousedown,
|
|
25208
25203
|
"onPointerup": onControlMouseup,
|
|
25209
|
-
"onPointercancel":
|
|
25204
|
+
"onPointercancel": onControlMouseup,
|
|
25210
25205
|
"size": controlNodeSize.value,
|
|
25211
25206
|
"tabindex": "-1"
|
|
25212
25207
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
@@ -25236,7 +25231,7 @@
|
|
|
25236
25231
|
"onClick": onControlClick,
|
|
25237
25232
|
"onPointerdown": onDownControlMousedown,
|
|
25238
25233
|
"onPointerup": onControlMouseup,
|
|
25239
|
-
"onPointercancel":
|
|
25234
|
+
"onPointercancel": onControlMouseup,
|
|
25240
25235
|
"size": controlNodeSize.value,
|
|
25241
25236
|
"tabindex": "-1"
|
|
25242
25237
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
@@ -25383,19 +25378,21 @@
|
|
|
25383
25378
|
const contentRef = vue.ref();
|
|
25384
25379
|
const inputRef = vue.ref([]);
|
|
25385
25380
|
const current = vue.computed(() => inputRef.value[focusIndex.value]);
|
|
25386
|
-
|
|
25387
|
-
|
|
25388
|
-
|
|
25389
|
-
|
|
25390
|
-
|
|
25391
|
-
|
|
25392
|
-
|
|
25393
|
-
|
|
25394
|
-
|
|
25395
|
-
|
|
25396
|
-
|
|
25397
|
-
|
|
25398
|
-
|
|
25381
|
+
useToggleScope(() => props.autofocus, () => {
|
|
25382
|
+
const intersectScope = vue.effectScope();
|
|
25383
|
+
intersectScope.run(() => {
|
|
25384
|
+
const {
|
|
25385
|
+
intersectionRef,
|
|
25386
|
+
isIntersecting
|
|
25387
|
+
} = useIntersectionObserver();
|
|
25388
|
+
vue.watchEffect(() => {
|
|
25389
|
+
intersectionRef.value = inputRef.value[0];
|
|
25390
|
+
});
|
|
25391
|
+
vue.watch(isIntersecting, v => {
|
|
25392
|
+
if (!v) return;
|
|
25393
|
+
intersectionRef.value?.focus();
|
|
25394
|
+
intersectScope.stop();
|
|
25395
|
+
});
|
|
25399
25396
|
});
|
|
25400
25397
|
});
|
|
25401
25398
|
function onInput() {
|
|
@@ -28809,7 +28806,7 @@
|
|
|
28809
28806
|
}
|
|
28810
28807
|
};
|
|
28811
28808
|
useRender(() => {
|
|
28812
|
-
return vue.createElementVNode("div", null, [slots
|
|
28809
|
+
return vue.createElementVNode("div", null, [slots['interval-event']?.({
|
|
28813
28810
|
height: calcHeight().height,
|
|
28814
28811
|
margin: calcHeight().margin,
|
|
28815
28812
|
eventClass: 'v-calendar-internal-event',
|
|
@@ -28906,13 +28903,13 @@
|
|
|
28906
28903
|
"style": vue.normalizeStyle(`height: ${convertToUnit(props.intervalHeight)}`)
|
|
28907
28904
|
}, [vue.createElementVNode("div", vue.mergeProps({
|
|
28908
28905
|
"class": "v-calendar-day__row-label"
|
|
28909
|
-
}, getPrefixedEventHandlers(attrs, ':time', () => props)), [slots
|
|
28906
|
+
}, getPrefixedEventHandlers(attrs, ':time', () => props)), [slots['interval-title']?.({
|
|
28910
28907
|
interval: interval.value
|
|
28911
28908
|
}) ?? (props.index ? props.intervalFormat ? typeof props.intervalFormat === 'string' ? adapter.format(interval.value.start, 'hours12h') : props.intervalFormat(interval.value) : interval.value.label : '12 AM')]), vue.createElementVNode("div", {
|
|
28912
28909
|
"class": "v-calendar-day__row-hairline"
|
|
28913
28910
|
}, null), vue.createElementVNode("div", vue.mergeProps({
|
|
28914
28911
|
"class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
|
|
28915
|
-
}, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots
|
|
28912
|
+
}, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots['interval-body']?.({
|
|
28916
28913
|
interval: interval.value
|
|
28917
28914
|
}) ?? vue.createElementVNode("div", null, [interval.value.events?.map(event => vue.createVNode(VCalendarIntervalEvent, vue.mergeProps({
|
|
28918
28915
|
"event": event,
|
|
@@ -28921,8 +28918,8 @@
|
|
|
28921
28918
|
"intervalDuration": props.intervalDuration,
|
|
28922
28919
|
"intervalHeight": props.intervalHeight
|
|
28923
28920
|
}, attrs), {
|
|
28924
|
-
...(slots
|
|
28925
|
-
|
|
28921
|
+
...(slots['interval-event'] ? {
|
|
28922
|
+
'interval-event': _ref2 => {
|
|
28926
28923
|
let {
|
|
28927
28924
|
height,
|
|
28928
28925
|
margin,
|
|
@@ -28930,7 +28927,7 @@
|
|
|
28930
28927
|
event,
|
|
28931
28928
|
interval
|
|
28932
28929
|
} = _ref2;
|
|
28933
|
-
return slots
|
|
28930
|
+
return slots['interval-event']?.({
|
|
28934
28931
|
height,
|
|
28935
28932
|
margin,
|
|
28936
28933
|
eventClass,
|
|
@@ -28944,7 +28941,7 @@
|
|
|
28944
28941
|
"style": vue.normalizeStyle(`height: ${convertToUnit(props.intervalHeight)}`)
|
|
28945
28942
|
}, [vue.createElementVNode("div", vue.mergeProps({
|
|
28946
28943
|
"class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
|
|
28947
|
-
}, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots
|
|
28944
|
+
}, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots['interval-body']?.({
|
|
28948
28945
|
interval: interval.value
|
|
28949
28946
|
}) ?? interval.value.events?.map(event => vue.createVNode(VCalendarIntervalEvent, vue.mergeProps({
|
|
28950
28947
|
"event": event,
|
|
@@ -28953,8 +28950,8 @@
|
|
|
28953
28950
|
"intervalDuration": props.intervalDuration,
|
|
28954
28951
|
"intervalHeight": props.intervalHeight
|
|
28955
28952
|
}, attrs), {
|
|
28956
|
-
...(slots
|
|
28957
|
-
|
|
28953
|
+
...(slots['interval-event'] ? {
|
|
28954
|
+
'interval-event': _ref3 => {
|
|
28958
28955
|
let {
|
|
28959
28956
|
height,
|
|
28960
28957
|
margin,
|
|
@@ -28962,7 +28959,7 @@
|
|
|
28962
28959
|
event,
|
|
28963
28960
|
interval
|
|
28964
28961
|
} = _ref3;
|
|
28965
|
-
return slots
|
|
28962
|
+
return slots['interval-event']?.({
|
|
28966
28963
|
height,
|
|
28967
28964
|
margin,
|
|
28968
28965
|
eventClass,
|
|
@@ -29017,7 +29014,7 @@
|
|
|
29017
29014
|
}), null)])]), intervals.value.map((_, index) => slots.interval?.(calendarIntervalProps) ?? vue.createVNode(VCalendarInterval, vue.mergeProps({
|
|
29018
29015
|
"index": index
|
|
29019
29016
|
}, calendarIntervalProps, attrs, getPrefixedEventHandlers(attrs, ':interval', () => calendarIntervalProps)), {
|
|
29020
|
-
...pick(slots, ['
|
|
29017
|
+
...pick(slots, ['interval-body', 'interval-event', 'interval-title'])
|
|
29021
29018
|
}))]);
|
|
29022
29019
|
});
|
|
29023
29020
|
return {
|
|
@@ -29161,7 +29158,7 @@
|
|
|
29161
29158
|
}, getPrefixedEventHandlers(attrs, ':day', () => props)), [!props.day?.isHidden ? vue.createElementVNode("div", {
|
|
29162
29159
|
"key": "title",
|
|
29163
29160
|
"class": "v-calendar-weekly__day-label"
|
|
29164
|
-
}, [slots
|
|
29161
|
+
}, [slots['day-title']?.({
|
|
29165
29162
|
title: props.title
|
|
29166
29163
|
}) ?? vue.createVNode(VBtn, vue.mergeProps({
|
|
29167
29164
|
"class": props.day?.isToday ? 'v-calendar-weekly__day-label__today' : undefined,
|
|
@@ -29174,12 +29171,12 @@
|
|
|
29174
29171
|
}, getPrefixedEventHandlers(attrs, ':date', () => props)), null)]) : undefined, !props.day?.isHidden ? vue.createElementVNode("div", {
|
|
29175
29172
|
"key": "content",
|
|
29176
29173
|
"class": "v-calendar-weekly__day-content"
|
|
29177
|
-
}, [slots
|
|
29174
|
+
}, [slots['day-body']?.({
|
|
29178
29175
|
day: props.day,
|
|
29179
29176
|
events: props.events
|
|
29180
29177
|
}) ?? vue.createElementVNode("div", null, [vue.createElementVNode("div", {
|
|
29181
29178
|
"class": "v-calendar-weekly__day-alldayevents-container"
|
|
29182
|
-
}, [props.events?.filter(event => event.allDay).map(event => slots
|
|
29179
|
+
}, [props.events?.filter(event => event.allDay).map(event => slots['day-event'] ? slots['day-event']({
|
|
29183
29180
|
day: props.day,
|
|
29184
29181
|
allDay: true,
|
|
29185
29182
|
event
|
|
@@ -29189,7 +29186,7 @@
|
|
|
29189
29186
|
"allDay": true
|
|
29190
29187
|
}, attrs), null))]), vue.createElementVNode("div", {
|
|
29191
29188
|
"class": "v-calendar-weekly__day-events-container"
|
|
29192
|
-
}, [props.events?.filter(event => !event.allDay).map(event => slots
|
|
29189
|
+
}, [props.events?.filter(event => !event.allDay).map(event => slots['day-event'] ? slots['day-event']({
|
|
29193
29190
|
day: props.day,
|
|
29194
29191
|
event,
|
|
29195
29192
|
allDay: false
|
|
@@ -29234,9 +29231,8 @@
|
|
|
29234
29231
|
model,
|
|
29235
29232
|
displayValue,
|
|
29236
29233
|
weekNumbers,
|
|
29237
|
-
|
|
29234
|
+
weekdayLabels
|
|
29238
29235
|
} = useCalendar(props);
|
|
29239
|
-
const dayNames = adapter.getWeekdays();
|
|
29240
29236
|
function onClickNext() {
|
|
29241
29237
|
if (props.viewMode === 'month') {
|
|
29242
29238
|
model.value = [adapter.addMonths(displayValue.value, 1)];
|
|
@@ -29274,6 +29270,7 @@
|
|
|
29274
29270
|
useRender(() => {
|
|
29275
29271
|
const calendarDayProps = VCalendarDay.filterProps(props);
|
|
29276
29272
|
const calendarHeaderProps = VCalendarHeader.filterProps(props);
|
|
29273
|
+
const weekdaysCount = daysInWeek.value.length;
|
|
29277
29274
|
return vue.createElementVNode("div", {
|
|
29278
29275
|
"class": vue.normalizeClass(['v-calendar', {
|
|
29279
29276
|
'v-calendar-monthly': props.viewMode === 'month',
|
|
@@ -29295,19 +29292,19 @@
|
|
|
29295
29292
|
}), {
|
|
29296
29293
|
title: slots.title
|
|
29297
29294
|
}))]), vue.createElementVNode("div", {
|
|
29298
|
-
"class": vue.normalizeClass(['v-calendar__container', `days__${
|
|
29295
|
+
"class": vue.normalizeClass(['v-calendar__container', `days__${weekdaysCount}`])
|
|
29299
29296
|
}, [props.viewMode === 'month' && !props.hideDayHeader && vue.createElementVNode("div", {
|
|
29300
|
-
"class": vue.normalizeClass(['v-calendar-weekly__head', `days__${
|
|
29297
|
+
"class": vue.normalizeClass(['v-calendar-weekly__head', `days__${weekdaysCount}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])]),
|
|
29301
29298
|
"key": "calendarWeeklyHead"
|
|
29302
29299
|
}, [!props.hideWeekNumber ? vue.createElementVNode("div", {
|
|
29303
29300
|
"key": "weekNumber0",
|
|
29304
29301
|
"class": "v-calendar-weekly__head-weeknumber"
|
|
29305
|
-
}, null) : '',
|
|
29302
|
+
}, null) : '', weekdayLabels.value.map(weekday => vue.createElementVNode("div", {
|
|
29306
29303
|
"class": vue.normalizeClass(`v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}`)
|
|
29307
|
-
}, [
|
|
29304
|
+
}, [weekday]))]), props.viewMode === 'month' && vue.createElementVNode("div", {
|
|
29308
29305
|
"key": "VCalendarMonth",
|
|
29309
|
-
"class": vue.normalizeClass(['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${
|
|
29310
|
-
}, [chunkArray(daysInMonth.value,
|
|
29306
|
+
"class": vue.normalizeClass(['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekdaysCount}`, ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : [])])
|
|
29307
|
+
}, [chunkArray(daysInMonth.value, weekdaysCount).map((week, wi) => [!props.hideWeekNumber ? vue.createElementVNode("div", vue.mergeProps({
|
|
29311
29308
|
"class": "v-calendar-month__weeknumber"
|
|
29312
29309
|
}, getPrefixedEventHandlers(attrs, ':weekNumber', () => ({
|
|
29313
29310
|
weekNumber: weekNumbers.value[wi],
|
|
@@ -29330,7 +29327,7 @@
|
|
|
29330
29327
|
"dayIndex": i,
|
|
29331
29328
|
"events": props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date))
|
|
29332
29329
|
}, attrs), {
|
|
29333
|
-
...pick(slots, ['interval', '
|
|
29330
|
+
...pick(slots, ['interval', 'interval-body', 'interval-event', 'interval-title'])
|
|
29334
29331
|
})), props.viewMode === 'day' && (slots['day-interval'] ? slots['day-interval']({
|
|
29335
29332
|
day: genDays([displayValue.value], adapter.date())[0],
|
|
29336
29333
|
dayIndex: 0,
|
|
@@ -30250,6 +30247,7 @@
|
|
|
30250
30247
|
opacity: props.opacity
|
|
30251
30248
|
};
|
|
30252
30249
|
return vue.createVNode(props.tag, {
|
|
30250
|
+
"type": props.tag === 'button' ? 'button' : undefined,
|
|
30253
30251
|
"class": vue.normalizeClass([{
|
|
30254
30252
|
'v-icon-btn': true,
|
|
30255
30253
|
'v-icon-btn--active': isActive.value,
|
|
@@ -32202,7 +32200,7 @@
|
|
|
32202
32200
|
};
|
|
32203
32201
|
});
|
|
32204
32202
|
}
|
|
32205
|
-
const version$1 = "3.8.
|
|
32203
|
+
const version$1 = "3.8.12";
|
|
32206
32204
|
createVuetify$1.version = version$1;
|
|
32207
32205
|
|
|
32208
32206
|
// Vue's inject() can only be used in setup
|
|
@@ -32500,7 +32498,7 @@
|
|
|
32500
32498
|
|
|
32501
32499
|
/* eslint-disable local-rules/sort-imports */
|
|
32502
32500
|
|
|
32503
|
-
const version = "3.8.
|
|
32501
|
+
const version = "3.8.12";
|
|
32504
32502
|
|
|
32505
32503
|
/* eslint-disable local-rules/sort-imports */
|
|
32506
32504
|
|