@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-labs.js
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
|
*/
|
@@ -22310,7 +22310,8 @@
|
|
22310
22310
|
min: null,
|
22311
22311
|
max: null,
|
22312
22312
|
modelValue: Number,
|
22313
|
-
year: Number
|
22313
|
+
year: Number,
|
22314
|
+
allowedMonths: [Array, Function]
|
22314
22315
|
}, 'VDatePickerMonths');
|
22315
22316
|
const VDatePickerMonths = genericComponent()({
|
22316
22317
|
name: 'VDatePickerMonths',
|
@@ -22332,7 +22333,7 @@
|
|
22332
22333
|
}
|
22333
22334
|
return createRange(12).map(i => {
|
22334
22335
|
const text = adapter.format(date, 'monthShort');
|
22335
|
-
const isDisabled = !!(props.min && adapter.isAfter(adapter.startOfMonth(adapter.date(props.min)), date) || props.max && adapter.isAfter(date, adapter.startOfMonth(adapter.date(props.max))));
|
22336
|
+
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))));
|
22336
22337
|
date = adapter.getNextMonth(date);
|
22337
22338
|
return {
|
22338
22339
|
isDisabled,
|
@@ -22344,6 +22345,15 @@
|
|
22344
22345
|
vue.watchEffect(() => {
|
22345
22346
|
model.value = model.value ?? adapter.getMonth(adapter.date());
|
22346
22347
|
});
|
22348
|
+
function isMonthAllowed(month) {
|
22349
|
+
if (Array.isArray(props.allowedMonths) && props.allowedMonths.length) {
|
22350
|
+
return props.allowedMonths.includes(month);
|
22351
|
+
}
|
22352
|
+
if (typeof props.allowedMonths === 'function') {
|
22353
|
+
return props.allowedMonths(month);
|
22354
|
+
}
|
22355
|
+
return true;
|
22356
|
+
}
|
22347
22357
|
useRender(() => vue.createElementVNode("div", {
|
22348
22358
|
"class": "v-date-picker-months",
|
22349
22359
|
"style": vue.normalizeStyle({
|
@@ -22389,7 +22399,8 @@
|
|
22389
22399
|
height: [String, Number],
|
22390
22400
|
min: null,
|
22391
22401
|
max: null,
|
22392
|
-
modelValue: Number
|
22402
|
+
modelValue: Number,
|
22403
|
+
allowedYears: [Array, Function]
|
22393
22404
|
}, 'VDatePickerYears');
|
22394
22405
|
const VDatePickerYears = genericComponent()({
|
22395
22406
|
name: 'VDatePickerYears',
|
@@ -22421,7 +22432,8 @@
|
|
22421
22432
|
date = adapter.setYear(date, adapter.getYear(date) + 1);
|
22422
22433
|
return {
|
22423
22434
|
text,
|
22424
|
-
value: i
|
22435
|
+
value: i,
|
22436
|
+
isDisabled: !isYearAllowed(i)
|
22425
22437
|
};
|
22426
22438
|
});
|
22427
22439
|
});
|
@@ -22435,6 +22447,15 @@
|
|
22435
22447
|
block: 'center'
|
22436
22448
|
});
|
22437
22449
|
});
|
22450
|
+
function isYearAllowed(year) {
|
22451
|
+
if (Array.isArray(props.allowedYears) && props.allowedYears.length) {
|
22452
|
+
return props.allowedYears.includes(year);
|
22453
|
+
}
|
22454
|
+
if (typeof props.allowedYears === 'function') {
|
22455
|
+
return props.allowedYears(year);
|
22456
|
+
}
|
22457
|
+
return true;
|
22458
|
+
}
|
22438
22459
|
useRender(() => vue.createElementVNode("div", {
|
22439
22460
|
"class": "v-date-picker-years",
|
22440
22461
|
"style": vue.normalizeStyle({
|
@@ -22449,6 +22470,7 @@
|
|
22449
22470
|
color: model.value === year.value ? props.color : undefined,
|
22450
22471
|
rounded: true,
|
22451
22472
|
text: year.text,
|
22473
|
+
disabled: year.isDisabled,
|
22452
22474
|
variant: model.value === year.value ? 'flat' : 'text',
|
22453
22475
|
onClick: () => {
|
22454
22476
|
if (model.value === year.value) {
|
@@ -22598,6 +22620,41 @@
|
|
22598
22620
|
}
|
22599
22621
|
return targets;
|
22600
22622
|
});
|
22623
|
+
function isAllowedInRange(start, end) {
|
22624
|
+
const allowedDates = props.allowedDates;
|
22625
|
+
if (typeof allowedDates !== 'function') return true;
|
22626
|
+
const days = adapter.getDiff(end, start, 'days');
|
22627
|
+
for (let i = 0; i < days; i++) {
|
22628
|
+
if (allowedDates(adapter.addDays(start, i))) return true;
|
22629
|
+
}
|
22630
|
+
return false;
|
22631
|
+
}
|
22632
|
+
function allowedYears(year) {
|
22633
|
+
if (typeof props.allowedDates === 'function') {
|
22634
|
+
const startOfYear = adapter.parseISO(`${year}-01-01`);
|
22635
|
+
return isAllowedInRange(startOfYear, adapter.endOfYear(startOfYear));
|
22636
|
+
}
|
22637
|
+
if (Array.isArray(props.allowedDates) && props.allowedDates.length) {
|
22638
|
+
for (const date of props.allowedDates) {
|
22639
|
+
if (adapter.getYear(adapter.date(date)) === year) return true;
|
22640
|
+
}
|
22641
|
+
return false;
|
22642
|
+
}
|
22643
|
+
return true;
|
22644
|
+
}
|
22645
|
+
function allowedMonths(month) {
|
22646
|
+
if (typeof props.allowedDates === 'function') {
|
22647
|
+
const startOfMonth = adapter.parseISO(`${year.value}-${month + 1}-01`);
|
22648
|
+
return isAllowedInRange(startOfMonth, adapter.endOfMonth(startOfMonth));
|
22649
|
+
}
|
22650
|
+
if (Array.isArray(props.allowedDates) && props.allowedDates.length) {
|
22651
|
+
for (const date of props.allowedDates) {
|
22652
|
+
if (adapter.getYear(adapter.date(date)) === year.value && adapter.getMonth(adapter.date(date)) === month) return true;
|
22653
|
+
}
|
22654
|
+
return false;
|
22655
|
+
}
|
22656
|
+
return true;
|
22657
|
+
}
|
22601
22658
|
|
22602
22659
|
// function onClickAppend () {
|
22603
22660
|
// inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'
|
@@ -22713,14 +22770,16 @@
|
|
22713
22770
|
"onUpdate:modelValue": [$event => month.value = $event, onUpdateMonth],
|
22714
22771
|
"min": minDate.value,
|
22715
22772
|
"max": maxDate.value,
|
22716
|
-
"year": year.value
|
22773
|
+
"year": year.value,
|
22774
|
+
"allowedMonths": allowedMonths
|
22717
22775
|
}), null) : viewMode.value === 'year' ? vue.createVNode(VDatePickerYears, vue.mergeProps({
|
22718
22776
|
"key": "date-picker-years"
|
22719
22777
|
}, datePickerYearsProps, {
|
22720
22778
|
"modelValue": year.value,
|
22721
22779
|
"onUpdate:modelValue": [$event => year.value = $event, onUpdateYear],
|
22722
22780
|
"min": minDate.value,
|
22723
|
-
"max": maxDate.value
|
22781
|
+
"max": maxDate.value,
|
22782
|
+
"allowedYears": allowedYears
|
22724
22783
|
}), null) : vue.createVNode(VDatePickerMonth, vue.mergeProps({
|
22725
22784
|
"key": "date-picker-month"
|
22726
22785
|
}, datePickerMonthProps, {
|
@@ -32016,7 +32075,7 @@
|
|
32016
32075
|
};
|
32017
32076
|
});
|
32018
32077
|
}
|
32019
|
-
const version$1 = "3.8.7-master.2025-05-
|
32078
|
+
const version$1 = "3.8.7-master.2025-05-29";
|
32020
32079
|
createVuetify$1.version = version$1;
|
32021
32080
|
|
32022
32081
|
// Vue's inject() can only be used in setup
|
@@ -32314,7 +32373,7 @@
|
|
32314
32373
|
|
32315
32374
|
/* eslint-disable local-rules/sort-imports */
|
32316
32375
|
|
32317
|
-
const version = "3.8.7-master.2025-05-
|
32376
|
+
const version = "3.8.7-master.2025-05-29";
|
32318
32377
|
|
32319
32378
|
/* eslint-disable local-rules/sort-imports */
|
32320
32379
|
|