@stackoverflow/stacks 2.0.8 → 2.1.0-rc.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 (103) hide show
  1. package/LICENSE.MD +1 -1
  2. package/README.md +7 -9
  3. package/dist/css/stacks.css +234 -214
  4. package/dist/css/stacks.min.css +1 -1
  5. package/dist/js/stacks.js +1 -1
  6. package/lib/atomic/misc.less +1 -1
  7. package/lib/components/activity-indicator/activity-indicator.a11y.test.ts +2 -3
  8. package/lib/components/activity-indicator/activity-indicator.less +5 -5
  9. package/lib/components/activity-indicator/activity-indicator.visual.test.ts +2 -3
  10. package/lib/components/anchor/anchor.a11y.test.ts +2 -4
  11. package/lib/components/anchor/anchor.visual.test.ts +2 -4
  12. package/lib/components/avatar/avatar.a11y.test.ts +2 -3
  13. package/lib/components/avatar/avatar.visual.test.ts +2 -3
  14. package/lib/components/award-bling/award-bling.a11y.test.ts +2 -4
  15. package/lib/components/award-bling/award-bling.visual.test.ts +2 -4
  16. package/lib/components/badge/badge.a11y.test.ts +7 -16
  17. package/lib/components/badge/badge.visual.test.ts +8 -21
  18. package/lib/components/banner/banner.a11y.test.ts +2 -3
  19. package/lib/components/banner/banner.visual.test.ts +2 -3
  20. package/lib/components/block-link/block-link.a11y.test.ts +4 -9
  21. package/lib/components/block-link/block-link.less +7 -10
  22. package/lib/components/block-link/block-link.visual.test.ts +4 -9
  23. package/lib/components/breadcrumbs/breadcrumbs.a11y.test.ts +2 -3
  24. package/lib/components/breadcrumbs/breadcrumbs.visual.test.ts +2 -3
  25. package/lib/components/button/button.a11y.test.ts +2 -3
  26. package/lib/components/button/button.less +70 -35
  27. package/lib/components/button/button.visual.test.ts +2 -3
  28. package/lib/components/card/card.a11y.test.ts +2 -3
  29. package/lib/components/card/card.visual.test.ts +3 -6
  30. package/lib/components/check-control/check-control.a11y.test.ts +2 -4
  31. package/lib/components/check-control/check-control.visual.test.ts +2 -4
  32. package/lib/components/check-group/check-group.a11y.test.ts +2 -4
  33. package/lib/components/check-group/check-group.visual.test.ts +2 -4
  34. package/lib/components/checkbox_radio/checkbox_radio.a11y.test.ts +2 -4
  35. package/lib/components/checkbox_radio/checkbox_radio.less +1 -13
  36. package/lib/components/checkbox_radio/checkbox_radio.visual.test.ts +2 -4
  37. package/lib/components/code-block/code-block.a11y.test.ts +2 -4
  38. package/lib/components/code-block/code-block.visual.test.ts +2 -4
  39. package/lib/components/description/description.a11y.test.ts +2 -4
  40. package/lib/components/description/description.visual.test.ts +2 -4
  41. package/lib/components/empty-state/empty-state.a11y.test.ts +2 -3
  42. package/lib/components/empty-state/empty-state.visual.test.ts +2 -3
  43. package/lib/components/expandable/expandable.a11y.test.ts +2 -3
  44. package/lib/components/expandable/expandable.visual.test.ts +2 -3
  45. package/lib/components/input-fill/input-fill.a11y.test.ts +2 -3
  46. package/lib/components/input-fill/input-fill.visual.test.ts +2 -3
  47. package/lib/components/input-message/input-message.a11y.test.ts +2 -3
  48. package/lib/components/input-message/input-message.visual.test.ts +2 -3
  49. package/lib/components/input_textarea/input_textarea.a11y.test.ts +4 -7
  50. package/lib/components/input_textarea/input_textarea.less +2 -20
  51. package/lib/components/input_textarea/input_textarea.visual.test.ts +4 -7
  52. package/lib/components/label/label.a11y.test.ts +2 -3
  53. package/lib/components/label/label.visual.test.ts +2 -3
  54. package/lib/components/link/link.a11y.test.ts +2 -3
  55. package/lib/components/link/link.visual.test.ts +2 -3
  56. package/lib/components/link-preview/link-preview.a11y.test.ts +2 -3
  57. package/lib/components/link-preview/link-preview.visual.test.ts +3 -3
  58. package/lib/components/menu/menu.a11y.test.ts +2 -3
  59. package/lib/components/menu/menu.visual.test.ts +2 -3
  60. package/lib/components/modal/modal.a11y.test.ts +2 -3
  61. package/lib/components/modal/modal.visual.test.ts +2 -3
  62. package/lib/components/navigation/navigation.a11y.test.ts +2 -3
  63. package/lib/components/navigation/navigation.less +3 -1
  64. package/lib/components/navigation/navigation.visual.test.ts +3 -6
  65. package/lib/components/notice/notice.a11y.test.ts +2 -3
  66. package/lib/components/notice/notice.visual.test.ts +2 -3
  67. package/lib/components/page-title/page-title.a11y.test.ts +2 -3
  68. package/lib/components/page-title/page-title.visual.test.ts +2 -3
  69. package/lib/components/pagination/pagination.a11y.test.ts +2 -3
  70. package/lib/components/pagination/pagination.less +9 -0
  71. package/lib/components/pagination/pagination.visual.test.ts +2 -3
  72. package/lib/components/progress-bar/progress-bar.a11y.test.ts +7 -18
  73. package/lib/components/progress-bar/progress-bar.less +1 -1
  74. package/lib/components/progress-bar/progress-bar.visual.test.ts +7 -18
  75. package/lib/components/select/select.less +1 -15
  76. package/lib/components/spinner/spinner.a11y.test.ts +2 -3
  77. package/lib/components/spinner/spinner.visual.test.ts +4 -7
  78. package/lib/components/table/table.a11y.test.ts +3 -4
  79. package/lib/components/table/table.visual.test.ts +2 -3
  80. package/lib/components/tag/tag.a11y.test.ts +2 -3
  81. package/lib/components/tag/tag.less +27 -21
  82. package/lib/components/tag/tag.visual.test.ts +3 -6
  83. package/lib/components/toast/toast.a11y.test.ts +2 -3
  84. package/lib/components/toast/toast.visual.test.ts +2 -3
  85. package/lib/components/toggle-switch/toggle-switch.a11y.test.ts +3 -6
  86. package/lib/components/toggle-switch/toggle-switch.less +5 -16
  87. package/lib/components/toggle-switch/toggle-switch.visual.test.ts +3 -7
  88. package/lib/components/topbar/topbar.less +61 -39
  89. package/lib/components/topbar/topbar.visual.test.ts +188 -0
  90. package/lib/components/uploader/uploader.less +1 -1
  91. package/lib/exports/__snapshots__/color-mixins.less.test.ts.snap +12 -0
  92. package/lib/exports/__snapshots__/color.less.test.ts.snap +45 -0
  93. package/lib/exports/color-mixins.less +2 -0
  94. package/lib/exports/color-sets.less +44 -7
  95. package/lib/exports/mixins.less +33 -0
  96. package/lib/input-utils.less +0 -3
  97. package/lib/test/a11y-test-utils.ts +94 -0
  98. package/lib/test/assertions.ts +10 -3
  99. package/lib/test/test-utils.ts +152 -300
  100. package/lib/test/visual-test-utils.ts +58 -0
  101. package/lib/tsconfig.json +3 -3
  102. package/package.json +12 -13
  103. package/lib/components/popover/tooltip.visual.test.ts +0 -31
package/dist/js/stacks.js CHANGED
@@ -757,7 +757,7 @@ class Multimap {
757
757
  }
758
758
  }
759
759
 
760
- class IndexedMultimap extends (/* unused pure expression or super */ null && (Multimap)) {
760
+ class IndexedMultimap extends Multimap {
761
761
  constructor() {
762
762
  super();
763
763
  this.keysByValue = new Map();
@@ -267,7 +267,7 @@
267
267
  // $ OUTLINE
268
268
  // ----------------------------------------------------------------------------
269
269
  .outline-none { outline: 0 !important; }
270
- .outline-ring { outline: solid var(--su-static4) var(--focus-ring); }
270
+ .outline-ring { outline: solid var(--su-static4) var(--translucent-secondary); }
271
271
 
272
272
  .f\:outline-ring {
273
273
  &:focus,
@@ -1,9 +1,8 @@
1
- import { runComponentTests } from "../../test/test-utils";
1
+ import { runA11yTests } from "../../test/a11y-test-utils";
2
2
  import "../../index";
3
3
 
4
4
  describe("activity-indicator", () => {
5
- runComponentTests({
6
- type: "a11y",
5
+ runA11yTests({
7
6
  baseClass: "s-activity-indicator",
8
7
  variants: ["danger", "success", "warning"],
9
8
  children: {
@@ -1,5 +1,5 @@
1
1
  .s-activity-indicator {
2
- --_ai-focus-ring: var(--focus-ring);
2
+ --_ai-translucent: var(--translucent-secondary);
3
3
  --_ai-bg: var(--theme-secondary-400);
4
4
  --_ai-fc: var(--white);
5
5
 
@@ -10,7 +10,7 @@
10
10
  // VARIANTS
11
11
  &&__danger {
12
12
  --_ai-bg: var(--red-400);
13
- --_ai-focus-ring: var(--focus-ring-error);
13
+ --_ai-translucent: var(--translucent-error);
14
14
 
15
15
  .highcontrast-mode({
16
16
  --_ai-bg: var(--red-500);
@@ -19,7 +19,7 @@
19
19
 
20
20
  &&__success {
21
21
  --_ai-bg: var(--green-400);
22
- --_ai-focus-ring: var(--focus-ring-success);
22
+ --_ai-translucent: var(--translucent-success);
23
23
 
24
24
  .highcontrast-mode({
25
25
  --_ai-bg: var(--green-500);
@@ -29,7 +29,7 @@
29
29
  &&__warning {
30
30
  --_ai-bg: var(--yellow-400);
31
31
  --_ai-fc: var(--_black-static);
32
- --_ai-focus-ring: var(--focus-ring-warning);
32
+ --_ai-translucent: var(--translucent-warning);
33
33
 
34
34
  .highcontrast-mode({
35
35
  --_ai-bg: var(--yellow-500); // needs to be here to override default high contrast
@@ -38,7 +38,7 @@
38
38
  }
39
39
 
40
40
  background-color: var(--_ai-bg);
41
- box-shadow: 0 0 0 var(--su-static4) var(--_ai-focus-ring);
41
+ box-shadow: 0 0 0 var(--su-static4) var(--_ai-translucent);
42
42
  color: var(--_ai-fc);
43
43
 
44
44
  border-radius: 1000px;
@@ -1,10 +1,9 @@
1
1
  import { html } from "@open-wc/testing";
2
- import { runComponentTests } from "../../test/test-utils";
2
+ import { runVisualTests } from "../../test/visual-test-utils";
3
3
  import "../../index";
4
4
 
5
5
  describe("activity-indicator", () => {
6
- runComponentTests({
7
- type: "visual",
6
+ runVisualTests({
8
7
  baseClass: "s-activity-indicator",
9
8
  variants: ["danger", "success", "warning"],
10
9
  children: {
@@ -1,4 +1,4 @@
1
- import { defaultOptions, runComponentTests } from "../../test/test-utils";
1
+ import { runA11yTests } from "../../test/a11y-test-utils";
2
2
  import "../../index";
3
3
 
4
4
  // TODO check for visited styling
@@ -8,8 +8,7 @@ const link = (text = "", visited = true, classes = "") =>
8
8
  }">${text}</a>`;
9
9
 
10
10
  describe("anchors", () => {
11
- runComponentTests({
12
- type: "a11y",
11
+ runA11yTests({
13
12
  baseClass: "s-anchors",
14
13
  modifiers: {
15
14
  primary: [
@@ -30,7 +29,6 @@ describe("anchors", () => {
30
29
  )}.`,
31
30
  },
32
31
  options: {
33
- ...defaultOptions,
34
32
  includeNullModifier: false,
35
33
  },
36
34
  });
@@ -1,5 +1,5 @@
1
1
  import { html } from "@open-wc/testing";
2
- import { defaultOptions, runComponentTests } from "../../test/test-utils";
2
+ import { runVisualTests } from "../../test/visual-test-utils";
3
3
  import "../../index";
4
4
 
5
5
  // TODO check for visited styling
@@ -15,8 +15,7 @@ const links = `A ${link(
15
15
  )}.`;
16
16
 
17
17
  describe("anchors", () => {
18
- runComponentTests({
19
- type: "visual",
18
+ runVisualTests({
20
19
  baseClass: "s-anchors",
21
20
  modifiers: {
22
21
  primary: [
@@ -37,7 +36,6 @@ describe("anchors", () => {
37
36
  `,
38
37
  },
39
38
  options: {
40
- ...defaultOptions,
41
39
  includeNullModifier: false,
42
40
  },
43
41
  template: ({ component, testid }) => html`
@@ -1,4 +1,4 @@
1
- import { runComponentTests } from "../../test/test-utils";
1
+ import { runA11yTests } from "../../test/a11y-test-utils";
2
2
  import "../../index";
3
3
 
4
4
  const getChild = (child?: string): string => {
@@ -22,8 +22,7 @@ const getChild = (child?: string): string => {
22
22
  };
23
23
 
24
24
  describe("avatar", () => {
25
- runComponentTests({
26
- type: "a11y",
25
+ runA11yTests({
27
26
  baseClass: "s-avatar",
28
27
  variants: ["24", "32", "48", "64", "96", "128"],
29
28
  children: {
@@ -1,5 +1,5 @@
1
1
  import { html } from "@open-wc/testing";
2
- import { runComponentTests } from "../../test/test-utils";
2
+ import { runVisualTests } from "../../test/visual-test-utils";
3
3
  import "../../index";
4
4
 
5
5
  const base64Image =
@@ -26,8 +26,7 @@ const getChild = (child?: string): string => {
26
26
  };
27
27
 
28
28
  describe("avatar", () => {
29
- runComponentTests({
30
- type: "visual",
29
+ runVisualTests({
31
30
  baseClass: "s-avatar",
32
31
  variants: ["24", "32", "48", "64", "96", "128"],
33
32
  children: {
@@ -1,16 +1,14 @@
1
- import { defaultOptions, runComponentTests } from "../../test/test-utils";
1
+ import { runA11yTests } from "../../test/a11y-test-utils";
2
2
  import "../../index";
3
3
 
4
4
  describe("award-bling", () => {
5
- runComponentTests({
6
- type: "a11y",
5
+ runA11yTests({
7
6
  baseClass: "s-award-bling",
8
7
  variants: ["gold", "silver", "bronze"],
9
8
  children: {
10
9
  default: `100 <div class="v-visible-sr">award</div>`,
11
10
  },
12
11
  options: {
13
- ...defaultOptions,
14
12
  includeNullVariant: false,
15
13
  },
16
14
  });
@@ -1,17 +1,15 @@
1
- import { defaultOptions, runComponentTests } from "../../test/test-utils";
1
+ import { runVisualTests } from "../../test/visual-test-utils";
2
2
  import { html } from "@open-wc/testing";
3
3
  import "../../index";
4
4
 
5
5
  describe("anchors", () => {
6
- runComponentTests({
7
- type: "visual",
6
+ runVisualTests({
8
7
  baseClass: "s-award-bling",
9
8
  variants: ["gold", "silver", "bronze"],
10
9
  children: {
11
10
  default: `100 <div class="v-visible-sr">award</div>`,
12
11
  },
13
12
  options: {
14
- ...defaultOptions,
15
13
  includeNullVariant: false,
16
14
  },
17
15
  template: ({ component, testid }) => html`
@@ -1,4 +1,4 @@
1
- import { defaultOptions, runComponentTests } from "../../test/test-utils";
1
+ import { runA11yTests } from "../../test/a11y-test-utils";
2
2
  // import { Icons } from "@stackoverflow/stacks-icons";
3
3
  import "../../index";
4
4
 
@@ -15,8 +15,7 @@ const variants = {
15
15
  describe("badge", () => {
16
16
  // Award badges (Default/badge counts)
17
17
  variants.blings.map((bling) => {
18
- runComponentTests({
19
- type: "a11y",
18
+ runA11yTests({
20
19
  baseClass: "s-badge",
21
20
  variants: [bling],
22
21
  children: {
@@ -29,23 +28,20 @@ describe("badge", () => {
29
28
  });
30
29
 
31
30
  // Number counts
32
- runComponentTests({
33
- type: "a11y",
31
+ runA11yTests({
34
32
  baseClass: "s-badge",
35
33
  variants: variants.numbers,
36
34
  children: {
37
35
  default: "123",
38
36
  },
39
37
  options: {
40
- ...defaultOptions,
41
38
  includeNullModifier: false,
42
39
  },
43
40
  tag: "span",
44
41
  });
45
42
 
46
43
  // Icon badges
47
- runComponentTests({
48
- type: "a11y",
44
+ runA11yTests({
49
45
  baseClass: "s-badge",
50
46
  variants: [...variants.states.filled, ...variants.states.other],
51
47
  modifiers: {
@@ -56,15 +52,13 @@ describe("badge", () => {
56
52
  // icon: Icons.IconEyeSm, // TODO fix the icon imports
57
53
  },
58
54
  options: {
59
- ...defaultOptions,
60
55
  includeNullModifier: false,
61
56
  },
62
57
  tag: "span",
63
58
  });
64
59
 
65
60
  // Filled badges
66
- runComponentTests({
67
- type: "a11y",
61
+ runA11yTests({
68
62
  baseClass: "s-badge",
69
63
  variants: variants.states.filled,
70
64
  modifiers: {
@@ -75,7 +69,6 @@ describe("badge", () => {
75
69
  // icon: Icons.IconEyeOffSm, // TODO fix the icon imports
76
70
  },
77
71
  options: {
78
- ...defaultOptions,
79
72
  includeNullModifier: false,
80
73
  includeNullVariant: false,
81
74
  },
@@ -83,8 +76,7 @@ describe("badge", () => {
83
76
  });
84
77
 
85
78
  // User badges
86
- runComponentTests({
87
- type: "a11y",
79
+ runA11yTests({
88
80
  baseClass: "s-badge",
89
81
  variants: variants.users,
90
82
  modifiers: {
@@ -97,8 +89,7 @@ describe("badge", () => {
97
89
  });
98
90
 
99
91
  // Sizes
100
- runComponentTests({
101
- type: "a11y",
92
+ runA11yTests({
102
93
  baseClass: "s-badge",
103
94
  modifiers: {
104
95
  primary: ["xs", "sm"],
@@ -1,4 +1,4 @@
1
- import { defaultOptions, runComponentTests } from "../../test/test-utils";
1
+ import { runVisualTests } from "../../test/visual-test-utils";
2
2
  // import { Icons } from "@stackoverflow/stacks-icons";
3
3
  import "../../index";
4
4
  import { html } from "@open-wc/testing";
@@ -25,8 +25,7 @@ const template = ({ component, testid }: any) => html`
25
25
 
26
26
  describe("badge", () => {
27
27
  // Base badge
28
- runComponentTests({
29
- type: "visual",
28
+ runVisualTests({
30
29
  baseClass: "s-badge",
31
30
  children: {
32
31
  default: `base badge`,
@@ -37,8 +36,7 @@ describe("badge", () => {
37
36
 
38
37
  // Award badges
39
38
  variants.blings.map((bling) => {
40
- runComponentTests({
41
- type: "visual",
39
+ runVisualTests({
42
40
  baseClass: "s-badge",
43
41
  variants: [bling],
44
42
  children: {
@@ -47,7 +45,6 @@ describe("badge", () => {
47
45
  </span>`,
48
46
  },
49
47
  options: {
50
- ...defaultOptions,
51
48
  includeNullVariant: false,
52
49
  includeNullModifier: false,
53
50
  },
@@ -57,15 +54,13 @@ describe("badge", () => {
57
54
  });
58
55
 
59
56
  // Number counts
60
- runComponentTests({
61
- type: "visual",
57
+ runVisualTests({
62
58
  baseClass: "s-badge",
63
59
  variants: variants.numbers,
64
60
  children: {
65
61
  default: "123",
66
62
  },
67
63
  options: {
68
- ...defaultOptions,
69
64
  includeNullVariant: false,
70
65
  includeNullModifier: false,
71
66
  },
@@ -74,8 +69,7 @@ describe("badge", () => {
74
69
  });
75
70
 
76
71
  // Icon badges
77
- runComponentTests({
78
- type: "visual",
72
+ runVisualTests({
79
73
  baseClass: "s-badge",
80
74
  variants: [...variants.states.filled, ...variants.states.other],
81
75
  modifiers: {
@@ -86,7 +80,6 @@ describe("badge", () => {
86
80
  // icon: Icons.IconEyeSm, // TODO fix the icon imports
87
81
  },
88
82
  options: {
89
- ...defaultOptions,
90
83
  includeNullModifier: false,
91
84
  },
92
85
  tag: "span",
@@ -94,8 +87,7 @@ describe("badge", () => {
94
87
  });
95
88
 
96
89
  // Filled badges
97
- runComponentTests({
98
- type: "visual",
90
+ runVisualTests({
99
91
  baseClass: "s-badge",
100
92
  variants: variants.states.filled,
101
93
  children: {
@@ -103,7 +95,6 @@ describe("badge", () => {
103
95
  // icon: Icons.IconEyeOffSm, // TODO fix the icon imports
104
96
  },
105
97
  options: {
106
- ...defaultOptions,
107
98
  includeNullModifier: false,
108
99
  includeNullVariant: false,
109
100
  },
@@ -112,8 +103,7 @@ describe("badge", () => {
112
103
  });
113
104
 
114
105
  // User badges
115
- runComponentTests({
116
- type: "visual",
106
+ runVisualTests({
117
107
  baseClass: "s-badge",
118
108
  variants: variants.users,
119
109
  modifiers: {
@@ -123,7 +113,6 @@ describe("badge", () => {
123
113
  default: "user badge",
124
114
  },
125
115
  options: {
126
- ...defaultOptions,
127
116
  includeNullVariant: false,
128
117
  },
129
118
  tag: "span",
@@ -131,8 +120,7 @@ describe("badge", () => {
131
120
  });
132
121
 
133
122
  // Sizes
134
- runComponentTests({
135
- type: "visual",
123
+ runVisualTests({
136
124
  baseClass: "s-badge",
137
125
  modifiers: {
138
126
  primary: ["xs", "sm"],
@@ -141,7 +129,6 @@ describe("badge", () => {
141
129
  default: "size badge",
142
130
  },
143
131
  options: {
144
- ...defaultOptions,
145
132
  includeNullModifier: false,
146
133
  },
147
134
  tag: "span",
@@ -1,4 +1,4 @@
1
- import { runComponentTests } from "../../test/test-utils";
1
+ import { runA11yTests } from "../../test/a11y-test-utils";
2
2
  import "../../index";
3
3
 
4
4
  const bannerChild = `
@@ -19,8 +19,7 @@ const bannerChild = `
19
19
  `;
20
20
 
21
21
  describe("banner", () => {
22
- runComponentTests({
23
- type: "a11y",
22
+ runA11yTests({
24
23
  baseClass: "s-banner",
25
24
  variants: ["info", "success", "warning", "danger"],
26
25
  modifiers: {
@@ -1,4 +1,4 @@
1
- import { runComponentTests } from "../../test/test-utils";
1
+ import { runVisualTests } from "../../test/visual-test-utils";
2
2
  import "../../index";
3
3
 
4
4
  const bannerChild = `
@@ -19,8 +19,7 @@ const bannerChild = `
19
19
  `;
20
20
 
21
21
  describe("banner", () => {
22
- runComponentTests({
23
- type: "visual",
22
+ runVisualTests({
24
23
  baseClass: "s-banner",
25
24
  variants: ["info", "success", "warning", "danger"],
26
25
  modifiers: {
@@ -1,5 +1,5 @@
1
1
  import { html } from "@open-wc/testing";
2
- import { defaultOptions, runComponentTests } from "../../test/test-utils";
2
+ import { runA11yTests } from "../../test/a11y-test-utils";
3
3
  import "../../index";
4
4
 
5
5
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -13,8 +13,7 @@ const blockLinkTemplate = ({ component, testid }: any) =>
13
13
 
14
14
  describe("block-link", () => {
15
15
  // Base block link
16
- runComponentTests({
17
- type: "a11y",
16
+ runA11yTests({
18
17
  baseClass: "s-block-link",
19
18
  modifiers: {
20
19
  global: ["is-selected"],
@@ -26,8 +25,7 @@ describe("block-link", () => {
26
25
  });
27
26
 
28
27
  // Base + danger
29
- runComponentTests({
30
- type: "a11y",
28
+ runA11yTests({
31
29
  baseClass: "s-block-link",
32
30
  modifiers: {
33
31
  primary: ["danger"],
@@ -36,15 +34,13 @@ describe("block-link", () => {
36
34
  default: `block link`,
37
35
  },
38
36
  options: {
39
- ...defaultOptions,
40
37
  includeNullModifier: false,
41
38
  },
42
39
  template: blockLinkTemplate,
43
40
  });
44
41
 
45
42
  // All left and rignt variants
46
- runComponentTests({
47
- type: "a11y",
43
+ runA11yTests({
48
44
  baseClass: "s-block-link",
49
45
  variants: ["left is-selected", "right is-selected"],
50
46
  modifiers: {
@@ -54,7 +50,6 @@ describe("block-link", () => {
54
50
  default: `block link`,
55
51
  },
56
52
  options: {
57
- ...defaultOptions,
58
53
  includeNullVariant: false,
59
54
  },
60
55
  template: blockLinkTemplate,
@@ -25,16 +25,9 @@ a.s-block-link,
25
25
  &&__left,
26
26
  &&__right {
27
27
  &.is-selected {
28
- &:focus:not(:focus-visible),
29
- &:focus-visible {
30
- outline: none;
28
+ &:not(:focus-visible) {
29
+ box-shadow: inset var(--_li-block-bs-offset-x, 3px) 0 0 var(--_bl-bs-color);
31
30
  }
32
-
33
- &:focus-visible {
34
- box-shadow: inset var(--_li-block-bs-offset-x, 3px) 0 0 var(--_bl-bs-color), 0 0 0 var(--su-static4) var(--focus-ring-muted);
35
- }
36
-
37
- box-shadow: inset var(--_li-block-bs-offset-x, 3px) 0 0 var(--_bl-bs-color);
38
31
  }
39
32
  }
40
33
 
@@ -63,7 +56,11 @@ a.s-block-link,
63
56
  color: var(--_bl-fc-visited);
64
57
  }
65
58
 
66
- @focus-styles();
59
+ &:focus-visible {
60
+ border-radius: var(--br-sm);
61
+ .focus-styles(true);
62
+ }
63
+
67
64
  background-color: var(--_bl-bg); // [1]
68
65
  color: var(--_bl-fc);
69
66
 
@@ -1,5 +1,5 @@
1
1
  import { html } from "@open-wc/testing";
2
- import { defaultOptions, runComponentTests } from "../../test/test-utils";
2
+ import { runVisualTests } from "../../test/visual-test-utils";
3
3
  import "../../index";
4
4
 
5
5
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -13,8 +13,7 @@ const blockLinkTemplate = ({ component, testid }: any) =>
13
13
 
14
14
  describe("block-link", () => {
15
15
  // Base block link
16
- runComponentTests({
17
- type: "visual",
16
+ runVisualTests({
18
17
  baseClass: "s-block-link",
19
18
  modifiers: {
20
19
  global: ["is-selected"],
@@ -26,8 +25,7 @@ describe("block-link", () => {
26
25
  });
27
26
 
28
27
  // Base + danger
29
- runComponentTests({
30
- type: "visual",
28
+ runVisualTests({
31
29
  baseClass: "s-block-link",
32
30
  modifiers: {
33
31
  primary: ["danger"],
@@ -36,15 +34,13 @@ describe("block-link", () => {
36
34
  default: `block link`,
37
35
  },
38
36
  options: {
39
- ...defaultOptions,
40
37
  includeNullModifier: false,
41
38
  },
42
39
  template: blockLinkTemplate,
43
40
  });
44
41
 
45
42
  // All left and rignt variants
46
- runComponentTests({
47
- type: "visual",
43
+ runVisualTests({
48
44
  baseClass: "s-block-link",
49
45
  variants: ["left is-selected", "right is-selected"],
50
46
  modifiers: {
@@ -54,7 +50,6 @@ describe("block-link", () => {
54
50
  default: `block link`,
55
51
  },
56
52
  options: {
57
- ...defaultOptions,
58
53
  includeNullVariant: false,
59
54
  },
60
55
  template: blockLinkTemplate,
@@ -1,10 +1,9 @@
1
- import { runComponentTests } from "../../test/test-utils";
1
+ import { runA11yTests } from "../../test/a11y-test-utils";
2
2
  import { html } from "@open-wc/testing";
3
3
  import "../../index";
4
4
 
5
5
  describe("breadcrumbs", () => {
6
- runComponentTests({
7
- type: "a11y",
6
+ runA11yTests({
8
7
  baseClass: "s-breadcrumbs",
9
8
  children: {
10
9
  default: `
@@ -1,10 +1,9 @@
1
- import { runComponentTests } from "../../test/test-utils";
1
+ import { runVisualTests } from "../../test/visual-test-utils";
2
2
  import { html } from "@open-wc/testing";
3
3
  import "../../index";
4
4
 
5
5
  describe("breadcrumbs", () => {
6
- runComponentTests({
7
- type: "visual",
6
+ runVisualTests({
8
7
  baseClass: "s-breadcrumbs",
9
8
  children: {
10
9
  default: `
@@ -1,9 +1,8 @@
1
- import { runComponentTests } from "../../test/test-utils";
1
+ import { runA11yTests } from "../../test/a11y-test-utils";
2
2
  import "../../index";
3
3
 
4
4
  describe("button", () => {
5
- runComponentTests({
6
- type: "a11y",
5
+ runA11yTests({
7
6
  baseClass: "s-btn",
8
7
  variants: ["danger", "muted"],
9
8
  modifiers: {