@vuetify/nightly 3.8.6-master.2025-05-26 → 3.8.7-dev.2025-05-27

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 (117) hide show
  1. package/CHANGELOG.md +24 -24
  2. package/dist/json/attributes.json +3294 -3218
  3. package/dist/json/importMap-labs.json +26 -26
  4. package/dist/json/importMap.json +192 -192
  5. package/dist/json/tags.json +19 -0
  6. package/dist/json/web-types.json +5776 -5504
  7. package/dist/vuetify-labs.cjs +305 -128
  8. package/dist/vuetify-labs.css +5202 -5174
  9. package/dist/vuetify-labs.d.ts +1580 -1351
  10. package/dist/vuetify-labs.esm.js +306 -129
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +305 -128
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +299 -117
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +4512 -4484
  17. package/dist/vuetify.d.ts +739 -518
  18. package/dist/vuetify.esm.js +300 -118
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +299 -117
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +1194 -1184
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAlert/VAlert.css +6 -1
  26. package/lib/components/VAlert/VAlert.d.ts +35 -0
  27. package/lib/components/VAlert/VAlert.js +15 -10
  28. package/lib/components/VAlert/VAlert.js.map +1 -1
  29. package/lib/components/VAlert/VAlert.sass +7 -1
  30. package/lib/components/VAutocomplete/VAutocomplete.d.ts +133 -96
  31. package/lib/components/VAutocomplete/VAutocomplete.js +19 -2
  32. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  33. package/lib/components/VBtnGroup/VBtnGroup.css +30 -7
  34. package/lib/components/VBtnGroup/VBtnGroup.d.ts +58 -32
  35. package/lib/components/VBtnGroup/VBtnGroup.js +7 -3
  36. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  37. package/lib/components/VBtnGroup/VBtnGroup.sass +44 -17
  38. package/lib/components/VBtnToggle/VBtnToggle.d.ts +25 -0
  39. package/lib/components/VCheckbox/VCheckbox.d.ts +3 -3
  40. package/lib/components/VChipGroup/VChipGroup.d.ts +10 -0
  41. package/lib/components/VCombobox/VCombobox.d.ts +133 -96
  42. package/lib/components/VCombobox/VCombobox.js +20 -2
  43. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  44. package/lib/components/VDataTable/VDataTable.d.ts +18 -0
  45. package/lib/components/VDataTable/VDataTableHeaders.d.ts +13 -0
  46. package/lib/components/VDataTable/VDataTableHeaders.js +4 -2
  47. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  48. package/lib/components/VDataTable/VDataTableServer.d.ts +13 -0
  49. package/lib/components/VDataTable/VDataTableVirtual.d.ts +13 -0
  50. package/lib/components/VDatePicker/VDatePicker.d.ts +10 -0
  51. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +10 -0
  52. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
  53. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  54. package/lib/components/VField/VField.d.ts +3 -3
  55. package/lib/components/VFileInput/VFileInput.d.ts +15 -15
  56. package/lib/components/VInput/VInput.d.ts +4 -4
  57. package/lib/components/VList/VListChildren.js.map +1 -1
  58. package/lib/components/VNumberInput/VNumberInput.d.ts +103 -89
  59. package/lib/components/VNumberInput/VNumberInput.js +19 -4
  60. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  61. package/lib/components/VOtpInput/VOtpInput.js +2 -1
  62. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  63. package/lib/components/VOverlay/VOverlay.css +1 -1
  64. package/lib/components/VOverlay/_variables.scss +1 -1
  65. package/lib/components/VRadioGroup/VRadioGroup.d.ts +3 -3
  66. package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
  67. package/lib/components/VSelect/VSelect.d.ts +138 -96
  68. package/lib/components/VSelect/VSelect.js +21 -3
  69. package/lib/components/VSelect/VSelect.js.map +1 -1
  70. package/lib/components/VSlideGroup/VSlideGroup.d.ts +10 -0
  71. package/lib/components/VSlideGroup/VSlideGroup.js +2 -1
  72. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  73. package/lib/components/VSlider/VSlider.d.ts +3 -3
  74. package/lib/components/VSwitch/VSwitch.d.ts +3 -3
  75. package/lib/components/VTabs/VTabs.d.ts +10 -0
  76. package/lib/components/VTextField/VTextField.d.ts +27 -27
  77. package/lib/components/VTextarea/VTextarea.d.ts +15 -15
  78. package/lib/composables/calendar.d.ts +6 -0
  79. package/lib/composables/calendar.js +2 -1
  80. package/lib/composables/calendar.js.map +1 -1
  81. package/lib/composables/date/DateAdapter.d.ts +1 -1
  82. package/lib/composables/date/DateAdapter.js.map +1 -1
  83. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  84. package/lib/composables/date/adapters/vuetify.js +4 -4
  85. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  86. package/lib/composables/date/date.d.ts +1 -1
  87. package/lib/composables/date/index.d.ts +1 -0
  88. package/lib/composables/date/index.js +1 -0
  89. package/lib/composables/date/index.js.map +1 -1
  90. package/lib/composables/filter.js +3 -0
  91. package/lib/composables/filter.js.map +1 -1
  92. package/lib/composables/iconSizes.d.ts +28 -0
  93. package/lib/composables/iconSizes.js +23 -0
  94. package/lib/composables/iconSizes.js.map +1 -0
  95. package/lib/composables/theme.d.ts +6 -1
  96. package/lib/composables/theme.js +94 -26
  97. package/lib/composables/theme.js.map +1 -1
  98. package/lib/composables/virtual.js +6 -1
  99. package/lib/composables/virtual.js.map +1 -1
  100. package/lib/entry-bundler.d.ts +1 -1
  101. package/lib/entry-bundler.js +1 -1
  102. package/lib/entry-bundler.js.map +1 -1
  103. package/lib/framework.d.ts +73 -68
  104. package/lib/framework.js +1 -1
  105. package/lib/framework.js.map +1 -1
  106. package/lib/labs/VCalendar/VCalendar.d.ts +10 -0
  107. package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
  108. package/lib/labs/VDateInput/VDateInput.d.ts +97 -87
  109. package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
  110. package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
  111. package/lib/labs/VIconBtn/VIconBtn.js +7 -11
  112. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  113. package/lib/labs/entry-bundler.d.ts +1 -1
  114. package/lib/util/globals.d.ts +1 -0
  115. package/lib/util/globals.js +1 -0
  116. package/lib/util/globals.js.map +1 -1
  117. package/package.json +3 -1
@@ -110,6 +110,10 @@
110
110
  padding-bottom: 16px;
111
111
  }
112
112
 
113
+ .v-alert:not(:has(.v-alert-title)) .v-alert__content {
114
+ padding-top: 0.125rem;
115
+ }
116
+
113
117
  .v-alert__border {
114
118
  border-radius: inherit;
115
119
  bottom: 0;
@@ -146,6 +150,7 @@
146
150
  .v-alert__close {
147
151
  flex: 0 1 auto;
148
152
  grid-area: close;
153
+ margin-block: -2px;
149
154
  }
150
155
 
151
156
  .v-alert__content {
@@ -156,7 +161,6 @@
156
161
 
157
162
  .v-alert__append,
158
163
  .v-alert__close {
159
- align-self: flex-start;
160
164
  margin-inline-start: 16px;
161
165
  }
162
166
 
@@ -174,6 +178,7 @@
174
178
  align-items: center;
175
179
  grid-area: prepend;
176
180
  margin-inline-end: 16px;
181
+ min-height: 1.75rem;
177
182
  }
178
183
  .v-alert--prominent .v-alert__prepend {
179
184
  align-self: center;
@@ -11,6 +11,8 @@ export declare const makeVAlertProps: <Defaults extends {
11
11
  tile?: unknown;
12
12
  position?: unknown;
13
13
  location?: unknown;
14
+ iconSize?: unknown;
15
+ iconSizes?: unknown;
14
16
  elevation?: unknown;
15
17
  height?: unknown;
16
18
  maxHeight?: unknown;
@@ -97,6 +99,20 @@ export declare const makeVAlertProps: <Defaults extends {
97
99
  type: PropType<unknown extends Defaults["location"] ? import("../../util/index.js").Anchor | null : import("../../util/index.js").Anchor | Defaults["location"] | null>;
98
100
  default: unknown extends Defaults["location"] ? import("../../util/index.js").Anchor | null : NonNullable<import("../../util/index.js").Anchor | null> | Defaults["location"];
99
101
  };
102
+ iconSize: unknown extends Defaults["iconSize"] ? PropType<string | number> : {
103
+ type: PropType<unknown extends Defaults["iconSize"] ? string | number : string | number | Defaults["iconSize"]>;
104
+ default: unknown extends Defaults["iconSize"] ? string | number : NonNullable<string | number> | Defaults["iconSize"];
105
+ };
106
+ iconSizes: unknown extends Defaults["iconSizes"] ? {
107
+ type: PropType<[import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][]>;
108
+ default: () => (string | number)[][];
109
+ } : Omit<{
110
+ type: PropType<[import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][]>;
111
+ default: () => (string | number)[][];
112
+ }, "type" | "default"> & {
113
+ type: PropType<unknown extends Defaults["iconSizes"] ? [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][] : [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][] | Defaults["iconSizes"]>;
114
+ default: unknown extends Defaults["iconSizes"] ? [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][] : [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][] | Defaults["iconSizes"];
115
+ };
100
116
  elevation: unknown extends Defaults["elevation"] ? {
101
117
  type: (StringConstructor | NumberConstructor)[];
102
118
  validator(v: any): boolean;
@@ -259,6 +275,7 @@ export declare const VAlert: {
259
275
  tile: boolean;
260
276
  closable: boolean;
261
277
  prominent: boolean;
278
+ iconSizes: [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][];
262
279
  closeIcon: IconValue;
263
280
  closeLabel: string;
264
281
  } & {
@@ -280,6 +297,7 @@ export declare const VAlert: {
280
297
  theme?: string | undefined;
281
298
  elevation?: string | number | undefined;
282
299
  rounded?: string | number | boolean | undefined;
300
+ iconSize?: string | number | undefined;
283
301
  } & {
284
302
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
285
303
  default?: (() => import("vue").VNodeChild) | undefined;
@@ -327,6 +345,7 @@ export declare const VAlert: {
327
345
  tile: boolean;
328
346
  closable: boolean;
329
347
  prominent: boolean;
348
+ iconSizes: [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][];
330
349
  closeIcon: IconValue;
331
350
  closeLabel: string;
332
351
  }, true, {}, import("vue").SlotsType<Partial<{
@@ -355,6 +374,7 @@ export declare const VAlert: {
355
374
  tile: boolean;
356
375
  closable: boolean;
357
376
  prominent: boolean;
377
+ iconSizes: [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][];
358
378
  closeIcon: IconValue;
359
379
  closeLabel: string;
360
380
  } & {
@@ -376,6 +396,7 @@ export declare const VAlert: {
376
396
  theme?: string | undefined;
377
397
  elevation?: string | number | undefined;
378
398
  rounded?: string | number | boolean | undefined;
399
+ iconSize?: string | number | undefined;
379
400
  } & {
380
401
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
381
402
  default?: (() => import("vue").VNodeChild) | undefined;
@@ -420,6 +441,7 @@ export declare const VAlert: {
420
441
  tile: boolean;
421
442
  closable: boolean;
422
443
  prominent: boolean;
444
+ iconSizes: [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][];
423
445
  closeIcon: IconValue;
424
446
  closeLabel: string;
425
447
  }>;
@@ -436,6 +458,7 @@ export declare const VAlert: {
436
458
  tile: boolean;
437
459
  closable: boolean;
438
460
  prominent: boolean;
461
+ iconSizes: [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][];
439
462
  closeIcon: IconValue;
440
463
  closeLabel: string;
441
464
  } & {
@@ -457,6 +480,7 @@ export declare const VAlert: {
457
480
  theme?: string | undefined;
458
481
  elevation?: string | number | undefined;
459
482
  rounded?: string | number | boolean | undefined;
483
+ iconSize?: string | number | undefined;
460
484
  } & {
461
485
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
462
486
  default?: (() => import("vue").VNodeChild) | undefined;
@@ -504,6 +528,7 @@ export declare const VAlert: {
504
528
  tile: boolean;
505
529
  closable: boolean;
506
530
  prominent: boolean;
531
+ iconSizes: [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][];
507
532
  closeIcon: IconValue;
508
533
  closeLabel: string;
509
534
  }, {}, string, import("vue").SlotsType<Partial<{
@@ -540,6 +565,11 @@ export declare const VAlert: {
540
565
  validator: (v: any) => boolean;
541
566
  };
542
567
  location: PropType<import("../../util/index.js").Anchor | null>;
568
+ iconSize: PropType<import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes | number | string>;
569
+ iconSizes: {
570
+ type: PropType<[import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][]>;
571
+ default: () => (string | number)[][];
572
+ };
543
573
  elevation: {
544
574
  type: (StringConstructor | NumberConstructor)[];
545
575
  validator(v: any): boolean;
@@ -614,6 +644,11 @@ export declare const VAlert: {
614
644
  validator: (v: any) => boolean;
615
645
  };
616
646
  location: PropType<import("../../util/index.js").Anchor | null>;
647
+ iconSize: PropType<import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes | number | string>;
648
+ iconSizes: {
649
+ type: PropType<[import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][]>;
650
+ default: () => (string | number)[][];
651
+ };
617
652
  elevation: {
618
653
  type: (StringConstructor | NumberConstructor)[];
619
654
  validator(v: any): boolean;
@@ -1,4 +1,4 @@
1
- import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
1
+ import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
2
2
  // Styles
3
3
  import "./VAlert.css";
4
4
 
@@ -13,6 +13,7 @@ import { makeDensityProps, useDensity } from "../../composables/density.js";
13
13
  import { makeDimensionProps, useDimension } from "../../composables/dimensions.js";
14
14
  import { makeElevationProps, useElevation } from "../../composables/elevation.js";
15
15
  import { IconValue } from "../../composables/icons.js";
16
+ import { makeIconSizeProps, useIconSizes } from "../../composables/iconSizes.js";
16
17
  import { useLocale } from "../../composables/locale.js";
17
18
  import { makeLocationProps, useLocation } from "../../composables/location.js";
18
19
  import { makePositionProps, usePosition } from "../../composables/position.js";
@@ -60,6 +61,7 @@ export const makeVAlertProps = propsFactory({
60
61
  ...makeDensityProps(),
61
62
  ...makeDimensionProps(),
62
63
  ...makeElevationProps(),
64
+ ...makeIconSizeProps(),
63
65
  ...makeLocationProps(),
64
66
  ...makePositionProps(),
65
67
  ...makeRoundedProps(),
@@ -87,6 +89,9 @@ export const VAlert = genericComponent()({
87
89
  if (!props.type) return props.icon;
88
90
  return props.icon ?? `$${props.type}`;
89
91
  });
92
+ const {
93
+ iconSize
94
+ } = useIconSizes(props, () => props.prominent ? 44 : 28);
90
95
  const {
91
96
  themeClasses
92
97
  } = provideTheme(props);
@@ -134,6 +139,11 @@ export const VAlert = genericComponent()({
134
139
  const hasPrepend = !!(slots.prepend || icon.value);
135
140
  const hasTitle = !!(slots.title || props.title);
136
141
  const hasClose = !!(slots.close || props.closable);
142
+ const iconProps = {
143
+ density: props.density,
144
+ icon: icon.value,
145
+ size: iconSize.value
146
+ };
137
147
  return isActive.value && _createVNode(props.tag, {
138
148
  "class": _normalizeClass(['v-alert', props.border && {
139
149
  'v-alert--border': !!props.border,
@@ -151,19 +161,14 @@ export const VAlert = genericComponent()({
151
161
  }, null), hasPrepend && _createElementVNode("div", {
152
162
  "key": "prepend",
153
163
  "class": "v-alert__prepend"
154
- }, [!slots.prepend ? _createVNode(VIcon, {
155
- "key": "prepend-icon",
156
- "density": props.density,
157
- "icon": icon.value,
158
- "size": props.prominent ? 44 : 28
159
- }, null) : _createVNode(VDefaultsProvider, {
164
+ }, [!slots.prepend ? _createVNode(VIcon, _mergeProps({
165
+ "key": "prepend-icon"
166
+ }, iconProps), null) : _createVNode(VDefaultsProvider, {
160
167
  "key": "prepend-defaults",
161
168
  "disabled": !icon.value,
162
169
  "defaults": {
163
170
  VIcon: {
164
- density: props.density,
165
- icon: icon.value,
166
- size: props.prominent ? 44 : 28
171
+ ...iconProps
167
172
  }
168
173
  }
169
174
  }, slots.prepend)]), _createElementVNode("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"VAlert.js","names":["VAlertTitle","VBtn","VDefaultsProvider","VIcon","useTextColor","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","useLocale","makeLocationProps","useLocation","makePositionProps","usePosition","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toRef","genericComponent","propsFactory","allowedTypes","makeVAlertProps","border","type","Boolean","String","validator","val","includes","borderColor","closable","closeIcon","default","closeLabel","icon","Function","Object","modelValue","prominent","title","text","variant","VAlert","name","props","emits","e","value","setup","_ref","emit","slots","isActive","undefined","themeClasses","colorClasses","colorStyles","variantClasses","color","densityClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","textColorClasses","textColorStyles","t","closeProps","onClick","hasPrepend","prepend","hasTitle","hasClose","close","_createVNode","tag","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","density","size","append","_mergeProps"],"sources":["../../../src/components/VAlert/VAlert.tsx"],"sourcesContent":["// Styles\nimport './VAlert.sass'\n\n// Components\nimport { VAlertTitle } from './VAlertTitle'\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedTypes = ['success', 'info', 'warning', 'error'] as const\n\ntype ContextualType = typeof allowedTypes[number]\n\nexport const makeVAlertProps = propsFactory({\n border: {\n type: [Boolean, String] as PropType<boolean | 'top' | 'end' | 'bottom' | 'start'>,\n validator: (val: boolean | string) => {\n return typeof val === 'boolean' || [\n 'top',\n 'end',\n 'bottom',\n 'start',\n ].includes(val)\n },\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$close',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n icon: {\n type: [Boolean, String, Function, Object] as PropType<false | IconValue>,\n default: null,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n title: String,\n text: String,\n type: {\n type: String as PropType<ContextualType>,\n validator: (val: ContextualType) => allowedTypes.includes(val),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VAlert')\n\nexport type VAlertSlots = {\n default: never\n prepend: never\n title: never\n text: never\n append: never\n close: { props: Record<string, any> }\n}\n\nexport const VAlert = genericComponent<VAlertSlots>()({\n name: 'VAlert',\n\n props: makeVAlertProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const icon = toRef(() => {\n if (props.icon === false) return undefined\n if (!props.type) return props.icon\n\n return props.icon ?? `$${props.type}`\n })\n\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: props.color ?? props.type,\n variant: props.variant,\n }))\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => props.borderColor)\n const { t } = useLocale()\n\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n return () => {\n const hasPrepend = !!(slots.prepend || icon.value)\n const hasTitle = !!(slots.title || props.title)\n const hasClose = !!(slots.close || props.closable)\n\n return isActive.value && (\n <props.tag\n class={[\n 'v-alert',\n props.border && {\n 'v-alert--border': !!props.border,\n [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true,\n },\n {\n 'v-alert--prominent': props.prominent,\n },\n themeClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n role=\"alert\"\n >\n { genOverlays(false, 'v-alert') }\n\n { props.border && (\n <div\n key=\"border\"\n class={[\n 'v-alert__border',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n />\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-alert__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ icon.value }\n size={ props.prominent ? 44 : 28 }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !icon.value }\n defaults={{\n VIcon: {\n density: props.density,\n icon: icon.value,\n size: props.prominent ? 44 : 28,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-alert__content\">\n { hasTitle && (\n <VAlertTitle key=\"title\">\n { slots.title?.() ?? props.title }\n </VAlertTitle>\n )}\n\n { slots.text?.() ?? props.text }\n\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div key=\"append\" class=\"v-alert__append\">\n { slots.append() }\n </div>\n )}\n\n { hasClose && (\n <div key=\"close\" class=\"v-alert__close\">\n { !slots.close ? (\n <VBtn\n key=\"close-btn\"\n icon={ props.closeIcon }\n size=\"x-small\"\n variant=\"text\"\n { ...closeProps.value }\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VBtn: {\n icon: props.closeIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n >\n { slots.close?.({ props: closeProps.value }) }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </props.tag>\n )\n }\n },\n})\n\nexport type VAlert = InstanceType<typeof VAlert>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VAlert.js","names":["VAlertTitle","VBtn","VDefaultsProvider","VIcon","useTextColor","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","makeIconSizeProps","useIconSizes","useLocale","makeLocationProps","useLocation","makePositionProps","usePosition","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toRef","genericComponent","propsFactory","allowedTypes","makeVAlertProps","border","type","Boolean","String","validator","val","includes","borderColor","closable","closeIcon","default","closeLabel","icon","Function","Object","modelValue","prominent","title","text","variant","VAlert","name","props","emits","e","value","setup","_ref","emit","slots","isActive","undefined","iconSize","themeClasses","colorClasses","colorStyles","variantClasses","color","densityClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","textColorClasses","textColorStyles","t","closeProps","onClick","hasPrepend","prepend","hasTitle","hasClose","close","iconProps","density","size","_createVNode","tag","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","append"],"sources":["../../../src/components/VAlert/VAlert.tsx"],"sourcesContent":["// Styles\nimport './VAlert.sass'\n\n// Components\nimport { VAlertTitle } from './VAlertTitle'\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeIconSizeProps, useIconSizes } from '@/composables/iconSizes'\nimport { useLocale } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedTypes = ['success', 'info', 'warning', 'error'] as const\n\ntype ContextualType = typeof allowedTypes[number]\n\nexport const makeVAlertProps = propsFactory({\n border: {\n type: [Boolean, String] as PropType<boolean | 'top' | 'end' | 'bottom' | 'start'>,\n validator: (val: boolean | string) => {\n return typeof val === 'boolean' || [\n 'top',\n 'end',\n 'bottom',\n 'start',\n ].includes(val)\n },\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$close',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n icon: {\n type: [Boolean, String, Function, Object] as PropType<false | IconValue>,\n default: null,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n title: String,\n text: String,\n type: {\n type: String as PropType<ContextualType>,\n validator: (val: ContextualType) => allowedTypes.includes(val),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeIconSizeProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VAlert')\n\nexport type VAlertSlots = {\n default: never\n prepend: never\n title: never\n text: never\n append: never\n close: { props: Record<string, any> }\n}\n\nexport const VAlert = genericComponent<VAlertSlots>()({\n name: 'VAlert',\n\n props: makeVAlertProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const icon = toRef(() => {\n if (props.icon === false) return undefined\n if (!props.type) return props.icon\n\n return props.icon ?? `$${props.type}`\n })\n\n const { iconSize } = useIconSizes(props, () => props.prominent ? 44 : 28)\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: props.color ?? props.type,\n variant: props.variant,\n }))\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => props.borderColor)\n const { t } = useLocale()\n\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n return () => {\n const hasPrepend = !!(slots.prepend || icon.value)\n const hasTitle = !!(slots.title || props.title)\n const hasClose = !!(slots.close || props.closable)\n\n const iconProps = {\n density: props.density,\n icon: icon.value,\n size: iconSize.value,\n }\n\n return isActive.value && (\n <props.tag\n class={[\n 'v-alert',\n props.border && {\n 'v-alert--border': !!props.border,\n [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true,\n },\n {\n 'v-alert--prominent': props.prominent,\n },\n themeClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n role=\"alert\"\n >\n { genOverlays(false, 'v-alert') }\n\n { props.border && (\n <div\n key=\"border\"\n class={[\n 'v-alert__border',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n />\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-alert__prepend\">\n { !slots.prepend ? (\n <VIcon key=\"prepend-icon\" { ...iconProps } />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !icon.value }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-alert__content\">\n { hasTitle && (\n <VAlertTitle key=\"title\">\n { slots.title?.() ?? props.title }\n </VAlertTitle>\n )}\n\n { slots.text?.() ?? props.text }\n\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div key=\"append\" class=\"v-alert__append\">\n { slots.append() }\n </div>\n )}\n\n { hasClose && (\n <div key=\"close\" class=\"v-alert__close\">\n { !slots.close ? (\n <VBtn\n key=\"close-btn\"\n icon={ props.closeIcon }\n size=\"x-small\"\n variant=\"text\"\n { ...closeProps.value }\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VBtn: {\n icon: props.closeIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n >\n { slots.close?.({ props: closeProps.value }) }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </props.tag>\n )\n }\n },\n})\n\nexport type VAlert = InstanceType<typeof VAlert>\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ @use '../../styles/settings'
1
2
  @use '../../styles/tools'
2
3
  @use './variables' as *
3
4
 
@@ -42,6 +43,10 @@
42
43
  &.v-alert--border-bottom
43
44
  padding-bottom: $alert-padding + $alert-border-thin-width + $modifier
44
45
 
46
+ &:not(:has(.v-alert-title))
47
+ .v-alert__content
48
+ padding-top: calc(($alert-title-line-height - settings.$line-height-root * 1rem) / 2)
49
+
45
50
  .v-alert__border
46
51
  border-radius: inherit
47
52
  bottom: 0
@@ -70,6 +75,7 @@
70
75
  .v-alert__close
71
76
  flex: 0 1 auto
72
77
  grid-area: close
78
+ margin-block: -2px
73
79
 
74
80
  .v-alert__content
75
81
  align-self: center
@@ -78,7 +84,6 @@
78
84
 
79
85
  .v-alert__append,
80
86
  .v-alert__close
81
- align-self: flex-start
82
87
  margin-inline-start: $alert-append-margin-inline-start
83
88
 
84
89
  .v-alert__append
@@ -94,6 +99,7 @@
94
99
  align-items: center
95
100
  grid-area: prepend
96
101
  margin-inline-end: $alert-prepend-margin-inline-end
102
+ min-height: $alert-title-line-height
97
103
 
98
104
  .v-alert--prominent &
99
105
  align-self: center