@microsoft/atlas-css 3.43.0 → 3.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +42 -42
  2. package/dist/class-names.json +1 -1
  3. package/dist/index.css +1 -1
  4. package/dist/index.css.map +1 -1
  5. package/package.json +91 -91
  6. package/src/atomics/README.md +56 -56
  7. package/src/atomics/aspect-ratio.scss +13 -13
  8. package/src/atomics/background.scss +11 -11
  9. package/src/atomics/border.scss +113 -113
  10. package/src/atomics/colors.scss +204 -204
  11. package/src/atomics/display.scss +33 -33
  12. package/src/atomics/flex.scss +74 -71
  13. package/src/atomics/gap.scss +60 -60
  14. package/src/atomics/image.scss +15 -15
  15. package/src/atomics/index.scss +18 -18
  16. package/src/atomics/line-clamp.scss +15 -15
  17. package/src/atomics/list.scss +3 -3
  18. package/src/atomics/overflow.scss +9 -9
  19. package/src/atomics/position.scss +19 -19
  20. package/src/atomics/shadow.scss +19 -19
  21. package/src/atomics/spacing-auto.scss +52 -52
  22. package/src/atomics/spacing.scss +98 -98
  23. package/src/atomics/typography.scss +203 -203
  24. package/src/atomics/visually-hidden.scss +4 -4
  25. package/src/atomics/width.scss +44 -44
  26. package/src/components/README.md +69 -69
  27. package/src/components/banner.scss +69 -69
  28. package/src/components/breadcrumbs.scss +37 -37
  29. package/src/components/button-reset.scss +8 -8
  30. package/src/components/button.scss +241 -241
  31. package/src/components/buttons.scss +93 -93
  32. package/src/components/card.scss +252 -252
  33. package/src/components/form/checkbox.scss +141 -141
  34. package/src/components/form/form.scss +67 -67
  35. package/src/components/form/help.scss +18 -18
  36. package/src/components/form/index.scss +8 -8
  37. package/src/components/form/input.scss +143 -143
  38. package/src/components/form/label.scss +14 -14
  39. package/src/components/form/radio.scss +121 -121
  40. package/src/components/form/select.scss +116 -116
  41. package/src/components/form/textarea.scss +82 -82
  42. package/src/components/gradient-card.scss +14 -14
  43. package/src/components/gradient.scss +85 -85
  44. package/src/components/hero.scss +197 -197
  45. package/src/components/icon.scss +20 -20
  46. package/src/components/image.scss +44 -44
  47. package/src/components/index.scss +27 -27
  48. package/src/components/layout.scss +189 -189
  49. package/src/components/link-button.scss +34 -34
  50. package/src/components/markdown.scss +158 -158
  51. package/src/components/media.scss +22 -22
  52. package/src/components/message.scss +74 -74
  53. package/src/components/notification.scss +101 -101
  54. package/src/components/pagination.scss +183 -183
  55. package/src/components/persona.scss +60 -60
  56. package/src/components/popover.scss +42 -42
  57. package/src/components/scroll.scss +26 -26
  58. package/src/components/segmented-control.scss +128 -128
  59. package/src/components/site-header.scss +255 -255
  60. package/src/components/stretched-link.scss +8 -8
  61. package/src/components/table.scss +114 -114
  62. package/src/components/toggle.scss +86 -86
  63. package/src/core/animations.scss +55 -55
  64. package/src/core/bare-elements.scss +38 -38
  65. package/src/core/focus.scss +45 -45
  66. package/src/core/font-stack.scss +28 -28
  67. package/src/core/index.scss +7 -7
  68. package/src/core/minireset.scss +79 -79
  69. package/src/core/normalize.scss +353 -353
  70. package/src/core/themes.scss +91 -91
  71. package/src/index.scss +5 -5
  72. package/src/mixins/center.scss +11 -11
  73. package/src/mixins/code-block.scss +43 -43
  74. package/src/mixins/colors.scss +6 -6
  75. package/src/mixins/control.scss +43 -43
  76. package/src/mixins/dismiss.scss +22 -22
  77. package/src/mixins/focus.scss +23 -23
  78. package/src/mixins/font-size.scss +35 -35
  79. package/src/mixins/force-colors.scss +5 -5
  80. package/src/mixins/gradient.scss +11 -11
  81. package/src/mixins/index.scss +17 -17
  82. package/src/mixins/layout-gap.scss +7 -7
  83. package/src/mixins/line-clamp.scss +15 -15
  84. package/src/mixins/loader.scss +16 -16
  85. package/src/mixins/media-queries.scss +61 -61
  86. package/src/mixins/overlay.scss +12 -12
  87. package/src/mixins/transparency.scss +15 -15
  88. package/src/mixins/unselectable.scss +13 -13
  89. package/src/mixins/visually-hidden.scss +12 -12
  90. package/src/tokens/animation.scss +8 -8
  91. package/src/tokens/border.scss +12 -12
  92. package/src/tokens/breakpoints.scss +11 -11
  93. package/src/tokens/colors.scss +239 -239
  94. package/src/tokens/direction.scss +25 -25
  95. package/src/tokens/display.scss +5 -5
  96. package/src/tokens/focus.scss +9 -9
  97. package/src/tokens/font-stack.scss +10 -10
  98. package/src/tokens/index.scss +17 -17
  99. package/src/tokens/layout.scss +17 -17
  100. package/src/tokens/palette.scss +200 -200
  101. package/src/tokens/position.scss +5 -5
  102. package/src/tokens/schemes.scss +14 -14
  103. package/src/tokens/shadow.scss +11 -11
  104. package/src/tokens/spacing.scss +25 -25
  105. package/src/tokens/themes.scss +318 -318
  106. package/src/tokens/typography.scss +33 -33
  107. package/src/tokens/z-index.scss +20 -20
  108. package/tokens/README.md +34 -34
  109. package/tokens/index.js +246 -246
  110. package/tokens/types.d.ts +35 -35
@@ -1,114 +1,114 @@
1
- $table-cell-vertical-padding: $spacer-5 !default;
2
- $table-cell-horizontal-padding: $spacer-6 !default;
3
- $table-cell-padding-compact: $spacer-3 !default;
4
- $table-cell-padding-loose: $spacer-8 !default;
5
-
6
- $table-caption-padding: $spacer-6 !default;
7
- $table-caption-size: $font-size-9 !default;
8
- $table-caption-spacing: $letter-spacing-medium !default;
9
-
10
- .table-wrapper {
11
- overflow-x: auto;
12
- overflow-y: hidden;
13
- -webkit-overflow-scrolling: touch;
14
- }
15
-
16
- .table {
17
- width: 100%;
18
- font-size: $font-size-8;
19
- border-collapse: collapse;
20
- table-layout: auto;
21
-
22
- &:not(.table-simple) {
23
- border: 1px solid $table-border-dark;
24
- }
25
-
26
- caption {
27
- padding: $table-caption-padding;
28
- font-size: $table-caption-size;
29
- font-weight: $weight-semibold;
30
- letter-spacing: $table-caption-spacing;
31
- text-align: $user-right;
32
- text-transform: uppercase;
33
- }
34
-
35
- th,
36
- td {
37
- display: table-cell;
38
- word-wrap: break-word;
39
- padding: $table-cell-vertical-padding $table-cell-horizontal-padding;
40
- border-block-start: 1px solid $table-border-dark;
41
- line-height: 1.5;
42
- vertical-align: top;
43
- }
44
-
45
- th:not([align]) {
46
- text-align: $user-left;
47
- }
48
-
49
- &.table-stacked-mobile {
50
- @include discouraged-mobile {
51
- th,
52
- td {
53
- display: block;
54
- width: 100%;
55
- }
56
-
57
- th:not(:nth-child(1)),
58
- td:not(:nth-child(1)) {
59
- padding-block-start: 0;
60
- border-width: 0;
61
- }
62
-
63
- thead tr:nth-child(1) th,
64
- tbody tr:nth-child(1) td {
65
- border-block-start: none;
66
- }
67
-
68
- thead tr > th:last-child {
69
- border-block-end: 1px solid $table-border-dark;
70
- }
71
- }
72
- }
73
-
74
- &.table-borderless {
75
- border: none;
76
-
77
- th,
78
- td {
79
- border: none;
80
- }
81
- }
82
-
83
- &.table-complex {
84
- thead tr,
85
- tfoot tr {
86
- background-color: $table-header;
87
- }
88
-
89
- th,
90
- td {
91
- border: 1px solid $table-border-dark;
92
- }
93
- }
94
-
95
- &.table-striped {
96
- tbody tr:nth-of-type(even) {
97
- background-color: $table-row;
98
- }
99
- }
100
-
101
- &.table-sm {
102
- th,
103
- td {
104
- padding: $table-cell-padding-compact;
105
- }
106
- }
107
-
108
- &.table-lg {
109
- th,
110
- td {
111
- padding: $table-cell-padding-loose;
112
- }
113
- }
114
- }
1
+ $table-cell-vertical-padding: $spacer-5 !default;
2
+ $table-cell-horizontal-padding: $spacer-6 !default;
3
+ $table-cell-padding-compact: $spacer-3 !default;
4
+ $table-cell-padding-loose: $spacer-8 !default;
5
+
6
+ $table-caption-padding: $spacer-6 !default;
7
+ $table-caption-size: $font-size-9 !default;
8
+ $table-caption-spacing: $letter-spacing-medium !default;
9
+
10
+ .table-wrapper {
11
+ overflow-x: auto;
12
+ overflow-y: hidden;
13
+ -webkit-overflow-scrolling: touch;
14
+ }
15
+
16
+ .table {
17
+ width: 100%;
18
+ font-size: $font-size-8;
19
+ border-collapse: collapse;
20
+ table-layout: auto;
21
+
22
+ &:not(.table-simple) {
23
+ border: 1px solid $table-border-dark;
24
+ }
25
+
26
+ caption {
27
+ padding: $table-caption-padding;
28
+ font-size: $table-caption-size;
29
+ font-weight: $weight-semibold;
30
+ letter-spacing: $table-caption-spacing;
31
+ text-align: $user-right;
32
+ text-transform: uppercase;
33
+ }
34
+
35
+ th,
36
+ td {
37
+ display: table-cell;
38
+ word-wrap: break-word;
39
+ padding: $table-cell-vertical-padding $table-cell-horizontal-padding;
40
+ border-block-start: 1px solid $table-border-dark;
41
+ line-height: 1.5;
42
+ vertical-align: top;
43
+ }
44
+
45
+ th:not([align]) {
46
+ text-align: $user-left;
47
+ }
48
+
49
+ &.table-stacked-mobile {
50
+ @include discouraged-mobile {
51
+ th,
52
+ td {
53
+ display: block;
54
+ width: 100%;
55
+ }
56
+
57
+ th:not(:nth-child(1)),
58
+ td:not(:nth-child(1)) {
59
+ padding-block-start: 0;
60
+ border-width: 0;
61
+ }
62
+
63
+ thead tr:nth-child(1) th,
64
+ tbody tr:nth-child(1) td {
65
+ border-block-start: none;
66
+ }
67
+
68
+ thead tr > th:last-child {
69
+ border-block-end: 1px solid $table-border-dark;
70
+ }
71
+ }
72
+ }
73
+
74
+ &.table-borderless {
75
+ border: none;
76
+
77
+ th,
78
+ td {
79
+ border: none;
80
+ }
81
+ }
82
+
83
+ &.table-complex {
84
+ thead tr,
85
+ tfoot tr {
86
+ background-color: $table-header;
87
+ }
88
+
89
+ th,
90
+ td {
91
+ border: 1px solid $table-border-dark;
92
+ }
93
+ }
94
+
95
+ &.table-striped {
96
+ tbody tr:nth-of-type(even) {
97
+ background-color: $table-row;
98
+ }
99
+ }
100
+
101
+ &.table-sm {
102
+ th,
103
+ td {
104
+ padding: $table-cell-padding-compact;
105
+ }
106
+ }
107
+
108
+ &.table-lg {
109
+ th,
110
+ td {
111
+ padding: $table-cell-padding-loose;
112
+ }
113
+ }
114
+ }
@@ -1,86 +1,86 @@
1
- $toggle-transition: $input-transition-duration cubic-bezier(0.01, 1.23, 0.58, 0.96) !default;
2
- $toggle-circle-size: 0.75em !default;
3
- $toggle-circle-top: 0.1875em !default;
4
- $toggle-circle-distance-from-border: 1em - $toggle-circle-size;
5
-
6
- $toggle-unselected-circle-color: $text-subtle !default;
7
- $toggle-unselected-border-color: $text-subtle !default;
8
- $toggle-unselected-background-color: $body-background !default;
9
- $toggle-selected-background-color: $primary !default;
10
- $toggle-circle-selected-background-color: $body-background !default;
11
-
12
- .toggle {
13
- label {
14
- display: block;
15
- position: relative;
16
- width: 2.5em;
17
- height: 1.25em;
18
- transition: $input-transition-duration linear;
19
- transition-property: background-color, border-color;
20
- border: 0.065em solid $toggle-unselected-border-color;
21
- border-radius: $border-radius-rounded;
22
- background-color: $toggle-unselected-background-color;
23
- cursor: pointer;
24
-
25
- @include forced-colors {
26
- border-color: CanvasText !important;
27
- background-color: Canvas !important;
28
- }
29
-
30
- &::after {
31
- display: block;
32
- position: absolute;
33
- width: $toggle-circle-size;
34
- height: $toggle-circle-size;
35
- transition: $toggle-transition;
36
- transition-property: inset-inline-start, border-color, background-color;
37
- border-radius: $border-radius-rounded;
38
- inset-block-start: $toggle-circle-top;
39
- inset-inline-start: $toggle-circle-distance-from-border;
40
- background-color: $toggle-unselected-circle-color;
41
- content: '';
42
-
43
- @include forced-colors {
44
- background-color: CanvasText !important;
45
- }
46
- }
47
- }
48
-
49
- /* stylelint-disable -- want to keep [type="checkbox"] as a requirement here */
50
- &.is-selected label,
51
- input[type='checkbox']:checked + label {
52
- /* stylelint-enable */
53
- border-color: $toggle-selected-background-color;
54
- background-color: $toggle-selected-background-color;
55
-
56
- @include forced-colors {
57
- border-color: LinkText !important;
58
- background-color: LinkText !important;
59
- }
60
-
61
- &::after {
62
- background-color: $toggle-circle-selected-background-color;
63
- inset-inline-start: calc(100% - ($toggle-circle-distance-from-border + $toggle-circle-size));
64
-
65
- @include forced-colors {
66
- background-color: Canvas !important;
67
- }
68
- }
69
- }
70
-
71
- /* stylelint-disable-next-line -- want to keep [type="checkbox"] as a requirement here */
72
- input[type='checkbox'] {
73
- @include visually-hidden();
74
-
75
- @include focus-visible() {
76
- + label {
77
- @extend %focus;
78
- }
79
- }
80
-
81
- &:disabled + label {
82
- opacity: 0.6;
83
- cursor: not-allowed;
84
- }
85
- }
86
- }
1
+ $toggle-transition: $input-transition-duration cubic-bezier(0.01, 1.23, 0.58, 0.96) !default;
2
+ $toggle-circle-size: 0.75em !default;
3
+ $toggle-circle-top: 0.1875em !default;
4
+ $toggle-circle-distance-from-border: 1em - $toggle-circle-size;
5
+
6
+ $toggle-unselected-circle-color: $text-subtle !default;
7
+ $toggle-unselected-border-color: $text-subtle !default;
8
+ $toggle-unselected-background-color: $body-background !default;
9
+ $toggle-selected-background-color: $primary !default;
10
+ $toggle-circle-selected-background-color: $body-background !default;
11
+
12
+ .toggle {
13
+ label {
14
+ display: block;
15
+ position: relative;
16
+ width: 2.5em;
17
+ height: 1.25em;
18
+ transition: $input-transition-duration linear;
19
+ transition-property: background-color, border-color;
20
+ border: 0.065em solid $toggle-unselected-border-color;
21
+ border-radius: $border-radius-rounded;
22
+ background-color: $toggle-unselected-background-color;
23
+ cursor: pointer;
24
+
25
+ @include forced-colors {
26
+ border-color: CanvasText !important;
27
+ background-color: Canvas !important;
28
+ }
29
+
30
+ &::after {
31
+ display: block;
32
+ position: absolute;
33
+ width: $toggle-circle-size;
34
+ height: $toggle-circle-size;
35
+ transition: $toggle-transition;
36
+ transition-property: inset-inline-start, border-color, background-color;
37
+ border-radius: $border-radius-rounded;
38
+ inset-block-start: $toggle-circle-top;
39
+ inset-inline-start: $toggle-circle-distance-from-border;
40
+ background-color: $toggle-unselected-circle-color;
41
+ content: '';
42
+
43
+ @include forced-colors {
44
+ background-color: CanvasText !important;
45
+ }
46
+ }
47
+ }
48
+
49
+ /* stylelint-disable -- want to keep [type="checkbox"] as a requirement here */
50
+ &.is-selected label,
51
+ input[type='checkbox']:checked + label {
52
+ /* stylelint-enable */
53
+ border-color: $toggle-selected-background-color;
54
+ background-color: $toggle-selected-background-color;
55
+
56
+ @include forced-colors {
57
+ border-color: LinkText !important;
58
+ background-color: LinkText !important;
59
+ }
60
+
61
+ &::after {
62
+ background-color: $toggle-circle-selected-background-color;
63
+ inset-inline-start: calc(100% - ($toggle-circle-distance-from-border + $toggle-circle-size));
64
+
65
+ @include forced-colors {
66
+ background-color: Canvas !important;
67
+ }
68
+ }
69
+ }
70
+
71
+ /* stylelint-disable-next-line -- want to keep [type="checkbox"] as a requirement here */
72
+ input[type='checkbox'] {
73
+ @include visually-hidden();
74
+
75
+ @include focus-visible() {
76
+ + label {
77
+ @extend %focus;
78
+ }
79
+ }
80
+
81
+ &:disabled + label {
82
+ opacity: 0.6;
83
+ cursor: not-allowed;
84
+ }
85
+ }
86
+ }
@@ -1,55 +1,55 @@
1
- // stylelint-disable-next-line keyframes-name-pattern
2
- @keyframes spinAround {
3
- // make it stop
4
-
5
- from {
6
- transform: rotate(0deg);
7
- }
8
-
9
- to {
10
- transform: rotate(359deg);
11
- }
12
- }
13
-
14
- @keyframes boop {
15
- 0% {
16
- transform: scale(1);
17
- }
18
-
19
- 50% {
20
- transform: scale(1.1);
21
- }
22
-
23
- 100% {
24
- transform: scale(1);
25
- }
26
- }
27
-
28
- @keyframes slide-up-fade-out {
29
- 100% {
30
- transform: translateY(-100%);
31
- opacity: 0;
32
- }
33
- }
34
-
35
- @keyframes fade-out {
36
- 100% {
37
- opacity: 0;
38
- }
39
- }
40
-
41
- .animation-fade {
42
- animation: fade-out 0.4s ease-in forwards;
43
-
44
- @include prefers-reduced-motion {
45
- animation-duration: 0s;
46
- }
47
- }
48
-
49
- .animation-slide-up {
50
- animation: slide-up-fade-out 0.4s ease-in forwards;
51
-
52
- @include prefers-reduced-motion {
53
- animation-duration: 0s;
54
- }
55
- }
1
+ // stylelint-disable-next-line keyframes-name-pattern
2
+ @keyframes spinAround {
3
+ // make it stop
4
+
5
+ from {
6
+ transform: rotate(0deg);
7
+ }
8
+
9
+ to {
10
+ transform: rotate(359deg);
11
+ }
12
+ }
13
+
14
+ @keyframes boop {
15
+ 0% {
16
+ transform: scale(1);
17
+ }
18
+
19
+ 50% {
20
+ transform: scale(1.1);
21
+ }
22
+
23
+ 100% {
24
+ transform: scale(1);
25
+ }
26
+ }
27
+
28
+ @keyframes slide-up-fade-out {
29
+ 100% {
30
+ transform: translateY(-100%);
31
+ opacity: 0;
32
+ }
33
+ }
34
+
35
+ @keyframes fade-out {
36
+ 100% {
37
+ opacity: 0;
38
+ }
39
+ }
40
+
41
+ .animation-fade {
42
+ animation: fade-out 0.4s ease-in forwards;
43
+
44
+ @include prefers-reduced-motion {
45
+ animation-duration: 0s;
46
+ }
47
+ }
48
+
49
+ .animation-slide-up {
50
+ animation: slide-up-fade-out 0.4s ease-in forwards;
51
+
52
+ @include prefers-reduced-motion {
53
+ animation-duration: 0s;
54
+ }
55
+ }
@@ -1,38 +1,38 @@
1
- // https://bugs.chromium.org/p/chromium/issues/detail?id=589475&q=details%20box-sizing&can=2
2
-
3
- details,
4
- details > * {
5
- box-sizing: border-box !important;
6
- }
7
-
8
- :where(html *),
9
- :where(html a),
10
- :where(html li) {
11
- // include a,li {} to override css reset/normalize; this is causing .focus-visible color issues
12
- outline-color: inherit;
13
- }
14
-
15
- :where(a) {
16
- color: $hyperlink;
17
- text-decoration: none;
18
- cursor: pointer;
19
- word-wrap: break-word;
20
- }
21
-
22
- :where(a:hover) {
23
- color: $primary-hover;
24
- text-decoration: underline;
25
- }
26
-
27
- :where(a:visited) {
28
- color: $visited;
29
- }
30
-
31
- fieldset {
32
- min-width: 0; // as a replaced element min-width:0 is required to enable it to work in responsive layouts
33
- border: none;
34
- }
35
-
36
- ::target-text {
37
- background-color: $code-highlight-background;
38
- }
1
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=589475&q=details%20box-sizing&can=2
2
+
3
+ details,
4
+ details > * {
5
+ box-sizing: border-box !important;
6
+ }
7
+
8
+ :where(html *),
9
+ :where(html a),
10
+ :where(html li) {
11
+ // include a,li {} to override css reset/normalize; this is causing .focus-visible color issues
12
+ outline-color: inherit;
13
+ }
14
+
15
+ :where(a) {
16
+ color: $hyperlink;
17
+ text-decoration: none;
18
+ cursor: pointer;
19
+ word-wrap: break-word;
20
+ }
21
+
22
+ :where(a:hover) {
23
+ color: $primary-hover;
24
+ text-decoration: underline;
25
+ }
26
+
27
+ :where(a:visited) {
28
+ color: $visited;
29
+ }
30
+
31
+ fieldset {
32
+ min-width: 0; // as a replaced element min-width:0 is required to enable it to work in responsive layouts
33
+ border: none;
34
+ }
35
+
36
+ ::target-text {
37
+ background-color: $code-highlight-background;
38
+ }
@@ -1,45 +1,45 @@
1
- @if ($focus-visible-use-polyfill) {
2
- .js-focus-visible .has-default-focus *:focus:not(.focus-visible),
3
- .js-focus-visible .default-focus *:focus:not(.focus-visible) {
4
- outline: none;
5
- }
6
-
7
- .focus-visible.has-inner-focus,
8
- .focus-visible.inner-focus {
9
- outline-offset: -$focus-width;
10
- }
11
-
12
- .has-default-focus,
13
- .default-focus {
14
- .is-focused,
15
- .focus-visible {
16
- @extend %focus;
17
-
18
- &.has-inner-focus,
19
- &.inner-focus {
20
- outline-color: currentColor;
21
- }
22
- }
23
- }
24
- } @else {
25
- .has-default-focus *:focus-visible,
26
- .default-focus *:focus-visible {
27
- @extend %focus;
28
-
29
- &.has-inner-focus,
30
- &.inner-focus {
31
- outline-color: currentColor;
32
- outline-offset: -$focus-width;
33
- }
34
- }
35
- }
36
-
37
- :where(.is-focused) {
38
- @extend %focus;
39
-
40
- &.has-inner-focus,
41
- &.inner-focus {
42
- outline-color: currentColor;
43
- outline-offset: -$focus-width;
44
- }
45
- }
1
+ @if ($focus-visible-use-polyfill) {
2
+ .js-focus-visible .has-default-focus *:focus:not(.focus-visible),
3
+ .js-focus-visible .default-focus *:focus:not(.focus-visible) {
4
+ outline: none;
5
+ }
6
+
7
+ .focus-visible.has-inner-focus,
8
+ .focus-visible.inner-focus {
9
+ outline-offset: -$focus-width;
10
+ }
11
+
12
+ .has-default-focus,
13
+ .default-focus {
14
+ .is-focused,
15
+ .focus-visible {
16
+ @extend %focus;
17
+
18
+ &.has-inner-focus,
19
+ &.inner-focus {
20
+ outline-color: currentColor;
21
+ }
22
+ }
23
+ }
24
+ } @else {
25
+ .has-default-focus *:focus-visible,
26
+ .default-focus *:focus-visible {
27
+ @extend %focus;
28
+
29
+ &.has-inner-focus,
30
+ &.inner-focus {
31
+ outline-color: currentColor;
32
+ outline-offset: -$focus-width;
33
+ }
34
+ }
35
+ }
36
+
37
+ :where(.is-focused) {
38
+ @extend %focus;
39
+
40
+ &.has-inner-focus,
41
+ &.inner-focus {
42
+ outline-color: currentColor;
43
+ outline-offset: -$focus-width;
44
+ }
45
+ }