@@ -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