@vuetify/nightly 3.8.7-dev.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 +5 -24
- package/dist/json/attributes.json +3311 -3363
- package/dist/json/importMap-labs.json +20 -20
- package/dist/json/importMap.json +206 -206
- package/dist/json/tags.json +6 -19
- package/dist/json/web-types.json +6080 -6298
- package/dist/vuetify-labs.cjs +204 -321
- package/dist/vuetify-labs.css +5998 -6026
- package/dist/vuetify-labs.d.ts +1384 -1583
- package/dist/vuetify-labs.esm.js +205 -322
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +204 -321
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +193 -315
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4658 -4686
- package/dist/vuetify.d.ts +541 -742
- package/dist/vuetify.esm.js +194 -316
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +193 -315
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1198 -1197
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +1 -6
- package/lib/components/VAlert/VAlert.d.ts +0 -35
- package/lib/components/VAlert/VAlert.js +10 -15
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAlert/VAlert.sass +1 -7
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +96 -133
- package/lib/components/VAutocomplete/VAutocomplete.js +2 -19
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.css +7 -30
- package/lib/components/VBtnGroup/VBtnGroup.d.ts +32 -58
- package/lib/components/VBtnGroup/VBtnGroup.js +3 -7
- package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.sass +17 -44
- package/lib/components/VBtnToggle/VBtnToggle.d.ts +0 -25
- package/lib/components/VCheckbox/VCheckbox.d.ts +3 -3
- package/lib/components/VChipGroup/VChipGroup.d.ts +0 -10
- package/lib/components/VCombobox/VCombobox.d.ts +96 -133
- package/lib/components/VCombobox/VCombobox.js +2 -20
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.d.ts +0 -18
- package/lib/components/VDataTable/VDataTableHeaders.d.ts +0 -13
- package/lib/components/VDataTable/VDataTableHeaders.js +2 -4
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.d.ts +0 -13
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +0 -13
- package/lib/components/VDatePicker/VDatePicker.d.ts +20 -10
- package/lib/components/VDatePicker/VDatePicker.js +39 -2
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.d.ts +0 -10
- package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
- 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/components/VField/VField.d.ts +3 -3
- package/lib/components/VFileInput/VFileInput.d.ts +15 -15
- package/lib/components/VInput/VInput.d.ts +4 -4
- package/lib/components/VList/VListChildren.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.d.ts +89 -103
- package/lib/components/VNumberInput/VNumberInput.js +15 -29
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +1 -2
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.css +1 -1
- package/lib/components/VOverlay/_variables.scss +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.d.ts +3 -3
- package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
- package/lib/components/VSelect/VSelect.d.ts +96 -138
- package/lib/components/VSelect/VSelect.js +3 -21
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.d.ts +0 -10
- package/lib/components/VSlideGroup/VSlideGroup.js +1 -2
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VSlider/VSlider.d.ts +3 -3
- package/lib/components/VSwitch/VSwitch.d.ts +3 -3
- package/lib/components/VTabs/VTabs.d.ts +0 -10
- package/lib/components/VTextField/VTextField.d.ts +27 -27
- package/lib/components/VTextarea/VTextarea.d.ts +15 -15
- package/lib/composables/calendar.d.ts +0 -6
- package/lib/composables/calendar.js +1 -2
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/date/DateAdapter.d.ts +1 -1
- package/lib/composables/date/DateAdapter.js.map +1 -1
- package/lib/composables/date/adapters/vuetify.d.ts +1 -1
- package/lib/composables/date/adapters/vuetify.js +4 -4
- package/lib/composables/date/adapters/vuetify.js.map +1 -1
- package/lib/composables/date/date.d.ts +1 -1
- package/lib/composables/date/index.d.ts +0 -1
- package/lib/composables/date/index.js +0 -1
- package/lib/composables/date/index.js.map +1 -1
- package/lib/composables/filter.js +0 -3
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/theme.d.ts +1 -6
- package/lib/composables/theme.js +26 -94
- package/lib/composables/theme.js.map +1 -1
- package/lib/composables/virtual.js +1 -6
- package/lib/composables/virtual.js.map +1 -1
- package/lib/entry-bundler.d.ts +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +71 -76
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +0 -10
- package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
- package/lib/labs/VDateInput/VDateInput.d.ts +107 -97
- package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
- package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
- package/lib/labs/VIconBtn/VIconBtn.js +11 -7
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/lib/labs/entry-bundler.d.ts +1 -1
- package/lib/util/globals.d.ts +0 -1
- package/lib/util/globals.js +0 -1
- package/lib/util/globals.js.map +1 -1
- package/package.json +1 -3
- package/lib/composables/iconSizes.d.ts +0 -28
- package/lib/composables/iconSizes.js +0 -23
- package/lib/composables/iconSizes.js.map +0 -1
@@ -31,7 +31,6 @@ export declare const makeVDataTableServerProps: <Defaults extends {
|
|
31
31
|
mobileBreakpoint?: unknown;
|
32
32
|
color?: unknown;
|
33
33
|
disableSort?: unknown;
|
34
|
-
lastFixed?: unknown;
|
35
34
|
multiSort?: unknown;
|
36
35
|
sortAscIcon?: unknown;
|
37
36
|
sortDescIcon?: unknown;
|
@@ -287,10 +286,6 @@ export declare const makeVDataTableServerProps: <Defaults extends {
|
|
287
286
|
type: import("vue").PropType<unknown extends Defaults["disableSort"] ? boolean : boolean | Defaults["disableSort"]>;
|
288
287
|
default: unknown extends Defaults["disableSort"] ? boolean : boolean | Defaults["disableSort"];
|
289
288
|
};
|
290
|
-
lastFixed: unknown extends Defaults["lastFixed"] ? BooleanConstructor : {
|
291
|
-
type: import("vue").PropType<unknown extends Defaults["lastFixed"] ? boolean : boolean | Defaults["lastFixed"]>;
|
292
|
-
default: unknown extends Defaults["lastFixed"] ? boolean : boolean | Defaults["lastFixed"];
|
293
|
-
};
|
294
289
|
multiSort: unknown extends Defaults["multiSort"] ? BooleanConstructor : {
|
295
290
|
type: import("vue").PropType<unknown extends Defaults["multiSort"] ? boolean : boolean | Defaults["multiSort"]>;
|
296
291
|
default: unknown extends Defaults["multiSort"] ? boolean : boolean | Defaults["multiSort"];
|
@@ -780,7 +775,6 @@ export declare const VDataTableServer: {
|
|
780
775
|
value: number;
|
781
776
|
})[];
|
782
777
|
showCurrentPage: boolean;
|
783
|
-
lastFixed: boolean;
|
784
778
|
fixedHeader: boolean;
|
785
779
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
786
780
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -853,7 +847,6 @@ export declare const VDataTableServer: {
|
|
853
847
|
value: number;
|
854
848
|
})[];
|
855
849
|
showCurrentPage: boolean;
|
856
|
-
lastFixed: boolean;
|
857
850
|
fixedHeader: boolean;
|
858
851
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
859
852
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -953,7 +946,6 @@ export declare const VDataTableServer: {
|
|
953
946
|
value: number;
|
954
947
|
})[];
|
955
948
|
showCurrentPage: boolean;
|
956
|
-
lastFixed: boolean;
|
957
949
|
fixedHeader: boolean;
|
958
950
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
959
951
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -1018,7 +1010,6 @@ export declare const VDataTableServer: {
|
|
1018
1010
|
value: number;
|
1019
1011
|
})[];
|
1020
1012
|
showCurrentPage: boolean;
|
1021
|
-
lastFixed: boolean;
|
1022
1013
|
fixedHeader: boolean;
|
1023
1014
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
1024
1015
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -1070,7 +1061,6 @@ export declare const VDataTableServer: {
|
|
1070
1061
|
value: number;
|
1071
1062
|
})[];
|
1072
1063
|
showCurrentPage: boolean;
|
1073
|
-
lastFixed: boolean;
|
1074
1064
|
fixedHeader: boolean;
|
1075
1065
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
1076
1066
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -1143,7 +1133,6 @@ export declare const VDataTableServer: {
|
|
1143
1133
|
value: number;
|
1144
1134
|
})[];
|
1145
1135
|
showCurrentPage: boolean;
|
1146
|
-
lastFixed: boolean;
|
1147
1136
|
fixedHeader: boolean;
|
1148
1137
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
1149
1138
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -1284,7 +1273,6 @@ export declare const VDataTableServer: {
|
|
1284
1273
|
mobileBreakpoint: import("vue").PropType<number | import("../../types.js").DisplayBreakpoint>;
|
1285
1274
|
color: StringConstructor;
|
1286
1275
|
disableSort: BooleanConstructor;
|
1287
|
-
lastFixed: BooleanConstructor;
|
1288
1276
|
multiSort: BooleanConstructor;
|
1289
1277
|
sortAscIcon: {
|
1290
1278
|
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
|
@@ -1448,7 +1436,6 @@ export declare const VDataTableServer: {
|
|
1448
1436
|
mobileBreakpoint: import("vue").PropType<number | import("../../types.js").DisplayBreakpoint>;
|
1449
1437
|
color: StringConstructor;
|
1450
1438
|
disableSort: BooleanConstructor;
|
1451
|
-
lastFixed: BooleanConstructor;
|
1452
1439
|
multiSort: BooleanConstructor;
|
1453
1440
|
sortAscIcon: {
|
1454
1441
|
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
|
@@ -67,7 +67,6 @@ export declare const makeVDataTableVirtualProps: <Defaults extends {
|
|
67
67
|
density?: unknown;
|
68
68
|
hideNoData?: unknown;
|
69
69
|
hover?: unknown;
|
70
|
-
lastFixed?: unknown;
|
71
70
|
fixedHeader?: unknown;
|
72
71
|
sortAscIcon?: unknown;
|
73
72
|
sortDescIcon?: unknown;
|
@@ -579,10 +578,6 @@ export declare const makeVDataTableVirtualProps: <Defaults extends {
|
|
579
578
|
type: import("vue").PropType<unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"]>;
|
580
579
|
default: unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"];
|
581
580
|
};
|
582
|
-
lastFixed: unknown extends Defaults["lastFixed"] ? BooleanConstructor : {
|
583
|
-
type: import("vue").PropType<unknown extends Defaults["lastFixed"] ? boolean : boolean | Defaults["lastFixed"]>;
|
584
|
-
default: unknown extends Defaults["lastFixed"] ? boolean : boolean | Defaults["lastFixed"];
|
585
|
-
};
|
586
581
|
fixedHeader: unknown extends Defaults["fixedHeader"] ? BooleanConstructor : {
|
587
582
|
type: import("vue").PropType<unknown extends Defaults["fixedHeader"] ? boolean : boolean | Defaults["fixedHeader"]>;
|
588
583
|
default: unknown extends Defaults["fixedHeader"] ? boolean : boolean | Defaults["fixedHeader"];
|
@@ -648,7 +643,6 @@ export declare const VDataTableVirtual: {
|
|
648
643
|
itemKey: SelectItemKey;
|
649
644
|
hideNoData: boolean;
|
650
645
|
hover: boolean;
|
651
|
-
lastFixed: boolean;
|
652
646
|
fixedHeader: boolean;
|
653
647
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
654
648
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -709,7 +703,6 @@ export declare const VDataTableVirtual: {
|
|
709
703
|
itemKey: SelectItemKey;
|
710
704
|
hideNoData: boolean;
|
711
705
|
hover: boolean;
|
712
|
-
lastFixed: boolean;
|
713
706
|
fixedHeader: boolean;
|
714
707
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
715
708
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -793,7 +786,6 @@ export declare const VDataTableVirtual: {
|
|
793
786
|
itemKey: SelectItemKey;
|
794
787
|
hideNoData: boolean;
|
795
788
|
hover: boolean;
|
796
|
-
lastFixed: boolean;
|
797
789
|
fixedHeader: boolean;
|
798
790
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
799
791
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -848,7 +840,6 @@ export declare const VDataTableVirtual: {
|
|
848
840
|
itemKey: SelectItemKey;
|
849
841
|
hideNoData: boolean;
|
850
842
|
hover: boolean;
|
851
|
-
lastFixed: boolean;
|
852
843
|
fixedHeader: boolean;
|
853
844
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
854
845
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -885,7 +876,6 @@ export declare const VDataTableVirtual: {
|
|
885
876
|
itemKey: SelectItemKey;
|
886
877
|
hideNoData: boolean;
|
887
878
|
hover: boolean;
|
888
|
-
lastFixed: boolean;
|
889
879
|
fixedHeader: boolean;
|
890
880
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
891
881
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -946,7 +936,6 @@ export declare const VDataTableVirtual: {
|
|
946
936
|
itemKey: SelectItemKey;
|
947
937
|
hideNoData: boolean;
|
948
938
|
hover: boolean;
|
949
|
-
lastFixed: boolean;
|
950
939
|
fixedHeader: boolean;
|
951
940
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
952
941
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -1109,7 +1098,6 @@ export declare const VDataTableVirtual: {
|
|
1109
1098
|
};
|
1110
1099
|
hideNoData: BooleanConstructor;
|
1111
1100
|
hover: BooleanConstructor;
|
1112
|
-
lastFixed: BooleanConstructor;
|
1113
1101
|
fixedHeader: BooleanConstructor;
|
1114
1102
|
sortAscIcon: {
|
1115
1103
|
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
|
@@ -1225,7 +1213,6 @@ export declare const VDataTableVirtual: {
|
|
1225
1213
|
};
|
1226
1214
|
hideNoData: BooleanConstructor;
|
1227
1215
|
hover: BooleanConstructor;
|
1228
|
-
lastFixed: BooleanConstructor;
|
1229
1216
|
fixedHeader: BooleanConstructor;
|
1230
1217
|
sortAscIcon: {
|
1231
1218
|
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
|
@@ -32,7 +32,9 @@ export declare const makeVDatePickerProps: <Defaults extends {
|
|
32
32
|
hideHeader?: unknown;
|
33
33
|
max?: unknown;
|
34
34
|
min?: unknown;
|
35
|
+
allowedYears?: unknown;
|
35
36
|
year?: unknown;
|
37
|
+
allowedMonths?: unknown;
|
36
38
|
disabled?: unknown;
|
37
39
|
month?: unknown;
|
38
40
|
showAdjacentMonths?: unknown;
|
@@ -40,7 +42,6 @@ export declare const makeVDatePickerProps: <Defaults extends {
|
|
40
42
|
weeksInMonth?: unknown;
|
41
43
|
firstDayOfWeek?: unknown;
|
42
44
|
allowedDates?: unknown;
|
43
|
-
weekdayFormat?: unknown;
|
44
45
|
hideWeekdays?: unknown;
|
45
46
|
multiple?: unknown;
|
46
47
|
showWeek?: unknown;
|
@@ -192,10 +193,18 @@ export declare const makeVDatePickerProps: <Defaults extends {
|
|
192
193
|
type: import("vue").PropType<unknown extends Defaults["min"] ? unknown : unknown>;
|
193
194
|
default: unknown extends Defaults["min"] ? unknown : {} | Defaults["min"];
|
194
195
|
};
|
196
|
+
allowedYears: unknown extends Defaults["allowedYears"] ? import("vue").PropType<number[] | ((date: number) => boolean)> : {
|
197
|
+
type: import("vue").PropType<unknown extends Defaults["allowedYears"] ? number[] | ((date: number) => boolean) : number[] | ((date: number) => boolean) | Defaults["allowedYears"]>;
|
198
|
+
default: unknown extends Defaults["allowedYears"] ? number[] | ((date: number) => boolean) : NonNullable<number[] | ((date: number) => boolean)> | Defaults["allowedYears"];
|
199
|
+
};
|
195
200
|
year: unknown extends Defaults["year"] ? NumberConstructor : {
|
196
201
|
type: import("vue").PropType<unknown extends Defaults["year"] ? number : number | Defaults["year"]>;
|
197
202
|
default: unknown extends Defaults["year"] ? number : number | Defaults["year"];
|
198
203
|
};
|
204
|
+
allowedMonths: unknown extends Defaults["allowedMonths"] ? import("vue").PropType<number[] | ((date: number) => boolean)> : {
|
205
|
+
type: import("vue").PropType<unknown extends Defaults["allowedMonths"] ? number[] | ((date: number) => boolean) : number[] | ((date: number) => boolean) | Defaults["allowedMonths"]>;
|
206
|
+
default: unknown extends Defaults["allowedMonths"] ? number[] | ((date: number) => boolean) : NonNullable<number[] | ((date: number) => boolean)> | Defaults["allowedMonths"];
|
207
|
+
};
|
199
208
|
disabled: unknown extends Defaults["disabled"] ? {
|
200
209
|
type: BooleanConstructor;
|
201
210
|
default: null;
|
@@ -254,10 +263,6 @@ export declare const makeVDatePickerProps: <Defaults extends {
|
|
254
263
|
type: import("vue").PropType<unknown extends Defaults["allowedDates"] ? unknown[] | ((date: unknown) => boolean) : unknown[] | ((date: unknown) => boolean) | Defaults["allowedDates"]>;
|
255
264
|
default: unknown extends Defaults["allowedDates"] ? unknown[] | ((date: unknown) => boolean) : NonNullable<unknown[] | ((date: unknown) => boolean)> | Defaults["allowedDates"];
|
256
265
|
};
|
257
|
-
weekdayFormat: unknown extends Defaults["weekdayFormat"] ? import("vue").PropType<"long" | "short" | "narrow" | undefined> : {
|
258
|
-
type: import("vue").PropType<unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : "long" | "short" | "narrow" | Defaults["weekdayFormat"] | undefined>;
|
259
|
-
default: unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : NonNullable<"long" | "short" | "narrow" | undefined> | Defaults["weekdayFormat"];
|
260
|
-
};
|
261
266
|
hideWeekdays: unknown extends Defaults["hideWeekdays"] ? BooleanConstructor : {
|
262
267
|
type: import("vue").PropType<unknown extends Defaults["hideWeekdays"] ? boolean : boolean | Defaults["hideWeekdays"]>;
|
263
268
|
default: unknown extends Defaults["hideWeekdays"] ? boolean : boolean | Defaults["hideWeekdays"];
|
@@ -411,7 +416,8 @@ export declare const VDatePicker: {
|
|
411
416
|
headerColor?: string | undefined;
|
412
417
|
firstDayOfWeek?: string | number | undefined;
|
413
418
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
414
|
-
|
419
|
+
allowedMonths?: number[] | ((date: number) => boolean) | undefined;
|
420
|
+
allowedYears?: number[] | ((date: number) => boolean) | undefined;
|
415
421
|
} & {
|
416
422
|
"onUpdate:month"?: ((date: any) => any) | undefined;
|
417
423
|
"onUpdate:year"?: ((date: any) => any) | undefined;
|
@@ -507,7 +513,8 @@ export declare const VDatePicker: {
|
|
507
513
|
headerColor?: string | undefined;
|
508
514
|
firstDayOfWeek?: string | number | undefined;
|
509
515
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
510
|
-
|
516
|
+
allowedMonths?: number[] | ((date: number) => boolean) | undefined;
|
517
|
+
allowedYears?: number[] | ((date: number) => boolean) | undefined;
|
511
518
|
} & {
|
512
519
|
"onUpdate:month"?: ((date: any) => any) | undefined;
|
513
520
|
"onUpdate:year"?: ((date: any) => any) | undefined;
|
@@ -587,7 +594,8 @@ export declare const VDatePicker: {
|
|
587
594
|
headerColor?: string | undefined;
|
588
595
|
firstDayOfWeek?: string | number | undefined;
|
589
596
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
590
|
-
|
597
|
+
allowedMonths?: number[] | ((date: number) => boolean) | undefined;
|
598
|
+
allowedYears?: number[] | ((date: number) => boolean) | undefined;
|
591
599
|
} & {
|
592
600
|
"onUpdate:month"?: ((date: any) => any) | undefined;
|
593
601
|
"onUpdate:year"?: ((date: any) => any) | undefined;
|
@@ -677,7 +685,9 @@ export declare const VDatePicker: {
|
|
677
685
|
hideHeader: BooleanConstructor;
|
678
686
|
max: import("vue").PropType<unknown>;
|
679
687
|
min: import("vue").PropType<unknown>;
|
688
|
+
allowedYears: import("vue").PropType<number[] | ((date: number) => boolean)>;
|
680
689
|
year: NumberConstructor;
|
690
|
+
allowedMonths: import("vue").PropType<number[] | ((date: number) => boolean)>;
|
681
691
|
disabled: {
|
682
692
|
type: BooleanConstructor;
|
683
693
|
default: null;
|
@@ -700,7 +710,6 @@ export declare const VDatePicker: {
|
|
700
710
|
default: undefined;
|
701
711
|
};
|
702
712
|
allowedDates: import("vue").PropType<unknown[] | ((date: unknown) => boolean)>;
|
703
|
-
weekdayFormat: import("vue").PropType<"long" | "short" | "narrow" | undefined>;
|
704
713
|
hideWeekdays: BooleanConstructor;
|
705
714
|
multiple: import("vue").PropType<boolean | "range" | number | (string & {})>;
|
706
715
|
showWeek: BooleanConstructor;
|
@@ -783,7 +792,9 @@ export declare const VDatePicker: {
|
|
783
792
|
hideHeader: BooleanConstructor;
|
784
793
|
max: import("vue").PropType<unknown>;
|
785
794
|
min: import("vue").PropType<unknown>;
|
795
|
+
allowedYears: import("vue").PropType<number[] | ((date: number) => boolean)>;
|
786
796
|
year: NumberConstructor;
|
797
|
+
allowedMonths: import("vue").PropType<number[] | ((date: number) => boolean)>;
|
787
798
|
disabled: {
|
788
799
|
type: BooleanConstructor;
|
789
800
|
default: null;
|
@@ -806,7 +817,6 @@ export declare const VDatePicker: {
|
|
806
817
|
default: undefined;
|
807
818
|
};
|
808
819
|
allowedDates: import("vue").PropType<unknown[] | ((date: unknown) => boolean)>;
|
809
|
-
weekdayFormat: import("vue").PropType<"long" | "short" | "narrow" | undefined>;
|
810
820
|
hideWeekdays: BooleanConstructor;
|
811
821
|
multiple: import("vue").PropType<boolean | "range" | number | (string & {})>;
|
812
822
|
showWeek: BooleanConstructor;
|
@@ -141,6 +141,41 @@ export const VDatePicker = genericComponent()({
|
|
141
141
|
}
|
142
142
|
return targets;
|
143
143
|
});
|
144
|
+
function isAllowedInRange(start, end) {
|
145
|
+
const allowedDates = props.allowedDates;
|
146
|
+
if (typeof allowedDates !== 'function') return true;
|
147
|
+
const days = adapter.getDiff(end, start, 'days');
|
148
|
+
for (let i = 0; i < days; i++) {
|
149
|
+
if (allowedDates(adapter.addDays(start, i))) return true;
|
150
|
+
}
|
151
|
+
return false;
|
152
|
+
}
|
153
|
+
function allowedYears(year) {
|
154
|
+
if (typeof props.allowedDates === 'function') {
|
155
|
+
const startOfYear = adapter.parseISO(`${year}-01-01`);
|
156
|
+
return isAllowedInRange(startOfYear, adapter.endOfYear(startOfYear));
|
157
|
+
}
|
158
|
+
if (Array.isArray(props.allowedDates) && props.allowedDates.length) {
|
159
|
+
for (const date of props.allowedDates) {
|
160
|
+
if (adapter.getYear(adapter.date(date)) === year) return true;
|
161
|
+
}
|
162
|
+
return false;
|
163
|
+
}
|
164
|
+
return true;
|
165
|
+
}
|
166
|
+
function allowedMonths(month) {
|
167
|
+
if (typeof props.allowedDates === 'function') {
|
168
|
+
const startOfMonth = adapter.parseISO(`${year.value}-${month + 1}-01`);
|
169
|
+
return isAllowedInRange(startOfMonth, adapter.endOfMonth(startOfMonth));
|
170
|
+
}
|
171
|
+
if (Array.isArray(props.allowedDates) && props.allowedDates.length) {
|
172
|
+
for (const date of props.allowedDates) {
|
173
|
+
if (adapter.getYear(adapter.date(date)) === year.value && adapter.getMonth(adapter.date(date)) === month) return true;
|
174
|
+
}
|
175
|
+
return false;
|
176
|
+
}
|
177
|
+
return true;
|
178
|
+
}
|
144
179
|
|
145
180
|
// function onClickAppend () {
|
146
181
|
// inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'
|
@@ -256,14 +291,16 @@ export const VDatePicker = genericComponent()({
|
|
256
291
|
"onUpdate:modelValue": [$event => month.value = $event, onUpdateMonth],
|
257
292
|
"min": minDate.value,
|
258
293
|
"max": maxDate.value,
|
259
|
-
"year": year.value
|
294
|
+
"year": year.value,
|
295
|
+
"allowedMonths": allowedMonths
|
260
296
|
}), null) : viewMode.value === 'year' ? _createVNode(VDatePickerYears, _mergeProps({
|
261
297
|
"key": "date-picker-years"
|
262
298
|
}, datePickerYearsProps, {
|
263
299
|
"modelValue": year.value,
|
264
300
|
"onUpdate:modelValue": [$event => year.value = $event, onUpdateYear],
|
265
301
|
"min": minDate.value,
|
266
|
-
"max": maxDate.value
|
302
|
+
"max": maxDate.value,
|
303
|
+
"allowedYears": allowedYears
|
267
304
|
}), null) : _createVNode(VDatePickerMonth, _mergeProps({
|
268
305
|
"key": "date-picker-month"
|
269
306
|
}, datePickerMonthProps, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDatePicker.js","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useRtl","useProxiedModel","computed","ref","shallowRef","toRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDatePickerProps","header","type","String","default","headerColor","weeksInMonth","title","modelValue","VDatePicker","name","props","emits","date","setup","_ref","emit","slots","adapter","t","rtlClasses","model","undefined","v","map","i","multiple","viewMode","minDate","min","isValid","maxDate","max","internal","today","value","isBefore","isAfter","color","month","Number","getMonth","startOfMonth","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","disabled","targets","push","_date","addDays","endOfMonth","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","arrBefore","arrAfter","before","after","newMonth","newYear","pickerProps","filterProps","datePickerControlsProps","datePickerHeaderProps","datePickerMonthProps","datePickerMonthsProps","datePickerYearsProps","headerProps","transition","_createVNode","_mergeProps","showWeek","class","style","_createElementVNode","_Fragment","$event","actions"],"sources":["../../../src/components/VDatePicker/VDatePicker.tsx"],"sourcesContent":["// Styles\nimport './VDatePicker.sass'\n\n// Components\nimport { makeVDatePickerControlsProps, VDatePickerControls } from './VDatePickerControls'\nimport { VDatePickerHeader } from './VDatePickerHeader'\nimport { makeVDatePickerMonthProps, VDatePickerMonth } from './VDatePickerMonth'\nimport { makeVDatePickerMonthsProps, VDatePickerMonths } from './VDatePickerMonths'\nimport { makeVDatePickerYearsProps, VDatePickerYears } from './VDatePickerYears'\nimport { VFadeTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVPickerProps, VPicker } from '@/labs/VPicker/VPicker'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VPickerSlots } from '@/labs/VPicker/VPicker'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDatePickerSlots = Omit<VPickerSlots, 'header'> & {\n header: {\n header: string\n transition: string\n }\n}\n\nexport const makeVDatePickerProps = propsFactory({\n // TODO: implement in v3.5\n // calendarIcon: {\n // type: String,\n // default: '$calendar',\n // },\n // keyboardIcon: {\n // type: String,\n // default: '$edit',\n // },\n // inputMode: {\n // type: String as PropType<'calendar' | 'keyboard'>,\n // default: 'calendar',\n // },\n // inputText: {\n // type: String,\n // default: '$vuetify.datePicker.input.placeholder',\n // },\n // inputPlaceholder: {\n // type: String,\n // default: 'dd/mm/yyyy',\n // },\n header: {\n type: String,\n default: '$vuetify.datePicker.header',\n },\n headerColor: String,\n\n ...makeVDatePickerControlsProps(),\n ...makeVDatePickerMonthProps({\n weeksInMonth: 'static' as const,\n }),\n ...omit(makeVDatePickerMonthsProps(), ['modelValue']),\n ...omit(makeVDatePickerYearsProps(), ['modelValue']),\n ...makeVPickerProps({ title: '$vuetify.datePicker.title' }),\n\n modelValue: null,\n}, 'VDatePicker')\n\nexport const VDatePicker = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDatePickerSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDatePicker',\n\n props: makeVDatePickerProps(),\n\n emits: {\n 'update:modelValue': (date: any) => true,\n 'update:month': (date: any) => true,\n 'update:year': (date: any) => true,\n // 'update:inputMode': (date: any) => true,\n 'update:viewMode': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { t } = useLocale()\n const { rtlClasses } = useRtl()\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => wrapInArray(v).map(i => adapter.date(i)),\n v => props.multiple ? v : v[0],\n )\n\n const viewMode = useProxiedModel(props, 'viewMode')\n // const inputMode = useProxiedModel(props, 'inputMode')\n\n const minDate = computed(() => {\n const date = adapter.date(props.min)\n\n return props.min && adapter.isValid(date) ? date : null\n })\n const maxDate = computed(() => {\n const date = adapter.date(props.max)\n\n return props.max && adapter.isValid(date) ? date : null\n })\n\n const internal = computed(() => {\n const today = adapter.date()\n let value = today\n if (model.value?.[0]) {\n value = adapter.date(model.value[0])\n } else if (minDate.value && adapter.isBefore(today, minDate.value)) {\n value = minDate.value\n } else if (maxDate.value && adapter.isAfter(today, maxDate.value)) {\n value = maxDate.value\n }\n\n return value && adapter.isValid(value) ? value : today\n })\n const headerColor = toRef(() => props.headerColor ?? props.color)\n\n const month = ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))))\n const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))))\n\n const isReversing = shallowRef(false)\n const header = computed(() => {\n if (props.multiple && model.value.length > 1) {\n return t('$vuetify.datePicker.itemsSelected', model.value.length)\n }\n\n return (model.value[0] && adapter.isValid(model.value[0]))\n ? adapter.format(adapter.date(model.value[0]), 'normalDateWithWeekday')\n : t(props.header)\n })\n const text = computed(() => {\n let date = adapter.date()\n\n date = adapter.setDate(date, 1)\n date = adapter.setMonth(date, month.value)\n date = adapter.setYear(date, year.value)\n\n return adapter.format(date, 'monthAndYear')\n })\n // const headerIcon = toRef(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)\n const headerTransition = toRef(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`)\n\n const disabled = computed(() => {\n if (props.disabled) return true\n\n const targets = []\n\n if (viewMode.value !== 'month') {\n targets.push(...['prev', 'next'])\n } else {\n let _date = adapter.date()\n\n _date = adapter.startOfMonth(_date)\n _date = adapter.setMonth(_date, month.value)\n _date = adapter.setYear(_date, year.value)\n\n if (minDate.value) {\n const date = adapter.addDays(adapter.startOfMonth(_date), -1)\n\n adapter.isAfter(minDate.value, date) && targets.push('prev')\n }\n\n if (maxDate.value) {\n const date = adapter.addDays(adapter.endOfMonth(_date), 1)\n\n adapter.isAfter(date, maxDate.value) && targets.push('next')\n }\n }\n\n return targets\n })\n\n // function onClickAppend () {\n // inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'\n // }\n\n function onClickNext () {\n if (month.value < 11) {\n month.value++\n } else {\n year.value++\n month.value = 0\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickPrev () {\n if (month.value > 0) {\n month.value--\n } else {\n year.value--\n month.value = 11\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickDate () {\n viewMode.value = 'month'\n }\n\n function onClickMonth () {\n viewMode.value = viewMode.value === 'months' ? 'month' : 'months'\n }\n\n function onClickYear () {\n viewMode.value = viewMode.value === 'year' ? 'month' : 'year'\n }\n\n function onUpdateMonth (value: number) {\n if (viewMode.value === 'months') onClickMonth()\n\n emit('update:month', value)\n }\n\n function onUpdateYear (value: number) {\n if (viewMode.value === 'year') onClickYear()\n\n emit('update:year', value)\n }\n\n watch(model, (val, oldVal) => {\n const arrBefore = wrapInArray(oldVal)\n const arrAfter = wrapInArray(val)\n\n if (!arrAfter.length) return\n\n const before = adapter.date(arrBefore[arrBefore.length - 1])\n const after = adapter.date(arrAfter[arrAfter.length - 1])\n const newMonth = adapter.getMonth(after)\n const newYear = adapter.getYear(after)\n\n if (newMonth !== month.value) {\n month.value = newMonth\n onUpdateMonth(month.value)\n }\n\n if (newYear !== year.value) {\n year.value = newYear\n onUpdateYear(year.value)\n }\n\n isReversing.value = adapter.isBefore(before, after)\n })\n\n useRender(() => {\n const pickerProps = VPicker.filterProps(props)\n const datePickerControlsProps = VDatePickerControls.filterProps(props)\n const datePickerHeaderProps = VDatePickerHeader.filterProps(props)\n const datePickerMonthProps = VDatePickerMonth.filterProps(props)\n const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue'])\n const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue'])\n\n const headerProps = {\n color: headerColor.value,\n header: header.value,\n transition: headerTransition.value,\n }\n\n return (\n <VPicker\n { ...pickerProps }\n color={ headerColor.value }\n class={[\n 'v-date-picker',\n `v-date-picker--${viewMode.value}`,\n {\n 'v-date-picker--show-week': props.showWeek,\n },\n rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-slots={{\n title: () => slots.title?.() ?? (\n <div class=\"v-date-picker__title\">\n { t(props.title) }\n </div>\n ),\n header: () => slots.header ? (\n <VDefaultsProvider\n defaults={{\n VDatePickerHeader: { ...headerProps },\n }}\n >\n { slots.header?.(headerProps) }\n </VDefaultsProvider>\n ) : (\n <VDatePickerHeader\n key=\"header\"\n { ...datePickerHeaderProps }\n { ...headerProps }\n onClick={ viewMode.value !== 'month' ? onClickDate : undefined }\n v-slots={{\n ...slots,\n default: undefined,\n }}\n />\n ),\n default: () => (\n <>\n <VDatePickerControls\n { ...datePickerControlsProps }\n disabled={ disabled.value }\n text={ text.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:month={ onClickMonth }\n onClick:year={ onClickYear }\n />\n\n <VFadeTransition hideOnLeave>\n { viewMode.value === 'months' ? (\n <VDatePickerMonths\n key=\"date-picker-months\"\n { ...datePickerMonthsProps }\n v-model={ month.value }\n onUpdate:modelValue={ onUpdateMonth }\n min={ minDate.value }\n max={ maxDate.value }\n year={ year.value }\n />\n ) : viewMode.value === 'year' ? (\n <VDatePickerYears\n key=\"date-picker-years\"\n { ...datePickerYearsProps }\n v-model={ year.value }\n onUpdate:modelValue={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n />\n ) : (\n <VDatePickerMonth\n key=\"date-picker-month\"\n { ...datePickerMonthProps }\n v-model={ model.value }\n v-model:month={ month.value }\n v-model:year={ year.value }\n onUpdate:month={ onUpdateMonth }\n onUpdate:year={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n />\n )}\n </VFadeTransition>\n </>\n ),\n actions: slots.actions,\n }}\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePicker = InstanceType<typeof VDatePicker>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VDatePicker.js","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useRtl","useProxiedModel","computed","ref","shallowRef","toRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDatePickerProps","header","type","String","default","headerColor","weeksInMonth","title","modelValue","VDatePicker","name","props","emits","date","setup","_ref","emit","slots","adapter","t","rtlClasses","model","undefined","v","map","i","multiple","viewMode","minDate","min","isValid","maxDate","max","internal","today","value","isBefore","isAfter","color","month","Number","getMonth","startOfMonth","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","disabled","targets","push","_date","addDays","endOfMonth","isAllowedInRange","start","end","allowedDates","days","getDiff","allowedYears","parseISO","endOfYear","Array","isArray","allowedMonths","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","arrBefore","arrAfter","before","after","newMonth","newYear","pickerProps","filterProps","datePickerControlsProps","datePickerHeaderProps","datePickerMonthProps","datePickerMonthsProps","datePickerYearsProps","headerProps","transition","_createVNode","_mergeProps","showWeek","class","style","_createElementVNode","_Fragment","$event","actions"],"sources":["../../../src/components/VDatePicker/VDatePicker.tsx"],"sourcesContent":["// Styles\nimport './VDatePicker.sass'\n\n// Components\nimport { makeVDatePickerControlsProps, VDatePickerControls } from './VDatePickerControls'\nimport { VDatePickerHeader } from './VDatePickerHeader'\nimport { makeVDatePickerMonthProps, VDatePickerMonth } from './VDatePickerMonth'\nimport { makeVDatePickerMonthsProps, VDatePickerMonths } from './VDatePickerMonths'\nimport { makeVDatePickerYearsProps, VDatePickerYears } from './VDatePickerYears'\nimport { VFadeTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVPickerProps, VPicker } from '@/labs/VPicker/VPicker'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VPickerSlots } from '@/labs/VPicker/VPicker'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDatePickerSlots = Omit<VPickerSlots, 'header'> & {\n header: {\n header: string\n transition: string\n }\n}\n\nexport const makeVDatePickerProps = propsFactory({\n // TODO: implement in v3.5\n // calendarIcon: {\n // type: String,\n // default: '$calendar',\n // },\n // keyboardIcon: {\n // type: String,\n // default: '$edit',\n // },\n // inputMode: {\n // type: String as PropType<'calendar' | 'keyboard'>,\n // default: 'calendar',\n // },\n // inputText: {\n // type: String,\n // default: '$vuetify.datePicker.input.placeholder',\n // },\n // inputPlaceholder: {\n // type: String,\n // default: 'dd/mm/yyyy',\n // },\n header: {\n type: String,\n default: '$vuetify.datePicker.header',\n },\n headerColor: String,\n\n ...makeVDatePickerControlsProps(),\n ...makeVDatePickerMonthProps({\n weeksInMonth: 'static' as const,\n }),\n ...omit(makeVDatePickerMonthsProps(), ['modelValue']),\n ...omit(makeVDatePickerYearsProps(), ['modelValue']),\n ...makeVPickerProps({ title: '$vuetify.datePicker.title' }),\n\n modelValue: null,\n}, 'VDatePicker')\n\nexport const VDatePicker = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDatePickerSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDatePicker',\n\n props: makeVDatePickerProps(),\n\n emits: {\n 'update:modelValue': (date: any) => true,\n 'update:month': (date: any) => true,\n 'update:year': (date: any) => true,\n // 'update:inputMode': (date: any) => true,\n 'update:viewMode': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { t } = useLocale()\n const { rtlClasses } = useRtl()\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => wrapInArray(v).map(i => adapter.date(i)),\n v => props.multiple ? v : v[0],\n )\n\n const viewMode = useProxiedModel(props, 'viewMode')\n // const inputMode = useProxiedModel(props, 'inputMode')\n\n const minDate = computed(() => {\n const date = adapter.date(props.min)\n\n return props.min && adapter.isValid(date) ? date : null\n })\n const maxDate = computed(() => {\n const date = adapter.date(props.max)\n\n return props.max && adapter.isValid(date) ? date : null\n })\n\n const internal = computed(() => {\n const today = adapter.date()\n let value = today\n if (model.value?.[0]) {\n value = adapter.date(model.value[0])\n } else if (minDate.value && adapter.isBefore(today, minDate.value)) {\n value = minDate.value\n } else if (maxDate.value && adapter.isAfter(today, maxDate.value)) {\n value = maxDate.value\n }\n\n return value && adapter.isValid(value) ? value : today\n })\n const headerColor = toRef(() => props.headerColor ?? props.color)\n\n const month = ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))))\n const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))))\n\n const isReversing = shallowRef(false)\n const header = computed(() => {\n if (props.multiple && model.value.length > 1) {\n return t('$vuetify.datePicker.itemsSelected', model.value.length)\n }\n\n return (model.value[0] && adapter.isValid(model.value[0]))\n ? adapter.format(adapter.date(model.value[0]), 'normalDateWithWeekday')\n : t(props.header)\n })\n const text = computed(() => {\n let date = adapter.date()\n\n date = adapter.setDate(date, 1)\n date = adapter.setMonth(date, month.value)\n date = adapter.setYear(date, year.value)\n\n return adapter.format(date, 'monthAndYear')\n })\n // const headerIcon = toRef(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)\n const headerTransition = toRef(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`)\n\n const disabled = computed(() => {\n if (props.disabled) return true\n\n const targets = []\n\n if (viewMode.value !== 'month') {\n targets.push(...['prev', 'next'])\n } else {\n let _date = adapter.date()\n\n _date = adapter.startOfMonth(_date)\n _date = adapter.setMonth(_date, month.value)\n _date = adapter.setYear(_date, year.value)\n\n if (minDate.value) {\n const date = adapter.addDays(adapter.startOfMonth(_date), -1)\n\n adapter.isAfter(minDate.value, date) && targets.push('prev')\n }\n\n if (maxDate.value) {\n const date = adapter.addDays(adapter.endOfMonth(_date), 1)\n\n adapter.isAfter(date, maxDate.value) && targets.push('next')\n }\n }\n\n return targets\n })\n\n function isAllowedInRange (start: unknown, end: unknown) {\n const allowedDates = props.allowedDates\n if (typeof allowedDates !== 'function') return true\n const days = adapter.getDiff(end, start, 'days')\n for (let i = 0; i < days; i++) {\n if (allowedDates(adapter.addDays(start, i))) return true\n }\n return false\n }\n\n function allowedYears (year: number) {\n if (typeof props.allowedDates === 'function') {\n const startOfYear = adapter.parseISO(`${year}-01-01`)\n return isAllowedInRange(startOfYear, adapter.endOfYear(startOfYear))\n }\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length) {\n for (const date of props.allowedDates) {\n if (adapter.getYear(adapter.date(date)) === year) return true\n }\n return false\n }\n\n return true\n }\n\n function allowedMonths (month: number) {\n if (typeof props.allowedDates === 'function') {\n const startOfMonth = adapter.parseISO(`${year.value}-${month + 1}-01`)\n return isAllowedInRange(startOfMonth, adapter.endOfMonth(startOfMonth))\n }\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length) {\n for (const date of props.allowedDates) {\n if (\n adapter.getYear(adapter.date(date)) === year.value &&\n adapter.getMonth(adapter.date(date)) === month\n ) return true\n }\n return false\n }\n\n return true\n }\n\n // function onClickAppend () {\n // inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'\n // }\n\n function onClickNext () {\n if (month.value < 11) {\n month.value++\n } else {\n year.value++\n month.value = 0\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickPrev () {\n if (month.value > 0) {\n month.value--\n } else {\n year.value--\n month.value = 11\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickDate () {\n viewMode.value = 'month'\n }\n\n function onClickMonth () {\n viewMode.value = viewMode.value === 'months' ? 'month' : 'months'\n }\n\n function onClickYear () {\n viewMode.value = viewMode.value === 'year' ? 'month' : 'year'\n }\n\n function onUpdateMonth (value: number) {\n if (viewMode.value === 'months') onClickMonth()\n\n emit('update:month', value)\n }\n\n function onUpdateYear (value: number) {\n if (viewMode.value === 'year') onClickYear()\n\n emit('update:year', value)\n }\n\n watch(model, (val, oldVal) => {\n const arrBefore = wrapInArray(oldVal)\n const arrAfter = wrapInArray(val)\n\n if (!arrAfter.length) return\n\n const before = adapter.date(arrBefore[arrBefore.length - 1])\n const after = adapter.date(arrAfter[arrAfter.length - 1])\n const newMonth = adapter.getMonth(after)\n const newYear = adapter.getYear(after)\n\n if (newMonth !== month.value) {\n month.value = newMonth\n onUpdateMonth(month.value)\n }\n\n if (newYear !== year.value) {\n year.value = newYear\n onUpdateYear(year.value)\n }\n\n isReversing.value = adapter.isBefore(before, after)\n })\n\n useRender(() => {\n const pickerProps = VPicker.filterProps(props)\n const datePickerControlsProps = VDatePickerControls.filterProps(props)\n const datePickerHeaderProps = VDatePickerHeader.filterProps(props)\n const datePickerMonthProps = VDatePickerMonth.filterProps(props)\n const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue'])\n const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue'])\n\n const headerProps = {\n color: headerColor.value,\n header: header.value,\n transition: headerTransition.value,\n }\n\n return (\n <VPicker\n { ...pickerProps }\n color={ headerColor.value }\n class={[\n 'v-date-picker',\n `v-date-picker--${viewMode.value}`,\n {\n 'v-date-picker--show-week': props.showWeek,\n },\n rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-slots={{\n title: () => slots.title?.() ?? (\n <div class=\"v-date-picker__title\">\n { t(props.title) }\n </div>\n ),\n header: () => slots.header ? (\n <VDefaultsProvider\n defaults={{\n VDatePickerHeader: { ...headerProps },\n }}\n >\n { slots.header?.(headerProps) }\n </VDefaultsProvider>\n ) : (\n <VDatePickerHeader\n key=\"header\"\n { ...datePickerHeaderProps }\n { ...headerProps }\n onClick={ viewMode.value !== 'month' ? onClickDate : undefined }\n v-slots={{\n ...slots,\n default: undefined,\n }}\n />\n ),\n default: () => (\n <>\n <VDatePickerControls\n { ...datePickerControlsProps }\n disabled={ disabled.value }\n text={ text.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:month={ onClickMonth }\n onClick:year={ onClickYear }\n />\n\n <VFadeTransition hideOnLeave>\n { viewMode.value === 'months' ? (\n <VDatePickerMonths\n key=\"date-picker-months\"\n { ...datePickerMonthsProps }\n v-model={ month.value }\n min={ minDate.value }\n max={ maxDate.value }\n year={ year.value }\n allowedMonths={ allowedMonths }\n onUpdate:modelValue={ onUpdateMonth }\n />\n ) : viewMode.value === 'year' ? (\n <VDatePickerYears\n key=\"date-picker-years\"\n { ...datePickerYearsProps }\n v-model={ year.value }\n min={ minDate.value }\n max={ maxDate.value }\n allowedYears={ allowedYears }\n onUpdate:modelValue={ onUpdateYear }\n />\n ) : (\n <VDatePickerMonth\n key=\"date-picker-month\"\n { ...datePickerMonthProps }\n v-model={ model.value }\n v-model:month={ month.value }\n v-model:year={ year.value }\n onUpdate:month={ onUpdateMonth }\n onUpdate:year={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n />\n )}\n </VFadeTransition>\n </>\n ),\n actions: slots.actions,\n }}\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePicker = InstanceType<typeof VDatePicker>\n"],"mappings":"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","ignoreList":[]}
|
@@ -20,7 +20,6 @@ export declare const makeVDatePickerMonthProps: <Defaults extends {
|
|
20
20
|
weeksInMonth?: unknown;
|
21
21
|
firstDayOfWeek?: unknown;
|
22
22
|
allowedDates?: unknown;
|
23
|
-
weekdayFormat?: unknown;
|
24
23
|
color?: unknown;
|
25
24
|
hideWeekdays?: unknown;
|
26
25
|
multiple?: unknown;
|
@@ -96,10 +95,6 @@ export declare const makeVDatePickerMonthProps: <Defaults extends {
|
|
96
95
|
type: PropType<unknown extends Defaults["allowedDates"] ? unknown[] | ((date: unknown) => boolean) : unknown[] | ((date: unknown) => boolean) | Defaults["allowedDates"]>;
|
97
96
|
default: unknown extends Defaults["allowedDates"] ? unknown[] | ((date: unknown) => boolean) : NonNullable<unknown[] | ((date: unknown) => boolean)> | Defaults["allowedDates"];
|
98
97
|
};
|
99
|
-
weekdayFormat: unknown extends Defaults["weekdayFormat"] ? PropType<"long" | "short" | "narrow" | undefined> : {
|
100
|
-
type: PropType<unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : "long" | "short" | "narrow" | Defaults["weekdayFormat"] | undefined>;
|
101
|
-
default: unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : NonNullable<"long" | "short" | "narrow" | undefined> | Defaults["weekdayFormat"];
|
102
|
-
};
|
103
98
|
color: unknown extends Defaults["color"] ? StringConstructor : {
|
104
99
|
type: PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
|
105
100
|
default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
|
@@ -157,7 +152,6 @@ export declare const VDatePickerMonth: {
|
|
157
152
|
modelValue?: unknown[] | undefined;
|
158
153
|
firstDayOfWeek?: string | number | undefined;
|
159
154
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
160
|
-
weekdayFormat?: "long" | "short" | "narrow" | undefined;
|
161
155
|
} & {
|
162
156
|
$children?: {} | import("vue").VNodeChild | {
|
163
157
|
day?: ((arg: {
|
@@ -237,7 +231,6 @@ export declare const VDatePickerMonth: {
|
|
237
231
|
modelValue?: unknown[] | undefined;
|
238
232
|
firstDayOfWeek?: string | number | undefined;
|
239
233
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
240
|
-
weekdayFormat?: "long" | "short" | "narrow" | undefined;
|
241
234
|
} & {
|
242
235
|
$children?: {} | import("vue").VNodeChild | {
|
243
236
|
day?: ((arg: {
|
@@ -302,7 +295,6 @@ export declare const VDatePickerMonth: {
|
|
302
295
|
modelValue?: unknown[] | undefined;
|
303
296
|
firstDayOfWeek?: string | number | undefined;
|
304
297
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
305
|
-
weekdayFormat?: "long" | "short" | "narrow" | undefined;
|
306
298
|
} & {
|
307
299
|
$children?: {} | import("vue").VNodeChild | {
|
308
300
|
day?: ((arg: {
|
@@ -380,7 +372,6 @@ export declare const VDatePickerMonth: {
|
|
380
372
|
default: undefined;
|
381
373
|
};
|
382
374
|
allowedDates: PropType<unknown[] | ((date: unknown) => boolean)>;
|
383
|
-
weekdayFormat: PropType<"long" | "short" | "narrow" | undefined>;
|
384
375
|
color: StringConstructor;
|
385
376
|
hideWeekdays: BooleanConstructor;
|
386
377
|
multiple: PropType<boolean | "range" | number | (string & {})>;
|
@@ -417,7 +408,6 @@ export declare const VDatePickerMonth: {
|
|
417
408
|
default: undefined;
|
418
409
|
};
|
419
410
|
allowedDates: PropType<unknown[] | ((date: unknown) => boolean)>;
|
420
|
-
weekdayFormat: PropType<"long" | "short" | "narrow" | undefined>;
|
421
411
|
color: StringConstructor;
|
422
412
|
hideWeekdays: BooleanConstructor;
|
423
413
|
multiple: PropType<boolean | "range" | number | (string & {})>;
|
@@ -136,7 +136,7 @@ export const VDatePickerMonth = genericComponent()({
|
|
136
136
|
"ref": daysRef,
|
137
137
|
"key": daysInMonth.value[0].date?.toString(),
|
138
138
|
"class": "v-date-picker-month__days"
|
139
|
-
}, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek
|
139
|
+
}, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => _createElementVNode("div", {
|
140
140
|
"class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
|
141
141
|
}, [weekDay])), daysInMonth.value.map((item, i) => {
|
142
142
|
const slotProps = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDatePickerMonth.js","names":["VBtn","makeCalendarProps","useCalendar","useDate","MaybeTransition","computed","ref","shallowRef","toRef","watch","genericComponent","omit","propsFactory","useRender","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","transition","type","default","reverseTransition","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","adapter","rangeStart","rangeStop","isReverse","value","length","atMax","max","includes","Infinity","val","oldVal","isBefore","onRangeClick","_value","startOfDay","undefined","isSameDay","endOfDay","diff","getDiff","datesInRange","i","nextDate","addDays","push","onMultipleClick","index","findIndex","selection","splice","onClick","_createElementVNode","_createTextVNode","map","week","_createVNode","toString","getWeekdays","firstDayOfWeek","weekdayFormat","weekDay","item","slotProps","class","isSelected","isToday","disabled","isDisabled","icon","ripple","text","localized","variant","_normalizeClass","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition',\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition',\n },\n\n ...omit(makeCalendarProps(), ['displayValue']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n const isReverse = shallowRef(false)\n\n const transition = toRef(() => {\n return !isReverse.value ? props.transition : props.reverseTransition\n })\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return\n\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date)\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (model.value.length === 0) {\n rangeStart.value = undefined\n } else if (model.value.length === 1) {\n rangeStart.value = model.value[0]\n rangeStop.value = undefined\n }\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n const diff = adapter.getDiff(rangeStop.value, rangeStart.value, 'days')\n const datesInRange = [rangeStart.value]\n\n for (let i = 1; i < diff; i++) {\n const nextDate = adapter.addDays(rangeStart.value, i)\n datesInRange.push(nextDate)\n }\n\n datesInRange.push(rangeStop.value)\n\n model.value = datesInRange\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n useRender(() => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\"> </div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <MaybeTransition name={ transition.value }>\n <div\n ref={ daysRef }\n key={ daysInMonth.value[0].date?.toString() }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat).map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n class: 'v-date-picker-month__day-btn',\n color: item.isSelected || item.isToday ? props.color : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isSelected ? 'flat' : item.isToday ? 'outlined' : 'text',\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n slots.day?.(slotProps) ?? (<VBtn { ...slotProps.props } />)\n )}\n </div>\n )\n })}\n </div>\n </MaybeTransition>\n </div>\n ))\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VDatePickerMonth.js","names":["VBtn","makeCalendarProps","useCalendar","useDate","MaybeTransition","computed","ref","shallowRef","toRef","watch","genericComponent","omit","propsFactory","useRender","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","transition","type","default","reverseTransition","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","adapter","rangeStart","rangeStop","isReverse","value","length","atMax","max","includes","Infinity","val","oldVal","isBefore","onRangeClick","_value","startOfDay","undefined","isSameDay","endOfDay","diff","getDiff","datesInRange","i","nextDate","addDays","push","onMultipleClick","index","findIndex","selection","splice","onClick","_createElementVNode","_createTextVNode","map","week","_createVNode","toString","getWeekdays","firstDayOfWeek","weekDay","item","slotProps","class","isSelected","isToday","disabled","isDisabled","icon","ripple","text","localized","variant","_normalizeClass","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition',\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition',\n },\n\n ...omit(makeCalendarProps(), ['displayValue']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n const isReverse = shallowRef(false)\n\n const transition = toRef(() => {\n return !isReverse.value ? props.transition : props.reverseTransition\n })\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return\n\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date)\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (model.value.length === 0) {\n rangeStart.value = undefined\n } else if (model.value.length === 1) {\n rangeStart.value = model.value[0]\n rangeStop.value = undefined\n }\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n const diff = adapter.getDiff(rangeStop.value, rangeStart.value, 'days')\n const datesInRange = [rangeStart.value]\n\n for (let i = 1; i < diff; i++) {\n const nextDate = adapter.addDays(rangeStart.value, i)\n datesInRange.push(nextDate)\n }\n\n datesInRange.push(rangeStop.value)\n\n model.value = datesInRange\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n useRender(() => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\"> </div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <MaybeTransition name={ transition.value }>\n <div\n ref={ daysRef }\n key={ daysInMonth.value[0].date?.toString() }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n class: 'v-date-picker-month__day-btn',\n color: item.isSelected || item.isToday ? props.color : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isSelected ? 'flat' : item.isToday ? 'outlined' : 'text',\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n slots.day?.(slotProps) ?? (<VBtn { ...slotProps.props } />)\n )}\n </div>\n )\n })}\n </div>\n </MaybeTransition>\n </div>\n ))\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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","ignoreList":[]}
|