@vuetify/nightly 3.8.7-dev.2025-05-27 → 3.8.7-dev.2025-06-03

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 (91) hide show
  1. package/CHANGELOG.md +12 -3
  2. package/dist/json/attributes.json +3213 -3189
  3. package/dist/json/importMap-labs.json +20 -20
  4. package/dist/json/importMap.json +176 -176
  5. package/dist/json/tags.json +6 -0
  6. package/dist/json/web-types.json +5962 -5902
  7. package/dist/vuetify-labs.cjs +52 -19
  8. package/dist/vuetify-labs.css +5727 -5721
  9. package/dist/vuetify-labs.d.ts +677 -402
  10. package/dist/vuetify-labs.esm.js +52 -19
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +52 -19
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +52 -19
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +4233 -4227
  17. package/dist/vuetify.d.ts +621 -378
  18. package/dist/vuetify.esm.js +52 -19
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +52 -19
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +29 -24
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAppBar/VAppBar.d.ts +15 -3
  26. package/lib/components/VAppBar/VAppBarNavIcon.d.ts +20 -10
  27. package/lib/components/VAutocomplete/VAutocomplete.d.ts +21 -7
  28. package/lib/components/VAutocomplete/VAutocomplete.js +2 -1
  29. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  30. package/lib/components/VBtn/VBtn.d.ts +20 -10
  31. package/lib/components/VCard/VCard.d.ts +20 -10
  32. package/lib/components/VCheckbox/VCheckbox.d.ts +20 -10
  33. package/lib/components/VCheckbox/VCheckboxBtn.d.ts +20 -10
  34. package/lib/components/VChip/VChip.d.ts +20 -10
  35. package/lib/components/VCombobox/VCombobox.d.ts +21 -7
  36. package/lib/components/VCombobox/VCombobox.js +2 -1
  37. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  38. package/lib/components/VDataTable/VDataTable.d.ts +42 -0
  39. package/lib/components/VDataTable/VDataTableServer.d.ts +29 -0
  40. package/lib/components/VDataTable/VDataTableVirtual.d.ts +29 -0
  41. package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +20 -10
  42. package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +20 -10
  43. package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +20 -10
  44. package/lib/components/VFab/VFab.d.ts +20 -10
  45. package/lib/components/VList/VList.d.ts +13 -0
  46. package/lib/components/VList/VList.js +4 -1
  47. package/lib/components/VList/VList.js.map +1 -1
  48. package/lib/components/VList/VListItem.d.ts +23 -10
  49. package/lib/components/VList/VListItem.js +7 -3
  50. package/lib/components/VList/VListItem.js.map +1 -1
  51. package/lib/components/VList/list.d.ts +9 -2
  52. package/lib/components/VList/list.js +7 -0
  53. package/lib/components/VList/list.js.map +1 -1
  54. package/lib/components/VRadio/VRadio.d.ts +20 -10
  55. package/lib/components/VRadioGroup/VRadioGroup.d.ts +20 -10
  56. package/lib/components/VSelect/VSelect.d.ts +33 -11
  57. package/lib/components/VSelectionControl/VSelectionControl.d.ts +20 -10
  58. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +28 -14
  59. package/lib/components/VSlider/VSliderThumb.d.ts +20 -10
  60. package/lib/components/VStepper/VStepperItem.d.ts +28 -14
  61. package/lib/components/VSwitch/VSwitch.d.ts +20 -10
  62. package/lib/components/VTable/VTable.css +6 -0
  63. package/lib/components/VTable/VTable.d.ts +55 -24
  64. package/lib/components/VTable/VTable.js +9 -2
  65. package/lib/components/VTable/VTable.js.map +1 -1
  66. package/lib/components/VTable/VTable.sass +14 -0
  67. package/lib/components/VTable/_variables.scss +1 -0
  68. package/lib/components/VTabs/VTab.d.ts +56 -28
  69. package/lib/components/VToolbar/VToolbar.d.ts +15 -3
  70. package/lib/components/VToolbar/VToolbar.js +6 -3
  71. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  72. package/lib/composables/date/DateAdapter.d.ts +2 -2
  73. package/lib/composables/date/DateAdapter.js.map +1 -1
  74. package/lib/composables/date/adapters/string.d.ts +54 -0
  75. package/lib/composables/date/adapters/string.js +153 -0
  76. package/lib/composables/date/adapters/string.js.map +1 -0
  77. package/lib/composables/date/date.d.ts +2 -2
  78. package/lib/directives/ripple/index.d.ts +2 -1
  79. package/lib/directives/ripple/index.js +12 -7
  80. package/lib/directives/ripple/index.js.map +1 -1
  81. package/lib/entry-bundler.d.ts +2 -2
  82. package/lib/entry-bundler.js +1 -1
  83. package/lib/framework.d.ts +75 -65
  84. package/lib/framework.js +1 -1
  85. package/lib/labs/VFileUpload/VFileUploadItem.d.ts +20 -10
  86. package/lib/labs/VStepperVertical/VStepperVertical.d.ts +20 -10
  87. package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +20 -10
  88. package/lib/labs/VTreeview/VTreeview.d.ts +13 -0
  89. package/lib/labs/VTreeview/VTreeviewItem.d.ts +20 -10
  90. package/lib/labs/entry-bundler.d.ts +2 -2
  91. package/package.json +1 -1
@@ -159,7 +159,13 @@ export declare const makeVAppBarProps: <Defaults extends {
159
159
  type: PropType<unknown extends Defaults["density"] ? import("../VToolbar/VToolbar.js").Density : import("../VToolbar/VToolbar.js").Density | Defaults["density"]>;
160
160
  default: unknown extends Defaults["density"] ? import("../VToolbar/VToolbar.js").Density : NonNullable<import("../VToolbar/VToolbar.js").Density> | Defaults["density"];
161
161
  };
162
- extended: unknown extends Defaults["extended"] ? BooleanConstructor : {
162
+ extended: unknown extends Defaults["extended"] ? {
163
+ type: BooleanConstructor;
164
+ default: null;
165
+ } : Omit<{
166
+ type: BooleanConstructor;
167
+ default: null;
168
+ }, "type" | "default"> & {
163
169
  type: PropType<unknown extends Defaults["extended"] ? boolean : boolean | Defaults["extended"]>;
164
170
  default: unknown extends Defaults["extended"] ? boolean : boolean | Defaults["extended"];
165
171
  };
@@ -509,7 +515,10 @@ export declare const VAppBar: {
509
515
  default: string;
510
516
  validator: (v: any) => boolean;
511
517
  };
512
- extended: BooleanConstructor;
518
+ extended: {
519
+ type: BooleanConstructor;
520
+ default: null;
521
+ };
513
522
  extensionHeight: {
514
523
  type: (StringConstructor | NumberConstructor)[];
515
524
  default: number;
@@ -578,7 +587,10 @@ export declare const VAppBar: {
578
587
  default: string;
579
588
  validator: (v: any) => boolean;
580
589
  };
581
- extended: BooleanConstructor;
590
+ extended: {
591
+ type: BooleanConstructor;
592
+ default: null;
593
+ };
582
594
  extensionHeight: {
583
595
  type: (StringConstructor | NumberConstructor)[];
584
596
  default: number;
@@ -298,14 +298,18 @@ export declare const makeVAppBarNavIconProps: <Defaults extends {
298
298
  default: boolean;
299
299
  }, "type" | "default"> & {
300
300
  type: import("vue").PropType<unknown extends Defaults["ripple"] ? boolean | {
301
- class: string;
301
+ class?: string;
302
+ keys?: number[];
302
303
  } | undefined : boolean | {
303
- class: string;
304
+ class?: string;
305
+ keys?: number[];
304
306
  } | Defaults["ripple"] | undefined>;
305
307
  default: unknown extends Defaults["ripple"] ? boolean | {
306
- class: string;
308
+ class?: string;
309
+ keys?: number[];
307
310
  } | undefined : NonNullable<boolean | {
308
- class: string;
311
+ class?: string;
312
+ keys?: number[];
309
313
  } | undefined> | Defaults["ripple"];
310
314
  };
311
315
  text: unknown extends Defaults["text"] ? {
@@ -338,7 +342,8 @@ export declare const VAppBarNavIcon: {
338
342
  slim: boolean;
339
343
  stacked: boolean;
340
344
  ripple: boolean | {
341
- class: string;
345
+ class?: string;
346
+ keys?: number[];
342
347
  } | undefined;
343
348
  } & {
344
349
  location?: import("../../util/index.js").Anchor | null | undefined;
@@ -405,7 +410,8 @@ export declare const VAppBarNavIcon: {
405
410
  slim: boolean;
406
411
  stacked: boolean;
407
412
  ripple: boolean | {
408
- class: string;
413
+ class?: string;
414
+ keys?: number[];
409
415
  } | undefined;
410
416
  }, true, {}, import("vue").SlotsType<Partial<{
411
417
  default: () => import("vue").VNode[];
@@ -437,7 +443,8 @@ export declare const VAppBarNavIcon: {
437
443
  slim: boolean;
438
444
  stacked: boolean;
439
445
  ripple: boolean | {
440
- class: string;
446
+ class?: string;
447
+ keys?: number[];
441
448
  } | undefined;
442
449
  } & {
443
450
  location?: import("../../util/index.js").Anchor | null | undefined;
@@ -504,7 +511,8 @@ export declare const VAppBarNavIcon: {
504
511
  slim: boolean;
505
512
  stacked: boolean;
506
513
  ripple: boolean | {
507
- class: string;
514
+ class?: string;
515
+ keys?: number[];
508
516
  } | undefined;
509
517
  }>;
510
518
  __isFragment?: never;
@@ -528,7 +536,8 @@ export declare const VAppBarNavIcon: {
528
536
  slim: boolean;
529
537
  stacked: boolean;
530
538
  ripple: boolean | {
531
- class: string;
539
+ class?: string;
540
+ keys?: number[];
532
541
  } | undefined;
533
542
  } & {
534
543
  location?: import("../../util/index.js").Anchor | null | undefined;
@@ -595,7 +604,8 @@ export declare const VAppBarNavIcon: {
595
604
  slim: boolean;
596
605
  stacked: boolean;
597
606
  ripple: boolean | {
598
- class: string;
607
+ class?: string;
608
+ keys?: number[];
599
609
  } | undefined;
600
610
  }, {}, string, import("vue").SlotsType<Partial<{
601
611
  default: () => import("vue").VNode[];
@@ -605,6 +605,7 @@ export declare const makeVAutocompleteProps: <Defaults extends {
605
605
  rounded: string | number | boolean;
606
606
  tile: boolean;
607
607
  slim: boolean;
608
+ filterable: boolean;
608
609
  activatable: boolean;
609
610
  selectable: boolean;
610
611
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -622,6 +623,7 @@ export declare const makeVAutocompleteProps: <Defaults extends {
622
623
  density: import("../../composables/density.js").Density;
623
624
  tile: boolean;
624
625
  slim: boolean;
626
+ filterable: boolean;
625
627
  activatable: boolean;
626
628
  selectable: boolean;
627
629
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -653,7 +655,7 @@ export declare const makeVAutocompleteProps: <Defaults extends {
653
655
  value: boolean;
654
656
  path: unknown[];
655
657
  }) => any) | undefined;
656
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
658
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "filterable" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
657
659
  items?: readonly any[] | undefined;
658
660
  itemTitle?: SelectItemKey<any>;
659
661
  itemValue?: SelectItemKey<any>;
@@ -768,6 +770,7 @@ export declare const makeVAutocompleteProps: <Defaults extends {
768
770
  rounded: string | number | boolean;
769
771
  tile: boolean;
770
772
  slim: boolean;
773
+ filterable: boolean;
771
774
  activatable: boolean;
772
775
  selectable: boolean;
773
776
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -785,6 +788,7 @@ export declare const makeVAutocompleteProps: <Defaults extends {
785
788
  density: import("../../composables/density.js").Density;
786
789
  tile: boolean;
787
790
  slim: boolean;
791
+ filterable: boolean;
788
792
  activatable: boolean;
789
793
  selectable: boolean;
790
794
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -816,7 +820,7 @@ export declare const makeVAutocompleteProps: <Defaults extends {
816
820
  value: boolean;
817
821
  path: unknown[];
818
822
  }) => any) | undefined;
819
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
823
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "filterable" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
820
824
  items?: readonly any[] | undefined;
821
825
  itemTitle?: SelectItemKey<any>;
822
826
  itemValue?: SelectItemKey<any>;
@@ -932,6 +936,7 @@ export declare const makeVAutocompleteProps: <Defaults extends {
932
936
  rounded: string | number | boolean;
933
937
  tile: boolean;
934
938
  slim: boolean;
939
+ filterable: boolean;
935
940
  activatable: boolean;
936
941
  selectable: boolean;
937
942
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -949,6 +954,7 @@ export declare const makeVAutocompleteProps: <Defaults extends {
949
954
  density: import("../../composables/density.js").Density;
950
955
  tile: boolean;
951
956
  slim: boolean;
957
+ filterable: boolean;
952
958
  activatable: boolean;
953
959
  selectable: boolean;
954
960
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -980,7 +986,7 @@ export declare const makeVAutocompleteProps: <Defaults extends {
980
986
  value: boolean;
981
987
  path: unknown[];
982
988
  }) => any) | undefined;
983
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
989
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "filterable" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
984
990
  items?: readonly any[] | undefined;
985
991
  itemTitle?: SelectItemKey<any>;
986
992
  itemValue?: SelectItemKey<any>;
@@ -1095,6 +1101,7 @@ export declare const makeVAutocompleteProps: <Defaults extends {
1095
1101
  rounded: string | number | boolean;
1096
1102
  tile: boolean;
1097
1103
  slim: boolean;
1104
+ filterable: boolean;
1098
1105
  activatable: boolean;
1099
1106
  selectable: boolean;
1100
1107
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -1112,6 +1119,7 @@ export declare const makeVAutocompleteProps: <Defaults extends {
1112
1119
  density: import("../../composables/density.js").Density;
1113
1120
  tile: boolean;
1114
1121
  slim: boolean;
1122
+ filterable: boolean;
1115
1123
  activatable: boolean;
1116
1124
  selectable: boolean;
1117
1125
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -1143,7 +1151,7 @@ export declare const makeVAutocompleteProps: <Defaults extends {
1143
1151
  value: boolean;
1144
1152
  path: unknown[];
1145
1153
  }) => any) | undefined;
1146
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
1154
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "filterable" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
1147
1155
  items?: readonly any[] | undefined;
1148
1156
  itemTitle?: SelectItemKey<any>;
1149
1157
  itemValue?: SelectItemKey<any>;
@@ -2282,6 +2290,7 @@ export declare const VAutocomplete: {
2282
2290
  rounded: string | number | boolean;
2283
2291
  tile: boolean;
2284
2292
  slim: boolean;
2293
+ filterable: boolean;
2285
2294
  activatable: boolean;
2286
2295
  selectable: boolean;
2287
2296
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -2299,6 +2308,7 @@ export declare const VAutocomplete: {
2299
2308
  density: import("../../composables/density.js").Density;
2300
2309
  tile: boolean;
2301
2310
  slim: boolean;
2311
+ filterable: boolean;
2302
2312
  activatable: boolean;
2303
2313
  selectable: boolean;
2304
2314
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -2330,7 +2340,7 @@ export declare const VAutocomplete: {
2330
2340
  value: boolean;
2331
2341
  path: unknown[];
2332
2342
  }) => any) | undefined;
2333
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
2343
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "filterable" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
2334
2344
  items?: readonly any[] | undefined;
2335
2345
  itemTitle?: SelectItemKey<any>;
2336
2346
  itemValue?: SelectItemKey<any>;
@@ -4808,6 +4818,7 @@ export declare const VAutocomplete: {
4808
4818
  rounded: string | number | boolean;
4809
4819
  tile: boolean;
4810
4820
  slim: boolean;
4821
+ filterable: boolean;
4811
4822
  activatable: boolean;
4812
4823
  selectable: boolean;
4813
4824
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -4825,6 +4836,7 @@ export declare const VAutocomplete: {
4825
4836
  density: import("../../composables/density.js").Density;
4826
4837
  tile: boolean;
4827
4838
  slim: boolean;
4839
+ filterable: boolean;
4828
4840
  activatable: boolean;
4829
4841
  selectable: boolean;
4830
4842
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -4856,7 +4868,7 @@ export declare const VAutocomplete: {
4856
4868
  value: boolean;
4857
4869
  path: unknown[];
4858
4870
  }) => any) | undefined;
4859
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
4871
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "filterable" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
4860
4872
  items?: readonly any[] | undefined;
4861
4873
  itemTitle?: SelectItemKey<any>;
4862
4874
  itemValue?: SelectItemKey<any>;
@@ -7286,6 +7298,7 @@ export declare const VAutocomplete: {
7286
7298
  rounded: string | number | boolean;
7287
7299
  tile: boolean;
7288
7300
  slim: boolean;
7301
+ filterable: boolean;
7289
7302
  activatable: boolean;
7290
7303
  selectable: boolean;
7291
7304
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -7303,6 +7316,7 @@ export declare const VAutocomplete: {
7303
7316
  density: import("../../composables/density.js").Density;
7304
7317
  tile: boolean;
7305
7318
  slim: boolean;
7319
+ filterable: boolean;
7306
7320
  activatable: boolean;
7307
7321
  selectable: boolean;
7308
7322
  openStrategy: import("../../composables/nested/nested.js").OpenStrategyProp;
@@ -7334,7 +7348,7 @@ export declare const VAutocomplete: {
7334
7348
  value: boolean;
7335
7349
  path: unknown[];
7336
7350
  }) => any) | undefined;
7337
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
7351
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "variant" | "nav" | "style" | "disabled" | "tag" | "lines" | "mandatory" | "returnObject" | "selectStrategy" | "density" | "rounded" | "tile" | "slim" | "filterable" | "activatable" | "selectable" | "openStrategy" | "itemType"> & {
7338
7352
  items?: readonly any[] | undefined;
7339
7353
  itemTitle?: SelectItemKey<any>;
7340
7354
  itemValue?: SelectItemKey<any>;
@@ -133,7 +133,7 @@ export const VAutocomplete = genericComponent()({
133
133
  menu.value = !menu.value;
134
134
  }
135
135
  function onListKeydown(e) {
136
- if (e.key !== ' ' && checkPrintable(e)) {
136
+ if (checkPrintable(e) || e.key === 'Backspace') {
137
137
  vTextFieldRef.value?.focus();
138
138
  }
139
139
  }
@@ -338,6 +338,7 @@ export const VAutocomplete = genericComponent()({
338
338
  }, props.menuProps), {
339
339
  default: () => [hasList && _createVNode(VList, _mergeProps({
340
340
  "ref": listRef,
341
+ "filterable": true,
341
342
  "selected": selectedValues.value,
342
343
  "selectStrategy": props.multiple ? 'independent' : 'single-independent',
343
344
  "onMousedown": e => e.preventDefault(),
@@ -1 +1 @@
1
- {"version":3,"file":"VAutocomplete.js","names":["VAvatar","VCheckboxBtn","VChip","VDefaultsProvider","VDivider","VIcon","VList","VListItem","VListSubheader","VMenu","makeSelectProps","makeVTextFieldProps","VTextField","VVirtualScroll","useScrolling","useTextColor","highlightResult","makeFilterProps","useFilter","useForm","forwardRefs","useItems","useLocale","useProxiedModel","makeTransitionProps","computed","mergeProps","nextTick","ref","shallowRef","watch","checkPrintable","deepEqual","ensureValidVNode","genericComponent","IN_BROWSER","matchesSelector","noop","omit","propsFactory","useRender","wrapInArray","makeVAutocompleteProps","autoSelectFirst","type","Boolean","String","clearOnSelect","search","filterKeys","modelValue","role","transition","VAutocomplete","name","props","emits","focused","value","setup","_ref","slots","t","vTextFieldRef","isFocused","isPristine","listHasFocus","vMenuRef","vVirtualScrollRef","selectionIndex","items","transformIn","transformOut","textColorClasses","textColorStyles","color","model","v","transformed","multiple","counterValue","length","form","filteredItems","getMatches","displayItems","hideSelected","filter","filteredItem","some","s","hasChips","chips","chip","hasSelectionSlot","selection","selectedValues","map","highlightFirst","selectFirst","title","menuDisabled","hideNoData","isReadonly","isDisabled","_menu","menu","get","set","ΨopenChildren","size","label","closeText","openText","listRef","listEvents","onClear","e","openOnClear","onMousedownControl","onMousedownMenuIcon","preventDefault","stopPropagation","onListKeydown","key","focus","onKeydown","selectionStart","includes","_ref2","select","originalSelectionIndex","prev","searchLength","setSelectionRange","next","onChange","item","find","target","onAfterEnter","eager","calculateVisibleItems","onAfterLeave","onFocusin","setTimeout","onFocusout","onUpdateModelValue","isSelecting","arguments","undefined","disabled","index","findIndex","valueComparator","add","splice","val","oldVal","at","window","requestAnimationFrame","scrollToIndex","newVal","hasList","isDirty","textFieldProps","filterProps","_createVNode","_mergeProps","$event","externalValue","class","style","placeholder","default","_createElementVNode","_Fragment","menuProps","itemColor","listProps","noDataText","_ref3","itemRef","itemProps","active","onClick","raw","divider","subheader","prepend","_ref4","isSelected","prependAvatar","prependIcon","onChipClose","slotProps","onMousedown","hasSlot","slotContent","_normalizeClass","_normalizeStyle","closableChips","closable","text","_createTextVNode","append-inner","_len","args","Array","_key","menuIcon","fieldIconColor"],"sources":["../../../src/components/VAutocomplete/VAutocomplete.tsx"],"sourcesContent":["// Styles\nimport './VAutocomplete.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VDivider } from '@/components/VDivider'\nimport { VIcon } from '@/components/VIcon'\nimport { VList, VListItem, VListSubheader } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\nimport { VVirtualScroll } from '@/components/VVirtualScroll'\n\n// Composables\nimport { useScrolling } from '../VSelect/useScrolling'\nimport { useTextColor } from '@/composables/color'\nimport { highlightResult, makeFilterProps, useFilter } from '@/composables/filter'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useItems } from '@/composables/list-items'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue'\nimport {\n checkPrintable,\n deepEqual,\n ensureValidVNode,\n genericComponent,\n IN_BROWSER,\n matchesSelector,\n noop,\n omit,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = [T] extends [Primitive]\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject> | null\n\nexport const makeVAutocompleteProps = propsFactory({\n autoSelectFirst: {\n type: [Boolean, String] as PropType<boolean | 'exact'>,\n },\n clearOnSelect: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'combobox',\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: false }),\n}, 'VAutocomplete')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VAutocomplete = genericComponent<new <\n T extends readonly any[],\n Item = ItemType<T>,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<Item, ReturnObject, Multiple> = Value<Item, ReturnObject, Multiple>\n>(\n props: {\n items?: T\n itemTitle?: SelectItemKey<ItemType<T>>\n itemValue?: SelectItemKey<ItemType<T>>\n itemProps?: SelectItemKey<ItemType<T>>\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V | null\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: Omit<VInputSlots & VFieldSlots, 'default'> & {\n item: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n chip: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n selection: { item: ListItem<Item>, index: number }\n subheader: { props: Record<string, unknown>, index: number }\n divider: { props: Record<string, unknown>, index: number }\n 'prepend-item': never\n 'append-item': never\n 'no-data': never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VAutocomplete',\n\n props: makeVAutocompleteProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:search': (value: any) => true,\n 'update:modelValue': (value: any) => true,\n 'update:menu': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref<VTextField>()\n const isFocused = shallowRef(false)\n const isPristine = shallowRef(true)\n const listHasFocus = shallowRef(false)\n const vMenuRef = ref<VMenu>()\n const vVirtualScrollRef = ref<VVirtualScroll>()\n const selectionIndex = shallowRef(-1)\n const { items, transformIn, transformOut } = useItems(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => vTextFieldRef.value?.color)\n const search = useProxiedModel(props, 'search', '')\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(v === null ? [null] : wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value)\n : typeof props.counterValue === 'number' ? props.counterValue\n : model.value.length\n })\n const form = useForm(props)\n const { filteredItems, getMatches } = useFilter(props, items, () => isPristine.value ? '' : search.value)\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value))\n }\n return filteredItems.value\n })\n\n const hasChips = computed(() => !!(props.chips || slots.chip))\n const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection)\n\n const selectedValues = computed(() => model.value.map(selection => selection.props.value))\n\n const highlightFirst = computed(() => {\n const selectFirst = props.autoSelectFirst === true ||\n (props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title)\n return selectFirst &&\n displayItems.value.length > 0 &&\n !isPristine.value &&\n !listHasFocus.value\n })\n\n const menuDisabled = computed(() => (\n (props.hideNoData && !displayItems.value.length) ||\n form.isReadonly.value || form.isDisabled.value\n ))\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return\n if (v && menuDisabled.value) return\n _menu.value = v\n },\n })\n\n const label = computed(() => menu.value ? props.closeText : props.openText)\n\n const listRef = ref<VList>()\n const listEvents = useScrolling(listRef, vTextFieldRef)\n function onClear (e: MouseEvent) {\n if (props.openOnClear) {\n menu.value = true\n }\n\n search.value = ''\n }\n function onMousedownControl () {\n if (menuDisabled.value) return\n\n menu.value = true\n }\n function onMousedownMenuIcon (e: MouseEvent) {\n if (menuDisabled.value) return\n\n if (isFocused.value) {\n e.preventDefault()\n e.stopPropagation()\n }\n menu.value = !menu.value\n }\n function onListKeydown (e: KeyboardEvent) {\n if (e.key !== ' ' && checkPrintable(e)) {\n vTextFieldRef.value?.focus()\n }\n }\n function onKeydown (e: KeyboardEvent) {\n if (form.isReadonly.value) return\n\n const selectionStart = vTextFieldRef.value?.selectionStart\n const length = model.value.length\n\n if (['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (\n highlightFirst.value &&\n ['Enter', 'Tab'].includes(e.key) &&\n !model.value.some(({ value }) => value === displayItems.value[0].value)\n ) {\n select(displayItems.value[0])\n }\n\n if (e.key === 'ArrowDown' && highlightFirst.value) {\n listRef.value?.focus('next')\n }\n\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (\n !props.multiple &&\n hasSelectionSlot.value &&\n model.value.length > 0 &&\n !search.value\n ) return select(model.value[0], false)\n\n if (~selectionIndex.value) {\n e.preventDefault()\n const originalSelectionIndex = selectionIndex.value\n select(model.value[selectionIndex.value], false)\n\n selectionIndex.value = originalSelectionIndex >= length - 1 ? (length - 2) : originalSelectionIndex\n } else if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1\n }\n\n return\n }\n\n if (!props.multiple) return\n\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart && selectionStart > 0) return\n\n const prev = selectionIndex.value > -1\n ? selectionIndex.value - 1\n : length - 1\n\n if (model.value[prev]) {\n selectionIndex.value = prev\n } else {\n const searchLength = search.value?.length ?? null\n selectionIndex.value = -1\n vTextFieldRef.value?.setSelectionRange(searchLength, searchLength)\n }\n } else if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return\n\n const next = selectionIndex.value + 1\n\n if (model.value[next]) {\n selectionIndex.value = next\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value?.setSelectionRange(0, 0)\n }\n } else if (~selectionIndex.value && checkPrintable(e)) {\n selectionIndex.value = -1\n }\n }\n\n function onChange (e: Event) {\n if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === (e.target as HTMLInputElement).value)\n if (item) {\n select(item)\n }\n }\n }\n\n function onAfterEnter () {\n if (props.eager) {\n vVirtualScrollRef.value?.calculateVisibleItems()\n }\n }\n function onAfterLeave () {\n if (isFocused.value) {\n isPristine.value = true\n vTextFieldRef.value?.focus()\n }\n }\n\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n setTimeout(() => {\n listHasFocus.value = true\n })\n }\n function onFocusout (e: FocusEvent) {\n listHasFocus.value = false\n }\n function onUpdateModelValue (v: any) {\n if (v == null || (v === '' && !props.multiple && !hasSelectionSlot.value)) model.value = []\n }\n\n const isSelecting = shallowRef(false)\n\n /** @param set - null means toggle */\n function select (item: ListItem | undefined, set: boolean | null = true) {\n if (!item || item.props.disabled) return\n\n if (props.multiple) {\n const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value))\n const add = set == null ? !~index : set\n\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value]\n value.splice(index, 1)\n model.value = value\n } else if (add) {\n model.value = [...model.value, item]\n }\n\n if (props.clearOnSelect) {\n search.value = ''\n }\n } else {\n const add = set !== false\n model.value = add ? [item] : []\n search.value = add && !hasSelectionSlot.value ? item.title : ''\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false\n isPristine.value = true\n })\n }\n }\n\n watch(isFocused, (val, oldVal) => {\n if (val === oldVal) return\n\n if (val) {\n isSelecting.value = true\n search.value = (props.multiple || hasSelectionSlot.value) ? '' : String(model.value.at(-1)?.props.title ?? '')\n isPristine.value = true\n\n nextTick(() => isSelecting.value = false)\n } else {\n if (!props.multiple && search.value == null) model.value = []\n menu.value = false\n if (props.multiple || hasSelectionSlot.value) search.value = ''\n selectionIndex.value = -1\n }\n })\n\n watch(search, val => {\n if (!isFocused.value || isSelecting.value) return\n\n if (val) menu.value = true\n\n isPristine.value = !val\n })\n\n watch(menu, () => {\n if (!props.hideSelected && menu.value && model.value.length) {\n const index = displayItems.value.findIndex(\n item => model.value.some(s => item.value === s.value)\n )\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index)\n })\n }\n })\n\n watch(() => props.items, (newVal, oldVal) => {\n if (menu.value) return\n\n if (isFocused.value && !oldVal.length && newVal.length) {\n menu.value = true\n }\n })\n\n useRender(() => {\n const hasList = !!(\n (!props.hideNoData || displayItems.value.length) ||\n slots['prepend-item'] ||\n slots['append-item'] ||\n slots['no-data']\n )\n const isDirty = model.value.length > 0\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n v-model={ search.value }\n onUpdate:modelValue={ onUpdateModelValue }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n counterValue={ counterValue.value }\n dirty={ isDirty }\n onChange={ onChange }\n class={[\n 'v-autocomplete',\n `v-autocomplete--${props.multiple ? 'multiple' : 'single'}`,\n {\n 'v-autocomplete--active-menu': menu.value,\n 'v-autocomplete--chips': !!props.chips,\n 'v-autocomplete--selection-slot': !!hasSelectionSlot.value,\n 'v-autocomplete--selecting-index': selectionIndex.value > -1,\n },\n props.class,\n ]}\n style={ props.style }\n readonly={ form.isReadonly.value }\n placeholder={ isDirty ? undefined : props.placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-autocomplete__content\"\n disabled={ menuDisabled.value }\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n { ...props.menuProps }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selectedValues.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onKeydown={ onListKeydown }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n tabindex=\"-1\"\n aria-live=\"polite\"\n color={ props.itemColor ?? props.color }\n { ...listEvents }\n { ...props.listProps }\n >\n { slots['prepend-item']?.() }\n\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem key=\"no-data\" title={ t(props.noDataText) } />\n ))}\n\n <VVirtualScroll ref={ vVirtualScrollRef } renderless items={ displayItems.value } itemKey=\"value\">\n { ({ item, index, itemRef }) => {\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n active: (highlightFirst.value && index === 0) ? true : undefined,\n onClick: () => select(item, null),\n })\n\n if (item.raw.type === 'divider') {\n return slots.divider?.({ props: item.raw, index }) ?? (\n <VDivider { ...item.props } key={ `divider-${index}` } />\n )\n }\n\n if (item.raw.type === 'subheader') {\n return slots.subheader?.({ props: item.raw, index }) ?? (\n <VListSubheader { ...item.props } key={ `subheader-${index}` } />\n )\n }\n\n return slots.item?.({\n item,\n index,\n props: itemProps,\n }) ?? (\n <VListItem { ...itemProps } role=\"option\">\n {{\n prepend: ({ isSelected }) => (\n <>\n { props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n key={ item.value }\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined }\n\n { item.props.prependAvatar && (\n <VAvatar image={ item.props.prependAvatar } />\n )}\n\n { item.props.prependIcon && (\n <VIcon icon={ item.props.prependIcon } />\n )}\n </>\n ),\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult('v-autocomplete', item.title, getMatches(item)?.title)\n },\n }}\n </VListItem>\n )\n }}\n </VVirtualScroll>\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { model.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item, false)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter' && e.key !== ' ') return\n\n e.preventDefault()\n e.stopPropagation()\n\n onChipClose(e)\n },\n onMousedown (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection\n const slotContent = hasSlot\n ? ensureValidVNode(\n hasChips.value\n ? slots.chip!({ item, index, props: slotProps })\n : slots.selection!({ item, index })\n )\n : undefined\n\n if (hasSlot && !slotContent) return undefined\n\n return (\n <div\n key={ item.value }\n class={[\n 'v-autocomplete__selection',\n index === selectionIndex.value && [\n 'v-autocomplete__selection--selected',\n textColorClasses.value,\n ],\n ]}\n style={ index === selectionIndex.value ? textColorStyles.value : {} }\n >\n { hasChips.value ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n disabled={ item.props.disabled }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slotContent }\n </VDefaultsProvider>\n )\n ) : (\n slotContent ?? (\n <span class=\"v-autocomplete__selection-text\">\n { item.title }\n { props.multiple && (index < model.value.length - 1) && (\n <span class=\"v-autocomplete__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n 'append-inner': (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { props.menuIcon ? (\n <VIcon\n class=\"v-autocomplete__menu-icon\"\n color={ vTextFieldRef.value?.fieldIconColor }\n icon={ props.menuIcon }\n onMousedown={ onMousedownMenuIcon }\n onClick={ noop }\n aria-label={ t(label.value) }\n title={ t(label.value) }\n tabindex=\"-1\"\n />\n ) : undefined }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VAutocomplete = InstanceType<typeof VAutocomplete>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VAutocomplete.js","names":["VAvatar","VCheckboxBtn","VChip","VDefaultsProvider","VDivider","VIcon","VList","VListItem","VListSubheader","VMenu","makeSelectProps","makeVTextFieldProps","VTextField","VVirtualScroll","useScrolling","useTextColor","highlightResult","makeFilterProps","useFilter","useForm","forwardRefs","useItems","useLocale","useProxiedModel","makeTransitionProps","computed","mergeProps","nextTick","ref","shallowRef","watch","checkPrintable","deepEqual","ensureValidVNode","genericComponent","IN_BROWSER","matchesSelector","noop","omit","propsFactory","useRender","wrapInArray","makeVAutocompleteProps","autoSelectFirst","type","Boolean","String","clearOnSelect","search","filterKeys","modelValue","role","transition","VAutocomplete","name","props","emits","focused","value","setup","_ref","slots","t","vTextFieldRef","isFocused","isPristine","listHasFocus","vMenuRef","vVirtualScrollRef","selectionIndex","items","transformIn","transformOut","textColorClasses","textColorStyles","color","model","v","transformed","multiple","counterValue","length","form","filteredItems","getMatches","displayItems","hideSelected","filter","filteredItem","some","s","hasChips","chips","chip","hasSelectionSlot","selection","selectedValues","map","highlightFirst","selectFirst","title","menuDisabled","hideNoData","isReadonly","isDisabled","_menu","menu","get","set","ΨopenChildren","size","label","closeText","openText","listRef","listEvents","onClear","e","openOnClear","onMousedownControl","onMousedownMenuIcon","preventDefault","stopPropagation","onListKeydown","key","focus","onKeydown","selectionStart","includes","_ref2","select","originalSelectionIndex","prev","searchLength","setSelectionRange","next","onChange","item","find","target","onAfterEnter","eager","calculateVisibleItems","onAfterLeave","onFocusin","setTimeout","onFocusout","onUpdateModelValue","isSelecting","arguments","undefined","disabled","index","findIndex","valueComparator","add","splice","val","oldVal","at","window","requestAnimationFrame","scrollToIndex","newVal","hasList","isDirty","textFieldProps","filterProps","_createVNode","_mergeProps","$event","externalValue","class","style","placeholder","default","_createElementVNode","_Fragment","menuProps","itemColor","listProps","noDataText","_ref3","itemRef","itemProps","active","onClick","raw","divider","subheader","prepend","_ref4","isSelected","prependAvatar","prependIcon","onChipClose","slotProps","onMousedown","hasSlot","slotContent","_normalizeClass","_normalizeStyle","closableChips","closable","text","_createTextVNode","append-inner","_len","args","Array","_key","menuIcon","fieldIconColor"],"sources":["../../../src/components/VAutocomplete/VAutocomplete.tsx"],"sourcesContent":["// Styles\nimport './VAutocomplete.sass'\n\n// Components\nimport { VAvatar } from '@/components/VAvatar'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VDivider } from '@/components/VDivider'\nimport { VIcon } from '@/components/VIcon'\nimport { VList, VListItem, VListSubheader } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { makeSelectProps } from '@/components/VSelect/VSelect'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\nimport { VVirtualScroll } from '@/components/VVirtualScroll'\n\n// Composables\nimport { useScrolling } from '../VSelect/useScrolling'\nimport { useTextColor } from '@/composables/color'\nimport { highlightResult, makeFilterProps, useFilter } from '@/composables/filter'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useItems } from '@/composables/list-items'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue'\nimport {\n checkPrintable,\n deepEqual,\n ensureValidVNode,\n genericComponent,\n IN_BROWSER,\n matchesSelector,\n noop,\n omit,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps, SelectItemKey } from '@/util'\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = [T] extends [Primitive]\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject> | null\n\nexport const makeVAutocompleteProps = propsFactory({\n autoSelectFirst: {\n type: [Boolean, String] as PropType<boolean | 'exact'>,\n },\n clearOnSelect: Boolean,\n search: String,\n\n ...makeFilterProps({ filterKeys: ['title'] }),\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'combobox',\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: false }),\n}, 'VAutocomplete')\n\ntype ItemType<T> = T extends readonly (infer U)[] ? U : never\n\nexport const VAutocomplete = genericComponent<new <\n T extends readonly any[],\n Item = ItemType<T>,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<Item, ReturnObject, Multiple> = Value<Item, ReturnObject, Multiple>\n>(\n props: {\n items?: T\n itemTitle?: SelectItemKey<ItemType<T>>\n itemValue?: SelectItemKey<ItemType<T>>\n itemProps?: SelectItemKey<ItemType<T>>\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V | null\n 'onUpdate:modelValue'?: (value: V) => void\n },\n slots: Omit<VInputSlots & VFieldSlots, 'default'> & {\n item: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n chip: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n selection: { item: ListItem<Item>, index: number }\n subheader: { props: Record<string, unknown>, index: number }\n divider: { props: Record<string, unknown>, index: number }\n 'prepend-item': never\n 'append-item': never\n 'no-data': never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VAutocomplete',\n\n props: makeVAutocompleteProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:search': (value: any) => true,\n 'update:modelValue': (value: any) => true,\n 'update:menu': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref<VTextField>()\n const isFocused = shallowRef(false)\n const isPristine = shallowRef(true)\n const listHasFocus = shallowRef(false)\n const vMenuRef = ref<VMenu>()\n const vVirtualScrollRef = ref<VVirtualScroll>()\n const selectionIndex = shallowRef(-1)\n const { items, transformIn, transformOut } = useItems(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => vTextFieldRef.value?.color)\n const search = useProxiedModel(props, 'search', '')\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(v === null ? [null] : wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value)\n : typeof props.counterValue === 'number' ? props.counterValue\n : model.value.length\n })\n const form = useForm(props)\n const { filteredItems, getMatches } = useFilter(props, items, () => isPristine.value ? '' : search.value)\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value))\n }\n return filteredItems.value\n })\n\n const hasChips = computed(() => !!(props.chips || slots.chip))\n const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection)\n\n const selectedValues = computed(() => model.value.map(selection => selection.props.value))\n\n const highlightFirst = computed(() => {\n const selectFirst = props.autoSelectFirst === true ||\n (props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title)\n return selectFirst &&\n displayItems.value.length > 0 &&\n !isPristine.value &&\n !listHasFocus.value\n })\n\n const menuDisabled = computed(() => (\n (props.hideNoData && !displayItems.value.length) ||\n form.isReadonly.value || form.isDisabled.value\n ))\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return\n if (v && menuDisabled.value) return\n _menu.value = v\n },\n })\n\n const label = computed(() => menu.value ? props.closeText : props.openText)\n\n const listRef = ref<VList>()\n const listEvents = useScrolling(listRef, vTextFieldRef)\n function onClear (e: MouseEvent) {\n if (props.openOnClear) {\n menu.value = true\n }\n\n search.value = ''\n }\n function onMousedownControl () {\n if (menuDisabled.value) return\n\n menu.value = true\n }\n function onMousedownMenuIcon (e: MouseEvent) {\n if (menuDisabled.value) return\n\n if (isFocused.value) {\n e.preventDefault()\n e.stopPropagation()\n }\n menu.value = !menu.value\n }\n function onListKeydown (e: KeyboardEvent) {\n if (checkPrintable(e) || e.key === 'Backspace') {\n vTextFieldRef.value?.focus()\n }\n }\n function onKeydown (e: KeyboardEvent) {\n if (form.isReadonly.value) return\n\n const selectionStart = vTextFieldRef.value?.selectionStart\n const length = model.value.length\n\n if (['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape'].includes(e.key)) {\n menu.value = false\n }\n\n if (\n highlightFirst.value &&\n ['Enter', 'Tab'].includes(e.key) &&\n !model.value.some(({ value }) => value === displayItems.value[0].value)\n ) {\n select(displayItems.value[0])\n }\n\n if (e.key === 'ArrowDown' && highlightFirst.value) {\n listRef.value?.focus('next')\n }\n\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (\n !props.multiple &&\n hasSelectionSlot.value &&\n model.value.length > 0 &&\n !search.value\n ) return select(model.value[0], false)\n\n if (~selectionIndex.value) {\n e.preventDefault()\n const originalSelectionIndex = selectionIndex.value\n select(model.value[selectionIndex.value], false)\n\n selectionIndex.value = originalSelectionIndex >= length - 1 ? (length - 2) : originalSelectionIndex\n } else if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1\n }\n\n return\n }\n\n if (!props.multiple) return\n\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart && selectionStart > 0) return\n\n const prev = selectionIndex.value > -1\n ? selectionIndex.value - 1\n : length - 1\n\n if (model.value[prev]) {\n selectionIndex.value = prev\n } else {\n const searchLength = search.value?.length ?? null\n selectionIndex.value = -1\n vTextFieldRef.value?.setSelectionRange(searchLength, searchLength)\n }\n } else if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return\n\n const next = selectionIndex.value + 1\n\n if (model.value[next]) {\n selectionIndex.value = next\n } else {\n selectionIndex.value = -1\n vTextFieldRef.value?.setSelectionRange(0, 0)\n }\n } else if (~selectionIndex.value && checkPrintable(e)) {\n selectionIndex.value = -1\n }\n }\n\n function onChange (e: Event) {\n if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === (e.target as HTMLInputElement).value)\n if (item) {\n select(item)\n }\n }\n }\n\n function onAfterEnter () {\n if (props.eager) {\n vVirtualScrollRef.value?.calculateVisibleItems()\n }\n }\n function onAfterLeave () {\n if (isFocused.value) {\n isPristine.value = true\n vTextFieldRef.value?.focus()\n }\n }\n\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n setTimeout(() => {\n listHasFocus.value = true\n })\n }\n function onFocusout (e: FocusEvent) {\n listHasFocus.value = false\n }\n function onUpdateModelValue (v: any) {\n if (v == null || (v === '' && !props.multiple && !hasSelectionSlot.value)) model.value = []\n }\n\n const isSelecting = shallowRef(false)\n\n /** @param set - null means toggle */\n function select (item: ListItem | undefined, set: boolean | null = true) {\n if (!item || item.props.disabled) return\n\n if (props.multiple) {\n const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value))\n const add = set == null ? !~index : set\n\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value]\n value.splice(index, 1)\n model.value = value\n } else if (add) {\n model.value = [...model.value, item]\n }\n\n if (props.clearOnSelect) {\n search.value = ''\n }\n } else {\n const add = set !== false\n model.value = add ? [item] : []\n search.value = add && !hasSelectionSlot.value ? item.title : ''\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false\n isPristine.value = true\n })\n }\n }\n\n watch(isFocused, (val, oldVal) => {\n if (val === oldVal) return\n\n if (val) {\n isSelecting.value = true\n search.value = (props.multiple || hasSelectionSlot.value) ? '' : String(model.value.at(-1)?.props.title ?? '')\n isPristine.value = true\n\n nextTick(() => isSelecting.value = false)\n } else {\n if (!props.multiple && search.value == null) model.value = []\n menu.value = false\n if (props.multiple || hasSelectionSlot.value) search.value = ''\n selectionIndex.value = -1\n }\n })\n\n watch(search, val => {\n if (!isFocused.value || isSelecting.value) return\n\n if (val) menu.value = true\n\n isPristine.value = !val\n })\n\n watch(menu, () => {\n if (!props.hideSelected && menu.value && model.value.length) {\n const index = displayItems.value.findIndex(\n item => model.value.some(s => item.value === s.value)\n )\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index)\n })\n }\n })\n\n watch(() => props.items, (newVal, oldVal) => {\n if (menu.value) return\n\n if (isFocused.value && !oldVal.length && newVal.length) {\n menu.value = true\n }\n })\n\n useRender(() => {\n const hasList = !!(\n (!props.hideNoData || displayItems.value.length) ||\n slots['prepend-item'] ||\n slots['append-item'] ||\n slots['no-data']\n )\n const isDirty = model.value.length > 0\n const textFieldProps = VTextField.filterProps(props)\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n v-model={ search.value }\n onUpdate:modelValue={ onUpdateModelValue }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n counterValue={ counterValue.value }\n dirty={ isDirty }\n onChange={ onChange }\n class={[\n 'v-autocomplete',\n `v-autocomplete--${props.multiple ? 'multiple' : 'single'}`,\n {\n 'v-autocomplete--active-menu': menu.value,\n 'v-autocomplete--chips': !!props.chips,\n 'v-autocomplete--selection-slot': !!hasSelectionSlot.value,\n 'v-autocomplete--selecting-index': selectionIndex.value > -1,\n },\n props.class,\n ]}\n style={ props.style }\n readonly={ form.isReadonly.value }\n placeholder={ isDirty ? undefined : props.placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onKeydown={ onKeydown }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-autocomplete__content\"\n disabled={ menuDisabled.value }\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n { ...props.menuProps }\n >\n { hasList && (\n <VList\n ref={ listRef }\n filterable\n selected={ selectedValues.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onKeydown={ onListKeydown }\n onFocusin={ onFocusin }\n onFocusout={ onFocusout }\n tabindex=\"-1\"\n aria-live=\"polite\"\n color={ props.itemColor ?? props.color }\n { ...listEvents }\n { ...props.listProps }\n >\n { slots['prepend-item']?.() }\n\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem key=\"no-data\" title={ t(props.noDataText) } />\n ))}\n\n <VVirtualScroll ref={ vVirtualScrollRef } renderless items={ displayItems.value } itemKey=\"value\">\n { ({ item, index, itemRef }) => {\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n active: (highlightFirst.value && index === 0) ? true : undefined,\n onClick: () => select(item, null),\n })\n\n if (item.raw.type === 'divider') {\n return slots.divider?.({ props: item.raw, index }) ?? (\n <VDivider { ...item.props } key={ `divider-${index}` } />\n )\n }\n\n if (item.raw.type === 'subheader') {\n return slots.subheader?.({ props: item.raw, index }) ?? (\n <VListSubheader { ...item.props } key={ `subheader-${index}` } />\n )\n }\n\n return slots.item?.({\n item,\n index,\n props: itemProps,\n }) ?? (\n <VListItem { ...itemProps } role=\"option\">\n {{\n prepend: ({ isSelected }) => (\n <>\n { props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n key={ item.value }\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined }\n\n { item.props.prependAvatar && (\n <VAvatar image={ item.props.prependAvatar } />\n )}\n\n { item.props.prependIcon && (\n <VIcon icon={ item.props.prependIcon } />\n )}\n </>\n ),\n title: () => {\n return isPristine.value\n ? item.title\n : highlightResult('v-autocomplete', item.title, getMatches(item)?.title)\n },\n }}\n </VListItem>\n )\n }}\n </VVirtualScroll>\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { model.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item, false)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n onKeydown (e: KeyboardEvent) {\n if (e.key !== 'Enter' && e.key !== ' ') return\n\n e.preventDefault()\n e.stopPropagation()\n\n onChipClose(e)\n },\n onMousedown (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection\n const slotContent = hasSlot\n ? ensureValidVNode(\n hasChips.value\n ? slots.chip!({ item, index, props: slotProps })\n : slots.selection!({ item, index })\n )\n : undefined\n\n if (hasSlot && !slotContent) return undefined\n\n return (\n <div\n key={ item.value }\n class={[\n 'v-autocomplete__selection',\n index === selectionIndex.value && [\n 'v-autocomplete__selection--selected',\n textColorClasses.value,\n ],\n ]}\n style={ index === selectionIndex.value ? textColorStyles.value : {} }\n >\n { hasChips.value ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n disabled={ item.props.disabled }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slotContent }\n </VDefaultsProvider>\n )\n ) : (\n slotContent ?? (\n <span class=\"v-autocomplete__selection-text\">\n { item.title }\n { props.multiple && (index < model.value.length - 1) && (\n <span class=\"v-autocomplete__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n 'append-inner': (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { props.menuIcon ? (\n <VIcon\n class=\"v-autocomplete__menu-icon\"\n color={ vTextFieldRef.value?.fieldIconColor }\n icon={ props.menuIcon }\n onMousedown={ onMousedownMenuIcon }\n onClick={ noop }\n aria-label={ t(label.value) }\n title={ t(label.value) }\n tabindex=\"-1\"\n />\n ) : undefined }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n filteredItems,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VAutocomplete = InstanceType<typeof VAutocomplete>\n"],"mappings":"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","ignoreList":[]}
@@ -295,14 +295,18 @@ export declare const makeVBtnProps: <Defaults extends {
295
295
  default: boolean;
296
296
  }, "type" | "default"> & {
297
297
  type: PropType<unknown extends Defaults["ripple"] ? boolean | {
298
- class: string;
298
+ class?: string;
299
+ keys?: number[];
299
300
  } | undefined : boolean | {
300
- class: string;
301
+ class?: string;
302
+ keys?: number[];
301
303
  } | Defaults["ripple"] | undefined>;
302
304
  default: unknown extends Defaults["ripple"] ? boolean | {
303
- class: string;
305
+ class?: string;
306
+ keys?: number[];
304
307
  } | undefined : Defaults["ripple"] | NonNullable<boolean | {
305
- class: string;
308
+ class?: string;
309
+ keys?: number[];
306
310
  } | undefined>;
307
311
  };
308
312
  text: unknown extends Defaults["text"] ? {
@@ -334,7 +338,8 @@ export declare const VBtn: {
334
338
  slim: boolean;
335
339
  stacked: boolean;
336
340
  ripple: boolean | {
337
- class: string;
341
+ class?: string;
342
+ keys?: number[];
338
343
  } | undefined;
339
344
  } & {
340
345
  location?: import("../../util/index.js").Anchor | null | undefined;
@@ -411,7 +416,8 @@ export declare const VBtn: {
411
416
  slim: boolean;
412
417
  stacked: boolean;
413
418
  ripple: boolean | {
414
- class: string;
419
+ class?: string;
420
+ keys?: number[];
415
421
  } | undefined;
416
422
  }, true, {}, import("vue").SlotsType<Partial<{
417
423
  default: () => import("vue").VNode[];
@@ -442,7 +448,8 @@ export declare const VBtn: {
442
448
  slim: boolean;
443
449
  stacked: boolean;
444
450
  ripple: boolean | {
445
- class: string;
451
+ class?: string;
452
+ keys?: number[];
446
453
  } | undefined;
447
454
  } & {
448
455
  location?: import("../../util/index.js").Anchor | null | undefined;
@@ -515,7 +522,8 @@ export declare const VBtn: {
515
522
  slim: boolean;
516
523
  stacked: boolean;
517
524
  ripple: boolean | {
518
- class: string;
525
+ class?: string;
526
+ keys?: number[];
519
527
  } | undefined;
520
528
  }>;
521
529
  __isFragment?: never;
@@ -538,7 +546,8 @@ export declare const VBtn: {
538
546
  slim: boolean;
539
547
  stacked: boolean;
540
548
  ripple: boolean | {
541
- class: string;
549
+ class?: string;
550
+ keys?: number[];
542
551
  } | undefined;
543
552
  } & {
544
553
  location?: import("../../util/index.js").Anchor | null | undefined;
@@ -615,7 +624,8 @@ export declare const VBtn: {
615
624
  slim: boolean;
616
625
  stacked: boolean;
617
626
  ripple: boolean | {
618
- class: string;
627
+ class?: string;
628
+ keys?: number[];
619
629
  } | undefined;
620
630
  }, {}, string, import("vue").SlotsType<Partial<{
621
631
  default: () => import("vue").VNode[];