gitlab-org--gitlab-foss/app/assets/stylesheets/pages/issuable.scss

987 lines
17 KiB
SCSS
Raw Normal View History

2017-09-14 07:01:07 -04:00
.issuable-warning-icon {
background-color: $orange-50;
2017-08-07 21:38:15 -04:00
border-radius: $border-radius-default;
2017-09-14 07:01:07 -04:00
width: $issuable-warning-size;
height: $issuable-warning-size;
text-align: center;
margin-right: $issuable-warning-icon-margin;
line-height: $gl-line-height-24;
2017-10-06 07:32:39 -04:00
.icon {
fill: $orange-600;
vertical-align: text-bottom;
2017-10-06 07:32:39 -04:00
}
2017-08-07 19:56:16 -04:00
}
.limit-container-width {
.detail-page-header,
.page-content-header,
.commit-box,
.info-well,
.commit-ci-menu,
.files-changed-inner,
.limited-header-width,
.limited-width-notes {
@include fixed-width-container;
}
.issuable-details {
.detail-page-description,
.mr-source-target,
.mr-state-widget,
.merge-manually {
@include fixed-width-container;
}
}
.merge-request-details {
.emoji-list-container {
@include fixed-width-container;
}
}
}
.issuable-details {
section {
.issuable-discussion {
margin-right: 1px;
}
}
.title-container {
display: flex;
align-items: flex-start;
}
.title {
padding: 0;
2017-11-28 14:07:25 -05:00
margin-bottom: $gl-padding;
2017-11-02 19:59:51 -04:00
border-bottom: 0;
word-wrap: break-word;
overflow-wrap: break-word;
min-width: 0;
width: 100%;
text-align: initial;
}
.btn-edit {
margin-left: auto;
}
2017-05-19 17:05:51 -04:00
.emoji-block {
padding: $gl-padding-4 0;
@include media-breakpoint-down(md) {
padding: $gl-padding-8 0;
}
2017-05-19 17:05:51 -04:00
}
}
2015-12-03 14:01:35 -05:00
.issuable-show-labels {
.gl-label {
2015-12-03 14:01:35 -05:00
margin-bottom: 5px;
2018-02-28 06:13:10 -05:00
margin-right: 5px;
}
a {
2015-12-03 14:01:35 -05:00
display: inline-block;
2015-12-03 14:01:35 -05:00
.color-label {
padding: 4px $grid-size;
border-radius: $label-border-radius;
margin-right: 4px;
margin-bottom: 4px;
2015-12-03 14:01:35 -05:00
}
2017-12-04 06:00:52 -05:00
&:hover .color-label {
text-decoration: underline;
}
2015-12-03 14:01:35 -05:00
}
&.has-labels {
2018-02-28 06:13:10 -05:00
// this font size is a fix to
// prevent unintended spacing between labels
// which shows up when rendering markup has white-space
// characters present.
// see: https://css-tricks.com/fighting-the-space-between-inline-block-elements/#article-header-id-3
font-size: 0;
margin-bottom: -5px;
}
2015-12-03 14:01:35 -05:00
}
.assignee,
.reviewer {
.merge-icon {
color: $orange-400;
position: absolute;
bottom: 0;
right: 0;
text-shadow: -1px -1px 2px $white, 1px -1px 2px $white, -1px 1px 2px $white, 1px 1px 2px $white;
}
}
.right-sidebar {
position: fixed;
2017-07-12 05:50:26 -04:00
top: $header-height;
bottom: 0;
right: 0;
transition: width $sidebar-transition-duration;
2017-07-12 05:50:26 -04:00
background: $gray-light;
z-index: 200;
overflow: hidden;
@include media-breakpoint-down(sm) {
z-index: 251;
}
a:not(.btn) {
2016-03-21 05:07:53 -04:00
color: inherit;
&:hover {
2018-08-14 12:44:08 -04:00
color: $blue-800;
.avatar {
border-color: rgba($gray-normal, 0.2);
}
}
}
.gl-label .gl-label-link:hover {
text-decoration: none;
color: inherit;
.gl-label-text:last-of-type {
text-decoration: underline;
}
}
.btn-link {
color: inherit;
}
// TODO remove this class once we can generate a correct hover utility from `gitlab/ui`,
// see here: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39286#note_396767000
.btn-link-hover:hover {
* {
@include gl-text-blue-800;
}
}
.issuable-header-text {
margin-top: 7px;
}
.gutter-toggle {
margin-left: 20px;
padding-left: 10px;
&:hover {
color: $gl-text-color;
}
&:hover,
&:focus {
text-decoration: none;
}
}
.block {
@include clearfix;
padding: $gl-padding 0;
2016-12-12 17:26:21 -05:00
border-bottom: 1px solid $border-gray-normal;
// This prevents the mess when resizing the sidebar
// of elements repositioning themselves..
2018-07-24 17:17:49 -04:00
width: $gutter-inner-width;
// --
&.issuable-sidebar-header {
padding-top: 0;
padding-bottom: 10px;
2016-01-27 22:50:18 -05:00
}
&:last-child {
2017-11-02 19:59:51 -04:00
border: 0;
}
2016-01-27 22:50:18 -05:00
2016-02-05 18:29:17 -05:00
.select2-container span {
margin-top: 0;
}
2017-12-04 06:00:52 -05:00
&.assignee {
.author-link {
display: block;
position: relative;
&:hover {
.author {
text-decoration: underline;
}
}
2017-12-04 06:00:52 -05:00
}
}
}
.block-first {
padding-top: 0;
}
.title {
color: $gl-text-color;
margin-bottom: $gl-padding-4;
line-height: $gl-line-height-20;
2015-11-11 08:12:51 -05:00
.avatar {
margin-left: 0;
2015-11-11 08:12:51 -05:00
}
}
.cross-project-reference,
.sidebar-mr-source-branch {
2016-03-21 05:07:53 -04:00
color: inherit;
span {
white-space: nowrap;
2016-01-07 15:25:38 -05:00
width: 85%;
overflow: hidden;
position: relative;
display: inline-block;
text-overflow: ellipsis;
}
2015-11-17 06:16:16 -05:00
cite {
font-style: normal;
}
button {
float: right;
padding: 1px 5px;
background-color: $gray-light;
2015-11-17 06:16:16 -05:00
}
}
.selectbox {
display: none;
&.show {
display: block;
}
}
.btn-clipboard:hover {
2016-12-30 15:18:27 -05:00
color: $gl-text-color;
2015-11-11 08:12:51 -05:00
}
.issuable-sidebar {
height: 100%;
overflow-y: scroll;
overflow-x: hidden;
-webkit-overflow-scrolling: touch;
}
2016-01-27 22:50:18 -05:00
2017-07-24 08:21:34 -04:00
&.affix-top .issuable-sidebar {
height: 100%;
}
&.right-sidebar-expanded {
2018-07-24 17:17:49 -04:00
width: $gutter-width;
2016-01-28 20:36:48 -05:00
.value {
line-height: 1;
.assign-yourself {
margin-top: 10px;
display: block;
}
}
.issuable-sidebar {
padding: 0 20px;
}
.issuable-sidebar-header {
padding-top: 10px;
}
2017-08-16 20:47:59 -04:00
&:not(.issue-boards-sidebar):not([data-signed-in]):not([data-always-show-toggle]) {
2017-06-27 04:06:35 -04:00
.issuable-sidebar-header {
display: none;
}
}
.assign-yourself .btn-link {
padding-left: 0;
}
.light {
font-weight: $gl-font-weight-normal;
}
2017-11-10 18:41:04 -05:00
.no-value,
.btn-default-hover-link,
2017-11-10 18:41:04 -05:00
.btn-secondary-hover-link {
2016-12-30 15:18:27 -05:00
color: $gl-text-color-secondary;
}
2017-11-10 18:41:04 -05:00
.btn-secondary-hover-link:hover {
2018-08-14 12:44:08 -04:00
color: $blue-600;
2017-11-10 18:41:04 -05:00
}
.sidebar-collapsed-icon {
display: none;
}
.gutter-toggle {
margin-top: 7px;
2016-12-12 17:26:21 -05:00
border-left: 1px solid $border-gray-normal;
2017-11-10 18:41:04 -05:00
text-align: center;
}
2017-06-27 04:06:35 -04:00
.title .gutter-toggle {
margin-top: 0;
}
.assignee .user-list .avatar {
margin: 0;
}
.hide-expanded {
display: none;
}
}
&.right-sidebar-collapsed {
/* Extra small devices (phones, less than 768px) */
display: none;
/* Small devices (tablets, 768px and up) */
2018-04-09 11:26:28 -04:00
@include media-breakpoint-up(sm) {
display: block;
2016-03-02 12:17:26 -05:00
}
2018-07-24 17:17:49 -04:00
width: $gutter-collapsed-width;
padding: 0;
2016-01-28 20:36:48 -05:00
.block {
2018-07-24 17:17:49 -04:00
width: $gutter-collapsed-width - 2px;
padding: 0;
2017-11-02 19:59:51 -04:00
border-bottom: 0;
overflow: hidden;
&.with-sub-blocks .sub-block:hover,
&:not(.with-sub-blocks):hover {
background-color: $gray-100;
}
&.issuable-sidebar-header {
padding-top: 0;
}
2016-01-28 20:36:48 -05:00
}
2016-02-05 18:21:50 -05:00
.participants {
2016-12-12 17:26:21 -05:00
border-bottom: 1px solid $border-gray-normal;
}
.hide-collapsed {
display: none;
}
.gutter-toggle {
width: 100%;
height: $sidebar-toggle-height;
margin-left: 0;
padding-left: 0;
border-bottom: 1px solid $border-white-normal;
}
a.gutter-toggle {
display: flex;
justify-content: center;
flex-direction: column;
text-align: center;
}
.sidebar-collapsed-icon {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
height: $sidebar-toggle-height;
2016-01-28 19:27:42 -05:00
text-align: center;
color: $gl-text-color-secondary;
2016-01-28 20:36:48 -05:00
2017-08-04 15:37:00 -04:00
svg {
fill: $gl-text-color-secondary;
2017-08-04 15:37:00 -04:00
}
2017-11-10 18:41:04 -05:00
&:hover:not(.disabled),
2017-03-27 08:33:20 -04:00
&:hover .todo-undone {
2016-12-30 15:18:27 -05:00
color: $gl-text-color;
2017-08-04 15:37:00 -04:00
svg {
fill: $gl-text-color;
}
}
.sidebar-avatar-counter {
padding-top: 2px;
}
.todo-undone {
2018-08-14 12:44:08 -04:00
color: $blue-600;
fill: $blue-600;
}
.author {
display: none;
}
.avatar-counter:hover {
color: $gl-text-color-secondary;
border-color: $gl-text-color-secondary;
}
.btn-clipboard {
/*
This change should be temporary, because the DOM currently gets
generated from a ruby definition in `app/helpers/button_helper.rb`.
As soon as the `copy to clipboard` button will be transfered to
Vue this should be adjusted as well.
*/
flex: 1;
align-self: stretch;
padding: 0;
2017-11-02 19:59:51 -04:00
border: 0;
background: transparent;
color: $gl-text-color-secondary;
&:hover {
2016-12-30 15:18:27 -05:00
color: $gl-text-color;
}
}
&.multiple-users {
display: flex;
justify-content: center;
}
}
.sidebar-avatar-counter {
width: 24px;
height: 24px;
border-radius: 12px;
}
.sidebar-collapsed-user {
padding-bottom: 0;
.author-link {
padding-left: 0;
.avatar {
position: static;
margin: 0;
}
}
}
.issuable-header-btn {
display: none;
}
.merge-icon {
font-size: 10px;
}
.multiple-users {
position: relative;
height: 24px;
margin-bottom: 17px;
margin-top: 4px;
padding-bottom: 4px;
.btn-link {
padding: 0;
border: 0;
.avatar {
margin: 0;
}
}
.btn-link:first-child {
position: absolute;
left: 10px;
z-index: 1;
}
.btn-link:last-child {
position: absolute;
right: 10px;
&:hover {
text-decoration: none;
}
}
}
2017-12-07 12:37:33 -05:00
.milestone-title span,
.collapse-truncated-title {
@include str-truncated(100%);
display: block;
margin: 0 4px;
}
}
.dropdown-menu-toggle {
width: 100%;
padding-top: 6px;
}
.dropdown-menu {
width: 100%;
/*
* Overwrite hover style for dropdown items, so that they are not blue
* This should be removed during dev of https://gitlab.com/gitlab-org/gitlab-foss/issues/44040
*/
li a {
&:hover,
&:active,
&:focus,
&.is-focused {
@include dropdown-item-hover;
}
}
}
}
.with-performance-bar .right-sidebar {
top: $header-height + $performance-bar-height;
}
.sidebar-move-issue-confirmation-button {
width: 100%;
&.is-loading {
.sidebar-move-issue-confirmation-loading-icon {
display: inline-block;
}
}
}
.sidebar-move-issue-confirmation-loading-icon {
display: none;
}
.detail-page-description {
padding: 16px 0;
small {
color: $gray-500;
}
}
.edited-text {
color: $gray-500;
display: block;
margin: 16px 0 0;
font-size: 85%;
.author-link {
color: $gray-500;
}
}
.participants-list {
2017-10-31 12:15:03 -04:00
display: flex;
flex-wrap: wrap;
}
.user-list {
display: flex;
flex-wrap: wrap;
}
.participants-author {
2017-05-05 12:02:40 -04:00
display: inline-block;
padding: 0 $gl-padding-8 $gl-padding-8 0;
2017-05-05 12:02:40 -04:00
&:nth-of-type(7n) {
padding-right: 0;
}
.author-link {
display: block;
}
.avatar.avatar-inline {
margin: 0;
}
}
.user-item {
display: inline-block;
padding: 5px;
flex-basis: 20%;
.user-link {
display: inline-block;
}
}
.participants-more,
.user-list-more {
margin-left: 5px;
a,
.btn-link {
2016-12-30 15:18:27 -05:00
color: $gl-text-color-secondary;
}
.btn-link {
padding: 0;
}
.btn-link:hover {
@extend a:hover;
text-decoration: none;
}
.btn-link:focus {
text-decoration: none;
}
}
.issuable-status-box {
align-self: stretch;
display: flex;
justify-content: center;
align-items: center;
margin-top: 0;
padding: 0 $gl-padding-8;
2018-04-09 11:26:28 -04:00
@include media-breakpoint-up(sm) {
display: inline-block;
height: auto;
align-self: center;
}
}
.issuable-gutter-toggle {
2018-04-09 11:26:28 -04:00
@include media-breakpoint-down(sm) {
margin-left: $btn-side-margin;
}
}
.issuable-meta {
flex: 1;
display: inline-block;
font-size: 14px;
align-self: center;
overflow: hidden;
text-overflow: ellipsis;
.user-status-emoji {
margin-left: $gl-padding-4;
margin-right: 0;
}
}
.js-issuable-selector-wrap {
.js-issuable-selector {
width: 100%;
}
2018-04-09 11:26:28 -04:00
@include media-breakpoint-down(sm) {
margin-bottom: $gl-padding;
}
}
.issuable-list {
li {
2017-02-08 02:04:00 -05:00
.issue-box {
display: flex;
}
.issuable-info-container {
2017-02-08 02:04:00 -05:00
flex: 1;
2017-06-29 13:34:06 -04:00
display: flex;
.issuable-main-info {
2017-06-29 13:34:06 -04:00
flex: 1 auto;
margin-right: 10px;
min-width: 0;
2018-11-16 08:13:06 -05:00
.issue-weight-icon,
.issue-estimate-icon {
2018-11-16 08:13:06 -05:00
vertical-align: sub;
}
2017-06-29 13:34:06 -04:00
}
.issuable-meta {
display: flex;
flex-direction: column;
align-items: flex-end;
flex: 1 0 auto;
.controls {
margin-bottom: 2px;
line-height: 20px;
padding: 0;
}
.issue-updated-at {
line-height: 20px;
}
}
2018-04-09 11:26:28 -04:00
@include media-breakpoint-down(xs) {
2017-06-29 13:34:06 -04:00
.issuable-meta {
.controls li {
margin-right: 0;
}
}
}
2017-02-07 05:30:44 -05:00
}
.issue-check {
padding-right: $gl-padding;
margin-bottom: 10px;
min-width: 15px;
.selected-issuable {
vertical-align: text-top;
}
}
2017-06-29 13:34:06 -04:00
.issuable-milestone,
.issuable-info,
.task-status,
.issuable-updated-at {
font-weight: $gl-font-weight-normal;
2017-06-29 13:34:06 -04:00
color: $gl-text-color-secondary;
a {
color: $gl-text-color;
}
2017-06-29 13:34:06 -04:00
.gl-label-link {
color: inherit;
&:hover {
text-decoration: none;
.gl-label-text:last-of-type {
text-decoration: underline;
}
2017-06-29 13:34:06 -04:00
}
}
.milestone {
color: $gray-700;
}
2017-06-29 13:34:06 -04:00
}
2018-04-09 11:26:28 -04:00
@media(max-width: map-get($grid-breakpoints, lg)-1) {
2017-06-29 13:34:06 -04:00
.task-status,
.issuable-due-date,
.issuable-weight,
2017-06-29 13:34:06 -04:00
.project-ref-path {
display: none;
}
}
}
}
2016-12-20 09:44:24 -05:00
.issuable-list li,
.issuable-info-container .controls {
.avatar-counter {
display: inline-block;
vertical-align: middle;
min-width: 16px;
line-height: 14px;
height: 16px;
padding-left: 2px;
padding-right: 2px;
}
}
2016-12-20 09:44:24 -05:00
.time_tracker {
padding-bottom: 0;
border-bottom: 0;
.sidebar-collapsed-icon {
> .stopwatch-svg {
display: inline-block;
}
svg {
width: 16px;
height: 16px;
fill: $gl-text-color-secondary;
2016-12-20 09:44:24 -05:00
}
&:hover svg {
2017-01-13 15:35:24 -05:00
fill: $gl-text-color;
2016-12-20 09:44:24 -05:00
}
}
.help-button,
.close-help-button {
cursor: pointer;
}
.compare-meter {
&.over_estimate {
.time-remaining,
.compare-value.spent {
color: $red-500;
2016-12-20 09:44:24 -05:00
}
}
}
.compare-display-container {
display: flex;
justify-content: space-between;
margin-top: 5px;
.compare-display {
font-size: 13px;
2017-01-13 15:35:24 -05:00
color: $compare-display-color;
2016-12-20 09:44:24 -05:00
.compare-value {
2017-01-13 15:35:24 -05:00
color: $gl-text-color;
2016-12-20 09:44:24 -05:00
}
}
}
.time-tracking-help-state {
background: $white;
margin: 16px -20px -20px;
2016-12-20 09:44:24 -05:00
padding: 16px 20px;
border-top: 1px solid $border-gray-light;
border-bottom: 1px solid $border-gray-light;
a:hover {
color: $btn-white-active;
}
}
.help-state-toggle-enter-active {
transition: all 0.8s ease;
2016-12-20 09:44:24 -05:00
}
.help-state-toggle-leave-active {
transition: all 0.5s ease;
2016-12-20 09:44:24 -05:00
}
.help-state-toggle-enter,
.help-state-toggle-leave-active {
opacity: 0;
}
}
.issuable-todo-btn {
.gl-spinner {
display: none;
}
&.is-loading {
.gl-spinner {
display: inline-block;
}
&.sidebar-collapsed-icon {
.issuable-todo-inner {
display: none;
}
}
}
}
2017-06-07 06:18:35 -04:00
.issuable-close-button,
.issuable-close-toggle {
@include transition(border-color, color);
}
.issuable-close-dropdown {
.dropdown-menu {
min-width: 270px;
left: auto;
right: 0;
}
.description {
.text {
margin: 0;
}
}
.dropdown-toggle > .icon {
margin: 0 3px;
}
2017-06-07 06:18:35 -04:00
}
2017-11-10 18:41:04 -05:00
.right-sidebar-collapsed {
.sidebar-grouped-item {
.sidebar-collapsed-icon {
margin-bottom: 0;
}
.sidebar-collapsed-divider {
line-height: 5px;
font-size: 12px;
color: $gray-500;
2017-11-10 18:41:04 -05:00
+ .sidebar-collapsed-icon {
padding-top: 0;
}
}
}
}
.issuable-suggestions svg {
vertical-align: sub;
}
.suggestion-confidential {
color: $orange-500;
}
.suggestion-state-open {
color: $green-500;
}
.suggestion-state-closed {
color: $blue-500;
}
.suggestion-help-hover {
cursor: help;
}
.suggestion-footer {
font-size: 12px;
line-height: 15px;
.avatar {
margin-top: -3px;
border: 0;
}
}
@include media-breakpoint-down(sm) {
// Overriding the following rule with the negative margin
// https://gitlab.com/gitlab-org/gitlab/-/blob/146c43c931c3743a140529307aea616e4aa9ff21/app/assets/stylesheets/framework/sidebar.scss#L1-5
.container-fluid {
.issuable-list,
.issues-filters,
.epics-filters {
margin: 0 (-$gl-padding);
}
}
}