/* variables specific to current element */ $element-specific-variables: ""; .#{$namespace}infoDot { /* 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; @include custom-prop-fallback("color", "sys-color-text-primary-vivid"); line-height: 1; * + & { margin-left: 0.5em; } /* 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 */ // infoDot__childElement &__childElement { // follows same logic as parent } /* modifiers */ // infoDot -small &.-small { // follows same logic as base element [class*="icon"] { &::before { font-size: 1em; } } } &[disabled] { @include custom-prop-fallback("color", "sys-color-background-neutral-100"); pointer-events: none; cursor: not-allowed; } /* random parent element */ /* * * Syntax : .randomParentElt & {} * */ /* Pseudo Classes */ &:hover { @media (hover: hover) { @include custom-prop-fallback("color", "sys-color-text-primary-vivid"); } } &:focus { } &:active { } &:focus, &:active { } }