2 outline: none; // be careful of a11y
5 0.15s easing(ease-out-quint),
6 background-position 0s;
8 @supports selector(:focus-visible:has(a, b)) {
9 // had to do this because of Safari
13 &.link-focus.link-focus:focus,
14 &.link-focus.link-focus:focus-visible {
18 &:not([class*='bg-']) {
19 background-color: var(--interaction-default);
23 background-color: var(--interaction-default-hover);
30 &[aria-expanded='true'] {
31 background-color: var(--interaction-default-active);
39 &:not([aria-busy='true']) {
46 * Interactive gives only default colors on every states
47 * Default focus states
52 @supports not selector(:focus-visible:has(a, b)) {
55 border-color: var(--focus-outline);
56 box-shadow: 0 0 0 #{$focus-ring-size} var(--focus-ring);
60 background-color: var(--interaction-default-hover);
65 @supports selector(:focus-visible:has(a, b)) {
67 &:has(*:focus-visible) {
68 border-color: var(--focus-outline);
69 box-shadow: 0 0 0 #{$focus-ring-size} var(--focus-ring);
73 background-color: var(--interaction-default-hover);
80 * Interactive gives only default colors on every states
81 * Focus states as pseudo element (dropdown options, minicalendar,...)
91 border-radius: var(--border-radius-sm);
92 border: 1px solid transparent;
94 transition: 0.15s easing(ease-out-quad);
97 &[class*='rounded']::after {
98 border-radius: inherit;
101 @supports not selector(:focus-visible:has(a, b)) {
105 border-color: var(--focus-outline);
106 box-shadow: 0 0 0 #{$focus-ring-size} var(--focus-ring);
110 background-color: transparent;
113 background-color: var(--interaction-default-hover);
118 background-color: transparent;
123 @supports selector(:focus-visible:has(a, b)) {
125 &:has(*:focus-visible) {
127 border-color: var(--focus-outline);
128 box-shadow: 0 0 0 #{$focus-ring-size} var(--focus-ring);
132 background-color: transparent;
135 background-color: var(--interaction-default-hover);
140 background-color: transparent;
147 * Interactive gives only default colors on every states
148 * Focus states as pseudo element with inset to deal with overflow-hidden
150 .interactive-pseudo-inset {
151 @extend %interactive;
152 @extend .interactive-pseudo;
155 inset: $focus-ring-size;
159 .interactive-pseudo-protrude {
160 @extend %interactive;
161 @extend .interactive-pseudo;
164 inset: -$focus-ring-size;
168 .interactive--no-background {
176 &[aria-expanded='true'] {
177 background-color: inherit;
180 background-color: inherit;