/* variables specific to current element */ $element-specific-variables: ""; .#{$namespace}btnLabelOutside { /* Save root element context for easy access if nesting is needed */ $self: &; /* properties of current element + media queries */ display: inline-flex; align-items: center; @include spacer-component-inline("md"); position: relative; @include custom-prop-fallback("color", "sys-color-text-primary-vivid"); /* 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 */ // btnLabelOutside__text &__text { // follows same logic as parent font-weight: map-deep-get($token-font-weight-map, "semi-bold"); } /* modifiers */ // btnLabelOutside -altStyle &.-primary { // follows same logic as base element #{$self}__icon { @include custom-prop-fallback("background-color", "sys-color-background-secondary-100"); @include custom-prop-fallback("background-image", "sys-color-background-secondary-gradient"); @include custom-prop-fallback("color", "sys-color-text-neutral-inverse"); } &:hover { @media (hover: hover) { #{$self}__icon { @include custom-prop-fallback("background-color", "sys-color-background-secondary-100"); background-image: none; } } } } &.-truncated { @include truncate-text(); #{$self}__text { @include truncate-text(); } } /* random parent element */ /* * * Syntax : .randomParentElt & {} * */ /* Pseudo Classes */ &:hover { @media (hover: hover) { } } &:focus { } &:active { } &:focus, &:active { } }