Skip to content

Commit f55bac2

Browse files
committed
style(image-banner): add hover styles to focus and fix focus indicator
1 parent 3a061bc commit f55bac2

File tree

1 file changed

+73
-30
lines changed

1 file changed

+73
-30
lines changed

components/ImageBanner/src/index.scss

Lines changed: 73 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,6 @@
2626
position: var(--denhaag-image-banner-card-position, relative);
2727
}
2828

29-
.denhaag-image-banner__card--focus,
30-
.denhaag-image-banner__card:focus-visible {
31-
outline: var(--denhaag-focus-border);
32-
}
33-
3429
.denhaag-image-banner__image {
3530
height: 100%;
3631
left: 0;
@@ -59,57 +54,87 @@
5954
display: var(--denhaag-image-banner-paragraph-display, none);
6055
}
6156

57+
.denhaag-image-banner__card--hover .denhaag-image-banner__image {
58+
transform: var(--denhaag-image-banner-card-hover-image-transform, scale(1.08));
59+
}
60+
6261
.denhaag-image-banner__card--active .denhaag-image-banner__image {
6362
box-shadow: var(--denhaag-image-banner-card-active-image-box-shadow, 0 4px 50px rgb(0 0 0 / 2%));
6463
}
6564

66-
.denhaag-image-banner__card--hover .denhaag-image-banner__image {
65+
.denhaag-image-banner__card--focus .denhaag-image-banner__image {
66+
transform: var(--denhaag-image-banner-card-hover-image-transform, scale(1.08));
67+
}
68+
69+
.denhaag-image-banner__card:hover .denhaag-image-banner__image {
6770
transform: var(--denhaag-image-banner-card-hover-image-transform, scale(1.08));
6871
}
6972

7073
.denhaag-image-banner__card:active .denhaag-image-banner__image {
7174
box-shadow: var(--denhaag-image-banner-card-active-image-box-shadow, 0 4px 50px rgb(0 0 0 / 2%));
7275
}
7376

74-
.denhaag-image-banner__card--active,
75-
.denhaag-image-banner__card:active {
76-
transform: var(--denhaag-image-banner-card-active-transform, translateY(1px));
77+
.denhaag-image-banner__card:focus-visible .denhaag-image-banner__image {
78+
transform: var(--denhaag-image-banner-card-hover-image-transform, scale(1.08));
7779
}
7880

79-
.denhaag-image-banner__card:hover .denhaag-image-banner__image {
81+
.denhaag-image-banner__card:has(.denhaag-image-banner__link:focus-visible) .denhaag-image-banner__image {
8082
transform: var(--denhaag-image-banner-card-hover-image-transform, scale(1.08));
8183
}
8284

83-
.denhaag-image-banner__card--hover,
84-
.denhaag-image-banner__card:hover {
85-
.denhaag-icon {
86-
transform: var(--denhaag-image-banner-card-hover-denhaag-icon-transform, translateX(4px));
87-
}
85+
.denhaag-image-banner__card--hover .denhaag-icon {
86+
transform: var(--denhaag-image-banner-card-hover-denhaag-icon-transform, translateX(4px));
87+
}
8888

89-
.denhaag-image-banner__paragraph {
90-
display: var(--denhaag-image-banner-card-hover-paragraph-display, initial);
91-
}
89+
.denhaag-image-banner__card--focus .denhaag-icon {
90+
transform: var(--denhaag-image-banner-card-hover-denhaag-icon-transform, translateX(4px));
9291
}
9392

94-
.denhaag-image-banner__content {
95-
background-color: var(--denhaag-image-banner-content-background-color, var(--denhaag-color-white));
96-
display: grid;
97-
grid-gap: var(--denhaag-image-banner-content-grid-gap, var(--denhaag-space-2xs));
98-
width: var(--denhaag-image-banner-content-width, 100%);
99-
max-height: var(--denhaag-image-banner-content-max-height, 155px);
100-
margin-block-end: var(--denhaag-image-banner-content-margin-block-end, var(--denhaag-space-xl));
101-
margin-inline: var(--denhaag-image-banner-content-margin-inline, var(--denhaag-space-xl));
102-
padding-inline: var(--denhaag-image-banner-content-padding-inline, var(--denhaag-space-md));
103-
padding-block-end: var(--denhaag-image-banner-content-padding-block-end, var(--denhaag-space-xs));
104-
padding-block-start: var(--denhaag-image-banner-content-padding-block-start, var(--denhaag-space-md));
105-
z-index: var(--denhaag-image-banner-content-z-index, 1);
93+
.denhaag-image-banner__card:hover .denhaag-icon,
94+
.denhaag-image-banner__card:focus-visible .denhaag-icon,
95+
.denhaag-image-banner__card:has(.denhaag-image-banner__link:focus-visible) .denhaag-icon {
96+
transform: var(--denhaag-image-banner-card-hover-denhaag-icon-transform, translateX(4px));
97+
}
98+
99+
.denhaag-image-banner__card--hover .denhaag-image-banner__paragraph {
100+
display: var(--denhaag-image-banner-card-hover-paragraph-display, initial);
101+
}
102+
103+
.denhaag-image-banner__card--focus .denhaag-image-banner__paragraph {
104+
display: var(--denhaag-image-banner-card-hover-paragraph-display, initial);
105+
}
106+
107+
.denhaag-image-banner__card:hover .denhaag-image-banner__paragraph,
108+
.denhaag-image-banner__card:focus-visible .denhaag-image-banner__paragraph,
109+
.denhaag-image-banner__card:has(.denhaag-image-banner__link:focus-visible) .denhaag-image-banner__paragraph {
110+
display: var(--denhaag-image-banner-card-hover-paragraph-display, initial);
111+
}
112+
113+
.denhaag-image-banner__card--active {
114+
transform: var(--denhaag-image-banner-card-active-transform, translateY(1px));
115+
}
116+
117+
.denhaag-image-banner__card:active {
118+
transform: var(--denhaag-image-banner-card-active-transform, translateY(1px));
119+
}
120+
121+
.denhaag-image-banner__card--focus {
122+
outline: var(--denhaag-focus-border);
123+
}
124+
125+
.denhaag-image-banner__card:focus-visible {
126+
outline: var(--denhaag-focus-border);
106127
}
107128

108129
.denhaag-image-banner__link {
109130
color: var(--denhaag-image-banner-link-color, inherit);
110131
text-decoration: var(--denhaag-image-banner-link-text-decoration, inherit);
111132
}
112133

134+
.denhaag-image-banner__link:focus-visible {
135+
outline: none;
136+
}
137+
113138
.denhaag-image-banner__link::after {
114139
bottom: var(--denhaag-image-banner-link-after-bottom, 0);
115140
content: "";
@@ -119,6 +144,20 @@
119144
top: var(--denhaag-image-banner-link-after-top, 0);
120145
}
121146

147+
.denhaag-image-banner__content {
148+
background-color: var(--denhaag-image-banner-content-background-color, var(--denhaag-color-white));
149+
display: grid;
150+
grid-gap: var(--denhaag-image-banner-content-grid-gap, var(--denhaag-space-2xs));
151+
width: var(--denhaag-image-banner-content-width, 100%);
152+
max-height: var(--denhaag-image-banner-content-max-height, 155px);
153+
margin-block-end: var(--denhaag-image-banner-content-margin-block-end, var(--denhaag-space-xl));
154+
margin-inline: var(--denhaag-image-banner-content-margin-inline, var(--denhaag-space-xl));
155+
padding-inline: var(--denhaag-image-banner-content-padding-inline, var(--denhaag-space-md));
156+
padding-block-end: var(--denhaag-image-banner-content-padding-block-end, var(--denhaag-space-xs));
157+
padding-block-start: var(--denhaag-image-banner-content-padding-block-start, var(--denhaag-space-md));
158+
z-index: var(--denhaag-image-banner-content-z-index, 1);
159+
}
160+
122161
.denhaag-image-banner__icon {
123162
display: flex;
124163
justify-content: var(--denhaag-image-banner-icon-justify-content, end);
@@ -142,3 +181,7 @@
142181
width: var(--denhaag-image-banner-big-content-width, 315px);
143182
}
144183
}
184+
185+
.denhaag-image-banner__card:has(.denhaag-image-banner__link:focus-visible) {
186+
outline: var(--denhaag-focus-border);
187+
}

0 commit comments

Comments
 (0)