gitlab-org--gitlab-foss/app/assets/stylesheets/framework/sidebar.scss

282 lines
5.2 KiB
SCSS

.content-wrapper {
width: 100%;
.container-fluid {
padding: 0 $gl-padding;
&.container-blank {
background: none;
padding: 0;
border: 0;
}
}
}
.page-initialised .content-wrapper {
transition: padding $sidebar-transition-duration;
}
.right-sidebar-collapsed {
padding-right: 0;
&:not(.is-merge-request) {
@include media-breakpoint-up(sm) {
&:not(.wiki-sidebar):not(.build-sidebar):not(.issuable-bulk-update-sidebar) .content-wrapper {
padding-right: $gutter-collapsed-width;
}
}
}
&.is-merge-request {
@include media-breakpoint-up(lg) {
.content-wrapper {
padding-right: $gutter-collapsed-width;
}
}
}
.sidebar-collapsed-icon {
.btn {
background-color: $gray-light;
}
&:not(.disabled) {
cursor: pointer;
}
svg {
width: $gl-padding;
height: $gl-padding;
}
}
}
.right-sidebar-expanded {
padding-right: 0;
z-index: $zindex-dropdown-menu;
&.right-sidebar-merge-requests {
width: 300px;
@include media-breakpoint-up(md) {
z-index: auto;
}
.shortcut-sidebar-dropdown-toggle {
margin-right: 0 !important;
}
}
@include media-breakpoint-only(sm) {
&:not(.wiki-sidebar):not(.build-sidebar):not(.issuable-bulk-update-sidebar) .content-wrapper {
padding-right: $gutter-collapsed-width;
}
}
&:not(.is-merge-request) {
@include media-breakpoint-up(md) {
.content-wrapper {
padding-right: $gutter-width;
}
}
}
}
.right-sidebar {
border-left: 1px solid $gray-100;
&.right-sidebar-merge-requests {
@include media-breakpoint-up(lg) {
border-left: 0;
}
}
&:not(.right-sidebar-merge-requests) {
.sidebar-container,
.issuable-sidebar {
// Add 100px so that potentially visible vertical scroll bar is hidden
width: calc(100% + 100px);
}
}
}
@mixin maintain-sidebar-dimensions {
display: block;
width: $gutter-width;
}
.issues-bulk-update.right-sidebar {
@include maintain-sidebar-dimensions;
width: 0;
padding: 0;
transition: width $sidebar-transition-duration;
&.right-sidebar-expanded {
@include maintain-sidebar-dimensions;
width: $gutter-width;
.issuable-sidebar-header {
// matches `.top-area .nav-controls` for issuable index pages
padding: 11px 0;
}
.block:last-of-type {
border: 0;
}
}
&.right-sidebar-collapsed {
@include maintain-sidebar-dimensions;
width: 0;
padding: 0;
.block {
padding: 16px 0;
width: 250px;
border-bottom: 1px solid $border-color;
}
}
.issuable-sidebar {
padding: 0 3px;
}
}
.issuable-sidebar .labels {
.value.dont-hide ~ .selectbox {
padding-top: $gl-padding-8;
}
// This is for sidebar components using gl-button for the Edit button to be consistent with the
// rest of the sidebar, and could be removed once the sidebar has been fully converted to use
// gitlab-ui components.
.title .gl-button {
font-weight: $gl-font-weight-bold;
.gl-button {
color: $gl-text-color;
}
}
}
.pikaday-container {
.pika-single {
margin-top: 2px;
width: 250px;
}
.dropdown-menu-toggle {
line-height: 20px;
}
}
.sidebar-collapsed-icon .sidebar-collapsed-value {
font-size: 12px;
}
.ancestor-tree {
.vertical-timeline {
position: relative;
list-style: none;
margin: 0;
padding: 0;
&::before {
content: '';
border-left: 1px solid $gray-300;
position: absolute;
top: $gl-padding;
bottom: $gl-padding;
left: map-get($spacers, 2) - px-to-rem(1px);
}
&-row {
margin-top: map-get($spacers, 3);
&:nth-child(1) {
margin-top: 0;
}
}
&-icon {
/**
* 2px extra is to give a little more height than needed
* to hide timeline line before/after the element starts/ends
*/
height: map-get($spacers, 4) + px-to-rem(2px);
z-index: 1;
position: relative;
top: -3px;
padding: $gl-padding-4 0;
background-color: $gray-light;
&.opened {
color: $green-500;
}
&.closed {
color: $blue-500;
}
}
&-content {
line-height: initial;
margin-left: $gl-padding-8;
}
}
}
.health-status {
.dropdown-body {
.health-divider {
border-top-color: $gray-100;
}
.dropdown-item:not(.health-dropdown-item) {
padding: 0;
}
}
}
.toggle-right-sidebar-button {
@include side-panel-toggle;
border-bottom: 1px solid $border-color;
}
.edit-link {
margin-right: -$gl-spacing-scale-2;
}
.issuable-sidebar.is-merge-request .edit-link {
margin-right: 0;
}
.assignee-grid {
grid-template-areas: ' attention user';
grid-template-columns: min-content 1fr;
}
.reviewer-grid {
grid-template-areas: ' user approval rerequest';
grid-template-columns: 1fr min-content min-content;
&.attention-requests {
grid-template-areas: ' attention user approval';
grid-template-columns: min-content 1fr min-content;
}
}
.assignee-grid,
.reviewer-grid {
[data-css-area='attention'] {
grid-area: attention;
button.selected svg {
fill: $orange-500;
}
}
[data-css-area='user'] {
grid-area: user;
}
}