vanilla-framework 4.16.0 → 4.17.1

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.
@@ -1,4 +1,5 @@
1
1
  @use 'sass:math';
2
+ @use 'sass:color';
2
3
 
3
4
  // Functions used across multiple patterns or utils
4
5
 
@@ -33,7 +34,7 @@
33
34
 
34
35
  // Test value of bg $color and return light or dark text color accordingly
35
36
  @function vf-contrast-text-color($color) {
36
- @if (lightness($color) > 55) {
37
+ @if (color.channel($color, 'lightness', $space: hsl) > 55) {
37
38
  @return $colors--light-theme--text-default; // Lighter background, return dark color
38
39
  } @else {
39
40
  @return $colors--dark-theme--text-default; // Darker background, return light color
@@ -43,7 +44,7 @@
43
44
  // Returns the font color to be presented on the passed background-color
44
45
  // variable.
45
46
  @function vf-determine-text-color($background-color) {
46
- @if (lightness($background-color) > 50) {
47
+ @if (color.channel($background-color, 'lightness', $space: hsl) > 50) {
47
48
  @return $colors--light-theme--text-default;
48
49
  } @else {
49
50
  @return $colors--dark-theme--text-default;
@@ -53,7 +54,7 @@
53
54
  // Includes the theme variables based on the background color passed as an argument.
54
55
  // This is currently only used in the deprecated p-strip--accent.
55
56
  @mixin vf-determine-theme-from-background($background-color) {
56
- @if (lightness($background-color) > 50) {
57
+ @if (color.channel($background-color, 'lightness', $space: hsl) > 50) {
57
58
  @include vf-theme-light;
58
59
  } @else {
59
60
  @include vf-theme-dark;
@@ -71,6 +71,26 @@
71
71
  @include vf-chips-information;
72
72
  }
73
73
 
74
+ @mixin vf-chip-interactive(
75
+ $color-background-hover: $colors--theme--background-neutral-hover,
76
+ $color-border-hover: $colors--theme--border-neutral,
77
+ $color-background-active: $colors--theme--background-neutral-active,
78
+ $color-border-active: $colors--theme--border-neutral
79
+ ) {
80
+ &:hover {
81
+ background-color: $color-background-hover;
82
+ border-color: $color-border-hover;
83
+ text-decoration: none;
84
+ }
85
+
86
+ &[aria-pressed='true'],
87
+ &.is-selected,
88
+ &:active {
89
+ background-color: $color-background-active;
90
+ border-color: $color-border-active;
91
+ }
92
+ }
93
+
74
94
  // Default notification styling
75
95
  @mixin vf-chips-default {
76
96
  .p-chip {
@@ -81,19 +101,16 @@
81
101
  border-color: $colors--theme--border-neutral;
82
102
  }
83
103
 
104
+ // Status-color chips all use the button pattern mixin to set their colors, so they already have most button styling.
105
+ // We need to add the default button styling to the link default chip as well.
84
106
  // stylelint-disable selector-max-type -- allow button selector for interactive chips
85
- button.p-chip {
86
- &:hover {
87
- background-color: $colors--theme--background-neutral-hover;
88
- border-color: $colors--theme--border-neutral;
89
- }
107
+ a.p-chip {
108
+ @include vf-button-pattern;
109
+ @include vf-chip-interactive;
110
+ }
90
111
 
91
- &[aria-pressed='true'],
92
- &.is-selected,
93
- &:active {
94
- background-color: $colors--theme--background-neutral-active;
95
- border-color: $colors--theme--border-neutral;
96
- }
112
+ button.p-chip {
113
+ @include vf-chip-interactive;
97
114
  }
98
115
  // stylelint-enable selector-max-type
99
116
 
@@ -119,18 +136,14 @@
119
136
  }
120
137
 
121
138
  // stylelint-disable selector-max-type -- allow button selector for interactive chips
122
- button.p-chip--positive {
123
- &:hover {
124
- background-color: $colors--theme--background-positive-hover;
125
- border-color: $colors--theme--border-positive;
126
- }
127
-
128
- &[aria-pressed='true'],
129
- &.is-selected,
130
- &:active {
131
- background-color: $colors--theme--background-positive-active;
132
- border-color: $colors--theme--border-positive;
133
- }
139
+ button.p-chip--positive,
140
+ a.p-chip--positive {
141
+ @include vf-chip-interactive(
142
+ $color-background-hover: $colors--theme--background-positive-hover,
143
+ $color-border-hover: $colors--theme--border-positive,
144
+ $color-background-active: $colors--theme--background-positive-active,
145
+ $color-border-active: $colors--theme--border-positive
146
+ );
134
147
  }
135
148
  // stylelint-enable selector-max-type
136
149
 
@@ -156,18 +169,14 @@
156
169
  }
157
170
 
158
171
  // stylelint-disable selector-max-type -- allow button selector for interactive chips
159
- button.p-chip--caution {
160
- &:hover {
161
- background-color: $colors--theme--background-caution-hover;
162
- border-color: $colors--theme--border-caution;
163
- }
164
-
165
- &[aria-pressed='true'],
166
- &.is-selected,
167
- &:active {
168
- background-color: $colors--theme--background-caution-active;
169
- border-color: $colors--theme--border-caution;
170
- }
172
+ button.p-chip--caution,
173
+ a.p-chip--caution {
174
+ @include vf-chip-interactive(
175
+ $color-background-hover: $colors--theme--background-caution-hover,
176
+ $color-border-hover: $colors--theme--border-caution,
177
+ $color-background-active: $colors--theme--background-caution-active,
178
+ $color-border-active: $colors--theme--border-caution
179
+ );
171
180
  }
172
181
  // stylelint-enable selector-max-type
173
182
 
@@ -193,18 +202,14 @@
193
202
  }
194
203
 
195
204
  // stylelint-disable selector-max-type -- allow button selector for interactive chips
196
- button.p-chip--negative {
197
- &:hover {
198
- background-color: $colors--theme--background-negative-hover;
199
- border-color: $colors--theme--border-negative;
200
- }
201
-
202
- &[aria-pressed='true'],
203
- &.is-selected,
204
- &:active {
205
- background-color: $colors--theme--background-negative-active;
206
- border-color: $colors--theme--border-negative;
207
- }
205
+ button.p-chip--negative,
206
+ a.p-chip--negative {
207
+ @include vf-chip-interactive(
208
+ $color-background-hover: $colors--theme--background-negative-hover,
209
+ $color-border-hover: $colors--theme--border-negative,
210
+ $color-background-active: $colors--theme--background-negative-active,
211
+ $color-border-active: $colors--theme--border-negative
212
+ );
208
213
  }
209
214
  // stylelint-enable selector-max-type
210
215
 
@@ -230,18 +235,14 @@
230
235
  }
231
236
 
232
237
  // stylelint-disable selector-max-type -- allow button selector for interactive chips
233
- button.p-chip--information {
234
- &:hover {
235
- background-color: $colors--theme--background-information-hover;
236
- border-color: $colors--theme--border-information;
237
- }
238
-
239
- &[aria-pressed='true'],
240
- &.is-selected,
241
- &:active {
242
- background-color: $colors--theme--background-information-active;
243
- border-color: $colors--theme--border-information;
244
- }
238
+ button.p-chip--information,
239
+ a.p-chip--information {
240
+ @include vf-chip-interactive(
241
+ $color-background-hover: $colors--theme--background-information-hover,
242
+ $color-border-hover: $colors--theme--border-information,
243
+ $color-background-active: $colors--theme--background-information-active,
244
+ $color-border-active: $colors--theme--border-information
245
+ );
245
246
  }
246
247
  // stylelint-enable selector-max-type
247
248
 
@@ -1699,3 +1699,343 @@
1699
1699
  }
1700
1700
 
1701
1701
  // stylelint-enable selector-max-type
1702
+
1703
+ // ICONS ADDED IN OCTOBER 2024
1704
+
1705
+ @mixin vf-p-icon-archive {
1706
+ .p-icon--archive {
1707
+ @extend %icon;
1708
+ @include vf-icon-archive-themed;
1709
+ }
1710
+ }
1711
+
1712
+ @mixin vf-p-icon-arrow-bottom-left {
1713
+ .p-icon--arrow-bottom-left {
1714
+ @extend %icon;
1715
+ @include vf-icon-arrow-bottom-left-themed;
1716
+ }
1717
+ }
1718
+
1719
+ @mixin vf-p-icon-arrow-bottom-right {
1720
+ .p-icon--arrow-bottom-right {
1721
+ @extend %icon;
1722
+ @include vf-icon-arrow-bottom-right-themed;
1723
+ }
1724
+ }
1725
+
1726
+ @mixin vf-p-icon-arrow-down {
1727
+ .p-icon--arrow-down {
1728
+ @extend %icon;
1729
+ @include vf-icon-arrow-down-themed;
1730
+ }
1731
+ }
1732
+
1733
+ @mixin vf-p-icon-arrow-left {
1734
+ .p-icon--arrow-left {
1735
+ @extend %icon;
1736
+ @include vf-icon-arrow-left-themed;
1737
+ }
1738
+ }
1739
+
1740
+ @mixin vf-p-icon-arrow-right {
1741
+ .p-icon--arrow-right {
1742
+ @extend %icon;
1743
+ @include vf-icon-arrow-right-themed;
1744
+ }
1745
+ }
1746
+
1747
+ @mixin vf-p-icon-arrow-top-left {
1748
+ .p-icon--arrow-top-left {
1749
+ @extend %icon;
1750
+ @include vf-icon-arrow-top-left-themed;
1751
+ }
1752
+ }
1753
+
1754
+ @mixin vf-p-icon-arrow-top-right {
1755
+ .p-icon--arrow-top-right {
1756
+ @extend %icon;
1757
+ @include vf-icon-arrow-top-right-themed;
1758
+ }
1759
+ }
1760
+
1761
+ @mixin vf-p-icon-arrow-up {
1762
+ .p-icon--arrow-up {
1763
+ @extend %icon;
1764
+ @include vf-icon-arrow-up-themed;
1765
+ }
1766
+ }
1767
+
1768
+ @mixin vf-p-icon-blueprint {
1769
+ .p-icon--blueprint {
1770
+ @extend %icon;
1771
+ @include vf-icon-blueprint-themed;
1772
+ }
1773
+ }
1774
+
1775
+ @mixin vf-p-icon-book {
1776
+ .p-icon--book {
1777
+ @extend %icon;
1778
+ @include vf-icon-book-themed;
1779
+ }
1780
+ }
1781
+
1782
+ @mixin vf-p-icon-certificate {
1783
+ .p-icon--certificate {
1784
+ @extend %icon;
1785
+ @include vf-icon-certificate-themed;
1786
+ }
1787
+ }
1788
+
1789
+ @mixin vf-p-icon-certification {
1790
+ .p-icon--certification {
1791
+ @extend %icon;
1792
+ @include vf-icon-certification-themed;
1793
+ }
1794
+ }
1795
+
1796
+ @mixin vf-p-icon-cluster-host {
1797
+ .p-icon--cluster-host {
1798
+ @extend %icon;
1799
+ @include vf-icon-cluster-host-themed;
1800
+ }
1801
+ }
1802
+
1803
+ @mixin vf-p-icon-contact {
1804
+ .p-icon--contact {
1805
+ @extend %icon;
1806
+ @include vf-icon-contact-themed;
1807
+ }
1808
+ }
1809
+
1810
+ @mixin vf-p-icon-contextual-menu {
1811
+ .p-icon--contextual-menu {
1812
+ @extend %icon;
1813
+ @include vf-icon-contextual-menu-themed;
1814
+ }
1815
+ }
1816
+
1817
+ @mixin vf-p-icon-cursor {
1818
+ .p-icon--cursor {
1819
+ @extend %icon;
1820
+ @include vf-icon-cursor-themed;
1821
+ }
1822
+ }
1823
+
1824
+ @mixin vf-p-icon-file-blank {
1825
+ .p-icon--file-blank {
1826
+ @extend %icon;
1827
+ @include vf-icon-file-blank-themed;
1828
+ }
1829
+ }
1830
+
1831
+ @mixin vf-p-icon-file {
1832
+ .p-icon--file {
1833
+ @extend %icon;
1834
+ @include vf-icon-file-themed;
1835
+ }
1836
+ }
1837
+
1838
+ @mixin vf-p-icon-folder {
1839
+ .p-icon--folder {
1840
+ @extend %icon;
1841
+ @include vf-icon-folder-themed;
1842
+ }
1843
+ }
1844
+
1845
+ @mixin vf-p-icon-gift {
1846
+ .p-icon--gift {
1847
+ @extend %icon;
1848
+ @include vf-icon-gift-themed;
1849
+ }
1850
+ }
1851
+
1852
+ @mixin vf-p-icon-image {
1853
+ .p-icon--image {
1854
+ @extend %icon;
1855
+ @include vf-icon-image-themed;
1856
+ }
1857
+ }
1858
+
1859
+ @mixin vf-p-icon-iso {
1860
+ .p-icon--iso {
1861
+ @extend %icon;
1862
+ @include vf-icon-iso-themed;
1863
+ }
1864
+ }
1865
+
1866
+ @mixin vf-p-icon-location {
1867
+ .p-icon--location {
1868
+ @extend %icon;
1869
+ @include vf-icon-location-themed;
1870
+ }
1871
+ }
1872
+
1873
+ @mixin vf-p-icon-log-out {
1874
+ .p-icon--log-out {
1875
+ @extend %icon;
1876
+ @include vf-icon-log-out-themed;
1877
+ }
1878
+ }
1879
+
1880
+ @mixin vf-p-icon-map {
1881
+ .p-icon--map {
1882
+ @extend %icon;
1883
+ @include vf-icon-map-themed;
1884
+ }
1885
+ }
1886
+
1887
+ @mixin vf-p-icon-notifications {
1888
+ .p-icon--notifications {
1889
+ @extend %icon;
1890
+ @include vf-icon-notifications-themed;
1891
+ }
1892
+ }
1893
+
1894
+ @mixin vf-p-icon-private-key {
1895
+ .p-icon--private-key {
1896
+ @extend %icon;
1897
+ @include vf-icon-private-key-themed;
1898
+ }
1899
+ }
1900
+
1901
+ @mixin vf-p-icon-profiles {
1902
+ .p-icon--profiles {
1903
+ @extend %icon;
1904
+ @include vf-icon-profiles-themed;
1905
+ }
1906
+ }
1907
+
1908
+ @mixin vf-p-icon-repository {
1909
+ .p-icon--repository {
1910
+ @extend %icon;
1911
+ @include vf-icon-repository-themed;
1912
+ }
1913
+ }
1914
+
1915
+ @mixin vf-p-icon-security-error {
1916
+ .p-icon--security-error {
1917
+ @extend %icon;
1918
+ @include vf-icon-security-error-themed;
1919
+ }
1920
+ }
1921
+
1922
+ @mixin vf-p-icon-security-tick {
1923
+ .p-icon--security-tick {
1924
+ @extend %icon;
1925
+ @include vf-icon-security-tick-themed;
1926
+ }
1927
+ }
1928
+
1929
+ @mixin vf-p-icon-security-warning {
1930
+ .p-icon--security-warning {
1931
+ @extend %icon;
1932
+ @include vf-icon-security-warning-themed;
1933
+ }
1934
+ }
1935
+
1936
+ @mixin vf-p-icon-select-add {
1937
+ .p-icon--select-add {
1938
+ @extend %icon;
1939
+ @include vf-icon-select-add-themed;
1940
+ }
1941
+ }
1942
+
1943
+ @mixin vf-p-icon-select-remove {
1944
+ .p-icon--select-remove {
1945
+ @extend %icon;
1946
+ @include vf-icon-select-remove-themed;
1947
+ }
1948
+ }
1949
+
1950
+ @mixin vf-p-icon-select {
1951
+ .p-icon--select {
1952
+ @extend %icon;
1953
+ @include vf-icon-select-themed;
1954
+ }
1955
+ }
1956
+
1957
+ @mixin vf-p-icon-single-host {
1958
+ .p-icon--single-host {
1959
+ @extend %icon;
1960
+ @include vf-icon-single-host-themed;
1961
+ }
1962
+ }
1963
+
1964
+ @mixin vf-p-icon-snapshot {
1965
+ .p-icon--snapshot {
1966
+ @extend %icon;
1967
+ @include vf-icon-snapshot-themed;
1968
+ }
1969
+ }
1970
+
1971
+ @mixin vf-p-icon-snooze {
1972
+ .p-icon--snooze {
1973
+ @extend %icon;
1974
+ @include vf-icon-snooze-themed;
1975
+ }
1976
+ }
1977
+
1978
+ @mixin vf-p-icon-statistics {
1979
+ .p-icon--statistics {
1980
+ @extend %icon;
1981
+ @include vf-icon-statistics-themed;
1982
+ }
1983
+ }
1984
+
1985
+ @mixin vf-p-icon-thumbs-down {
1986
+ .p-icon--thumbs-down {
1987
+ @extend %icon;
1988
+ @include vf-icon-thumbs-down-themed;
1989
+ }
1990
+ }
1991
+
1992
+ @mixin vf-p-icon-thumbs-up {
1993
+ .p-icon--thumbs-up {
1994
+ @extend %icon;
1995
+ @include vf-icon-thumbs-up-themed;
1996
+ }
1997
+ }
1998
+
1999
+ @mixin vf-p-icon-tidy {
2000
+ .p-icon--tidy {
2001
+ @extend %icon;
2002
+ @include vf-icon-tidy-themed;
2003
+ }
2004
+ }
2005
+
2006
+ @mixin vf-p-icon-toggle-side-nav {
2007
+ .p-icon--toggle-side-nav {
2008
+ @extend %icon;
2009
+ @include vf-icon-toggle-side-nav-themed;
2010
+ }
2011
+ }
2012
+
2013
+ @mixin vf-p-icon-turn-off-notification {
2014
+ .p-icon--turn-off-notification {
2015
+ @extend %icon;
2016
+ @include vf-icon-turn-off-notification-themed;
2017
+ }
2018
+ }
2019
+
2020
+ @mixin vf-p-icon-upload {
2021
+ .p-icon--upload {
2022
+ @extend %icon;
2023
+ @include vf-icon-upload-themed;
2024
+ }
2025
+ }
2026
+
2027
+ @mixin vf-p-icon-usb {
2028
+ .p-icon--usb {
2029
+ @extend %icon;
2030
+ @include vf-icon-usb-themed;
2031
+ }
2032
+ }
2033
+
2034
+ @mixin vf-p-icon-website {
2035
+ .p-icon--website {
2036
+ @extend %icon;
2037
+ @include vf-icon-website-themed;
2038
+ }
2039
+ }
2040
+
2041
+ // **Base and Pattern mixins accurate as of October 2024**
@@ -25,6 +25,7 @@
25
25
  Image element within an image container.
26
26
  */
27
27
 
28
+ @use 'sass:color';
28
29
  @import 'settings';
29
30
 
30
31
  // Mapping of aspect ratio class names to their `aspect-ratio` values (width / height).
@@ -117,6 +118,6 @@ $aspect-ratios: (
117
118
 
118
119
  // Deprecated; will be removed in v5
119
120
  .p-image--shadowed {
120
- box-shadow: 0 1px 5px 1px transparentize($color-mid-light, 0.8);
121
+ box-shadow: 0 1px 5px 1px color.scale($color-mid-light, $alpha: -80%);
121
122
  }
122
123
  }
@@ -34,6 +34,7 @@
34
34
  }
35
35
 
36
36
  .p-link--skip {
37
+ background: $colors--theme--background-alt;
37
38
  color: $colors--theme--link-default;
38
39
  display: block;
39
40
  left: -999px;
@@ -43,10 +44,10 @@
43
44
  &:focus {
44
45
  @include vf-focus-themed;
45
46
 
46
- left: 0;
47
- padding: $spv--x-small;
48
- position: relative;
49
- top: 0;
47
+ left: $sph--small;
48
+ padding: $spv--large $sph--large;
49
+ position: fixed;
50
+ top: $spv--small;
50
51
  z-index: 999999;
51
52
  }
52
53
  }
@@ -1,3 +1,4 @@
1
+ @use 'sass:color';
1
2
  @import 'settings';
2
3
 
3
4
  @mixin vf-p-strip {
@@ -118,9 +119,9 @@
118
119
 
119
120
  // DEPRECATED:
120
121
  // gradient of the main suru slant
121
- $color-suru-start: lighten($color-brand, 10%) !default;
122
+ $color-suru-start: color.adjust($color-brand, $lightness: 10%) !default;
122
123
  $color-suru-middle: $color-brand !default;
123
- $color-suru-end: darken($color-brand, 10%) !default;
124
+ $color-suru-end: color.adjust($color-brand, $lightness: -10%) !default;
124
125
 
125
126
  // page background
126
127
  $color-suru-background: $color-x-light !default;
@@ -1,3 +1,4 @@
1
+ @use 'sass:color';
1
2
  @import 'settings';
2
3
  $knob-size: $sp-unit * 2;
3
4
 
@@ -37,7 +38,7 @@ $knob-size: $sp-unit * 2;
37
38
  .p-switch__slider {
38
39
  background: $colors--theme--background-neutral-default;
39
40
  border-radius: $knob-size;
40
- box-shadow: inset 0 2px 5px 0 transparentize($color-x-dark, 0.8);
41
+ box-shadow: inset 0 2px 5px 0 color.scale($color-x-dark, $alpha: -80%);
41
42
  display: inline-block;
42
43
  height: $knob-size;
43
44
  margin: 0;
@@ -1,3 +1,5 @@
1
+ @use 'sass:color';
2
+
1
3
  // Global color settings
2
4
  $color-transparent: transparent !default;
3
5
 
@@ -123,7 +125,7 @@ $colors--light-theme--background-code: $color-code-background !default;
123
125
  $colors--light-theme--background-inputs: adjust-color($color-x-dark, $lightness: 100% * (1 - $input-background-opacity-amount)) !default;
124
126
  $colors--light-theme--background-active: adjust-color($color-x-dark, $lightness: 100% * (1 - $active-background-opacity-amount)) !default;
125
127
  $colors--light-theme--background-hover: adjust-color($color-x-dark, $lightness: 100% * (1 - $hover-background-opacity-amount)) !default;
126
- $colors--light-theme--background-overlay: transparentize($color-dark, 0.15) !default;
128
+ $colors--light-theme--background-overlay: color.scale($color-dark, $alpha: -15%) !default;
127
129
 
128
130
  $colors--light-theme--border-default: rgba($color-x-dark, 0.2) !default;
129
131
  $colors--light-theme--border-high-contrast: rgba($color-x-dark, 0.56) !default;
@@ -183,7 +185,7 @@ $colors--dark-theme--background-code: $color-code-background-dark !default;
183
185
  $colors--dark-theme--background-inputs: #2f2f2f !default;
184
186
  $colors--dark-theme--background-active: #373737 !default;
185
187
  $colors--dark-theme--background-hover: #313131 !default;
186
- $colors--dark-theme--background-overlay: transparentize($color-dark, 0.15) !default;
188
+ $colors--dark-theme--background-overlay: color.scale($color-dark, $alpha: -15%) !default;
187
189
 
188
190
  $colors--dark-theme--border-default: rgba($colors--dark-theme--text-default, 0.2) !default;
189
191
  $colors--dark-theme--border-high-contrast: rgba($colors--dark-theme--text-default, 0.5) !default;
@@ -1,3 +1,4 @@
1
+ @use 'sass:color';
1
2
  @import 'settings_spacing';
2
3
  @import 'settings_colors';
3
4
 
@@ -7,7 +8,7 @@ $bar-thickness: 0.1875rem !default; // 3px at 16px fontsize, expressed in rems s
7
8
  $border-radius: 0; // deprecated, will be removed in future version of Vanilla
8
9
  $border: $input-border-thickness solid $colors--theme--border-default !default;
9
10
  $box-shadow:
10
- 0 1px 1px 0 transparentize($color-x-dark, 0.85),
11
- 0 2px 2px -1px transparentize($color-x-dark, 0.85),
12
- 0 0 3px 0 transparentize($color-x-dark, 0.8) !default;
11
+ 0 1px 1px 0 color.scale($color-x-dark, $alpha: -85%),
12
+ 0 2px 2px -1px color.scale($color-x-dark, $alpha: -85%),
13
+ 0 0 3px 0 color.scale($color-x-dark, $alpha: -80%) !default;
13
14
  $box-shadow--deep: 0 0 2rem 0 rgba($color-x-dark, $shadow-opacity) !default;
@@ -1,3 +1,4 @@
1
+ @use 'sass:color';
1
2
  @import 'settings';
2
3
 
3
4
  @mixin vf-u-baseline-grid {
@@ -9,7 +10,7 @@
9
10
  position: relative;
10
11
 
11
12
  &::after {
12
- background: linear-gradient(to top, transparentize($baseline-color, 0.85), transparentize($baseline-color, 0.85) 1px, transparent 1px, transparent);
13
+ background: linear-gradient(to top, color.scale($baseline-color, $alpha: -85%), color.scale($baseline-color, $alpha: -85%) 1px, transparent 1px, transparent);
13
14
  background-size: 100% $baseline-size;
14
15
  bottom: 0;
15
16
  content: '';
@@ -26,7 +27,7 @@
26
27
  // baseline grid on document should be in the background
27
28
  // stylelint-disable selector-max-type -- needed for examples
28
29
  html.u-baseline-grid {
29
- background-color: transparentize($baseline-color, 0.95);
30
+ background-color: color.scale($baseline-color, $alpha: -95%);
30
31
  position: static;
31
32
 
32
33
  &::after {
@@ -6,6 +6,7 @@
6
6
  @include vf-u-align--left;
7
7
  @include vf-u-align--right;
8
8
  @include vf-u-align--bottom;
9
+ @include vf-u-vertical-align--middle;
9
10
  @include vf-u-align--text;
10
11
  }
11
12
 
@@ -33,12 +34,20 @@
33
34
  }
34
35
  }
35
36
 
37
+ // Bottom align flex elements
36
38
  @mixin vf-u-align--bottom {
37
39
  .u-align--bottom {
38
40
  margin-top: auto !important;
39
41
  }
40
42
  }
41
43
 
44
+ // Vertically align inline elements
45
+ @mixin vf-u-vertical-align--middle {
46
+ .u-vertical-align--middle {
47
+ vertical-align: middle !important;
48
+ }
49
+ }
50
+
42
51
  // Separate utility for aligning text
43
52
  @mixin vf-u-align--text {
44
53
  .u-align-text {