Skip to content

Commit 8c1778a

Browse files
authored
fix(VAlert): restore unit-less support in Sass variable for title line-height (#21843)
closes #21841
1 parent c843d1e commit 8c1778a

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

packages/vuetify/src/components/VAlert/VAlert.sass

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545

4646
&:not(:has(.v-alert-title))
4747
.v-alert__content
48-
padding-top: calc(($alert-title-line-height - settings.$line-height-root * 1rem) / 2)
48+
padding-block: calc((#{$alert-prepend-icon-size} - #{settings.$line-height-root} * 1rem) / 2)
4949

5050
.v-alert__border
5151
border-radius: inherit
@@ -75,7 +75,9 @@
7575
.v-alert__close
7676
flex: 0 1 auto
7777
grid-area: close
78-
margin-block: -2px
78+
79+
> .v-btn
80+
margin-block: calc(-1 * (var(--v-btn-height) + 12px - #{$alert-prepend-icon-size}) / 2)
7981

8082
.v-alert__content
8183
align-self: center
@@ -99,7 +101,12 @@
99101
align-items: center
100102
grid-area: prepend
101103
margin-inline-end: $alert-prepend-margin-inline-end
102-
min-height: $alert-title-line-height
104+
min-height: $alert-prepend-icon-size
105+
106+
> .v-icon
107+
font-size: $alert-prepend-icon-size
108+
height: $alert-prepend-icon-size
109+
width: $alert-prepend-icon-size
103110

104111
.v-alert--prominent &
105112
align-self: center

packages/vuetify/src/components/VAlert/VAlert.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ export const VAlert = genericComponent<VAlertSlots>()({
114114
return props.icon ?? `$${props.type}`
115115
})
116116

117-
const { iconSize } = useIconSizes(props, () => props.prominent ? 44 : 28)
117+
const { iconSize } = useIconSizes(props, () => props.prominent ? 44 : undefined)
118118
const { themeClasses } = provideTheme(props)
119119
const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({
120120
color: props.color ?? props.type,
@@ -146,7 +146,9 @@ export const VAlert = genericComponent<VAlertSlots>()({
146146
const iconProps = {
147147
density: props.density,
148148
icon: icon.value,
149-
size: iconSize.value,
149+
size: props.iconSize || props.prominent
150+
? iconSize.value
151+
: undefined,
150152
}
151153

152154
return isActive.value && (

packages/vuetify/src/components/VAlert/_variables.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ $alert-plain-opacity: .62 !default;
1717
$alert-plain-transition: .2s opacity settings.$standard-easing !default;
1818
$alert-positions: absolute fixed sticky !default;
1919
$alert-prepend-margin-inline-end: 16px !default;
20+
$alert-prepend-icon-size: 1.75rem !default;
2021
$alert-append-margin-inline-start: 16px !default;
2122
$alert-append-close-margin-inline-start: 16px !default;
2223

@@ -25,7 +26,6 @@ $alert-title-font-size: tools.map-deep-get(settings.$typography, 'h6', 'size') !
2526
$alert-title-font-weight: tools.map-deep-get(settings.$typography, 'h6', 'weight') !default;
2627
$alert-title-hyphens: auto !default;
2728
$alert-title-letter-spacing: tools.map-deep-get(settings.$typography, 'h6', 'letter-spacing') !default;
28-
// $alert-title-line-height: tools.map-deep-get(settings.$typography, 'h6', 'line-height') !default;
2929
$alert-title-line-height: 1.75rem !default;
3030
$alert-title-overflow-wrap: normal !default;
3131
$alert-title-text-transform: none !default;

0 commit comments

Comments
 (0)