Skip to content

Commit 74a0e93

Browse files
authored
[Color system] backwards compatibly implement color system for plain button (#2335)
* backwards compatibly implement color system for plain button * Update src/components/Button/Button.scss Co-Authored-By: Tim Layton <[email protected]> * Update src/components/Button/Button.scss
1 parent 6a00db4 commit 74a0e93

File tree

1 file changed

+49
-5
lines changed

1 file changed

+49
-5
lines changed

src/components/Button/Button.scss

Lines changed: 49 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -247,27 +247,58 @@ $partial-button-filled-pressed-box-shadow: inset 0 0 0 0 transparent,
247247
// stylelint-disable selector-max-specificity
248248

249249
.plain {
250-
@include recolor-icon(color('blue'));
250+
@include recolor-icon(var(--p-interactive-action, color('blue')));
251251
margin: (-1 * $vertical-padding) rem(-8px);
252252
padding-left: spacing(tight);
253253
padding-right: spacing(tight);
254254
background: transparent;
255255
border: 0;
256256
box-shadow: none;
257-
color: color('blue');
257+
color: var(--p-interactive-action, color('blue'));
258+
259+
.Content {
260+
font-weight: 400;
261+
}
258262

259263
&.pressed,
260264
&:hover,
261265
&:focus,
262266
&:active {
263-
@include recolor-icon(color('blue', 'dark'));
264267
background: transparent;
265268
border: 0;
266269
box-shadow: none;
270+
}
271+
272+
// TODO: implement depressed state for global theming
273+
&.pressed {
274+
@include recolor-icon(color('blue', 'dark'));
267275
color: color('blue', 'dark');
268276
text-decoration: underline;
269277
}
270278

279+
&:hover {
280+
@include recolor-icon(
281+
var(--p-interactive-action-hovered, color('blue', 'dark'))
282+
);
283+
color: var(--p-interactive-action-hovered, color('blue', 'dark'));
284+
text-decoration: underline;
285+
}
286+
287+
&:focus {
288+
@include recolor-icon(var(--p-interactive-action, color('blue', 'dark')));
289+
color: var(--p-interactive-action, color('blue', 'dark'));
290+
text-decoration: var(--p-override-none, underline);
291+
@include no-focus-ring;
292+
}
293+
294+
&:active {
295+
@include recolor-icon(
296+
var(--p-interactive-action-pressed, color('blue', 'dark'))
297+
);
298+
color: var(--p-interactive-action-pressed, color('blue', 'dark'));
299+
text-decoration: var(--p-override-none, underline);
300+
}
301+
271302
&.pressed,
272303
&:focus {
273304
@include high-contrast-button-outline(none);
@@ -277,16 +308,29 @@ $partial-button-filled-pressed-box-shadow: inset 0 0 0 0 transparent,
277308
@include high-contrast-button-outline;
278309
}
279310

311+
&:focus:not(:active) > .Content {
312+
@include focus-ring;
313+
}
314+
280315
&.pressed > .Content {
281316
@include plain-button-backdrop(rgba(color('ink', 'lighter'), 0.1));
282317
}
283318

284319
&.pressed:hover:not(.iconOnly) > .Content,
285-
&.pressed:active:not(.iconOnly) > .Content,
286-
&:focus:not(.iconOnly) > .Content {
320+
&.pressed:active:not(.iconOnly) > .Content {
287321
@include plain-button-backdrop;
288322
}
289323

324+
&:focus:not(.iconOnly) > .Content {
325+
@include plain-button-backdrop(
326+
var(--p-override-none, plain-button-background())
327+
);
328+
}
329+
330+
&:active:not(.iconOnly) > .Content {
331+
@include plain-button-backdrop(var(--p-neutral-action, none));
332+
}
333+
290334
&.fullWidth {
291335
margin-left: 0;
292336
margin-right: 0;

0 commit comments

Comments
 (0)