vanilla-framework 4.15.0 → 4.16.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 (37) hide show
  1. package/package.json +12 -10
  2. package/scss/_base_button.scss +1 -1
  3. package/scss/_base_details.scss +1 -1
  4. package/scss/_base_forms.scss +8 -2
  5. package/scss/_base_hr.scss +2 -3
  6. package/scss/_base_links.scss +1 -1
  7. package/scss/_base_placeholders.scss +2 -0
  8. package/scss/_base_typography-definitions.scss +1 -1
  9. package/scss/_global_functions.scss +17 -5
  10. package/scss/_layouts_fluid-breakout.scss +2 -2
  11. package/scss/_patterns_accordion.scss +1 -1
  12. package/scss/_patterns_article-pagination.scss +2 -2
  13. package/scss/_patterns_buttons.scss +1 -1
  14. package/scss/_patterns_chip.scss +8 -9
  15. package/scss/_patterns_code-snippet.scss +1 -1
  16. package/scss/_patterns_contextual-menu.scss +1 -1
  17. package/scss/_patterns_cta.scss +7 -0
  18. package/scss/_patterns_equal-height-row.scss +87 -43
  19. package/scss/_patterns_image.scss +51 -15
  20. package/scss/_patterns_links.scss +1 -1
  21. package/scss/_patterns_list-tree.scss +49 -43
  22. package/scss/_patterns_lists.scss +58 -17
  23. package/scss/_patterns_matrix.scss +2 -2
  24. package/scss/_patterns_navigation.scss +4 -4
  25. package/scss/_patterns_pull-quotes.scss +1 -1
  26. package/scss/_patterns_rule.scss +6 -2
  27. package/scss/_patterns_search-and-filter.scss +11 -12
  28. package/scss/_patterns_separator.scss +1 -0
  29. package/scss/_patterns_side-navigation.scss +1 -1
  30. package/scss/_patterns_status-label.scss +5 -0
  31. package/scss/_patterns_table-mobile-card.scss +1 -1
  32. package/scss/_patterns_tooltips.scss +26 -8
  33. package/scss/_settings_breakpoints.scss +16 -0
  34. package/scss/_settings_colors.scss +16 -13
  35. package/scss/_utilities_floats.scss +6 -6
  36. package/scss/_utilities_hide.scss +9 -9
  37. package/scss/_utilities_show.scss +3 -3
@@ -1,87 +1,93 @@
1
1
  @import 'settings';
2
2
 
3
3
  @mixin vf-p-list-tree {
4
- %list-tree-icon {
5
- $icon-size: 0.9375rem; // 15px
6
- background: {
7
- position: center;
8
- repeat: no-repeat;
9
- }
4
+ $list-tree-toggle-icon-size: 1rem;
5
+ $list-tree-item-indent-size: calc($sph--x-large + map-get($icon-sizes, small) / 2);
10
6
 
7
+ %list-tree-icon {
11
8
  content: ' ';
12
9
  display: block;
13
- height: $icon-size;
14
- left: -0.75rem;
10
+ height: $list-tree-toggle-icon-size;
11
+ left: 0;
15
12
  pointer-events: none;
16
13
  position: absolute;
17
- top: 0.4rem;
18
- width: $icon-size;
14
+ top: 0.3rem;
15
+ width: $list-tree-toggle-icon-size;
16
+ }
17
+
18
+ %list-tree-expand-icon {
19
+ @extend %list-tree-icon;
20
+ @include vf-icon-chevron-right-themed;
21
+ }
22
+
23
+ %list-tree-collapse-icon {
24
+ @extend %list-tree-icon;
25
+ @include vf-icon-chevron-down-themed;
26
+ }
27
+
28
+ .p-list-tree__link,
29
+ .p-list-tree__toggle {
30
+ color: $colors--theme--text-default;
31
+ cursor: pointer;
32
+
33
+ &:hover {
34
+ color: $colors--theme--link-default;
35
+ text-decoration: underline;
36
+ }
37
+
38
+ &.is-active {
39
+ color: $colors--theme--link-default;
40
+ }
19
41
  }
20
42
 
21
43
  .p-list-tree {
22
- border-left: 1px solid $color-mid-light;
23
44
  list-style-type: none;
24
- margin-left: $sp-medium;
25
- padding: 0 0 0 $sp-x-small;
45
+ margin-left: $sp-x-small;
46
+ padding-left: $sph--small;
26
47
 
27
48
  .p-list-tree {
28
49
  display: none;
29
- margin-left: 0;
50
+ margin: 0;
51
+ padding: 0;
30
52
 
31
53
  &[aria-hidden='false'] {
32
54
  display: block;
33
55
  }
34
56
 
35
- &[aria-hidden='false']::after {
36
- @extend %list-tree-icon;
37
-
38
- background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' height='15' width='15' viewBox='0 0 15 15'%3E%3Cdefs%3E%3Cpath id='a' d='M0 0h15v15H0z'/%3E%3C/defs%3E%3Cg fill-rule='evenodd' fill='none'%3E%3Cuse xlink:href='%23a' fill='%23FFF'/%3E%3Cpath stroke='%23888' d='M.5.5h14v14H.5z'/%3E%3Cpath fill='%23888' d='M4 8V7h7v1z'/%3E%3C/g%3E%3C/svg%3E");
39
- // At this point we need to push this icon above the --group icon.
40
- z-index: 1;
57
+ &[aria-hidden='false']::before {
58
+ @extend %list-tree-collapse-icon;
41
59
  }
42
60
  }
43
61
  }
44
62
 
45
63
  .p-list-tree__item {
46
- @include vf-focus;
64
+ @include vf-focus-themed;
47
65
 
48
66
  margin-top: $sp-xx-small;
49
- padding-left: 0.8rem;
67
+ padding-left: $list-tree-item-indent-size;
50
68
  position: relative;
69
+ }
51
70
 
71
+ .p-list-tree__toggle[aria-expanded='false'] {
52
72
  &::before {
53
- background: $color-mid-light;
54
- content: ' ';
55
- display: block;
56
- height: 1px;
57
- left: -$sp-x-small;
58
- pointer-events: none;
59
- position: absolute;
60
- top: 0.8rem;
61
- width: 0.625rem;
73
+ @extend %list-tree-expand-icon;
62
74
  }
63
75
  }
64
76
 
65
- .p-list-tree__item--group::after {
66
- @extend %list-tree-icon;
67
-
68
- background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' height='15' width='15' viewBox='0 0 15 15'%3E%3Cdefs%3E%3Cpath id='a' d='M0 0h15v15H0z'/%3E%3C/defs%3E%3Cg fill-rule='evenodd' fill='none'%3E%3Cuse xlink:href='%23a' fill='%23FFF'/%3E%3Cpath stroke='%23888' d='M.5.5h14v14H.5z'/%3E%3Cpath fill='%23888' d='M7 4h1v7H7z'/%3E%3Cpath fill='%23888' d='M4 8V7h7v1z'/%3E%3C/g%3E%3C/svg%3E");
69
- }
70
-
71
77
  .p-list-tree__toggle {
72
- @include vf-focus;
78
+ @include vf-focus-themed;
73
79
 
74
80
  background: transparent;
75
81
  border: 0;
76
82
  font-weight: normal;
77
- margin: 0 0.5rem 0 -1.75rem;
78
- padding: 0 0.5rem 0 1.75rem;
83
+ margin: 0 0 0 (-$list-tree-item-indent-size);
84
+ padding: 0 $sph--small 0 $list-tree-item-indent-size;
79
85
  transition-duration: 0s;
80
86
 
87
+ // Hide the default button styling for toggles
88
+ &[aria-expanded='true'],
81
89
  &:hover {
82
- background: transparent;
83
- color: $color-link;
84
- text-decoration: underline;
90
+ background: $colors--theme--background-default;
85
91
  }
86
92
  }
87
93
  }
@@ -3,24 +3,24 @@ $list-status-icon-height: $default-icon-size;
3
3
  $list-step-bullet-margin: $sph--x-large;
4
4
 
5
5
  @mixin vf-p-list-placeholders {
6
- // container for stepped lists (`ol`)
7
- // defines the layout and resets the native browser counter
6
+ // Container for .p-stepped-list and .p-stepped-list--detailed ordered lists;
7
+ // Defines the layout and resets a custom counter
8
8
  %numbered-step-container {
9
- counter-reset: list-item;
9
+ counter-reset: p-stepped-list-counter;
10
10
  display: flex;
11
11
  flex-direction: column;
12
12
  list-style: none;
13
13
  padding-left: 0;
14
14
  }
15
15
 
16
- // list item for stepped lists (`li`)
17
- // increments the default browser counter
16
+ // List item for .p-stepped-list and .p-stepped-list--detailed ordered lists;
17
+ // Increments the custom counter
18
18
  %numbered-step-item {
19
- counter-increment: list-item;
19
+ counter-increment: p-stepped-list-counter;
20
20
  }
21
21
 
22
- // title for stepped lists
23
- // displays the title and step counter
22
+ // Title for .p-stepped-list and .p-stepped-list--detailed ordered lists;
23
+ // Displays the title and step counter
24
24
  %numbered-step-title {
25
25
  list-style: none;
26
26
  margin-left: 0;
@@ -28,7 +28,7 @@ $list-step-bullet-margin: $sph--x-large;
28
28
  position: relative;
29
29
 
30
30
  &::before {
31
- content: counter(list-item) '.';
31
+ content: counter(p-stepped-list-counter) '.';
32
32
  display: block;
33
33
  height: map-get($line-heights, default-text);
34
34
  left: 0;
@@ -39,16 +39,30 @@ $list-step-bullet-margin: $sph--x-large;
39
39
  }
40
40
  }
41
41
 
42
- // used with .p-list--nested-counter
42
+ // Styles for .p-list--nested-counter
43
43
  %nested-counter {
44
44
  // Counter is named and it will be reset for each "ol" element.
45
- counter-reset: list-item;
45
+ counter-reset: p-list-nested-counter-top;
46
+
47
+ li {
48
+ counter-increment: p-list-nested-counter-top;
49
+ }
50
+
46
51
  li::marker {
47
- // "counters" function returns a string representing the current value of the named counter ("list-item").
48
- // It is used to insert a string between different levels of nested counters.
49
- // Source: https://www.w3schools.com/css/css_counters.asp
50
- content: counters(list-item, '.') '. ';
51
- counter-increment: list-item;
52
+ content: counter(p-list-nested-counter-top) '. ';
53
+ }
54
+
55
+ // Counter is named and it will be reset for each nested "ol" element.
56
+ li ol {
57
+ counter-reset: p-list-nested-counter-nested;
58
+ }
59
+
60
+ li ol li {
61
+ counter-increment: p-list-nested-counter-nested;
62
+ }
63
+
64
+ li ol li::marker {
65
+ content: counter(p-list-nested-counter-top) '.' counter(p-list-nested-counter-nested) '. ';
52
66
  }
53
67
  }
54
68
 
@@ -80,7 +94,10 @@ $list-step-bullet-margin: $sph--x-large;
80
94
  top: $spv--small;
81
95
  }
82
96
 
97
+ // Styles for .p-list--divided ordered lists
83
98
  %vf-list-item-ordered {
99
+ counter-increment: p-list-divided-counter;
100
+
84
101
  &::marker {
85
102
  content: none;
86
103
  display: none;
@@ -88,9 +105,32 @@ $list-step-bullet-margin: $sph--x-large;
88
105
 
89
106
  &::before {
90
107
  color: $colors--theme--text-default;
91
- content: counters(list-item, '.') '. ';
108
+ // If .p-list--divided ordered list is not within stepped list, display
109
+ // counter as unique whole number
110
+ content: counter(p-list-divided-counter) '.';
92
111
  display: inline-block;
93
112
  text-align: right;
113
+
114
+ // If .p-list--divided ordered list is within a stepped list, display
115
+ // counter as decimal nested under parent number
116
+ .p-stepped-list &,
117
+ .p-stepped-list--detailed & {
118
+ content: counter(p-stepped-list-counter) '.' counter(p-list-divided-counter) '.';
119
+ }
120
+ }
121
+
122
+ // If .p-list--divided is within another .p-list--divided, display counter
123
+ // as decimal nested under parent number
124
+ ol.p-list--divided {
125
+ counter-reset: p-list-divided-nested-counter;
126
+
127
+ .p-list__item {
128
+ counter-increment: p-list-divided-nested-counter;
129
+
130
+ &::before {
131
+ content: counter(p-list-divided-counter) '.' counter(p-list-divided-nested-counter) '.';
132
+ }
133
+ }
94
134
  }
95
135
  }
96
136
 
@@ -187,6 +227,7 @@ $list-step-bullet-margin: $sph--x-large;
187
227
 
188
228
  // stylelint-disable selector-max-type -- we want to target ordered lists
189
229
  ol.p-list--divided {
230
+ counter-reset: p-list-divided-counter;
190
231
  list-style: none;
191
232
 
192
233
  .p-list__item {
@@ -31,7 +31,7 @@
31
31
  width: 33.333%;
32
32
  }
33
33
 
34
- @media (min-width: $threshold-4-6-col) and (max-width: $threshold-6-12-col - 1) {
34
+ @media ($threshold-4-6-col <= width < $threshold-6-12-col) {
35
35
  flex-direction: column;
36
36
 
37
37
  &:nth-child(2),
@@ -142,7 +142,7 @@
142
142
  .p-matrix__desc {
143
143
  margin-bottom: $spv-nudge-compensation;
144
144
 
145
- @media (max-width: $breakpoint-heading-threshold - 1) {
145
+ @media (width < $breakpoint-heading-threshold) {
146
146
  margin-top: -#{$sp-unit};
147
147
  }
148
148
 
@@ -85,7 +85,7 @@ $navigation-height: calc(map-get($line-heights, default-text) + 2 * $spv--large)
85
85
  @extend %navigation-link-text;
86
86
  @extend %vf-navigation-separator;
87
87
  @include vf-transition($properties, snap);
88
- @include vf-focus;
88
+ @include vf-focus-themed;
89
89
 
90
90
  // override button styles
91
91
  background-color: transparent;
@@ -327,7 +327,7 @@ $navigation-height: calc(map-get($line-heights, default-text) + 2 * $spv--large)
327
327
  margin: 0 $sph--large 0 0;
328
328
 
329
329
  .p-navigation__item {
330
- @include vf-focus;
330
+ @include vf-focus-themed;
331
331
 
332
332
  display: flex;
333
333
  }
@@ -478,7 +478,7 @@ $navigation-height: calc(map-get($line-heights, default-text) + 2 * $spv--large)
478
478
  @extend %navigation-link-responsive-padding-horizontal;
479
479
  @extend %navigation-link-responsive-padding-vertical;
480
480
  @extend %navigation-link-text;
481
- @include vf-focus;
481
+ @include vf-focus-themed;
482
482
 
483
483
  margin: 0 0 auto 0;
484
484
  }
@@ -688,7 +688,7 @@ $navigation-height: calc(map-get($line-heights, default-text) + 2 * $spv--large)
688
688
  top: $spv--large * 2 + map-get($line-heights, default-text);
689
689
  }
690
690
 
691
- @media (max-width: ($breakpoint-navigation-threshold - 1)) {
691
+ @media (width < $breakpoint-navigation-threshold) {
692
692
  box-shadow: none;
693
693
  }
694
694
  }
@@ -109,7 +109,7 @@
109
109
  .p-pull-quote--large {
110
110
  .p-pull-quote__quote {
111
111
  &:first-of-type::before {
112
- @media (max-width: $breakpoint-heading-threshold - 1) {
112
+ @media (width < $breakpoint-heading-threshold) {
113
113
  top: 0.75rem;
114
114
  }
115
115
  }
@@ -4,7 +4,11 @@
4
4
  .p-rule,
5
5
  .p-rule--muted,
6
6
  .p-rule--highlight {
7
- @extend %u-no-margin--bottom--hr;
7
+ @extend %hr;
8
+
9
+ &.is-fixed-width {
10
+ @extend %fixed-width-hr;
11
+ }
8
12
  }
9
13
 
10
14
  .p-rule--muted {
@@ -15,7 +19,7 @@
15
19
  @include vf-highlight-bar($colors--theme--text-default);
16
20
 
17
21
  &.is-accent {
18
- @include vf-highlight-bar($color-accent);
22
+ @include vf-highlight-bar($colors--theme--accent);
19
23
  }
20
24
  }
21
25
  }
@@ -22,12 +22,12 @@
22
22
  $input-height: calc(map-get($line-heights, default-text) + $input-vertical-padding + $spv-nudge - $input-border-thickness);
23
23
 
24
24
  .p-search-and-filter {
25
- border-bottom: $input-border-thickness solid $colors--light-theme--border-high-contrast;
25
+ border-bottom: $input-border-thickness solid $colors--theme--border-high-contrast;
26
26
  position: relative;
27
27
 
28
28
  .p-search-and-filter__search-container {
29
29
  align-items: center;
30
- background-color: $colors--light-theme--background-inputs;
30
+ background-color: $colors--theme--background-inputs;
31
31
  display: flex;
32
32
  flex-wrap: wrap;
33
33
  height: auto;
@@ -52,11 +52,11 @@
52
52
  }
53
53
 
54
54
  .p-search-and-filter__selected-count {
55
- color: $color-information;
55
+ color: $colors--theme--link-default;
56
56
  cursor: pointer;
57
57
  position: absolute;
58
58
  right: 0.5rem;
59
- top: $focus-outline-offset;
59
+ top: 0.3rem;
60
60
  }
61
61
 
62
62
  &[aria-expanded='true'] {
@@ -72,7 +72,7 @@
72
72
  .p-search-and-filter__panel {
73
73
  @include vf-transition(opacity, fast);
74
74
 
75
- background-color: $color-x-light;
75
+ background-color: $colors--theme--background-inputs;
76
76
  box-shadow: $box-shadow;
77
77
  opacity: 1;
78
78
  padding: $input-vertical-padding $sph--large 0;
@@ -87,7 +87,7 @@
87
87
  }
88
88
 
89
89
  .p-search-and-filter__search-prompt {
90
- background: $color-light;
90
+ background: $colors--theme--background-inputs;
91
91
  cursor: pointer;
92
92
  margin-left: -1rem;
93
93
  margin-right: -1rem;
@@ -99,7 +99,7 @@
99
99
 
100
100
  .p-search-and-filter__clear {
101
101
  @extend %vf-button-has-icon;
102
- background-color: $colors--light-theme--background-inputs;
102
+ background-color: $colors--theme--background-inputs;
103
103
 
104
104
  border: none;
105
105
  bottom: $focus-outline-offset;
@@ -145,7 +145,7 @@
145
145
 
146
146
  @mixin vf-filter-panel-section {
147
147
  .p-filter-panel-section {
148
- border-bottom: 1px solid $color-mid-x-light;
148
+ border-bottom: 1px solid $colors--theme--border-low-contrast;
149
149
  margin: 0;
150
150
  padding-bottom: $spv--large;
151
151
 
@@ -168,9 +168,8 @@
168
168
  }
169
169
 
170
170
  .p-filter-panel-section__heading {
171
- color: $color-mid-dark;
172
- font-size: 1rem;
173
- margin-bottom: 0;
171
+ @extend %vf-heading-5;
172
+ color: $colors--theme--text-muted;
174
173
  }
175
174
 
176
175
  .p-filter-panel-section__chips {
@@ -185,7 +184,7 @@
185
184
 
186
185
  .p-filter-panel-section__counter {
187
186
  bottom: 0;
188
- color: $color-information;
187
+ color: $colors--theme--link-default;
189
188
  cursor: pointer;
190
189
  position: absolute;
191
190
  right: 0.25rem;
@@ -1,3 +1,4 @@
1
+ // DEPRECATED: use rule component for the separator and strips or sections for spacing
1
2
  @mixin vf-p-separator {
2
3
  .p-separator {
3
4
  // spacing based on %section-padding--default, but using margins on <hr>
@@ -354,7 +354,7 @@
354
354
  }
355
355
 
356
356
  %side-navigation__link {
357
- @include vf-focus;
357
+ @include vf-focus-themed;
358
358
 
359
359
  &,
360
360
  &:visited {
@@ -1,5 +1,10 @@
1
1
  @import 'settings';
2
2
 
3
+ /**
4
+ TODO this component uses hard-coded colors that don't respond to theming, which is not ideal.
5
+ However, it looks fine on all themes, and re-working it to support theming is a larger undertaking.
6
+ So, it is being left as-is until it can be revisited as part of the tokens effort in the future.
7
+ */
3
8
  // Default status label styling
4
9
  @mixin vf-p-status-label {
5
10
  %vf-status-label {
@@ -10,7 +10,7 @@
10
10
  text-align: left;
11
11
  }
12
12
 
13
- @media (max-width: $threshold-6-12-col - 1) {
13
+ @media (width < $threshold-6-12-col) {
14
14
  @supports (display: grid) {
15
15
  thead {
16
16
  display: none;
@@ -34,9 +34,9 @@ $tooltip-overlay-top-border-radius: 0% 0% 100% 100%;
34
34
  .p-tooltip__message {
35
35
  @extend %small-text;
36
36
 
37
- background-color: $color-dark;
37
+ background-color: $colors--theme--background-alt;
38
38
  border: 0;
39
- color: $color-x-light;
39
+ color: $colors--theme--text-default;
40
40
  display: none;
41
41
  left: -2 * $triangle-height;
42
42
  margin-bottom: 0;
@@ -50,6 +50,24 @@ $tooltip-overlay-top-border-radius: 0% 0% 100% 100%;
50
50
  white-space: pre;
51
51
  z-index: 11; // one step above p-navigation's z-index
52
52
 
53
+ @include vf-theme-dark; // Default to dark theme
54
+
55
+ // stylelint-disable selector-max-type -- Tooltip theming is based on theming of the document body.
56
+ // Apply light theme if the page or the tooltip component is dark
57
+ body.is-dark &,
58
+ .p-tooltip.is-dark & {
59
+ @include vf-theme-light;
60
+ }
61
+
62
+ // Override to dark theme if the page or the tooltip component is light or paper
63
+ body.is-light &,
64
+ body.is-paper &,
65
+ .p-tooltip.is-light &,
66
+ .p-tooltip.is-paper & {
67
+ @include vf-theme-dark;
68
+ }
69
+ // stylelint-enable selector-max-type
70
+
53
71
  .is-detached & {
54
72
  display: block;
55
73
  }
@@ -57,7 +75,7 @@ $tooltip-overlay-top-border-radius: 0% 0% 100% 100%;
57
75
  // tooltip
58
76
  &::before {
59
77
  border: {
60
- bottom: $triangle-height solid $color-dark;
78
+ bottom: $triangle-height solid $colors--theme--background-alt;
61
79
  left: $triangle-height solid transparent;
62
80
  right: $triangle-height solid transparent;
63
81
  }
@@ -152,7 +170,7 @@ $tooltip-overlay-top-border-radius: 0% 0% 100% 100%;
152
170
  bottom: $triangle-height solid transparent;
153
171
  left: $triangle-height solid transparent;
154
172
  right: $triangle-height solid transparent;
155
- top: $triangle-height solid $color-dark;
173
+ top: $triangle-height solid $colors--theme--background-alt;
156
174
  }
157
175
 
158
176
  bottom: -2 * $triangle-height;
@@ -186,7 +204,7 @@ $tooltip-overlay-top-border-radius: 0% 0% 100% 100%;
186
204
  bottom: $triangle-height solid transparent;
187
205
  left: $triangle-height solid transparent;
188
206
  right: $triangle-height solid transparent;
189
- top: $triangle-height solid $color-dark;
207
+ top: $triangle-height solid $colors--theme--background-alt;
190
208
  }
191
209
 
192
210
  bottom: -2 * $triangle-height;
@@ -223,7 +241,7 @@ $tooltip-overlay-top-border-radius: 0% 0% 100% 100%;
223
241
  bottom: $triangle-height solid transparent;
224
242
  left: $triangle-height solid transparent;
225
243
  right: $triangle-height solid transparent;
226
- top: $triangle-height solid $color-dark;
244
+ top: $triangle-height solid $colors--theme--background-alt;
227
245
  }
228
246
 
229
247
  bottom: -2 * $triangle-height;
@@ -257,7 +275,7 @@ $tooltip-overlay-top-border-radius: 0% 0% 100% 100%;
257
275
  border: {
258
276
  bottom: $triangle-height solid transparent;
259
277
  left: $triangle-height solid transparent;
260
- right: $triangle-height solid $color-dark;
278
+ right: $triangle-height solid $colors--theme--background-alt;
261
279
  top: $triangle-height solid transparent;
262
280
  }
263
281
 
@@ -296,7 +314,7 @@ $tooltip-overlay-top-border-radius: 0% 0% 100% 100%;
296
314
  &::before {
297
315
  border: {
298
316
  bottom: $triangle-height solid transparent;
299
- left: $triangle-height solid $color-dark;
317
+ left: $triangle-height solid $colors--theme--background-alt;
300
318
  right: $triangle-height solid transparent;
301
319
  top: $triangle-height solid transparent;
302
320
  }
@@ -5,3 +5,19 @@ $breakpoint-large: 1036px !default;
5
5
  $breakpoint-navigation-threshold: $breakpoint-large !default;
6
6
  $breakpoint-heading-threshold: $breakpoint-large !default;
7
7
  $breakpoint-x-large: 1681px !default; // exclude most laptops
8
+
9
+ // Mapping of breakpoint names to the min and max widths at which they apply.
10
+ $breakpoint-bounds: (
11
+ small: (
12
+ min: null,
13
+ max: $breakpoint-small,
14
+ ),
15
+ medium: (
16
+ min: $breakpoint-small,
17
+ max: $breakpoint-large,
18
+ ),
19
+ large: (
20
+ min: $breakpoint-large,
21
+ max: null,
22
+ ),
23
+ );