Actionable variant gives the badge a border when selected.
<!-- A Plus -->
<span class="sds-energyBadge -energyBadgeAplus">A+</span>
<!-- A -->
<span class="sds-energyBadge -energyBadgeA">A</span>
<!-- Small -->
<span class="sds-energyBadge -energyBadgeA -energyBadgeCircle -energyBadgeSm">A</span>
<!-- B -->
<span class="sds-energyBadge -energyBadgeB">B</span>
<!-- C -->
<span class="sds-energyBadge -energyBadgeC">C</span>
<!-- D -->
<span class="sds-energyBadge -energyBadgeD">D</span>
<!-- E -->
<span class="sds-energyBadge -energyBadgeE">E</span>
<!-- F -->
<span class="sds-energyBadge -energyBadgeF">F</span>
<!-- G -->
<span class="sds-energyBadge -energyBadgeG">G</span>
<!-- H -->
<span class="sds-energyBadge -energyBadgeH">H</span>
<!-- I -->
<span class="sds-energyBadge -energyBadgeI">I</span>
<span class="{{ namespace }}energyBadge{% for mod in modifiers %} {{ mod }}{% endfor %}{% for mod in classes %} {{ mod }}{% endfor %}">{{ text }}</span>
/* variables specific to current element */
.#{$namespace}energyBadge {
/* Save root element context for easy access if nesting is needed */
$self: &;
/* properties of current element + media queries */
display: flex;
align-items: center;
justify-content: center;
@include spacer-component-inline(sm);
@include custom-prop-fallback("color", "comp-badge-energy-nps-light-text-color");
@include custom-prop-fallback("border-radius", "comp-badge-energy-border-radius");
@include custom-prop-fallback("width", "comp-badge-energy-width");
@include custom-prop-fallback("height", "comp-badge-energy-height");
/* Pseudo Elements */
&::before {
}
&::after {
}
/*
Include elements that are linked to the current element but have to reside at the root level of the stylesheet
(e.g: keyframes)
*/
@at-root {
}
/* children - write selector in full in comments in order to facilitate search */
// energyBadge__childElement
/* modifiers */
// energyBadge -performAPlus
// energyBadge -performA
// energyBadge -performB
// energyBadge -performC
// energyBadge -performD
// energyBadge -performE
// energyBadge -performF
// energyBadge -performG
// energyBadge -performH
// energyBadge -performI
@each $key, $value in $token-color-energy-classes-map {
$classname: camelize(perform-#{$key});
&.-#{$classname} {
background-color: #{$value};
@if $key == "e" or $key == "d" {
@include custom-prop-fallback("color", "comp-badge-energy-nps-dark-text-color");
}
@if $key == "g" or $key == "h" or $key == "i" {
@include custom-prop-fallback("border-color", "sys-color-text-neutral-contrast","true","true");
}
}
}
&.-energyBadgeAplus {
@include custom-prop-fallback("background-color","ui-energy-aplus-background-color")
}
&.-energyBadgeA {
@include custom-prop-fallback("background-color","ui-energy-a-background-color")
}
&.-energyBadgeB {
@include custom-prop-fallback("background-color","ui-energy-b-background-color")
}
&.-energyBadgeC {
@include custom-prop-fallback("background-color","ui-energy-c-background-color")
}
&.-energyBadgeD {
@include custom-prop-fallback("background-color","ui-energy-d-background-color");
@include custom-prop-fallback("color", "comp-badge-energy-nps-dark-text-color");
}
&.-energyBadgeE {
@include custom-prop-fallback("background-color","ui-energy-e-background-color");
@include custom-prop-fallback("color", "comp-badge-energy-nps-dark-text-color");
}
&.-energyBadgeF {
@include custom-prop-fallback("background-color","ui-energy-f-background-color")
}
&.-energyBadgeG {
@include custom-prop-fallback("background-color","ui-energy-g-background-color");
@include custom-prop-fallback("border-color", "sys-color-text-neutral-contrast","true","true");
}
&.-energyBadgeH {
@include custom-prop-fallback("background-color","ui-energy-h-background-color");
@include custom-prop-fallback("border-color", "sys-color-text-neutral-contrast","true","true");
}
&.-energyBadgeI {
@include custom-prop-fallback("background-color","ui-energy-i-background-color");
@include custom-prop-fallback("border-color", "sys-color-text-neutral-contrast","true","true");
}
@at-root BUTTON#{&},
input[type="checkbox"] + &,
input[type="radio"] + & {
cursor: pointer;
}
@at-root BUTTON#{&}:focus-visible,
input[type="checkbox"]:checked + &,
input[type="radio"]:checked + & {
outline: $border-width*2 solid !important;
outline-offset: $border-width*2 !important;
@include custom-prop-fallback("outline-color", "comp-badge-nps-selected-outline-border-color","true","true");
}
&.-circle,
&.-energyBadgeCircle {
border-radius: map-deep-get($token-radius-map, "circle");
}
&.-smaller,
&.-energyBadgeSm {
@include custom-prop-fallback("width","comp-badge-energy-circle-small-width");
@include custom-prop-fallback("height","comp-badge-energy-circle-small-height");
}
/* random parent element */
/*
*
* Syntax : .randomParentElt & {}
*
*/
/* Pseudo Classes */
&:hover {
@media (hover: hover) {
}
}
&:focus {
}
&:active {
}
&:focus,
&:active {
}
}