@use "sass:math"; /* variables specific to current element */ $element-specific-variables: ""; .#{$namespace}inputFocusMessage { /* Save root element context for easy access if nesting is needed */ $self: &; /* properties of current element + media queries */ /* 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 */ // inputFocusMessage__row &__row { &.-messageShown { #{$self}__message { display: block; } } &:last-child { #{$self}__message { top: auto; bottom: 0; } } } // inputFocusMessage__message &__message { // follows same logic as parent display: none; margin-top: map-get($token-spacer-stack-max-map, "sm"); @include media-breakpoint-up(md) { position: absolute; padding: 0 (math.div(map-deep-get($token-spacer-grid-map, "sm"), 2)); z-index: z("zero"); top: 0; left: 0; width: 100%; margin: 0; } } /* modifiers */ // inputFocusMessage -altStyle &.-altStyle { // follows same logic as base element } /* random parent element */ /* * * Syntax : .randomParentElt & {} * */ /* Pseudo Classes */ &:hover { @media (hover: hover) { } } &:focus { } &:active { } &:focus, &:active { } }