@lucca-front/scss 21.3.0-rc.6 → 21.3.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 (35) hide show
  1. package/dist/lucca-front.min.css +1 -1
  2. package/package.json +3 -3
  3. package/src/commons/utils/color.scss +7 -3
  4. package/src/commons/utils/highlight-prisme.scss +6 -2
  5. package/src/commons/vars.scss +7 -3
  6. package/src/components/appLayout/component.scss +4 -1
  7. package/src/components/avatar/component.scss +2 -0
  8. package/src/components/bubbleIcon/index.scss +4 -0
  9. package/src/components/bubbleIcon/mods.scss +9 -1
  10. package/src/components/checkbox/states.scss +1 -1
  11. package/src/components/checkboxField/states.scss +1 -1
  12. package/src/components/dialog/component.scss +4 -2
  13. package/src/components/dialog/mods.scss +4 -2
  14. package/src/components/dialog/vars.scss +2 -0
  15. package/src/components/footer/component.scss +1 -0
  16. package/src/components/footer/mods.scss +1 -0
  17. package/src/components/footer/vars.scss +1 -0
  18. package/src/components/horizontalNavigation/index.scss +8 -0
  19. package/src/components/impersonation/component.scss +1 -2
  20. package/src/components/impersonation/vars.scss +0 -1
  21. package/src/components/link/component.scss +3 -0
  22. package/src/components/link/index.scss +9 -0
  23. package/src/components/link/mods.scss +4 -0
  24. package/src/components/link/vars.scss +1 -0
  25. package/src/components/multiSelect/component.scss +4 -3
  26. package/src/components/multiSelect/index.scss +8 -2
  27. package/src/components/multiSelect/mods.scss +2 -0
  28. package/src/components/multiSelect/states.scss +10 -2
  29. package/src/components/multiSelect/vars.scss +1 -0
  30. package/src/components/numericBadge/component.scss +0 -2
  31. package/src/components/numericBadge/mods.scss +0 -12
  32. package/src/components/numericBadge/vars.scss +0 -4
  33. package/src/components/radio/states.scss +3 -3
  34. package/src/components/radioField/states.scss +3 -3
  35. package/src/components/skipLinks/component.scss +9 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucca-front/scss",
3
- "version": "21.3.0-rc.6",
3
+ "version": "21.3.0",
4
4
  "description": "A Sass framework for Lucca products.",
5
5
  "main": "src/main.scss",
6
6
  "scripts": {},
@@ -24,7 +24,7 @@
24
24
  "normalize.css": "^8.0.0"
25
25
  },
26
26
  "peerDependencies": {
27
- "@lucca-front/icons": "21.3.0-rc.6",
28
- "@lucca/prisme": "21.3.0-rc.6"
27
+ "@lucca-front/icons": "21.3.0",
28
+ "@lucca/prisme": "21.3.0"
29
29
  }
30
30
  }
@@ -12,14 +12,18 @@
12
12
  @return color-mix(in $space, $color $amount, transparent);
13
13
  }
14
14
 
15
- @mixin palette($name, $shades: config.$palettesShades, $palette: false) {
15
+ @mixin palette($name: '', $shades: config.$palettesShades, $palette: false) {
16
+ @if $name != '' {
17
+ $name: '-' + $name;
18
+ }
19
+
16
20
  @each $shade in $shades {
17
21
  @if $palette {
18
22
  @if map.get($palette, $shade) {
19
- --palettes-#{$shade}: var(--palettes-#{$name}-#{$shade});
23
+ --palettes-#{$shade}: var(--palettes#{$name}-#{$shade});
20
24
  }
21
25
  } @else {
22
- --palettes-#{$shade}: var(--palettes-#{$name}-#{$shade});
26
+ --palettes-#{$shade}: var(--palettes#{$name}-#{$shade});
23
27
  }
24
28
  }
25
29
  }
@@ -26,6 +26,7 @@
26
26
  .textFlow,
27
27
  .mobilePush,
28
28
  .presentation,
29
+ .highlightText,
29
30
 
30
31
  // Lists
31
32
  .chip,
@@ -106,6 +107,7 @@
106
107
  .avatar,
107
108
  .userPopover,
108
109
  .userTile,
110
+ .impersonation,
109
111
 
110
112
  // Loaders
111
113
  .loading,
@@ -142,7 +144,7 @@
142
144
 
143
145
  // Icons
144
146
  lu-bubble-illustration .bubbleIllustration,
145
- lu-bubble-icon .bubbleIcon,
147
+ lu-bubble-icon,
146
148
  lu-software-icon .softwareIcon,
147
149
  lu-icon .lucca-icon,
148
150
 
@@ -158,6 +160,7 @@
158
160
  lu-text-flow,
159
161
  lu-mobile-push,
160
162
  lu-data-presentation,
163
+ lu-highlight-text,
161
164
 
162
165
  // Lists
163
166
  lu-chip,
@@ -239,6 +242,7 @@
239
242
  // Users
240
243
  lu-user-picture,
241
244
  lu-user-tile,
245
+ lu-impersonation,
242
246
 
243
247
  // Loaders
244
248
  lu-loading,
@@ -262,7 +266,7 @@
262
266
  lu-dialog-content,
263
267
  lu-dialog-footer,
264
268
  lu-footer .footer,
265
- lu-horizontal-navigation,
269
+ lu-horizontal-navigation .horizontalNavigation,
266
270
  lu-vertical-navigation,
267
271
  [luDataTableRow] {
268
272
  outline: 2px solid springgreen;
@@ -69,9 +69,9 @@
69
69
  }
70
70
 
71
71
  // stylelint-disable custom-property-pattern
72
- --palettes-assets-primary-lighter: var(--palettes-#{config.$product}-50, var(--palettes-50));
73
- --palettes-assets-primary-light: var(--palettes-#{config.$product}-100, var(--palettes-100));
74
- --palettes-assets-primary-dark: var(--palettes-#{config.$product}-200, var(--palettes-200));
72
+ --palettes-assets-primary-lighter: var(--palettes-product-50);
73
+ --palettes-assets-primary-light: var(--palettes-product-100);
74
+ --palettes-assets-primary-dark: var(--palettes-product-200);
75
75
  --palettes-assets-brand-lighter: var(--palettes-#{map.get(map.get(config.$palettesAssets, config.$product), 'brand')}-50);
76
76
  --palettes-assets-brand-light: var(--palettes-#{map.get(map.get(config.$palettesAssets, config.$product), 'brand')}-100);
77
77
  --palettes-assets-brand-dark: var(--palettes-#{map.get(map.get(config.$palettesAssets, config.$product), 'brand')}-200);
@@ -173,4 +173,8 @@
173
173
  @extend %prefersContrastMore;
174
174
  }
175
175
  }
176
+
177
+ body:has(.lucca-banner-wrapper.pr-u-prefersContrastMore) {
178
+ @extend %prefersContrastMore;
179
+ }
176
180
  }
@@ -2,7 +2,10 @@
2
2
  @use '@lucca-front/scss/src/commons/utils/a11y';
3
3
 
4
4
  @mixin component($atRoot: namespace.$defaultAtRoot) {
5
- block-size: var(--components-appLayout-blockSize);
5
+ @media screen {
6
+ block-size: var(--components-appLayout-blockSize);
7
+ }
8
+
6
9
  inline-size: var(--components-appLayout-inlineSize);
7
10
  grid-template: var(--components-appLayout-gridTemplate);
8
11
  display: grid;
@@ -80,6 +80,8 @@
80
80
  inline-size: var(--components-avatar-size);
81
81
  block-size: var(--components-avatar-size);
82
82
  font-size: var(--components-avatarWrapper-fontSize);
83
+ border-radius: var(--pr-t-border-radius-full);
84
+ background-color: var(--palettes-neutral-200);
83
85
  }
84
86
  }
85
87
  }
@@ -7,6 +7,10 @@
7
7
  }
8
8
 
9
9
  @layer mods {
10
+ &.mod-XS {
11
+ @include XS;
12
+ }
13
+
10
14
  &.mod-S {
11
15
  @include S;
12
16
  }
@@ -1,10 +1,18 @@
1
1
  @use '@lucca-front/icons/src/icon/exports' as icon;
2
2
 
3
+ @mixin XS {
4
+ --components-bubbleIcon-size: var(--pr-t-spacings-300);
5
+
6
+ .lucca-icon {
7
+ @include icon.XS;
8
+ }
9
+ }
10
+
3
11
  @mixin S {
4
12
  --components-bubbleIcon-size: var(--pr-t-spacings-400);
5
13
 
6
14
  .lucca-icon {
7
- @include icon.XS;
15
+ @include icon.S;
8
16
  }
9
17
  }
10
18
 
@@ -7,7 +7,7 @@
7
7
  cursor: default;
8
8
 
9
9
  &::before {
10
- border-color: var(--palettes-neutral-500); // disabled token candidate
10
+ border-color: var(--palettes-neutral-300); // disabled token candidate
11
11
  }
12
12
 
13
13
  .checkbox-label-helper {
@@ -70,7 +70,7 @@
70
70
  cursor: default;
71
71
 
72
72
  ~ .checkboxField-icon {
73
- --component-checkboxField-borderColor: var(--palettes-neutral-500);
73
+ --component-checkboxField-borderColor: var(--palettes-neutral-300);
74
74
  }
75
75
  }
76
76
 
@@ -34,7 +34,7 @@
34
34
 
35
35
  @at-root ($atRoot) {
36
36
  .dialog-inside {
37
- &:has(.dialog-inside-formOptional, .dialog-formOptional, .dialog-form) {
37
+ &:has(> .dialog-inside-formOptional, > .dialog-formOptional, > .dialog-form) {
38
38
  display: contents;
39
39
 
40
40
  .dialog-formOptional, // stylelint-disable-line selector-disallowed-list -- .dialog-formOptional is deprecated
@@ -62,7 +62,7 @@
62
62
  }
63
63
  }
64
64
 
65
- &:not(:has(.dialog-inside-formOptional, .dialog-formOptional, .dialog-form)) {
65
+ &:not(:has(> .dialog-inside-formOptional, > .dialog-formOptional, > .dialog-form)) {
66
66
  display: grid;
67
67
  grid-template-areas:
68
68
  'header '
@@ -117,6 +117,7 @@
117
117
 
118
118
  .dialog-inside-footer {
119
119
  grid-area: footer;
120
+ margin-block: var(--components-dialog-inside-footer-marginBlock);
120
121
 
121
122
  &.footer {
122
123
  @include footer.insideDialog;
@@ -125,6 +126,7 @@
125
126
 
126
127
  .dialog-inside-header {
127
128
  display: grid;
129
+ margin-block: var(--components-dialog-inside-header-marginBlock);
128
130
  padding-block: var(--components-dialog-inside-header-paddingBlock);
129
131
  padding-inline: var(--components-dialog-inside-header-paddingInline);
130
132
  grid-template-areas: var(--components-dialog-insideHeaderAreas);
@@ -109,16 +109,18 @@
109
109
  --components-dialog-inside-header-button-position: absolute;
110
110
  --components-dialog-inside-header-button-insetBlockStart: var(--pr-t-spacings-100);
111
111
  --components-dialog-inside-header-button-insetInlineEnd: var(--pr-t-spacings-100);
112
- --components-dialog-insideContent-paddingBlock: var(--pr-t-spacings-50) var(--pr-t-spacings-200);
112
+ --components-dialog-insideContent-paddingBlock: var(--pr-t-spacings-50) 0;
113
113
  --components-dialog-inside-header-paddingInline: var(--pr-t-spacings-700) var(--pr-t-spacings-400);
114
114
  --components-dialog-insideContent-paddingInline: var(--pr-t-spacings-700) var(--pr-t-spacings-400);
115
+ --components-dialog-inside-header-marginBlock: var(--pr-t-spacings-500) 0;
116
+ --components-dialog-inside-footer-marginBlock: 0 var(--pr-t-spacings-500);
115
117
 
116
118
  .dialog-inside-footer {
117
119
  --components-footer-actions-margin: 0;
118
120
  --components-footer-boxShadow: none;
119
- --components-footer-paddingBlock: 0 var(--pr-t-spacings-150);
120
121
  --components-footer-overflow: visible;
121
122
  --components-footer-paddingInline: var(--pr-t-spacings-700) var(--pr-t-spacings-400);
123
+ --components-footer-paddingBlock: var(--pr-t-spacings-300) var(--pr-t-spacings-150);
122
124
  }
123
125
 
124
126
  .dialog-inside-header {
@@ -39,4 +39,6 @@
39
39
  --components-dialog-inside-fancyIllustrations-inlineSize: var(--components-dialog-inside-paddingInlineEnd);
40
40
  --components-dialog-inside-header-button-insetBlockStart: var(--pr-t-spacings-200);
41
41
  --components-dialog-inside-header-button-insetInlineEnd: var(--pr-t-spacings-300);
42
+ --components-dialog-inside-header-marginBlock: 0px;
43
+ --components-dialog-inside-footer-marginBlock: 0px;
42
44
  }
@@ -13,6 +13,7 @@
13
13
  gap: var(--components-footer-gap);
14
14
  align-items: var(--components-footer-alignItems);
15
15
  flex-direction: var(--components-footer-direction);
16
+ isolation: var(--components-footer-isolation);
16
17
 
17
18
  @at-root ($atRoot) {
18
19
  .footer-content {
@@ -14,6 +14,7 @@
14
14
  --components-footer-paddingInline: var(--pr-t-spacings-300);
15
15
  --commons-container-padding: 0;
16
16
  --components-footer-overflow: hidden;
17
+ --components-footer-isolation: isolate;
17
18
  }
18
19
 
19
20
  @mixin wide {
@@ -12,4 +12,5 @@
12
12
  --components-footer-gap: var(--pr-t-spacings-200);
13
13
  --components-footer-display: flex;
14
14
  --components-footer-container-maxInlineSize: var(--commons-container-maxWidth);
15
+ --components-footer-isolation: auto;
15
16
  }
@@ -1,3 +1,4 @@
1
+ @use '@lucca-front/scss/src/commons/utils/color';
1
2
  @use 'exports' as *;
2
3
 
3
4
  // stylelint-disable-next-line selector-disallowed-list -- .menu is deprecated
@@ -69,6 +70,13 @@
69
70
  @include active;
70
71
  }
71
72
 
73
+ // .active is deprecated
74
+ &:not(.active, [aria-current='page'], [aria-selected='true']) {
75
+ .numericBadge {
76
+ @include color.palette;
77
+ }
78
+ }
79
+
72
80
  &.disabled, // .disabled is deprecated
73
81
  &[disabled],
74
82
  &.is-disabled {
@@ -12,7 +12,7 @@
12
12
  .impersonation-trigger {
13
13
  @include reset.button;
14
14
 
15
- border: 1px solid var(--components-impersonation-trigger-borderColor);
15
+ box-shadow: 0 0 0 1px var(--components-impersonation-trigger-borderColor);
16
16
  background-color: var(--components-impersonation-trigger-backgroundColor);
17
17
  border-radius: var(--pr-t-border-radius-200);
18
18
  inline-size: fit-content;
@@ -24,7 +24,6 @@
24
24
  min-block-size: var(--pr-t-spacings-500);
25
25
  font-weight: var(--components-impersonation-trigger-fontWeight);
26
26
  color: var(--components-impersonation-trigger-color);
27
- box-shadow: var(--components-impersonation-trigger-boxShadow);
28
27
  transition-property: box-shadow, border-color;
29
28
  transition-duration: var(--commons-animations-durations-fast);
30
29
  }
@@ -5,7 +5,6 @@
5
5
  --components-impersonation-trigger-fontWeight: var(--pr-t-font-fontWeight-regular);
6
6
  --components-impersonation-trigger-color: var(--pr-t-color-text);
7
7
  --components-impersonation-trigger-icon-color: var(--pr-t-color-text-subtle);
8
- --components-impersonation-trigger-boxShadow: none;
9
8
  --components-impersonation-clear-display: none;
10
9
  --components-impersonation-trigger-icon-marginInlineStart: auto;
11
10
  }
@@ -37,6 +37,9 @@
37
37
  @at-root ($atRoot) {
38
38
  .link-icon {
39
39
  white-space: nowrap;
40
+ opacity: var(--components-link-icon-opacity);
41
+ transition-property: opacity;
42
+ transition-duration: var(--commons-animations-durations-fast);
40
43
 
41
44
  &::before {
42
45
  content: ' ' / '';
@@ -1,4 +1,5 @@
1
1
  @use 'exports' as *;
2
+ @use '@lucca-front/scss/src/commons/utils/media';
2
3
 
3
4
  .link {
4
5
  @layer components {
@@ -19,6 +20,14 @@
19
20
  }
20
21
  }
21
22
 
23
+ @include media.isNotTouchDevice {
24
+ &.mod-hiddenIcon {
25
+ &:not(:hover, :focus-visible) {
26
+ @include hiddenIcon;
27
+ }
28
+ }
29
+ }
30
+
22
31
  &:is(:disabled, .is-disabled) {
23
32
  @include disabled;
24
33
  }
@@ -17,3 +17,7 @@
17
17
  @mixin legacyIcon {
18
18
  --components-link-icon-marginInlineStart: 0.2em;
19
19
  }
20
+
21
+ @mixin hiddenIcon {
22
+ --components-link-icon-opacity: 0;
23
+ }
@@ -5,4 +5,5 @@
5
5
  --components-link-color-hover: var(--commons-text-link-hover);
6
6
  --components-link-cursor: pointer;
7
7
  --components-link-icon-marginInlineStart: 0;
8
+ --components-link-icon-opacity: 1;
8
9
  }
@@ -32,10 +32,11 @@
32
32
  flex: 1;
33
33
  }
34
34
 
35
- .multipleSelect-displayer-value {
36
- display: flex;
35
+ .multipleSelect-displayer-suffix {
36
+ display: var(--components-multiSelect-displayer-suffix-display);
37
37
  gap: var(--pr-t-spacings-50);
38
- flex-wrap: wrap;
38
+ flex: 1;
39
+ order: 1;
39
40
  }
40
41
 
41
42
  .multipleSelect-displayer-chip.chip {
@@ -23,10 +23,16 @@
23
23
  @include filterPillDisplayerFocused;
24
24
  }
25
25
  }
26
+
27
+ &.is-selected {
28
+ @include filterPillSelected;
29
+ }
26
30
  }
27
31
 
28
- &.is-selected {
29
- @include selected;
32
+ &:not(.mod-filterPill) {
33
+ &.is-selected {
34
+ @include selected;
35
+ }
30
36
  }
31
37
 
32
38
  &:has(.multipleSelect-displayer-search:focus-visible) {
@@ -37,6 +37,8 @@
37
37
  }
38
38
 
39
39
  @mixin filterPill {
40
+ --components-multiSelect-displayer-suffix-display: flex;
41
+
40
42
  flex-direction: column;
41
43
  align-items: stretch;
42
44
  box-shadow: none;
@@ -42,8 +42,16 @@
42
42
 
43
43
  @mixin selected {
44
44
  .multipleSelect-displayer-search {
45
- &[readonly],
46
- &:not(:focus) {
45
+ &:not(:focus),
46
+ &[readonly] {
47
+ @include a11y.mask;
48
+ }
49
+ }
50
+ }
51
+
52
+ @mixin filterPillSelected {
53
+ .multipleSelect-displayer-search {
54
+ &[readonly] {
47
55
  @include a11y.mask;
48
56
  }
49
57
  }
@@ -6,4 +6,5 @@
6
6
  --components-multiSelect-border-color: var(--pr-t-color-input-border);
7
7
  --components-multiSelect-placeholder: var(--pr-t-color-input-text-placeholder);
8
8
  --components-multiSelect-arrow-color: var(--pr-t-color-input-icon);
9
+ --components-multiSelect-displayer-suffix-display: contents;
9
10
  }
@@ -8,8 +8,6 @@
8
8
  min-inline-size: var(--components-numericBadge-size);
9
9
  padding: var(--pr-t-spacings-50);
10
10
  font: var(--components-numericBadge-font);
11
- font-size: var(--components-numericBadge-fontSize); // Deprecated
12
- line-height: var(--components-numericBadge-lineHeight); // Deprecated
13
11
  font-weight: var(--pr-t-font-fontWeight-semibold);
14
12
  background-color: var(--components-numericBadge-background);
15
13
  color: var(--components-numericBadge-color);
@@ -4,30 +4,18 @@
4
4
  --components-numericBadge-size: 1.5rem;
5
5
  --components-numericBadge-borderRadius: var(--pr-t-border-radius-default);
6
6
  --components-numericBadge-font: var(--pr-t-font-body-S);
7
-
8
- // Deprecated
9
- --components-numericBadge-fontSize: var(--pr-t-font-body-S-fontSize);
10
- --components-numericBadge-lineHeight: var(--pr-t-font-body-S-lineHeight);
11
7
  }
12
8
 
13
9
  @mixin S {
14
10
  --components-numericBadge-size: 1.25rem;
15
11
  --components-numericBadge-borderRadius: var(--pr-t-border-radius-small);
16
12
  --components-numericBadge-font: var(--pr-t-font-body-XS);
17
-
18
- // Deprecated
19
- --components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);
20
- --components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight);
21
13
  }
22
14
 
23
15
  @mixin XS {
24
16
  --components-numericBadge-size: 1rem;
25
17
  --components-numericBadge-borderRadius: var(--pr-t-border-radius-small);
26
18
  --components-numericBadge-font: var(--pr-t-font-body-XS);
27
-
28
- // Deprecated
29
- --components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);
30
- --components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight);
31
19
  }
32
20
 
33
21
  @mixin inherit {
@@ -5,8 +5,4 @@
5
5
  --components-numericBadge-size: 1.5rem;
6
6
  --components-numericBadge-font: var(--pr-t-font-body-S);
7
7
  --components-numericBadge-borderRadius: var(--pr-t-border-radius-default);
8
-
9
- // Deprecated
10
- --components-numericBadge-fontSize: var(--pr-t-font-body-S-fontSize);
11
- --components-numericBadge-lineHeight: var(--pr-t-font-body-S-lineHeight);
12
8
  }
@@ -4,7 +4,7 @@
4
4
  cursor: default;
5
5
 
6
6
  &::before {
7
- border-color: var(--palettes-neutral-500);
7
+ border-color: var(--palettes-neutral-300);
8
8
  border-width: 2px;
9
9
  border-style: solid;
10
10
  }
@@ -18,13 +18,13 @@
18
18
  @mixin disabledChecked {
19
19
  ~ .radio-label {
20
20
  &::before {
21
- border-color: var(--palettes-neutral-500); // disabled token candidate
21
+ border-color: var(--palettes-neutral-300); // disabled token candidate
22
22
  border-width: 2px;
23
23
  border-style: solid;
24
24
  }
25
25
 
26
26
  &::after {
27
- background-color: var(--palettes-neutral-500); // disabled token candidate
27
+ background-color: var(--palettes-neutral-300); // disabled token candidate
28
28
  }
29
29
  }
30
30
  }
@@ -28,8 +28,8 @@
28
28
 
29
29
  @mixin checkedDisabled {
30
30
  ~ .radioField-icon {
31
- background-color: var(--palettes-neutral-500); // disabled token candidate
32
- border-color: var(--palettes-neutral-500); // disabled token candidate
31
+ background-color: var(--palettes-neutral-300); // disabled token candidate
32
+ border-color: var(--palettes-neutral-300); // disabled token candidate
33
33
  color: var(--palettes-neutral-500); // disabled token candidate
34
34
  }
35
35
  }
@@ -58,7 +58,7 @@
58
58
  cursor: default;
59
59
 
60
60
  ~ .radioField-icon {
61
- border-color: var(--palettes-neutral-500); // disabled token candidate
61
+ border-color: var(--palettes-neutral-300); // disabled token candidate
62
62
  }
63
63
  }
64
64
 
@@ -5,6 +5,9 @@
5
5
  list-style-type: none;
6
6
  justify-content: center;
7
7
  display: flex;
8
+ flex-direction: column;
9
+ align-items: center;
10
+ gap: var(--pr-t-spacings-100);
8
11
  margin: 0;
9
12
  padding: 0;
10
13
  z-index: 9010;
@@ -12,6 +15,12 @@
12
15
  inset-block-end: auto;
13
16
 
14
17
  @at-root ($atRoot) {
18
+ .skipLinks_target {
19
+ &:focus-visible {
20
+ @include a11y.focusVisible;
21
+ }
22
+ }
23
+
15
24
  .skipLinks-action {
16
25
  border: 0;
17
26
  margin: 0;