gitlab-org--gitlab-foss/app/assets/stylesheets/bootstrap_migration_components.scss

216 lines
4 KiB
SCSS

// ---
// Scss to help with bootstrap 3 to 4 migration of bootstrap components
// ---
.form-control,
.search form {
// Override default font size used in non-csslab UI
// Use rem to keep default font-size at 14px on body so 1rem still
// fits 8px grid, but also allow users to change browser font size
font-size: 0.875rem;
}
/* Our adjustments to hx & .hx above add unnecessary margins to modal-title
and page-title in modals, so we set them to 0 in order to have properly
formatted modal headers. */
.modal-header {
.modal-title,
.page-title {
margin-top: 0;
margin-bottom: 0;
}
}
input[type='file'] {
// Bootstrap 4 file input height is taller by default
// which makes them look ugly
line-height: 1;
}
.form-group.row .col-form-label {
// Bootstrap 4 aligns labels to the left
// for horizontal forms
@include media-breakpoint-up(md) {
text-align: right;
}
}
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
.d#{$infix}-table-header-group {
display: table-header-group !important;
}
}
}
.text-secondary {
// Override Bootstrap's light secondary color
// We have to use !important because bootstrap has that set as well
color: $gl-text-color-secondary !important;
}
.bg-success,
.bg-primary,
.bg-info,
.bg-danger,
.bg-warning {
.card-header {
color: $white;
}
}
// Polyfill deprecated selectors
.hidden {
display: none !important;
visibility: hidden !important;
}
.hide {
display: none;
}
.dropdown-toggle::after,
.dropright .dropdown-menu-toggle::after {
// Remove bootstrap's dropdown caret
display: none;
}
// Add to .label so that old system notes that are saved to the db
// will still receive the correct styling
.badge:not(.gl-badge),
.label {
padding: 4px 5px;
font-size: 12px;
font-style: normal;
font-weight: $gl-font-weight-normal;
display: inline-block;
&.badge-gray {
background-color: $label-gray-bg;
color: $gl-text-color;
text-shadow: none;
}
&.badge-inverse {
background-color: $label-inverse-bg;
}
}
.divider {
// copied rules from node_modules/bootstrap/scss/_dropdown.scss:116
// this might be safe to just remove instead
// most places that use divider add overrides to undo these things
// there is also a probably-unintentional use in deprecated_dropdown_divider.scss
// so we would end up with .gl-dropdown .dropdown-divider
height: 0;
margin: 4px 0;
overflow: hidden;
border-top: 1px solid $border-color;
}
.info-well {
background: $gray-10;
color: $gl-text-color;
border: 1px solid $border-color;
border-radius: 4px;
margin-bottom: 16px;
.well-segment {
padding: 16px;
&:not(:last-of-type) {
border-bottom: 1px solid $well-inner-border;
}
p,
ol,
ul,
.form-group {
&:last-of-type {
margin-bottom: 0;
}
}
}
.badge.badge-gray {
background-color: $well-expand-item;
}
}
.card {
&.card-without-border,
&.bg-light {
border: 0 !important;
}
}
.nav-tabs {
// Override bootstrap's default border
border-bottom: 0;
.nav-link {
border-top: 0;
border-left: 0;
border-right: 0;
}
.nav-item {
margin-bottom: 0;
}
}
.alert {
border-radius: 0;
}
.alert-success {
background-color: $green-500;
border-color: $green-500;
}
.alert-info {
background-color: $blue-500;
border-color: $blue-500;
}
.alert-warning {
background-color: $orange-500;
border-color: $orange-500;
}
.alert-danger {
background-color: $red-500;
border-color: $red-500;
}
.alert-success,
.alert-info,
.alert-warning,
.alert-danger {
color: $white;
h4,
.alert-link {
color: $white;
}
}
input[type=color].form-control {
height: $input-height;
}
.toggle-sidebar-button {
.collapse-text,
.icon-chevron-double-lg-left,
.icon-chevron-double-lg-right {
color: $gl-text-color-secondary;
}
}
.project-templates-buttons {
.btn {
vertical-align: unset;
}
}