UNPKG

@atlassian/aui

Version:

Atlassian User Interface library

171 lines (143 loc) 5.53 kB
@import 'aui-sidebar-config.less'; @import (reference) 'imports/mixins.less'; // // Imported by aui-sidebar. // // Implements grouping strategies for sidebar items. The various group // types are wrappers around the base aui-nav pattern. Different groups // behave and are styled differently depending on whether the sidebar // is expanded or collapsed. // // // Sidebar navigation grouping // .aui-sidebar { .aui-sidebar-group { // Note: these margins should collapse with those of aui-nav itself. margin-top: (@aui-sidebar-grid * 2); margin-bottom: @aui-sidebar-grid; padding: 0 @aui-sidebar-gutter; .aui-nav-heading { padding: 0 (@aui-sidebar-spacing - @aui-sidebar-gutter); } } //----------------------- // Sidebar narrow state - add collapsed styles. //----------------------- &[aria-expanded="false"] { // Replaces aui-nav with a default image to reflect nested content .aui-sidebar-group { // by default, groups collapse and are meant to look like clickable buttons. #aui-nav.item-base(@aui-sidebar-nav-link-expected-height); #aui-nav.item-style(normal); background: url(images/icons/sidebar/icon-group.svg) 50% center no-repeat; cursor: pointer; height: @aui-sidebar-icon-size; margin-left: @aui-sidebar-grid; margin-right: @aui-sidebar-grid; position: relative; &:focus, &:hover { #aui-nav.item-style(hover); } &.active { #aui-nav.item-style(selected); } > .aui-nav { display: none; } // remove the faux button effect; these things are still groups. &.aui-sidebar-group-actions, &.aui-sidebar-group-tier-one { background: none; border-radius: 0; cursor: auto; padding: 0; } } // make the group actions look like a special kind of rounded button. .aui-sidebar-group-actions { margin: @aui-sidebar-grid 0 @aui-sidebar-spacing 0; height: @aui-icon-size-large; &::after { @aui-sidebar-group-actions-border-width: 1px; background: url(images/icons/sidebar/icon-group-actions.svg) no-repeat center center; background-size: @aui-sidebar-icon-size; border: @aui-sidebar-group-actions-border-width solid transparent; border-radius: 50%; content: ""; display: block; height: @aui-icon-size-large; left: 0; margin-left: ((@aui-sidebar-collapsed-width - @aui-sidebar-header-avatar-collapsed - (@aui-sidebar-group-actions-border-width * 2)) / 2); margin-right: ((@aui-sidebar-collapsed-width - @aui-sidebar-header-avatar-collapsed - (@aui-sidebar-group-actions-border-width * 2)) / 2); position: absolute; top: 0; width: @aui-icon-size-large; } &:hover, &:focus, &.active { &::after { background-color: @aui-button-default-active-bg-color; border-color: @aui-button-default-active-bg-color; } } } // use when the nav items have icons - shows the icon in the collapsed state .aui-sidebar-group-tier-one { background: none; height: auto; &:after { display: none; } &:focus, &:hover { background-color: transparent; } .aui-nav { display: block; height: auto; > li { display: block; > .aui-nav-item { padding-left: 0; padding-right: 0; text-align: center; // Adjust the position of the icon > .aui-icon { float: none; margin: 0 auto; } &.active { #aui-nav.item-style(selected); } } // visually hide the labels while allowing screen readers to still see them .aui-nav-item-label { #aui.visually-hidden(); } // remove any top level twixy expand/collapse triggers > .aui-nav-subtree-toggle { display: none; } .aui-nav-item-actions { display: none; } } // remove nested navs - contents to be sucked into fly-out menus .aui-nav { display: none; } } } .aui-sidebar-group ~ .aui-sidebar-group { border-top: @aui-nav-actions-list-divider-size solid @aui-nav-group-divider-color; margin-top: @aui-sidebar-spacing; padding-top: @aui-sidebar-grid; } } // END Collapsed state } // END Sidebar //-----------------------