Skip to content

Commit 777e296

Browse files
committed
[ResourceItem] Fix broken focus ring styles
1 parent f91f9cd commit 777e296

File tree

2 files changed

+39
-27
lines changed

2 files changed

+39
-27
lines changed

polaris-react/src/components/ResourceItem/ResourceItem.scss

Lines changed: 38 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@
111111
}
112112

113113
.ListItem {
114-
// stylelint-disable-next-line -- generated by polaris-migrator DO NOT COPY
114+
// stylelint-disable-next-line -- include focus-ring mixin to prevent jump in content for first focused element
115115
@include focus-ring($border-width: -1px);
116116

117117
.ListItem + & {
@@ -120,38 +120,49 @@
120120
@include item-separator;
121121
}
122122

123-
&:not(.hasBulkActions):not(.selectMode) {
124-
// stylelint-disable-next-line -- generated by polaris-migrator DO NOT COPY
125-
&::after {
126-
border-radius: var(--p-border-radius-05);
127-
}
123+
&.focused {
124+
// stylelint-disable-next-line -- remove focus-ring mixin to use outline styles
125+
@include no-focus-ring;
126+
outline: var(--p-border-width-2) solid
127+
var(--p-color-border-interactive-focus);
128+
outline-offset: calc(-1 * var(--p-space-05));
129+
// stylelint-disable-next-line -- custom property
130+
z-index: var(--pc-resource-item-clickable-stacking-order);
131+
border-radius: var(--p-border-radius-0-experimental);
128132

129-
// stylelint-disable-next-line -- generated by polaris-migrator DO NOT COPY
130-
&:last-of-type {
131-
border-bottom-left-radius: var(--p-border-radius-2);
132-
border-bottom-right-radius: var(--p-border-radius-2);
133-
// stylelint-disable selector-max-specificity -- Needed due to the nesting of the elements that change border-radius based on selection mode
134-
.ItemWrapper {
135-
border-radius: inherit;
133+
@media #{$p-breakpoints-sm-up} {
134+
border-radius: var(--p-border-radius-3);
135+
136+
&:first-of-type {
137+
border-bottom-left-radius: var(--p-border-radius-0-experimental);
138+
border-bottom-right-radius: var(--p-border-radius-0-experimental);
136139
}
137140

138-
&.focused::after {
139-
border-bottom-left-radius: var(--p-border-radius-2);
140-
border-bottom-right-radius: var(--p-border-radius-2);
141+
&:last-of-type {
142+
border-top-left-radius: var(--p-border-radius-0-experimental);
143+
border-top-right-radius: var(--p-border-radius-0-experimental);
141144
}
142-
// stylelint-enable
143145
}
144-
}
145146

146-
&.focused {
147-
// stylelint-disable-next-line -- generated by polaris-migrator DO NOT COPY
148-
@include focus-ring($style: 'focused');
149-
// stylelint-disable-next-line -- generated by polaris-migrator DO NOT COPY
150-
z-index: var(--pc-resource-item-clickable-stacking-order);
151-
}
147+
&:only-child {
148+
border-radius: var(--p-border-radius-0-experimental);
149+
150+
@media #{$p-breakpoints-sm-up} {
151+
border-radius: var(--p-border-radius-3);
152+
}
153+
}
152154

153-
// stylelint-disable-next-line selector-max-specificity, selector-max-combinators -- generated by polaris-migrator DO NOT COPY
154-
* + ul > &:first-of-type.focused::after {
155-
top: 1px;
155+
// stylelint-disable-next-line selector-max-class -- override border radius for selectable items
156+
&.selectable {
157+
border-radius: var(--p-border-radius-0-experimental);
158+
159+
@media #{$p-breakpoints-sm-up} {
160+
// stylelint-disable-next-line -- override border radius for last selectable item to match ResourceList border radius
161+
&:last-child {
162+
border-bottom-left-radius: var(--p-border-radius-3);
163+
border-bottom-right-radius: var(--p-border-radius-3);
164+
}
165+
}
166+
}
156167
}
157168
}

polaris-react/src/components/ResourceItem/ResourceItem.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ class BaseResourceItem extends Component<CombinedProps, State> {
225225
styles.ListItem,
226226
focused && !focusedInner && styles.focused,
227227
hasBulkActions && styles.hasBulkActions,
228+
selectable && styles.selectable,
228229
);
229230

230231
let actionsMarkup: React.ReactNode | null = null;

0 commit comments

Comments
 (0)