vuetify 3.4.7 → 3.4.8
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 +48 -40
- package/dist/json/importMap.json +102 -102
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +77 -59
- package/dist/vuetify-labs.css +2792 -2789
- package/dist/vuetify-labs.d.ts +42 -30
- package/dist/vuetify-labs.esm.js +131 -101
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +131 -101
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1022 -1019
- package/dist/vuetify.d.ts +73 -61
- package/dist/vuetify.esm.js +131 -101
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +131 -101
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +126 -124
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTableFooter.mjs +1 -1
- package/lib/components/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +11 -98
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VDatePicker/index.d.mts +42 -30
- package/lib/components/VOtpInput/VOtpInput.css +3 -0
- package/lib/components/VOtpInput/VOtpInput.mjs +1 -0
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.sass +3 -0
- package/lib/components/VOverlay/VOverlay.mjs +11 -6
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/index.d.mts +42 -30
- package/lib/composables/calendar.mjs +113 -0
- package/lib/composables/calendar.mjs.map +1 -0
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +31 -31
- package/lib/locale/cs.mjs +19 -19
- package/lib/locale/cs.mjs.map +1 -1
- package/package.json +2 -2
package/dist/vuetify.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.4.
|
|
2
|
+
* Vuetify v3.4.8
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -9829,7 +9829,7 @@
|
|
|
9829
9829
|
} = useRtl();
|
|
9830
9830
|
const {
|
|
9831
9831
|
hasContent,
|
|
9832
|
-
onAfterLeave
|
|
9832
|
+
onAfterLeave: _onAfterLeave
|
|
9833
9833
|
} = useLazy(props, isActive);
|
|
9834
9834
|
const scrimColor = useBackgroundColor(vue.computed(() => {
|
|
9835
9835
|
return typeof props.scrim === 'string' ? props.scrim : null;
|
|
@@ -9896,6 +9896,10 @@
|
|
|
9896
9896
|
}, {
|
|
9897
9897
|
immediate: true
|
|
9898
9898
|
});
|
|
9899
|
+
vue.onBeforeUnmount(() => {
|
|
9900
|
+
if (!IN_BROWSER) return;
|
|
9901
|
+
window.removeEventListener('keydown', onKeydown);
|
|
9902
|
+
});
|
|
9899
9903
|
function onKeydown(e) {
|
|
9900
9904
|
if (e.key === 'Escape' && globalTop.value) {
|
|
9901
9905
|
if (!props.persistent) {
|
|
@@ -9941,6 +9945,10 @@
|
|
|
9941
9945
|
easing: standardEasing
|
|
9942
9946
|
});
|
|
9943
9947
|
}
|
|
9948
|
+
function onAfterLeave() {
|
|
9949
|
+
_onAfterLeave();
|
|
9950
|
+
emit('afterLeave');
|
|
9951
|
+
}
|
|
9944
9952
|
useRender(() => vue.createVNode(vue.Fragment, null, [slots.activator?.({
|
|
9945
9953
|
isActive: isActive.value,
|
|
9946
9954
|
props: vue.mergeProps({
|
|
@@ -9969,10 +9977,7 @@
|
|
|
9969
9977
|
"persisted": true,
|
|
9970
9978
|
"transition": props.transition,
|
|
9971
9979
|
"target": target.value,
|
|
9972
|
-
"onAfterLeave":
|
|
9973
|
-
onAfterLeave();
|
|
9974
|
-
emit('afterLeave');
|
|
9975
|
-
}
|
|
9980
|
+
"onAfterLeave": onAfterLeave
|
|
9976
9981
|
}, {
|
|
9977
9982
|
default: () => [vue.withDirectives(vue.createVNode("div", vue.mergeProps({
|
|
9978
9983
|
"ref": contentEl,
|
|
@@ -17750,7 +17755,7 @@
|
|
|
17750
17755
|
"last-aria-label": props.lastPageLabel,
|
|
17751
17756
|
"length": pageCount.value,
|
|
17752
17757
|
"next-aria-label": props.nextPageLabel,
|
|
17753
|
-
"
|
|
17758
|
+
"previous-aria-label": props.prevPageLabel,
|
|
17754
17759
|
"rounded": true,
|
|
17755
17760
|
"show-first-last-page": true,
|
|
17756
17761
|
"total-visible": props.showCurrentPage ? 1 : 0,
|
|
@@ -19617,21 +19622,125 @@
|
|
|
19617
19622
|
}
|
|
19618
19623
|
});
|
|
19619
19624
|
|
|
19625
|
+
// Composables
|
|
19626
|
+
|
|
19620
19627
|
// Types
|
|
19621
19628
|
|
|
19622
|
-
|
|
19629
|
+
// Types
|
|
19630
|
+
|
|
19631
|
+
// Composables
|
|
19632
|
+
const makeCalendarProps = propsFactory({
|
|
19623
19633
|
allowedDates: [Array, Function],
|
|
19624
19634
|
disabled: Boolean,
|
|
19625
|
-
|
|
19635
|
+
displayValue: null,
|
|
19636
|
+
modelValue: Array,
|
|
19626
19637
|
month: [Number, String],
|
|
19627
|
-
hideWeekdays: Boolean,
|
|
19628
19638
|
max: null,
|
|
19629
19639
|
min: null,
|
|
19630
|
-
modelValue: Array,
|
|
19631
|
-
multiple: Boolean,
|
|
19632
19640
|
showAdjacentMonths: Boolean,
|
|
19633
|
-
showWeek: Boolean,
|
|
19634
19641
|
year: [Number, String]
|
|
19642
|
+
}, 'calendar');
|
|
19643
|
+
function useCalendar(props) {
|
|
19644
|
+
const adapter = useDate();
|
|
19645
|
+
const model = useProxiedModel(props, 'modelValue', [], v => wrapInArray(v));
|
|
19646
|
+
const displayValue = vue.computed(() => {
|
|
19647
|
+
if (props.displayValue) return adapter.date(props.displayValue);
|
|
19648
|
+
if (model.value.length > 0) return adapter.date(model.value[0]);
|
|
19649
|
+
if (props.min) return adapter.date(props.min);
|
|
19650
|
+
if (Array.isArray(props.allowedDates)) return adapter.date(props.allowedDates[0]);
|
|
19651
|
+
return adapter.date();
|
|
19652
|
+
});
|
|
19653
|
+
const year = useProxiedModel(props, 'year', undefined, v => {
|
|
19654
|
+
const value = v != null ? Number(v) : adapter.getYear(displayValue.value);
|
|
19655
|
+
return adapter.startOfYear(adapter.setYear(adapter.date(), value));
|
|
19656
|
+
}, v => adapter.getYear(v));
|
|
19657
|
+
const month = useProxiedModel(props, 'month', undefined, v => {
|
|
19658
|
+
const value = v != null ? Number(v) : adapter.getMonth(displayValue.value);
|
|
19659
|
+
const date = adapter.setYear(adapter.date(), adapter.getYear(year.value));
|
|
19660
|
+
return adapter.setMonth(date, value);
|
|
19661
|
+
}, v => adapter.getMonth(v));
|
|
19662
|
+
const weeksInMonth = vue.computed(() => {
|
|
19663
|
+
const weeks = adapter.getWeekArray(month.value);
|
|
19664
|
+
const days = weeks.flat();
|
|
19665
|
+
|
|
19666
|
+
// Make sure there's always 6 weeks in month (6 * 7 days)
|
|
19667
|
+
// But only do it if we're not hiding adjacent months?
|
|
19668
|
+
const daysInMonth = 6 * 7;
|
|
19669
|
+
if (days.length < daysInMonth) {
|
|
19670
|
+
const lastDay = days[days.length - 1];
|
|
19671
|
+
let week = [];
|
|
19672
|
+
for (let day = 1; day <= daysInMonth - days.length; day++) {
|
|
19673
|
+
week.push(adapter.addDays(lastDay, day));
|
|
19674
|
+
if (day % 7 === 0) {
|
|
19675
|
+
weeks.push(week);
|
|
19676
|
+
week = [];
|
|
19677
|
+
}
|
|
19678
|
+
}
|
|
19679
|
+
}
|
|
19680
|
+
return weeks;
|
|
19681
|
+
});
|
|
19682
|
+
const daysInMonth = vue.computed(() => {
|
|
19683
|
+
const days = weeksInMonth.value.flat();
|
|
19684
|
+
const today = adapter.date();
|
|
19685
|
+
return days.map((date, index) => {
|
|
19686
|
+
const isoDate = adapter.toISO(date);
|
|
19687
|
+
const isAdjacent = !adapter.isSameMonth(date, month.value);
|
|
19688
|
+
const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value));
|
|
19689
|
+
const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value));
|
|
19690
|
+
const isSame = adapter.isSameDay(date, month.value);
|
|
19691
|
+
return {
|
|
19692
|
+
date,
|
|
19693
|
+
isoDate,
|
|
19694
|
+
formatted: adapter.format(date, 'keyboardDate'),
|
|
19695
|
+
year: adapter.getYear(date),
|
|
19696
|
+
month: adapter.getMonth(date),
|
|
19697
|
+
isDisabled: isDisabled(date),
|
|
19698
|
+
isWeekStart: index % 7 === 0,
|
|
19699
|
+
isWeekEnd: index % 7 === 6,
|
|
19700
|
+
isToday: adapter.isSameDay(date, today),
|
|
19701
|
+
isAdjacent,
|
|
19702
|
+
isHidden: isAdjacent && !props.showAdjacentMonths,
|
|
19703
|
+
isStart,
|
|
19704
|
+
isSelected: model.value.some(value => adapter.isSameDay(date, value)),
|
|
19705
|
+
isEnd,
|
|
19706
|
+
isSame,
|
|
19707
|
+
localized: adapter.format(date, 'dayOfMonth')
|
|
19708
|
+
};
|
|
19709
|
+
});
|
|
19710
|
+
});
|
|
19711
|
+
const weekNumbers = vue.computed(() => {
|
|
19712
|
+
return weeksInMonth.value.map(week => {
|
|
19713
|
+
return week.length ? getWeek(adapter, week[0]) : null;
|
|
19714
|
+
});
|
|
19715
|
+
});
|
|
19716
|
+
function isDisabled(value) {
|
|
19717
|
+
if (props.disabled) return true;
|
|
19718
|
+
const date = adapter.date(value);
|
|
19719
|
+
if (props.min && adapter.isAfter(adapter.date(props.min), date)) return true;
|
|
19720
|
+
if (props.max && adapter.isAfter(date, adapter.date(props.max))) return true;
|
|
19721
|
+
if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) {
|
|
19722
|
+
return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date));
|
|
19723
|
+
}
|
|
19724
|
+
if (typeof props.allowedDates === 'function') {
|
|
19725
|
+
return !props.allowedDates(date);
|
|
19726
|
+
}
|
|
19727
|
+
return false;
|
|
19728
|
+
}
|
|
19729
|
+
return {
|
|
19730
|
+
displayValue,
|
|
19731
|
+
daysInMonth,
|
|
19732
|
+
model,
|
|
19733
|
+
weeksInMonth,
|
|
19734
|
+
weekNumbers
|
|
19735
|
+
};
|
|
19736
|
+
}
|
|
19737
|
+
|
|
19738
|
+
const makeVDatePickerMonthProps = propsFactory({
|
|
19739
|
+
color: String,
|
|
19740
|
+
hideWeekdays: Boolean,
|
|
19741
|
+
multiple: Boolean,
|
|
19742
|
+
showWeek: Boolean,
|
|
19743
|
+
...makeCalendarProps()
|
|
19635
19744
|
}, 'VDatePickerMonth');
|
|
19636
19745
|
const VDatePickerMonth = genericComponent()({
|
|
19637
19746
|
name: 'VDatePickerMonth',
|
|
@@ -19647,87 +19756,12 @@
|
|
|
19647
19756
|
slots
|
|
19648
19757
|
} = _ref;
|
|
19649
19758
|
const daysRef = vue.ref();
|
|
19759
|
+
const {
|
|
19760
|
+
daysInMonth,
|
|
19761
|
+
model,
|
|
19762
|
+
weekNumbers
|
|
19763
|
+
} = useCalendar(props); // TODO: fix typing
|
|
19650
19764
|
const adapter = useDate();
|
|
19651
|
-
// model comes in always as array
|
|
19652
|
-
// leaves as array if multiple
|
|
19653
|
-
const model = useProxiedModel(props, 'modelValue', [], v => wrapInArray(v));
|
|
19654
|
-
const displayValue = vue.computed(() => {
|
|
19655
|
-
if (model.value.length > 0) return adapter.date(model.value[0]);
|
|
19656
|
-
if (props.min) return adapter.date(props.min);
|
|
19657
|
-
if (Array.isArray(props.allowedDates)) return adapter.date(props.allowedDates[0]);
|
|
19658
|
-
return adapter.date();
|
|
19659
|
-
});
|
|
19660
|
-
const year = useProxiedModel(props, 'year', undefined, v => {
|
|
19661
|
-
const value = v != null ? Number(v) : adapter.getYear(displayValue.value);
|
|
19662
|
-
return adapter.startOfYear(adapter.setYear(adapter.date(), value));
|
|
19663
|
-
}, v => adapter.getYear(v));
|
|
19664
|
-
const month = useProxiedModel(props, 'month', undefined, v => {
|
|
19665
|
-
const value = v != null ? Number(v) : adapter.getMonth(displayValue.value);
|
|
19666
|
-
const date = adapter.setYear(adapter.date(), adapter.getYear(year.value));
|
|
19667
|
-
return adapter.setMonth(date, value);
|
|
19668
|
-
}, v => adapter.getMonth(v));
|
|
19669
|
-
const weeksInMonth = vue.computed(() => {
|
|
19670
|
-
const weeks = adapter.getWeekArray(month.value);
|
|
19671
|
-
const days = weeks.flat();
|
|
19672
|
-
|
|
19673
|
-
// Make sure there's always 6 weeks in month (6 * 7 days)
|
|
19674
|
-
// But only do it if we're not hiding adjacent months?
|
|
19675
|
-
const daysInMonth = 6 * 7;
|
|
19676
|
-
if (days.length < daysInMonth) {
|
|
19677
|
-
const lastDay = days[days.length - 1];
|
|
19678
|
-
let week = [];
|
|
19679
|
-
for (let day = 1; day <= daysInMonth - days.length; day++) {
|
|
19680
|
-
week.push(adapter.addDays(lastDay, day));
|
|
19681
|
-
if (day % 7 === 0) {
|
|
19682
|
-
weeks.push(week);
|
|
19683
|
-
week = [];
|
|
19684
|
-
}
|
|
19685
|
-
}
|
|
19686
|
-
}
|
|
19687
|
-
return weeks;
|
|
19688
|
-
});
|
|
19689
|
-
const daysInMonth = vue.computed(() => {
|
|
19690
|
-
const days = weeksInMonth.value.flat();
|
|
19691
|
-
const today = adapter.date();
|
|
19692
|
-
return days.map((date, index) => {
|
|
19693
|
-
const isoDate = adapter.toISO(date);
|
|
19694
|
-
const isAdjacent = !adapter.isSameMonth(date, month.value);
|
|
19695
|
-
return {
|
|
19696
|
-
date,
|
|
19697
|
-
isoDate,
|
|
19698
|
-
formatted: adapter.format(date, 'keyboardDate'),
|
|
19699
|
-
year: adapter.getYear(date),
|
|
19700
|
-
month: adapter.getMonth(date),
|
|
19701
|
-
isDisabled: isDisabled(date),
|
|
19702
|
-
isWeekStart: index % 7 === 0,
|
|
19703
|
-
isWeekEnd: index % 7 === 6,
|
|
19704
|
-
isSelected: model.value.some(value => adapter.isSameDay(date, value)),
|
|
19705
|
-
isToday: adapter.isSameDay(date, today),
|
|
19706
|
-
isAdjacent,
|
|
19707
|
-
isHidden: isAdjacent && !props.showAdjacentMonths,
|
|
19708
|
-
isHovered: false,
|
|
19709
|
-
localized: adapter.format(date, 'dayOfMonth')
|
|
19710
|
-
};
|
|
19711
|
-
});
|
|
19712
|
-
});
|
|
19713
|
-
const weeks = vue.computed(() => {
|
|
19714
|
-
return weeksInMonth.value.map(week => {
|
|
19715
|
-
return getWeek(adapter, week[0]);
|
|
19716
|
-
});
|
|
19717
|
-
});
|
|
19718
|
-
function isDisabled(value) {
|
|
19719
|
-
if (props.disabled) return true;
|
|
19720
|
-
const date = adapter.date(value);
|
|
19721
|
-
if (props.min && adapter.isAfter(adapter.date(props.min), date)) return true;
|
|
19722
|
-
if (props.max && adapter.isAfter(date, adapter.date(props.max))) return true;
|
|
19723
|
-
if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) {
|
|
19724
|
-
return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date));
|
|
19725
|
-
}
|
|
19726
|
-
if (typeof props.allowedDates === 'function') {
|
|
19727
|
-
return !props.allowedDates(date);
|
|
19728
|
-
}
|
|
19729
|
-
return false;
|
|
19730
|
-
}
|
|
19731
19765
|
function onClick(value) {
|
|
19732
19766
|
if (props.multiple) {
|
|
19733
19767
|
const index = model.value.findIndex(selection => adapter.isSameDay(selection, value));
|
|
@@ -19742,10 +19776,6 @@
|
|
|
19742
19776
|
model.value = [value];
|
|
19743
19777
|
}
|
|
19744
19778
|
}
|
|
19745
|
-
vue.watch(displayValue, val => {
|
|
19746
|
-
month.value = val;
|
|
19747
|
-
year.value = val;
|
|
19748
|
-
});
|
|
19749
19779
|
return () => vue.createVNode("div", {
|
|
19750
19780
|
"class": "v-date-picker-month"
|
|
19751
19781
|
}, [props.showWeek && vue.createVNode("div", {
|
|
@@ -19754,7 +19784,7 @@
|
|
|
19754
19784
|
}, [!props.hideWeekdays && vue.createVNode("div", {
|
|
19755
19785
|
"key": "hide-week-days",
|
|
19756
19786
|
"class": "v-date-picker-month__day"
|
|
19757
|
-
}, [vue.createTextVNode("\xA0")]),
|
|
19787
|
+
}, [vue.createTextVNode("\xA0")]), weekNumbers.value.map(week => vue.createVNode("div", {
|
|
19758
19788
|
"class": ['v-date-picker-month__day', 'v-date-picker-month__day--adjacent']
|
|
19759
19789
|
}, [week]))]), vue.createVNode("div", {
|
|
19760
19790
|
"ref": daysRef,
|
|
@@ -19773,7 +19803,6 @@
|
|
|
19773
19803
|
"class": ['v-date-picker-month__day', {
|
|
19774
19804
|
'v-date-picker-month__day--adjacent': item.isAdjacent,
|
|
19775
19805
|
'v-date-picker-month__day--hide-adjacent': item.isHidden,
|
|
19776
|
-
'v-date-picker-month__day--hovered': item.isHovered,
|
|
19777
19806
|
'v-date-picker-month__day--selected': item.isSelected,
|
|
19778
19807
|
'v-date-picker-month__day--week-end': item.isWeekEnd,
|
|
19779
19808
|
'v-date-picker-month__day--week-start': item.isWeekStart
|
|
@@ -22054,6 +22083,7 @@
|
|
|
22054
22083
|
"key": i
|
|
22055
22084
|
}, {
|
|
22056
22085
|
...slots,
|
|
22086
|
+
loader: undefined,
|
|
22057
22087
|
default: () => {
|
|
22058
22088
|
return vue.createVNode("input", {
|
|
22059
22089
|
"ref": val => inputRef.value[i] = val,
|
|
@@ -25204,7 +25234,7 @@
|
|
|
25204
25234
|
date
|
|
25205
25235
|
};
|
|
25206
25236
|
}
|
|
25207
|
-
const version$1 = "3.4.
|
|
25237
|
+
const version$1 = "3.4.8";
|
|
25208
25238
|
createVuetify$1.version = version$1;
|
|
25209
25239
|
|
|
25210
25240
|
// Vue's inject() can only be used in setup
|
|
@@ -25229,7 +25259,7 @@
|
|
|
25229
25259
|
...options
|
|
25230
25260
|
});
|
|
25231
25261
|
};
|
|
25232
|
-
const version = "3.4.
|
|
25262
|
+
const version = "3.4.8";
|
|
25233
25263
|
createVuetify.version = version;
|
|
25234
25264
|
|
|
25235
25265
|
exports.components = components;
|