<div class="sds-userMenu">
<div class="sds-userMenu__header d-flex align-items-center">
<div class="sds-avatar centeredBgi -avatarLg -badgeVisible sds-userMenu__avatar">
<img class="img-fluid" src="../../media/snet/avatars/nopic/avatarNoPicWoman.svg" alt="">
<span class="sds-avatar__circle">
<span class="sds-icon sds-icon-business"></span>
</span>
</div>
<div class="sds-userMenu__headerText">
<div class="h3">Jil Schmit Longname</div>
<div class="sds-userMenu__headerMeta sds-textHelper">Espace professionnel</div>
</div>
</div>
<ul class="sds-userMenu__content list-unstyled">
<li class="sds-userMenu__item">
<a href="" class="sds-userMenu__link d-flex align-items-center justify-content-between">
<span class="font-weight-semibold">Mes commandes</span>
<div class="sds-userMenu__itemMeta d-flex align-items-center">
<span class="sds-iconCircle -secondary10" aria-hidden="true">
<span class="sds-icon sds-icon-shoppingbag"></span>
</span>
</div>
</a>
</li>
<li class="sds-userMenu__item">
<a href="" class="sds-userMenu__link d-flex align-items-center justify-content-between">
<span class="font-weight-semibold">Gestion des sociétés</span>
<div class="sds-userMenu__itemMeta d-flex align-items-center">
<span class="sds-iconCircle -secondary10" aria-hidden="true">
<span class="sds-icon sds-icon-business"></span>
</span>
</div>
</a>
</li>
<li class="sds-userMenu__item">
<a href="" class="sds-userMenu__link d-flex align-items-center justify-content-between">
<span class="font-weight-semibold">Paramètres</span>
<div class="sds-userMenu__itemMeta d-flex align-items-center">
<span class="sds-iconCircle -secondary10" aria-hidden="true">
<span class="sds-icon sds-icon-gear"></span>
</span>
</div>
</a>
</li>
<li class="sds-userMenu__item -borderTop">
<a href="" class="sds-userMenu__link d-flex align-items-center justify-content-between">
<span class="font-weight-semibold">Changer compte</span>
<div class="sds-userMenu__itemMeta d-flex align-items-center">
<span class="sds-iconCircle -secondary10" aria-hidden="true">
<span class="sds-icon sds-icon-switch"></span>
</span>
</div>
</a>
</li>
</ul>
<div class="sds-userMenu__footer">
<div class="h4">Votre conseiller</div>
<div class="sds-userMenu__footerRow">
<div class="sds-avatar centeredBgi -avatarXl">
<img class="img-fluid" src="../../media/snet/avatars/avatarBankerMain.png" alt="">
</div>
<div class="sds-userMenu__footerContent">
<div class="font-weight-semibold">Admir SKRIJELJ</div>
<div class="sds-userMenu__footerHelperText sds-textHelperSmall">
Personal Banker • Centre Financier Place de Metz
</div>
<div class="sds-userMenu__footerContactInfo">
<a class="d-block" href="tel:+35240158302">+352 4015-8302</a>
<a class="d-block" href="mailto:a.skrijelj@spuerkeess.lu">adresse.longue.skrijelj@spuerkeess.lu</a>
</div>
</div>
<div class="sds-userMenu__footerRowButtons">
<a href="tel:+35240158302" class="sds-btn -iconBtn -secondary10">
<span class="sds-icon sds-icon-phone"></span>
</a>
<a href="mailto:a.skrijelj@spuerkeess.lu" class="sds-btn -iconBtn -secondary10">
<span class="sds-icon sds-icon-paperplane"></span>
</a>
</div>
</div>
</div>
</div>
<div class="{{ namespace }}userMenu{% for mod in modifiers %} {{ mod }}{% endfor %}{% for mod in classes %} {{ mod }}{% endfor %}">
{% if header %}
<div class="{{ namespace }}userMenu__header d-flex align-items-center">
{% if bfm %}
{% render "@avatar--bfm-pro-badge-large",{
classes: [namespace + "userMenu__avatar"],
img: "/snet/avatars/nopic/avatarNoPicWoman.svg"
},true %}
{% else %}
{% render "@avatar--image-extra-large",{
classes: [namespace + "userMenu__avatar"],
img: "/snet/avatars/nopic/avatarNoPicWoman.svg"
},true %}
{% endif %}
<div class="{{ namespace }}userMenu__headerText">
<div class="h3">Jil Schmit Longname</div>
<div class="{{ namespace }}userMenu__headerMeta {{ namespace }}textHelper">{{ userMenuClientMeta }}</div>
</div>
</div>
{% endif %}
<ul class="{{ namespace }}userMenu__content list-unstyled">
{% for userMenuKey, userMenuItem in userMenuItems %}
{% if userMenuItem %}
<li class="{{ namespace }}userMenu__item{% if userMenuItem.hasBorder %} -borderTop{% endif %}">
{% if userMenuItem.modalToggle %}
{% set type = "button" %}
{% else %}
{% set type = "a" %}
{% endif %}
<{{ type }}{% if type === "button" %} type="button"{% else %} href=""{% endif%} class="{{ namespace }}userMenu__link d-flex align-items-center justify-content-between"{% if userMenuItem.modalToggle %} data-toggle="modal" data-target="#modalConventions"{% endif %}>
<span class="font-weight-semibold">{{ userMenuItem.text }}</span>
<div class="{{ namespace }}userMenu__itemMeta d-flex align-items-center">
{% if userMenuItem.count %}
{% render "@count-badge--primary",{text: "01"},true %}
{% endif %}
{% render "@icon-circle-regular--secondary-10",{icon: userMenuItem.icon},true %}
</div>
</{{ type }}>
</li>
{% endif %}
{% endfor %}
{% if langSwitcherInUserMenu %}
<li class="{{ namespace }}userMenu__item -borderTop">
<div class="{{ namespace }}userMenu__link d-flex align-items-center justify-content-between -isStatic">
<span class="font-weight-semibold">Langue</span>
<div class="{{ namespace }}btnGroup">
{% for key, item in langSwitcherInUserMenu %}
{% if item.active %}
{% set activeClass = "-isActive" %}
{% else %}
{% set activeClass = "" %}
{% endif %}
{% render "@snet-number-circle--link-light-large",{
text: item.lang,
classes: [namespace + "userMenu__langItem", activeClass]
},true %}
{% endfor %}
</div>
</div>
</li>
{% endif %}
</ul>
{% if footer %}
<div class="{{ namespace }}userMenu__footer">
<div class="h4">Votre conseiller</div>
<div class="{{ namespace }}userMenu__footerRow">
{% render "@avatar--image-extra-large",{img: "/snet/avatars/avatarBankerMain.png"},true %}
<div class="{{ namespace }}userMenu__footerContent">
<div class="font-weight-semibold">Admir SKRIJELJ</div>
<div class="{{ namespace }}userMenu__footerHelperText {{ namespace }}textHelperSmall">
Personal Banker • Centre Financier Place de Metz
</div>
<div class="{{ namespace }}userMenu__footerContactInfo">
<a class="d-block" href="tel:+35240158302">+352 4015-8302</a>
<a class="d-block" href="mailto:a.skrijelj@spuerkeess.lu">adresse.longue.skrijelj@spuerkeess.lu</a>
</div>
</div>
<div class="{{ namespace }}userMenu__footerRowButtons">
{% render "@icon-btn-regular--secondary-10",{
eltType: "a",
icon: "icon-phone",
href: "tel:+35240158302"
}, true %}
{% render "@icon-btn-regular--secondary-10",{
eltType: "a",
icon: "icon-paperplane",
href: "mailto:a.skrijelj@spuerkeess.lu"
}, true %}
</div>
</div>
</div>
{% endif %}
</div>
/* 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 {
}
}