@vuetify/nightly 3.6.8-master.2024-06-11 → 3.6.9-dev.2024-06-20

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 (101) hide show
  1. package/CHANGELOG.md +14 -6
  2. package/dist/json/attributes.json +293 -121
  3. package/dist/json/importMap-labs.json +22 -22
  4. package/dist/json/importMap.json +158 -158
  5. package/dist/json/tags.json +49 -6
  6. package/dist/json/web-types.json +610 -221
  7. package/dist/vuetify-labs.css +3356 -3340
  8. package/dist/vuetify-labs.d.ts +840 -564
  9. package/dist/vuetify-labs.esm.js +93 -44
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +93 -44
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +551 -535
  14. package/dist/vuetify.d.ts +763 -565
  15. package/dist/vuetify.esm.js +81 -38
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +81 -38
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +51 -48
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAppBar/index.d.mts +6 -0
  23. package/lib/components/VAutocomplete/index.d.mts +49 -49
  24. package/lib/components/VAvatar/VAvatar.css +7 -0
  25. package/lib/components/VAvatar/VAvatar.mjs +6 -1
  26. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  27. package/lib/components/VAvatar/VAvatar.sass +1 -0
  28. package/lib/components/VAvatar/_variables.scss +13 -0
  29. package/lib/components/VAvatar/index.d.mts +6 -0
  30. package/lib/components/VBottomSheet/index.d.mts +7 -7
  31. package/lib/components/VBreadcrumbs/index.d.mts +8 -8
  32. package/lib/components/VBtn/VBtn.mjs +3 -1
  33. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  34. package/lib/components/VBtn/index.d.mts +6 -0
  35. package/lib/components/VCarousel/index.d.mts +16 -7
  36. package/lib/components/VCheckbox/index.d.mts +6 -6
  37. package/lib/components/VCombobox/index.d.mts +49 -49
  38. package/lib/components/VDialog/index.d.mts +31 -31
  39. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +23 -11
  40. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  41. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +20 -7
  42. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  43. package/lib/components/VExpansionPanel/index.d.mts +122 -14
  44. package/lib/components/VFab/VFab.mjs +4 -7
  45. package/lib/components/VFab/VFab.mjs.map +1 -1
  46. package/lib/components/VFab/index.d.mts +52 -49
  47. package/lib/components/VFileInput/index.d.mts +18 -18
  48. package/lib/components/VForm/index.d.mts +9 -9
  49. package/lib/components/VGrid/VContainer.mjs +6 -1
  50. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  51. package/lib/components/VGrid/index.d.mts +36 -0
  52. package/lib/components/VImg/VImg.css +9 -0
  53. package/lib/components/VImg/VImg.mjs +2 -0
  54. package/lib/components/VImg/VImg.mjs.map +1 -1
  55. package/lib/components/VImg/VImg.sass +9 -0
  56. package/lib/components/VImg/index.d.mts +16 -7
  57. package/lib/components/VInput/index.d.mts +6 -6
  58. package/lib/components/VList/VList.mjs +1 -0
  59. package/lib/components/VList/VList.mjs.map +1 -1
  60. package/lib/components/VList/index.d.mts +14 -12
  61. package/lib/components/VMenu/VMenu.mjs +1 -1
  62. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  63. package/lib/components/VMenu/index.d.mts +33 -33
  64. package/lib/components/VOverlay/VOverlay.mjs +4 -3
  65. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  66. package/lib/components/VOverlay/index.d.mts +7 -7
  67. package/lib/components/VRadioGroup/index.d.mts +6 -6
  68. package/lib/components/VRangeSlider/index.d.mts +6 -6
  69. package/lib/components/VSelect/index.d.mts +49 -49
  70. package/lib/components/VSlider/index.d.mts +6 -6
  71. package/lib/components/VSnackbar/index.d.mts +33 -33
  72. package/lib/components/VSpeedDial/index.d.mts +9 -9
  73. package/lib/components/VSwitch/index.d.mts +6 -6
  74. package/lib/components/VTabs/index.d.mts +21 -3
  75. package/lib/components/VTextField/index.d.mts +18 -18
  76. package/lib/components/VTextarea/index.d.mts +18 -18
  77. package/lib/components/VTooltip/index.d.mts +39 -39
  78. package/lib/components/VValidation/index.d.mts +9 -8
  79. package/lib/components/index.d.mts +707 -509
  80. package/lib/composables/scroll.mjs +6 -0
  81. package/lib/composables/scroll.mjs.map +1 -1
  82. package/lib/composables/validation.mjs +8 -6
  83. package/lib/composables/validation.mjs.map +1 -1
  84. package/lib/entry-bundler.mjs +1 -1
  85. package/lib/entry-bundler.mjs.map +1 -1
  86. package/lib/framework.mjs +1 -1
  87. package/lib/framework.mjs.map +1 -1
  88. package/lib/index.d.mts +56 -56
  89. package/lib/labs/VDateInput/index.d.mts +6 -6
  90. package/lib/labs/VNumberInput/index.d.mts +6 -6
  91. package/lib/labs/VSnackbarQueue/index.d.mts +42 -42
  92. package/lib/labs/VStepperVertical/index.d.mts +90 -18
  93. package/lib/labs/VTimePicker/VTimePickerClock.mjs +3 -1
  94. package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
  95. package/lib/labs/VTimePicker/VTimePickerControls.mjs +7 -2
  96. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  97. package/lib/labs/VTreeview/VTreeview.mjs +3 -4
  98. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  99. package/lib/labs/VTreeview/index.d.mts +22 -16
  100. package/lib/labs/components.d.mts +166 -88
  101. package/package.json +1 -1
@@ -35,13 +35,13 @@ declare const VStepperVertical: {
35
35
  disabled: boolean;
36
36
  tag: string;
37
37
  mobile: boolean | null;
38
+ eager: boolean;
38
39
  readonly: boolean;
39
40
  variant: NonNullable<"default" | "inset" | "accordion" | "popout">;
40
41
  items: readonly StepperItem[];
41
42
  mandatory: NonNullable<boolean | "force">;
42
43
  multiple: boolean;
43
44
  tile: boolean;
44
- eager: boolean;
45
45
  ripple: boolean | {
46
46
  class: string;
47
47
  } | undefined;
@@ -61,11 +61,17 @@ declare const VStepperVertical: {
61
61
  title?: string | undefined;
62
62
  text?: string | undefined;
63
63
  value?: any;
64
+ width?: string | number | undefined;
65
+ height?: string | number | undefined;
64
66
  theme?: string | undefined;
65
67
  color?: string | undefined;
66
68
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
67
69
  modelValue?: any;
68
70
  rounded?: string | number | boolean | undefined;
71
+ maxHeight?: string | number | undefined;
72
+ maxWidth?: string | number | undefined;
73
+ minHeight?: string | number | undefined;
74
+ minWidth?: string | number | undefined;
69
75
  elevation?: string | number | undefined;
70
76
  max?: number | undefined;
71
77
  selectedClass?: string | undefined;
@@ -127,13 +133,13 @@ declare const VStepperVertical: {
127
133
  disabled: boolean;
128
134
  tag: string;
129
135
  mobile: boolean | null;
136
+ eager: boolean;
130
137
  readonly: boolean;
131
138
  variant: NonNullable<"default" | "inset" | "accordion" | "popout">;
132
139
  items: readonly StepperItem[];
133
140
  mandatory: NonNullable<boolean | "force">;
134
141
  multiple: boolean;
135
142
  tile: boolean;
136
- eager: boolean;
137
143
  ripple: boolean | {
138
144
  class: string;
139
145
  } | undefined;
@@ -153,11 +159,17 @@ declare const VStepperVertical: {
153
159
  title?: string | undefined;
154
160
  text?: string | undefined;
155
161
  value?: any;
162
+ width?: string | number | undefined;
163
+ height?: string | number | undefined;
156
164
  theme?: string | undefined;
157
165
  color?: string | undefined;
158
166
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
159
167
  modelValue?: any;
160
168
  rounded?: string | number | boolean | undefined;
169
+ maxHeight?: string | number | undefined;
170
+ maxWidth?: string | number | undefined;
171
+ minHeight?: string | number | undefined;
172
+ minWidth?: string | number | undefined;
161
173
  elevation?: string | number | undefined;
162
174
  max?: number | undefined;
163
175
  selectedClass?: string | undefined;
@@ -217,6 +229,7 @@ declare const VStepperVertical: {
217
229
  disabled: boolean;
218
230
  tag: string;
219
231
  mobile: boolean | null;
232
+ eager: boolean;
220
233
  readonly: boolean;
221
234
  modelValue: any;
222
235
  rounded: string | number | boolean;
@@ -225,7 +238,6 @@ declare const VStepperVertical: {
225
238
  mandatory: NonNullable<boolean | "force">;
226
239
  multiple: boolean;
227
240
  tile: boolean;
228
- eager: boolean;
229
241
  ripple: boolean | {
230
242
  class: string;
231
243
  } | undefined;
@@ -286,13 +298,13 @@ declare const VStepperVertical: {
286
298
  disabled: boolean;
287
299
  tag: string;
288
300
  mobile: boolean | null;
301
+ eager: boolean;
289
302
  readonly: boolean;
290
303
  variant: NonNullable<"default" | "inset" | "accordion" | "popout">;
291
304
  items: readonly StepperItem[];
292
305
  mandatory: NonNullable<boolean | "force">;
293
306
  multiple: boolean;
294
307
  tile: boolean;
295
- eager: boolean;
296
308
  ripple: boolean | {
297
309
  class: string;
298
310
  } | undefined;
@@ -312,11 +324,17 @@ declare const VStepperVertical: {
312
324
  title?: string | undefined;
313
325
  text?: string | undefined;
314
326
  value?: any;
327
+ width?: string | number | undefined;
328
+ height?: string | number | undefined;
315
329
  theme?: string | undefined;
316
330
  color?: string | undefined;
317
331
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
318
332
  modelValue?: any;
319
333
  rounded?: string | number | boolean | undefined;
334
+ maxHeight?: string | number | undefined;
335
+ maxWidth?: string | number | undefined;
336
+ minHeight?: string | number | undefined;
337
+ minWidth?: string | number | undefined;
320
338
  elevation?: string | number | undefined;
321
339
  max?: number | undefined;
322
340
  selectedClass?: string | undefined;
@@ -376,6 +394,7 @@ declare const VStepperVertical: {
376
394
  disabled: boolean;
377
395
  tag: string;
378
396
  mobile: boolean | null;
397
+ eager: boolean;
379
398
  readonly: boolean;
380
399
  modelValue: any;
381
400
  rounded: string | number | boolean;
@@ -384,7 +403,6 @@ declare const VStepperVertical: {
384
403
  mandatory: NonNullable<boolean | "force">;
385
404
  multiple: boolean;
386
405
  tile: boolean;
387
- eager: boolean;
388
406
  ripple: boolean | {
389
407
  class: string;
390
408
  } | undefined;
@@ -409,13 +427,13 @@ declare const VStepperVertical: {
409
427
  disabled: boolean;
410
428
  tag: string;
411
429
  mobile: boolean | null;
430
+ eager: boolean;
412
431
  readonly: boolean;
413
432
  variant: NonNullable<"default" | "inset" | "accordion" | "popout">;
414
433
  items: readonly StepperItem[];
415
434
  mandatory: NonNullable<boolean | "force">;
416
435
  multiple: boolean;
417
436
  tile: boolean;
418
- eager: boolean;
419
437
  ripple: boolean | {
420
438
  class: string;
421
439
  } | undefined;
@@ -435,11 +453,17 @@ declare const VStepperVertical: {
435
453
  title?: string | undefined;
436
454
  text?: string | undefined;
437
455
  value?: any;
456
+ width?: string | number | undefined;
457
+ height?: string | number | undefined;
438
458
  theme?: string | undefined;
439
459
  color?: string | undefined;
440
460
  mobileBreakpoint?: number | DisplayBreakpoint | undefined;
441
461
  modelValue?: any;
442
462
  rounded?: string | number | boolean | undefined;
463
+ maxHeight?: string | number | undefined;
464
+ maxWidth?: string | number | undefined;
465
+ minHeight?: string | number | undefined;
466
+ minWidth?: string | number | undefined;
443
467
  elevation?: string | number | undefined;
444
468
  max?: number | undefined;
445
469
  selectedClass?: string | undefined;
@@ -501,6 +525,7 @@ declare const VStepperVertical: {
501
525
  disabled: boolean;
502
526
  tag: string;
503
527
  mobile: boolean | null;
528
+ eager: boolean;
504
529
  readonly: boolean;
505
530
  modelValue: any;
506
531
  rounded: string | number | boolean;
@@ -509,7 +534,6 @@ declare const VStepperVertical: {
509
534
  mandatory: NonNullable<boolean | "force">;
510
535
  multiple: boolean;
511
536
  tile: boolean;
512
- eager: boolean;
513
537
  ripple: boolean | {
514
538
  class: string;
515
539
  } | undefined;
@@ -567,6 +591,8 @@ declare const VStepperVertical: {
567
591
  title: StringConstructor;
568
592
  text: StringConstructor;
569
593
  value: null;
594
+ width: (StringConstructor | NumberConstructor)[];
595
+ height: (StringConstructor | NumberConstructor)[];
570
596
  theme: StringConstructor;
571
597
  color: StringConstructor;
572
598
  disabled: BooleanConstructor;
@@ -574,6 +600,7 @@ declare const VStepperVertical: {
574
600
  type: StringConstructor;
575
601
  default: string;
576
602
  };
603
+ eager: BooleanConstructor;
577
604
  readonly: BooleanConstructor;
578
605
  modelValue: {
579
606
  type: null;
@@ -591,13 +618,16 @@ declare const VStepperVertical: {
591
618
  type: vue.PropType<NonNullable<"default" | "inset" | "accordion" | "popout">>;
592
619
  default: NonNullable<"default" | "inset" | "accordion" | "popout">;
593
620
  };
621
+ maxHeight: (StringConstructor | NumberConstructor)[];
622
+ maxWidth: (StringConstructor | NumberConstructor)[];
623
+ minHeight: (StringConstructor | NumberConstructor)[];
624
+ minWidth: (StringConstructor | NumberConstructor)[];
594
625
  mandatory: {
595
626
  type: vue.PropType<NonNullable<boolean | "force">>;
596
627
  default: NonNullable<boolean | "force">;
597
628
  };
598
629
  multiple: BooleanConstructor;
599
630
  tile: BooleanConstructor;
600
- eager: BooleanConstructor;
601
631
  elevation: {
602
632
  type: (StringConstructor | NumberConstructor)[];
603
633
  validator(v: any): boolean;
@@ -662,6 +692,8 @@ declare const VStepperVertical: {
662
692
  title: StringConstructor;
663
693
  text: StringConstructor;
664
694
  value: null;
695
+ width: (StringConstructor | NumberConstructor)[];
696
+ height: (StringConstructor | NumberConstructor)[];
665
697
  theme: StringConstructor;
666
698
  color: StringConstructor;
667
699
  disabled: BooleanConstructor;
@@ -669,6 +701,7 @@ declare const VStepperVertical: {
669
701
  type: StringConstructor;
670
702
  default: string;
671
703
  };
704
+ eager: BooleanConstructor;
672
705
  readonly: BooleanConstructor;
673
706
  modelValue: {
674
707
  type: null;
@@ -686,13 +719,16 @@ declare const VStepperVertical: {
686
719
  type: vue.PropType<NonNullable<"default" | "inset" | "accordion" | "popout">>;
687
720
  default: NonNullable<"default" | "inset" | "accordion" | "popout">;
688
721
  };
722
+ maxHeight: (StringConstructor | NumberConstructor)[];
723
+ maxWidth: (StringConstructor | NumberConstructor)[];
724
+ minHeight: (StringConstructor | NumberConstructor)[];
725
+ minWidth: (StringConstructor | NumberConstructor)[];
689
726
  mandatory: {
690
727
  type: vue.PropType<NonNullable<boolean | "force">>;
691
728
  default: NonNullable<boolean | "force">;
692
729
  };
693
730
  multiple: BooleanConstructor;
694
731
  tile: BooleanConstructor;
695
- eager: BooleanConstructor;
696
732
  elevation: {
697
733
  type: (StringConstructor | NumberConstructor)[];
698
734
  validator(v: any): boolean;
@@ -758,10 +794,10 @@ declare const VStepperVerticalItem: {
758
794
  tag: string;
759
795
  complete: boolean;
760
796
  static: boolean;
797
+ eager: boolean;
761
798
  readonly: boolean;
762
799
  rules: readonly ValidationRule[];
763
800
  tile: boolean;
764
- eager: boolean;
765
801
  ripple: boolean | {
766
802
  class: string;
767
803
  } | undefined;
@@ -778,9 +814,15 @@ declare const VStepperVerticalItem: {
778
814
  title?: string | undefined;
779
815
  text?: string | undefined;
780
816
  value?: any;
817
+ width?: string | number | undefined;
818
+ height?: string | number | undefined;
781
819
  color?: string | undefined;
782
820
  icon?: string | undefined;
783
821
  rounded?: string | number | boolean | undefined;
822
+ maxHeight?: string | number | undefined;
823
+ maxWidth?: string | number | undefined;
824
+ minHeight?: string | number | undefined;
825
+ minWidth?: string | number | undefined;
784
826
  elevation?: string | number | undefined;
785
827
  selectedClass?: string | undefined;
786
828
  bgColor?: string | undefined;
@@ -839,10 +881,10 @@ declare const VStepperVerticalItem: {
839
881
  tag: string;
840
882
  complete: boolean;
841
883
  static: boolean;
884
+ eager: boolean;
842
885
  readonly: boolean;
843
886
  rules: readonly ValidationRule[];
844
887
  tile: boolean;
845
- eager: boolean;
846
888
  ripple: boolean | {
847
889
  class: string;
848
890
  } | undefined;
@@ -859,9 +901,15 @@ declare const VStepperVerticalItem: {
859
901
  title?: string | undefined;
860
902
  text?: string | undefined;
861
903
  value?: any;
904
+ width?: string | number | undefined;
905
+ height?: string | number | undefined;
862
906
  color?: string | undefined;
863
907
  icon?: string | undefined;
864
908
  rounded?: string | number | boolean | undefined;
909
+ maxHeight?: string | number | undefined;
910
+ maxWidth?: string | number | undefined;
911
+ minHeight?: string | number | undefined;
912
+ minWidth?: string | number | undefined;
865
913
  elevation?: string | number | undefined;
866
914
  selectedClass?: string | undefined;
867
915
  bgColor?: string | undefined;
@@ -916,11 +964,11 @@ declare const VStepperVerticalItem: {
916
964
  tag: string;
917
965
  complete: boolean;
918
966
  static: boolean;
967
+ eager: boolean;
919
968
  readonly: boolean;
920
969
  rules: readonly ValidationRule[];
921
970
  rounded: string | number | boolean;
922
971
  tile: boolean;
923
- eager: boolean;
924
972
  ripple: boolean | {
925
973
  class: string;
926
974
  } | undefined;
@@ -974,10 +1022,10 @@ declare const VStepperVerticalItem: {
974
1022
  tag: string;
975
1023
  complete: boolean;
976
1024
  static: boolean;
1025
+ eager: boolean;
977
1026
  readonly: boolean;
978
1027
  rules: readonly ValidationRule[];
979
1028
  tile: boolean;
980
- eager: boolean;
981
1029
  ripple: boolean | {
982
1030
  class: string;
983
1031
  } | undefined;
@@ -994,9 +1042,15 @@ declare const VStepperVerticalItem: {
994
1042
  title?: string | undefined;
995
1043
  text?: string | undefined;
996
1044
  value?: any;
1045
+ width?: string | number | undefined;
1046
+ height?: string | number | undefined;
997
1047
  color?: string | undefined;
998
1048
  icon?: string | undefined;
999
1049
  rounded?: string | number | boolean | undefined;
1050
+ maxHeight?: string | number | undefined;
1051
+ maxWidth?: string | number | undefined;
1052
+ minHeight?: string | number | undefined;
1053
+ minWidth?: string | number | undefined;
1000
1054
  elevation?: string | number | undefined;
1001
1055
  selectedClass?: string | undefined;
1002
1056
  bgColor?: string | undefined;
@@ -1051,11 +1105,11 @@ declare const VStepperVerticalItem: {
1051
1105
  tag: string;
1052
1106
  complete: boolean;
1053
1107
  static: boolean;
1108
+ eager: boolean;
1054
1109
  readonly: boolean;
1055
1110
  rules: readonly ValidationRule[];
1056
1111
  rounded: string | number | boolean;
1057
1112
  tile: boolean;
1058
- eager: boolean;
1059
1113
  ripple: boolean | {
1060
1114
  class: string;
1061
1115
  } | undefined;
@@ -1078,10 +1132,10 @@ declare const VStepperVerticalItem: {
1078
1132
  tag: string;
1079
1133
  complete: boolean;
1080
1134
  static: boolean;
1135
+ eager: boolean;
1081
1136
  readonly: boolean;
1082
1137
  rules: readonly ValidationRule[];
1083
1138
  tile: boolean;
1084
- eager: boolean;
1085
1139
  ripple: boolean | {
1086
1140
  class: string;
1087
1141
  } | undefined;
@@ -1098,9 +1152,15 @@ declare const VStepperVerticalItem: {
1098
1152
  title?: string | undefined;
1099
1153
  text?: string | undefined;
1100
1154
  value?: any;
1155
+ width?: string | number | undefined;
1156
+ height?: string | number | undefined;
1101
1157
  color?: string | undefined;
1102
1158
  icon?: string | undefined;
1103
1159
  rounded?: string | number | boolean | undefined;
1160
+ maxHeight?: string | number | undefined;
1161
+ maxWidth?: string | number | undefined;
1162
+ minHeight?: string | number | undefined;
1163
+ minWidth?: string | number | undefined;
1104
1164
  elevation?: string | number | undefined;
1105
1165
  selectedClass?: string | undefined;
1106
1166
  bgColor?: string | undefined;
@@ -1159,11 +1219,11 @@ declare const VStepperVerticalItem: {
1159
1219
  tag: string;
1160
1220
  complete: boolean;
1161
1221
  static: boolean;
1222
+ eager: boolean;
1162
1223
  readonly: boolean;
1163
1224
  rules: readonly ValidationRule[];
1164
1225
  rounded: string | number | boolean;
1165
1226
  tile: boolean;
1166
- eager: boolean;
1167
1227
  ripple: boolean | {
1168
1228
  class: string;
1169
1229
  } | undefined;
@@ -1212,6 +1272,8 @@ declare const VStepperVerticalItem: {
1212
1272
  title: StringConstructor;
1213
1273
  text: StringConstructor;
1214
1274
  value: null;
1275
+ width: (StringConstructor | NumberConstructor)[];
1276
+ height: (StringConstructor | NumberConstructor)[];
1215
1277
  color: StringConstructor;
1216
1278
  disabled: BooleanConstructor;
1217
1279
  tag: {
@@ -1219,13 +1281,17 @@ declare const VStepperVerticalItem: {
1219
1281
  default: string;
1220
1282
  };
1221
1283
  static: BooleanConstructor;
1284
+ eager: BooleanConstructor;
1222
1285
  readonly: BooleanConstructor;
1223
1286
  rounded: {
1224
1287
  type: (StringConstructor | NumberConstructor | BooleanConstructor)[];
1225
1288
  default: undefined;
1226
1289
  };
1290
+ maxHeight: (StringConstructor | NumberConstructor)[];
1291
+ maxWidth: (StringConstructor | NumberConstructor)[];
1292
+ minHeight: (StringConstructor | NumberConstructor)[];
1293
+ minWidth: (StringConstructor | NumberConstructor)[];
1227
1294
  tile: BooleanConstructor;
1228
- eager: BooleanConstructor;
1229
1295
  elevation: {
1230
1296
  type: (StringConstructor | NumberConstructor)[];
1231
1297
  validator(v: any): boolean;
@@ -1284,6 +1350,8 @@ declare const VStepperVerticalItem: {
1284
1350
  title: StringConstructor;
1285
1351
  text: StringConstructor;
1286
1352
  value: null;
1353
+ width: (StringConstructor | NumberConstructor)[];
1354
+ height: (StringConstructor | NumberConstructor)[];
1287
1355
  color: StringConstructor;
1288
1356
  disabled: BooleanConstructor;
1289
1357
  tag: {
@@ -1291,13 +1359,17 @@ declare const VStepperVerticalItem: {
1291
1359
  default: string;
1292
1360
  };
1293
1361
  static: BooleanConstructor;
1362
+ eager: BooleanConstructor;
1294
1363
  readonly: BooleanConstructor;
1295
1364
  rounded: {
1296
1365
  type: (StringConstructor | NumberConstructor | BooleanConstructor)[];
1297
1366
  default: undefined;
1298
1367
  };
1368
+ maxHeight: (StringConstructor | NumberConstructor)[];
1369
+ maxWidth: (StringConstructor | NumberConstructor)[];
1370
+ minHeight: (StringConstructor | NumberConstructor)[];
1371
+ minWidth: (StringConstructor | NumberConstructor)[];
1299
1372
  tile: BooleanConstructor;
1300
- eager: BooleanConstructor;
1301
1373
  elevation: {
1302
1374
  type: (StringConstructor | NumberConstructor)[];
1303
1375
  validator(v: any): boolean;
@@ -91,6 +91,7 @@ export const VTimePickerClock = genericComponent()({
91
91
  return !props.allowedValues || props.allowedValues(value);
92
92
  }
93
93
  function wheel(e) {
94
+ if (!props.scrollable || props.disabled) return;
94
95
  e.preventDefault();
95
96
  const delta = Math.sign(-e.deltaY || 1);
96
97
  let value = displayedValue.value;
@@ -185,6 +186,7 @@ export const VTimePickerClock = genericComponent()({
185
186
  }
186
187
  }
187
188
  function onMouseDown(e) {
189
+ if (props.disabled) return;
188
190
  e.preventDefault();
189
191
  window.addEventListener('mousemove', onDragMove);
190
192
  window.addEventListener('touchmove', onDragMove);
@@ -215,7 +217,7 @@ export const VTimePickerClock = genericComponent()({
215
217
  }],
216
218
  "onMousedown": onMouseDown,
217
219
  "onTouchstart": onMouseDown,
218
- "onWheel": e => props.scrollable && wheel(e),
220
+ "onWheel": wheel,
219
221
  "ref": clockRef
220
222
  }, [_createVNode("div", {
221
223
  "class": "v-time-picker-clock__inner",
@@ -1 +1 @@
1
- {"version":3,"file":"VTimePickerClock.mjs","names":["useBackgroundColor","useTextColor","computed","ref","toRef","watch","genericComponent","propsFactory","useRender","makeVTimePickerClockProps","allowedValues","Function","ampm","Boolean","color","String","disabled","displayedValue","double","format","type","default","val","max","Number","required","min","scrollable","readonly","rotate","step","modelValue","VTimePickerClock","name","props","emits","change","input","setup","_ref","emit","clockRef","innerClockRef","inputValue","undefined","isDragging","valueOnMouseDown","valueOnMouseUp","textColorClasses","textColorStyles","backgroundColorClasses","backgroundColorStyles","count","roundCount","value","degreesPerUnit","degrees","Math","PI","innerRadiusScale","genChildren","children","push","update","isAllowed","wheel","e","preventDefault","delta","sign","deltaY","isInner","handScale","getPosition","rotateRadians","x","sin","y","cos","angleToValue","angle","insideClick","round","getTransform","i","left","top","euclidean","p0","p1","dx","dy","sqrt","center","atan2","abs","setMouseDownValue","onDragMove","width","getBoundingClientRect","innerWidth","clientX","clientY","touches","coords","handAngle","checksCount","ceil","onMouseDown","window","addEventListener","onMouseUp","stopPropagation","removeEventListener","_createVNode","transform","map","isActive"],"sources":["../../../src/labs/VTimePicker/VTimePickerClock.tsx"],"sourcesContent":["// StylesthisValue\n// Styles\nimport './VTimePickerClock.sass'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\ninterface Point {\n x: number\n y: number\n}\n\nexport const makeVTimePickerClockProps = propsFactory({\n allowedValues: Function as PropType<(value: number) => boolean>,\n ampm: Boolean,\n color: String,\n disabled: Boolean,\n displayedValue: null,\n double: Boolean,\n format: {\n type: Function,\n default: (val: string | number) => val,\n },\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n scrollable: Boolean,\n readonly: Boolean,\n rotate: {\n type: Number,\n default: 0,\n },\n step: {\n type: Number,\n default: 1,\n },\n modelValue: {\n type: Number,\n },\n}, 'VTimePickerClock')\n\nexport const VTimePickerClock = genericComponent()({\n name: 'VTimePickerClock',\n\n props: makeVTimePickerClockProps(),\n\n emits: {\n change: (val: number) => val,\n input: (val: number) => val,\n },\n\n setup (props, { emit }) {\n const clockRef = ref<HTMLElement | null>(null)\n const innerClockRef = ref<HTMLElement | null>(null)\n const inputValue = ref<number | undefined>(undefined)\n const isDragging = ref(false)\n const valueOnMouseDown = ref(null as number | null)\n const valueOnMouseUp = ref(null as number | null)\n\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n\n const count = computed(() => props.max - props.min + 1)\n const roundCount = computed(() => props.double ? (count.value / 2) : count.value)\n const degreesPerUnit = computed(() => 360 / roundCount.value)\n const degrees = computed(() => degreesPerUnit.value * Math.PI / 180)\n const displayedValue = computed(() => props.modelValue == null ? props.min : props.modelValue)\n const innerRadiusScale = computed(() => 0.62)\n\n const genChildren = computed(() => {\n const children = []\n for (let value = props.min; value <= props.max; value = value + props.step) {\n children.push(value)\n }\n return children\n })\n\n watch(() => props.modelValue, val => {\n inputValue.value = val\n })\n\n function update (value: number) {\n if (inputValue.value !== value) {\n inputValue.value = value\n }\n emit('input', value)\n }\n\n function isAllowed (value: number) {\n return !props.allowedValues || props.allowedValues(value)\n }\n\n function wheel (e: WheelEvent) {\n e.preventDefault()\n\n const delta = Math.sign(-e.deltaY || 1)\n let value = displayedValue.value\n do {\n value = value + delta\n value = (value - props.min + count.value) % count.value + props.min\n } while (!isAllowed(value) && value !== displayedValue.value)\n\n if (value !== props.displayedValue) {\n update(value)\n }\n }\n\n function isInner (value: number) {\n return props.double && (value - props.min >= roundCount.value)\n }\n\n function handScale (value: number) {\n return isInner(value) ? innerRadiusScale.value : 1\n }\n\n function getPosition (value: number) {\n const rotateRadians = props.rotate * Math.PI / 180\n return {\n x: Math.sin((value - props.min) * degrees.value + rotateRadians) * handScale(value),\n y: -Math.cos((value - props.min) * degrees.value + rotateRadians) * handScale(value),\n }\n }\n\n function angleToValue (angle: number, insideClick: boolean): number {\n const value = (\n Math.round(angle / degreesPerUnit.value) +\n (insideClick ? roundCount.value : 0)\n ) % count.value + props.min\n\n // Necessary to fix edge case when selecting left part of the value(s) at 12 o'clock\n if (angle < (360 - degreesPerUnit.value / 2)) return value\n\n return insideClick ? props.max - roundCount.value + 1 : props.min\n }\n\n function getTransform (i: number) {\n const { x, y } = getPosition(i)\n return {\n left: `${50 + x * 50}%`,\n top: `${50 + y * 50}%`,\n }\n }\n\n function euclidean (p0: Point, p1: Point) {\n const dx = p1.x - p0.x\n const dy = p1.y - p0.y\n\n return Math.sqrt(dx * dx + dy * dy)\n }\n\n function angle (center: Point, p1: Point) {\n const value = 2 * Math.atan2(p1.y - center.y - euclidean(center, p1), p1.x - center.x)\n return Math.abs(value * 180 / Math.PI)\n }\n\n function setMouseDownValue (value: number) {\n if (valueOnMouseDown.value === null) {\n valueOnMouseDown.value = value\n }\n\n valueOnMouseUp.value = value\n update(value)\n }\n\n function onDragMove (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n if ((!isDragging.value && e.type !== 'click') || !clockRef.value) return\n const { width, top, left } = clockRef.value?.getBoundingClientRect()\n const { width: innerWidth }: DOMRect = innerClockRef.value?.getBoundingClientRect() ?? { width: 0 } as DOMRect\n const { clientX, clientY } = 'touches' in e ? e.touches[0] : e\n const center = { x: width / 2, y: -width / 2 }\n const coords = { x: clientX - left, y: top - clientY }\n const handAngle = Math.round(angle(center, coords) - props.rotate + 360) % 360\n const insideClick = props.double && euclidean(center, coords) < (innerWidth as number + innerWidth * innerRadiusScale.value) / 4\n const checksCount = Math.ceil(15 / degreesPerUnit.value)\n let value\n\n for (let i = 0; i < checksCount; i++) {\n value = angleToValue(handAngle + i * degreesPerUnit.value, insideClick)\n if (isAllowed(value)) return setMouseDownValue(value)\n\n value = angleToValue(handAngle - i * degreesPerUnit.value, insideClick)\n if (isAllowed(value)) return setMouseDownValue(value)\n }\n }\n\n function onMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n window.addEventListener('mousemove', onDragMove)\n window.addEventListener('touchmove', onDragMove)\n window.addEventListener('mouseup', onMouseUp)\n window.addEventListener('touchend', onMouseUp)\n valueOnMouseDown.value = null\n valueOnMouseUp.value = null\n isDragging.value = true\n onDragMove(e)\n }\n\n function onMouseUp (e: MouseEvent | TouchEvent) {\n e.stopPropagation()\n window.removeEventListener('mousemove', onDragMove)\n window.removeEventListener('touchmove', onDragMove)\n window.removeEventListener('mouseup', onMouseUp)\n window.removeEventListener('touchend', onMouseUp)\n\n isDragging.value = false\n if (valueOnMouseUp.value !== null && isAllowed(valueOnMouseUp.value)) {\n emit('change', valueOnMouseUp.value)\n }\n }\n\n useRender(() => {\n return (\n <div\n class={[\n {\n 'v-time-picker-clock': true,\n 'v-time-picker-clock--indeterminate': props.modelValue == null,\n 'v-time-picker-clock--readonly': props.readonly,\n },\n ]}\n onMousedown={ onMouseDown }\n onTouchstart={ onMouseDown }\n onWheel={ (e: WheelEvent) => (props.scrollable && wheel(e)) }\n ref={ clockRef }\n >\n <div class=\"v-time-picker-clock__inner\" ref={ innerClockRef }>\n <div\n class={[\n {\n 'v-time-picker-clock__hand': true,\n 'v-time-picker-clock__hand--inner': isInner(props.modelValue as number),\n },\n textColorClasses.value,\n ]}\n style={[\n {\n transform: `rotate(${props.rotate + degreesPerUnit.value * (displayedValue.value - props.min)}deg) scaleY(${handScale(displayedValue.value)})`,\n },\n textColorStyles.value,\n ]}\n />\n\n {\n genChildren.value.map(value => {\n const isActive = value === displayedValue.value\n\n return (\n <div\n class={[\n {\n 'v-time-picker-clock__item': true,\n 'v-time-picker-clock__item--active': isActive,\n 'v-time-picker-clock__item--disabled': props.disabled || !isAllowed(value),\n },\n isActive && backgroundColorClasses.value,\n ]}\n style={[\n getTransform(value),\n isActive && backgroundColorStyles.value,\n ]}\n >\n <span>{ props.format(value) }</span>\n </div>\n )\n })\n }\n </div>\n </div>\n )\n })\n },\n})\n\nexport type VTimePickerClock = InstanceType<typeof VTimePickerClock>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VTimePickerClock.mjs","names":["useBackgroundColor","useTextColor","computed","ref","toRef","watch","genericComponent","propsFactory","useRender","makeVTimePickerClockProps","allowedValues","Function","ampm","Boolean","color","String","disabled","displayedValue","double","format","type","default","val","max","Number","required","min","scrollable","readonly","rotate","step","modelValue","VTimePickerClock","name","props","emits","change","input","setup","_ref","emit","clockRef","innerClockRef","inputValue","undefined","isDragging","valueOnMouseDown","valueOnMouseUp","textColorClasses","textColorStyles","backgroundColorClasses","backgroundColorStyles","count","roundCount","value","degreesPerUnit","degrees","Math","PI","innerRadiusScale","genChildren","children","push","update","isAllowed","wheel","e","preventDefault","delta","sign","deltaY","isInner","handScale","getPosition","rotateRadians","x","sin","y","cos","angleToValue","angle","insideClick","round","getTransform","i","left","top","euclidean","p0","p1","dx","dy","sqrt","center","atan2","abs","setMouseDownValue","onDragMove","width","getBoundingClientRect","innerWidth","clientX","clientY","touches","coords","handAngle","checksCount","ceil","onMouseDown","window","addEventListener","onMouseUp","stopPropagation","removeEventListener","_createVNode","transform","map","isActive"],"sources":["../../../src/labs/VTimePicker/VTimePickerClock.tsx"],"sourcesContent":["// StylesthisValue\n// Styles\nimport './VTimePickerClock.sass'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\ninterface Point {\n x: number\n y: number\n}\n\nexport const makeVTimePickerClockProps = propsFactory({\n allowedValues: Function as PropType<(value: number) => boolean>,\n ampm: Boolean,\n color: String,\n disabled: Boolean,\n displayedValue: null,\n double: Boolean,\n format: {\n type: Function,\n default: (val: string | number) => val,\n },\n max: {\n type: Number,\n required: true,\n },\n min: {\n type: Number,\n required: true,\n },\n scrollable: Boolean,\n readonly: Boolean,\n rotate: {\n type: Number,\n default: 0,\n },\n step: {\n type: Number,\n default: 1,\n },\n modelValue: {\n type: Number,\n },\n}, 'VTimePickerClock')\n\nexport const VTimePickerClock = genericComponent()({\n name: 'VTimePickerClock',\n\n props: makeVTimePickerClockProps(),\n\n emits: {\n change: (val: number) => val,\n input: (val: number) => val,\n },\n\n setup (props, { emit }) {\n const clockRef = ref<HTMLElement | null>(null)\n const innerClockRef = ref<HTMLElement | null>(null)\n const inputValue = ref<number | undefined>(undefined)\n const isDragging = ref(false)\n const valueOnMouseDown = ref(null as number | null)\n const valueOnMouseUp = ref(null as number | null)\n\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n\n const count = computed(() => props.max - props.min + 1)\n const roundCount = computed(() => props.double ? (count.value / 2) : count.value)\n const degreesPerUnit = computed(() => 360 / roundCount.value)\n const degrees = computed(() => degreesPerUnit.value * Math.PI / 180)\n const displayedValue = computed(() => props.modelValue == null ? props.min : props.modelValue)\n const innerRadiusScale = computed(() => 0.62)\n\n const genChildren = computed(() => {\n const children = []\n for (let value = props.min; value <= props.max; value = value + props.step) {\n children.push(value)\n }\n return children\n })\n\n watch(() => props.modelValue, val => {\n inputValue.value = val\n })\n\n function update (value: number) {\n if (inputValue.value !== value) {\n inputValue.value = value\n }\n emit('input', value)\n }\n\n function isAllowed (value: number) {\n return !props.allowedValues || props.allowedValues(value)\n }\n\n function wheel (e: WheelEvent) {\n if (!props.scrollable || props.disabled) return\n\n e.preventDefault()\n\n const delta = Math.sign(-e.deltaY || 1)\n let value = displayedValue.value\n do {\n value = value + delta\n value = (value - props.min + count.value) % count.value + props.min\n } while (!isAllowed(value) && value !== displayedValue.value)\n\n if (value !== props.displayedValue) {\n update(value)\n }\n }\n\n function isInner (value: number) {\n return props.double && (value - props.min >= roundCount.value)\n }\n\n function handScale (value: number) {\n return isInner(value) ? innerRadiusScale.value : 1\n }\n\n function getPosition (value: number) {\n const rotateRadians = props.rotate * Math.PI / 180\n return {\n x: Math.sin((value - props.min) * degrees.value + rotateRadians) * handScale(value),\n y: -Math.cos((value - props.min) * degrees.value + rotateRadians) * handScale(value),\n }\n }\n\n function angleToValue (angle: number, insideClick: boolean): number {\n const value = (\n Math.round(angle / degreesPerUnit.value) +\n (insideClick ? roundCount.value : 0)\n ) % count.value + props.min\n\n // Necessary to fix edge case when selecting left part of the value(s) at 12 o'clock\n if (angle < (360 - degreesPerUnit.value / 2)) return value\n\n return insideClick ? props.max - roundCount.value + 1 : props.min\n }\n\n function getTransform (i: number) {\n const { x, y } = getPosition(i)\n return {\n left: `${50 + x * 50}%`,\n top: `${50 + y * 50}%`,\n }\n }\n\n function euclidean (p0: Point, p1: Point) {\n const dx = p1.x - p0.x\n const dy = p1.y - p0.y\n\n return Math.sqrt(dx * dx + dy * dy)\n }\n\n function angle (center: Point, p1: Point) {\n const value = 2 * Math.atan2(p1.y - center.y - euclidean(center, p1), p1.x - center.x)\n return Math.abs(value * 180 / Math.PI)\n }\n\n function setMouseDownValue (value: number) {\n if (valueOnMouseDown.value === null) {\n valueOnMouseDown.value = value\n }\n\n valueOnMouseUp.value = value\n update(value)\n }\n\n function onDragMove (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n if ((!isDragging.value && e.type !== 'click') || !clockRef.value) return\n const { width, top, left } = clockRef.value?.getBoundingClientRect()\n const { width: innerWidth }: DOMRect = innerClockRef.value?.getBoundingClientRect() ?? { width: 0 } as DOMRect\n const { clientX, clientY } = 'touches' in e ? e.touches[0] : e\n const center = { x: width / 2, y: -width / 2 }\n const coords = { x: clientX - left, y: top - clientY }\n const handAngle = Math.round(angle(center, coords) - props.rotate + 360) % 360\n const insideClick = props.double && euclidean(center, coords) < (innerWidth as number + innerWidth * innerRadiusScale.value) / 4\n const checksCount = Math.ceil(15 / degreesPerUnit.value)\n let value\n\n for (let i = 0; i < checksCount; i++) {\n value = angleToValue(handAngle + i * degreesPerUnit.value, insideClick)\n if (isAllowed(value)) return setMouseDownValue(value)\n\n value = angleToValue(handAngle - i * degreesPerUnit.value, insideClick)\n if (isAllowed(value)) return setMouseDownValue(value)\n }\n }\n\n function onMouseDown (e: MouseEvent | TouchEvent) {\n if (props.disabled) return\n\n e.preventDefault()\n\n window.addEventListener('mousemove', onDragMove)\n window.addEventListener('touchmove', onDragMove)\n window.addEventListener('mouseup', onMouseUp)\n window.addEventListener('touchend', onMouseUp)\n valueOnMouseDown.value = null\n valueOnMouseUp.value = null\n isDragging.value = true\n onDragMove(e)\n }\n\n function onMouseUp (e: MouseEvent | TouchEvent) {\n e.stopPropagation()\n window.removeEventListener('mousemove', onDragMove)\n window.removeEventListener('touchmove', onDragMove)\n window.removeEventListener('mouseup', onMouseUp)\n window.removeEventListener('touchend', onMouseUp)\n\n isDragging.value = false\n if (valueOnMouseUp.value !== null && isAllowed(valueOnMouseUp.value)) {\n emit('change', valueOnMouseUp.value)\n }\n }\n\n useRender(() => {\n return (\n <div\n class={[\n {\n 'v-time-picker-clock': true,\n 'v-time-picker-clock--indeterminate': props.modelValue == null,\n 'v-time-picker-clock--readonly': props.readonly,\n },\n ]}\n onMousedown={ onMouseDown }\n onTouchstart={ onMouseDown }\n onWheel={ wheel }\n ref={ clockRef }\n >\n <div class=\"v-time-picker-clock__inner\" ref={ innerClockRef }>\n <div\n class={[\n {\n 'v-time-picker-clock__hand': true,\n 'v-time-picker-clock__hand--inner': isInner(props.modelValue as number),\n },\n textColorClasses.value,\n ]}\n style={[\n {\n transform: `rotate(${props.rotate + degreesPerUnit.value * (displayedValue.value - props.min)}deg) scaleY(${handScale(displayedValue.value)})`,\n },\n textColorStyles.value,\n ]}\n />\n\n {\n genChildren.value.map(value => {\n const isActive = value === displayedValue.value\n\n return (\n <div\n class={[\n {\n 'v-time-picker-clock__item': true,\n 'v-time-picker-clock__item--active': isActive,\n 'v-time-picker-clock__item--disabled': props.disabled || !isAllowed(value),\n },\n isActive && backgroundColorClasses.value,\n ]}\n style={[\n getTransform(value),\n isActive && backgroundColorStyles.value,\n ]}\n >\n <span>{ props.format(value) }</span>\n </div>\n )\n })\n }\n </div>\n </div>\n )\n })\n },\n})\n\nexport type VTimePickerClock = InstanceType<typeof VTimePickerClock>\n"],"mappings":"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","ignoreList":[]}
@@ -52,6 +52,7 @@ export const VTimePickerControls = genericComponent()({
52
52
  }, [_createVNode(VBtn, {
53
53
  "active": props.selecting === 1,
54
54
  "color": props.selecting === 1 ? props.color : undefined,
55
+ "disabled": props.disabled,
55
56
  "variant": "tonal",
56
57
  "class": {
57
58
  'v-time-picker-controls__time__btn': true,
@@ -73,6 +74,7 @@ export const VTimePickerControls = genericComponent()({
73
74
  'v-time-picker-controls__time--with-ampm__btn': props.ampm,
74
75
  'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
75
76
  },
77
+ "disabled": props.disabled,
76
78
  "variant": "tonal",
77
79
  "text": props.minute == null ? '--' : pad(props.minute),
78
80
  "onClick": () => emit('update:selecting', SelectingTimes.Minute)
@@ -90,6 +92,7 @@ export const VTimePickerControls = genericComponent()({
90
92
  'v-time-picker-controls__time__btn__active': props.selecting === 3,
91
93
  'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
92
94
  },
95
+ "disabled": props.disabled,
93
96
  "text": props.second == null ? '--' : pad(props.second)
94
97
  }, null), props.ampm && _createVNode("div", {
95
98
  "class": ['v-time-picker-controls__ampm', {
@@ -103,8 +106,9 @@ export const VTimePickerControls = genericComponent()({
103
106
  'v-time-picker-controls__ampm__btn': true,
104
107
  'v-time-picker-controls__ampm__btn__active': props.period === 'am'
105
108
  },
109
+ "disabled": props.disabled,
106
110
  "text": t('$vuetify.timePicker.am'),
107
- "variant": "tonal",
111
+ "variant": props.disabled && props.period === 'am' ? 'elevated' : 'tonal',
108
112
  "onClick": () => props.period !== 'am' ? emit('update:period', 'am') : null
109
113
  }, null), _createVNode(VBtn, {
110
114
  "active": props.period === 'pm',
@@ -114,8 +118,9 @@ export const VTimePickerControls = genericComponent()({
114
118
  'v-time-picker-controls__ampm__btn': true,
115
119
  'v-time-picker-controls__ampm__btn__active': props.period === 'pm'
116
120
  },
121
+ "disabled": props.disabled,
117
122
  "text": t('$vuetify.timePicker.pm'),
118
- "variant": "tonal",
123
+ "variant": props.disabled && props.period === 'pm' ? 'elevated' : 'tonal',
119
124
  "onClick": () => props.period !== 'pm' ? emit('update:period', 'pm') : null
120
125
  }, null)])])]);
121
126
  });