@import 'mixins_and_variables_and_functions'; .is-ghost { opacity: 0.3; pointer-events: none; } .boards-app { height: calc(#{$calc-application-viewport-height} - var(--header-height, 48px)); display: flex; flex-direction: column; @include media-breakpoint-up(sm) { transition: width $gl-transition-duration-medium; width: 100%; &.is-compact { width: calc(100% - #{$right-sidebar-width}); } } } .boards-list, .board-swimlanes { flex-grow: 1; border-left: 8px solid var(--gray-10, $white); min-height: calc(#{$calc-application-viewport-height} - var(--header-height)); @include media-breakpoint-up(sm) { min-height: 0; } } .board { width: calc(85vw - 15px); @include media-breakpoint-up(sm) { width: 400px; } &.board-add-new-list { @include media-breakpoint-down(sm) { width: 100%; } } &.is-collapsed { .board-title-text > span, .issue-count-badge > span { height: 16px; // Force the height to be equal to the parent's width while centering the contents. // The contents *should* be about 16 px. // We do this because the flow of elements isn't affected by the rotate transform, so we must ensure that a // rotated element has square dimensions so it won't overlap with its siblings. margin: calc(50% - 8px) 0; max-width: 50vh; transform-origin: center; } } } // to highlight columns we have animated pulse of box-shadow // we don't want to actually animate the box-shadow property // because that causes costly repaints. Instead we can add a // pseudo-element that is the same size as our element, then // animate opacity/transform to give a soothing single pulse .board-column-highlighted::after { @include gl-focus; content: ''; position: absolute; top: -1px; bottom: -1px; left: -1px; right: -1px; pointer-events: none; opacity: 0; border-radius: $border-radius-default; animation-name: board-column-flash-border; animation-duration: 1.2s; animation-fill-mode: forwards; animation-timing-function: ease-in-out; } @keyframes board-column-flash-border { 0%, 100% { opacity: 0; } 25%, 75% { opacity: 1; } } .board-card { background: var(--gray-10, $white); box-shadow: 0 1px 2px rgba(var(--black, $black), 0.1); &:last-child { @include gl-mb-0; } .move-to-position { visibility: hidden; } &:hover .move-to-position { visibility: visible; } @include media-breakpoint-down(sm) { .move-to-position { visibility: visible; } } } .board-card-title a { @include media-breakpoint-down(md) { font-size: $gl-font-size-sm; } } .board-card-assignee { .avatar-counter { min-width: $gl-padding-24; height: $gl-padding-24; border-radius: $gl-padding-24; font-size: $gl-font-size-xs; position: relative; @include media-breakpoint-down(md) { min-width: auto; height: $gl-padding; border-radius: $gl-padding; line-height: $gl-padding; } } .user-avatar-link { &:not(:last-of-type) { @include gl-mr-n3; } } .avatar { @include media-breakpoint-down(md) { width: $gl-padding; height: $gl-padding; } } @include media-breakpoint-down(md) { margin-bottom: 0 !important; } } .board-card-number { @include media-breakpoint-down(md) { font-size: $gl-font-size-sm; } } .board-list-count { font-size: 13px; } .board-card-info { &.board-card-weight:hover { color: initial; } .board-card-info-icon { vertical-align: text-top; } @include media-breakpoint-down(md) { font-size: $label-font-size; } } .board-item-path.js-show-tooltip { cursor: help; } .issue-boards-content:not(.breadcrumbs) { isolation: isolate; } .issue-boards-content.is-focused { $focus-mode-z-index: 9000; position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: var(--white, $white); z-index: $focus-mode-z-index; @include media-breakpoint-down(sm) { padding-top: 10px; } .boards-app { height: 100vh; } // Use !important for these as top and z-index are set on style attribute // in gitlab-ui; https://gitlab.com/gitlab-org/gitlab-ui/-/issues/1805 ~ #js-right-sidebar-portal .boards-sidebar { top: 0 !important; z-index: calc(#{$focus-mode-z-index} + 1) !important; } } .boards-sidebar { top: $calc-application-header-height !important; height: auto; bottom: $calc-application-footer-height; padding-bottom: 0.5rem; .sidebar-collapsed-icon { @include gl-display-none; } .show.dropdown .dropdown-menu { @include gl-w-full; } } .board-card-skeleton { height: 110px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); .board-card-skeleton-inner { width: 340px; height: 100px; } }