label-variant()
The mixin contains the color
and background
style of the values given respectively by $color
and $bg-color
CSS variable name. Both parameters can be passed as a two-index list where the second item in the list refers to the lightness, and parameter $bg-color
can be passed using the three-index list where the third item is a label background alpha.
For example $color: ('primary', -10%)
when font color primary
should be darker by 10%, and $bg-color: ('primary-dark', 10%)
when label background color is primary-dark
lighter by 10%
.
@mixin label-variant(
$color: 'light-color',
$bg-color: 'primary-color',
$color-lightness: 0%,
$bg-lightness: 0%
) {
$alpha: 1;
@if list.length($color) > 1 {
$color-lightness: list.nth($color, 2);
$color: list.nth($color, 1);
}
@if list.length($bg-color) > 1 {
@if list.length($bg-color) == 3 {
$alpha: list.nth($bg-color, 3);
}
$bg-lightness: list.nth($bg-color, 2);
$bg-color: list.nth($bg-color, 1);
}
background: color($bg-color, $lightness: $bg-lightness, $alpha: $alpha);
color: color($color, $lightness: $color-lightness);
}
Parameters
$color: 'light-color'
$color: 'light-color'
A color name that exists as a CSS variable of a string or two-index list type is passed to the color()
function to set the foreground color value of a label's text. The first item of the two-index list refers to the CSS variable color name, and the second refers to its lightness.
$bg-color: 'primary-color'
$bg-color: 'primary-color'
A color name that exists as a CSS variable of a string or three-index list type is passed to the color()
function to set the background color of the label. The first item of the three-index list refers to the CSS variable color name, the second refers to its lightness, and the third refers to the alpha.
$color-lightness: 0%
$color-lightness: 0%
Optional alternative lightness attribute of the given $color
parameter.
$bg-lightness: 0%
$bg-lightness: 0%
Optional alternative lightness attribute of the given $bg-color
parameter.
Example usage
// Get mixin.
@use 'node_modules/@angular-package/spectre.css/src/mixins/label' as *;
// Accent label lighter by 10% with font `light-color` darker by 10%.
.label-accent {
@include label-variant(
$color: ('light-color', -10%),
$bg-color: ('accent-color', 10%)
);
// OR
@include label-variant(
$color: 'light-color',
$bg-color: 'accent-color',
$color-lightness: -10%,
$bg-lightness: 10%
);
}
Last updated