@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.
Files changed (125) hide show
  1. package/CHANGELOG.md +5 -24
  2. package/dist/json/attributes.json +3311 -3363
  3. package/dist/json/importMap-labs.json +20 -20
  4. package/dist/json/importMap.json +206 -206
  5. package/dist/json/tags.json +6 -19
  6. package/dist/json/web-types.json +6080 -6298
  7. package/dist/vuetify-labs.cjs +204 -321
  8. package/dist/vuetify-labs.css +5998 -6026
  9. package/dist/vuetify-labs.d.ts +1384 -1583
  10. package/dist/vuetify-labs.esm.js +205 -322
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +204 -321
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +193 -315
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +4658 -4686
  17. package/dist/vuetify.d.ts +541 -742
  18. package/dist/vuetify.esm.js +194 -316
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +193 -315
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +1198 -1197
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAlert/VAlert.css +1 -6
  26. package/lib/components/VAlert/VAlert.d.ts +0 -35
  27. package/lib/components/VAlert/VAlert.js +10 -15
  28. package/lib/components/VAlert/VAlert.js.map +1 -1
  29. package/lib/components/VAlert/VAlert.sass +1 -7
  30. package/lib/components/VAutocomplete/VAutocomplete.d.ts +96 -133
  31. package/lib/components/VAutocomplete/VAutocomplete.js +2 -19
  32. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  33. package/lib/components/VBtnGroup/VBtnGroup.css +7 -30
  34. package/lib/components/VBtnGroup/VBtnGroup.d.ts +32 -58
  35. package/lib/components/VBtnGroup/VBtnGroup.js +3 -7
  36. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  37. package/lib/components/VBtnGroup/VBtnGroup.sass +17 -44
  38. package/lib/components/VBtnToggle/VBtnToggle.d.ts +0 -25
  39. package/lib/components/VCheckbox/VCheckbox.d.ts +3 -3
  40. package/lib/components/VChipGroup/VChipGroup.d.ts +0 -10
  41. package/lib/components/VCombobox/VCombobox.d.ts +96 -133
  42. package/lib/components/VCombobox/VCombobox.js +2 -20
  43. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  44. package/lib/components/VDataTable/VDataTable.d.ts +0 -18
  45. package/lib/components/VDataTable/VDataTableHeaders.d.ts +0 -13
  46. package/lib/components/VDataTable/VDataTableHeaders.js +2 -4
  47. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  48. package/lib/components/VDataTable/VDataTableServer.d.ts +0 -13
  49. package/lib/components/VDataTable/VDataTableVirtual.d.ts +0 -13
  50. package/lib/components/VDatePicker/VDatePicker.d.ts +20 -10
  51. package/lib/components/VDatePicker/VDatePicker.js +39 -2
  52. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  53. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +0 -10
  54. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
  55. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  56. package/lib/components/VDatePicker/VDatePickerMonths.d.ts +10 -0
  57. package/lib/components/VDatePicker/VDatePickerMonths.js +12 -2
  58. package/lib/components/VDatePicker/VDatePickerMonths.js.map +1 -1
  59. package/lib/components/VDatePicker/VDatePickerYears.d.ts +10 -0
  60. package/lib/components/VDatePicker/VDatePickerYears.js +14 -2
  61. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  62. package/lib/components/VField/VField.d.ts +3 -3
  63. package/lib/components/VFileInput/VFileInput.d.ts +15 -15
  64. package/lib/components/VInput/VInput.d.ts +4 -4
  65. package/lib/components/VList/VListChildren.js.map +1 -1
  66. package/lib/components/VNumberInput/VNumberInput.d.ts +89 -103
  67. package/lib/components/VNumberInput/VNumberInput.js +15 -29
  68. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  69. package/lib/components/VOtpInput/VOtpInput.js +1 -2
  70. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  71. package/lib/components/VOverlay/VOverlay.css +1 -1
  72. package/lib/components/VOverlay/_variables.scss +1 -1
  73. package/lib/components/VRadioGroup/VRadioGroup.d.ts +3 -3
  74. package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
  75. package/lib/components/VSelect/VSelect.d.ts +96 -138
  76. package/lib/components/VSelect/VSelect.js +3 -21
  77. package/lib/components/VSelect/VSelect.js.map +1 -1
  78. package/lib/components/VSlideGroup/VSlideGroup.d.ts +0 -10
  79. package/lib/components/VSlideGroup/VSlideGroup.js +1 -2
  80. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  81. package/lib/components/VSlider/VSlider.d.ts +3 -3
  82. package/lib/components/VSwitch/VSwitch.d.ts +3 -3
  83. package/lib/components/VTabs/VTabs.d.ts +0 -10
  84. package/lib/components/VTextField/VTextField.d.ts +27 -27
  85. package/lib/components/VTextarea/VTextarea.d.ts +15 -15
  86. package/lib/composables/calendar.d.ts +0 -6
  87. package/lib/composables/calendar.js +1 -2
  88. package/lib/composables/calendar.js.map +1 -1
  89. package/lib/composables/date/DateAdapter.d.ts +1 -1
  90. package/lib/composables/date/DateAdapter.js.map +1 -1
  91. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  92. package/lib/composables/date/adapters/vuetify.js +4 -4
  93. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  94. package/lib/composables/date/date.d.ts +1 -1
  95. package/lib/composables/date/index.d.ts +0 -1
  96. package/lib/composables/date/index.js +0 -1
  97. package/lib/composables/date/index.js.map +1 -1
  98. package/lib/composables/filter.js +0 -3
  99. package/lib/composables/filter.js.map +1 -1
  100. package/lib/composables/theme.d.ts +1 -6
  101. package/lib/composables/theme.js +26 -94
  102. package/lib/composables/theme.js.map +1 -1
  103. package/lib/composables/virtual.js +1 -6
  104. package/lib/composables/virtual.js.map +1 -1
  105. package/lib/entry-bundler.d.ts +1 -1
  106. package/lib/entry-bundler.js +1 -1
  107. package/lib/entry-bundler.js.map +1 -1
  108. package/lib/framework.d.ts +71 -76
  109. package/lib/framework.js +1 -1
  110. package/lib/framework.js.map +1 -1
  111. package/lib/labs/VCalendar/VCalendar.d.ts +0 -10
  112. package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
  113. package/lib/labs/VDateInput/VDateInput.d.ts +107 -97
  114. package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
  115. package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
  116. package/lib/labs/VIconBtn/VIconBtn.js +11 -7
  117. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  118. package/lib/labs/entry-bundler.d.ts +1 -1
  119. package/lib/util/globals.d.ts +0 -1
  120. package/lib/util/globals.js +0 -1
  121. package/lib/util/globals.js.map +1 -1
  122. package/package.json +1 -3
  123. package/lib/composables/iconSizes.d.ts +0 -28
  124. package/lib/composables/iconSizes.js +0 -23
  125. 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
- weekdayFormat?: "long" | "short" | "narrow" | undefined;
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
- weekdayFormat?: "long" | "short" | "narrow" | undefined;
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
- weekdayFormat?: "long" | "short" | "narrow" | undefined;
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, props.weekdayFormat).map(weekDay => _createElementVNode("div", {
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\">&nbsp;</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\">&nbsp;</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":[]}