@vuetify/nightly 3.8.8-master.2025-06-10 → 3.8.9-dev.2025-06-11

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 (168) hide show
  1. package/CHANGELOG.md +39 -19
  2. package/dist/json/attributes.json +1662 -1538
  3. package/dist/json/importMap-labs.json +36 -36
  4. package/dist/json/importMap.json +164 -164
  5. package/dist/json/tags.json +32 -1
  6. package/dist/json/web-types.json +3166 -2780
  7. package/dist/vuetify-labs.cjs +389 -146
  8. package/dist/vuetify-labs.css +3499 -3465
  9. package/dist/vuetify-labs.d.ts +2602 -2062
  10. package/dist/vuetify-labs.esm.js +390 -147
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +389 -146
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +383 -135
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +5561 -5527
  17. package/dist/vuetify.d.ts +1598 -1098
  18. package/dist/vuetify.esm.js +384 -136
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +383 -135
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +1219 -1203
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAlert/VAlert.css +6 -1
  26. package/lib/components/VAlert/VAlert.d.ts +35 -0
  27. package/lib/components/VAlert/VAlert.js +15 -10
  28. package/lib/components/VAlert/VAlert.js.map +1 -1
  29. package/lib/components/VAlert/VAlert.sass +7 -1
  30. package/lib/components/VAppBar/VAppBar.d.ts +15 -3
  31. package/lib/components/VAppBar/VAppBarNavIcon.d.ts +20 -10
  32. package/lib/components/VAutocomplete/VAutocomplete.d.ts +154 -103
  33. package/lib/components/VAutocomplete/VAutocomplete.js +21 -3
  34. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  35. package/lib/components/VBadge/VBadge.d.ts +60 -0
  36. package/lib/components/VBadge/VBadge.js +7 -2
  37. package/lib/components/VBadge/VBadge.js.map +1 -1
  38. package/lib/components/VBtn/VBtn.d.ts +20 -10
  39. package/lib/components/VBtnGroup/VBtnGroup.css +30 -7
  40. package/lib/components/VBtnGroup/VBtnGroup.d.ts +58 -32
  41. package/lib/components/VBtnGroup/VBtnGroup.js +7 -3
  42. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  43. package/lib/components/VBtnGroup/VBtnGroup.sass +44 -17
  44. package/lib/components/VBtnToggle/VBtnToggle.d.ts +25 -0
  45. package/lib/components/VCard/VCard.d.ts +20 -10
  46. package/lib/components/VCheckbox/VCheckbox.d.ts +23 -13
  47. package/lib/components/VCheckbox/VCheckboxBtn.d.ts +20 -10
  48. package/lib/components/VChip/VChip.d.ts +20 -10
  49. package/lib/components/VChipGroup/VChipGroup.d.ts +10 -0
  50. package/lib/components/VCombobox/VCombobox.d.ts +154 -103
  51. package/lib/components/VCombobox/VCombobox.js +22 -3
  52. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  53. package/lib/components/VDataTable/VDataTable.d.ts +60 -0
  54. package/lib/components/VDataTable/VDataTableHeaders.d.ts +13 -0
  55. package/lib/components/VDataTable/VDataTableHeaders.js +4 -2
  56. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  57. package/lib/components/VDataTable/VDataTableServer.d.ts +42 -0
  58. package/lib/components/VDataTable/VDataTableVirtual.d.ts +42 -0
  59. package/lib/components/VDatePicker/VDatePicker.d.ts +10 -0
  60. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +10 -0
  61. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
  62. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  63. package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +20 -10
  64. package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +20 -10
  65. package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +20 -10
  66. package/lib/components/VFab/VFab.d.ts +20 -10
  67. package/lib/components/VField/VField.d.ts +3 -3
  68. package/lib/components/VFileInput/VFileInput.d.ts +15 -15
  69. package/lib/components/VInfiniteScroll/VInfiniteScroll.d.ts +9 -3
  70. package/lib/components/VInfiniteScroll/VInfiniteScroll.js +29 -0
  71. package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
  72. package/lib/components/VInput/VInput.d.ts +4 -4
  73. package/lib/components/VList/VList.d.ts +13 -0
  74. package/lib/components/VList/VList.js +4 -1
  75. package/lib/components/VList/VList.js.map +1 -1
  76. package/lib/components/VList/VListChildren.js.map +1 -1
  77. package/lib/components/VList/VListItem.d.ts +23 -10
  78. package/lib/components/VList/VListItem.js +7 -3
  79. package/lib/components/VList/VListItem.js.map +1 -1
  80. package/lib/components/VList/list.d.ts +9 -2
  81. package/lib/components/VList/list.js +7 -0
  82. package/lib/components/VList/list.js.map +1 -1
  83. package/lib/components/VNumberInput/VNumberInput.d.ts +103 -89
  84. package/lib/components/VNumberInput/VNumberInput.js +19 -4
  85. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  86. package/lib/components/VOtpInput/VOtpInput.js +2 -1
  87. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  88. package/lib/components/VOverlay/VOverlay.css +1 -1
  89. package/lib/components/VOverlay/_variables.scss +1 -1
  90. package/lib/components/VRadio/VRadio.d.ts +20 -10
  91. package/lib/components/VRadioGroup/VRadioGroup.d.ts +23 -13
  92. package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
  93. package/lib/components/VSelect/VSelect.d.ts +171 -107
  94. package/lib/components/VSelect/VSelect.js +21 -3
  95. package/lib/components/VSelect/VSelect.js.map +1 -1
  96. package/lib/components/VSelectionControl/VSelectionControl.d.ts +20 -10
  97. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +28 -14
  98. package/lib/components/VSlideGroup/VSlideGroup.d.ts +10 -0
  99. package/lib/components/VSlideGroup/VSlideGroup.js +2 -1
  100. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  101. package/lib/components/VSlider/VSlider.d.ts +3 -3
  102. package/lib/components/VSlider/VSliderThumb.d.ts +20 -10
  103. package/lib/components/VStepper/VStepperItem.d.ts +28 -14
  104. package/lib/components/VSwitch/VSwitch.d.ts +23 -13
  105. package/lib/components/VTable/VTable.css +6 -0
  106. package/lib/components/VTable/VTable.d.ts +55 -24
  107. package/lib/components/VTable/VTable.js +9 -2
  108. package/lib/components/VTable/VTable.js.map +1 -1
  109. package/lib/components/VTable/VTable.sass +14 -0
  110. package/lib/components/VTable/_variables.scss +1 -0
  111. package/lib/components/VTabs/VTab.d.ts +56 -28
  112. package/lib/components/VTabs/VTabs.d.ts +10 -0
  113. package/lib/components/VTextField/VTextField.d.ts +27 -27
  114. package/lib/components/VTextarea/VTextarea.d.ts +15 -15
  115. package/lib/components/VToolbar/VToolbar.d.ts +15 -3
  116. package/lib/components/VToolbar/VToolbar.js +6 -3
  117. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  118. package/lib/composables/calendar.d.ts +6 -0
  119. package/lib/composables/calendar.js +2 -1
  120. package/lib/composables/calendar.js.map +1 -1
  121. package/lib/composables/date/DateAdapter.d.ts +3 -3
  122. package/lib/composables/date/DateAdapter.js.map +1 -1
  123. package/lib/composables/date/adapters/string.d.ts +54 -0
  124. package/lib/composables/date/adapters/string.js +153 -0
  125. package/lib/composables/date/adapters/string.js.map +1 -0
  126. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  127. package/lib/composables/date/adapters/vuetify.js +4 -4
  128. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  129. package/lib/composables/date/date.d.ts +3 -3
  130. package/lib/composables/date/index.d.ts +1 -0
  131. package/lib/composables/date/index.js +1 -0
  132. package/lib/composables/date/index.js.map +1 -1
  133. package/lib/composables/filter.js +3 -0
  134. package/lib/composables/filter.js.map +1 -1
  135. package/lib/composables/iconSizes.d.ts +28 -0
  136. package/lib/composables/iconSizes.js +23 -0
  137. package/lib/composables/iconSizes.js.map +1 -0
  138. package/lib/composables/theme.d.ts +6 -1
  139. package/lib/composables/theme.js +94 -26
  140. package/lib/composables/theme.js.map +1 -1
  141. package/lib/composables/virtual.js +6 -1
  142. package/lib/composables/virtual.js.map +1 -1
  143. package/lib/directives/ripple/index.d.ts +2 -1
  144. package/lib/directives/ripple/index.js +12 -7
  145. package/lib/directives/ripple/index.js.map +1 -1
  146. package/lib/entry-bundler.d.ts +3 -3
  147. package/lib/entry-bundler.js +1 -1
  148. package/lib/entry-bundler.js.map +1 -1
  149. package/lib/framework.d.ts +84 -69
  150. package/lib/framework.js +1 -1
  151. package/lib/framework.js.map +1 -1
  152. package/lib/labs/VCalendar/VCalendar.d.ts +10 -0
  153. package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
  154. package/lib/labs/VDateInput/VDateInput.d.ts +97 -87
  155. package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
  156. package/lib/labs/VFileUpload/VFileUploadItem.d.ts +20 -10
  157. package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
  158. package/lib/labs/VIconBtn/VIconBtn.js +7 -11
  159. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  160. package/lib/labs/VStepperVertical/VStepperVertical.d.ts +20 -10
  161. package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +20 -10
  162. package/lib/labs/VTreeview/VTreeview.d.ts +13 -0
  163. package/lib/labs/VTreeview/VTreeviewItem.d.ts +20 -10
  164. package/lib/labs/entry-bundler.d.ts +3 -3
  165. package/lib/util/globals.d.ts +1 -0
  166. package/lib/util/globals.js +1 -0
  167. package/lib/util/globals.js.map +1 -1
  168. package/package.json +3 -1
@@ -322,8 +322,8 @@ export declare const VFileUpload: {
322
322
  rounded?: string | number | boolean | undefined;
323
323
  closeDelay?: string | number | undefined;
324
324
  openDelay?: string | number | undefined;
325
- subtitle?: string | undefined;
326
325
  thickness?: string | number | undefined;
326
+ subtitle?: string | undefined;
327
327
  } & {
328
328
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
329
329
  browse?: ((arg: {
@@ -468,8 +468,8 @@ export declare const VFileUpload: {
468
468
  rounded?: string | number | boolean | undefined;
469
469
  closeDelay?: string | number | undefined;
470
470
  openDelay?: string | number | undefined;
471
- subtitle?: string | undefined;
472
471
  thickness?: string | number | undefined;
472
+ subtitle?: string | undefined;
473
473
  } & {
474
474
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
475
475
  browse?: ((arg: {
@@ -590,8 +590,8 @@ export declare const VFileUpload: {
590
590
  rounded?: string | number | boolean | undefined;
591
591
  closeDelay?: string | number | undefined;
592
592
  openDelay?: string | number | undefined;
593
- subtitle?: string | undefined;
594
593
  thickness?: string | number | undefined;
594
+ subtitle?: string | undefined;
595
595
  } & {
596
596
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
597
597
  browse?: ((arg: {
@@ -269,14 +269,18 @@ export declare const makeVFileUploadItemProps: <Defaults extends {
269
269
  default: boolean;
270
270
  }, "type" | "default"> & {
271
271
  type: PropType<unknown extends Defaults["ripple"] ? boolean | {
272
- class: string;
272
+ class?: string;
273
+ keys?: number[];
273
274
  } | undefined : boolean | {
274
- class: string;
275
+ class?: string;
276
+ keys?: number[];
275
277
  } | Defaults["ripple"] | undefined>;
276
278
  default: unknown extends Defaults["ripple"] ? boolean | {
277
- class: string;
279
+ class?: string;
280
+ keys?: number[];
278
281
  } | undefined : NonNullable<boolean | {
279
- class: string;
282
+ class?: string;
283
+ keys?: number[];
280
284
  } | undefined> | Defaults["ripple"];
281
285
  };
282
286
  slim: unknown extends Defaults["slim"] ? BooleanConstructor : {
@@ -361,7 +365,8 @@ export declare const VFileUploadItem: {
361
365
  tile: boolean;
362
366
  slim: boolean;
363
367
  ripple: boolean | {
364
- class: string;
368
+ class?: string;
369
+ keys?: number[];
365
370
  } | undefined;
366
371
  clearable: boolean;
367
372
  showSize: boolean;
@@ -454,7 +459,8 @@ export declare const VFileUploadItem: {
454
459
  tile: boolean;
455
460
  slim: boolean;
456
461
  ripple: boolean | {
457
- class: string;
462
+ class?: string;
463
+ keys?: number[];
458
464
  } | undefined;
459
465
  subtitle: string | number | boolean;
460
466
  clearable: boolean;
@@ -494,7 +500,8 @@ export declare const VFileUploadItem: {
494
500
  tile: boolean;
495
501
  slim: boolean;
496
502
  ripple: boolean | {
497
- class: string;
503
+ class?: string;
504
+ keys?: number[];
498
505
  } | undefined;
499
506
  clearable: boolean;
500
507
  showSize: boolean;
@@ -584,7 +591,8 @@ export declare const VFileUploadItem: {
584
591
  tile: boolean;
585
592
  slim: boolean;
586
593
  ripple: boolean | {
587
- class: string;
594
+ class?: string;
595
+ keys?: number[];
588
596
  } | undefined;
589
597
  subtitle: string | number | boolean;
590
598
  clearable: boolean;
@@ -610,7 +618,8 @@ export declare const VFileUploadItem: {
610
618
  tile: boolean;
611
619
  slim: boolean;
612
620
  ripple: boolean | {
613
- class: string;
621
+ class?: string;
622
+ keys?: number[];
614
623
  } | undefined;
615
624
  clearable: boolean;
616
625
  showSize: boolean;
@@ -703,7 +712,8 @@ export declare const VFileUploadItem: {
703
712
  tile: boolean;
704
713
  slim: boolean;
705
714
  ripple: boolean | {
706
- class: string;
715
+ class?: string;
716
+ keys?: number[];
707
717
  } | undefined;
708
718
  subtitle: string | number | boolean;
709
719
  clearable: boolean;
@@ -13,6 +13,8 @@ export declare const makeVIconBtnProps: <Defaults extends {
13
13
  tag?: unknown;
14
14
  rounded?: unknown;
15
15
  tile?: unknown;
16
+ iconSize?: unknown;
17
+ iconSizes?: unknown;
16
18
  elevation?: unknown;
17
19
  class?: unknown;
18
20
  style?: unknown;
@@ -28,8 +30,6 @@ export declare const makeVIconBtnProps: <Defaults extends {
28
30
  hideOverlay?: unknown;
29
31
  icon?: unknown;
30
32
  iconColor?: unknown;
31
- iconSize?: unknown;
32
- iconSizes?: unknown;
33
33
  loading?: unknown;
34
34
  opacity?: unknown;
35
35
  readonly?: unknown;
@@ -94,6 +94,20 @@ export declare const makeVIconBtnProps: <Defaults extends {
94
94
  type: PropType<unknown extends Defaults["tile"] ? boolean : boolean | Defaults["tile"]>;
95
95
  default: unknown extends Defaults["tile"] ? boolean : boolean | Defaults["tile"];
96
96
  };
97
+ iconSize: unknown extends Defaults["iconSize"] ? PropType<string | number> : {
98
+ type: PropType<unknown extends Defaults["iconSize"] ? string | number : string | number | Defaults["iconSize"]>;
99
+ default: unknown extends Defaults["iconSize"] ? string | number : NonNullable<string | number> | Defaults["iconSize"];
100
+ };
101
+ iconSizes: unknown extends Defaults["iconSizes"] ? {
102
+ type: PropType<[VIconBtnSizes, number][]>;
103
+ default: () => (string | number)[][];
104
+ } : Omit<{
105
+ type: PropType<[VIconBtnSizes, number][]>;
106
+ default: () => (string | number)[][];
107
+ }, "type" | "default"> & {
108
+ type: PropType<unknown extends Defaults["iconSizes"] ? [VIconBtnSizes, number][] : [VIconBtnSizes, number][] | Defaults["iconSizes"]>;
109
+ default: unknown extends Defaults["iconSizes"] ? [VIconBtnSizes, number][] : [VIconBtnSizes, number][] | Defaults["iconSizes"];
110
+ };
97
111
  elevation: unknown extends Defaults["elevation"] ? {
98
112
  type: (StringConstructor | NumberConstructor)[];
99
113
  validator(v: any): boolean;
@@ -178,20 +192,6 @@ export declare const makeVIconBtnProps: <Defaults extends {
178
192
  type: PropType<unknown extends Defaults["iconColor"] ? string : string | Defaults["iconColor"]>;
179
193
  default: unknown extends Defaults["iconColor"] ? string : string | Defaults["iconColor"];
180
194
  };
181
- iconSize: unknown extends Defaults["iconSize"] ? PropType<string | number> : {
182
- type: PropType<unknown extends Defaults["iconSize"] ? string | number : string | number | Defaults["iconSize"]>;
183
- default: unknown extends Defaults["iconSize"] ? string | number : NonNullable<string | number> | Defaults["iconSize"];
184
- };
185
- iconSizes: unknown extends Defaults["iconSizes"] ? {
186
- type: PropType<[VIconBtnSizes, number][]>;
187
- default: () => (string | number)[][];
188
- } : Omit<{
189
- type: PropType<[VIconBtnSizes, number][]>;
190
- default: () => (string | number)[][];
191
- }, "type" | "default"> & {
192
- type: PropType<unknown extends Defaults["iconSizes"] ? [VIconBtnSizes, number][] : [VIconBtnSizes, number][] | Defaults["iconSizes"]>;
193
- default: unknown extends Defaults["iconSizes"] ? [VIconBtnSizes, number][] : [VIconBtnSizes, number][] | Defaults["iconSizes"];
194
- };
195
195
  loading: unknown extends Defaults["loading"] ? BooleanConstructor : {
196
196
  type: PropType<unknown extends Defaults["loading"] ? boolean : boolean | Defaults["loading"]>;
197
197
  default: unknown extends Defaults["loading"] ? boolean : boolean | Defaults["loading"];
@@ -269,9 +269,9 @@ export declare const VIconBtn: {
269
269
  rounded?: string | number | boolean | undefined;
270
270
  activeColor?: string | undefined;
271
271
  iconColor?: string | undefined;
272
+ iconSize?: string | number | undefined;
272
273
  activeIcon?: IconValue | undefined;
273
274
  activeVariant?: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain" | undefined;
274
- iconSize?: string | number | undefined;
275
275
  } & {
276
276
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
277
277
  default?: (() => import("vue").VNodeChild) | undefined;
@@ -343,9 +343,9 @@ export declare const VIconBtn: {
343
343
  rounded?: string | number | boolean | undefined;
344
344
  activeColor?: string | undefined;
345
345
  iconColor?: string | undefined;
346
+ iconSize?: string | number | undefined;
346
347
  activeIcon?: IconValue | undefined;
347
348
  activeVariant?: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain" | undefined;
348
- iconSize?: string | number | undefined;
349
349
  } & {
350
350
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
351
351
  default?: (() => import("vue").VNodeChild) | undefined;
@@ -409,9 +409,9 @@ export declare const VIconBtn: {
409
409
  rounded?: string | number | boolean | undefined;
410
410
  activeColor?: string | undefined;
411
411
  iconColor?: string | undefined;
412
+ iconSize?: string | number | undefined;
412
413
  activeIcon?: IconValue | undefined;
413
414
  activeVariant?: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain" | undefined;
414
- iconSize?: string | number | undefined;
415
415
  } & {
416
416
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
417
417
  default?: (() => import("vue").VNodeChild) | undefined;
@@ -470,6 +470,11 @@ export declare const VIconBtn: {
470
470
  default: undefined;
471
471
  };
472
472
  tile: BooleanConstructor;
473
+ iconSize: PropType<VIconBtnSizes | number | string>;
474
+ iconSizes: {
475
+ type: PropType<[VIconBtnSizes, number][]>;
476
+ default: () => (string | number)[][];
477
+ };
473
478
  elevation: {
474
479
  type: (StringConstructor | NumberConstructor)[];
475
480
  validator(v: any): boolean;
@@ -497,11 +502,6 @@ export declare const VIconBtn: {
497
502
  hideOverlay: BooleanConstructor;
498
503
  icon: PropType<IconValue>;
499
504
  iconColor: StringConstructor;
500
- iconSize: PropType<VIconBtnSizes | number | string>;
501
- iconSizes: {
502
- type: PropType<[VIconBtnSizes, number][]>;
503
- default: () => (string | number)[][];
504
- };
505
505
  loading: BooleanConstructor;
506
506
  opacity: (StringConstructor | NumberConstructor)[];
507
507
  readonly: BooleanConstructor;
@@ -541,6 +541,11 @@ export declare const VIconBtn: {
541
541
  default: undefined;
542
542
  };
543
543
  tile: BooleanConstructor;
544
+ iconSize: PropType<VIconBtnSizes | number | string>;
545
+ iconSizes: {
546
+ type: PropType<[VIconBtnSizes, number][]>;
547
+ default: () => (string | number)[][];
548
+ };
544
549
  elevation: {
545
550
  type: (StringConstructor | NumberConstructor)[];
546
551
  validator(v: any): boolean;
@@ -568,11 +573,6 @@ export declare const VIconBtn: {
568
573
  hideOverlay: BooleanConstructor;
569
574
  icon: PropType<IconValue>;
570
575
  iconColor: StringConstructor;
571
- iconSize: PropType<VIconBtnSizes | number | string>;
572
- iconSizes: {
573
- type: PropType<[VIconBtnSizes, number][]>;
574
- default: () => (string | number)[][];
575
- };
576
576
  loading: BooleanConstructor;
577
577
  opacity: (StringConstructor | NumberConstructor)[];
578
578
  readonly: BooleanConstructor;
@@ -9,6 +9,7 @@ import { VProgressCircular } from "../../components/VProgressCircular/index.js";
9
9
  import { makeBorderProps, useBorder } from "../../composables/border.js";
10
10
  import { makeComponentProps } from "../../composables/component.js";
11
11
  import { makeElevationProps, useElevation } from "../../composables/elevation.js";
12
+ import { makeIconSizeProps, useIconSizes } from "../../composables/iconSizes.js";
12
13
  import { useProxiedModel } from "../../composables/proxiedModel.js";
13
14
  import { makeRoundedProps, useRounded } from "../../composables/rounded.js";
14
15
  import { makeTagProps } from "../../composables/tag.js";
@@ -34,11 +35,6 @@ export const makeVIconBtnProps = propsFactory({
34
35
  hideOverlay: Boolean,
35
36
  icon: [String, Function, Object],
36
37
  iconColor: String,
37
- iconSize: [Number, String],
38
- iconSizes: {
39
- type: Array,
40
- default: () => [['x-small', 10], ['small', 16], ['default', 24], ['large', 28], ['x-large', 32]]
41
- },
42
38
  loading: Boolean,
43
39
  opacity: [Number, String],
44
40
  readonly: Boolean,
@@ -58,6 +54,7 @@ export const makeVIconBtnProps = propsFactory({
58
54
  ...makeBorderProps(),
59
55
  ...makeComponentProps(),
60
56
  ...makeElevationProps(),
57
+ ...makeIconSizeProps(),
61
58
  ...makeRoundedProps(),
62
59
  ...makeTagProps({
63
60
  tag: 'button'
@@ -112,7 +109,6 @@ export const VIconBtn = genericComponent()({
112
109
  })()
113
110
  }));
114
111
  const btnSizeMap = new Map(props.sizes);
115
- const iconSizeMap = new Map(props.iconSizes);
116
112
  function onClick() {
117
113
  if (props.disabled || props.readonly || isActive.value === undefined || props.tag === 'a' && attrs.href) return;
118
114
  isActive.value = !isActive.value;
@@ -124,12 +120,12 @@ export const VIconBtn = genericComponent()({
124
120
  const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize;
125
121
  const btnHeight = props.height ?? btnSize;
126
122
  const btnWidth = props.width ?? btnSize;
127
- const _iconSize = props.iconSize;
128
- const hasNamedIconSize = iconSizeMap.has(_iconSize);
129
- const iconSize = !_iconSize ? hasNamedSize ? iconSizeMap.get(_btnSize) : iconSizeMap.get('default') : hasNamedIconSize ? iconSizeMap.get(_iconSize) : _iconSize;
123
+ const {
124
+ iconSize
125
+ } = useIconSizes(props, () => new Map(props.iconSizes).get(_btnSize));
130
126
  const iconProps = {
131
127
  icon,
132
- size: iconSize,
128
+ size: iconSize.value,
133
129
  iconColor: props.iconColor,
134
130
  opacity: props.opacity
135
131
  };
@@ -172,7 +168,7 @@ export const VIconBtn = genericComponent()({
172
168
  "color": typeof props.loading === 'boolean' ? undefined : props.loading,
173
169
  "indeterminate": "disable-shrink",
174
170
  "width": "2",
175
- "size": iconSize
171
+ "size": iconSize.value
176
172
  }, null)])]
177
173
  });
178
174
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VIconBtn.js","names":["VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeElevationProps","useElevation","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toDisplayString","convertToUnit","genericComponent","propsFactory","useRender","makeVIconBtnProps","active","type","Boolean","default","undefined","activeColor","String","activeIcon","Function","Object","activeVariant","baseVariant","disabled","height","Number","width","hideOverlay","icon","iconColor","iconSize","iconSizes","Array","loading","opacity","readonly","rotate","size","sizes","text","tag","variant","VIconBtn","name","props","emits","value","setup","_ref","attrs","slots","isActive","themeClasses","borderClasses","elevationClasses","roundedClasses","colorClasses","colorStyles","variantClasses","color","btnSizeMap","Map","iconSizeMap","onClick","href","_btnSize","hasNamedSize","has","btnSize","get","btnHeight","btnWidth","_iconSize","hasNamedIconSize","iconProps","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","loader"],"sources":["../../../src/labs/VIconBtn/VIconBtn.tsx"],"sourcesContent":["// Styles\nimport './VIconBtn.scss'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toDisplayString } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { IconValue } from '@/composables/icons'\nimport type { Variant } from '@/composables/variant'\n\nexport type VIconBtnSlots = {\n default: never\n loader: never\n}\n\nexport type VIconBtnSizes = 'x-small' | 'small' | 'default' | 'large' | 'x-large'\n\nexport const makeVIconBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n activeIcon: [String, Function, Object] as PropType<IconValue>,\n activeVariant: String as PropType<Variant>,\n baseVariant: {\n type: String as PropType<Variant>,\n default: 'tonal',\n },\n disabled: Boolean,\n height: [Number, String],\n width: [Number, String],\n hideOverlay: Boolean,\n icon: [String, Function, Object] as PropType<IconValue>,\n iconColor: String,\n iconSize: [Number, String] as PropType<VIconBtnSizes | number | string>,\n iconSizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 10],\n ['small', 16],\n ['default', 24],\n ['large', 28],\n ['x-large', 32],\n ]),\n },\n loading: Boolean,\n opacity: [Number, String],\n readonly: Boolean,\n rotate: [Number, String],\n size: {\n type: [Number, String] as PropType<VIconBtnSizes | number | string>,\n default: 'default',\n },\n sizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 16],\n ['small', 24],\n ['default', 40],\n ['large', 48],\n ['x-large', 56],\n ]),\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VIconBtn')\n\nexport const VIconBtn = genericComponent<VIconBtnSlots>()({\n name: 'VIconBtn',\n\n props: makeVIconBtnProps(),\n\n emits: {\n 'update:active': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'active')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: (() => {\n if (props.disabled) return undefined\n if (!isActive.value) return props.color\n // Use an inline fallback as opposed to setting a default color\n // because non-toggle buttons are default flat whereas toggle\n // buttons are default tonal and active flat. The exact use\n // case for this is a toggle button with no active color.\n return props.activeColor ?? props.color ?? 'surface-variant'\n })(),\n variant: (() => {\n if (isActive.value === undefined) return props.variant\n if (isActive.value) return props.activeVariant ?? props.variant\n return props.baseVariant ?? props.variant\n })(),\n }))\n\n const btnSizeMap = new Map(props.sizes)\n const iconSizeMap = new Map(props.iconSizes)\n\n function onClick () {\n if (\n props.disabled ||\n props.readonly ||\n isActive.value === undefined ||\n (props.tag === 'a' && attrs.href)\n ) return\n\n isActive.value = !isActive.value\n }\n\n useRender(() => {\n const icon = isActive.value ? props.activeIcon ?? props.icon : props.icon\n\n const _btnSize = props.size as VIconBtnSizes\n const hasNamedSize = btnSizeMap.has(_btnSize)\n const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize\n const btnHeight = props.height ?? btnSize\n const btnWidth = props.width ?? btnSize\n\n const _iconSize = props.iconSize as VIconBtnSizes\n const hasNamedIconSize = iconSizeMap.has(_iconSize)\n\n const iconSize = !_iconSize\n ? hasNamedSize ? iconSizeMap.get(_btnSize) : iconSizeMap.get('default')\n : hasNamedIconSize ? iconSizeMap.get(_iconSize) : _iconSize\n\n const iconProps = { icon, size: iconSize, iconColor: props.iconColor, opacity: props.opacity }\n\n return (\n <props.tag\n class={[\n {\n 'v-icon-btn': true,\n 'v-icon-btn--active': isActive.value,\n 'v-icon-btn--disabled': props.disabled,\n 'v-icon-btn--loading': props.loading,\n 'v-icon-btn--readonly': props.readonly,\n [`v-icon-btn--${props.size}`]: true,\n },\n themeClasses.value,\n colorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-icon-btn-rotate': convertToUnit(props.rotate, 'deg'),\n '--v-icon-btn-height': convertToUnit(btnHeight),\n '--v-icon-btn-width': convertToUnit(btnWidth),\n },\n colorStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled || props.readonly ? -1 : 0 }\n onClick={ onClick }\n >\n { genOverlays(!props.hideOverlay, 'v-icon-btn') }\n\n <div class=\"v-icon-btn__content\" data-no-activator=\"\">\n { (!slots.default && icon) ? (\n <VIcon\n key=\"content-icon\"\n { ...iconProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !icon }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots={{\n default: () => slots.default?.() ?? toDisplayString(props.text),\n }}\n />\n )}\n </div>\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-icon-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate=\"disable-shrink\"\n width=\"2\"\n size={ iconSize }\n />\n )}\n </span>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VIconBtn = InstanceType<typeof VIconBtn>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VIconBtn.js","names":["VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeElevationProps","useElevation","makeIconSizeProps","useIconSizes","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toDisplayString","convertToUnit","genericComponent","propsFactory","useRender","makeVIconBtnProps","active","type","Boolean","default","undefined","activeColor","String","activeIcon","Function","Object","activeVariant","baseVariant","disabled","height","Number","width","hideOverlay","icon","iconColor","loading","opacity","readonly","rotate","size","sizes","Array","text","tag","variant","VIconBtn","name","props","emits","value","setup","_ref","attrs","slots","isActive","themeClasses","borderClasses","elevationClasses","roundedClasses","colorClasses","colorStyles","variantClasses","color","btnSizeMap","Map","onClick","href","_btnSize","hasNamedSize","has","btnSize","get","btnHeight","btnWidth","iconSize","iconSizes","iconProps","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","loader"],"sources":["../../../src/labs/VIconBtn/VIconBtn.tsx"],"sourcesContent":["// Styles\nimport './VIconBtn.scss'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeIconSizeProps, useIconSizes } from '@/composables/iconSizes'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toDisplayString } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { IconValue } from '@/composables/icons'\nimport type { Variant } from '@/composables/variant'\n\nexport type VIconBtnSlots = {\n default: never\n loader: never\n}\n\nexport type VIconBtnSizes = 'x-small' | 'small' | 'default' | 'large' | 'x-large'\n\nexport const makeVIconBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n activeIcon: [String, Function, Object] as PropType<IconValue>,\n activeVariant: String as PropType<Variant>,\n baseVariant: {\n type: String as PropType<Variant>,\n default: 'tonal',\n },\n disabled: Boolean,\n height: [Number, String],\n width: [Number, String],\n hideOverlay: Boolean,\n icon: [String, Function, Object] as PropType<IconValue>,\n iconColor: String,\n loading: Boolean,\n opacity: [Number, String],\n readonly: Boolean,\n rotate: [Number, String],\n size: {\n type: [Number, String] as PropType<VIconBtnSizes | number | string>,\n default: 'default',\n },\n sizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 16],\n ['small', 24],\n ['default', 40],\n ['large', 48],\n ['x-large', 56],\n ]),\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeIconSizeProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VIconBtn')\n\nexport const VIconBtn = genericComponent<VIconBtnSlots>()({\n name: 'VIconBtn',\n\n props: makeVIconBtnProps(),\n\n emits: {\n 'update:active': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'active')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: (() => {\n if (props.disabled) return undefined\n if (!isActive.value) return props.color\n // Use an inline fallback as opposed to setting a default color\n // because non-toggle buttons are default flat whereas toggle\n // buttons are default tonal and active flat. The exact use\n // case for this is a toggle button with no active color.\n return props.activeColor ?? props.color ?? 'surface-variant'\n })(),\n variant: (() => {\n if (isActive.value === undefined) return props.variant\n if (isActive.value) return props.activeVariant ?? props.variant\n return props.baseVariant ?? props.variant\n })(),\n }))\n\n const btnSizeMap = new Map(props.sizes)\n\n function onClick () {\n if (\n props.disabled ||\n props.readonly ||\n isActive.value === undefined ||\n (props.tag === 'a' && attrs.href)\n ) return\n\n isActive.value = !isActive.value\n }\n\n useRender(() => {\n const icon = isActive.value ? props.activeIcon ?? props.icon : props.icon\n\n const _btnSize = props.size as VIconBtnSizes\n const hasNamedSize = btnSizeMap.has(_btnSize)\n const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize\n const btnHeight = props.height ?? btnSize\n const btnWidth = props.width ?? btnSize\n const { iconSize } = useIconSizes(props, () => new Map(props.iconSizes).get(_btnSize))\n\n const iconProps = {\n icon,\n size: iconSize.value,\n iconColor: props.iconColor,\n opacity: props.opacity,\n }\n\n return (\n <props.tag\n class={[\n {\n 'v-icon-btn': true,\n 'v-icon-btn--active': isActive.value,\n 'v-icon-btn--disabled': props.disabled,\n 'v-icon-btn--loading': props.loading,\n 'v-icon-btn--readonly': props.readonly,\n [`v-icon-btn--${props.size}`]: true,\n },\n themeClasses.value,\n colorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-icon-btn-rotate': convertToUnit(props.rotate, 'deg'),\n '--v-icon-btn-height': convertToUnit(btnHeight),\n '--v-icon-btn-width': convertToUnit(btnWidth),\n },\n colorStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled || props.readonly ? -1 : 0 }\n onClick={ onClick }\n >\n { genOverlays(!props.hideOverlay, 'v-icon-btn') }\n\n <div class=\"v-icon-btn__content\" data-no-activator=\"\">\n { (!slots.default && icon) ? (\n <VIcon\n key=\"content-icon\"\n { ...iconProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !icon }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots={{\n default: () => slots.default?.() ?? toDisplayString(props.text),\n }}\n />\n )}\n </div>\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-icon-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate=\"disable-shrink\"\n width=\"2\"\n size={ iconSize.value }\n />\n )}\n </span>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VIconBtn = InstanceType<typeof VIconBtn>\n"],"mappings":"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","ignoreList":[]}
@@ -193,14 +193,18 @@ export declare const makeVStepperVerticalProps: <Defaults extends {
193
193
  default: boolean;
194
194
  }, "type" | "default"> & {
195
195
  type: import("vue").PropType<unknown extends Defaults["ripple"] ? boolean | {
196
- class: string;
196
+ class?: string;
197
+ keys?: number[];
197
198
  } | undefined : boolean | {
198
- class: string;
199
+ class?: string;
200
+ keys?: number[];
199
201
  } | Defaults["ripple"] | undefined>;
200
202
  default: unknown extends Defaults["ripple"] ? boolean | {
201
- class: string;
203
+ class?: string;
204
+ keys?: number[];
202
205
  } | undefined : NonNullable<boolean | {
203
- class: string;
206
+ class?: string;
207
+ keys?: number[];
204
208
  } | undefined> | Defaults["ripple"];
205
209
  };
206
210
  collapseIcon: unknown extends Defaults["collapseIcon"] ? {
@@ -333,7 +337,8 @@ export declare const VStepperVertical: {
333
337
  itemValue: string;
334
338
  tile: boolean;
335
339
  ripple: boolean | {
336
- class: string;
340
+ class?: string;
341
+ keys?: number[];
337
342
  } | undefined;
338
343
  collapseIcon: import("../../composables/icons.js").IconValue;
339
344
  expandIcon: import("../../composables/icons.js").IconValue;
@@ -376,7 +381,8 @@ export declare const VStepperVertical: {
376
381
  rounded: string | number | boolean;
377
382
  tile: boolean;
378
383
  ripple: boolean | {
379
- class: string;
384
+ class?: string;
385
+ keys?: number[];
380
386
  } | undefined;
381
387
  collapseIcon: import("../../composables/icons.js").IconValue;
382
388
  expandIcon: import("../../composables/icons.js").IconValue;
@@ -422,7 +428,8 @@ export declare const VStepperVertical: {
422
428
  itemValue: string;
423
429
  tile: boolean;
424
430
  ripple: boolean | {
425
- class: string;
431
+ class?: string;
432
+ keys?: number[];
426
433
  } | undefined;
427
434
  collapseIcon: import("../../composables/icons.js").IconValue;
428
435
  expandIcon: import("../../composables/icons.js").IconValue;
@@ -463,7 +470,8 @@ export declare const VStepperVertical: {
463
470
  rounded: string | number | boolean;
464
471
  tile: boolean;
465
472
  ripple: boolean | {
466
- class: string;
473
+ class?: string;
474
+ keys?: number[];
467
475
  } | undefined;
468
476
  collapseIcon: import("../../composables/icons.js").IconValue;
469
477
  expandIcon: import("../../composables/icons.js").IconValue;
@@ -494,7 +502,8 @@ export declare const VStepperVertical: {
494
502
  itemValue: string;
495
503
  tile: boolean;
496
504
  ripple: boolean | {
497
- class: string;
505
+ class?: string;
506
+ keys?: number[];
498
507
  } | undefined;
499
508
  collapseIcon: import("../../composables/icons.js").IconValue;
500
509
  expandIcon: import("../../composables/icons.js").IconValue;
@@ -537,7 +546,8 @@ export declare const VStepperVertical: {
537
546
  rounded: string | number | boolean;
538
547
  tile: boolean;
539
548
  ripple: boolean | {
540
- class: string;
549
+ class?: string;
550
+ keys?: number[];
541
551
  } | undefined;
542
552
  collapseIcon: import("../../composables/icons.js").IconValue;
543
553
  expandIcon: import("../../composables/icons.js").IconValue;
@@ -175,14 +175,18 @@ export declare const makeVStepperVerticalItemProps: <Defaults extends {
175
175
  default: boolean;
176
176
  }, "type" | "default"> & {
177
177
  type: import("vue").PropType<unknown extends Defaults["ripple"] ? boolean | {
178
- class: string;
178
+ class?: string;
179
+ keys?: number[];
179
180
  } | undefined : boolean | {
180
- class: string;
181
+ class?: string;
182
+ keys?: number[];
181
183
  } | Defaults["ripple"] | undefined>;
182
184
  default: unknown extends Defaults["ripple"] ? boolean | {
183
- class: string;
185
+ class?: string;
186
+ keys?: number[];
184
187
  } | undefined : NonNullable<boolean | {
185
- class: string;
188
+ class?: string;
189
+ keys?: number[];
186
190
  } | undefined> | Defaults["ripple"];
187
191
  };
188
192
  collapseIcon: unknown extends Defaults["collapseIcon"] ? Omit<{
@@ -296,7 +300,8 @@ export declare const VStepperVerticalItem: {
296
300
  rules: readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[];
297
301
  tile: boolean;
298
302
  ripple: boolean | {
299
- class: string;
303
+ class?: string;
304
+ keys?: number[];
300
305
  } | undefined;
301
306
  collapseIcon: import("../../composables/icons.js").IconValue;
302
307
  expandIcon: import("../../composables/icons.js").IconValue;
@@ -375,7 +380,8 @@ export declare const VStepperVerticalItem: {
375
380
  rounded: string | number | boolean;
376
381
  tile: boolean;
377
382
  ripple: boolean | {
378
- class: string;
383
+ class?: string;
384
+ keys?: number[];
379
385
  } | undefined;
380
386
  collapseIcon: import("../../composables/icons.js").IconValue;
381
387
  expandIcon: import("../../composables/icons.js").IconValue;
@@ -413,7 +419,8 @@ export declare const VStepperVerticalItem: {
413
419
  rules: readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[];
414
420
  tile: boolean;
415
421
  ripple: boolean | {
416
- class: string;
422
+ class?: string;
423
+ keys?: number[];
417
424
  } | undefined;
418
425
  collapseIcon: import("../../composables/icons.js").IconValue;
419
426
  expandIcon: import("../../composables/icons.js").IconValue;
@@ -488,7 +495,8 @@ export declare const VStepperVerticalItem: {
488
495
  rounded: string | number | boolean;
489
496
  tile: boolean;
490
497
  ripple: boolean | {
491
- class: string;
498
+ class?: string;
499
+ keys?: number[];
492
500
  } | undefined;
493
501
  collapseIcon: import("../../composables/icons.js").IconValue;
494
502
  expandIcon: import("../../composables/icons.js").IconValue;
@@ -514,7 +522,8 @@ export declare const VStepperVerticalItem: {
514
522
  rules: readonly import("../../components/VStepper/VStepperItem.js").ValidationRule[];
515
523
  tile: boolean;
516
524
  ripple: boolean | {
517
- class: string;
525
+ class?: string;
526
+ keys?: number[];
518
527
  } | undefined;
519
528
  collapseIcon: import("../../composables/icons.js").IconValue;
520
529
  expandIcon: import("../../composables/icons.js").IconValue;
@@ -593,7 +602,8 @@ export declare const VStepperVerticalItem: {
593
602
  rounded: string | number | boolean;
594
603
  tile: boolean;
595
604
  ripple: boolean | {
596
- class: string;
605
+ class?: string;
606
+ keys?: number[];
597
607
  } | undefined;
598
608
  collapseIcon: import("../../composables/icons.js").IconValue;
599
609
  expandIcon: import("../../composables/icons.js").IconValue;
@@ -36,6 +36,7 @@ export declare const makeVTreeviewProps: <Defaults extends {
36
36
  activeColor?: unknown;
37
37
  slim?: unknown;
38
38
  activeClass?: unknown;
39
+ filterable?: unknown;
39
40
  activatable?: unknown;
40
41
  selectable?: unknown;
41
42
  activeStrategy?: unknown;
@@ -281,6 +282,10 @@ export declare const makeVTreeviewProps: <Defaults extends {
281
282
  type: import("vue").PropType<unknown extends Defaults["activeClass"] ? string : string | Defaults["activeClass"]>;
282
283
  default: unknown extends Defaults["activeClass"] ? string : string | Defaults["activeClass"];
283
284
  };
285
+ filterable: unknown extends Defaults["filterable"] ? BooleanConstructor : {
286
+ type: import("vue").PropType<unknown extends Defaults["filterable"] ? boolean : boolean | Defaults["filterable"]>;
287
+ default: unknown extends Defaults["filterable"] ? boolean : boolean | Defaults["filterable"];
288
+ };
284
289
  activatable: unknown extends Defaults["activatable"] ? BooleanConstructor : {
285
290
  type: import("vue").PropType<unknown extends Defaults["activatable"] ? boolean : boolean | Defaults["activatable"]>;
286
291
  default: unknown extends Defaults["activatable"] ? boolean : boolean | Defaults["activatable"];
@@ -505,6 +510,7 @@ export declare const VTreeview: {
505
510
  tile: boolean;
506
511
  slim: boolean;
507
512
  indeterminateIcon: import("../../composables/icons.js").IconValue;
513
+ filterable: boolean;
508
514
  activatable: boolean;
509
515
  selectable: boolean;
510
516
  collapseIcon: import("../../composables/icons.js").IconValue;
@@ -606,6 +612,7 @@ export declare const VTreeview: {
606
612
  slim: boolean;
607
613
  openOnClick: boolean;
608
614
  indeterminateIcon: import("../../composables/icons.js").IconValue;
615
+ filterable: boolean;
609
616
  activatable: boolean;
610
617
  selectable: boolean;
611
618
  collapseIcon: import("../../composables/icons.js").IconValue;
@@ -667,6 +674,7 @@ export declare const VTreeview: {
667
674
  tile: boolean;
668
675
  slim: boolean;
669
676
  indeterminateIcon: import("../../composables/icons.js").IconValue;
677
+ filterable: boolean;
670
678
  activatable: boolean;
671
679
  selectable: boolean;
672
680
  collapseIcon: import("../../composables/icons.js").IconValue;
@@ -753,6 +761,7 @@ export declare const VTreeview: {
753
761
  slim: boolean;
754
762
  openOnClick: boolean;
755
763
  indeterminateIcon: import("../../composables/icons.js").IconValue;
764
+ filterable: boolean;
756
765
  activatable: boolean;
757
766
  selectable: boolean;
758
767
  collapseIcon: import("../../composables/icons.js").IconValue;
@@ -785,6 +794,7 @@ export declare const VTreeview: {
785
794
  tile: boolean;
786
795
  slim: boolean;
787
796
  indeterminateIcon: import("../../composables/icons.js").IconValue;
797
+ filterable: boolean;
788
798
  activatable: boolean;
789
799
  selectable: boolean;
790
800
  collapseIcon: import("../../composables/icons.js").IconValue;
@@ -886,6 +896,7 @@ export declare const VTreeview: {
886
896
  slim: boolean;
887
897
  openOnClick: boolean;
888
898
  indeterminateIcon: import("../../composables/icons.js").IconValue;
899
+ filterable: boolean;
889
900
  activatable: boolean;
890
901
  selectable: boolean;
891
902
  collapseIcon: import("../../composables/icons.js").IconValue;
@@ -1000,6 +1011,7 @@ export declare const VTreeview: {
1000
1011
  default: boolean;
1001
1012
  };
1002
1013
  activeClass: StringConstructor;
1014
+ filterable: BooleanConstructor;
1003
1015
  activatable: BooleanConstructor;
1004
1016
  selectable: BooleanConstructor;
1005
1017
  activeStrategy: import("vue").PropType<import("../../composables/nested/nested.js").ActiveStrategyProp>;
@@ -1140,6 +1152,7 @@ export declare const VTreeview: {
1140
1152
  default: boolean;
1141
1153
  };
1142
1154
  activeClass: StringConstructor;
1155
+ filterable: BooleanConstructor;
1143
1156
  activatable: BooleanConstructor;
1144
1157
  selectable: BooleanConstructor;
1145
1158
  activeStrategy: import("vue").PropType<import("../../composables/nested/nested.js").ActiveStrategyProp>;