Skip to content

Commit e77c364

Browse files
committed
Fix focus ring styling
1 parent 238e746 commit e77c364

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

src/panel-layout/styles.scss

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,19 @@
77
@use '../internal/styles' as styles;
88
@use '@cloudscape-design/component-toolkit/internal/focus-visible' as focus-visible;
99

10+
// Our standard focus rings don't work for this use-case because the element
11+
// is scrollable. This renders a ring inside the element, that is sticky and
12+
// overlays the content and scrollbars as expected.
13+
@mixin container-inner-focus-ring {
14+
$width: 2px;
15+
border-start-start-radius: calc(#{awsui.$border-radius-control-default-focus-ring} + #{$width});
16+
border-start-end-radius: calc(#{awsui.$border-radius-control-default-focus-ring} + #{$width});
17+
border-end-start-radius: calc(#{awsui.$border-radius-control-default-focus-ring} + #{$width});
18+
border-end-end-radius: calc(#{awsui.$border-radius-control-default-focus-ring} + #{$width});
19+
outline: $width solid awsui.$color-border-item-focused;
20+
outline-offset: calc(-1 * #{$width});
21+
}
22+
1023
.root {
1124
@include styles.styles-reset;
1225
block-size: 100%;
@@ -26,7 +39,7 @@
2639
overflow-x: visible;
2740
flex-grow: 1;
2841
@include focus-visible.when-visible {
29-
@include styles.container-focus(4px, inset);
42+
@include container-inner-focus-ring;
3043
}
3144
}
3245
.display-main-only > & {
@@ -45,6 +58,6 @@
4558
display: none;
4659
}
4760
@include focus-visible.when-visible {
48-
@include styles.container-focus(4px, inset);
61+
@include container-inner-focus-ring;
4962
}
5063
}

0 commit comments

Comments
 (0)