@vuetify/nightly 3.8.0-beta.0-dev.2025-03-26 → 3.8.0-beta.0-dev.2025-03-31

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 (55) hide show
  1. package/CHANGELOG.md +7 -3
  2. package/dist/_component-variables-labs.sass +1 -0
  3. package/dist/json/attributes.json +3154 -3038
  4. package/dist/json/importMap-labs.json +24 -20
  5. package/dist/json/importMap.json +176 -176
  6. package/dist/json/tags.json +34 -0
  7. package/dist/json/web-types.json +5829 -5511
  8. package/dist/vuetify-labs.cjs +204 -13
  9. package/dist/vuetify-labs.css +4590 -4409
  10. package/dist/vuetify-labs.d.ts +527 -230
  11. package/dist/vuetify-labs.esm.js +204 -13
  12. package/dist/vuetify-labs.esm.js.map +1 -1
  13. package/dist/vuetify-labs.js +204 -13
  14. package/dist/vuetify-labs.min.css +2 -2
  15. package/dist/vuetify.cjs +31 -13
  16. package/dist/vuetify.cjs.map +1 -1
  17. package/dist/vuetify.css +2980 -2976
  18. package/dist/vuetify.d.ts +118 -143
  19. package/dist/vuetify.esm.js +31 -13
  20. package/dist/vuetify.esm.js.map +1 -1
  21. package/dist/vuetify.js +31 -13
  22. package/dist/vuetify.js.map +1 -1
  23. package/dist/vuetify.min.css +2 -2
  24. package/dist/vuetify.min.js +18 -17
  25. package/dist/vuetify.min.js.map +1 -1
  26. package/lib/components/VConfirmEdit/VConfirmEdit.d.ts +31 -6
  27. package/lib/components/VConfirmEdit/VConfirmEdit.js +17 -2
  28. package/lib/components/VConfirmEdit/VConfirmEdit.js.map +1 -1
  29. package/lib/components/VDatePicker/VDatePicker.d.ts +33 -78
  30. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +33 -78
  31. package/lib/composables/calendar.d.ts +12 -35
  32. package/lib/composables/calendar.js +11 -8
  33. package/lib/composables/calendar.js.map +1 -1
  34. package/lib/entry-bundler.js +1 -1
  35. package/lib/framework.d.ts +58 -57
  36. package/lib/framework.js +1 -1
  37. package/lib/labs/VCalendar/VCalendar.d.ts +33 -78
  38. package/lib/labs/VDateInput/VDateInput.d.ts +33 -78
  39. package/lib/labs/VDateInput/VDateInput.js +4 -0
  40. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  41. package/lib/labs/VIconBtn/VIconBtn.css +178 -0
  42. package/lib/labs/VIconBtn/VIconBtn.d.ts +608 -0
  43. package/lib/labs/VIconBtn/VIconBtn.js +184 -0
  44. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -0
  45. package/lib/labs/VIconBtn/VIconBtn.scss +110 -0
  46. package/lib/labs/VIconBtn/_variables.scss +36 -0
  47. package/lib/labs/VIconBtn/index.d.ts +1 -0
  48. package/lib/labs/VIconBtn/index.js +2 -0
  49. package/lib/labs/VIconBtn/index.js.map +1 -0
  50. package/lib/labs/components.d.ts +1 -0
  51. package/lib/labs/components.js +1 -0
  52. package/lib/labs/components.js.map +1 -1
  53. package/lib/styles/main.css +4 -0
  54. package/lib/styles/settings/_utilities.scss +5 -0
  55. package/package.json +1 -1
@@ -213,44 +213,14 @@ export declare const makeVCalendarProps: <Defaults extends {
213
213
  default: unknown extends Defaults["year"] ? string | number : NonNullable<string | number> | Defaults["year"];
214
214
  };
215
215
  weekdays: unknown extends Defaults["weekdays"] ? {
216
- type: {
217
- (arrayLength: number): number[];
218
- (...items: number[]): number[];
219
- new (arrayLength: number): number[];
220
- new (...items: number[]): number[];
221
- isArray(arg: any): arg is any[];
222
- readonly prototype: any[];
223
- from<T>(arrayLike: ArrayLike<T>): T[];
224
- from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
225
- from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
226
- from<T, U_1>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U_1, thisArg?: any): U_1[];
227
- of<T>(...items: T[]): T[];
228
- fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
229
- fromAsync<T, U_2>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>) => U_2, thisArg?: any): Promise<Awaited<U_2>[]>;
230
- readonly [Symbol.species]: ArrayConstructor;
231
- };
216
+ type: import("vue").PropType<import("../../composables/calendar.js").CalendarWeekdays[]>;
232
217
  default: () => number[];
233
218
  } : Omit<{
234
- type: {
235
- (arrayLength: number): number[];
236
- (...items: number[]): number[];
237
- new (arrayLength: number): number[];
238
- new (...items: number[]): number[];
239
- isArray(arg: any): arg is any[];
240
- readonly prototype: any[];
241
- from<T>(arrayLike: ArrayLike<T>): T[];
242
- from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
243
- from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
244
- from<T, U_1>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U_1, thisArg?: any): U_1[];
245
- of<T>(...items: T[]): T[];
246
- fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
247
- fromAsync<T, U_2>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>) => U_2, thisArg?: any): Promise<Awaited<U_2>[]>;
248
- readonly [Symbol.species]: ArrayConstructor;
249
- };
219
+ type: import("vue").PropType<import("../../composables/calendar.js").CalendarWeekdays[]>;
250
220
  default: () => number[];
251
221
  }, "type" | "default"> & {
252
- type: import("vue").PropType<unknown extends Defaults["weekdays"] ? number[] : number[] | Defaults["weekdays"]>;
253
- default: unknown extends Defaults["weekdays"] ? number[] : number[] | Defaults["weekdays"];
222
+ type: import("vue").PropType<unknown extends Defaults["weekdays"] ? import("../../composables/calendar.js").CalendarWeekdays[] : import("../../composables/calendar.js").CalendarWeekdays[] | Defaults["weekdays"]>;
223
+ default: unknown extends Defaults["weekdays"] ? import("../../composables/calendar.js").CalendarWeekdays[] : import("../../composables/calendar.js").CalendarWeekdays[] | Defaults["weekdays"];
254
224
  };
255
225
  weeksInMonth: unknown extends Defaults["weeksInMonth"] ? {
256
226
  type: import("vue").PropType<"dynamic" | "static">;
@@ -262,7 +232,13 @@ export declare const makeVCalendarProps: <Defaults extends {
262
232
  type: import("vue").PropType<unknown extends Defaults["weeksInMonth"] ? "static" | "dynamic" : "static" | "dynamic" | Defaults["weeksInMonth"]>;
263
233
  default: unknown extends Defaults["weeksInMonth"] ? "static" | "dynamic" : NonNullable<"static" | "dynamic"> | Defaults["weeksInMonth"];
264
234
  };
265
- firstDayOfWeek: unknown extends Defaults["firstDayOfWeek"] ? (StringConstructor | NumberConstructor)[] : {
235
+ firstDayOfWeek: unknown extends Defaults["firstDayOfWeek"] ? {
236
+ type: (StringConstructor | NumberConstructor)[];
237
+ default: number;
238
+ } : Omit<{
239
+ type: (StringConstructor | NumberConstructor)[];
240
+ default: number;
241
+ }, "type" | "default"> & {
266
242
  type: import("vue").PropType<unknown extends Defaults["firstDayOfWeek"] ? string | number : string | number | Defaults["firstDayOfWeek"]>;
267
243
  default: unknown extends Defaults["firstDayOfWeek"] ? string | number : NonNullable<string | number> | Defaults["firstDayOfWeek"];
268
244
  };
@@ -295,8 +271,9 @@ export declare const VCalendar: {
295
271
  hideHeader: boolean;
296
272
  viewMode: "day" | "month" | "week";
297
273
  showAdjacentMonths: boolean;
298
- weekdays: number[];
274
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
299
275
  weeksInMonth: "static" | "dynamic";
276
+ firstDayOfWeek: string | number;
300
277
  intervalDivisions: number;
301
278
  intervalDuration: number;
302
279
  intervalHeight: number;
@@ -313,7 +290,6 @@ export declare const VCalendar: {
313
290
  year?: string | number | undefined;
314
291
  events?: any[] | undefined;
315
292
  modelValue?: unknown[] | undefined;
316
- firstDayOfWeek?: string | number | undefined;
317
293
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
318
294
  displayValue?: unknown;
319
295
  dayIndex?: number | undefined;
@@ -419,8 +395,9 @@ export declare const VCalendar: {
419
395
  hideHeader: boolean;
420
396
  viewMode: "day" | "month" | "week";
421
397
  showAdjacentMonths: boolean;
422
- weekdays: number[];
398
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
423
399
  weeksInMonth: "static" | "dynamic";
400
+ firstDayOfWeek: string | number;
424
401
  intervalDivisions: number;
425
402
  intervalDuration: number;
426
403
  intervalHeight: number;
@@ -454,8 +431,9 @@ export declare const VCalendar: {
454
431
  hideHeader: boolean;
455
432
  viewMode: "day" | "month" | "week";
456
433
  showAdjacentMonths: boolean;
457
- weekdays: number[];
434
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
458
435
  weeksInMonth: "static" | "dynamic";
436
+ firstDayOfWeek: string | number;
459
437
  intervalDivisions: number;
460
438
  intervalDuration: number;
461
439
  intervalHeight: number;
@@ -472,7 +450,6 @@ export declare const VCalendar: {
472
450
  year?: string | number | undefined;
473
451
  events?: any[] | undefined;
474
452
  modelValue?: unknown[] | undefined;
475
- firstDayOfWeek?: string | number | undefined;
476
453
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
477
454
  displayValue?: unknown;
478
455
  dayIndex?: number | undefined;
@@ -574,8 +551,9 @@ export declare const VCalendar: {
574
551
  hideHeader: boolean;
575
552
  viewMode: "day" | "month" | "week";
576
553
  showAdjacentMonths: boolean;
577
- weekdays: number[];
554
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
578
555
  weeksInMonth: "static" | "dynamic";
556
+ firstDayOfWeek: string | number;
579
557
  intervalDivisions: number;
580
558
  intervalDuration: number;
581
559
  intervalHeight: number;
@@ -597,8 +575,9 @@ export declare const VCalendar: {
597
575
  hideHeader: boolean;
598
576
  viewMode: "day" | "month" | "week";
599
577
  showAdjacentMonths: boolean;
600
- weekdays: number[];
578
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
601
579
  weeksInMonth: "static" | "dynamic";
580
+ firstDayOfWeek: string | number;
602
581
  intervalDivisions: number;
603
582
  intervalDuration: number;
604
583
  intervalHeight: number;
@@ -615,7 +594,6 @@ export declare const VCalendar: {
615
594
  year?: string | number | undefined;
616
595
  events?: any[] | undefined;
617
596
  modelValue?: unknown[] | undefined;
618
- firstDayOfWeek?: string | number | undefined;
619
597
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
620
598
  displayValue?: unknown;
621
599
  dayIndex?: number | undefined;
@@ -721,8 +699,9 @@ export declare const VCalendar: {
721
699
  hideHeader: boolean;
722
700
  viewMode: "day" | "month" | "week";
723
701
  showAdjacentMonths: boolean;
724
- weekdays: number[];
702
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
725
703
  weeksInMonth: "static" | "dynamic";
704
+ firstDayOfWeek: string | number;
726
705
  intervalDivisions: number;
727
706
  intervalDuration: number;
728
707
  intervalHeight: number;
@@ -817,29 +796,17 @@ export declare const VCalendar: {
817
796
  showAdjacentMonths: BooleanConstructor;
818
797
  year: (StringConstructor | NumberConstructor)[];
819
798
  weekdays: {
820
- type: {
821
- (arrayLength: number): number[];
822
- (...items: number[]): number[];
823
- new (arrayLength: number): number[];
824
- new (...items: number[]): number[];
825
- isArray(arg: any): arg is any[];
826
- readonly prototype: any[];
827
- from<T>(arrayLike: ArrayLike<T>): T[];
828
- from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
829
- from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
830
- from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
831
- of<T>(...items: T[]): T[];
832
- fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
833
- fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>) => U, thisArg?: any): Promise<Awaited<U>[]>;
834
- readonly [Symbol.species]: ArrayConstructor;
835
- };
799
+ type: import("vue").PropType<import("../../composables/calendar.js").CalendarWeekdays[]>;
836
800
  default: () => number[];
837
801
  };
838
802
  weeksInMonth: {
839
803
  type: import("vue").PropType<"dynamic" | "static">;
840
804
  default: string;
841
805
  };
842
- firstDayOfWeek: (StringConstructor | NumberConstructor)[];
806
+ firstDayOfWeek: {
807
+ type: (StringConstructor | NumberConstructor)[];
808
+ default: number;
809
+ };
843
810
  hideHeader: BooleanConstructor;
844
811
  hideWeekNumber: BooleanConstructor;
845
812
  }, import("vue").ExtractPropTypes<{
@@ -919,29 +886,17 @@ export declare const VCalendar: {
919
886
  showAdjacentMonths: BooleanConstructor;
920
887
  year: (StringConstructor | NumberConstructor)[];
921
888
  weekdays: {
922
- type: {
923
- (arrayLength: number): number[];
924
- (...items: number[]): number[];
925
- new (arrayLength: number): number[];
926
- new (...items: number[]): number[];
927
- isArray(arg: any): arg is any[];
928
- readonly prototype: any[];
929
- from<T>(arrayLike: ArrayLike<T>): T[];
930
- from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
931
- from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
932
- from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
933
- of<T>(...items: T[]): T[];
934
- fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
935
- fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>) => U, thisArg?: any): Promise<Awaited<U>[]>;
936
- readonly [Symbol.species]: ArrayConstructor;
937
- };
889
+ type: import("vue").PropType<import("../../composables/calendar.js").CalendarWeekdays[]>;
938
890
  default: () => number[];
939
891
  };
940
892
  weeksInMonth: {
941
893
  type: import("vue").PropType<"dynamic" | "static">;
942
894
  default: string;
943
895
  };
944
- firstDayOfWeek: (StringConstructor | NumberConstructor)[];
896
+ firstDayOfWeek: {
897
+ type: (StringConstructor | NumberConstructor)[];
898
+ default: number;
899
+ };
945
900
  hideHeader: BooleanConstructor;
946
901
  hideWeekNumber: BooleanConstructor;
947
902
  }>>;
@@ -360,44 +360,14 @@ export declare const makeVDateInputProps: <Defaults extends {
360
360
  default: unknown extends Defaults["showAdjacentMonths"] ? boolean : boolean | Defaults["showAdjacentMonths"];
361
361
  };
362
362
  weekdays: unknown extends Defaults["weekdays"] ? {
363
- type: {
364
- (arrayLength: number): number[];
365
- (...items: number[]): number[];
366
- new (arrayLength: number): number[];
367
- new (...items: number[]): number[];
368
- isArray(arg: any): arg is any[];
369
- readonly prototype: any[];
370
- from<T>(arrayLike: ArrayLike<T>): T[];
371
- from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
372
- from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
373
- from<T, U_1>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U_1, thisArg?: any): U_1[];
374
- of<T>(...items: T[]): T[];
375
- fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
376
- fromAsync<T, U_2>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>) => U_2, thisArg?: any): Promise<Awaited<U_2>[]>;
377
- readonly [Symbol.species]: ArrayConstructor;
378
- };
363
+ type: PropType<import("../../composables/calendar.js").CalendarWeekdays[]>;
379
364
  default: () => number[];
380
365
  } : Omit<{
381
- type: {
382
- (arrayLength: number): number[];
383
- (...items: number[]): number[];
384
- new (arrayLength: number): number[];
385
- new (...items: number[]): number[];
386
- isArray(arg: any): arg is any[];
387
- readonly prototype: any[];
388
- from<T>(arrayLike: ArrayLike<T>): T[];
389
- from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
390
- from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
391
- from<T, U_1>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U_1, thisArg?: any): U_1[];
392
- of<T>(...items: T[]): T[];
393
- fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
394
- fromAsync<T, U_2>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>) => U_2, thisArg?: any): Promise<Awaited<U_2>[]>;
395
- readonly [Symbol.species]: ArrayConstructor;
396
- };
366
+ type: PropType<import("../../composables/calendar.js").CalendarWeekdays[]>;
397
367
  default: () => number[];
398
368
  }, "type" | "default"> & {
399
- type: PropType<unknown extends Defaults["weekdays"] ? number[] : number[] | Defaults["weekdays"]>;
400
- default: unknown extends Defaults["weekdays"] ? number[] : number[] | Defaults["weekdays"];
369
+ type: PropType<unknown extends Defaults["weekdays"] ? import("../../composables/calendar.js").CalendarWeekdays[] : import("../../composables/calendar.js").CalendarWeekdays[] | Defaults["weekdays"]>;
370
+ default: unknown extends Defaults["weekdays"] ? import("../../composables/calendar.js").CalendarWeekdays[] : import("../../composables/calendar.js").CalendarWeekdays[] | Defaults["weekdays"];
401
371
  };
402
372
  weeksInMonth: unknown extends Defaults["weeksInMonth"] ? Omit<{
403
373
  type: PropType<"dynamic" | "static">;
@@ -415,7 +385,13 @@ export declare const makeVDateInputProps: <Defaults extends {
415
385
  type: PropType<unknown extends Defaults["weeksInMonth"] ? "static" | "dynamic" : "static" | "dynamic" | Defaults["weeksInMonth"]>;
416
386
  default: unknown extends Defaults["weeksInMonth"] ? "static" | "dynamic" : NonNullable<"static" | "dynamic"> | Defaults["weeksInMonth"];
417
387
  };
418
- firstDayOfWeek: unknown extends Defaults["firstDayOfWeek"] ? (StringConstructor | NumberConstructor)[] : {
388
+ firstDayOfWeek: unknown extends Defaults["firstDayOfWeek"] ? {
389
+ type: (StringConstructor | NumberConstructor)[];
390
+ default: number;
391
+ } : Omit<{
392
+ type: (StringConstructor | NumberConstructor)[];
393
+ default: number;
394
+ }, "type" | "default"> & {
419
395
  type: PropType<unknown extends Defaults["firstDayOfWeek"] ? string | number : string | number | Defaults["firstDayOfWeek"]>;
420
396
  default: unknown extends Defaults["firstDayOfWeek"] ? string | number : NonNullable<string | number> | Defaults["firstDayOfWeek"];
421
397
  };
@@ -846,8 +822,9 @@ export declare const VDateInput: {
846
822
  modeIcon: import("../../composables/icons.js").IconValue;
847
823
  viewMode: "month" | "year" | "months";
848
824
  showAdjacentMonths: boolean;
849
- weekdays: number[];
825
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
850
826
  weeksInMonth: "static" | "dynamic";
827
+ firstDayOfWeek: string | number;
851
828
  hideWeekdays: boolean;
852
829
  showWeek: boolean;
853
830
  } & {
@@ -901,7 +878,6 @@ export declare const VDateInput: {
901
878
  suffix?: string | undefined;
902
879
  counterValue?: number | ((value: any) => number) | undefined;
903
880
  modelModifiers?: Record<string, boolean> | undefined;
904
- firstDayOfWeek?: string | number | undefined;
905
881
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
906
882
  displayFormat?: string | Function | undefined;
907
883
  } & {
@@ -1020,8 +996,9 @@ export declare const VDateInput: {
1020
996
  modeIcon: import("../../composables/icons.js").IconValue;
1021
997
  viewMode: "month" | "year" | "months";
1022
998
  showAdjacentMonths: boolean;
1023
- weekdays: number[];
999
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
1024
1000
  weeksInMonth: "static" | "dynamic";
1001
+ firstDayOfWeek: string | number;
1025
1002
  hideWeekdays: boolean;
1026
1003
  showWeek: boolean;
1027
1004
  }, true, {}, import("vue").SlotsType<Partial<{
@@ -1098,8 +1075,9 @@ export declare const VDateInput: {
1098
1075
  modeIcon: import("../../composables/icons.js").IconValue;
1099
1076
  viewMode: "month" | "year" | "months";
1100
1077
  showAdjacentMonths: boolean;
1101
- weekdays: number[];
1078
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
1102
1079
  weeksInMonth: "static" | "dynamic";
1080
+ firstDayOfWeek: string | number;
1103
1081
  hideWeekdays: boolean;
1104
1082
  showWeek: boolean;
1105
1083
  } & {
@@ -1153,7 +1131,6 @@ export declare const VDateInput: {
1153
1131
  suffix?: string | undefined;
1154
1132
  counterValue?: number | ((value: any) => number) | undefined;
1155
1133
  modelModifiers?: Record<string, boolean> | undefined;
1156
- firstDayOfWeek?: string | number | undefined;
1157
1134
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
1158
1135
  displayFormat?: string | Function | undefined;
1159
1136
  } & {
@@ -1268,8 +1245,9 @@ export declare const VDateInput: {
1268
1245
  modeIcon: import("../../composables/icons.js").IconValue;
1269
1246
  viewMode: "month" | "year" | "months";
1270
1247
  showAdjacentMonths: boolean;
1271
- weekdays: number[];
1248
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
1272
1249
  weeksInMonth: "static" | "dynamic";
1250
+ firstDayOfWeek: string | number;
1273
1251
  hideWeekdays: boolean;
1274
1252
  showWeek: boolean;
1275
1253
  }>;
@@ -1325,8 +1303,9 @@ export declare const VDateInput: {
1325
1303
  modeIcon: import("../../composables/icons.js").IconValue;
1326
1304
  viewMode: "month" | "year" | "months";
1327
1305
  showAdjacentMonths: boolean;
1328
- weekdays: number[];
1306
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
1329
1307
  weeksInMonth: "static" | "dynamic";
1308
+ firstDayOfWeek: string | number;
1330
1309
  hideWeekdays: boolean;
1331
1310
  showWeek: boolean;
1332
1311
  } & {
@@ -1380,7 +1359,6 @@ export declare const VDateInput: {
1380
1359
  suffix?: string | undefined;
1381
1360
  counterValue?: number | ((value: any) => number) | undefined;
1382
1361
  modelModifiers?: Record<string, boolean> | undefined;
1383
- firstDayOfWeek?: string | number | undefined;
1384
1362
  allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
1385
1363
  displayFormat?: string | Function | undefined;
1386
1364
  } & {
@@ -1499,8 +1477,9 @@ export declare const VDateInput: {
1499
1477
  modeIcon: import("../../composables/icons.js").IconValue;
1500
1478
  viewMode: "month" | "year" | "months";
1501
1479
  showAdjacentMonths: boolean;
1502
- weekdays: number[];
1480
+ weekdays: import("../../composables/calendar.js").CalendarWeekdays[];
1503
1481
  weeksInMonth: "static" | "dynamic";
1482
+ firstDayOfWeek: string | number;
1504
1483
  hideWeekdays: boolean;
1505
1484
  showWeek: boolean;
1506
1485
  }, {}, string, import("vue").SlotsType<Partial<{
@@ -1606,22 +1585,7 @@ export declare const VDateInput: {
1606
1585
  default: boolean;
1607
1586
  };
1608
1587
  weekdays: {
1609
- type: {
1610
- (arrayLength: number): number[];
1611
- (...items: number[]): number[];
1612
- new (arrayLength: number): number[];
1613
- new (...items: number[]): number[];
1614
- isArray(arg: any): arg is any[];
1615
- readonly prototype: any[];
1616
- from<T>(arrayLike: ArrayLike<T>): T[];
1617
- from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
1618
- from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
1619
- from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
1620
- of<T>(...items: T[]): T[];
1621
- fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
1622
- fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>) => U, thisArg?: any): Promise<Awaited<U>[]>;
1623
- readonly [Symbol.species]: ArrayConstructor;
1624
- };
1588
+ type: PropType<import("../../composables/calendar.js").CalendarWeekdays[]>;
1625
1589
  default: () => number[];
1626
1590
  };
1627
1591
  weeksInMonth: Omit<{
@@ -1631,7 +1595,10 @@ export declare const VDateInput: {
1631
1595
  type: PropType<"static" | "dynamic">;
1632
1596
  default: NonNullable<"static" | "dynamic">;
1633
1597
  };
1634
- firstDayOfWeek: (StringConstructor | NumberConstructor)[];
1598
+ firstDayOfWeek: {
1599
+ type: (StringConstructor | NumberConstructor)[];
1600
+ default: number;
1601
+ };
1635
1602
  allowedDates: PropType<unknown[] | ((date: unknown) => boolean)>;
1636
1603
  hideWeekdays: BooleanConstructor;
1637
1604
  showWeek: BooleanConstructor;
@@ -1841,22 +1808,7 @@ export declare const VDateInput: {
1841
1808
  default: boolean;
1842
1809
  };
1843
1810
  weekdays: {
1844
- type: {
1845
- (arrayLength: number): number[];
1846
- (...items: number[]): number[];
1847
- new (arrayLength: number): number[];
1848
- new (...items: number[]): number[];
1849
- isArray(arg: any): arg is any[];
1850
- readonly prototype: any[];
1851
- from<T>(arrayLike: ArrayLike<T>): T[];
1852
- from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
1853
- from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
1854
- from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
1855
- of<T>(...items: T[]): T[];
1856
- fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
1857
- fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>) => U, thisArg?: any): Promise<Awaited<U>[]>;
1858
- readonly [Symbol.species]: ArrayConstructor;
1859
- };
1811
+ type: PropType<import("../../composables/calendar.js").CalendarWeekdays[]>;
1860
1812
  default: () => number[];
1861
1813
  };
1862
1814
  weeksInMonth: Omit<{
@@ -1866,7 +1818,10 @@ export declare const VDateInput: {
1866
1818
  type: PropType<"static" | "dynamic">;
1867
1819
  default: NonNullable<"static" | "dynamic">;
1868
1820
  };
1869
- firstDayOfWeek: (StringConstructor | NumberConstructor)[];
1821
+ firstDayOfWeek: {
1822
+ type: (StringConstructor | NumberConstructor)[];
1823
+ default: number;
1824
+ };
1870
1825
  allowedDates: PropType<unknown[] | ((date: unknown) => boolean)>;
1871
1826
  hideWeekdays: BooleanConstructor;
1872
1827
  showWeek: BooleanConstructor;
@@ -62,6 +62,7 @@ export const VDateInput = genericComponent()({
62
62
  const menu = shallowRef(false);
63
63
  const isEditingInput = shallowRef(false);
64
64
  const vDateInputRef = ref();
65
+ const disabledActions = ref(['save']);
65
66
  function format(date) {
66
67
  if (typeof props.displayFormat === 'function') {
67
68
  return props.displayFormat(date);
@@ -92,6 +93,7 @@ export const VDateInput = genericComponent()({
92
93
  watch(menu, val => {
93
94
  if (val) return;
94
95
  isEditingInput.value = false;
96
+ disabledActions.value = ['save'];
95
97
  });
96
98
  function onKeydown(e) {
97
99
  if (e.key !== 'Enter') return;
@@ -171,6 +173,7 @@ export const VDateInput = genericComponent()({
171
173
  default: () => [_createVNode(VConfirmEdit, _mergeProps(confirmEditProps, {
172
174
  "modelValue": model.value,
173
175
  "onUpdate:modelValue": $event => model.value = $event,
176
+ "disabled": disabledActions.value,
174
177
  "onSave": onSave,
175
178
  "onCancel": onCancel
176
179
  }), {
@@ -193,6 +196,7 @@ export const VDateInput = genericComponent()({
193
196
  }
194
197
  emit('save', value);
195
198
  vDateInputRef.value?.blur();
199
+ disabledActions.value = [];
196
200
  }
197
201
  return _createVNode(VDatePicker, _mergeProps(datePickerProps, {
198
202
  "modelValue": props.hideActions ? model.value : proxyModel.value,
@@ -1 +1 @@
1
- {"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeDisplayProps","useDisplay","makeFocusProps","useFocus","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","Function","String","location","type","default","hideActions","placeholder","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","save","value","cancel","val","setup","_ref","emit","slots","t","adapter","mobile","isFocused","focus","blur","model","multiple","Array","isArray","map","item","toJsDate","date","menu","isEditingInput","vDateInputRef","format","display","length","start","end","isValid","inputmode","undefined","isInteractive","disabled","readonly","isReadonly","onKeydown","e","key","target","onClick","preventDefault","stopPropagation","onCancel","onSave","onUpdateDisplayModel","onUpdateMenuModel","isMenuOpen","onBlur","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","_Fragment","$event","_ref2","actions","proxyModel","isPristine","onUpdateModel"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\n// Types\nexport type VDateInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VDateInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VDateInputActionsSlot\n default: never\n}\n\nexport const makeVDateInputProps = propsFactory({\n displayFormat: [Function, String],\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom start',\n },\n\n ...makeDisplayProps(),\n ...makeFocusProps(),\n ...makeVConfirmEditProps({\n hideActions: true,\n }),\n ...makeVTextFieldProps({\n placeholder: 'mm/dd/yyyy',\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n hideHeader: true,\n showAdjacentMonths: true,\n }), ['active', 'location', 'rounded']),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent<VDateInputSlots>()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n save: (value: string) => true,\n cancel: () => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const adapter = useDate()\n const { mobile } = useDisplay()\n const { isFocused, focus, blur } = useFocus(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.multiple ? [] : null,\n val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val,\n val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val\n )\n\n const menu = shallowRef(false)\n const isEditingInput = shallowRef(false)\n const vDateInputRef = ref()\n\n function format (date: unknown) {\n if (typeof props.displayFormat === 'function') {\n return props.displayFormat(date)\n }\n\n return adapter.format(date, props.displayFormat ?? 'keyboardDate')\n }\n\n const display = computed(() => {\n const value = wrapInArray(model.value)\n\n if (!value.length) return null\n\n if (props.multiple === true) {\n return t('$vuetify.datePicker.itemsSelected', value.length)\n }\n\n if (props.multiple === 'range') {\n const start = value[0]\n const end = value[value.length - 1]\n\n if (!adapter.isValid(start) || !adapter.isValid(end)) return ''\n\n return `${format(adapter.date(start))} - ${format(adapter.date(end))}`\n }\n\n return adapter.isValid(model.value) ? format(adapter.date(model.value)) : ''\n })\n\n const inputmode = computed(() => {\n if (!mobile.value) return undefined\n if (isEditingInput.value) return 'text'\n\n return 'none'\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n const isReadonly = computed(() => !(mobile.value && isEditingInput.value) && props.readonly)\n\n watch(menu, val => {\n if (val) return\n\n isEditingInput.value = false\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n\n return\n }\n\n const target = e.target as HTMLInputElement\n\n model.value = target.value === '' ? null : target.value\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = true\n } else {\n menu.value = true\n }\n }\n\n function onCancel () {\n emit('cancel')\n menu.value = false\n isEditingInput.value = false\n }\n\n function onSave (value: string) {\n emit('save', value)\n menu.value = false\n }\n\n function onUpdateDisplayModel (value: string) {\n if (value != null) return\n\n model.value = null\n }\n\n function onUpdateMenuModel (isMenuOpen: boolean) {\n if (isMenuOpen) return\n\n isEditingInput.value = false\n }\n\n function onBlur () {\n blur()\n\n // When in mobile mode and editing is done (due to keyboard dismissal), close the menu\n if (mobile.value && isEditingInput.value && !isFocused.value) {\n menu.value = false\n isEditingInput.value = false\n }\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']))\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n ref={ vDateInputRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n inputmode={ inputmode.value }\n readonly={ isReadonly.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ onBlur }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ onUpdateDisplayModel }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n eager={ isFocused.value }\n location={ props.location }\n closeOnContentClick={ false }\n openOnClick={ false }\n onUpdate:modelValue={ onUpdateMenuModel }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n onSave={ onSave }\n onCancel={ onCancel }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n function onUpdateModel (value: string) {\n if (!props.hideActions) {\n proxyModel.value = value\n } else {\n model.value = value\n\n if (!props.multiple) {\n menu.value = false\n }\n }\n\n emit('save', value)\n vDateInputRef.value?.blur()\n }\n\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ value => onUpdateModel(value) }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vDateInputRef)\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDateInput.js","names":["makeVConfirmEditProps","VConfirmEdit","makeVDatePickerProps","VDatePicker","VMenu","makeVTextFieldProps","VTextField","useDate","makeDisplayProps","useDisplay","makeFocusProps","useFocus","forwardRefs","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDateInputProps","displayFormat","Function","String","location","type","default","hideActions","placeholder","prependIcon","hideHeader","showAdjacentMonths","VDateInput","name","props","emits","save","value","cancel","val","setup","_ref","emit","slots","t","adapter","mobile","isFocused","focus","blur","model","multiple","Array","isArray","map","item","toJsDate","date","menu","isEditingInput","vDateInputRef","disabledActions","format","display","length","start","end","isValid","inputmode","undefined","isInteractive","disabled","readonly","isReadonly","onKeydown","e","key","target","onClick","preventDefault","stopPropagation","onCancel","onSave","onUpdateDisplayModel","onUpdateMenuModel","isMenuOpen","onBlur","confirmEditProps","filterProps","datePickerProps","textFieldProps","_createVNode","_mergeProps","class","style","_Fragment","$event","_ref2","actions","proxyModel","isPristine","onUpdateModel"],"sources":["../../../src/labs/VDateInput/VDateInput.tsx"],"sourcesContent":["// Components\nimport { makeVConfirmEditProps, VConfirmEdit } from '@/components/VConfirmEdit/VConfirmEdit'\nimport { makeVDatePickerProps, VDatePicker } from '@/components/VDatePicker/VDatePicker'\nimport { VMenu } from '@/components/VMenu/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { StrategyProps } from '@/components/VOverlay/locationStrategies'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\n// Types\nexport type VDateInputActionsSlot = {\n save: () => void\n cancel: () => void\n isPristine: boolean\n}\n\nexport type VDateInputSlots = Omit<VTextFieldSlots, 'default'> & {\n actions: VDateInputActionsSlot\n default: never\n}\n\nexport const makeVDateInputProps = propsFactory({\n displayFormat: [Function, String],\n location: {\n type: String as PropType<StrategyProps['location']>,\n default: 'bottom start',\n },\n\n ...makeDisplayProps(),\n ...makeFocusProps(),\n ...makeVConfirmEditProps({\n hideActions: true,\n }),\n ...makeVTextFieldProps({\n placeholder: 'mm/dd/yyyy',\n prependIcon: '$calendar',\n }),\n ...omit(makeVDatePickerProps({\n hideHeader: true,\n showAdjacentMonths: true,\n }), ['active', 'location', 'rounded']),\n}, 'VDateInput')\n\nexport const VDateInput = genericComponent<VDateInputSlots>()({\n name: 'VDateInput',\n\n props: makeVDateInputProps(),\n\n emits: {\n save: (value: string) => true,\n cancel: () => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const adapter = useDate()\n const { mobile } = useDisplay()\n const { isFocused, focus, blur } = useFocus(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n props.multiple ? [] : null,\n val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val,\n val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val\n )\n\n const menu = shallowRef(false)\n const isEditingInput = shallowRef(false)\n const vDateInputRef = ref()\n const disabledActions = ref<typeof VConfirmEdit['props']['disabled']>(['save'])\n\n function format (date: unknown) {\n if (typeof props.displayFormat === 'function') {\n return props.displayFormat(date)\n }\n\n return adapter.format(date, props.displayFormat ?? 'keyboardDate')\n }\n\n const display = computed(() => {\n const value = wrapInArray(model.value)\n\n if (!value.length) return null\n\n if (props.multiple === true) {\n return t('$vuetify.datePicker.itemsSelected', value.length)\n }\n\n if (props.multiple === 'range') {\n const start = value[0]\n const end = value[value.length - 1]\n\n if (!adapter.isValid(start) || !adapter.isValid(end)) return ''\n\n return `${format(adapter.date(start))} - ${format(adapter.date(end))}`\n }\n\n return adapter.isValid(model.value) ? format(adapter.date(model.value)) : ''\n })\n\n const inputmode = computed(() => {\n if (!mobile.value) return undefined\n if (isEditingInput.value) return 'text'\n\n return 'none'\n })\n\n const isInteractive = computed(() => !props.disabled && !props.readonly)\n const isReadonly = computed(() => !(mobile.value && isEditingInput.value) && props.readonly)\n\n watch(menu, val => {\n if (val) return\n\n isEditingInput.value = false\n disabledActions.value = ['save']\n })\n\n function onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter') return\n\n if (!menu.value || !isFocused.value) {\n menu.value = true\n\n return\n }\n\n const target = e.target as HTMLInputElement\n\n model.value = target.value === '' ? null : target.value\n }\n\n function onClick (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n\n if (menu.value && mobile.value) {\n isEditingInput.value = true\n } else {\n menu.value = true\n }\n }\n\n function onCancel () {\n emit('cancel')\n menu.value = false\n isEditingInput.value = false\n }\n\n function onSave (value: string) {\n emit('save', value)\n menu.value = false\n }\n\n function onUpdateDisplayModel (value: string) {\n if (value != null) return\n\n model.value = null\n }\n\n function onUpdateMenuModel (isMenuOpen: boolean) {\n if (isMenuOpen) return\n\n isEditingInput.value = false\n }\n\n function onBlur () {\n blur()\n\n // When in mobile mode and editing is done (due to keyboard dismissal), close the menu\n if (mobile.value && isEditingInput.value && !isFocused.value) {\n menu.value = false\n isEditingInput.value = false\n }\n }\n\n useRender(() => {\n const confirmEditProps = VConfirmEdit.filterProps(props)\n const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']))\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n ref={ vDateInputRef }\n { ...textFieldProps }\n class={ props.class }\n style={ props.style }\n modelValue={ display.value }\n inputmode={ inputmode.value }\n readonly={ isReadonly.value }\n onKeydown={ isInteractive.value ? onKeydown : undefined }\n focused={ menu.value || isFocused.value }\n onFocus={ focus }\n onBlur={ onBlur }\n onClick:control={ isInteractive.value ? onClick : undefined }\n onClick:prepend={ isInteractive.value ? onClick : undefined }\n onUpdate:modelValue={ onUpdateDisplayModel }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n v-model={ menu.value }\n activator=\"parent\"\n min-width=\"0\"\n eager={ isFocused.value }\n location={ props.location }\n closeOnContentClick={ false }\n openOnClick={ false }\n onUpdate:modelValue={ onUpdateMenuModel }\n >\n <VConfirmEdit\n { ...confirmEditProps }\n v-model={ model.value }\n disabled={ disabledActions.value }\n onSave={ onSave }\n onCancel={ onCancel }\n >\n {{\n default: ({ actions, model: proxyModel, save, cancel, isPristine }) => {\n function onUpdateModel (value: string) {\n if (!props.hideActions) {\n proxyModel.value = value\n } else {\n model.value = value\n\n if (!props.multiple) {\n menu.value = false\n }\n }\n\n emit('save', value)\n vDateInputRef.value?.blur()\n\n disabledActions.value = []\n }\n\n return (\n <VDatePicker\n { ...datePickerProps }\n modelValue={ props.hideActions ? model.value : proxyModel.value }\n onUpdate:modelValue={ value => onUpdateModel(value) }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n >\n {{\n actions: !props.hideActions ? () => slots.actions?.({ save, cancel, isPristine }) ?? actions() : undefined,\n }}\n </VDatePicker>\n )\n },\n }}\n </VConfirmEdit>\n </VMenu>\n\n { slots.default?.() }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({}, vDateInputRef)\n },\n})\n\nexport type VDateInput = InstanceType<typeof VDateInput>\n"],"mappings":"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","ignoreList":[]}