/* variables specific to current element */ $element-specific-variables: ""; .#{$namespace}expensesCard { /* Save root element context for easy access if nesting is needed */ $self: &; /* properties of current element + media queries */ display: block; /* 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 */ // expensesCard__header &__header { // follows same logic as parent color: map-deep-get($token-color-brand-map, "secondary", "100"); display: flex; flex-wrap: wrap; align-items: baseline; @include spacer-component-inline("sm"); } &__content { display: flex; align-items: center; } &__contentInner { display: flex; align-items: flex-end; width: 100%; height: 100%; @include spacer-component-inline("xs"); } &__item { text-align: center; flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-start; flex-grow: 1; #{$self}__icon, #{$self}__itemText { width: map-deep-get($token-sizes-unit-map, "40"); } &.-xtraLarge { #{$self}__icon, #{$self}__itemText { width: map-deep-get($token-sizes-unit-map, "64"); } #{$self}__icon { height: map-deep-get($token-sizes-unit-map, "64"); > * { &::before { font-size: 38px; } } } } &.-large { // follows same logic as base element #{$self}__icon, #{$self}__itemText { width: 56px; } #{$self}__icon { height: 56px; > * { &::before { font-size: 33px; } } } } &.-medium { // follows same logic as base element #{$self}__icon, #{$self}__itemText { width: 48px; } #{$self}__icon { height: 48px; > * { &::before { font-size: 28px; } } } } &.-isInactive { #{$self}__icon { position: relative; background-color: transparent; &::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: inherit; background-color: map-deep-get($token-color-brand-map, "secondary", "06"); } } } } &__linkIcon { margin-left: map-deep-get($token-spacer-inline-map, "md"); } /* modifiers */ // expensesCard -empty &.-empty { // follows same logic as base element &:hover, &:focus { @media (hover: hover) { box-shadow: none; } } } /* random parent element */ /* * * Syntax : .randomParentElt & {} * */ /* Pseudo Classes */ &:hover, &:focus { @media (hover: hover) { box-shadow: map-deep-get($token-shadow-map, "hover"); #{$self}__linkIcon { background-color: map-deep-get($token-color-brand-map, "secondary", "06"); color: map-deep-get($token-color-brand-map, "secondary", "100"); } } } &:focus { } &:active { } &:focus, &:active { } }