@vuetify/nightly 3.8.7-master.2025-05-27 → 3.8.7-master.2025-05-29
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 +8 -3
- package/dist/json/attributes.json +2677 -2653
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +200 -200
- package/dist/json/tags.json +6 -0
- package/dist/json/web-types.json +4691 -4637
- package/dist/vuetify-labs.cjs +68 -9
- package/dist/vuetify-labs.css +6193 -6193
- package/dist/vuetify-labs.d.ts +100 -70
- package/dist/vuetify-labs.esm.js +68 -9
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +68 -9
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +68 -9
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3735 -3735
- package/dist/vuetify.d.ts +90 -70
- package/dist/vuetify.esm.js +68 -9
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +68 -9
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +21 -11
- 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/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/entry-bundler.js +1 -1
- package/lib/framework.d.ts +70 -70
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +20 -0
- package/package.json +1 -1
package/dist/vuetify.cjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.7-master.2025-05-
|
2
|
+
* Vuetify v3.8.7-master.2025-05-29
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -22588,7 +22588,8 @@
|
|
22588
22588
|
min: null,
|
22589
22589
|
max: null,
|
22590
22590
|
modelValue: Number,
|
22591
|
-
year: Number
|
22591
|
+
year: Number,
|
22592
|
+
allowedMonths: [Array, Function]
|
22592
22593
|
}, 'VDatePickerMonths');
|
22593
22594
|
const VDatePickerMonths = genericComponent()({
|
22594
22595
|
name: 'VDatePickerMonths',
|
@@ -22610,7 +22611,7 @@
|
|
22610
22611
|
}
|
22611
22612
|
return createRange(12).map(i => {
|
22612
22613
|
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))));
|
22614
|
+
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
22615
|
date = adapter.getNextMonth(date);
|
22615
22616
|
return {
|
22616
22617
|
isDisabled,
|
@@ -22622,6 +22623,15 @@
|
|
22622
22623
|
vue.watchEffect(() => {
|
22623
22624
|
model.value = model.value ?? adapter.getMonth(adapter.date());
|
22624
22625
|
});
|
22626
|
+
function isMonthAllowed(month) {
|
22627
|
+
if (Array.isArray(props.allowedMonths) && props.allowedMonths.length) {
|
22628
|
+
return props.allowedMonths.includes(month);
|
22629
|
+
}
|
22630
|
+
if (typeof props.allowedMonths === 'function') {
|
22631
|
+
return props.allowedMonths(month);
|
22632
|
+
}
|
22633
|
+
return true;
|
22634
|
+
}
|
22625
22635
|
useRender(() => vue.createElementVNode("div", {
|
22626
22636
|
"class": "v-date-picker-months",
|
22627
22637
|
"style": vue.normalizeStyle({
|
@@ -22667,7 +22677,8 @@
|
|
22667
22677
|
height: [String, Number],
|
22668
22678
|
min: null,
|
22669
22679
|
max: null,
|
22670
|
-
modelValue: Number
|
22680
|
+
modelValue: Number,
|
22681
|
+
allowedYears: [Array, Function]
|
22671
22682
|
}, 'VDatePickerYears');
|
22672
22683
|
const VDatePickerYears = genericComponent()({
|
22673
22684
|
name: 'VDatePickerYears',
|
@@ -22699,7 +22710,8 @@
|
|
22699
22710
|
date = adapter.setYear(date, adapter.getYear(date) + 1);
|
22700
22711
|
return {
|
22701
22712
|
text,
|
22702
|
-
value: i
|
22713
|
+
value: i,
|
22714
|
+
isDisabled: !isYearAllowed(i)
|
22703
22715
|
};
|
22704
22716
|
});
|
22705
22717
|
});
|
@@ -22713,6 +22725,15 @@
|
|
22713
22725
|
block: 'center'
|
22714
22726
|
});
|
22715
22727
|
});
|
22728
|
+
function isYearAllowed(year) {
|
22729
|
+
if (Array.isArray(props.allowedYears) && props.allowedYears.length) {
|
22730
|
+
return props.allowedYears.includes(year);
|
22731
|
+
}
|
22732
|
+
if (typeof props.allowedYears === 'function') {
|
22733
|
+
return props.allowedYears(year);
|
22734
|
+
}
|
22735
|
+
return true;
|
22736
|
+
}
|
22716
22737
|
useRender(() => vue.createElementVNode("div", {
|
22717
22738
|
"class": "v-date-picker-years",
|
22718
22739
|
"style": vue.normalizeStyle({
|
@@ -22727,6 +22748,7 @@
|
|
22727
22748
|
color: model.value === year.value ? props.color : undefined,
|
22728
22749
|
rounded: true,
|
22729
22750
|
text: year.text,
|
22751
|
+
disabled: year.isDisabled,
|
22730
22752
|
variant: model.value === year.value ? 'flat' : 'text',
|
22731
22753
|
onClick: () => {
|
22732
22754
|
if (model.value === year.value) {
|
@@ -22876,6 +22898,41 @@
|
|
22876
22898
|
}
|
22877
22899
|
return targets;
|
22878
22900
|
});
|
22901
|
+
function isAllowedInRange(start, end) {
|
22902
|
+
const allowedDates = props.allowedDates;
|
22903
|
+
if (typeof allowedDates !== 'function') return true;
|
22904
|
+
const days = adapter.getDiff(end, start, 'days');
|
22905
|
+
for (let i = 0; i < days; i++) {
|
22906
|
+
if (allowedDates(adapter.addDays(start, i))) return true;
|
22907
|
+
}
|
22908
|
+
return false;
|
22909
|
+
}
|
22910
|
+
function allowedYears(year) {
|
22911
|
+
if (typeof props.allowedDates === 'function') {
|
22912
|
+
const startOfYear = adapter.parseISO(`${year}-01-01`);
|
22913
|
+
return isAllowedInRange(startOfYear, adapter.endOfYear(startOfYear));
|
22914
|
+
}
|
22915
|
+
if (Array.isArray(props.allowedDates) && props.allowedDates.length) {
|
22916
|
+
for (const date of props.allowedDates) {
|
22917
|
+
if (adapter.getYear(adapter.date(date)) === year) return true;
|
22918
|
+
}
|
22919
|
+
return false;
|
22920
|
+
}
|
22921
|
+
return true;
|
22922
|
+
}
|
22923
|
+
function allowedMonths(month) {
|
22924
|
+
if (typeof props.allowedDates === 'function') {
|
22925
|
+
const startOfMonth = adapter.parseISO(`${year.value}-${month + 1}-01`);
|
22926
|
+
return isAllowedInRange(startOfMonth, adapter.endOfMonth(startOfMonth));
|
22927
|
+
}
|
22928
|
+
if (Array.isArray(props.allowedDates) && props.allowedDates.length) {
|
22929
|
+
for (const date of props.allowedDates) {
|
22930
|
+
if (adapter.getYear(adapter.date(date)) === year.value && adapter.getMonth(adapter.date(date)) === month) return true;
|
22931
|
+
}
|
22932
|
+
return false;
|
22933
|
+
}
|
22934
|
+
return true;
|
22935
|
+
}
|
22879
22936
|
|
22880
22937
|
// function onClickAppend () {
|
22881
22938
|
// inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'
|
@@ -22991,14 +23048,16 @@
|
|
22991
23048
|
"onUpdate:modelValue": [$event => month.value = $event, onUpdateMonth],
|
22992
23049
|
"min": minDate.value,
|
22993
23050
|
"max": maxDate.value,
|
22994
|
-
"year": year.value
|
23051
|
+
"year": year.value,
|
23052
|
+
"allowedMonths": allowedMonths
|
22995
23053
|
}), null) : viewMode.value === 'year' ? vue.createVNode(VDatePickerYears, vue.mergeProps({
|
22996
23054
|
"key": "date-picker-years"
|
22997
23055
|
}, datePickerYearsProps, {
|
22998
23056
|
"modelValue": year.value,
|
22999
23057
|
"onUpdate:modelValue": [$event => year.value = $event, onUpdateYear],
|
23000
23058
|
"min": minDate.value,
|
23001
|
-
"max": maxDate.value
|
23059
|
+
"max": maxDate.value,
|
23060
|
+
"allowedYears": allowedYears
|
23002
23061
|
}), null) : vue.createVNode(VDatePickerMonth, vue.mergeProps({
|
23003
23062
|
"key": "date-picker-month"
|
23004
23063
|
}, datePickerMonthProps, {
|
@@ -29321,7 +29380,7 @@
|
|
29321
29380
|
};
|
29322
29381
|
});
|
29323
29382
|
}
|
29324
|
-
const version$1 = "3.8.7-master.2025-05-
|
29383
|
+
const version$1 = "3.8.7-master.2025-05-29";
|
29325
29384
|
createVuetify$1.version = version$1;
|
29326
29385
|
|
29327
29386
|
// Vue's inject() can only be used in setup
|
@@ -29346,7 +29405,7 @@
|
|
29346
29405
|
...options
|
29347
29406
|
});
|
29348
29407
|
};
|
29349
|
-
const version = "3.8.7-master.2025-05-
|
29408
|
+
const version = "3.8.7-master.2025-05-29";
|
29350
29409
|
createVuetify.version = version;
|
29351
29410
|
|
29352
29411
|
exports.blueprints = index;
|