@import '../page_bundles/mixins_and_variables_and_functions'; /** * Styles the GitLab application with a specific color theme */ @mixin gitlab-theme( $search-and-nav-links, $accent, $border-and-box-shadow, $sidebar-text, $nav-svg-color, $color-alternate ) { // Set custom properties --gl-theme-accent: #{$accent}; // Header .navbar-gitlab { background-color: $nav-svg-color; .navbar-collapse { color: $search-and-nav-links; } .container-fluid { .navbar-toggler { border-left: 1px solid lighten($border-and-box-shadow, 10%); color: $search-and-nav-links; } } .navbar-sub-nav, .navbar-nav { > li { > a, > button { &:hover, &:focus { background-color: rgba($search-and-nav-links, 0.2); } } &.active, &.dropdown.show { > a, > button { color: $nav-svg-color; background-color: $color-alternate; } } &.line-separator { border-left: 1px solid rgba($search-and-nav-links, 0.2); } } } .navbar-sub-nav { color: $search-and-nav-links; } .nav { > li { color: $search-and-nav-links; &.header-search-new { color: $sidebar-text; } > a { .notification-dot { border: 2px solid $nav-svg-color; } &.header-help-dropdown-toggle { .notification-dot { background-color: $search-and-nav-links; } } &.header-user-dropdown-toggle { .header-user-avatar { border-color: $search-and-nav-links; } } &:hover, &:focus { @include media-breakpoint-up(sm) { background-color: rgba($search-and-nav-links, 0.2); } svg { fill: currentColor; } .notification-dot { will-change: border-color, background-color; // stylelint-disable-next-line border-color: $nav-svg-color + 33; } &.header-help-dropdown-toggle .notification-dot { background-color: $white; } } } &.active > a, &.dropdown.show > a { color: $nav-svg-color; background-color: $color-alternate; &:hover { svg { fill: $nav-svg-color; } } .notification-dot { border-color: $white; } &.header-help-dropdown-toggle { .notification-dot { background-color: $nav-svg-color; } } } .impersonated-user, .impersonated-user:hover { svg { fill: $nav-svg-color; } } } } } .navbar .title { > a { &:hover, &:focus { background-color: rgba($search-and-nav-links, 0.2); } } } .header-search { background-color: rgba($search-and-nav-links, 0.2) !important; &:hover { background-color: rgba($search-and-nav-links, 0.3) !important; } svg.gl-search-box-by-type-search-icon { color: rgba($search-and-nav-links, 0.8); } input { background-color: transparent; color: rgba($search-and-nav-links, 0.8); box-shadow: inset 0 0 0 1px rgba($search-and-nav-links, 0.4); &::placeholder { color: rgba($search-and-nav-links, 0.8); } &:focus, &:active { &::placeholder { color: $gray-400; } } } } .search { form { background-color: rgba($search-and-nav-links, 0.2); &:hover { background-color: rgba($search-and-nav-links, 0.3); } } .search-input::placeholder { color: rgba($search-and-nav-links, 0.8); } .search-input-wrap { .search-icon, .clear-icon { fill: rgba($search-and-nav-links, 0.8); } } &.search-active { form { background-color: $white; } .search-input-wrap { .search-icon { fill: rgba($search-and-nav-links, 0.8); } } } } // Sidebar .nav-sidebar li.active > a { color: $sidebar-text; } .nav-sidebar { .fly-out-top-item { a, a:hover, &.active a, .fly-out-top-item-container { background-color: var(--gray-100, $gray-50); color: var(--gray-900, $gray-900); } } } .branch-header-title { color: $border-and-box-shadow; } .ide-sidebar-link { &.active { color: $border-and-box-shadow; &.is-right { box-shadow: inset -3px 0 $border-and-box-shadow; } } } }