.#{$namespace}calendar { /* Save root element context for easy access if nesting is needed */ $self: &; /* variables specific to current element */ $element-specific-variables: ""; /* properties of current element + media queries */ margin-left: -(map-deep-get($token-spacer-unit-map, "8")); margin-right: -(map-deep-get($token-spacer-unit-map, "8")); /* 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 */ // calendar__table &__table { table-layout: fixed; width: 100%; border-spacing: map-deep-get($token-spacer-unit-map, "8"); border-collapse: separate; } // calendar__headTitle &__headTitle { text-align: right; color: map-deep-get($token-color-brand-map, "secondary", "100"); &.-active { color: map-deep-get($token-color-brand-map, "primary", "100"); } } &__headRow, &__bodyRow { @include spacer-component-inline(sm); } &__headDay { padding-right: map-deep-get($token-spacer-unit-map, "8"); } /* modifiers */ // calendar -altStyle &.-altStyle { // follows same logic as base element } /* random parent element */ /* * * Syntax : .randomParentElt & {} * */ /* Pseudo Classes */ &:hover { @media (hover: hover) { } } &:focus { } &:active { } &:focus, &:active { } }