/* variables specific to current element */ $element-specific-variables: ""; .#{$namespace}userMenu { /* Save root element context for easy access if nesting is needed */ $self: &; /* properties of current element + media queries */ @include spacer-component-inset-horiz-greater("sm","lg"); border-radius: map-deep-get($token-radius-map, "16"); box-shadow: map-deep-get($token-shadow-map, "detail") !important; @include custom-prop-fallback("background-color", "comp-dropdown-background-color"); max-height: calc(100vh - (#{$nav-topbar-height} + #{map-deep-get($token-spacer-unit-map, "16")})); overflow-y: auto; max-width: calc(100vw - #{$snet-frame-main-horiz-padding-mobile-global*2}); @include media-breakpoint-up(md){ @include spacer-component-inset-horiz-greater("md","xl"); } /* 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 */ &__header { padding-top: map-deep-get($token-spacer-unit-map, "8"); padding-bottom: map-deep-get($token-spacer-unit-map, "16"); border-bottom: $border-width solid; @include custom-prop-fallback("border-color", "sys-color-border-primary-moderate"); } &__headerMeta { @include custom-prop-fallback("color", "sys-color-text-primary-muted"); margin-top: map-deep-get($token-spacer-stack-max-map, "xxs"); } &__header + &__content { padding-top: map-deep-get($token-spacer-unit-map, "8"); } // userMenu__item &__item { margin-right: -(map-deep-get($token-spacer-unit-map, "8")); margin-left: -(map-deep-get($token-spacer-unit-map, "8")); &.-borderTop { position: relative; margin-top: map-deep-get($token-spacer-unit-map, "8"); padding-top: map-deep-get($token-spacer-unit-map, "8"); &::before { content: ""; border-top: $border-width solid; @include custom-prop-fallback("border-color", "sys-color-border-primary-moderate"); position: absolute; top: 0; left: map-deep-get($token-spacer-unit-map, "8"); right: map-deep-get($token-spacer-unit-map, "8"); } } } // userMenu__link &__link { // follows same logic as parent @include spacer-component-inset("sm"); @include spacer-component-inline("md"); border-radius: map-deep-get($token-radius-map, "16"); width: 100%; // Needed if item is button &:hover { @include custom-prop-fallback("background-color", "sys-color-background-primary-6"); } &.-isStatic { @include custom-prop-fallback("background-color", "comp-dropdown-background-color"); } } &__avatar { margin-right: map-deep-get($token-spacer-unit-map, "16"); } &__itemMeta { @include spacer-component-inline("md"); } &__footer { @include spacer-component-stack("md"); margin-top: map-deep-get($token-spacer-unit-map, "8"); padding-top: map-deep-get($token-spacer-unit-map, "24"); padding-bottom: map-deep-get($token-spacer-unit-map, "8"); border-top: $border-width solid; @include custom-prop-fallback("border-color", "sys-color-border-primary-moderate"); } &__footerRow { display: flex; @include spacer-component-inline("md"); } &__footerContent { flex-grow: 1; min-width: 0; @include spacer-component-stack("xxs"); } &__footerHelperText { @include custom-prop-fallback("color", "sys-color-text-primary-muted"); } &__footerRowButtons { @include spacer-component-stack("md"); display: flex; flex-direction: column; } &__footerContactInfo { @include spacer-component-stack("xs"); margin-top: map-deep-get($token-spacer-stack-max-map, "xs"); > * { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } } &__langItem { &:hover { @include custom-prop-fallback("background-color", "sys-color-background-primary-20"); } &.-isActive { @include custom-prop-fallback("background-color", "sys-color-background-secondary-100"); @include custom-prop-fallback("color", "sys-color-text-neutral-inverse"); } } /* modifiers */ // userMenu -altStyle &.-altStyle { // follows same logic as base element } /* random parent element */ /* * * Syntax : .randomParentElt & {} * */ /* Pseudo Classes */ &:hover { @media (hover: hover) { } } &:focus { } &:active { } &:focus, &:active { } }