@@ -9,61 +9,37 @@ $theme: $bootstrap;
99
1010:host button {
1111 & :focus {
12- outline : rem (2 px ) solid var-get ($theme , ' focus-outline-color' );
12+ outline : rem (4 px ) solid var-get ($theme , ' focus-outline-color' );
1313 }
1414}
1515
16- :host ([variant = ' primary' ]) button :not ([disabled ]),
17- :host ([variant = ' primary' ]) button :focus ,
18- :host ([variant = ' primary' ]) button :hover ,
19- :host ([selected ][variant = ' primary' ]) button :not ([disabled ]) {
20- color : contrast-color (primary , 700 );
21- }
22-
23- :host ([variant = ' primary' ]) button :focus {
24- outline : rem (2px ) solid color (primary , 200 );
25- }
26-
27- :host ([variant = ' info' ]) button :not ([disabled ]),
28- :host ([variant = ' info' ]) button :focus ,
29- :host ([variant = ' info' ]) button :hover ,
30- :host ([selected ][variant = ' info' ]) button :not ([disabled ]) {
31- color : contrast-color (info , 700 );
32- }
33-
34- :host ([variant = ' info' ]) button :focus {
35- outline : rem (2px ) solid color (info , 200 );
36- }
37-
38- :host ([variant = ' success' ]) button :not ([disabled ]),
39- :host ([variant = ' success' ]) button :focus ,
40- :host ([variant = ' success' ]) button :hover ,
41- :host ([selected ][variant = ' success' ]) button :not ([disabled ]) {
42- color : contrast-color (success , 700 );
43- }
44-
45- :host ([variant = ' success' ]) button :focus {
46- outline : rem (2px ) solid color (success , 200 );
16+ :host ([selected ]) button :not ([disabled ]) {
17+ & :focus {
18+ box-shadow : 0 0 0 rem (4px ) var-get ($theme , ' focus-selected-outline-color' );
19+ }
4720}
4821
49- :host ([variant = ' warning' ]) button :not ([disabled ]),
50- :host ([variant = ' warning' ]) button :focus ,
51- :host ([variant = ' warning' ]) button :hover ,
52- :host ([selected ][variant = ' warning' ]) button :not ([disabled ]) {
53- color : contrast-color (warn , 700 );
54- }
22+ @mixin chip-variants ($variant , $variant-color ) {
23+ :host ([variant = ' #{$variant } ' ]) button ,
24+ :host ([selected ][variant = ' #{$variant } ' ]) button :not ([disabled ]) {
25+ color : contrast-color ($variant-color , 700 );
26+ border-color : transparent ;
5527
56- :host ([variant = ' warning' ]) button :focus {
57- outline : rem (2px ) solid color (warn , 200 );
58- }
28+ & :focus {
29+ background : color ($variant-color , 500 );
30+ color : contrast-color ($variant-color , 700 );
31+ outline : rem (4px ) solid color ($variant-color , 500 , 0.38 );
32+ }
5933
60- :host ([ variant = ' danger ' ]) button :not ([ disabled ]),
61- :host ([ variant = ' danger ' ]) button :focus ,
62- :host ([ variant = ' danger ' ]) button :hover ,
63- :host ([ selected ][ variant = ' danger ' ]) button :not ([ disabled ]) {
64- color : contrast-color ( error , 700 );
34+ & :hover {
35+ background : color ( $ variant-color , 600 );
36+ color : contrast-color ( $ variant-color , 700 );
37+ }
38+ }
6539}
6640
67- :host ([variant = ' danger' ]) button :focus {
68- outline : rem (2px ) solid color (error , 200 );
69- }
41+ @include chip-variants (' primary' , primary);
42+ @include chip-variants (' info' , info);
43+ @include chip-variants (' success' , success);
44+ @include chip-variants (' warning' , warn);
45+ @include chip-variants (' danger' , error);
0 commit comments