@vuetify/nightly 3.9.0-beta.1-dev.2025-06-28 → 3.9.0-beta.1-dev.2025-07-04
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 +112 -3
- package/dist/json/attributes.json +3349 -3357
- package/dist/json/importMap-labs.json +26 -26
- package/dist/json/importMap.json +160 -160
- package/dist/json/tags.json +2 -4
- package/dist/json/web-types.json +6608 -6629
- package/dist/vuetify-labs.cjs +179 -121
- package/dist/vuetify-labs.css +3814 -3803
- package/dist/vuetify-labs.d.ts +248 -258
- package/dist/vuetify-labs.esm.js +179 -121
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +179 -121
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +154 -97
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3909 -3898
- package/dist/vuetify.d.ts +105 -115
- package/dist/vuetify.esm.js +154 -97
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +154 -97
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +102 -89
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.css +12 -1
- package/lib/components/VDataTable/VDataTable.d.ts +20 -38
- package/lib/components/VDataTable/VDataTable.sass +12 -2
- package/lib/components/VDataTable/VDataTableColumn.d.ts +9 -3
- package/lib/components/VDataTable/VDataTableColumn.js +12 -4
- package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.d.ts +0 -13
- package/lib/components/VDataTable/VDataTableHeaders.js +10 -9
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRow.js +2 -0
- package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.d.ts +10 -23
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +10 -23
- package/lib/components/VDataTable/composables/headers.d.ts +22 -14
- package/lib/components/VDataTable/composables/headers.js +51 -22
- package/lib/components/VDataTable/composables/headers.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/VDataTable/types.d.ts +3 -1
- package/lib/components/VDataTable/types.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js +1 -2
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VList/VListGroup.d.ts +13 -0
- package/lib/components/VList/VListGroup.js +2 -1
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.d.ts +6 -3
- package/lib/components/VList/VListItem.js +1 -1
- package/lib/components/VList/VListItem.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/components/VTreeview/VTreeview.d.ts +6 -21
- package/lib/components/VTreeview/VTreeview.js +6 -9
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewGroup.d.ts +13 -0
- package/lib/components/VTreeview/VTreeviewItem.d.ts +18 -9
- package/lib/components/VTreeview/VTreeviewItem.js +1 -1
- package/lib/components/VTreeview/VTreeviewItem.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/nested/nested.d.ts +7 -4
- package/lib/composables/nested/nested.js +16 -6
- package/lib/composables/nested/nested.js.map +1 -1
- package/lib/composables/nested/selectStrategies.d.ts +2 -1
- package/lib/composables/nested/selectStrategies.js +22 -11
- package/lib/composables/nested/selectStrategies.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 -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 +1 -1
package/dist/vuetify-labs.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-04
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -8826,7 +8826,7 @@
|
|
8826
8826
|
selected.set(id, value ? 'on' : 'off');
|
8827
8827
|
return selected;
|
8828
8828
|
},
|
8829
|
-
in: (v, children, parents) => {
|
8829
|
+
in: (v, children, parents, disabled) => {
|
8830
8830
|
const map = new Map();
|
8831
8831
|
for (const id of v || []) {
|
8832
8832
|
strategy.select({
|
@@ -8834,7 +8834,8 @@
|
|
8834
8834
|
value: true,
|
8835
8835
|
selected: map,
|
8836
8836
|
children,
|
8837
|
-
parents
|
8837
|
+
parents,
|
8838
|
+
disabled
|
8838
8839
|
});
|
8839
8840
|
}
|
8840
8841
|
return map;
|
@@ -8866,9 +8867,9 @@
|
|
8866
8867
|
selected: singleSelected
|
8867
8868
|
});
|
8868
8869
|
},
|
8869
|
-
in: (v, children, parents) => {
|
8870
|
+
in: (v, children, parents, disabled) => {
|
8870
8871
|
if (v?.length) {
|
8871
|
-
return parentStrategy.in(v.slice(0, 1), children, parents);
|
8872
|
+
return parentStrategy.in(v.slice(0, 1), children, parents, disabled);
|
8872
8873
|
}
|
8873
8874
|
return new Map();
|
8874
8875
|
},
|
@@ -8934,23 +8935,32 @@
|
|
8934
8935
|
value,
|
8935
8936
|
selected,
|
8936
8937
|
children,
|
8937
|
-
parents
|
8938
|
+
parents,
|
8939
|
+
disabled
|
8938
8940
|
} = _ref6;
|
8939
8941
|
id = vue.toRaw(id);
|
8940
8942
|
const original = new Map(selected);
|
8941
8943
|
const items = [id];
|
8942
8944
|
while (items.length) {
|
8943
8945
|
const item = items.shift();
|
8944
|
-
|
8946
|
+
if (!disabled.has(item)) {
|
8947
|
+
selected.set(vue.toRaw(item), value ? 'on' : 'off');
|
8948
|
+
}
|
8945
8949
|
if (children.has(item)) {
|
8946
8950
|
items.push(...children.get(item));
|
8947
8951
|
}
|
8948
8952
|
}
|
8949
8953
|
let parent = vue.toRaw(parents.get(id));
|
8950
8954
|
while (parent) {
|
8951
|
-
|
8952
|
-
|
8953
|
-
|
8955
|
+
let everySelected = true;
|
8956
|
+
let noneSelected = true;
|
8957
|
+
for (const child of children.get(parent)) {
|
8958
|
+
const cid = vue.toRaw(child);
|
8959
|
+
if (disabled.has(cid)) continue;
|
8960
|
+
if (selected.get(cid) !== 'on') everySelected = false;
|
8961
|
+
if (selected.has(cid) && selected.get(cid) !== 'off') noneSelected = false;
|
8962
|
+
if (!everySelected && !noneSelected) break;
|
8963
|
+
}
|
8954
8964
|
selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate');
|
8955
8965
|
parent = vue.toRaw(parents.get(parent));
|
8956
8966
|
}
|
@@ -8967,7 +8977,7 @@
|
|
8967
8977
|
}
|
8968
8978
|
return selected;
|
8969
8979
|
},
|
8970
|
-
in: (v, children, parents) => {
|
8980
|
+
in: (v, children, parents, disabled) => {
|
8971
8981
|
let map = new Map();
|
8972
8982
|
for (const id of v || []) {
|
8973
8983
|
map = strategy.select({
|
@@ -8975,7 +8985,8 @@
|
|
8975
8985
|
value: true,
|
8976
8986
|
selected: map,
|
8977
8987
|
children,
|
8978
|
-
parents
|
8988
|
+
parents,
|
8989
|
+
disabled
|
8979
8990
|
});
|
8980
8991
|
}
|
8981
8992
|
return map;
|
@@ -9022,8 +9033,9 @@
|
|
9022
9033
|
root: {
|
9023
9034
|
register: () => null,
|
9024
9035
|
unregister: () => null,
|
9025
|
-
parents: vue.ref(new Map()),
|
9026
9036
|
children: vue.ref(new Map()),
|
9037
|
+
parents: vue.ref(new Map()),
|
9038
|
+
disabled: vue.ref(new Set()),
|
9027
9039
|
open: () => null,
|
9028
9040
|
openOnSelect: () => null,
|
9029
9041
|
activate: () => null,
|
@@ -9052,6 +9064,7 @@
|
|
9052
9064
|
let isUnmounted = false;
|
9053
9065
|
const children = vue.shallowRef(new Map());
|
9054
9066
|
const parents = vue.shallowRef(new Map());
|
9067
|
+
const disabled = vue.shallowRef(new Set());
|
9055
9068
|
const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(Array.isArray(v) ? v.map(i => vue.toRaw(i)) : v), v => [...v.values()]);
|
9056
9069
|
const activeStrategy = vue.computed(() => {
|
9057
9070
|
if (typeof props.activeStrategy === 'object') return props.activeStrategy;
|
@@ -9100,7 +9113,7 @@
|
|
9100
9113
|
}
|
9101
9114
|
});
|
9102
9115
|
const activated = useProxiedModel(props, 'activated', props.activated, v => activeStrategy.value.in(v, children.value, parents.value), v => activeStrategy.value.out(v, children.value, parents.value));
|
9103
|
-
const selected = useProxiedModel(props, 'selected', props.selected, v => selectStrategy.value.in(v, children.value, parents.value), v => selectStrategy.value.out(v, children.value, parents.value));
|
9116
|
+
const selected = useProxiedModel(props, 'selected', props.selected, v => selectStrategy.value.in(v, children.value, parents.value, disabled.value), v => selectStrategy.value.out(v, children.value, parents.value));
|
9104
9117
|
vue.onBeforeUnmount(() => {
|
9105
9118
|
isUnmounted = true;
|
9106
9119
|
});
|
@@ -9130,7 +9143,7 @@
|
|
9130
9143
|
}
|
9131
9144
|
return arr;
|
9132
9145
|
}),
|
9133
|
-
register: (id, parentId, isGroup) => {
|
9146
|
+
register: (id, parentId, isDisabled, isGroup) => {
|
9134
9147
|
if (nodeIds.has(id)) {
|
9135
9148
|
const path = getPath(id).map(String).join(' -> ');
|
9136
9149
|
const newPath = getPath(parentId).concat(id).map(String).join(' -> ');
|
@@ -9140,6 +9153,7 @@
|
|
9140
9153
|
nodeIds.add(id);
|
9141
9154
|
}
|
9142
9155
|
parentId && id !== parentId && parents.value.set(id, parentId);
|
9156
|
+
isDisabled && disabled.value.add(id);
|
9143
9157
|
isGroup && children.value.set(id, []);
|
9144
9158
|
if (parentId != null) {
|
9145
9159
|
children.value.set(parentId, [...(children.value.get(parentId) || []), id]);
|
@@ -9149,6 +9163,7 @@
|
|
9149
9163
|
if (isUnmounted) return;
|
9150
9164
|
nodeIds.delete(id);
|
9151
9165
|
children.value.delete(id);
|
9166
|
+
disabled.value.delete(id);
|
9152
9167
|
const parent = parents.value.get(id);
|
9153
9168
|
if (parent) {
|
9154
9169
|
const list = children.value.get(parent) ?? [];
|
@@ -9198,6 +9213,7 @@
|
|
9198
9213
|
selected: new Map(selected.value),
|
9199
9214
|
children: children.value,
|
9200
9215
|
parents: parents.value,
|
9216
|
+
disabled: disabled.value,
|
9201
9217
|
event
|
9202
9218
|
});
|
9203
9219
|
newSelected && (selected.value = newSelected);
|
@@ -9240,13 +9256,14 @@
|
|
9240
9256
|
},
|
9241
9257
|
children,
|
9242
9258
|
parents,
|
9259
|
+
disabled,
|
9243
9260
|
getPath
|
9244
9261
|
}
|
9245
9262
|
};
|
9246
9263
|
vue.provide(VNestedSymbol, nested);
|
9247
9264
|
return nested.root;
|
9248
9265
|
};
|
9249
|
-
const useNestedItem = (id, isGroup) => {
|
9266
|
+
const useNestedItem = (id, isDisabled, isGroup) => {
|
9250
9267
|
const parent = vue.inject(VNestedSymbol, emptyNested);
|
9251
9268
|
const uidSymbol = Symbol('nested item');
|
9252
9269
|
const computedId = vue.computed(() => vue.toRaw(vue.toValue(id)) ?? uidSymbol);
|
@@ -9266,10 +9283,14 @@
|
|
9266
9283
|
isGroupActivator: parent.isGroupActivator
|
9267
9284
|
};
|
9268
9285
|
vue.onBeforeMount(() => {
|
9269
|
-
!parent.isGroupActivator
|
9286
|
+
if (!parent.isGroupActivator) {
|
9287
|
+
parent.root.register(computedId.value, parent.id.value, vue.toValue(isDisabled), isGroup);
|
9288
|
+
}
|
9270
9289
|
});
|
9271
9290
|
vue.onBeforeUnmount(() => {
|
9272
|
-
!parent.isGroupActivator
|
9291
|
+
if (!parent.isGroupActivator) {
|
9292
|
+
parent.root.unregister(computedId.value);
|
9293
|
+
}
|
9273
9294
|
});
|
9274
9295
|
isGroup && vue.provide(VNestedSymbol, item);
|
9275
9296
|
return item;
|
@@ -9301,6 +9322,7 @@
|
|
9301
9322
|
type: IconValue,
|
9302
9323
|
default: '$collapse'
|
9303
9324
|
},
|
9325
|
+
disabled: Boolean,
|
9304
9326
|
expandIcon: {
|
9305
9327
|
type: IconValue,
|
9306
9328
|
default: '$expand'
|
@@ -9326,7 +9348,7 @@
|
|
9326
9348
|
isOpen,
|
9327
9349
|
open,
|
9328
9350
|
id: _id
|
9329
|
-
} = useNestedItem(() => props.value, true);
|
9351
|
+
} = useNestedItem(() => props.value, () => props.disabled, true);
|
9330
9352
|
const id = vue.computed(() => `v-list-group--id-${String(props.rawId ?? _id.value)}`);
|
9331
9353
|
const list = useList();
|
9332
9354
|
const {
|
@@ -9496,7 +9518,7 @@
|
|
9496
9518
|
parent,
|
9497
9519
|
openOnSelect,
|
9498
9520
|
id: uid
|
9499
|
-
} = useNestedItem(id, false);
|
9521
|
+
} = useNestedItem(id, () => props.disabled, false);
|
9500
9522
|
const list = useList();
|
9501
9523
|
const isActive = vue.computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value)));
|
9502
9524
|
const isLink = vue.toRef(() => props.link !== false && link.isLink.value);
|
@@ -10456,7 +10478,7 @@
|
|
10456
10478
|
});
|
10457
10479
|
if (flipped.isFull) {
|
10458
10480
|
const values = flipped.values();
|
10459
|
-
if (deepEqual(values.at(-1), values.at(-3))) {
|
10481
|
+
if (deepEqual(values.at(-1), values.at(-3)) && !deepEqual(values.at(-1), values.at(-2))) {
|
10460
10482
|
// Flipping is causing a container resize loop
|
10461
10483
|
return;
|
10462
10484
|
}
|
@@ -12306,7 +12328,7 @@
|
|
12306
12328
|
if (!isFocused.value) focus();
|
12307
12329
|
vue.nextTick(() => {
|
12308
12330
|
if (inputRef.value !== document.activeElement) {
|
12309
|
-
inputRef.value?.focus();
|
12331
|
+
vue.nextTick(() => inputRef.value?.focus());
|
12310
12332
|
}
|
12311
12333
|
});
|
12312
12334
|
}
|
@@ -12645,7 +12667,7 @@
|
|
12645
12667
|
raf = requestAnimationFrame(_calculateVisibleItems);
|
12646
12668
|
}
|
12647
12669
|
function _calculateVisibleItems() {
|
12648
|
-
if (!containerRef.value || !viewportHeight.value) return;
|
12670
|
+
if (!containerRef.value || !viewportHeight.value || !itemHeight.value) return;
|
12649
12671
|
const scrollTop = lastScrollTop - markerOffset;
|
12650
12672
|
const direction = Math.sign(scrollVelocity);
|
12651
12673
|
const startPx = Math.max(0, scrollTop - BUFFER_PX);
|
@@ -17528,7 +17550,7 @@
|
|
17528
17550
|
case 'fullDate':
|
17529
17551
|
options = {
|
17530
17552
|
year: 'numeric',
|
17531
|
-
month: '
|
17553
|
+
month: 'short',
|
17532
17554
|
day: 'numeric'
|
17533
17555
|
};
|
17534
17556
|
break;
|
@@ -19845,7 +19867,8 @@
|
|
19845
19867
|
|
19846
19868
|
// Dates should be compared numerically
|
19847
19869
|
if (sortA instanceof Date && sortB instanceof Date) {
|
19848
|
-
|
19870
|
+
sortA = sortA.getTime();
|
19871
|
+
sortB = sortB.getTime();
|
19849
19872
|
}
|
19850
19873
|
[sortA, sortB] = [sortA, sortB].map(s => s != null ? s.toString().toLocaleLowerCase() : s);
|
19851
19874
|
if (sortA !== sortB) {
|
@@ -20554,10 +20577,15 @@
|
|
20554
20577
|
type: String,
|
20555
20578
|
default: 'start'
|
20556
20579
|
},
|
20557
|
-
fixed:
|
20580
|
+
fixed: {
|
20581
|
+
type: [Boolean, String],
|
20582
|
+
default: false
|
20583
|
+
},
|
20558
20584
|
fixedOffset: [Number, String],
|
20585
|
+
fixedEndOffset: [Number, String],
|
20559
20586
|
height: [Number, String],
|
20560
20587
|
lastFixed: Boolean,
|
20588
|
+
firstFixedEnd: Boolean,
|
20561
20589
|
noPadding: Boolean,
|
20562
20590
|
tag: String,
|
20563
20591
|
width: [Number, String],
|
@@ -20568,11 +20596,13 @@
|
|
20568
20596
|
slots
|
20569
20597
|
} = _ref;
|
20570
20598
|
const Tag = props.tag ?? 'td';
|
20599
|
+
const fixedSide = typeof props.fixed === 'string' ? props.fixed : props.fixed ? 'start' : 'none';
|
20571
20600
|
return vue.createVNode(Tag, {
|
20572
|
-
"tabindex": "0",
|
20573
20601
|
"class": vue.normalizeClass(['v-data-table__td', {
|
20574
|
-
'v-data-table-column--fixed':
|
20602
|
+
'v-data-table-column--fixed': fixedSide === 'start',
|
20603
|
+
'v-data-table-column--fixed-end': fixedSide === 'end',
|
20575
20604
|
'v-data-table-column--last-fixed': props.lastFixed,
|
20605
|
+
'v-data-table-column--first-fixed-end': props.firstFixedEnd,
|
20576
20606
|
'v-data-table-column--no-padding': props.noPadding,
|
20577
20607
|
'v-data-table-column--nowrap': props.nowrap
|
20578
20608
|
}, `v-data-table-column--align-${props.align}`]),
|
@@ -20580,7 +20610,8 @@
|
|
20580
20610
|
height: convertToUnit(props.height),
|
20581
20611
|
width: convertToUnit(props.width),
|
20582
20612
|
maxWidth: convertToUnit(props.maxWidth),
|
20583
|
-
left: convertToUnit(props.fixedOffset || null)
|
20613
|
+
left: fixedSide === 'start' ? convertToUnit(props.fixedOffset || null) : undefined,
|
20614
|
+
right: fixedSide === 'end' ? convertToUnit(props.fixedEndOffset || null) : undefined
|
20584
20615
|
}
|
20585
20616
|
}, {
|
20586
20617
|
default: () => [slots.default?.()]
|
@@ -20677,20 +20708,28 @@
|
|
20677
20708
|
}
|
20678
20709
|
function parseFixedColumns(items) {
|
20679
20710
|
let seenFixed = false;
|
20680
|
-
function setFixed(item) {
|
20681
|
-
let
|
20711
|
+
function setFixed(item, side) {
|
20712
|
+
let parentFixedSide = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'none';
|
20682
20713
|
if (!item) return;
|
20683
|
-
if (
|
20684
|
-
item.fixed =
|
20714
|
+
if (parentFixedSide !== 'none') {
|
20715
|
+
item.fixed = parentFixedSide;
|
20685
20716
|
}
|
20686
|
-
|
20687
|
-
|
20688
|
-
|
20689
|
-
|
20717
|
+
|
20718
|
+
// normalize to simplify logic below
|
20719
|
+
if (item.fixed === true) {
|
20720
|
+
item.fixed = 'start';
|
20721
|
+
}
|
20722
|
+
const orderedChildren = side === 'start' ? item.children?.toReversed() : item.children;
|
20723
|
+
if (item.fixed === side) {
|
20724
|
+
if (orderedChildren) {
|
20725
|
+
for (const child of orderedChildren) {
|
20726
|
+
setFixed(child, side, side);
|
20690
20727
|
}
|
20691
20728
|
} else {
|
20692
|
-
if (!seenFixed) {
|
20729
|
+
if (!seenFixed && side === 'start') {
|
20693
20730
|
item.lastFixed = true;
|
20731
|
+
} else if (!seenFixed && side === 'end') {
|
20732
|
+
item.firstFixedEnd = true;
|
20694
20733
|
} else if (isNaN(Number(item.width))) {
|
20695
20734
|
consoleError(`Multiple fixed columns should have a static width (key: ${item.key})`);
|
20696
20735
|
} else {
|
@@ -20699,36 +20738,57 @@
|
|
20699
20738
|
seenFixed = true;
|
20700
20739
|
}
|
20701
20740
|
} else {
|
20702
|
-
if (
|
20703
|
-
for (
|
20704
|
-
setFixed(
|
20741
|
+
if (orderedChildren) {
|
20742
|
+
for (const child of orderedChildren) {
|
20743
|
+
setFixed(child, side);
|
20705
20744
|
}
|
20706
20745
|
} else {
|
20707
20746
|
seenFixed = false;
|
20708
20747
|
}
|
20709
20748
|
}
|
20710
20749
|
}
|
20711
|
-
for (
|
20712
|
-
setFixed(
|
20750
|
+
for (const item of items.toReversed()) {
|
20751
|
+
setFixed(item, 'start');
|
20752
|
+
}
|
20753
|
+
for (const item of items) {
|
20754
|
+
setFixed(item, 'end');
|
20713
20755
|
}
|
20714
20756
|
function setFixedOffset(item) {
|
20715
|
-
let
|
20716
|
-
if (!item) return
|
20757
|
+
let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
20758
|
+
if (!item) return offset;
|
20717
20759
|
if (item.children) {
|
20718
|
-
item.fixedOffset =
|
20760
|
+
item.fixedOffset = offset;
|
20719
20761
|
for (const child of item.children) {
|
20720
|
-
|
20762
|
+
offset = setFixedOffset(child, offset);
|
20721
20763
|
}
|
20722
|
-
} else if (item.fixed) {
|
20723
|
-
item.fixedOffset =
|
20724
|
-
|
20764
|
+
} else if (item.fixed && item.fixed !== 'end') {
|
20765
|
+
item.fixedOffset = offset;
|
20766
|
+
offset += parseFloat(item.width || '0') || 0;
|
20725
20767
|
}
|
20726
|
-
return
|
20768
|
+
return offset;
|
20727
20769
|
}
|
20728
20770
|
let fixedOffset = 0;
|
20729
20771
|
for (const item of items) {
|
20730
20772
|
fixedOffset = setFixedOffset(item, fixedOffset);
|
20731
20773
|
}
|
20774
|
+
function setFixedEndOffset(item) {
|
20775
|
+
let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
20776
|
+
if (!item) return offset;
|
20777
|
+
if (item.children) {
|
20778
|
+
item.fixedEndOffset = offset;
|
20779
|
+
for (const child of item.children) {
|
20780
|
+
offset = setFixedEndOffset(child, offset);
|
20781
|
+
}
|
20782
|
+
} else if (item.fixed === 'end') {
|
20783
|
+
item.fixedEndOffset = offset;
|
20784
|
+
offset += parseFloat(item.width || '0') || 0;
|
20785
|
+
}
|
20786
|
+
return offset;
|
20787
|
+
}
|
20788
|
+
let fixedEndOffset = 0;
|
20789
|
+
for (const item of items.toReversed()) {
|
20790
|
+
fixedEndOffset = setFixedEndOffset(item, fixedEndOffset);
|
20791
|
+
}
|
20732
20792
|
}
|
20733
20793
|
function parse(items, maxDepth) {
|
20734
20794
|
const headers = [];
|
@@ -20861,7 +20921,6 @@
|
|
20861
20921
|
color: String,
|
20862
20922
|
disableSort: Boolean,
|
20863
20923
|
fixedHeader: Boolean,
|
20864
|
-
lastFixed: Boolean,
|
20865
20924
|
multiSort: Boolean,
|
20866
20925
|
sortAscIcon: {
|
20867
20926
|
type: IconValue,
|
@@ -20908,11 +20967,12 @@
|
|
20908
20967
|
loaderClasses
|
20909
20968
|
} = useLoader(props);
|
20910
20969
|
function getFixedStyles(column, y) {
|
20911
|
-
if (!(props.sticky || props.fixedHeader) && !
|
20970
|
+
if (!(props.sticky || props.fixedHeader) && !column.fixed) return undefined;
|
20971
|
+
const fixedSide = typeof column.fixed === 'string' ? column.fixed : column.fixed ? 'start' : 'none';
|
20912
20972
|
return {
|
20913
20973
|
position: 'sticky',
|
20914
|
-
left:
|
20915
|
-
right:
|
20974
|
+
left: fixedSide === 'start' ? convertToUnit(column.fixedOffset) : undefined,
|
20975
|
+
right: fixedSide === 'end' ? convertToUnit(column.fixedEndOffset) : undefined,
|
20916
20976
|
top: props.sticky || props.fixedHeader ? `calc(var(--v-table-header-height) * ${y})` : undefined
|
20917
20977
|
};
|
20918
20978
|
}
|
@@ -20972,14 +21032,15 @@
|
|
20972
21032
|
},
|
20973
21033
|
"colspan": column.colspan,
|
20974
21034
|
"rowspan": column.rowspan,
|
20975
|
-
"onClick": column.sortable ? () => toggleSort(column) : undefined,
|
20976
21035
|
"fixed": column.fixed,
|
20977
21036
|
"nowrap": column.nowrap,
|
20978
21037
|
"lastFixed": column.lastFixed,
|
20979
|
-
"
|
20980
|
-
|
20981
|
-
"
|
20982
|
-
|
21038
|
+
"firstFixedEnd": column.firstFixedEnd,
|
21039
|
+
"noPadding": noPadding,
|
21040
|
+
"tabindex": column.sortable ? 0 : undefined,
|
21041
|
+
"onClick": column.sortable ? () => toggleSort(column) : undefined,
|
21042
|
+
"onKeydown": column.sortable ? event => handleEnterKeyPress(event, column) : undefined
|
21043
|
+
}, headerProps), {
|
20983
21044
|
default: () => {
|
20984
21045
|
const columnSlotName = `header.${column.key}`;
|
20985
21046
|
const columnSlotProps = {
|
@@ -21255,7 +21316,9 @@
|
|
21255
21316
|
},
|
21256
21317
|
"fixed": column.fixed,
|
21257
21318
|
"fixedOffset": column.fixedOffset,
|
21319
|
+
"fixedEndOffset": column.fixedEndOffset,
|
21258
21320
|
"lastFixed": column.lastFixed,
|
21321
|
+
"firstFixedEnd": column.firstFixedEnd,
|
21259
21322
|
"maxWidth": !mobile.value ? column.maxWidth : undefined,
|
21260
21323
|
"noPadding": column.key === 'data-table-select' || column.key === 'data-table-expand',
|
21261
21324
|
"nowrap": column.nowrap,
|
@@ -22665,13 +22728,9 @@
|
|
22665
22728
|
const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value));
|
22666
22729
|
return adapter.setMonth(date, value);
|
22667
22730
|
}, v => adapter.getMonth(v));
|
22668
|
-
const weekDays = vue.computed(() => {
|
22669
|
-
const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
|
22670
|
-
return props.weekdays.map(day => (day + firstDayOfWeek) % 7);
|
22671
|
-
});
|
22672
22731
|
const weekdayLabels = vue.computed(() => {
|
22673
|
-
const
|
22674
|
-
return
|
22732
|
+
const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
|
22733
|
+
return adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat).filter((_, i) => props.weekdays.includes((i + firstDayOfWeek) % 7));
|
22675
22734
|
});
|
22676
22735
|
const weeksInMonth = vue.computed(() => {
|
22677
22736
|
const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
|
@@ -22695,13 +22754,14 @@
|
|
22695
22754
|
});
|
22696
22755
|
function genDays(days, today) {
|
22697
22756
|
return days.filter(date => {
|
22698
|
-
return
|
22757
|
+
return props.weekdays.includes(adapter.toJsDate(date).getDay());
|
22699
22758
|
}).map((date, index) => {
|
22700
22759
|
const isoDate = adapter.toISO(date);
|
22701
22760
|
const isAdjacent = !adapter.isSameMonth(date, month.value);
|
22702
22761
|
const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value));
|
22703
22762
|
const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value));
|
22704
22763
|
const isSame = adapter.isSameDay(date, month.value);
|
22764
|
+
const weekdaysCount = props.weekdays.length;
|
22705
22765
|
return {
|
22706
22766
|
date,
|
22707
22767
|
formatted: adapter.format(date, 'keyboardDate'),
|
@@ -22713,8 +22773,8 @@
|
|
22713
22773
|
isSelected: model.value.some(value => adapter.isSameDay(date, value)),
|
22714
22774
|
isStart,
|
22715
22775
|
isToday: adapter.isSameDay(date, today),
|
22716
|
-
isWeekEnd: index %
|
22717
|
-
isWeekStart: index %
|
22776
|
+
isWeekEnd: index % weekdaysCount === weekdaysCount - 1,
|
22777
|
+
isWeekStart: index % weekdaysCount === 0,
|
22718
22778
|
isoDate,
|
22719
22779
|
localized: adapter.format(date, 'dayOfMonth'),
|
22720
22780
|
month: adapter.getMonth(date),
|
@@ -22761,7 +22821,6 @@
|
|
22761
22821
|
genDays,
|
22762
22822
|
model,
|
22763
22823
|
weeksInMonth,
|
22764
|
-
weekDays,
|
22765
22824
|
weekdayLabels,
|
22766
22825
|
weekNumbers
|
22767
22826
|
};
|
@@ -22802,7 +22861,6 @@
|
|
22802
22861
|
daysInMonth,
|
22803
22862
|
model,
|
22804
22863
|
weekNumbers,
|
22805
|
-
weekDays,
|
22806
22864
|
weekdayLabels
|
22807
22865
|
} = useCalendar(props);
|
22808
22866
|
const adapter = useDate();
|
@@ -22877,7 +22935,7 @@
|
|
22877
22935
|
useRender(() => vue.createElementVNode("div", {
|
22878
22936
|
"class": "v-date-picker-month",
|
22879
22937
|
"style": {
|
22880
|
-
'--v-date-picker-days-in-week':
|
22938
|
+
'--v-date-picker-days-in-week': props.weekdays.length
|
22881
22939
|
}
|
22882
22940
|
}, [props.showWeek && vue.createElementVNode("div", {
|
22883
22941
|
"key": "weeks",
|
@@ -26048,19 +26106,21 @@
|
|
26048
26106
|
const contentRef = vue.ref();
|
26049
26107
|
const inputRef = vue.ref([]);
|
26050
26108
|
const current = vue.computed(() => inputRef.value[focusIndex.value]);
|
26051
|
-
|
26052
|
-
|
26053
|
-
|
26054
|
-
|
26055
|
-
|
26056
|
-
|
26057
|
-
|
26058
|
-
|
26059
|
-
|
26060
|
-
|
26061
|
-
|
26062
|
-
|
26063
|
-
|
26109
|
+
useToggleScope(() => props.autofocus, () => {
|
26110
|
+
const intersectScope = vue.effectScope();
|
26111
|
+
intersectScope.run(() => {
|
26112
|
+
const {
|
26113
|
+
intersectionRef,
|
26114
|
+
isIntersecting
|
26115
|
+
} = useIntersectionObserver();
|
26116
|
+
vue.watchEffect(() => {
|
26117
|
+
intersectionRef.value = inputRef.value[0];
|
26118
|
+
});
|
26119
|
+
vue.watch(isIntersecting, v => {
|
26120
|
+
if (!v) return;
|
26121
|
+
intersectionRef.value?.focus();
|
26122
|
+
intersectScope.stop();
|
26123
|
+
});
|
26064
26124
|
});
|
26065
26125
|
});
|
26066
26126
|
function onInput() {
|
@@ -30111,7 +30171,7 @@
|
|
30111
30171
|
return vue.createVNode(VListItem, vue.mergeProps({
|
30112
30172
|
"ref": vListItemRef
|
30113
30173
|
}, listItemProps, {
|
30114
|
-
"active": vListItemRef.value?.isActivated,
|
30174
|
+
"active": vListItemRef.value?.isActivated || undefined,
|
30115
30175
|
"class": ['v-treeview-item', {
|
30116
30176
|
'v-treeview-item--activatable-group-activator': isActivatableGroupActivator.value,
|
30117
30177
|
'v-treeview-item--filtered': isFiltered.value
|
@@ -30323,10 +30383,7 @@
|
|
30323
30383
|
expandIcon: '$treeviewExpand',
|
30324
30384
|
slim: true
|
30325
30385
|
}), ['itemType', 'nav', 'openStrategy']),
|
30326
|
-
modelValue:
|
30327
|
-
type: Array,
|
30328
|
-
default: () => []
|
30329
|
-
}
|
30386
|
+
modelValue: Array
|
30330
30387
|
}, 'VTreeview');
|
30331
30388
|
const VTreeview = genericComponent()({
|
30332
30389
|
name: 'VTreeview',
|
@@ -30341,7 +30398,8 @@
|
|
30341
30398
|
},
|
30342
30399
|
setup(props, _ref) {
|
30343
30400
|
let {
|
30344
|
-
slots
|
30401
|
+
slots,
|
30402
|
+
emit
|
30345
30403
|
} = _ref;
|
30346
30404
|
const {
|
30347
30405
|
items
|
@@ -30350,13 +30408,12 @@
|
|
30350
30408
|
const baseColor = vue.toRef(() => props.baseColor);
|
30351
30409
|
const color = vue.toRef(() => props.color);
|
30352
30410
|
const activated = useProxiedModel(props, 'activated');
|
30353
|
-
const
|
30354
|
-
const _selected = useProxiedModel(props, 'selected', props.modelValue);
|
30411
|
+
const _selected = useProxiedModel(props, 'selected');
|
30355
30412
|
const selected = vue.computed({
|
30356
|
-
get: () => _selected.value,
|
30413
|
+
get: () => props.modelValue ?? _selected.value,
|
30357
30414
|
set(val) {
|
30358
30415
|
_selected.value = val;
|
30359
|
-
|
30416
|
+
emit('update:modelValue', val);
|
30360
30417
|
}
|
30361
30418
|
});
|
30362
30419
|
const vListRef = vue.ref();
|
@@ -30528,7 +30585,7 @@
|
|
30528
30585
|
}
|
30529
30586
|
};
|
30530
30587
|
useRender(() => {
|
30531
|
-
return vue.createElementVNode("div", null, [slots
|
30588
|
+
return vue.createElementVNode("div", null, [slots['interval-event']?.({
|
30532
30589
|
height: calcHeight().height,
|
30533
30590
|
margin: calcHeight().margin,
|
30534
30591
|
eventClass: 'v-calendar-internal-event',
|
@@ -30625,13 +30682,13 @@
|
|
30625
30682
|
"style": vue.normalizeStyle(`height: ${convertToUnit(props.intervalHeight)}`)
|
30626
30683
|
}, [vue.createElementVNode("div", vue.mergeProps({
|
30627
30684
|
"class": "v-calendar-day__row-label"
|
30628
|
-
}, getPrefixedEventHandlers(attrs, ':time', () => props)), [slots
|
30685
|
+
}, getPrefixedEventHandlers(attrs, ':time', () => props)), [slots['interval-title']?.({
|
30629
30686
|
interval: interval.value
|
30630
30687
|
}) ?? (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", {
|
30631
30688
|
"class": "v-calendar-day__row-hairline"
|
30632
30689
|
}, null), vue.createElementVNode("div", vue.mergeProps({
|
30633
30690
|
"class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
|
30634
|
-
}, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots
|
30691
|
+
}, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots['interval-body']?.({
|
30635
30692
|
interval: interval.value
|
30636
30693
|
}) ?? vue.createElementVNode("div", null, [interval.value.events?.map(event => vue.createVNode(VCalendarIntervalEvent, vue.mergeProps({
|
30637
30694
|
"event": event,
|
@@ -30640,8 +30697,8 @@
|
|
30640
30697
|
"intervalDuration": props.intervalDuration,
|
30641
30698
|
"intervalHeight": props.intervalHeight
|
30642
30699
|
}, attrs), {
|
30643
|
-
...(slots
|
30644
|
-
|
30700
|
+
...(slots['interval-event'] ? {
|
30701
|
+
'interval-event': _ref2 => {
|
30645
30702
|
let {
|
30646
30703
|
height,
|
30647
30704
|
margin,
|
@@ -30649,7 +30706,7 @@
|
|
30649
30706
|
event,
|
30650
30707
|
interval
|
30651
30708
|
} = _ref2;
|
30652
|
-
return slots
|
30709
|
+
return slots['interval-event']?.({
|
30653
30710
|
height,
|
30654
30711
|
margin,
|
30655
30712
|
eventClass,
|
@@ -30663,7 +30720,7 @@
|
|
30663
30720
|
"style": vue.normalizeStyle(`height: ${convertToUnit(props.intervalHeight)}`)
|
30664
30721
|
}, [vue.createElementVNode("div", vue.mergeProps({
|
30665
30722
|
"class": ['v-calendar-day__row-content', interval.value.events.some(e => !e.last) ? 'v-calendar-day__row-content-through' : '']
|
30666
|
-
}, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots
|
30723
|
+
}, getPrefixedEventHandlers(attrs, ':interval', () => interval.value)), [slots['interval-body']?.({
|
30667
30724
|
interval: interval.value
|
30668
30725
|
}) ?? interval.value.events?.map(event => vue.createVNode(VCalendarIntervalEvent, vue.mergeProps({
|
30669
30726
|
"event": event,
|
@@ -30672,8 +30729,8 @@
|
|
30672
30729
|
"intervalDuration": props.intervalDuration,
|
30673
30730
|
"intervalHeight": props.intervalHeight
|
30674
30731
|
}, attrs), {
|
30675
|
-
...(slots
|
30676
|
-
|
30732
|
+
...(slots['interval-event'] ? {
|
30733
|
+
'interval-event': _ref3 => {
|
30677
30734
|
let {
|
30678
30735
|
height,
|
30679
30736
|
margin,
|
@@ -30681,7 +30738,7 @@
|
|
30681
30738
|
event,
|
30682
30739
|
interval
|
30683
30740
|
} = _ref3;
|
30684
|
-
return slots
|
30741
|
+
return slots['interval-event']?.({
|
30685
30742
|
height,
|
30686
30743
|
margin,
|
30687
30744
|
eventClass,
|
@@ -30736,7 +30793,7 @@
|
|
30736
30793
|
}), null)])]), intervals.value.map((_, index) => slots.interval?.(calendarIntervalProps) ?? vue.createVNode(VCalendarInterval, vue.mergeProps({
|
30737
30794
|
"index": index
|
30738
30795
|
}, calendarIntervalProps, attrs, getPrefixedEventHandlers(attrs, ':interval', () => calendarIntervalProps)), {
|
30739
|
-
...pick(slots, ['
|
30796
|
+
...pick(slots, ['interval-body', 'interval-event', 'interval-title'])
|
30740
30797
|
}))]);
|
30741
30798
|
});
|
30742
30799
|
return {
|
@@ -30880,7 +30937,7 @@
|
|
30880
30937
|
}, getPrefixedEventHandlers(attrs, ':day', () => props)), [!props.day?.isHidden ? vue.createElementVNode("div", {
|
30881
30938
|
"key": "title",
|
30882
30939
|
"class": "v-calendar-weekly__day-label"
|
30883
|
-
}, [slots
|
30940
|
+
}, [slots['day-title']?.({
|
30884
30941
|
title: props.title
|
30885
30942
|
}) ?? vue.createVNode(VBtn, vue.mergeProps({
|
30886
30943
|
"class": props.day?.isToday ? 'v-calendar-weekly__day-label__today' : undefined,
|
@@ -30893,12 +30950,12 @@
|
|
30893
30950
|
}, getPrefixedEventHandlers(attrs, ':date', () => props)), null)]) : undefined, !props.day?.isHidden ? vue.createElementVNode("div", {
|
30894
30951
|
"key": "content",
|
30895
30952
|
"class": "v-calendar-weekly__day-content"
|
30896
|
-
}, [slots
|
30953
|
+
}, [slots['day-body']?.({
|
30897
30954
|
day: props.day,
|
30898
30955
|
events: props.events
|
30899
30956
|
}) ?? vue.createElementVNode("div", null, [vue.createElementVNode("div", {
|
30900
30957
|
"class": "v-calendar-weekly__day-alldayevents-container"
|
30901
|
-
}, [props.events?.filter(event => event.allDay).map(event => slots
|
30958
|
+
}, [props.events?.filter(event => event.allDay).map(event => slots['day-event'] ? slots['day-event']({
|
30902
30959
|
day: props.day,
|
30903
30960
|
allDay: true,
|
30904
30961
|
event
|
@@ -30908,7 +30965,7 @@
|
|
30908
30965
|
"allDay": true
|
30909
30966
|
}, attrs), null))]), vue.createElementVNode("div", {
|
30910
30967
|
"class": "v-calendar-weekly__day-events-container"
|
30911
|
-
}, [props.events?.filter(event => !event.allDay).map(event => slots
|
30968
|
+
}, [props.events?.filter(event => !event.allDay).map(event => slots['day-event'] ? slots['day-event']({
|
30912
30969
|
day: props.day,
|
30913
30970
|
event,
|
30914
30971
|
allDay: false
|
@@ -30953,9 +31010,8 @@
|
|
30953
31010
|
model,
|
30954
31011
|
displayValue,
|
30955
31012
|
weekNumbers,
|
30956
|
-
|
31013
|
+
weekdayLabels
|
30957
31014
|
} = useCalendar(props);
|
30958
|
-
const dayNames = adapter.getWeekdays();
|
30959
31015
|
function onClickNext() {
|
30960
31016
|
if (props.viewMode === 'month') {
|
30961
31017
|
model.value = [adapter.addMonths(displayValue.value, 1)];
|
@@ -30993,6 +31049,7 @@
|
|
30993
31049
|
useRender(() => {
|
30994
31050
|
const calendarDayProps = VCalendarDay.filterProps(props);
|
30995
31051
|
const calendarHeaderProps = VCalendarHeader.filterProps(props);
|
31052
|
+
const weekdaysCount = daysInWeek.value.length;
|
30996
31053
|
return vue.createElementVNode("div", {
|
30997
31054
|
"class": vue.normalizeClass(['v-calendar', {
|
30998
31055
|
'v-calendar-monthly': props.viewMode === 'month',
|
@@ -31014,19 +31071,19 @@
|
|
31014
31071
|
}), {
|
31015
31072
|
title: slots.title
|
31016
31073
|
}))]), vue.createElementVNode("div", {
|
31017
|
-
"class": vue.normalizeClass(['v-calendar__container', `days__${
|
31074
|
+
"class": vue.normalizeClass(['v-calendar__container', `days__${weekdaysCount}`])
|
31018
31075
|
}, [props.viewMode === 'month' && !props.hideDayHeader && vue.createElementVNode("div", {
|
31019
|
-
"class": vue.normalizeClass(['v-calendar-weekly__head', `days__${
|
31076
|
+
"class": vue.normalizeClass(['v-calendar-weekly__head', `days__${weekdaysCount}`, ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : [])]),
|
31020
31077
|
"key": "calendarWeeklyHead"
|
31021
31078
|
}, [!props.hideWeekNumber ? vue.createElementVNode("div", {
|
31022
31079
|
"key": "weekNumber0",
|
31023
31080
|
"class": "v-calendar-weekly__head-weeknumber"
|
31024
|
-
}, null) : '',
|
31081
|
+
}, null) : '', weekdayLabels.value.map(weekday => vue.createElementVNode("div", {
|
31025
31082
|
"class": vue.normalizeClass(`v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}`)
|
31026
|
-
}, [
|
31083
|
+
}, [weekday]))]), props.viewMode === 'month' && vue.createElementVNode("div", {
|
31027
31084
|
"key": "VCalendarMonth",
|
31028
|
-
"class": vue.normalizeClass(['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${
|
31029
|
-
}, [chunkArray(daysInMonth.value,
|
31085
|
+
"class": vue.normalizeClass(['v-calendar-month__days', `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${weekdaysCount}`, ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : [])])
|
31086
|
+
}, [chunkArray(daysInMonth.value, weekdaysCount).map((week, wi) => [!props.hideWeekNumber ? vue.createElementVNode("div", vue.mergeProps({
|
31030
31087
|
"class": "v-calendar-month__weeknumber"
|
31031
31088
|
}, getPrefixedEventHandlers(attrs, ':weekNumber', () => ({
|
31032
31089
|
weekNumber: weekNumbers.value[wi],
|
@@ -31049,7 +31106,7 @@
|
|
31049
31106
|
"dayIndex": i,
|
31050
31107
|
"events": props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date))
|
31051
31108
|
}, attrs), {
|
31052
|
-
...pick(slots, ['interval', '
|
31109
|
+
...pick(slots, ['interval', 'interval-body', 'interval-event', 'interval-title'])
|
31053
31110
|
})), props.viewMode === 'day' && (slots['day-interval'] ? slots['day-interval']({
|
31054
31111
|
day: genDays([displayValue.value], adapter.date())[0],
|
31055
31112
|
dayIndex: 0,
|
@@ -31964,6 +32021,7 @@
|
|
31964
32021
|
opacity: props.opacity
|
31965
32022
|
};
|
31966
32023
|
return vue.createVNode(props.tag, {
|
32024
|
+
"type": props.tag === 'button' ? 'button' : undefined,
|
31967
32025
|
"class": vue.normalizeClass([{
|
31968
32026
|
'v-icon-btn': true,
|
31969
32027
|
'v-icon-btn--active': isActive.value,
|
@@ -33526,7 +33584,7 @@
|
|
33526
33584
|
};
|
33527
33585
|
});
|
33528
33586
|
}
|
33529
|
-
const version$1 = "3.9.0-beta.1-dev.2025-
|
33587
|
+
const version$1 = "3.9.0-beta.1-dev.2025-07-04";
|
33530
33588
|
createVuetify$1.version = version$1;
|
33531
33589
|
|
33532
33590
|
// Vue's inject() can only be used in setup
|
@@ -33824,7 +33882,7 @@
|
|
33824
33882
|
|
33825
33883
|
/* eslint-disable local-rules/sort-imports */
|
33826
33884
|
|
33827
|
-
const version = "3.9.0-beta.1-dev.2025-
|
33885
|
+
const version = "3.9.0-beta.1-dev.2025-07-04";
|
33828
33886
|
|
33829
33887
|
/* eslint-disable local-rules/sort-imports */
|
33830
33888
|
|