/* * @copyright Copyright (C) 2010-2024 Combodo SAS * @license http://opensource.org/licenses/AGPL-3.0 */ /* SCSS variables (can be overloaded) */ $ibo-navigation-menu-height: 100vh !default; $ibo-navigation-menu--body--padding-x: $ibo-spacing-500 !default; $ibo-navigation-menu--body--padding-y: $ibo-spacing-500 !default; $ibo-navigation-menu--body--width-collapsed: 60px !default; $ibo-navigation-menu--body--width-expanded: 310px !default; $ibo-navigation-menu--body--background-color: $ibo-color-blue-grey-900 !default; $ibo-navigation-menu--body--text-color: $ibo-color-grey-300 !default; $ibo-navigation-menu--top-part--height: 120px !default; $ibo-navigation-menu--top-part--padding-y: $ibo-spacing-400 !default; $ibo-navigation-menu--top-part--padding-x: $ibo-navigation-menu--body--padding-x !default; $ibo-navigation-menu--top-part--elements-spacing: 20px !default; $ibo-navigation-menu--middle-part--padding-top: $ibo-spacing-600 !default; $ibo-navigation-menu--middle-part--padding-bottom: $ibo-spacing-500 !default; $ibo-navigation-menu--middle-part--padding-x: $ibo-navigation-menu--body--padding-x !default; $ibo-navigation-menu--middle-part--elements-spacing: 20px !default; $ibo-navigation-menu--middle-part--scrollbar-width: 5px !default; $ibo-navigation-menu--middle-part--scrollbar-track-background-color: $ibo-color-transparent !default; $ibo-navigation-menu--middle-part--scrollbar-thumb-background-color: $ibo-color-grey-300 !default; $ibo-navigation-menu--bottom-part--padding-top: 20px !default; $ibo-navigation-menu--bottom-part--padding-bottom: $ibo-spacing-500 !default; $ibo-navigation-menu--bottom-part--padding-x: $ibo-spacing-0 !default; $ibo-navigation-menu--bottom-part--height: 126px !default; $ibo-navigation-menu--bottom-part--background-color: $ibo-color-grey-800 !default; $ibo-navigation-menu--bottom-part--is-expanded--padding-top: $ibo-spacing-600 !default; $ibo-navigation-menu--bottom-part--is-expanded--padding-bottom: $ibo-spacing-400 !default; $ibo-navigation-menu--visual-hint--size: 16px !default; $ibo-navigation-menu--visual-hint--background-color: $ibo-color-red-600 !default; $ibo-navigation-menu--visual-hint--border-radius: $ibo-border-radius-full !default; $ibo-navigation-menu--silo-selection--width: 70% !default; $ibo-navigation-menu--silo-selection--margin-left: 15px !default; $ibo-navigation-menu--silo-selection--input--action-button--hierarchy--padding-right: -42px !default; $ibo-navigation-menu--silo-selection--input--padding-right: 38px !default; $ibo-navigation-menu--silo-selection--input-select--action-button--hierarchy--margin-left: -42px !default; $ibo-navigation-menu--silo-selection--input-select-autocomplete--padding-left: 60px !default; $ibo-navigation-menu--silo-selection--input-select-autocomplete--action-button--search--margin-left: -42px !default; $ibo-navigation-menu--silo-selection--input-select-autocomplete--action-button--clear--margin-left: -72px !default; $ibo-navigation-menu--silo-selection--input-select-autocomplete--action-button--hierarchy--margin-left: -60px !default; $ibo-navigation-menu--silo-visual-hint--top: 2px !default; $ibo-navigation-menu--silo-visual-hint--right: 0 !default; $ibo-navigation-menu--silo-visual-hint--size: $ibo-navigation-menu--visual-hint--size !default; $ibo-navigation-menu--silo-visual-hint--background-color: $ibo-navigation-menu--visual-hint--background-color !default; $ibo-navigation-menu--silo-visual-hint--border: 2px solid $ibo-navigation-menu--body--background-color !default; $ibo-navigation-menu--silo-visual-hint--border-radius: $ibo-navigation-menu--visual-hint--border-radius !default; $ibo-navigation-menu--action--padding-x: $ibo-spacing-300 !default; $ibo-navigation-menu--action--padding-y: 10px !default; $ibo-navigation-menu--action--border-radius: $ibo-border-radius-500 !default; $ibo-navigation-menu--action--border-radius--on-active: $ibo-border-radius-full !default; $ibo-navigation-menu--action--border-radius--on-active-expanded: $ibo-border-radius-900 !default; $ibo-navigation-menu--action--text-color--on-hover: $ibo-color-white-100 !default; $ibo-navigation-menu--action--background-color--on-hover: $ibo-color-blue-grey-700 !default; $ibo-navigation-menu--action--background-color--on-active: $ibo-color-grey-100 !default; $ibo-navigation-menu--action-icon--width: 28px !default; $ibo-navigation-menu--action-icon--text-color--on-hover: $ibo-color-white-100 !default; $ibo-navigation-menu--square-company-logo--width: 38px !default; $ibo-navigation-menu--square-company-logo--height: 38px !default; $ibo-navigation-menu--square-company-logo--margin-top: $ibo-spacing-0 !default; $ibo-navigation-menu--square-company-logo--margin-x: -5px !default; $ibo-navigation-menu--square-company-logo--margin-bottom: ($ibo-navigation-menu--body--padding-y * 2) + 12px !default; /* +12px to keep burger & menu groups icons align in both expanded and collapsed mode */ $ibo-navigation-menu--full-company-logo--width: $ibo-navigation-menu--body--width-expanded !default; $ibo-navigation-menu--full-company-logo--height: 70px !default; $ibo-navigation-menu--full-company-logo--margin-top: $ibo-spacing-0 !default; $ibo-navigation-menu--full-company-logo--margin-right: $ibo-spacing-0 !default; $ibo-navigation-menu--full-company-logo--margin-bottom: $ibo-spacing-400 !default; $ibo-navigation-menu--full-company-logo--margin-left: -$ibo-navigation-menu--body--padding-y !default; $ibo-navigation-menu--full-company-logo--image--margin-x: auto !default; $ibo-navigation-menu--full-company-logo--image--margin-y: $ibo-spacing-0 !default; $ibo-navigation-menu--toggler-icon--height: 20px !default; $ibo-navigation-menu--toggler-icon--width: $ibo-navigation-menu--action-icon--width !default; $ibo-navigation-menu--toggler-bar--height: 3px !default; $ibo-navigation-menu--toggler-bar--width: 100% !default; $ibo-navigation-menu--toggler--width: $ibo-navigation-menu--action-icon--width + $ibo-navigation-menu--top-part--padding-x !default; $ibo-navigation-menu--menu-group--background-color--is-active: $ibo-color-grey-100 !default; $ibo-navigation-menu--menu-group--border-radius--is-active: $ibo-border-radius-500 0 0 $ibo-border-radius-500 !default; $ibo-navigation-menu--menu-group-icon--font-size: $ibo-font-size-350 !default; $ibo-navigation-menu--menu-group-icon--text-color--is-active: $ibo-color-primary-500 !default; $ibo-navigation-menu--menu-group-title--margin-left: $ibo-navigation-menu--middle-part--padding-x !default; $ibo-navigation-menu--menu-group-title--text-color--is-active: $ibo-color-blue-grey-800 !default; $ibo-navigation-menu--drawer--width: 312px !default; $ibo-navigation-menu--drawer--padding-x: 20px !default; $ibo-navigation-menu--drawer--padding-y: $ibo-spacing-700 !default; $ibo-navigation-menu--drawer--background-color: $ibo-navigation-menu--menu-group--background-color--is-active !default; $ibo-navigation-menu--drawer--border-right: 1px solid $ibo-color-grey-300 !default; /* TODO: Refactor this into the standard field input */ $ibo-navigation-menu--menu-filter-input--padding-x: 10px !default; $ibo-navigation-menu--menu-filter-input--padding-y: $ibo-spacing-300 !default; $ibo-navigation-menu--menu-filter-input--width: 100% !default; $ibo-navigation-menu--menu-filter-input--placeholder-color: $ibo-color-grey-700 !default; $ibo-navigation-menu--menu-filter-input--text-color: $ibo-color-grey-900 !default; $ibo-navigation-menu--menu-filter-input--background-color: $ibo-color-white-100 !default; $ibo-navigation-menu--menu-filter-input--border: 1px solid $ibo-color-grey-300 !default; $ibo-navigation-menu--menu-filter-input--border-radius: $ibo-border-radius-300 !default; $ibo-navigation-menu--menu-filter--width: $ibo-navigation-menu--drawer--width - $ibo-navigation-menu--drawer--padding-x * 2 !default; $ibo-navigation-menu--menu-filter-input--padding-right: 76px !default; $ibo-navigation-menu--menu-filter-clear--top: $ibo-navigation-menu--menu-filter-input--padding-y !default; $ibo-navigation-menu--menu-filter-clear--right: $ibo-navigation-menu--menu-filter-input--padding-right - 16px !default; $ibo-navigation-menu--menu-filter-clear--padding: 3px 3px !default; $ibo-navigation-menu--menu-filter-hotkey--top: 6.5px !default; $ibo-navigation-menu--menu-filter-hotkey--border: 1px solid $ibo-color-grey-400 !default; $ibo-navigation-menu--menu-filter-hint--margin-top: $ibo-spacing-500 !default; $ibo-navigation-menu--menu-filter-hint--padding-right: $ibo-spacing-400 !default; $ibo-navigation-menu--menu-filter-hint--text-color: $ibo-color-grey-700 !default; $ibo-navigation-menu--menu-filter-hint-close--top: 1px !default; $ibo-navigation-menu--menu-filter-hint-close--right: 2px !default; $ibo-navigation-menu--menu-groups--margin-top: 50px !default; $ibo-navigation-menu--menu--placeholder--width: 100% !default; $ibo-navigation-menu--menu--placeholder--margin-top: $ibo-navigation-menu--menu-groups--margin-top !default; $ibo-navigation-menu--menu--placeholder-image--svg--width: 90% !default; $ibo-navigation-menu--menu--placeholder-image--svg--height: auto !default; $ibo-navigation-menu--menu--placeholder-image--svg--margin: auto !default; $ibo-navigation-menu--menu--placeholder-hint--margin-top: $ibo-spacing-300 !default; $ibo-navigation-menu--menu-nodes--margin-bottom--on-filtered: $ibo-spacing-800 !default; $ibo-navigation-menu--menu-nodes-title--margin-top: 0 !default; $ibo-navigation-menu--menu-nodes-title--margin-bottom: $ibo-spacing-700 !default; $ibo-navigation-menu--menu-nodes-title--margin-bottom--on-filtered: $ibo-spacing-300 !default; $ibo-navigation-menu--menu-node--padding-x: 10px !default; $ibo-navigation-menu--menu-node--padding-y: 6px !default; $ibo-navigation-menu--menu-node--margin-x: -1 * $ibo-navigation-menu--menu-node--padding-x !default; $ibo-navigation-menu--menu-node--margin-y: $ibo-spacing-0 !default; $ibo-navigation-menu--menu-node--text-color: $ibo-color-grey-700 !default; $ibo-navigation-menu--menu-node--hyperlink-color: inherit !default; $ibo-navigation-menu--menu-node--background-color: $ibo-color-grey-200 !default; $ibo-navigation-menu--menu-node--border-radius: $ibo-border-radius-500 !default; $ibo-navigation-menu--menu-node-counter--margin-left: $ibo-spacing-300 !default; $ibo-navigation-menu--menu-node-counter--padding-y: $ibo-spacing-100 !default; $ibo-navigation-menu--menu-node-counter--padding-x: 6px !default; $ibo-navigation-menu--menu-node-counter--width: 34px !default; $ibo-navigation-menu--menu-node-counter--background-color: $ibo-navigation-menu--menu-node--background-color !default; $ibo-navigation-menu--notifications-toggler--font-size: $ibo-font-size-400 !default; $ibo-navigation-menu--notifications-toggler--color: $ibo-color-grey-600 !default; $ibo-navigation-menu--notifications-toggler--color--is-loaded: $ibo-color-grey-300 !default; $ibo-navigation-menu--notifications-toggler--color--on-hover: $ibo-color-white-200 !default; $ibo-navigation-menu--notifications-toggler--new-messages--top: -2px !default; $ibo-navigation-menu--notifications-toggler--new-messages--right: -7px !default; $ibo-navigation-menu--notifications-toggler--new-messages--size: $ibo-navigation-menu--visual-hint--size !default; $ibo-navigation-menu--notifications-toggler--new-messages--background-color: $ibo-navigation-menu--visual-hint--background-color !default; $ibo-navigation-menu--notifications-toggler--new-messages--border: 2px solid $ibo-navigation-menu--bottom-part--background-color !default; $ibo-navigation-menu--notifications-toggler--new-messages--border-radius: $ibo-navigation-menu--visual-hint--border-radius !default; $ibo-navigation-menu--user-notifications--notifications-toggler--new-messages--width: 10px !default; $ibo-navigation-menu--user-notifications--notifications-toggler--new-messages--height: 10px !default; $ibo-navigation-menu--user-notifications--notifications-toggler--new-messages--top: -2px !default; $ibo-navigation-menu--user-notifications--notifications-toggler--new-messages--right: -5px !default; $ibo-navigation-menu--user--text-color: $ibo-color-white-100 !default; $ibo-navigation-menu--user-welcome-message--toggler--padding-left: 6px !default; $ibo-navigation-menu--user-picture--border-radius: $ibo-border-radius-full !default; $ibo-navigation-menu--user-picture--background-color: $ibo-color-grey-300 !default; $ibo-navigation-menu--user-notifications--toggler--icon--padding-left: 5px !default; $ibo-navigation-menu--user-organization--text-color: $ibo-color-blue-100 !default; $ibo-navigation-menu--user-picture--size--is-collapsed: 36px !default; $ibo-navigation-menu--user-picture--size--is-expanded: 72px !default; $ibo-navigation-menu--user-picture--margin-top--is-expanded: -60px !default; $ibo-navigation-menu--user-picture--border--is-expanded: solid 3px $ibo-color-blue-grey-900 !default; $ibo-navigation-menu--user-menu--popover-menu--odd-section--background-color: $ibo-color-grey-100 !default; $ibo-navigation-menu--user-info--height--is-expanded: 100% !default; /* CSS variables (can be changed directly from the browser) */ :root { /* TODO: Introduce variables once SCSS variables are set */ } /* IMPORTANT: Rules are made for the collapsed mode by default */ /* Expanded rules should only be in the dedicated section */ .ibo-navigation-menu{ position: relative; height: $ibo-navigation-menu-height; &.ibo-is-expanded{ .ibo-navigation-menu--square-company-logo{ display: none; } .ibo-navigation-menu--full-company-logo{ display: flex; } .ibo-navigation-menu--silo-selection{ display: inline-block; } .ibo-navigation-menu--silo-visual-hint{ display: none; } .ibo-navigation-menu--body{ width: $ibo-navigation-menu--body--width-expanded; .ibo-navigation-menu--toggler-bar{ &:nth-child(1){ top: 4px; left: 7px; width: 14px; transform: rotateZ(-45deg); } &:nth-child(2){ top: 8px; left: 7px; width: 0; opacity: 0; } &:nth-child(3){ top: 12px; left: 7px; width: 14px; transform: rotateZ(45deg); } } .ibo-navigation-menu--menu-group{ &:not(.ibo-is-active){ &:active{ border-radius: $ibo-navigation-menu--action--border-radius--on-active-expanded; } } } .ibo-navigation-menu--bottom-part{ padding: $ibo-navigation-menu--bottom-part--is-expanded--padding-top $ibo-navigation-menu--bottom-part--padding-x $ibo-navigation-menu--bottom-part--is-expanded--padding-bottom; .ibo-navigation-menu--notifications .ibo-navigation-menu--notifications-toggler{ display: none; } .ibo-navigation-menu--user-info{ height: $ibo-navigation-menu--user-info--height--is-expanded; .ibo-navigation-menu--user-welcome-message, .ibo-navigation-menu--user-notifications, .ibo-navigation-menu--user-organization{ display: block; } .ibo-navigation-menu--user-picture{ margin-top: $ibo-navigation-menu--user-picture--margin-top--is-expanded; width: $ibo-navigation-menu--user-picture--size--is-expanded; height: $ibo-navigation-menu--user-picture--size--is-expanded; border: $ibo-navigation-menu--user-picture--border--is-expanded; .ibo-navigation-menu--user-picture--image { max-width: $ibo-navigation-menu--user-picture--size--is-expanded; max-height: $ibo-navigation-menu--user-picture--size--is-expanded; } } } } } } &.ibo-is-active{ .ibo-navigation-menu--drawer{ right: calc(-1 * #{$ibo-navigation-menu--drawer--width}); } } &.ibo-is-filtered{ .ibo-navigation-menu--menu-filter-clear{ display: block; } .ibo-navigation-menu--menu-nodes{ margin-bottom: $ibo-navigation-menu--menu-nodes--margin-bottom--on-filtered; .ibo-navigation-menu--menu-nodes-title{ margin-bottom: $ibo-navigation-menu--menu-nodes-title--margin-bottom--on-filtered; } } } } .ibo-navigation-menu--body, .ibo-navigation-menu--drawer{ height: $ibo-navigation-menu-height; } /* Body */ .ibo-navigation-menu--body{ z-index: 1; display: flex; flex-direction: column; justify-content: space-between; align-items: stretch; height: $ibo-navigation-menu-height; width: $ibo-navigation-menu--body--width-collapsed; background-color: $ibo-navigation-menu--body--background-color; transition: width 0.1s ease-in-out; } /* - Top part */ .ibo-navigation-menu--top-part{ z-index: 2; min-height: $ibo-navigation-menu--top-part--height; padding: $ibo-navigation-menu--top-part--padding-y $ibo-navigation-menu--top-part--padding-x; overflow: hidden; } /* - Middle part */ .ibo-navigation-menu--middle-part{ z-index: 1; /* Occupy as much space as possible */ flex-grow: 1; /* Only the middle part should have a variable size */ overflow-y: auto; padding: $ibo-navigation-menu--middle-part--padding-top $ibo-navigation-menu--middle-part--padding-x $ibo-navigation-menu--middle-part--padding-bottom; /* Scrollbar for Firefox and future W3C specs. */ scrollbar-width: thin; scrollbar-color: $ibo-navigation-menu--middle-part--scrollbar-thumb-background-color $ibo-navigation-menu--middle-part--scrollbar-track-background-color; /* Scrollbar for Chrome/Edge/Safari */ &::-webkit-scrollbar { width: $ibo-navigation-menu--middle-part--scrollbar-width; } &::-webkit-scrollbar-track { background-color: $ibo-navigation-menu--middle-part--scrollbar-track-background-color; } &::-webkit-scrollbar-thumb { background-color: $ibo-navigation-menu--middle-part--scrollbar-thumb-background-color; } } /* - Bottom part */ .ibo-navigation-menu--bottom-part{ z-index: 2; /* User picture must be above the middle part when expanded */ padding-top: $ibo-navigation-menu--bottom-part--padding-top; padding-bottom: $ibo-navigation-menu--bottom-part--padding-bottom; height: $ibo-navigation-menu--bottom-part--height; background-color: $ibo-navigation-menu--bottom-part--background-color; @extend %ibo-fully-centered-content; justify-content: space-between; flex-direction: column; } .ibo-navigation-menu--toggler, .ibo-navigation-menu--menu-group{ margin: calc(-1 * #{$ibo-navigation-menu--action--padding-y}) calc(-1 * #{$ibo-navigation-menu--action--padding-x}); padding: $ibo-navigation-menu--action--padding-y $ibo-navigation-menu--action--padding-x; border-radius: $ibo-navigation-menu--action--border-radius; } /* Top part */ /* - Company logo: square */ .ibo-navigation-menu--square-company-logo{ display: flex; width: $ibo-navigation-menu--square-company-logo--width; height: $ibo-navigation-menu--square-company-logo--height; margin: $ibo-navigation-menu--square-company-logo--margin-top $ibo-navigation-menu--square-company-logo--margin-x $ibo-navigation-menu--square-company-logo--margin-bottom; >img { object-fit: contain; } } /* - Company logo: full */ .ibo-navigation-menu--full-company-logo{ display: none; width: $ibo-navigation-menu--full-company-logo--width; height: $ibo-navigation-menu--full-company-logo--height; margin: $ibo-navigation-menu--full-company-logo--margin-top $ibo-navigation-menu--full-company-logo--margin-right $ibo-navigation-menu--full-company-logo--margin-bottom $ibo-navigation-menu--full-company-logo--margin-left; >img{ object-fit: contain; margin: $ibo-navigation-menu--full-company-logo--image--margin-y $ibo-navigation-menu--full-company-logo--image--margin-x; } } /* - Toggler */ .ibo-navigation-menu--toggler{ position: relative; /* For the silo visual hint to be placed relatively to it */ display: inline-flex; /* Width is define here in addition of the icon so we can fix its width whether the menu is collapsed or expanded */ width: $ibo-navigation-menu--toggler--width; &:hover, &:active{ background-color: $ibo-navigation-menu--action--background-color--on-hover; .ibo-navigation-menu--toggler-bar{ background-color: $ibo-navigation-menu--action--text-color--on-hover; } } } .ibo-navigation-menu--toggler-icon{ position: relative; display: flex; height: $ibo-navigation-menu--toggler-icon--height; width: $ibo-navigation-menu--toggler-icon--width; } .ibo-navigation-menu--toggler-bar{ position: absolute; display: block; height: $ibo-navigation-menu--toggler-bar--height; width: $ibo-navigation-menu--toggler-bar--width; opacity: 1; transition: all 0.2s linear; background-color: $ibo-navigation-menu--body--text-color; &:nth-child(1){ top: 0; } &:nth-child(2){ top: 8px; } &:nth-child(3){ top: 16px; } } .ibo-navigation-menu--silo-selection { position: absolute; display: none; width: $ibo-navigation-menu--silo-selection--width; margin-left: $ibo-navigation-menu--silo-selection--margin-left; .ibo-input-wrapper { .ibo-input{ padding-right: $ibo-navigation-menu--silo-selection--input--padding-right; overflow: hidden; } .ibo-input-select-autocomplete{ padding-right: $ibo-navigation-menu--silo-selection--input-select-autocomplete--padding-left; ~ .ibo-input-select--action-button--search{ margin-left: $ibo-navigation-menu--silo-selection--input-select-autocomplete--action-button--search--margin-left; } ~ .ibo-input-select--action-button--clear{ margin-left: $ibo-navigation-menu--silo-selection--input-select-autocomplete--action-button--clear--margin-left; } ~ .ibo-input-select--action-button--hierarchy{ margin-left: $ibo-navigation-menu--silo-selection--input-select-autocomplete--action-button--hierarchy--margin-left; } } } } .ibo-navigation-menu--silo-visual-hint{ position: absolute; top: $ibo-navigation-menu--silo-visual-hint--top; right: $ibo-navigation-menu--silo-visual-hint--right; width: $ibo-navigation-menu--silo-visual-hint--size; height: $ibo-navigation-menu--silo-visual-hint--size; background-color: $ibo-navigation-menu--silo-visual-hint--background-color; border: $ibo-navigation-menu--silo-visual-hint--border; border-radius: $ibo-navigation-menu--silo-visual-hint--border-radius; } /* - Menu groups */ .ibo-navigation-menu--menu-group{ display: flex; justify-content: left; align-items: center; /* To keep title on the line even when collapsed. Better visual feedback when expanding. */ white-space: nowrap; overflow-x: hidden; color: $ibo-navigation-menu--body--text-color; @extend %ibo-font-ral-nor-200; transition-property: background-color, color, padding, margin, border-radius; transition-duration: 0.1s; transition-timing-function: linear; > .ibo-navigation-menu--menu-group-icon{ display: flex; /* To avoid end space due to display:inline-block */ } .ibo-navigation-menu--menu-group-title{ flex-grow: 1; /* Note that display property is not set to flex on purpose so its text has an ellipsis on overflow */ } &:not(:last-child){ margin-bottom: $ibo-navigation-menu--middle-part--elements-spacing; } &:not(.ibo-is-active) { &:hover, &:active{ color: $ibo-navigation-menu--action--text-color--on-hover; background-color: $ibo-navigation-menu--action--background-color--on-hover; } &:active{ border-radius: $ibo-navigation-menu--action--border-radius--on-active; } } &.ibo-is-active{ margin-right: calc(-2 * #{$ibo-navigation-menu--action--padding-x}); padding-right: calc(2 - #{$ibo-navigation-menu--action--padding-x}); color: $ibo-navigation-menu--menu-group-title--text-color--is-active; background-color: $ibo-navigation-menu--menu-group--background-color--is-active; border-radius: $ibo-navigation-menu--menu-group--border-radius--is-active; .ibo-navigation-menu--menu-group-icon{ color: $ibo-navigation-menu--menu-group-icon--text-color--is-active; } } } .ibo-navigation-menu--menu-group-icon{ width: $ibo-navigation-menu--action-icon--width; min-width: $ibo-navigation-menu--action-icon--width; /* Necessary with flex, otherwise it will shrink */ justify-content: center; font-size: $ibo-navigation-menu--menu-group-icon--font-size; &::before{ width: $ibo-navigation-menu--action-icon--width; } } .ibo-navigation-menu--menu-group-title{ margin-left: $ibo-navigation-menu--menu-group-title--margin-left; justify-content: left; @extend %ibo-text-truncated-with-ellipsis; } /* Drawer */ .ibo-navigation-menu--drawer{ position: absolute; z-index: -1; top: 0; bottom: 0; right: 0; display: flex; flex-direction: column; justify-content: flex-start; width: $ibo-navigation-menu--drawer--width; padding: $ibo-navigation-menu--drawer--padding-y $ibo-navigation-menu--drawer--padding-x; background-color: $ibo-navigation-menu--drawer--background-color; border-right: $ibo-navigation-menu--drawer--border-right; transition: right 0.2s ease-in-out; } /* - Menu filter */ .ibo-navigation-menu--menu-filter { position: relative; } .ibo-navigation-menu--menu-filter-input{ /* TODO: Refactor this into the standard field input */ width: $ibo-navigation-menu--menu-filter-input--width; padding: $ibo-navigation-menu--menu-filter-input--padding-y $ibo-navigation-menu--menu-filter-input--padding-x; color: $ibo-navigation-menu--menu-filter-input--text-color; background-color: $ibo-navigation-menu--menu-filter-input--background-color; border: $ibo-navigation-menu--menu-filter-input--border; border-radius: $ibo-navigation-menu--menu-filter-input--border-radius; &::placeholder{ color: $ibo-navigation-menu--menu-filter-input--placeholder-color; } /* This rule is duplicated otherwise Chrome won't be able to parse it. */ &:-ms-input-placeholder, &::-ms-input-placeholder{ color: $ibo-navigation-menu--menu-filter-input--placeholder-color; } padding-right: $ibo-navigation-menu--menu-filter-input--padding-right; /* Must be at least #nm-filter-hotkey width + some padding */ } .ibo-navigation-menu--menu-filter-clear{ display: none; position: absolute; top: $ibo-navigation-menu--menu-filter-clear--top; right: $ibo-navigation-menu--menu-filter-clear--right; padding: $ibo-navigation-menu--menu-filter-clear--padding; /* Used to help the user click on it as the icon itself is small */ @extend %ibo-font-ral-bol-50; @extend %ibo-hyperlink-inherited-colors; } .ibo-navigation-menu--menu-filter-hotkey { position: absolute; top: $ibo-navigation-menu--menu-filter-hotkey--top; right: $ibo-navigation-menu--menu-filter-input--padding-x; border: $ibo-navigation-menu--menu-filter-hotkey--border; border-radius: $ibo-navigation-menu--menu-filter-input--border-radius; color: $ibo-navigation-menu--menu-filter-input--placeholder-color; padding: $ibo-spacing-100 $ibo-spacing-200; @extend %ibo-font-ral-nor-50; } .ibo-navigation-menu--menu-filter-hint{ position: relative; margin-top: $ibo-navigation-menu--menu-filter-hint--margin-top; padding-right: $ibo-navigation-menu--menu-filter-hint--padding-right; color: $ibo-navigation-menu--menu-filter-hint--text-color; @extend %ibo-font-ral-ita-50; } .ibo-navigation-menu--menu-filter-hint-close{ position: absolute; top: $ibo-navigation-menu--menu-filter-hint-close--top; right: $ibo-navigation-menu--menu-filter-hint-close--right; @extend %ibo-hyperlink-inherited-colors; } .ibo-navigation-menu--menu--placeholder{ width: $ibo-navigation-menu--menu--placeholder--width; margin-top: $ibo-navigation-menu--menu--placeholder--margin-top; } .ibo-navigation-menu--menu--placeholder-image > svg{ display: block; width: $ibo-navigation-menu--menu--placeholder-image--svg--width; height: $ibo-navigation-menu--menu--placeholder-image--svg--height; margin: $ibo-navigation-menu--menu--placeholder-image--svg--margin; } .ibo-navigation-menu--menu--placeholder-hint{ margin-top: $ibo-navigation-menu--menu--placeholder-hint--margin-top; text-align: center; @extend %ibo-font-ral-ita-100; } /* - Menu groups */ .ibo-navigation-menu--menu-groups{ overflow-y: auto; overflow-x: hidden; margin: $ibo-navigation-menu--menu-groups--margin-top calc(-1 * #{$ibo-navigation-menu--drawer--padding-x}) 0 calc(-1 * #{$ibo-navigation-menu--drawer--padding-x}); padding-left: $ibo-navigation-menu--drawer--padding-x; padding-right: $ibo-navigation-menu--drawer--padding-x; width: inherit; /* Re-establishing it to fill the full width, still not understood yet */ } /* - Menu nodes */ .ibo-navigation-menu--menu-nodes{ display: none; ul{ li{ > a, > span{ margin: $ibo-navigation-menu--menu-node--margin-y $ibo-navigation-menu--menu-node--margin-x; padding: $ibo-navigation-menu--menu-node--padding-y $ibo-navigation-menu--menu-node--padding-x; border-radius: 0; color: $ibo-navigation-menu--menu-node--text-color; @extend %ibo-font-ral-nor-150; } > a{ color: $ibo-navigation-menu--menu-node--hyperlink-color; &:hover{ background-color: $ibo-navigation-menu--menu-node--background-color; border-radius: $ibo-navigation-menu--menu-node--border-radius; } } } ul{ padding-left: $ibo-navigation-menu--drawer--padding-x; } } &.ibo-is-active{ display: block; } } .ibo-navigation-menu--menu-nodes-title{ margin-top: $ibo-navigation-menu--menu-nodes-title--margin-top; margin-bottom: $ibo-navigation-menu--menu-nodes-title--margin-bottom; word-break: break-word; /* Ensure that long words wrap instead of being clipped */ @extend %ibo-font-ral-nor-350; } /* - Menu node */ .ibo-navigation-menu--menu-node-title{ display: flex; justify-content: space-between; align-items: center; } .ibo-navigation-menu--menu-node-counter { margin-left: $ibo-navigation-menu--menu-node-counter--margin-left; padding: $ibo-navigation-menu--menu-node-counter--padding-y $ibo-navigation-menu--menu-node-counter--padding-x; width: $ibo-navigation-menu--menu-node-counter--width; min-width: $ibo-navigation-menu--menu-node-counter--width; text-align: center; @extend %ibo-font-ral-bol-100; background: $ibo-navigation-menu--menu-node-counter--background-color; border-radius: 5px; } /* - Notifications menu */ .ibo-navigation-menu--notifications{ position: relative; display: flex; flex-direction: column; align-content: center; } .ibo-navigation-menu--notifications-toggler{ position: relative; font-size: $ibo-navigation-menu--notifications-toggler--font-size; color: $ibo-navigation-menu--notifications-toggler--color; &:hover, &.ibo-is-loaded:hover{ color: $ibo-navigation-menu--notifications-toggler--color--on-hover; } &.ibo-is-loaded{ color: $ibo-navigation-menu--notifications-toggler--color--is-loaded; &:not(.ibo-is-empty) .ibo-navigation-menu--notifications-toggler--new-messages{ display: inline; } } .ibo-navigation-menu--notifications-toggler--new-messages{ top: $ibo-navigation-menu--notifications-toggler--new-messages--top; right: $ibo-navigation-menu--notifications-toggler--new-messages--right; width: $ibo-navigation-menu--notifications-toggler--new-messages--size; height: $ibo-navigation-menu--notifications-toggler--new-messages--size; } } .ibo-navigation-menu--user-notifications--toggler{ position: relative; &.ibo-is-loaded{ color: $ibo-navigation-menu--notifications-toggler--color--is-loaded; &:not(.ibo-is-empty) .ibo-navigation-menu--notifications-toggler--new-messages{ display: inline; } } .ibo-navigation-menu--notifications-toggler--new-messages { top: $ibo-navigation-menu--user-notifications--notifications-toggler--new-messages--top; right: $ibo-navigation-menu--user-notifications--notifications-toggler--new-messages--right; width: $ibo-navigation-menu--user-notifications--notifications-toggler--new-messages--width; height: $ibo-navigation-menu--user-notifications--notifications-toggler--new-messages--height; } } .ibo-navigation-menu--notifications-toggler--new-messages{ position: absolute; display: none; background-color: $ibo-navigation-menu--notifications-toggler--new-messages--background-color; border: $ibo-navigation-menu--notifications-toggler--new-messages--border; border-radius: $ibo-navigation-menu--notifications-toggler--new-messages--border-radius; } .ibo-navigation-menu--user-info{ @extend %ibo-fully-centered-content; justify-content: space-between; flex-direction: column; .ibo-navigation-menu--user-picture{ @extend %ibo-fully-centered-content; width: $ibo-navigation-menu--user-picture--size--is-collapsed; height: $ibo-navigation-menu--user-picture--size--is-collapsed; overflow: hidden; /* Crop the image, for example when tall but narrow, it would overlap on top and bottom */ background-color: $ibo-navigation-menu--user-picture--background-color; border-radius: $ibo-navigation-menu--user-picture--border-radius; .ibo-navigation-menu--user-picture--image{ display: flex; max-width: $ibo-navigation-menu--user-picture--size--is-collapsed; max-height: $ibo-navigation-menu--user-picture--size--is-collapsed; } } .ibo-navigation-menu--user-welcome-message, .ibo-navigation-menu--user-organization, .ibo-navigation-menu--user-notifications { display: none; text-align: center; color: $ibo-navigation-menu--user--text-color; } .ibo-navigation-menu--user-welcome-message { @extend %ibo-font-ral-nor-250; .ibo-navigation-menu--user-welcome-message--text, .ibo-navigation-menu--user-welcome-message--toggler { color: $ibo-navigation-menu--user--text-color; } } .ibo-navigation-menu--user-welcome-message--toggler { padding-left: $ibo-navigation-menu--user-welcome-message--toggler--padding-left; } .ibo-navigation-menu--user-notifications { @extend %ibo-font-ral-nor-150; .ibo-navigation-menu--user-notifications--text { color: $ibo-navigation-menu--user--text-color; } .ibo-navigation-menu--user-notifications--toggler--icon { padding-left: $ibo-navigation-menu--user-notifications--toggler--icon--padding-left; } } .ibo-navigation-menu--user-organization { @extend %ibo-font-ral-nor-100; color: $ibo-navigation-menu--user-organization--text-color; } .ibo-navigation-menu--user-menu-container { position: absolute; bottom: 10px; .ibo-popover-menu > .ibo-popover-menu--section:nth-child(odd) { background-color: $ibo-navigation-menu--user-menu--popover-menu--odd-section--background-color; } } }