@vuetify/nightly 3.8.7-master.2025-05-27 → 3.8.7-master.2025-05-31
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 +13 -3
- package/dist/json/attributes.json +2816 -2792
- package/dist/json/importMap-labs.json +26 -26
- package/dist/json/importMap.json +156 -156
- package/dist/json/tags.json +6 -0
- package/dist/json/web-types.json +5254 -5200
- package/dist/vuetify-labs.cjs +85 -24
- package/dist/vuetify-labs.css +3367 -3367
- package/dist/vuetify-labs.d.ts +89 -55
- package/dist/vuetify-labs.esm.js +85 -24
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +85 -24
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +83 -18
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3390 -3390
- package/dist/vuetify.d.ts +79 -55
- package/dist/vuetify.esm.js +83 -18
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +83 -18
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +25 -16
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.d.ts +20 -0
- package/lib/components/VDatePicker/VDatePicker.js +39 -2
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js +1 -8
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonths.d.ts +10 -0
- package/lib/components/VDatePicker/VDatePickerMonths.js +12 -2
- package/lib/components/VDatePicker/VDatePickerMonths.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.d.ts +10 -0
- package/lib/components/VDatePicker/VDatePickerYears.js +14 -2
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/composables/date/date.d.ts +4 -0
- package/lib/composables/date/date.js +14 -1
- package/lib/composables/date/date.js.map +1 -1
- package/lib/entry-bundler.d.ts +3 -0
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +59 -55
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +20 -0
- package/lib/labs/VDateInput/VDateInput.js +3 -7
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/lib/labs/entry-bundler.d.ts +3 -0
- package/package.json +1 -1
package/dist/vuetify.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.7-master.2025-05-
|
2
|
+
* Vuetify v3.8.7-master.2025-05-31
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -18101,7 +18101,20 @@
|
|
18101
18101
|
vue.watch(locale.current, value => {
|
18102
18102
|
instance.locale = options.locale[value] ?? value ?? instance.locale;
|
18103
18103
|
});
|
18104
|
-
return instance
|
18104
|
+
return Object.assign(instance, {
|
18105
|
+
createDateRange(start, stop) {
|
18106
|
+
const diff = instance.getDiff(stop ?? start, start, 'days');
|
18107
|
+
const datesInRange = [start];
|
18108
|
+
for (let i = 1; i < diff; i++) {
|
18109
|
+
const nextDate = instance.addDays(start, i);
|
18110
|
+
datesInRange.push(nextDate);
|
18111
|
+
}
|
18112
|
+
if (stop) {
|
18113
|
+
datesInRange.push(instance.endOfDay(stop));
|
18114
|
+
}
|
18115
|
+
return datesInRange;
|
18116
|
+
}
|
18117
|
+
});
|
18105
18118
|
}
|
18106
18119
|
function useDate() {
|
18107
18120
|
const options = vue.inject(DateOptionsSymbol);
|
@@ -22495,14 +22508,7 @@
|
|
22495
22508
|
} else {
|
22496
22509
|
rangeStop.value = adapter.endOfDay(_value);
|
22497
22510
|
}
|
22498
|
-
|
22499
|
-
const datesInRange = [rangeStart.value];
|
22500
|
-
for (let i = 1; i < diff; i++) {
|
22501
|
-
const nextDate = adapter.addDays(rangeStart.value, i);
|
22502
|
-
datesInRange.push(nextDate);
|
22503
|
-
}
|
22504
|
-
datesInRange.push(rangeStop.value);
|
22505
|
-
model.value = datesInRange;
|
22511
|
+
model.value = adapter.createDateRange(rangeStart.value, rangeStop.value);
|
22506
22512
|
} else {
|
22507
22513
|
rangeStart.value = value;
|
22508
22514
|
rangeStop.value = undefined;
|
@@ -22588,7 +22594,8 @@
|
|
22588
22594
|
min: null,
|
22589
22595
|
max: null,
|
22590
22596
|
modelValue: Number,
|
22591
|
-
year: Number
|
22597
|
+
year: Number,
|
22598
|
+
allowedMonths: [Array, Function]
|
22592
22599
|
}, 'VDatePickerMonths');
|
22593
22600
|
const VDatePickerMonths = genericComponent()({
|
22594
22601
|
name: 'VDatePickerMonths',
|
@@ -22610,7 +22617,7 @@
|
|
22610
22617
|
}
|
22611
22618
|
return createRange(12).map(i => {
|
22612
22619
|
const text = adapter.format(date, 'monthShort');
|
22613
|
-
const isDisabled = !!(props.min && adapter.isAfter(adapter.startOfMonth(adapter.date(props.min)), date) || props.max && adapter.isAfter(date, adapter.startOfMonth(adapter.date(props.max))));
|
22620
|
+
const isDisabled = !!(!isMonthAllowed(i) || props.min && adapter.isAfter(adapter.startOfMonth(adapter.date(props.min)), date) || props.max && adapter.isAfter(date, adapter.startOfMonth(adapter.date(props.max))));
|
22614
22621
|
date = adapter.getNextMonth(date);
|
22615
22622
|
return {
|
22616
22623
|
isDisabled,
|
@@ -22622,6 +22629,15 @@
|
|
22622
22629
|
vue.watchEffect(() => {
|
22623
22630
|
model.value = model.value ?? adapter.getMonth(adapter.date());
|
22624
22631
|
});
|
22632
|
+
function isMonthAllowed(month) {
|
22633
|
+
if (Array.isArray(props.allowedMonths) && props.allowedMonths.length) {
|
22634
|
+
return props.allowedMonths.includes(month);
|
22635
|
+
}
|
22636
|
+
if (typeof props.allowedMonths === 'function') {
|
22637
|
+
return props.allowedMonths(month);
|
22638
|
+
}
|
22639
|
+
return true;
|
22640
|
+
}
|
22625
22641
|
useRender(() => vue.createElementVNode("div", {
|
22626
22642
|
"class": "v-date-picker-months",
|
22627
22643
|
"style": vue.normalizeStyle({
|
@@ -22667,7 +22683,8 @@
|
|
22667
22683
|
height: [String, Number],
|
22668
22684
|
min: null,
|
22669
22685
|
max: null,
|
22670
|
-
modelValue: Number
|
22686
|
+
modelValue: Number,
|
22687
|
+
allowedYears: [Array, Function]
|
22671
22688
|
}, 'VDatePickerYears');
|
22672
22689
|
const VDatePickerYears = genericComponent()({
|
22673
22690
|
name: 'VDatePickerYears',
|
@@ -22699,7 +22716,8 @@
|
|
22699
22716
|
date = adapter.setYear(date, adapter.getYear(date) + 1);
|
22700
22717
|
return {
|
22701
22718
|
text,
|
22702
|
-
value: i
|
22719
|
+
value: i,
|
22720
|
+
isDisabled: !isYearAllowed(i)
|
22703
22721
|
};
|
22704
22722
|
});
|
22705
22723
|
});
|
@@ -22713,6 +22731,15 @@
|
|
22713
22731
|
block: 'center'
|
22714
22732
|
});
|
22715
22733
|
});
|
22734
|
+
function isYearAllowed(year) {
|
22735
|
+
if (Array.isArray(props.allowedYears) && props.allowedYears.length) {
|
22736
|
+
return props.allowedYears.includes(year);
|
22737
|
+
}
|
22738
|
+
if (typeof props.allowedYears === 'function') {
|
22739
|
+
return props.allowedYears(year);
|
22740
|
+
}
|
22741
|
+
return true;
|
22742
|
+
}
|
22716
22743
|
useRender(() => vue.createElementVNode("div", {
|
22717
22744
|
"class": "v-date-picker-years",
|
22718
22745
|
"style": vue.normalizeStyle({
|
@@ -22727,6 +22754,7 @@
|
|
22727
22754
|
color: model.value === year.value ? props.color : undefined,
|
22728
22755
|
rounded: true,
|
22729
22756
|
text: year.text,
|
22757
|
+
disabled: year.isDisabled,
|
22730
22758
|
variant: model.value === year.value ? 'flat' : 'text',
|
22731
22759
|
onClick: () => {
|
22732
22760
|
if (model.value === year.value) {
|
@@ -22876,6 +22904,41 @@
|
|
22876
22904
|
}
|
22877
22905
|
return targets;
|
22878
22906
|
});
|
22907
|
+
function isAllowedInRange(start, end) {
|
22908
|
+
const allowedDates = props.allowedDates;
|
22909
|
+
if (typeof allowedDates !== 'function') return true;
|
22910
|
+
const days = adapter.getDiff(end, start, 'days');
|
22911
|
+
for (let i = 0; i < days; i++) {
|
22912
|
+
if (allowedDates(adapter.addDays(start, i))) return true;
|
22913
|
+
}
|
22914
|
+
return false;
|
22915
|
+
}
|
22916
|
+
function allowedYears(year) {
|
22917
|
+
if (typeof props.allowedDates === 'function') {
|
22918
|
+
const startOfYear = adapter.parseISO(`${year}-01-01`);
|
22919
|
+
return isAllowedInRange(startOfYear, adapter.endOfYear(startOfYear));
|
22920
|
+
}
|
22921
|
+
if (Array.isArray(props.allowedDates) && props.allowedDates.length) {
|
22922
|
+
for (const date of props.allowedDates) {
|
22923
|
+
if (adapter.getYear(adapter.date(date)) === year) return true;
|
22924
|
+
}
|
22925
|
+
return false;
|
22926
|
+
}
|
22927
|
+
return true;
|
22928
|
+
}
|
22929
|
+
function allowedMonths(month) {
|
22930
|
+
if (typeof props.allowedDates === 'function') {
|
22931
|
+
const startOfMonth = adapter.parseISO(`${year.value}-${month + 1}-01`);
|
22932
|
+
return isAllowedInRange(startOfMonth, adapter.endOfMonth(startOfMonth));
|
22933
|
+
}
|
22934
|
+
if (Array.isArray(props.allowedDates) && props.allowedDates.length) {
|
22935
|
+
for (const date of props.allowedDates) {
|
22936
|
+
if (adapter.getYear(adapter.date(date)) === year.value && adapter.getMonth(adapter.date(date)) === month) return true;
|
22937
|
+
}
|
22938
|
+
return false;
|
22939
|
+
}
|
22940
|
+
return true;
|
22941
|
+
}
|
22879
22942
|
|
22880
22943
|
// function onClickAppend () {
|
22881
22944
|
// inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'
|
@@ -22991,14 +23054,16 @@
|
|
22991
23054
|
"onUpdate:modelValue": [$event => month.value = $event, onUpdateMonth],
|
22992
23055
|
"min": minDate.value,
|
22993
23056
|
"max": maxDate.value,
|
22994
|
-
"year": year.value
|
23057
|
+
"year": year.value,
|
23058
|
+
"allowedMonths": allowedMonths
|
22995
23059
|
}), null) : viewMode.value === 'year' ? vue.createVNode(VDatePickerYears, vue.mergeProps({
|
22996
23060
|
"key": "date-picker-years"
|
22997
23061
|
}, datePickerYearsProps, {
|
22998
23062
|
"modelValue": year.value,
|
22999
23063
|
"onUpdate:modelValue": [$event => year.value = $event, onUpdateYear],
|
23000
23064
|
"min": minDate.value,
|
23001
|
-
"max": maxDate.value
|
23065
|
+
"max": maxDate.value,
|
23066
|
+
"allowedYears": allowedYears
|
23002
23067
|
}), null) : vue.createVNode(VDatePickerMonth, vue.mergeProps({
|
23003
23068
|
"key": "date-picker-month"
|
23004
23069
|
}, datePickerMonthProps, {
|
@@ -29321,7 +29386,7 @@
|
|
29321
29386
|
};
|
29322
29387
|
});
|
29323
29388
|
}
|
29324
|
-
const version$1 = "3.8.7-master.2025-05-
|
29389
|
+
const version$1 = "3.8.7-master.2025-05-31";
|
29325
29390
|
createVuetify$1.version = version$1;
|
29326
29391
|
|
29327
29392
|
// Vue's inject() can only be used in setup
|
@@ -29346,7 +29411,7 @@
|
|
29346
29411
|
...options
|
29347
29412
|
});
|
29348
29413
|
};
|
29349
|
-
const version = "3.8.7-master.2025-05-
|
29414
|
+
const version = "3.8.7-master.2025-05-31";
|
29350
29415
|
createVuetify.version = version;
|
29351
29416
|
|
29352
29417
|
exports.blueprints = index;
|