/* variables specific to current element */ $element-specific-variables: ""; .#{$namespace}arrowAmount { /* Save root element context for easy access if nesting is needed */ $self: &; /* properties of current element + media queries */ position: relative; z-index: z("zero"); /* Pseudo Elements */ &::before, &::after { content: ""; position: absolute; z-index: z("negative"); } &::before { height: $border-width*2; left: 0; top: 0.875em; transform: translateY(-100%); width: 100%; @include custom-prop-fallback("background-color", "sys-color-border-primary-moderate"); } &::after { left: 100%; top: 0.875em; transform: translate(-100%,calc(-50% - #{$border-width})) rotate(-45deg); height: 10px; width: 10px; border: $border-width*2 solid; @include custom-prop-fallback("border-right-color", "sys-color-border-primary-moderate"); @include custom-prop-fallback("border-bottom-color", "sys-color-border-primary-moderate"); border-left-color: transparent; border-top-color: transparent; } /* 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 */ // arrowAmount__bg &__bg { display: inline-flex; flex-direction: column; margin-right: $arrowm-amount-offset-left-global; > * { padding-left: map-deep-get($token-spacer-inset-map, "md"); } } .#{$namespace}amount { align-self: flex-start; padding-right: map-deep-get($token-spacer-inset-map, "md"); padding-left: map-deep-get($token-spacer-inset-map, "md"); @include custom-prop-fallback("background-color", "sys-color-elevation-surface-flat"); } // arrowAmount__meta &__meta { @include custom-prop-fallback("color", "sys-color-text-primary-muted"); @extend %textHelperSmall; } /* modifiers */ // arrowAmount -centered &.-centered { // follows same logic as base element text-align: center; } &.-leftOffset { padding-left: $arrowm-amount-offset-left-global; } /* random parent element */ /* * * Syntax : .randomParentElt & {} * */ /* Pseudo Classes */ &:hover { @media (hover: hover) { } } &:focus { } &:active { } &:focus, &:active { } }