/* variables specific to current element */ $number-circle-dimensions: map-deep-get($token-sizes-unit-map, "32"); $number-circle-dimensions-big: map-deep-get($token-sizes-unit-map, "40"); .#{$namespace}numberCircle { /* Save root element context for easy access if nesting is needed */ $self: &; /* properties of current element + media queries */ display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: $number-circle-dimensions; height: $number-circle-dimensions; border-radius: map-deep-get($token-radius-map, "circle"); @include custom-prop-fallback("background-color", "sys-color-background-primary-30"); @include custom-prop-fallback("color", "sys-color-background-primary-100"); font-family: map-deep-get($token-font-family-map, "headings"); /* 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 */ // numberCircle__childElement &__childElement { // follows same logic as parent } /* modifiers */ // numberCircle -large &.-large { // follows same logic as base element width: $number-circle-dimensions-big; height: $number-circle-dimensions-big; } &.-secondary10 { @include custom-prop-fallback("background-color", "sys-color-background-primary-10"); } &.-secondary100 { @include custom-prop-fallback("background-color", "sys-color-background-primary-100"); @include custom-prop-fallback("color", "sys-color-text-neutral-inverse"); } &.-info100 { @include custom-prop-fallback("background-color", "sys-color-background-status-info-100"); } &.-highlight30 { @include custom-prop-fallback("background-color", "sys-color-background-highlight-30"); } &.-xl { width: map-deep-get($token-spacer-unit-map, "64"); height: map-deep-get($token-spacer-unit-map, "64"); } /* random parent element */ /* * * Syntax : .randomParentElt & {} * */ /* Pseudo Classes */ &:hover { @media (hover: hover) { } } &:focus { } &:active { } &:focus, &:active { } }