@vuetify/nightly 3.6.1-master.2024-05-01 → 3.6.3-dev.2024-05-06

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 (65) hide show
  1. package/CHANGELOG.md +8 -3
  2. package/dist/json/attributes.json +95 -91
  3. package/dist/json/importMap-labs.json +22 -22
  4. package/dist/json/importMap.json +120 -120
  5. package/dist/json/tags.json +1 -0
  6. package/dist/json/web-types.json +202 -191
  7. package/dist/vuetify-labs.css +2399 -2378
  8. package/dist/vuetify-labs.d.ts +281 -233
  9. package/dist/vuetify-labs.esm.js +22 -14
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +22 -14
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +1041 -1020
  14. package/dist/vuetify.d.ts +325 -277
  15. package/dist/vuetify.esm.js +22 -14
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +22 -14
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +21 -22
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAlert/VAlert.css +3 -1
  23. package/lib/components/VAutocomplete/index.d.mts +18 -18
  24. package/lib/components/VAvatar/VAvatar.css +10 -1
  25. package/lib/components/VAvatar/VAvatar.mjs +6 -1
  26. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  27. package/lib/components/VAvatar/VAvatar.sass +1 -0
  28. package/lib/components/VAvatar/_variables.scss +13 -0
  29. package/lib/components/VAvatar/index.d.mts +6 -0
  30. package/lib/components/VBottomSheet/index.d.mts +15 -9
  31. package/lib/components/VBtn/VBtn.css +3 -1
  32. package/lib/components/VCard/VCard.css +3 -1
  33. package/lib/components/VChip/VChip.css +3 -1
  34. package/lib/components/VCombobox/index.d.mts +18 -18
  35. package/lib/components/VDataTable/VDataTableHeaders.mjs +2 -0
  36. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  37. package/lib/components/VDataTable/composables/select.mjs +7 -8
  38. package/lib/components/VDataTable/composables/select.mjs.map +1 -1
  39. package/lib/components/VDialog/index.d.mts +33 -27
  40. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  41. package/lib/components/VFileInput/index.d.mts +6 -6
  42. package/lib/components/VHover/VHover.mjs +1 -1
  43. package/lib/components/VHover/VHover.mjs.map +1 -1
  44. package/lib/components/VHover/index.d.mts +24 -24
  45. package/lib/components/VList/VListItem.css +3 -1
  46. package/lib/components/VMenu/index.d.mts +33 -27
  47. package/lib/components/VOverlay/VOverlay.mjs +5 -2
  48. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  49. package/lib/components/VOverlay/index.d.mts +15 -9
  50. package/lib/components/VSelect/index.d.mts +18 -18
  51. package/lib/components/VSnackbar/VSnackbar.css +3 -1
  52. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  53. package/lib/components/VSnackbar/index.d.mts +47 -41
  54. package/lib/components/VSpeedDial/index.d.mts +15 -9
  55. package/lib/components/VTooltip/index.d.mts +33 -27
  56. package/lib/components/index.d.mts +281 -233
  57. package/lib/entry-bundler.mjs +1 -1
  58. package/lib/entry-bundler.mjs.map +1 -1
  59. package/lib/framework.mjs +1 -1
  60. package/lib/framework.mjs.map +1 -1
  61. package/lib/index.d.mts +44 -44
  62. package/lib/labs/VSnackbarQueue/index.d.mts +47 -41
  63. package/lib/labs/components.d.mts +47 -41
  64. package/lib/styles/tools/_variant.sass +3 -1
  65. package/package.json +1 -1
@@ -51,13 +51,15 @@
51
51
  background: currentColor;
52
52
  opacity: var(--v-activated-opacity);
53
53
  border-radius: inherit;
54
- position: absolute;
55
54
  top: 0;
56
55
  right: 0;
57
56
  bottom: 0;
58
57
  left: 0;
59
58
  pointer-events: none;
60
59
  }
60
+ .v-alert .v-alert__underlay {
61
+ position: absolute;
62
+ }
61
63
  .v-alert--prominent {
62
64
  grid-template-areas: "prepend content append close" "prepend content . .";
63
65
  }
@@ -638,7 +638,7 @@ declare const VAutocomplete: {
638
638
  component: vue.Component;
639
639
  };
640
640
  zIndex: string | number;
641
- modelValue: boolean;
641
+ modelValue: boolean | null;
642
642
  origin: Anchor | "auto" | "overlap";
643
643
  eager: boolean;
644
644
  location: Anchor;
@@ -667,7 +667,7 @@ declare const VAutocomplete: {
667
667
  component: vue.Component;
668
668
  };
669
669
  zIndex: string | number;
670
- modelValue: boolean;
670
+ modelValue: boolean | null;
671
671
  origin: Anchor | "auto" | "overlap";
672
672
  eager: boolean;
673
673
  location: Anchor;
@@ -743,7 +743,7 @@ declare const VAutocomplete: {
743
743
  component: vue.Component;
744
744
  };
745
745
  zIndex: string | number;
746
- modelValue: boolean;
746
+ modelValue: boolean | null;
747
747
  origin: Anchor | "auto" | "overlap";
748
748
  eager: boolean;
749
749
  location: Anchor;
@@ -1218,7 +1218,7 @@ declare const VAutocomplete: {
1218
1218
  component: vue.Component;
1219
1219
  };
1220
1220
  zIndex: string | number;
1221
- modelValue: boolean;
1221
+ modelValue: boolean | null;
1222
1222
  origin: Anchor | "auto" | "overlap";
1223
1223
  eager: boolean;
1224
1224
  location: Anchor;
@@ -1247,7 +1247,7 @@ declare const VAutocomplete: {
1247
1247
  component: vue.Component;
1248
1248
  };
1249
1249
  zIndex: string | number;
1250
- modelValue: boolean;
1250
+ modelValue: boolean | null;
1251
1251
  origin: Anchor | "auto" | "overlap";
1252
1252
  eager: boolean;
1253
1253
  location: Anchor;
@@ -1323,7 +1323,7 @@ declare const VAutocomplete: {
1323
1323
  component: vue.Component;
1324
1324
  };
1325
1325
  zIndex: string | number;
1326
- modelValue: boolean;
1326
+ modelValue: boolean | null;
1327
1327
  origin: Anchor | "auto" | "overlap";
1328
1328
  eager: boolean;
1329
1329
  location: Anchor;
@@ -1912,7 +1912,7 @@ declare const VAutocomplete: {
1912
1912
  component: vue.Component;
1913
1913
  };
1914
1914
  zIndex: string | number;
1915
- modelValue: boolean;
1915
+ modelValue: boolean | null;
1916
1916
  origin: Anchor | "auto" | "overlap";
1917
1917
  eager: boolean;
1918
1918
  location: Anchor;
@@ -1941,7 +1941,7 @@ declare const VAutocomplete: {
1941
1941
  component: vue.Component;
1942
1942
  };
1943
1943
  zIndex: string | number;
1944
- modelValue: boolean;
1944
+ modelValue: boolean | null;
1945
1945
  origin: Anchor | "auto" | "overlap";
1946
1946
  eager: boolean;
1947
1947
  location: Anchor;
@@ -2017,7 +2017,7 @@ declare const VAutocomplete: {
2017
2017
  component: vue.Component;
2018
2018
  };
2019
2019
  zIndex: string | number;
2020
- modelValue: boolean;
2020
+ modelValue: boolean | null;
2021
2021
  origin: Anchor | "auto" | "overlap";
2022
2022
  eager: boolean;
2023
2023
  location: Anchor;
@@ -2541,7 +2541,7 @@ declare const VAutocomplete: {
2541
2541
  component: vue.Component;
2542
2542
  };
2543
2543
  zIndex: string | number;
2544
- modelValue: boolean;
2544
+ modelValue: boolean | null;
2545
2545
  origin: Anchor | "auto" | "overlap";
2546
2546
  eager: boolean;
2547
2547
  location: Anchor;
@@ -2570,7 +2570,7 @@ declare const VAutocomplete: {
2570
2570
  component: vue.Component;
2571
2571
  };
2572
2572
  zIndex: string | number;
2573
- modelValue: boolean;
2573
+ modelValue: boolean | null;
2574
2574
  origin: Anchor | "auto" | "overlap";
2575
2575
  eager: boolean;
2576
2576
  location: Anchor;
@@ -2646,7 +2646,7 @@ declare const VAutocomplete: {
2646
2646
  component: vue.Component;
2647
2647
  };
2648
2648
  zIndex: string | number;
2649
- modelValue: boolean;
2649
+ modelValue: boolean | null;
2650
2650
  origin: Anchor | "auto" | "overlap";
2651
2651
  eager: boolean;
2652
2652
  location: Anchor;
@@ -3378,7 +3378,7 @@ declare const VAutocomplete: {
3378
3378
  component: vue.Component;
3379
3379
  };
3380
3380
  zIndex: string | number;
3381
- modelValue: boolean;
3381
+ modelValue: boolean | null;
3382
3382
  origin: Anchor | "auto" | "overlap";
3383
3383
  eager: boolean;
3384
3384
  location: Anchor;
@@ -3407,7 +3407,7 @@ declare const VAutocomplete: {
3407
3407
  component: vue.Component;
3408
3408
  };
3409
3409
  zIndex: string | number;
3410
- modelValue: boolean;
3410
+ modelValue: boolean | null;
3411
3411
  origin: Anchor | "auto" | "overlap";
3412
3412
  eager: boolean;
3413
3413
  location: Anchor;
@@ -3483,7 +3483,7 @@ declare const VAutocomplete: {
3483
3483
  component: vue.Component;
3484
3484
  };
3485
3485
  zIndex: string | number;
3486
- modelValue: boolean;
3486
+ modelValue: boolean | null;
3487
3487
  origin: Anchor | "auto" | "overlap";
3488
3488
  eager: boolean;
3489
3489
  location: Anchor;
@@ -4062,7 +4062,7 @@ declare const VAutocomplete: {
4062
4062
  component: vue.Component;
4063
4063
  };
4064
4064
  zIndex: string | number;
4065
- modelValue: boolean;
4065
+ modelValue: boolean | null;
4066
4066
  origin: Anchor | "auto" | "overlap";
4067
4067
  eager: boolean;
4068
4068
  location: Anchor;
@@ -4091,7 +4091,7 @@ declare const VAutocomplete: {
4091
4091
  component: vue.Component;
4092
4092
  };
4093
4093
  zIndex: string | number;
4094
- modelValue: boolean;
4094
+ modelValue: boolean | null;
4095
4095
  origin: Anchor | "auto" | "overlap";
4096
4096
  eager: boolean;
4097
4097
  location: Anchor;
@@ -4167,7 +4167,7 @@ declare const VAutocomplete: {
4167
4167
  component: vue.Component;
4168
4168
  };
4169
4169
  zIndex: string | number;
4170
- modelValue: boolean;
4170
+ modelValue: boolean | null;
4171
4171
  origin: Anchor | "auto" | "overlap";
4172
4172
  eager: boolean;
4173
4173
  location: Anchor;
@@ -10,6 +10,9 @@
10
10
  transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
11
11
  transition-property: width, height;
12
12
  vertical-align: middle;
13
+ border-color: rgba(var(--v-border-color), var(--v-border-opacity));
14
+ border-style: solid;
15
+ border-width: thin;
13
16
  border-radius: 50%;
14
17
  }
15
18
  .v-avatar.v-avatar--size-x-small {
@@ -39,6 +42,10 @@
39
42
  height: calc(var(--v-avatar-height) + -8px);
40
43
  width: calc(var(--v-avatar-height) + -8px);
41
44
  }
45
+ .v-avatar--border {
46
+ border-width: thin;
47
+ box-shadow: none;
48
+ }
42
49
  .v-avatar--variant-plain, .v-avatar--variant-outlined, .v-avatar--variant-text, .v-avatar--variant-tonal {
43
50
  background: transparent;
44
51
  color: inherit;
@@ -72,13 +79,15 @@
72
79
  background: currentColor;
73
80
  opacity: var(--v-activated-opacity);
74
81
  border-radius: inherit;
75
- position: absolute;
76
82
  top: 0;
77
83
  right: 0;
78
84
  bottom: 0;
79
85
  left: 0;
80
86
  pointer-events: none;
81
87
  }
88
+ .v-avatar .v-avatar__underlay {
89
+ position: absolute;
90
+ }
82
91
  .v-avatar--rounded {
83
92
  border-radius: 4px;
84
93
  }
@@ -6,6 +6,7 @@ import "./VAvatar.css";
6
6
  import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
7
7
  import { VIcon } from "../VIcon/index.mjs";
8
8
  import { VImg } from "../VImg/index.mjs"; // Composables
9
+ import { makeBorderProps, useBorder } from "../../composables/border.mjs";
9
10
  import { makeComponentProps } from "../../composables/component.mjs";
10
11
  import { makeDensityProps, useDensity } from "../../composables/density.mjs";
11
12
  import { IconValue } from "../../composables/icons.mjs";
@@ -21,6 +22,7 @@ export const makeVAvatarProps = propsFactory({
21
22
  icon: IconValue,
22
23
  image: String,
23
24
  text: String,
25
+ ...makeBorderProps(),
24
26
  ...makeComponentProps(),
25
27
  ...makeDensityProps(),
26
28
  ...makeRoundedProps(),
@@ -41,6 +43,9 @@ export const VAvatar = genericComponent()({
41
43
  const {
42
44
  themeClasses
43
45
  } = provideTheme(props);
46
+ const {
47
+ borderClasses
48
+ } = useBorder(props);
44
49
  const {
45
50
  colorClasses,
46
51
  colorStyles,
@@ -60,7 +65,7 @@ export const VAvatar = genericComponent()({
60
65
  "class": ['v-avatar', {
61
66
  'v-avatar--start': props.start,
62
67
  'v-avatar--end': props.end
63
- }, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
68
+ }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
64
69
  "style": [colorStyles.value, sizeStyles.value, props.style]
65
70
  }, {
66
71
  default: () => [!slots.default ? props.image ? _createVNode(VImg, {
@@ -1 +1 @@
1
- {"version":3,"file":"VAvatar.mjs","names":["VDefaultsProvider","VIcon","VImg","makeComponentProps","makeDensityProps","useDensity","IconValue","makeRoundedProps","useRounded","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","genericComponent","propsFactory","useRender","makeVAvatarProps","start","Boolean","end","icon","image","String","text","variant","VAvatar","name","props","setup","_ref","slots","themeClasses","colorClasses","colorStyles","variantClasses","densityClasses","roundedClasses","sizeClasses","sizeStyles","_createVNode","tag","value","class","style","default","cover"],"sources":["../../../src/components/VAvatar/VAvatar.tsx"],"sourcesContent":["// Styles\nimport './VAvatar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVAvatarProps = propsFactory({\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n image: String,\n text: String,\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VAvatar')\n\nexport const VAvatar = genericComponent()({\n name: 'VAvatar',\n\n props: makeVAvatarProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-avatar',\n {\n 'v-avatar--start': props.start,\n 'v-avatar--end': props.end,\n },\n themeClasses.value,\n colorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n >\n { !slots.default ? (\n props.image\n ? (<VImg key=\"image\" src={ props.image } alt=\"\" cover />)\n : props.icon\n ? (<VIcon key=\"icon\" icon={ props.icon } />)\n : props.text\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n defaults={{\n VImg: {\n cover: true,\n image: props.image,\n },\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.default() }\n </VDefaultsProvider>\n )}\n\n { genOverlays(false, 'v-avatar') }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VAvatar = InstanceType<typeof VAvatar>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VAvatar.mjs","names":["VDefaultsProvider","VIcon","VImg","makeBorderProps","useBorder","makeComponentProps","makeDensityProps","useDensity","IconValue","makeRoundedProps","useRounded","makeSizeProps","useSize","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","genericComponent","propsFactory","useRender","makeVAvatarProps","start","Boolean","end","icon","image","String","text","variant","VAvatar","name","props","setup","_ref","slots","themeClasses","borderClasses","colorClasses","colorStyles","variantClasses","densityClasses","roundedClasses","sizeClasses","sizeStyles","_createVNode","tag","value","class","style","default","cover"],"sources":["../../../src/components/VAvatar/VAvatar.tsx"],"sourcesContent":["// Styles\nimport './VAvatar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { IconValue } from '@/composables/icons'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVAvatarProps = propsFactory({\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n image: String,\n text: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VAvatar')\n\nexport const VAvatar = genericComponent()({\n name: 'VAvatar',\n\n props: makeVAvatarProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { densityClasses } = useDensity(props)\n const { roundedClasses } = useRounded(props)\n const { sizeClasses, sizeStyles } = useSize(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-avatar',\n {\n 'v-avatar--start': props.start,\n 'v-avatar--end': props.end,\n },\n themeClasses.value,\n borderClasses.value,\n colorClasses.value,\n densityClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n sizeStyles.value,\n props.style,\n ]}\n >\n { !slots.default ? (\n props.image\n ? (<VImg key=\"image\" src={ props.image } alt=\"\" cover />)\n : props.icon\n ? (<VIcon key=\"icon\" icon={ props.icon } />)\n : props.text\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n defaults={{\n VImg: {\n cover: true,\n image: props.image,\n },\n VIcon: {\n icon: props.icon,\n },\n }}\n >\n { slots.default() }\n </VDefaultsProvider>\n )}\n\n { genOverlays(false, 'v-avatar') }\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VAvatar = InstanceType<typeof VAvatar>\n"],"mappings":"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","ignoreList":[]}
@@ -19,6 +19,7 @@
19
19
 
20
20
  @include avatar-sizes($avatar-sizes)
21
21
  @include avatar-density(('height', 'width'), $avatar-density)
22
+ @include tools.border($avatar-border...)
22
23
  @include tools.rounded($avatar-border-radius)
23
24
  @include tools.variant($avatar-variants...)
24
25
 
@@ -1,10 +1,16 @@
1
1
  @use "sass:map";
2
+ @use '../../styles/settings';
2
3
  @use "../../styles/settings/variables";
3
4
  @use "../../styles/tools/functions";
4
5
 
5
6
  // Defaults
6
7
  $avatar-background: var(--v-theme-surface) !default;
7
8
  $avatar-border-radius: map.get(variables.$rounded, 'circle') !default;
9
+ $avatar-border-color: settings.$border-color-root !default;
10
+ $avatar-border-radius: map.get(settings.$rounded, 0) !default;
11
+ $avatar-border-style: settings.$border-style-root !default;
12
+ $avatar-border-thin-width: thin !default;
13
+ $avatar-border-width: thin !default;
8
14
  $avatar-color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity)) !default;
9
15
  $avatar-density: ('default': 0, 'comfortable': -1, 'compact': -2) !default;
10
16
  $avatar-elevation: 1 !default;
@@ -26,6 +32,13 @@ $avatar-sizes: functions.map-deep-merge(
26
32
  $avatar-sizes
27
33
  );
28
34
 
35
+ $avatar-border: (
36
+ $avatar-border-color,
37
+ $avatar-border-style,
38
+ $avatar-border-width,
39
+ $avatar-border-thin-width
40
+ ) !default;
41
+
29
42
  $avatar-variants: (
30
43
  $avatar-background,
31
44
  $avatar-color,
@@ -27,6 +27,7 @@ declare const VAvatar: {
27
27
  theme?: string | undefined;
28
28
  color?: string | undefined;
29
29
  icon?: IconValue | undefined;
30
+ border?: string | number | boolean | undefined;
30
31
  rounded?: string | number | boolean | undefined;
31
32
  } & {
32
33
  $children?: vue.VNodeChild | {
@@ -53,6 +54,7 @@ declare const VAvatar: {
53
54
  theme?: string | undefined;
54
55
  color?: string | undefined;
55
56
  icon?: IconValue | undefined;
57
+ border?: string | number | boolean | undefined;
56
58
  rounded?: string | number | boolean | undefined;
57
59
  } & {
58
60
  $children?: vue.VNodeChild | {
@@ -100,6 +102,7 @@ declare const VAvatar: {
100
102
  theme?: string | undefined;
101
103
  color?: string | undefined;
102
104
  icon?: IconValue | undefined;
105
+ border?: string | number | boolean | undefined;
103
106
  rounded?: string | number | boolean | undefined;
104
107
  } & {
105
108
  $children?: vue.VNodeChild | {
@@ -140,6 +143,7 @@ declare const VAvatar: {
140
143
  theme?: string | undefined;
141
144
  color?: string | undefined;
142
145
  icon?: IconValue | undefined;
146
+ border?: string | number | boolean | undefined;
143
147
  rounded?: string | number | boolean | undefined;
144
148
  } & {
145
149
  $children?: vue.VNodeChild | {
@@ -198,6 +202,7 @@ declare const VAvatar: {
198
202
  type: vue.PropType<vue.StyleValue>;
199
203
  default: null;
200
204
  };
205
+ border: (StringConstructor | NumberConstructor | BooleanConstructor)[];
201
206
  start: BooleanConstructor;
202
207
  end: BooleanConstructor;
203
208
  icon: vue.PropType<IconValue>;
@@ -237,6 +242,7 @@ declare const VAvatar: {
237
242
  type: vue.PropType<vue.StyleValue>;
238
243
  default: null;
239
244
  };
245
+ border: (StringConstructor | NumberConstructor | BooleanConstructor)[];
240
246
  start: BooleanConstructor;
241
247
  end: BooleanConstructor;
242
248
  icon: vue.PropType<IconValue>;
@@ -95,7 +95,7 @@ declare const VBottomSheet: {
95
95
  component: vue.Component;
96
96
  }>;
97
97
  zIndex: NonNullable<string | number>;
98
- modelValue: boolean;
98
+ modelValue: boolean | null;
99
99
  inset: boolean;
100
100
  origin: NonNullable<Anchor | "auto" | "overlap">;
101
101
  eager: boolean;
@@ -181,7 +181,7 @@ declare const VBottomSheet: {
181
181
  component: vue.Component;
182
182
  }>;
183
183
  zIndex: NonNullable<string | number>;
184
- modelValue: boolean;
184
+ modelValue: boolean | null;
185
185
  inset: boolean;
186
186
  origin: NonNullable<Anchor | "auto" | "overlap">;
187
187
  eager: boolean;
@@ -265,7 +265,7 @@ declare const VBottomSheet: {
265
265
  component: vue.Component;
266
266
  }>;
267
267
  zIndex: NonNullable<string | number>;
268
- modelValue: boolean;
268
+ modelValue: boolean | null;
269
269
  inset: boolean;
270
270
  origin: NonNullable<Anchor | "auto" | "overlap">;
271
271
  eager: boolean;
@@ -317,7 +317,7 @@ declare const VBottomSheet: {
317
317
  component: vue.Component;
318
318
  }>;
319
319
  zIndex: NonNullable<string | number>;
320
- modelValue: boolean;
320
+ modelValue: boolean | null;
321
321
  inset: boolean;
322
322
  origin: NonNullable<Anchor | "auto" | "overlap">;
323
323
  eager: boolean;
@@ -401,7 +401,7 @@ declare const VBottomSheet: {
401
401
  component: vue.Component;
402
402
  }>;
403
403
  zIndex: NonNullable<string | number>;
404
- modelValue: boolean;
404
+ modelValue: boolean | null;
405
405
  inset: boolean;
406
406
  origin: NonNullable<Anchor | "auto" | "overlap">;
407
407
  eager: boolean;
@@ -437,7 +437,7 @@ declare const VBottomSheet: {
437
437
  component: vue.Component;
438
438
  }>;
439
439
  zIndex: NonNullable<string | number>;
440
- modelValue: boolean;
440
+ modelValue: boolean | null;
441
441
  inset: boolean;
442
442
  origin: NonNullable<Anchor | "auto" | "overlap">;
443
443
  eager: boolean;
@@ -523,7 +523,7 @@ declare const VBottomSheet: {
523
523
  component: vue.Component;
524
524
  }>;
525
525
  zIndex: NonNullable<string | number>;
526
- modelValue: boolean;
526
+ modelValue: boolean | null;
527
527
  inset: boolean;
528
528
  origin: NonNullable<Anchor | "auto" | "overlap">;
529
529
  eager: boolean;
@@ -658,7 +658,10 @@ declare const VBottomSheet: {
658
658
  disabled: BooleanConstructor;
659
659
  opacity: (StringConstructor | NumberConstructor)[];
660
660
  noClickAnimation: BooleanConstructor;
661
- modelValue: BooleanConstructor;
661
+ modelValue: {
662
+ type: vue.PropType<boolean | null>;
663
+ default: null;
664
+ };
662
665
  persistent: BooleanConstructor;
663
666
  scrim: {
664
667
  type: (StringConstructor | BooleanConstructor)[];
@@ -778,7 +781,10 @@ declare const VBottomSheet: {
778
781
  disabled: BooleanConstructor;
779
782
  opacity: (StringConstructor | NumberConstructor)[];
780
783
  noClickAnimation: BooleanConstructor;
781
- modelValue: BooleanConstructor;
784
+ modelValue: {
785
+ type: vue.PropType<boolean | null>;
786
+ default: null;
787
+ };
782
788
  persistent: BooleanConstructor;
783
789
  scrim: {
784
790
  type: (StringConstructor | BooleanConstructor)[];
@@ -144,13 +144,15 @@
144
144
  background: currentColor;
145
145
  opacity: var(--v-activated-opacity);
146
146
  border-radius: inherit;
147
- position: absolute;
148
147
  top: 0;
149
148
  right: 0;
150
149
  bottom: 0;
151
150
  left: 0;
152
151
  pointer-events: none;
153
152
  }
153
+ .v-btn .v-btn__underlay {
154
+ position: absolute;
155
+ }
154
156
  @supports selector(:focus-visible) {
155
157
  .v-btn::after {
156
158
  content: "";
@@ -82,13 +82,15 @@
82
82
  background: currentColor;
83
83
  opacity: var(--v-activated-opacity);
84
84
  border-radius: inherit;
85
- position: absolute;
86
85
  top: 0;
87
86
  right: 0;
88
87
  bottom: 0;
89
88
  left: 0;
90
89
  pointer-events: none;
91
90
  }
91
+ .v-card .v-card__underlay {
92
+ position: absolute;
93
+ }
92
94
  .v-card--disabled {
93
95
  pointer-events: none;
94
96
  user-select: none;
@@ -332,13 +332,15 @@
332
332
  background: currentColor;
333
333
  opacity: var(--v-activated-opacity);
334
334
  border-radius: inherit;
335
- position: absolute;
336
335
  top: 0;
337
336
  right: 0;
338
337
  bottom: 0;
339
338
  left: 0;
340
339
  pointer-events: none;
341
340
  }
341
+ .v-chip .v-chip__underlay {
342
+ position: absolute;
343
+ }
342
344
  .v-chip--border {
343
345
  border-width: thin;
344
346
  }
@@ -638,7 +638,7 @@ declare const VCombobox: {
638
638
  component: vue.Component;
639
639
  };
640
640
  zIndex: string | number;
641
- modelValue: boolean;
641
+ modelValue: boolean | null;
642
642
  origin: Anchor | "auto" | "overlap";
643
643
  eager: boolean;
644
644
  location: Anchor;
@@ -667,7 +667,7 @@ declare const VCombobox: {
667
667
  component: vue.Component;
668
668
  };
669
669
  zIndex: string | number;
670
- modelValue: boolean;
670
+ modelValue: boolean | null;
671
671
  origin: Anchor | "auto" | "overlap";
672
672
  eager: boolean;
673
673
  location: Anchor;
@@ -743,7 +743,7 @@ declare const VCombobox: {
743
743
  component: vue.Component;
744
744
  };
745
745
  zIndex: string | number;
746
- modelValue: boolean;
746
+ modelValue: boolean | null;
747
747
  origin: Anchor | "auto" | "overlap";
748
748
  eager: boolean;
749
749
  location: Anchor;
@@ -1218,7 +1218,7 @@ declare const VCombobox: {
1218
1218
  component: vue.Component;
1219
1219
  };
1220
1220
  zIndex: string | number;
1221
- modelValue: boolean;
1221
+ modelValue: boolean | null;
1222
1222
  origin: Anchor | "auto" | "overlap";
1223
1223
  eager: boolean;
1224
1224
  location: Anchor;
@@ -1247,7 +1247,7 @@ declare const VCombobox: {
1247
1247
  component: vue.Component;
1248
1248
  };
1249
1249
  zIndex: string | number;
1250
- modelValue: boolean;
1250
+ modelValue: boolean | null;
1251
1251
  origin: Anchor | "auto" | "overlap";
1252
1252
  eager: boolean;
1253
1253
  location: Anchor;
@@ -1323,7 +1323,7 @@ declare const VCombobox: {
1323
1323
  component: vue.Component;
1324
1324
  };
1325
1325
  zIndex: string | number;
1326
- modelValue: boolean;
1326
+ modelValue: boolean | null;
1327
1327
  origin: Anchor | "auto" | "overlap";
1328
1328
  eager: boolean;
1329
1329
  location: Anchor;
@@ -1912,7 +1912,7 @@ declare const VCombobox: {
1912
1912
  component: vue.Component;
1913
1913
  };
1914
1914
  zIndex: string | number;
1915
- modelValue: boolean;
1915
+ modelValue: boolean | null;
1916
1916
  origin: Anchor | "auto" | "overlap";
1917
1917
  eager: boolean;
1918
1918
  location: Anchor;
@@ -1941,7 +1941,7 @@ declare const VCombobox: {
1941
1941
  component: vue.Component;
1942
1942
  };
1943
1943
  zIndex: string | number;
1944
- modelValue: boolean;
1944
+ modelValue: boolean | null;
1945
1945
  origin: Anchor | "auto" | "overlap";
1946
1946
  eager: boolean;
1947
1947
  location: Anchor;
@@ -2017,7 +2017,7 @@ declare const VCombobox: {
2017
2017
  component: vue.Component;
2018
2018
  };
2019
2019
  zIndex: string | number;
2020
- modelValue: boolean;
2020
+ modelValue: boolean | null;
2021
2021
  origin: Anchor | "auto" | "overlap";
2022
2022
  eager: boolean;
2023
2023
  location: Anchor;
@@ -2541,7 +2541,7 @@ declare const VCombobox: {
2541
2541
  component: vue.Component;
2542
2542
  };
2543
2543
  zIndex: string | number;
2544
- modelValue: boolean;
2544
+ modelValue: boolean | null;
2545
2545
  origin: Anchor | "auto" | "overlap";
2546
2546
  eager: boolean;
2547
2547
  location: Anchor;
@@ -2570,7 +2570,7 @@ declare const VCombobox: {
2570
2570
  component: vue.Component;
2571
2571
  };
2572
2572
  zIndex: string | number;
2573
- modelValue: boolean;
2573
+ modelValue: boolean | null;
2574
2574
  origin: Anchor | "auto" | "overlap";
2575
2575
  eager: boolean;
2576
2576
  location: Anchor;
@@ -2646,7 +2646,7 @@ declare const VCombobox: {
2646
2646
  component: vue.Component;
2647
2647
  };
2648
2648
  zIndex: string | number;
2649
- modelValue: boolean;
2649
+ modelValue: boolean | null;
2650
2650
  origin: Anchor | "auto" | "overlap";
2651
2651
  eager: boolean;
2652
2652
  location: Anchor;
@@ -3384,7 +3384,7 @@ declare const VCombobox: {
3384
3384
  component: vue.Component;
3385
3385
  };
3386
3386
  zIndex: string | number;
3387
- modelValue: boolean;
3387
+ modelValue: boolean | null;
3388
3388
  origin: Anchor | "auto" | "overlap";
3389
3389
  eager: boolean;
3390
3390
  location: Anchor;
@@ -3413,7 +3413,7 @@ declare const VCombobox: {
3413
3413
  component: vue.Component;
3414
3414
  };
3415
3415
  zIndex: string | number;
3416
- modelValue: boolean;
3416
+ modelValue: boolean | null;
3417
3417
  origin: Anchor | "auto" | "overlap";
3418
3418
  eager: boolean;
3419
3419
  location: Anchor;
@@ -3489,7 +3489,7 @@ declare const VCombobox: {
3489
3489
  component: vue.Component;
3490
3490
  };
3491
3491
  zIndex: string | number;
3492
- modelValue: boolean;
3492
+ modelValue: boolean | null;
3493
3493
  origin: Anchor | "auto" | "overlap";
3494
3494
  eager: boolean;
3495
3495
  location: Anchor;
@@ -4077,7 +4077,7 @@ declare const VCombobox: {
4077
4077
  component: vue.Component;
4078
4078
  };
4079
4079
  zIndex: string | number;
4080
- modelValue: boolean;
4080
+ modelValue: boolean | null;
4081
4081
  origin: Anchor | "auto" | "overlap";
4082
4082
  eager: boolean;
4083
4083
  location: Anchor;
@@ -4106,7 +4106,7 @@ declare const VCombobox: {
4106
4106
  component: vue.Component;
4107
4107
  };
4108
4108
  zIndex: string | number;
4109
- modelValue: boolean;
4109
+ modelValue: boolean | null;
4110
4110
  origin: Anchor | "auto" | "overlap";
4111
4111
  eager: boolean;
4112
4112
  location: Anchor;
@@ -4182,7 +4182,7 @@ declare const VCombobox: {
4182
4182
  component: vue.Component;
4183
4183
  };
4184
4184
  zIndex: string | number;
4185
- modelValue: boolean;
4185
+ modelValue: boolean | null;
4186
4186
  origin: Anchor | "auto" | "overlap";
4187
4187
  eager: boolean;
4188
4188
  location: Anchor;
@@ -166,6 +166,8 @@ export const VDataTableHeaders = genericComponent()({
166
166
  return columns.value.filter(column => column?.sortable);
167
167
  });
168
168
  const appendIcon = computed(() => {
169
+ const showSelectColumn = columns.value.find(column => column.key === 'data-table-select');
170
+ if (showSelectColumn == null) return;
169
171
  return allSelected.value ? '$checkboxOn' : someSelected.value ? '$checkboxIndeterminate' : '$checkboxOff';
170
172
  });
171
173
  return _createVNode(VDataTableColumn, _mergeProps({