diff options
Diffstat (limited to 'app')
17 files changed, 3162 insertions, 2243 deletions
diff --git a/app/assets/javascripts/boards/components/board_form.vue b/app/assets/javascripts/boards/components/board_form.vue index 78da4137d69..ea92d3125d6 100644 --- a/app/assets/javascripts/boards/components/board_form.vue +++ b/app/assets/javascripts/boards/components/board_form.vue @@ -1,7 +1,6 @@ <script> -import { GlModal } from '@gitlab/ui'; -import { mapGetters } from 'vuex'; -import { deprecatedCreateFlash as Flash } from '~/flash'; +import { GlModal, GlAlert } from '@gitlab/ui'; +import { mapGetters, mapActions, mapState } from 'vuex'; import { convertToGraphQLId } from '~/graphql_shared/utils'; import { getParameterByName } from '~/lib/utils/common_utils'; import { visitUrl } from '~/lib/utils/url_utility'; @@ -44,6 +43,7 @@ export default { BoardScope: () => import('ee_component/boards/components/board_scope.vue'), GlModal, BoardConfigurationOptions, + GlAlert, }, inject: { fullPath: { @@ -107,6 +107,7 @@ export default { }; }, computed: { + ...mapState(['error']), ...mapGetters(['isIssueBoard', 'isGroupBoard', 'isProjectBoard']), isNewForm() { return this.currentPage === formType.new; @@ -222,6 +223,7 @@ export default { } }, methods: { + ...mapActions(['setError', 'unsetError']), setIteration(iterationId) { this.board.iteration_id = iterationId; }, @@ -263,7 +265,7 @@ export default { await this.deleteBoard(); visitUrl(this.rootPath); } catch { - Flash(this.$options.i18n.deleteErrorMessage); + this.setError({ message: this.$options.i18n.deleteErrorMessage }); } finally { this.isLoading = false; } @@ -272,7 +274,7 @@ export default { const url = await this.createOrUpdateBoard(); visitUrl(url); } catch { - Flash(this.$options.i18n.saveErrorMessage); + this.setError({ message: this.$options.i18n.saveErrorMessage }); } finally { this.isLoading = false; } @@ -308,6 +310,15 @@ export default { @close="cancel" @hide.prevent > + <gl-alert + v-if="error" + class="gl-mb-3" + variant="danger" + :dismissible="true" + @dismiss="unsetError" + > + {{ error }} + </gl-alert> <p v-if="isDeleteForm" data-testid="delete-confirmation-message"> {{ $options.i18n.deleteConfirmationMessage }} </p> diff --git a/app/assets/javascripts/boards/components/sidebar/board_sidebar_due_date.vue b/app/assets/javascripts/boards/components/sidebar/board_sidebar_due_date.vue index 13e1e232676..87ae17025ea 100644 --- a/app/assets/javascripts/boards/components/sidebar/board_sidebar_due_date.vue +++ b/app/assets/javascripts/boards/components/sidebar/board_sidebar_due_date.vue @@ -2,7 +2,6 @@ import { GlButton, GlDatepicker } from '@gitlab/ui'; import { mapGetters, mapActions } from 'vuex'; import BoardEditableItem from '~/boards/components/sidebar/board_editable_item.vue'; -import createFlash from '~/flash'; import { dateInWords, formatDate, parsePikadayDate } from '~/lib/utils/datetime_utility'; import { __ } from '~/locale'; @@ -38,7 +37,7 @@ export default { }, }, methods: { - ...mapActions(['setActiveIssueDueDate']), + ...mapActions(['setActiveIssueDueDate', 'setError']), async openDatePicker() { await this.$nextTick(); this.$refs.datePicker.calendar.show(); @@ -51,7 +50,7 @@ export default { const dueDate = date ? formatDate(date, 'yyyy-mm-dd') : null; await this.setActiveIssueDueDate({ dueDate, projectPath: this.projectPathForActiveIssue }); } catch (e) { - createFlash({ message: this.$options.i18n.updateDueDateError }); + this.setError({ message: this.$options.i18n.updateDueDateError }); } finally { this.loading = false; } diff --git a/app/assets/javascripts/boards/components/sidebar/board_sidebar_labels_select.vue b/app/assets/javascripts/boards/components/sidebar/board_sidebar_labels_select.vue index 919ef0d3783..29febd0fa51 100644 --- a/app/assets/javascripts/boards/components/sidebar/board_sidebar_labels_select.vue +++ b/app/assets/javascripts/boards/components/sidebar/board_sidebar_labels_select.vue @@ -3,7 +3,6 @@ import { GlLabel } from '@gitlab/ui'; import { mapGetters, mapActions } from 'vuex'; import Api from '~/api'; import BoardEditableItem from '~/boards/components/sidebar/board_editable_item.vue'; -import createFlash from '~/flash'; import { getIdFromGraphQLId } from '~/graphql_shared/utils'; import { isScopedLabel } from '~/lib/utils/common_utils'; import { mergeUrlParams } from '~/lib/utils/url_utility'; @@ -50,10 +49,10 @@ export default { /* Labels fetched in epic boards are always group-level labels and the correct path are passed from the backend (injected through labelsFetchPath) - + For issue boards, we should always include project-level labels and use a different endpoint. (it requires knowing the project path of a selected issue.) - + Note 1. that we will be using GraphQL to fetch labels when we create a labels select widget. And this component will be removed _wholesale_ https://gitlab.com/gitlab-org/gitlab/-/issues/300653. @@ -74,7 +73,7 @@ export default { }, }, methods: { - ...mapActions(['setActiveBoardItemLabels']), + ...mapActions(['setActiveBoardItemLabels', 'setError']), async setLabels(payload) { this.loading = true; this.$refs.sidebarItem.collapse(); @@ -88,7 +87,7 @@ export default { const input = { addLabelIds, removeLabelIds, projectPath: this.projectPathForActiveIssue }; await this.setActiveBoardItemLabels(input); } catch (e) { - createFlash({ message: __('An error occurred while updating labels.') }); + this.setError({ error: e, message: __('An error occurred while updating labels.') }); } finally { this.loading = false; } @@ -101,7 +100,7 @@ export default { const input = { removeLabelIds, projectPath: this.projectPathForActiveIssue }; await this.setActiveBoardItemLabels(input); } catch (e) { - createFlash({ message: __('An error occurred when removing the label.') }); + this.setError({ error: e, message: __('An error occurred when removing the label.') }); } finally { this.loading = false; } diff --git a/app/assets/javascripts/boards/components/sidebar/board_sidebar_milestone_select.vue b/app/assets/javascripts/boards/components/sidebar/board_sidebar_milestone_select.vue index ad225c7bf5c..2a1bda9278c 100644 --- a/app/assets/javascripts/boards/components/sidebar/board_sidebar_milestone_select.vue +++ b/app/assets/javascripts/boards/components/sidebar/board_sidebar_milestone_select.vue @@ -9,7 +9,6 @@ import { } from '@gitlab/ui'; import { mapGetters, mapActions } from 'vuex'; import BoardEditableItem from '~/boards/components/sidebar/board_editable_item.vue'; -import createFlash from '~/flash'; import { __, s__ } from '~/locale'; import projectMilestones from '../../graphql/project_milestones.query.graphql'; @@ -50,8 +49,8 @@ export default { const edges = data?.project?.milestones?.edges ?? []; return edges.map((item) => item.node); }, - error() { - createFlash({ message: this.$options.i18n.fetchMilestonesError }); + error(error) { + this.setError({ error, message: this.$options.i18n.fetchMilestonesError }); }, }, }, @@ -73,7 +72,7 @@ export default { }, }, methods: { - ...mapActions(['setActiveIssueMilestone']), + ...mapActions(['setActiveIssueMilestone', 'setError']), handleOpen() { this.edit = true; this.$refs.dropdown.show(); @@ -91,7 +90,7 @@ export default { const input = { milestoneId, projectPath: this.projectPath }; await this.setActiveIssueMilestone(input); } catch (e) { - createFlash({ message: this.$options.i18n.updateMilestoneError }); + this.setError({ error: e, message: this.$options.i18n.updateMilestoneError }); } finally { this.loading = false; } diff --git a/app/assets/javascripts/boards/components/sidebar/board_sidebar_subscription.vue b/app/assets/javascripts/boards/components/sidebar/board_sidebar_subscription.vue index 376985f7cb6..4f5c55d0c5d 100644 --- a/app/assets/javascripts/boards/components/sidebar/board_sidebar_subscription.vue +++ b/app/assets/javascripts/boards/components/sidebar/board_sidebar_subscription.vue @@ -1,7 +1,6 @@ <script> import { GlToggle } from '@gitlab/ui'; import { mapGetters, mapActions } from 'vuex'; -import createFlash from '~/flash'; import { __, s__ } from '~/locale'; export default { @@ -39,17 +38,16 @@ export default { }, }, methods: { - ...mapActions(['setActiveItemSubscribed']), + ...mapActions(['setActiveItemSubscribed', 'setError']), async handleToggleSubscription() { this.loading = true; - try { await this.setActiveItemSubscribed({ subscribed: !this.activeBoardItem.subscribed, projectPath: this.projectPathForActiveIssue, }); } catch (error) { - createFlash({ message: this.$options.i18n.updateSubscribedErrorMessage }); + this.setError({ error, message: this.$options.i18n.updateSubscribedErrorMessage }); } finally { this.loading = false; } diff --git a/app/assets/javascripts/boards/components/sidebar/board_sidebar_title.vue b/app/assets/javascripts/boards/components/sidebar/board_sidebar_title.vue index b8d3107c377..e77aadfa50e 100644 --- a/app/assets/javascripts/boards/components/sidebar/board_sidebar_title.vue +++ b/app/assets/javascripts/boards/components/sidebar/board_sidebar_title.vue @@ -2,7 +2,6 @@ import { GlAlert, GlButton, GlForm, GlFormGroup, GlFormInput } from '@gitlab/ui'; import { mapGetters, mapActions } from 'vuex'; import BoardEditableItem from '~/boards/components/sidebar/board_editable_item.vue'; -import createFlash from '~/flash'; import { joinPaths } from '~/lib/utils/url_utility'; import { __ } from '~/locale'; import autofocusonshow from '~/vue_shared/directives/autofocusonshow'; @@ -53,7 +52,7 @@ export default { }, }, methods: { - ...mapActions(['setActiveItemTitle']), + ...mapActions(['setActiveItemTitle', 'setError']), getPendingChangesKey(item) { if (!item) { return ''; @@ -97,7 +96,7 @@ export default { this.showChangesAlert = false; } catch (e) { this.title = this.item.title; - createFlash({ message: this.$options.i18n.updateTitleError }); + this.setError({ error: e, message: this.$options.i18n.updateTitleError }); } finally { this.loading = false; } diff --git a/app/assets/javascripts/boards/index.js b/app/assets/javascripts/boards/index.js index 1888645ef78..fb347ce852d 100644 --- a/app/assets/javascripts/boards/index.js +++ b/app/assets/javascripts/boards/index.js @@ -27,7 +27,6 @@ import FilteredSearchBoards from '~/boards/filtered_search_boards'; import store from '~/boards/stores'; import boardsStore from '~/boards/stores/boards_store'; import toggleFocusMode from '~/boards/toggle_focus'; -import { deprecatedCreateFlash as Flash } from '~/flash'; import createDefaultClient from '~/lib/graphql'; import { NavigationType, @@ -196,7 +195,7 @@ export default () => { } }, methods: { - ...mapActions(['setInitialBoardData', 'performSearch']), + ...mapActions(['setInitialBoardData', 'performSearch', 'setError']), initialBoardLoad() { boardsStore .all() @@ -205,8 +204,11 @@ export default () => { lists.forEach((list) => boardsStore.addList(list)); this.loading = false; }) - .catch(() => { - Flash(__('An error occurred while fetching the board lists. Please try again.')); + .catch((error) => { + this.setError({ + error, + message: __('An error occurred while fetching the board lists. Please try again.'), + }); }); }, updateTokens() { @@ -250,7 +252,7 @@ export default () => { .catch(() => { newIssue.setFetchingState('subscriptions', false); setWeightFetchingState(newIssue, false); - Flash(__('An error occurred while fetching sidebar data')); + this.setError({ message: __('An error occurred while fetching sidebar data') }); }); } @@ -287,7 +289,9 @@ export default () => { }) .catch(() => { issue.setFetchingState('subscriptions', false); - Flash(__('An error occurred when toggling the notification subscription')); + this.setError({ + message: __('An error occurred when toggling the notification subscription'), + }); }); } }, diff --git a/app/assets/javascripts/boards/stores/actions.js b/app/assets/javascripts/boards/stores/actions.js index eda0fae117c..bc44b84da51 100644 --- a/app/assets/javascripts/boards/stores/actions.js +++ b/app/assets/javascripts/boards/stores/actions.js @@ -726,7 +726,7 @@ export default { } }, - setError: ({ commit }, { message, error, captureError = false }) => { + setError: ({ commit }, { message, error, captureError = true }) => { commit(types.SET_ERROR, message); if (captureError) { diff --git a/app/assets/stylesheets/pages/search.scss b/app/assets/stylesheets/pages/search.scss index 2ec2df4b817..f83ba89daae 100644 --- a/app/assets/stylesheets/pages/search.scss +++ b/app/assets/stylesheets/pages/search.scss @@ -45,7 +45,6 @@ input[type='checkbox']:hover { margin: 0 8px; form { - display: block; margin: 0; padding: 4px; width: $search-input-width; diff --git a/app/assets/stylesheets/startup/startup-dark.scss b/app/assets/stylesheets/startup/startup-dark.scss index 79c5b24c041..9f7a8860e4d 100644 --- a/app/assets/stylesheets/startup/startup-dark.scss +++ b/app/assets/stylesheets/startup/startup-dark.scss @@ -1,24 +1,4 @@ -// DO NOT EDIT! This is auto-generated from "yarn run generate:startup_css" -// Please see the feedback issue for more details and help: -// https://gitlab.com/gitlab-org/gitlab/-/issues/331812 @charset "UTF-8"; -body.gl-dark { - --gray-50: #303030; - --gray-100: #404040; - --gray-200: #525252; - --gray-950: #fff; - --green-100: #0d532a; - --green-400: #108548; - --green-700: #91d4a8; - --blue-200: #0b5cad; - --blue-400: #1f75cb; - --orange-400: #ab6100; - --gl-text-color: #fafafa; - --border-color: #4f4f4f; -} -:root { - --white: #333; -} *, *::before, *::after { @@ -28,46 +8,68 @@ html { font-family: sans-serif; line-height: 1.15; } -aside, -header, -nav { + header, nav, section { display: block; } body { margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, - "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, - "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #fafafa; text-align: left; - background-color: #1f1f1f; + background-color: #2e2e2e; } -h1 { +h1, h2, h3 { margin-top: 0; margin-bottom: 0.25rem; } +p { + margin-top: 0; + margin-bottom: 1rem; +} + ul { margin-top: 0; margin-bottom: 1rem; } + ul ul { margin-bottom: 0; } + strong { font-weight: bolder; } +sub { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sub { + bottom: -.25em; +} a { color: #007bff; text-decoration: none; background-color: transparent; } -a:not([href]):not([class]) { +a:not([href]) { color: inherit; text-decoration: none; } +pre, +code { + font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; + font-size: 1em; +} +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} img { vertical-align: middle; border-style: none; @@ -76,11 +78,18 @@ svg { overflow: hidden; vertical-align: middle; } +table { + border-collapse: collapse; +} +th { + text-align: inherit; +} button { border-radius: 0; } input, -button { +button, +textarea { margin: 0; font-family: inherit; font-size: inherit; @@ -93,20 +102,21 @@ input { button { text-transform: none; } -[role="button"] { - cursor: pointer; -} button:not(:disabled), [type="button"]:not(:disabled), -[type="submit"]:not(:disabled) { +[type="reset"]:not(:disabled) { cursor: pointer; } button::-moz-focus-inner, [type="button"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { +[type="reset"]::-moz-focus-inner { padding: 0; border-style: none; } +textarea { + overflow: auto; + resize: vertical; +} [type="search"] { outline-offset: -2px; } @@ -120,21 +130,75 @@ template { [hidden] { display: none !important; } -h1, -.h1 { +h1, h2, h3, +.h1, .h2, .h3 { margin-bottom: 0.25rem; font-weight: 600; line-height: 1.2; color: #fafafa; } -h1, -.h1 { +h1, .h1 { font-size: 2.1875rem; } +h2, .h2 { + font-size: 1.75rem; +} +h3, .h3 { + font-size: 1.53125rem; +} .list-unstyled { padding-left: 0; list-style: none; } +code { + font-size: 90%; + color: #fff; + word-wrap: break-word; +} +a > code { + color: inherit; +} +pre { + display: block; + font-size: 90%; + color: #fafafa; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} .container-fluid { width: 100%; padding-right: 15px; @@ -142,7 +206,48 @@ h1, margin-right: auto; margin-left: auto; } -.form-control { + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} +.row { + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} +.table { + width: 100%; + margin-bottom: 0.5rem; + color: #fafafa; +} +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #4f4f4f; +} + .search form { display: block; width: 100%; height: 34px; @@ -151,27 +256,24 @@ h1, font-weight: 400; line-height: 1.5; color: #fafafa; - background-color: #333; + background-color: #4f4f4f; background-clip: padding-box; - border: 1px solid #404040; + border: 1px solid #4f4f4f; border-radius: 0.25rem; } + @media (prefers-reduced-motion: reduce) { } -.form-control:-moz-focusring { + .search form:-moz-focusring { color: transparent; text-shadow: 0 0 0 #fafafa; } -.form-control::-ms-input-placeholder { - color: #bfbfbf; + .search form::placeholder { + color: #ccc; opacity: 1; } -.form-control::placeholder { - color: #bfbfbf; - opacity: 1; -} -.form-control:disabled { - background-color: #303030; + .search form:disabled { + background-color: #2e2e2e; opacity: 1; } .form-inline { @@ -179,8 +281,9 @@ h1, flex-flow: row wrap; align-items: center; } + @media (min-width: 576px) { - .form-inline .form-control { + .form-inline .search form, .search .form-inline form { display: inline-block; width: auto; vertical-align: middle; @@ -192,7 +295,7 @@ h1, color: #fafafa; text-align: center; vertical-align: middle; - -moz-user-select: none; + cursor: pointer; user-select: none; background-color: transparent; border: 1px solid transparent; @@ -201,35 +304,26 @@ h1, line-height: 20px; border-radius: 0.25rem; } + @media (prefers-reduced-motion: reduce) { } -.btn:disabled { +.btn.disabled, .btn:disabled { opacity: 0.65; } -.btn:not(:disabled):not(.disabled) { - cursor: pointer; -} -.btn-link { - font-weight: 400; - color: #007bff; - text-decoration: none; -} -.btn-link:disabled { - color: #bfbfbf; +a.btn.disabled { pointer-events: none; } .collapse:not(.show) { display: none; } + .dropdown { position: relative; } -.dropdown-toggle, -.dropdown-menu-toggle { + .dropdown-menu-toggle { white-space: nowrap; } -.dropdown-toggle::after, -.dropdown-menu-toggle::after { + .dropdown-menu-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; @@ -239,8 +333,7 @@ h1, border-bottom: 0; border-left: 0.3em solid transparent; } -.dropdown-toggle:empty::after, -.dropdown-menu-toggle:empty::after { + .dropdown-menu-toggle:empty::after { margin-left: 0; } .dropdown-menu { @@ -266,16 +359,14 @@ h1, right: 0; left: auto; } -.dropdown-menu.show { - display: block; + .divider { + height: 0; + margin: 4px 0; + overflow: hidden; + border-top: 1px solid #4f4f4f; } -.dropdown-header { +.dropdown-menu.show { display: block; - padding: 0.5rem 12px; - margin-bottom: 0; - font-size: 0.875rem; - color: #bfbfbf; - white-space: nowrap; } .nav { display: flex; @@ -284,10 +375,6 @@ h1, margin-bottom: 0; list-style: none; } -.nav-link { - display: block; - padding: 0.5rem 1rem; -} .navbar { position: relative; display: flex; @@ -296,6 +383,7 @@ h1, justify-content: space-between; padding: 0.25rem 0.5rem; } +.navbar .container, .navbar .container-fluid { display: flex; flex-wrap: wrap; @@ -309,10 +397,6 @@ h1, margin-bottom: 0; list-style: none; } -.navbar-nav .nav-link { - padding-right: 0; - padding-left: 0; -} .navbar-nav .dropdown-menu { position: static; float: none; @@ -330,12 +414,15 @@ h1, border: 1px solid transparent; border-radius: 0.25rem; } + @media (max-width: 575.98px) { + .navbar-expand-sm > .container, .navbar-expand-sm > .container-fluid { padding-right: 0; padding-left: 0; } } + @media (min-width: 576px) { .navbar-expand-sm { flex-flow: row nowrap; @@ -347,10 +434,7 @@ h1, .navbar-expand-sm .navbar-nav .dropdown-menu { position: absolute; } - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } + .navbar-expand-sm > .container, .navbar-expand-sm > .container-fluid { flex-wrap: nowrap; } @@ -370,7 +454,7 @@ h1, word-wrap: break-word; background-color: #333; background-clip: border-box; - border: 1px solid #404040; + border: 1px solid #4f4f4f; border-radius: 0.25rem; } .badge { @@ -384,6 +468,7 @@ h1, vertical-align: baseline; border-radius: 0.25rem; } + @media (prefers-reduced-motion: reduce) { } .badge:empty { @@ -398,9 +483,9 @@ h1, padding-left: 0.6em; border-radius: 10rem; } -.badge-dark { - color: #303030; - background-color: #f0f0f0; +.media { + display: flex; + align-items: flex-start; } .close { float: right; @@ -409,15 +494,55 @@ h1, line-height: 1; color: #fff; text-shadow: 0 1px 0 #333; - opacity: 0.5; + opacity: .5; } button.close { padding: 0; background-color: transparent; border: 0; + appearance: none; +} +a.close.disabled { + pointer-events: none; +} +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } +} +.bg-transparent { + background-color: transparent !important; +} +.border { + border: 1px solid #4f4f4f !important; +} +.border-top { + border-top: 1px solid #4f4f4f !important; } -.rounded-circle { - border-radius: 50% !important; +.border-right { + border-right: 1px solid #4f4f4f !important; +} +.border-bottom { + border-bottom: 1px solid #4f4f4f !important; +} +.border-left { + border-left: 1px solid #4f4f4f !important; +} +.rounded { + border-radius: 0.25rem !important; +} +.clearfix::after { + display: block; + clear: both; + content: ""; } .d-none { display: none !important; @@ -428,19 +553,19 @@ button.close { .d-block { display: block !important; } + @media (min-width: 576px) { .d-sm-none { display: none !important; } } + @media (min-width: 768px) { - .d-md-none { - display: none !important; - } .d-md-block { display: block !important; } } + @media (min-width: 992px) { .d-lg-none { display: none !important; @@ -449,14 +574,15 @@ button.close { display: block !important; } } + @media (min-width: 1200px) { - .d-xl-none { - display: none !important; - } .d-xl-block { display: block !important; } } +.flex-wrap { + flex-wrap: wrap !important; +} .float-right { float: right !important; } @@ -477,13 +603,15 @@ button.close { .text-nowrap { white-space: nowrap !important; } -@keyframes gl-spinner-rotate { - 0% { - transform: rotate(0); - } - 100% { - transform: rotate(360deg); - } +.visible { + visibility: visible !important; +} + .search form.focus { + color: #fafafa; + background-color: #4f4f4f; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .gl-badge { display: inline-flex; @@ -495,147 +623,49 @@ button.close { padding-bottom: 0.25rem; padding-left: 0.5rem; padding-right: 0.5rem; -} -.gl-badge.sm { - padding-top: 0; - padding-bottom: 0; -} -.gl-badge.badge-muted { - background-color: #303030; - color: #999; -} -a.gl-badge.badge-muted.active, -a.gl-badge.badge-muted:active { - color: #f0f0f0; - background-color: #404040; -} -.gl-new-dropdown .dropdown-menu { - background-color: #333; - border-width: 1px; - border-color: #525252; - margin-top: 0.25rem; - margin-bottom: 0.25rem; - padding: 0; - border-radius: 0.25rem; - box-shadow: 0 2px 4px 0 rgba(255, 255, 255, 0.1); - width: 15rem; -} -.gl-new-dropdown .dropdown-menu li { - padding: 0; -} -.gl-new-dropdown .dropdown-toggle::after, -.gl-new-dropdown .dropdown-menu-toggle::after { - display: none; -} -.gl-new-dropdown .dropdown-toggle.gl-button, -.gl-new-dropdown .gl-button.dropdown-menu-toggle { - padding-right: 0.5rem; -} -.gl-new-dropdown.dropdown .gl-button .dropdown-chevron, -.gl-new-dropdown.dropdown .dropdown-chevron { - margin-left: 0.25rem; - margin-right: 0; -} -.gl-new-dropdown .dropdown-icon { - margin-right: 0.25rem; -} -.gl-spinner-container { - line-height: 0; - text-align: center; -} -.gl-spinner { - position: relative; - display: inline-flex; - border-radius: 50%; - border-style: solid; - margin-left: auto; - margin-right: auto; - margin-top: 0; - margin-bottom: 0; - font-size: 0.875rem; - animation-name: gl-spinner-rotate; - animation-duration: 0.6s; - animation-timing-function: linear; - animation-iteration-count: infinite; - width: 1rem; - height: 1rem; - border-width: 2px; - transform-origin: 50% 50% calc((1rem / 2) + 2px); - border-color: rgba(219, 219, 219, 0.25); - border-top-color: #dbdbdb; -} -.gl-spinner.gl-spinner-md { - width: 1.5rem; - height: 1.5rem; - border-width: 3px; - transform-origin: 50% 50% calc((1.5rem / 2) + 3px); -} -.gl-button { - display: inline-flex; -} -.gl-button.gl-button { - border-width: 0; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - padding-right: 0.75rem; - background-color: transparent; - line-height: 1rem; - color: #fafafa; - fill: currentColor; - box-shadow: inset 0 0 0 1px #525252; - justify-content: center; - align-items: center; - font-size: 0.875rem; - border-radius: 0.25rem; -} -.gl-button.gl-button.btn-default { - background-color: #333; -} -.gl-button.gl-button.btn-default:active, -.gl-button.gl-button.btn-default.active { - box-shadow: inset 0 0 0 2px #bfbfbf, 0 0 0 1px rgba(51, 51, 51, 0.4), - 0 0 0 4px rgba(66, 143, 220, 0.48); outline: none; - background-color: #404040; } -.gl-button.gl-button.btn-link { - background-color: transparent; - border-width: 0; - font-size: 0.875rem; - line-height: 1rem; - color: #428fdc; - padding-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - box-shadow: none; -} -.gl-button.gl-button.btn-link:active { - color: #9dc7f1; - text-decoration: underline; -} -body, -.form-control, +body, .search form, .search form { font-size: 0.875rem; } button, -html [type="button"], -[type="submit"], -[role="button"] { +html [type='button'], +[type='reset'], +[role='button'] { cursor: pointer; } h1, -.h1 { +.h1, +h2, +.h2, +h3, +.h3 { margin-top: 20px; margin-bottom: 10px; } +input[type='file'] { + line-height: 1; +} + strong { font-weight: bold; } a { - color: #63a6e9; + color: #418cd8; +} +code { + padding: 2px 4px; + color: #fff; + background-color: #2e2e2e; + border-radius: 4px; +} +.code > code { + background-color: inherit; + padding: unset; +} +table { + border-spacing: 0; } .hidden { display: none !important; @@ -644,8 +674,7 @@ a { .hide { display: none; } -.dropdown-toggle::after, -.dropdown-menu-toggle::after { + .dropdown-menu-toggle::after { display: none; } .badge:not(.gl-badge) { @@ -655,16 +684,13 @@ a { font-weight: 400; display: inline-block; } -.divider { - height: 0; - margin: 4px 0; - overflow: hidden; - border-top: 1px solid #404040; +pre code { + white-space: pre-wrap; } .toggle-sidebar-button .collapse-text, .toggle-sidebar-button .icon-chevron-double-lg-left, .toggle-sidebar-button .icon-chevron-double-lg-right { - color: #999; + color: #bababa; } svg { vertical-align: baseline; @@ -675,20 +701,28 @@ html { body { text-decoration-skip: ink; } -@keyframes spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); +.content-wrapper { + margin-top: 40px; + padding-bottom: 100px; +} +.container { + padding-top: 0; + z-index: 5; +} +.container .content { + margin: 0; +} + +@media (max-width: 575.98px) { + .container .content { + margin-top: 20px; } } -.gl-spinner { - animation-name: spin; - animation-iteration-count: infinite; - animation-timing-function: linear; - animation-duration: 1s; - transform-origin: 50% 50%; + +@media (max-width: 575.98px) { + .container .container .title { + padding-left: 15px !important; + } } .btn { border-radius: 4px; @@ -696,13 +730,13 @@ body { font-weight: 400; padding: 6px 10px; background-color: #333; - border-color: #404040; + border-color: #4f4f4f; color: #fafafa; color: #fafafa; white-space: nowrap; } -.btn:active, -.btn.active { +.btn:active, .btn.active { + box-shadow: rgba(0, 0, 0, 0.16); background-color: #444; border-color: #fafafa; color: #fafafa; @@ -711,35 +745,64 @@ body { height: 15px; width: 15px; } -.btn svg:not(:last-child) { +.btn svg:not(:last-child), +.btn .fa:not(:last-child) { margin-right: 5px; } -.btn-link { - padding: 0; - background-color: transparent; - color: #63a6e9; - font-weight: normal; - border-radius: 0; - border-color: transparent; - border-width: 0; -} .badge.badge-pill:not(.gl-badge) { font-weight: 400; - background-color: rgba(255, 255, 255, 0.07); - color: #dbdbdb; + background-color: rgba(0, 0, 0, 0.07); + color: #dfdfdf; vertical-align: baseline; } +.hint { + font-style: italic; + color: #707070; +} +.bold { + font-weight: 600; +} +pre.wrap { + word-break: break-word; + white-space: pre-wrap; +} +table a code { + position: relative; + top: -2px; + margin-right: 3px; +} +.loading { + margin: 20px auto; + height: 40px; + color: #dfdfdf; + font-size: 32px; + text-align: center; +} +.highlight { + text-shadow: none; +} .chart { overflow: hidden; height: 220px; } +.break-word { + word-wrap: break-word; +} +.center { + text-align: center; +} +.block { + display: block; +} +.flex { + display: flex; +} +.flex-grow { + flex-grow: 1; +} .dropdown { position: relative; } -.dropdown.gl-new-dropdown button.dropdown-toggle, -.dropdown.gl-new-dropdown button.dropdown-menu-toggle { - display: inline-flex; -} .show.dropdown .dropdown-menu { transform: translateY(0); display: block; @@ -747,57 +810,47 @@ body { max-height: 312px; overflow-y: auto; } -.show.dropdown .dropdown-menu.dropdown-extended-height { - max-height: 400px; -} + @media (max-width: 575.98px) { .show.dropdown .dropdown-menu { width: 100%; } } -.show.dropdown .dropdown-menu.frequent-items-dropdown-menu { - padding: 0; - overflow-y: initial; - max-height: initial; -} -.show.dropdown .dropdown-toggle, -.show.dropdown .dropdown-menu-toggle, + .show.dropdown .dropdown-menu-toggle, .show.dropdown .dropdown-menu-toggle { border-color: #c4c4c4; } -.show.dropdown [data-toggle="dropdown"] { +.show.dropdown [data-toggle='dropdown'] { outline: 0; } .search-input-container .dropdown-menu { margin-top: 11px; } -.dropdown-toggle, -.dropdown-menu-toggle { + .dropdown-menu-toggle { padding: 6px 8px 6px 10px; background-color: #333; color: #fafafa; font-size: 14px; text-align: left; - border: 1px solid #404040; + border: 1px solid #4f4f4f; border-radius: 0.25rem; white-space: nowrap; } -.dropdown-toggle.no-outline, -.no-outline.dropdown-menu-toggle { + .no-outline.dropdown-menu-toggle { outline: 0; } -.dropdown-menu-toggle.dropdown-menu-toggle { - justify-content: flex-start; - overflow: hidden; + .dropdown-menu-toggle .fa { + color: #c4c4c4; +} +.dropdown-menu-toggle { padding-right: 25px; position: relative; - text-overflow: ellipsis; width: 160px; + text-overflow: ellipsis; + overflow: hidden; } -.dropdown-menu-toggle.dropdown-menu-toggle .gl-spinner { +.dropdown-menu-toggle .fa { position: absolute; - top: 9px; - right: 8px; } .dropdown-menu { display: none; @@ -813,7 +866,7 @@ body { font-weight: 400; padding: 8px 0; background-color: #333; - border: 1px solid #404040; + border: 1px solid #4f4f4f; border-radius: 0.25rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } @@ -828,9 +881,7 @@ body { padding: 0 1px; } .dropdown-menu li > a, -.dropdown-menu li button, -.dropdown-menu li .gl-button.btn-link, -.dropdown-menu li .menu-item { +.dropdown-menu li button { background: transparent; border: 0; border-radius: 0; @@ -850,19 +901,7 @@ body { height: 1px; margin: 0.25rem 0; padding: 0; - background-color: #404040; -} -.dropdown-menu .dropdown-header { - color: #fff; - font-size: 13px; - font-weight: 600; - line-height: 16px; - padding: 8px 12px; -} -.dropdown-menu .dropdown-bold-header { - font-weight: 600; - line-height: 16px; - padding: 8px 12px; + background-color: #4f4f4f; } .dropdown-menu .badge.badge-pill + span:not(.badge):not(.badge-pill) { margin-right: 40px; @@ -870,6 +909,7 @@ body { .dropdown-select { width: 300px; } + @media (max-width: 767.98px) { .dropdown-select { width: 100%; @@ -890,96 +930,123 @@ body { background-color: rgba(51, 51, 51, 0.6); font-size: 28px; } +.dropdown-loading .fa { + position: absolute; + top: 50%; + left: 50%; + margin-top: -14px; + margin-left: -14px; +} + @media (max-width: 575.98px) { .navbar-gitlab li.dropdown { position: static; } - .navbar-gitlab li.dropdown.user-counter { - margin-left: 8px !important; - } - .navbar-gitlab li.dropdown.user-counter > a { - padding: 0 4px !important; - } header.navbar-gitlab .dropdown .dropdown-menu { width: 100%; min-width: 100%; } } -header.header-content .dropdown-menu.frequent-items-dropdown-menu { - padding: 0; + +@media (max-width: 767.98px) { + .dropdown-menu-toggle { + width: 100%; + } } -.frequent-items-dropdown-container { - display: flex; - flex-direction: row; - height: 20rem; +textarea { + resize: vertical; } -.frequent-items-dropdown-container.with-deprecated-styles { - width: 500px; - height: 354px; +input { + border-radius: 0.25rem; + color: #fafafa; + background-color: #4f4f4f; } -.frequent-items-dropdown-container.with-deprecated-styles - .search-input-container { - position: relative; - padding: 4px 16px; + .search form { + border-radius: 4px; + padding: 6px 10px; } -.frequent-items-dropdown-container.with-deprecated-styles - .search-input-container - .search-icon { - position: absolute; - top: 13px; - right: 25px; - color: #5e5e5e; + .search form::placeholder { + color: #a7a7a7; } -@media (max-width: 575.98px) { - .frequent-items-dropdown-container.with-deprecated-styles { - flex-direction: column; - width: 100%; - height: auto; - flex: 1; - } - .frequent-items-dropdown-container.with-deprecated-styles - .frequent-items-dropdown-sidebar, - .frequent-items-dropdown-container.with-deprecated-styles - .frequent-items-dropdown-content { - width: 100%; - } - .frequent-items-dropdown-container.with-deprecated-styles - .frequent-items-dropdown-sidebar { - border-bottom: 1px solid #404040; - border-right: 0; - } +body.ui-indigo .navbar-gitlab { + background-color: #292961; } -.frequent-items-dropdown-container .frequent-items-dropdown-sidebar, -.frequent-items-dropdown-container .frequent-items-dropdown-content { - padding-top: 0.5rem; +body.ui-indigo .navbar-gitlab .navbar-collapse { + color: #d1d1f0; } -.frequent-items-dropdown-container .frequent-items-dropdown-sidebar { - width: 30%; - border-right: 1px solid #404040; +body.ui-indigo .navbar-gitlab .container-fluid .navbar-toggler { + border-left: 1px solid #6868b9; } -.frequent-items-dropdown-container .frequent-items-dropdown-content { - position: relative; - width: 70%; +body.ui-indigo .navbar-gitlab .container-fluid .navbar-toggler svg { + fill: #d1d1f0; } -@media (max-width: 767.98px) { - .dropdown-menu-toggle { - width: 100%; - } +body.ui-indigo .navbar-gitlab .navbar-sub-nav > li.active > a, +body.ui-indigo .navbar-gitlab .navbar-sub-nav > li.active > button, body.ui-indigo .navbar-gitlab .navbar-sub-nav > li.dropdown.show > a, +body.ui-indigo .navbar-gitlab .navbar-sub-nav > li.dropdown.show > button, +body.ui-indigo .navbar-gitlab .navbar-nav > li.active > a, +body.ui-indigo .navbar-gitlab .navbar-nav > li.active > button, +body.ui-indigo .navbar-gitlab .navbar-nav > li.dropdown.show > a, +body.ui-indigo .navbar-gitlab .navbar-nav > li.dropdown.show > button { + color: #292961; + background-color: #333; } -input { - border-radius: 0.25rem; - color: #fafafa; +body.ui-indigo .navbar-gitlab .navbar-sub-nav { + color: #d1d1f0; +} +body.ui-indigo .navbar-gitlab .nav > li { + color: #d1d1f0; +} +body.ui-indigo .navbar-gitlab .nav > li > a.header-user-dropdown-toggle .header-user-avatar { + border-color: #d1d1f0; +} +body.ui-indigo .navbar-gitlab .nav > li.active > a, +body.ui-indigo .navbar-gitlab .nav > li.dropdown.show > a { + color: #292961; background-color: #333; } -.form-control { - border-radius: 4px; - padding: 6px 10px; +body.ui-indigo .search form { + background-color: rgba(209, 209, 240, 0.2); +} +body.ui-indigo .search .search-input::placeholder { + color: rgba(209, 209, 240, 0.8); +} +body.ui-indigo .search .search-input-wrap .search-icon, +body.ui-indigo .search .search-input-wrap .clear-icon { + fill: rgba(209, 209, 240, 0.8); } -.form-control::-ms-input-placeholder { - color: #868686; +body.ui-indigo .nav-sidebar li.active { + box-shadow: inset 4px 0 0 #4b4ba3; +} +body.ui-indigo .nav-sidebar li.active > a { + color: #393982; +} +body.ui-indigo .nav-sidebar li.active .nav-icon-container svg { + fill: #393982; +} +body.ui-indigo .sidebar-top-level-items > li.active .badge.badge-pill { + color: #393982; +} +body.gl-dark .logo-text svg { + fill: #fafafa; +} +body.gl-dark .navbar-gitlab { + background-color: #2e2e2e; + box-shadow: 0 1px 0 0 var(--gray-100); +} +body.gl-dark .navbar-gitlab .navbar-sub-nav li.active > a, +body.gl-dark .navbar-gitlab .navbar-sub-nav li.active > button, +body.gl-dark .navbar-gitlab .navbar-sub-nav li.dropdown.show > a, +body.gl-dark .navbar-gitlab .navbar-sub-nav li.dropdown.show > button, +body.gl-dark .navbar-gitlab .navbar-nav li.active > a, +body.gl-dark .navbar-gitlab .navbar-nav li.active > button, +body.gl-dark .navbar-gitlab .navbar-nav li.dropdown.show > a, +body.gl-dark .navbar-gitlab .navbar-nav li.dropdown.show > button { + color: #fafafa; + background-color: #707070; } -.form-control::placeholder { - color: #868686; +body.gl-dark .navbar-gitlab .search form { + background-color: #4f4f4f; + box-shadow: inset 0 0 0 1px #4f4f4f; } .navbar-gitlab { padding: 0 16px; @@ -987,6 +1054,7 @@ input { margin-bottom: 0; min-height: 40px; border: 0; + border-bottom: 1px solid #4f4f4f; position: fixed; top: 0; left: 0; @@ -1036,6 +1104,9 @@ input { .navbar-gitlab .header-content .title img + .logo-text { margin-left: 8px; } +.navbar-gitlab .header-content .title.wrap { + white-space: normal; +} .navbar-gitlab .header-content .title a { display: flex; align-items: center; @@ -1043,6 +1114,9 @@ input { margin: 5px 2px 5px -8px; border-radius: 4px; } +.navbar-gitlab .header-content .dropdown.open > a { + border-bottom-color: #333; +} .navbar-gitlab .header-content .navbar-collapse > ul.nav > li:not(.d-none) { margin: 0 2px; } @@ -1051,6 +1125,7 @@ input { border-top: 0; padding: 0; } + @media (max-width: 575.98px) { .navbar-gitlab .navbar-collapse { flex: 1 1 auto; @@ -1059,6 +1134,7 @@ input { .navbar-gitlab .navbar-collapse .nav { flex-wrap: nowrap; } + @media (max-width: 575.98px) { .navbar-gitlab .navbar-collapse .nav > li:not(.d-none) a { margin-left: 0; @@ -1081,6 +1157,7 @@ input { text-align: center; color: currentColor; } + @media (max-width: 575.98px) { .navbar-gitlab .container-fluid .navbar-nav { display: flex; @@ -1088,14 +1165,11 @@ input { flex-direction: row; } } -.navbar-gitlab - .container-fluid - .navbar-nav - li - .badge.badge-pill:not(.merge-request-badge) { +.navbar-gitlab .container-fluid .navbar-nav li .badge.badge-pill { box-shadow: none; font-weight: 600; } + @media (max-width: 575.98px) { .navbar-gitlab .container-fluid .nav > li.header-user { padding-left: 10px; @@ -1107,6 +1181,7 @@ input { padding: 6px 8px; height: 32px; } + @media (max-width: 575.98px) { .navbar-gitlab .container-fluid .nav > li > a { padding: 0; @@ -1115,12 +1190,7 @@ input { .navbar-gitlab .container-fluid .nav > li > a.header-user-dropdown-toggle { margin-left: 2px; } -.navbar-gitlab - .container-fluid - .nav - > li - > a.header-user-dropdown-toggle - .header-user-avatar { +.navbar-gitlab .container-fluid .nav > li > a.header-user-dropdown-toggle .header-user-avatar { margin-right: 0; } .navbar-gitlab .container-fluid .nav > li .header-new-dropdown-toggle { @@ -1141,9 +1211,7 @@ input { height: 32px; font-weight: 600; } -.navbar-sub-nav > li .top-nav-toggle, .navbar-sub-nav > li > button, -.navbar-nav > li .top-nav-toggle, .navbar-nav > li > button { background: transparent; border: 0; @@ -1156,11 +1224,6 @@ input { display: flex; margin: 0 0 0 6px; } -.navbar-sub-nav .dropdown-chevron { - position: relative; - top: -1px; - font-size: 10px; -} .caret-down, .btn .caret-down { top: 0; @@ -1186,25 +1249,31 @@ input { font-weight: 400; margin-left: -6px; font-size: 11px; - color: var(--gray-950, #333); + color: #333; padding: 0 5px; line-height: 12px; border-radius: 7px; box-shadow: 0 1px 0 rgba(76, 78, 84, 0.2); } -.title-container .badge.badge-pill:not(.merge-request-badge).green-badge, -.navbar-nav .badge.badge-pill:not(.merge-request-badge).green-badge { - background-color: var(--green-400, #108548); +.title-container .badge.badge-pill.green-badge, +.navbar-nav .badge.badge-pill.green-badge { + background-color: #1aaa55; } -.title-container - .badge.badge-pill:not(.merge-request-badge).merge-requests-count, -.navbar-nav .badge.badge-pill:not(.merge-request-badge).merge-requests-count { - background-color: var(--orange-400, #ab6100); +.title-container .badge.badge-pill.merge-requests-count, +.navbar-nav .badge.badge-pill.merge-requests-count { + background-color: #fca429; } -.title-container .badge.badge-pill:not(.merge-request-badge).todos-count, -.navbar-nav .badge.badge-pill:not(.merge-request-badge).todos-count { - background-color: var(--blue-400, #1f75cb); +.title-container .badge.badge-pill.todos-count, +.navbar-nav .badge.badge-pill.todos-count { + background-color: #1f78d1; } +.title-container .canary-badge .badge, +.navbar-nav .canary-badge .badge { + font-size: 12px; + line-height: 16px; + padding: 0 0.5rem; +} + @media (max-width: 575.98px) { .navbar-gitlab .container-fluid { font-size: 18px; @@ -1231,7 +1300,7 @@ input { } .header-user.show .dropdown-menu { margin-top: 4px; - color: var(--gl-text-color, #fafafa); + color: #fafafa; left: auto; max-height: 445px; } @@ -1244,35 +1313,30 @@ input { border-radius: 50%; border: 1px solid #333; } -.notification-dot { - background-color: #9e5400; - height: 12px; - width: 12px; - margin-top: -15px; - pointer-events: none; - visibility: hidden; -} -.top-nav-toggle .dropdown-icon { - margin-right: 0.5rem; +.media { + display: flex; + align-items: flex-start; } -.top-nav-toggle .dropdown-chevron { - top: 0; +.card { + margin-bottom: 16px; } -.tanuki-logo .tanuki-left-ear, -.tanuki-logo .tanuki-right-ear, -.tanuki-logo .tanuki-nose { - fill: #e24329; +.content-wrapper { + width: 100%; } -.tanuki-logo .tanuki-left-eye, -.tanuki-logo .tanuki-right-eye { - fill: #fc6d26; +.content-wrapper .container-fluid { + padding: 0 16px; } -.tanuki-logo .tanuki-left-cheek, -.tanuki-logo .tanuki-right-cheek { - fill: #fca326; + +@media (min-width: 768px) { + .page-with-contextual-sidebar { + padding-left: 50px; + } } -.card { - margin-bottom: 16px; + +@media (min-width: 1200px) { + .page-with-contextual-sidebar { + padding-left: 220px; + } } .context-header { position: relative; @@ -1303,85 +1367,104 @@ input { font-weight: normal; font-size: 0.8em; } -@media (min-width: 768px) { - body:not(.sidebar-refactoring) .page-with-contextual-sidebar { - padding-left: 50px; - } -} -@media (min-width: 1200px) { - body:not(.sidebar-refactoring) .page-with-contextual-sidebar { - padding-left: 220px; - } -} -body:not(.sidebar-refactoring) .nav-sidebar { +.nav-sidebar { position: fixed; z-index: 600; width: 220px; top: 40px; bottom: 0; left: 0; - background-color: #303030; - box-shadow: inset -1px 0 0 #404040; + background-color: #2e2e2e; + box-shadow: inset -1px 0 0 #4f4f4f; transform: translate3d(0, 0, 0); } + @media (min-width: 576px) and (max-width: 576px) { - body:not(.sidebar-refactoring) .nav-sidebar:not(.sidebar-collapsed-desktop) { - box-shadow: inset -1px 0 0 #404040, 2px 1px 3px rgba(0, 0, 0, 0.1); + .nav-sidebar:not(.sidebar-collapsed-desktop) { + box-shadow: inset -1px 0 0 #4f4f4f, 2px 1px 3px rgba(0, 0, 0, 0.1); } } -body:not(.sidebar-refactoring) .nav-sidebar a { +.nav-sidebar.sidebar-collapsed-desktop { + width: 50px; +} +.nav-sidebar.sidebar-collapsed-desktop .nav-sidebar-inner-scroll { + overflow-x: hidden; +} +.nav-sidebar.sidebar-collapsed-desktop .badge.badge-pill:not(.fly-out-badge), +.nav-sidebar.sidebar-collapsed-desktop .sidebar-context-title, +.nav-sidebar.sidebar-collapsed-desktop .nav-item-name { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + white-space: nowrap; + width: 1px; +} +.nav-sidebar.sidebar-collapsed-desktop .sidebar-top-level-items > li > a { + min-height: 45px; +} +.nav-sidebar.sidebar-collapsed-desktop .fly-out-top-item { + display: block; +} +.nav-sidebar.sidebar-collapsed-desktop .avatar-container { + margin: 0 auto; +} +.nav-sidebar.sidebar-expanded-mobile { + left: 0; +} +.nav-sidebar a { text-decoration: none; } -body:not(.sidebar-refactoring) .nav-sidebar ul { +.nav-sidebar ul { padding-left: 0; list-style: none; } -body:not(.sidebar-refactoring) .nav-sidebar li { +.nav-sidebar li { white-space: nowrap; } -body:not(.sidebar-refactoring) .nav-sidebar li a { +.nav-sidebar li a { display: flex; align-items: center; padding: 12px 16px; - color: #999; + color: #bababa; } -body:not(.sidebar-refactoring) .nav-sidebar li .nav-item-name { +.nav-sidebar li .nav-item-name { flex: 1; } -body:not(.sidebar-refactoring) .nav-sidebar li.active > a { +.nav-sidebar li.active > a { font-weight: 600; } + @media (max-width: 767.98px) { - body:not(.sidebar-refactoring) .nav-sidebar { + .nav-sidebar { left: -220px; } } -body:not(.sidebar-refactoring) .nav-sidebar .nav-icon-container { +.nav-sidebar .nav-icon-container { display: flex; margin-right: 8px; } -body:not(.sidebar-refactoring) .nav-sidebar .fly-out-top-item { +.nav-sidebar .fly-out-top-item { display: none; } -body:not(.sidebar-refactoring) .nav-sidebar svg { +.nav-sidebar svg { height: 16px; width: 16px; } + @media (min-width: 768px) and (max-width: 1199px) { - body:not(.sidebar-refactoring) .nav-sidebar:not(.sidebar-expanded-mobile) { + .nav-sidebar:not(.sidebar-expanded-mobile) { width: 50px; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .nav-sidebar-inner-scroll { + .nav-sidebar:not(.sidebar-expanded-mobile) .nav-sidebar-inner-scroll { overflow-x: hidden; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .badge.badge-pill:not(.fly-out-badge), - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .nav-item-name { + .nav-sidebar:not(.sidebar-expanded-mobile) .badge.badge-pill:not(.fly-out-badge), + .nav-sidebar:not(.sidebar-expanded-mobile) .sidebar-context-title, + .nav-sidebar:not(.sidebar-expanded-mobile) .nav-item-name { border: 0; clip: rect(0, 0, 0, 0); height: 1px; @@ -1392,476 +1475,273 @@ body:not(.sidebar-refactoring) .nav-sidebar svg { white-space: nowrap; width: 1px; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .sidebar-top-level-items - > li - > a { + .nav-sidebar:not(.sidebar-expanded-mobile) .sidebar-top-level-items > li > a { min-height: 45px; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .fly-out-top-item { + .nav-sidebar:not(.sidebar-expanded-mobile) .fly-out-top-item { display: block; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .avatar-container { + .nav-sidebar:not(.sidebar-expanded-mobile) .avatar-container { margin: 0 auto; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .context-header { + .nav-sidebar:not(.sidebar-expanded-mobile) .context-header { height: 60px; width: 50px; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .context-header - a { + .nav-sidebar:not(.sidebar-expanded-mobile) .context-header a { padding: 10px 4px; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .sidebar-context-title { - border: 0; - clip: rect(0, 0, 0, 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - white-space: nowrap; - width: 1px; - } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .sidebar-top-level-items - > li - .sidebar-sub-level-items:not(.flyout-list) { + .nav-sidebar:not(.sidebar-expanded-mobile) .sidebar-top-level-items > li .sidebar-sub-level-items:not(.flyout-list) { display: none; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .nav-icon-container { + .nav-sidebar:not(.sidebar-expanded-mobile) .nav-icon-container { margin-right: 0; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button { + .nav-sidebar:not(.sidebar-expanded-mobile) .toggle-sidebar-button { padding: 16px; width: 49px; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button - .collapse-text, - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button - .icon-chevron-double-lg-left { + .nav-sidebar:not(.sidebar-expanded-mobile) .toggle-sidebar-button .collapse-text, + .nav-sidebar:not(.sidebar-expanded-mobile) .toggle-sidebar-button .icon-chevron-double-lg-left { display: none; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button - .icon-chevron-double-lg-right { + .nav-sidebar:not(.sidebar-expanded-mobile) .toggle-sidebar-button .icon-chevron-double-lg-right { display: block; margin: 0; } } -body:not(.sidebar-refactoring) .nav-sidebar-inner-scroll { +.nav-sidebar-inner-scroll { height: 100%; width: 100%; overflow: auto; } -body:not(.sidebar-refactoring) .sidebar-sub-level-items { +.sidebar-sub-level-items { display: none; padding-bottom: 8px; } -body:not(.sidebar-refactoring) .sidebar-sub-level-items > li a { +.sidebar-sub-level-items > li a { padding: 8px 16px 8px 40px; } -body:not(.sidebar-refactoring) .sidebar-top-level-items { +.sidebar-top-level-items { margin-bottom: 60px; } + @media (min-width: 576px) { - body:not(.sidebar-refactoring) .sidebar-top-level-items > li > a { + .sidebar-top-level-items > li > a { margin-right: 1px; } } -body:not(.sidebar-refactoring) .sidebar-top-level-items > li .badge.badge-pill { +.sidebar-top-level-items > li .badge.badge-pill { background-color: rgba(255, 255, 255, 0.08); - color: #999; + color: #bababa; } -body:not(.sidebar-refactoring) .sidebar-top-level-items > li.active { +.sidebar-top-level-items > li.active { background: rgba(255, 255, 255, 0.04); } -body:not(.sidebar-refactoring) .sidebar-top-level-items > li.active > a { +.sidebar-top-level-items > li.active > a { margin-left: 4px; padding-left: 12px; } -body:not(.sidebar-refactoring) - .sidebar-top-level-items - > li.active - .badge.badge-pill { +.sidebar-top-level-items > li.active .badge.badge-pill { font-weight: 600; } -body:not(.sidebar-refactoring) - .sidebar-top-level-items - > li.active - .sidebar-sub-level-items:not(.is-fly-out-only) { +.sidebar-top-level-items > li.active .sidebar-sub-level-items:not(.is-fly-out-only) { display: block; } -body:not(.sidebar-refactoring) .toggle-sidebar-button, -body:not(.sidebar-refactoring) .close-nav-button { +.toggle-sidebar-button, +.close-nav-button { + width: 219px; + position: fixed; height: 48px; + bottom: 0; padding: 0 16px; - background-color: #303030; + background-color: #2e2e2e; border: 0; - color: #999; + border-top: 1px solid #4f4f4f; + color: #bababa; display: flex; align-items: center; } -body:not(.sidebar-refactoring) .toggle-sidebar-button, -body:not(.sidebar-refactoring) .close-nav-button { - position: fixed; - bottom: 0; - width: 219px; - border-top: 1px solid #404040; -} -body:not(.sidebar-refactoring) .toggle-sidebar-button svg, -body:not(.sidebar-refactoring) .close-nav-button svg { +.toggle-sidebar-button svg, +.close-nav-button svg { margin-right: 8px; } -body:not(.sidebar-refactoring) - .toggle-sidebar-button - .icon-chevron-double-lg-right, -body:not(.sidebar-refactoring) .close-nav-button .icon-chevron-double-lg-right { +.toggle-sidebar-button .icon-chevron-double-lg-right, +.close-nav-button .icon-chevron-double-lg-right { display: none; } -body:not(.sidebar-refactoring) .collapse-text { +.collapse-text { white-space: nowrap; overflow: hidden; } -body:not(.sidebar-refactoring) .fly-out-top-item > a { - display: flex; +.sidebar-collapsed-desktop .context-header { + height: 60px; + width: 50px; } -body:not(.sidebar-refactoring) .fly-out-top-item .fly-out-badge { - margin-left: 8px; +.sidebar-collapsed-desktop .context-header a { + padding: 10px 4px; } -body:not(.sidebar-refactoring) .fly-out-top-item-name { - flex: 1; -} -body:not(.sidebar-refactoring) .close-nav-button { +.sidebar-collapsed-desktop .sidebar-top-level-items > li .sidebar-sub-level-items:not(.flyout-list) { display: none; } -@media (max-width: 767.98px) { - body:not(.sidebar-refactoring) .close-nav-button { - display: flex; - } - body:not(.sidebar-refactoring) .toggle-sidebar-button { - display: none; - } -} -@media (min-width: 768px) { - body.sidebar-refactoring .page-with-contextual-sidebar { - padding-left: 50px; - } -} -@media (min-width: 1200px) { - body.sidebar-refactoring .page-with-contextual-sidebar { - padding-left: 220px; - } -} -body.sidebar-refactoring .nav-sidebar { - position: fixed; - z-index: 600; - width: 220px; - top: 40px; - bottom: 0; - left: 0; - background: linear-gradient(#cbbbf2, #8f4700); - box-shadow: inset -1px 0 0 #404040; - transform: translate3d(0, 0, 0); -} -@media (min-width: 576px) and (max-width: 576px) { - body.sidebar-refactoring .nav-sidebar:not(.sidebar-collapsed-desktop) { - box-shadow: inset -1px 0 0 #404040, 2px 1px 3px rgba(0, 0, 0, 0.1); - } +.sidebar-collapsed-desktop .nav-icon-container { + margin-right: 0; } -body.sidebar-refactoring .nav-sidebar a { - text-decoration: none; +.sidebar-collapsed-desktop .toggle-sidebar-button { + padding: 16px; + width: 49px; } -body.sidebar-refactoring .nav-sidebar ul { - padding-left: 0; - list-style: none; +.sidebar-collapsed-desktop .toggle-sidebar-button .collapse-text, +.sidebar-collapsed-desktop .toggle-sidebar-button .icon-chevron-double-lg-left { + display: none; } -body.sidebar-refactoring .nav-sidebar li { - white-space: nowrap; +.sidebar-collapsed-desktop .toggle-sidebar-button .icon-chevron-double-lg-right { + display: block; + margin: 0; } -body.sidebar-refactoring .nav-sidebar li a { +.fly-out-top-item > a { display: flex; - align-items: center; - padding: 12px 16px; - color: #999; } -body.sidebar-refactoring .nav-sidebar li .nav-item-name { - flex: 1; -} -body.sidebar-refactoring .nav-sidebar li.active > a { - font-weight: 600; -} -@media (max-width: 767.98px) { - body.sidebar-refactoring .nav-sidebar { - left: -220px; - } +.fly-out-top-item .fly-out-badge { + margin-left: 8px; } -body.sidebar-refactoring .nav-sidebar .nav-icon-container { - display: flex; - margin-right: 8px; +.fly-out-top-item-name { + flex: 1; } -body.sidebar-refactoring .nav-sidebar .fly-out-top-item { +.close-nav-button { display: none; } -body.sidebar-refactoring .nav-sidebar svg { - height: 16px; - width: 16px; -} -@media (min-width: 768px) and (max-width: 1199px) { - body.sidebar-refactoring .nav-sidebar:not(.sidebar-expanded-mobile) { - width: 50px; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .nav-sidebar-inner-scroll { - overflow-x: hidden; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .badge.badge-pill:not(.fly-out-badge), - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .nav-item-name { - border: 0; - clip: rect(0, 0, 0, 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - white-space: nowrap; - width: 1px; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .sidebar-top-level-items - > li - > a { - min-height: 45px; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .fly-out-top-item { - display: block; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .avatar-container { - margin: 0 auto; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .context-header { - height: 60px; - width: 50px; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .context-header - a { - padding: 10px 4px; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .sidebar-context-title { - border: 0; - clip: rect(0, 0, 0, 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - white-space: nowrap; - width: 1px; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .sidebar-top-level-items - > li - .sidebar-sub-level-items:not(.flyout-list) { - display: none; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .nav-icon-container { - margin-right: 0; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button { - padding: 16px; - width: 49px; + +@media (max-width: 767.98px) { + .close-nav-button { + display: flex; } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button - .collapse-text, - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button - .icon-chevron-double-lg-left { + .toggle-sidebar-button { display: none; } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button - .icon-chevron-double-lg-right { - display: block; - margin: 0; - } -} -body.sidebar-refactoring .nav-sidebar-inner-scroll { - height: 100%; - width: 100%; - overflow: auto; -} -body.sidebar-refactoring .sidebar-sub-level-items { - display: none; - padding-bottom: 8px; } -body.sidebar-refactoring .sidebar-sub-level-items > li a { - padding: 8px 16px 8px 40px; -} -body.sidebar-refactoring .sidebar-top-level-items { - margin-bottom: 60px; -} -@media (min-width: 576px) { - body.sidebar-refactoring .sidebar-top-level-items > li > a { - margin-right: 1px; - } -} -body.sidebar-refactoring .sidebar-top-level-items > li .badge.badge-pill { - background-color: rgba(255, 255, 255, 0.08); - color: #999; +table.table { + margin-bottom: 16px; } -body.sidebar-refactoring .sidebar-top-level-items > li.active { - background: rgba(255, 255, 255, 0.04); +table.table .dropdown-menu a { + text-decoration: none; } -body.sidebar-refactoring .sidebar-top-level-items > li.active > a { - margin-left: 4px; - padding-left: 12px; +table.table .success, +table.table .info { + color: #333; } -body.sidebar-refactoring - .sidebar-top-level-items - > li.active - .badge.badge-pill { - font-weight: 600; +table.table .success a:not(.btn), +table.table .info a:not(.btn) { + text-decoration: underline; + color: #333; } -body.sidebar-refactoring - .sidebar-top-level-items - > li.active - .sidebar-sub-level-items:not(.is-fly-out-only) { +pre { + font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; display: block; + padding: 8px 12px; + margin: 0 0 8px; + font-size: 13px; + word-break: break-all; + word-wrap: break-word; + color: #fafafa; + background-color: #2e2e2e; + border: 1px solid #4f4f4f; + border-radius: 2px; } -body.sidebar-refactoring .toggle-sidebar-button, -body.sidebar-refactoring .close-nav-button { - height: 48px; - padding: 0 16px; - background-color: #303030; - border: 0; - color: #999; - display: flex; - align-items: center; -} -body.sidebar-refactoring .toggle-sidebar-button, -body.sidebar-refactoring .close-nav-button { - position: fixed; - bottom: 0; - width: 219px; - border-top: 1px solid #404040; -} -body.sidebar-refactoring .toggle-sidebar-button svg, -body.sidebar-refactoring .close-nav-button svg { - margin-right: 8px; -} -body.sidebar-refactoring .toggle-sidebar-button .icon-chevron-double-lg-right, -body.sidebar-refactoring .close-nav-button .icon-chevron-double-lg-right { - display: none; -} -body.sidebar-refactoring .collapse-text { - white-space: nowrap; - overflow: hidden; -} -body.sidebar-refactoring .fly-out-top-item > a { - display: flex; -} -body.sidebar-refactoring .fly-out-top-item .fly-out-badge { - margin-left: 8px; -} -body.sidebar-refactoring .fly-out-top-item-name { - flex: 1; -} -body.sidebar-refactoring .close-nav-button { - display: none; -} -@media (max-width: 767.98px) { - body.sidebar-refactoring .close-nav-button { - display: flex; - } - body.sidebar-refactoring .toggle-sidebar-button { - display: none; - } +.monospace { + font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; } -input::-moz-placeholder { - color: #868686; +input::-moz-placeholder, +textarea::-moz-placeholder { + color: #a7a7a7; opacity: 1; } -input::-ms-input-placeholder { - color: #868686; +input::-ms-input-placeholder, +textarea::-ms-input-placeholder { + color: #a7a7a7; } -input:-ms-input-placeholder { - color: #868686; +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + color: #a7a7a7; } svg { fill: currentColor; } + svg.s12 { width: 12px; height: 12px; } + svg.s16 { width: 16px; height: 16px; } + svg.s18 { width: 18px; height: 18px; } + svg.s12 { vertical-align: -1px; } + svg.s16 { vertical-align: -3px; } -.js-groups-dropdown { +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +table.code { width: 100%; + font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; + border: 0; + border-collapse: separate; + margin: 0; + padding: 0; + table-layout: fixed; + border-radius: 0 0 4px 4px; +} +.frame .badge.badge-pill { + position: absolute; + background-color: #1b69b6; + color: #333; + border: #333 1px solid; + min-height: 16px; + padding: 5px 8px; + border-radius: 12px; +} +.frame .badge.badge-pill { + transform: translate(-50%, -50%); +} +.color-label { + padding: 0 0.5rem; + line-height: 16px; + border-radius: 100px; + color: #333; +} +.label-link { + display: inline-flex; + vertical-align: text-bottom; +} +.milestones { + padding: 8px; + margin-top: 8px; + border-radius: 4px; + background-color: #4f4f4f; } .search { margin: 0 8px; } .search form { - display: block; margin: 0; padding: 4px; width: 200px; @@ -1870,6 +1750,7 @@ svg.s16 { border: 0; border-radius: 4px; } + @media (min-width: 1200px) { .search form { width: 320px; @@ -1908,17 +1789,12 @@ svg.s16 { .search .search-input-wrap .dropdown { position: static; } -.search .search-input-wrap .dropdown-header { - font-weight: 600; - color: #fafafa; - font-size: 0.875rem; - line-height: 16px; -} .search .search-input-wrap .dropdown-menu { left: -5px; max-height: 400px; overflow: auto; } + @media (min-width: 1200px) { .search .search-input-wrap .dropdown-menu { width: 320px; @@ -1927,27 +1803,34 @@ svg.s16 { .search .search-input-wrap .dropdown-content { max-height: 382px; } -.avatar, -.avatar-container { +.settings { + border-top: 1px solid #4f4f4f; +} +.settings:first-of-type { + margin-top: 10px; + border: 0; +} +.settings + div .settings:first-of-type { + margin-top: 0; + border-top: 1px solid #4f4f4f; +} +.avatar, .avatar-container { float: left; margin-right: 16px; border-radius: 50%; border: 1px solid #333; } -.avatar.s16, -.avatar-container.s16 { +.s16.avatar, .s16.avatar-container { width: 16px; height: 16px; margin-right: 8px; } -.avatar.s18, -.avatar-container.s18 { +.s18.avatar, .s18.avatar-container { width: 18px; height: 18px; margin-right: 8px; } -.avatar.s40, -.avatar-container.s40 { +.s40.avatar, .s40.avatar-container { width: 40px; height: 40px; margin-right: 8px; @@ -1961,6 +1844,11 @@ svg.s16 { overflow: hidden; border-color: rgba(255, 255, 255, 0.1); } +.avatar.center { + font-size: 14px; + line-height: 1.8em; + text-align: center; +} .avatar.avatar-tile { border-radius: 0; border: 0; @@ -1999,219 +1887,6 @@ svg.s16 { .rect-avatar.s40 { border-radius: 4px; } -#content-body { - display: block; -} -@keyframes gl-spinner-rotate { - 0% { - transform: rotate(0); - } - 100% { - transform: rotate(360deg); - } -} -body.gl-dark .navbar-gitlab { - background-color: #fafafa; -} -body.gl-dark .navbar-gitlab .navbar-collapse { - color: #fafafa; -} -body.gl-dark .navbar-gitlab .container-fluid .navbar-toggler { - border-left: 1px solid #b3b3b3; -} -body.gl-dark .navbar-gitlab .container-fluid .navbar-toggler svg { - fill: #fafafa; -} -body.gl-dark .navbar-gitlab .navbar-sub-nav > li.active > a, -body.gl-dark .navbar-gitlab .navbar-sub-nav > li.active > button, -body.gl-dark .navbar-gitlab .navbar-sub-nav > li.dropdown.show > a, -body.gl-dark .navbar-gitlab .navbar-sub-nav > li.dropdown.show > button, -body.gl-dark .navbar-gitlab .navbar-nav > li.active > a, -body.gl-dark .navbar-gitlab .navbar-nav > li.active > button, -body.gl-dark .navbar-gitlab .navbar-nav > li.dropdown.show > a, -body.gl-dark .navbar-gitlab .navbar-nav > li.dropdown.show > button { - color: #fafafa; - background-color: #333; -} -body.gl-dark .navbar-gitlab .navbar-sub-nav { - color: #fafafa; -} -body.gl-dark .navbar-gitlab .nav > li { - color: #fafafa; -} -body.gl-dark .navbar-gitlab .nav > li > a .notification-dot { - border: 2px solid #fafafa; -} -body.gl-dark - .navbar-gitlab - .nav - > li - > a.header-help-dropdown-toggle - .notification-dot { - background-color: #fafafa; -} -body.gl-dark - .navbar-gitlab - .nav - > li - > a.header-user-dropdown-toggle - .header-user-avatar { - border-color: #fafafa; -} -body.gl-dark .navbar-gitlab .nav > li.active > a, -body.gl-dark .navbar-gitlab .nav > li.dropdown.show > a { - color: #fafafa; - background-color: #333; -} -body.gl-dark .navbar-gitlab .nav > li.active > a .notification-dot, -body.gl-dark .navbar-gitlab .nav > li.dropdown.show > a .notification-dot { - border-color: #333; -} -body.gl-dark - .navbar-gitlab - .nav - > li.active - > a.header-help-dropdown-toggle - .notification-dot, -body.gl-dark - .navbar-gitlab - .nav - > li.dropdown.show - > a.header-help-dropdown-toggle - .notification-dot { - background-color: #fafafa; -} -body.gl-dark .search form { - background-color: rgba(250, 250, 250, 0.2); -} -body.gl-dark .search .search-input::-ms-input-placeholder { - color: rgba(250, 250, 250, 0.8); -} -body.gl-dark .search .search-input::placeholder { - color: rgba(250, 250, 250, 0.8); -} -body.gl-dark .search .search-input-wrap .search-icon, -body.gl-dark .search .search-input-wrap .clear-icon { - fill: rgba(250, 250, 250, 0.8); -} -body.gl-dark .nav-sidebar li.active { - box-shadow: inset 4px 0 0 #999; -} -body.gl-dark .nav-sidebar li.active > a { - color: #f0f0f0; -} -body.gl-dark .nav-sidebar li.active .nav-icon-container svg { - fill: #f0f0f0; -} -body.gl-dark .sidebar-top-level-items > li.active .badge.badge-pill { - color: #f0f0f0; -} -body.gl-dark .logo-text svg { - fill: var(--gl-text-color); -} -body.gl-dark .navbar-gitlab { - background-color: var(--gray-50); - box-shadow: 0 1px 0 0 var(--gray-100); -} -body.gl-dark .navbar-gitlab .navbar-sub-nav li.active > a, -body.gl-dark .navbar-gitlab .navbar-sub-nav li.active > button, -body.gl-dark .navbar-gitlab .navbar-sub-nav li.dropdown.show > a, -body.gl-dark .navbar-gitlab .navbar-sub-nav li.dropdown.show > button, -body.gl-dark .navbar-gitlab .navbar-nav li.active > a, -body.gl-dark .navbar-gitlab .navbar-nav li.active > button, -body.gl-dark .navbar-gitlab .navbar-nav li.dropdown.show > a, -body.gl-dark .navbar-gitlab .navbar-nav li.dropdown.show > button { - color: var(--gl-text-color); - background-color: var(--gray-200); -} -body.gl-dark .navbar-gitlab .search form { - background-color: var(--gray-100); - box-shadow: inset 0 0 0 1px var(--border-color); -} - -body.gl-dark { - --gray-10: #1f1f1f; - --gray-50: #303030; - --gray-100: #404040; - --gray-200: #525252; - --gray-300: #5e5e5e; - --gray-400: #868686; - --gray-500: #999; - --gray-600: #bfbfbf; - --gray-700: #dbdbdb; - --gray-800: #f0f0f0; - --gray-900: #fafafa; - --gray-950: #fff; - --green-50: #0a4020; - --green-100: #0d532a; - --green-200: #24663b; - --green-300: #217645; - --green-400: #108548; - --green-500: #2da160; - --green-600: #52b87a; - --green-700: #91d4a8; - --green-800: #c3e6cd; - --green-900: #ecf4ee; - --green-950: #f1fdf6; - --blue-50: #033464; - --blue-100: #064787; - --blue-200: #0b5cad; - --blue-300: #1068bf; - --blue-400: #1f75cb; - --blue-500: #428fdc; - --blue-600: #63a6e9; - --blue-700: #9dc7f1; - --blue-800: #cbe2f9; - --blue-900: #e9f3fc; - --blue-950: #f2f9ff; - --orange-50: #5c2900; - --orange-100: #703800; - --orange-200: #8f4700; - --orange-300: #9e5400; - --orange-400: #ab6100; - --orange-500: #c17d10; - --orange-600: #d99530; - --orange-700: #e9be74; - --orange-800: #f5d9a8; - --orange-900: #fdf1dd; - --orange-950: #fff4e1; - --red-50: #660e00; - --red-100: #8d1300; - --red-200: #ae1800; - --red-300: #c91c00; - --red-400: #dd2b0e; - --red-500: #ec5941; - --red-600: #f57f6c; - --red-700: #fcb5aa; - --red-800: #fdd4cd; - --red-900: #fcf1ef; - --red-950: #fff4f3; - --indigo-50: #1a1a40; - --indigo-100: #292961; - --indigo-200: #393982; - --indigo-300: #4b4ba3; - --indigo-400: #5b5bbd; - --indigo-500: #6666c4; - --indigo-600: #7c7ccc; - --indigo-700: #a6a6de; - --indigo-800: #d1d1f0; - --indigo-900: #ebebfa; - --indigo-950: #f7f7ff; - --indigo-900-alpha-008: rgba(235, 235, 250, 0.08); - --gl-text-color: #fafafa; - --border-color: #4f4f4f; - --white: #333; - --black: #fff; - --svg-status-bg: #333; -} -@keyframes gl-spinner-rotate { - 0% { - transform: rotate(0); - } - 100% { - transform: rotate(360deg); - } -} .tab-width-8 { -moz-tab-size: 8; tab-size: 8; @@ -2227,61 +1902,12 @@ body.gl-dark { white-space: nowrap; width: 1px; } -@keyframes gl-spinner-rotate { - 0% { - transform: rotate(0); - } - 100% { - transform: rotate(360deg); - } -} -.gl-border-solid { - border-style: solid; -} -.gl-border-gray-100 { - border-color: #404040; -} -.gl-border-0 { - border-width: 0; -} -.gl-border-t-1 { - border-top-width: 1px; -} -.gl-display-flex\! { - display: flex !important; -} -.gl-align-items-center { - align-items: center; -} -.gl-justify-content-space-between { - justify-content: space-between; -} -.gl-absolute { - position: absolute; -} -.gl-px-3\! { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; -} -.gl-mt-7 { - margin-top: 2rem; -} -.gl-ml-auto { - margin-left: auto; -} .gl-ml-3 { margin-left: 0.5rem; } -.gl-mx-0\! { - margin-left: 0 !important; - margin-right: 0 !important; -} -.gl-font-weight-bold { - font-weight: 600; -} -.gl-line-height-20\! { - line-height: 1.25rem !important; +.content-wrapper > .alert-wrapper, +#content-body, .modal-dialog { + display: block; } - -@import "cloaking"; +@import 'cloaking'; @include cloak-startup-scss(none); diff --git a/app/assets/stylesheets/startup/startup-general.scss b/app/assets/stylesheets/startup/startup-general.scss index f188ae7f507..44da509481d 100644 --- a/app/assets/stylesheets/startup/startup-general.scss +++ b/app/assets/stylesheets/startup/startup-general.scss @@ -1,6 +1,3 @@ -// DO NOT EDIT! This is auto-generated from "yarn run generate:startup_css" -// Please see the feedback issue for more details and help: -// https://gitlab.com/gitlab-org/gitlab/-/issues/331812 @charset "UTF-8"; *, *::before, @@ -11,16 +8,12 @@ html { font-family: sans-serif; line-height: 1.15; } -aside, -header, -nav { + header, nav, section { display: block; } body { margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, - "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, - "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1rem; font-weight: 400; line-height: 1.5; @@ -28,29 +21,55 @@ body { text-align: left; background-color: #fff; } -h1 { +h1, h2, h3 { margin-top: 0; margin-bottom: 0.25rem; } +p { + margin-top: 0; + margin-bottom: 1rem; +} + ul { margin-top: 0; margin-bottom: 1rem; } + ul ul { margin-bottom: 0; } + strong { font-weight: bolder; } +sub { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sub { + bottom: -.25em; +} a { color: #007bff; text-decoration: none; background-color: transparent; } -a:not([href]):not([class]) { +a:not([href]) { color: inherit; text-decoration: none; } +pre, +code { + font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; + font-size: 1em; +} +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} img { vertical-align: middle; border-style: none; @@ -59,11 +78,18 @@ svg { overflow: hidden; vertical-align: middle; } +table { + border-collapse: collapse; +} +th { + text-align: inherit; +} button { border-radius: 0; } input, -button { +button, +textarea { margin: 0; font-family: inherit; font-size: inherit; @@ -76,20 +102,21 @@ input { button { text-transform: none; } -[role="button"] { - cursor: pointer; -} button:not(:disabled), [type="button"]:not(:disabled), -[type="submit"]:not(:disabled) { +[type="reset"]:not(:disabled) { cursor: pointer; } button::-moz-focus-inner, [type="button"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { +[type="reset"]::-moz-focus-inner { padding: 0; border-style: none; } +textarea { + overflow: auto; + resize: vertical; +} [type="search"] { outline-offset: -2px; } @@ -103,21 +130,75 @@ template { [hidden] { display: none !important; } -h1, -.h1 { +h1, h2, h3, +.h1, .h2, .h3 { margin-bottom: 0.25rem; font-weight: 600; line-height: 1.2; color: #303030; } -h1, -.h1 { +h1, .h1 { font-size: 2.1875rem; } +h2, .h2 { + font-size: 1.75rem; +} +h3, .h3 { + font-size: 1.53125rem; +} .list-unstyled { padding-left: 0; list-style: none; } +code { + font-size: 90%; + color: #1f1f1f; + word-wrap: break-word; +} +a > code { + color: inherit; +} +pre { + display: block; + font-size: 90%; + color: #303030; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} .container-fluid { width: 100%; padding-right: 15px; @@ -125,7 +206,48 @@ h1, margin-right: auto; margin-left: auto; } -.form-control { + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} +.row { + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} +.table { + width: 100%; + margin-bottom: 0.5rem; + color: #303030; +} +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dbdbdb; +} + .search form { display: block; width: 100%; height: 34px; @@ -139,21 +261,18 @@ h1, border: 1px solid #dbdbdb; border-radius: 0.25rem; } + @media (prefers-reduced-motion: reduce) { } -.form-control:-moz-focusring { + .search form:-moz-focusring { color: transparent; text-shadow: 0 0 0 #303030; } -.form-control::-ms-input-placeholder { + .search form::placeholder { color: #5e5e5e; opacity: 1; } -.form-control::placeholder { - color: #5e5e5e; - opacity: 1; -} -.form-control:disabled { + .search form:disabled { background-color: #fafafa; opacity: 1; } @@ -162,8 +281,9 @@ h1, flex-flow: row wrap; align-items: center; } + @media (min-width: 576px) { - .form-inline .form-control { + .form-inline .search form, .search .form-inline form { display: inline-block; width: auto; vertical-align: middle; @@ -175,7 +295,7 @@ h1, color: #303030; text-align: center; vertical-align: middle; - -moz-user-select: none; + cursor: pointer; user-select: none; background-color: transparent; border: 1px solid transparent; @@ -184,35 +304,26 @@ h1, line-height: 20px; border-radius: 0.25rem; } + @media (prefers-reduced-motion: reduce) { } -.btn:disabled { +.btn.disabled, .btn:disabled { opacity: 0.65; } -.btn:not(:disabled):not(.disabled) { - cursor: pointer; -} -.btn-link { - font-weight: 400; - color: #007bff; - text-decoration: none; -} -.btn-link:disabled { - color: #5e5e5e; +a.btn.disabled { pointer-events: none; } .collapse:not(.show) { display: none; } + .dropdown { position: relative; } -.dropdown-toggle, -.dropdown-menu-toggle { + .dropdown-menu-toggle { white-space: nowrap; } -.dropdown-toggle::after, -.dropdown-menu-toggle::after { + .dropdown-menu-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; @@ -222,8 +333,7 @@ h1, border-bottom: 0; border-left: 0.3em solid transparent; } -.dropdown-toggle:empty::after, -.dropdown-menu-toggle:empty::after { + .dropdown-menu-toggle:empty::after { margin-left: 0; } .dropdown-menu { @@ -249,16 +359,14 @@ h1, right: 0; left: auto; } -.dropdown-menu.show { - display: block; + .divider { + height: 0; + margin: 4px 0; + overflow: hidden; + border-top: 1px solid #dbdbdb; } -.dropdown-header { +.dropdown-menu.show { display: block; - padding: 0.5rem 12px; - margin-bottom: 0; - font-size: 0.875rem; - color: #5e5e5e; - white-space: nowrap; } .nav { display: flex; @@ -267,10 +375,6 @@ h1, margin-bottom: 0; list-style: none; } -.nav-link { - display: block; - padding: 0.5rem 1rem; -} .navbar { position: relative; display: flex; @@ -279,6 +383,7 @@ h1, justify-content: space-between; padding: 0.25rem 0.5rem; } +.navbar .container, .navbar .container-fluid { display: flex; flex-wrap: wrap; @@ -292,10 +397,6 @@ h1, margin-bottom: 0; list-style: none; } -.navbar-nav .nav-link { - padding-right: 0; - padding-left: 0; -} .navbar-nav .dropdown-menu { position: static; float: none; @@ -313,12 +414,15 @@ h1, border: 1px solid transparent; border-radius: 0.25rem; } + @media (max-width: 575.98px) { + .navbar-expand-sm > .container, .navbar-expand-sm > .container-fluid { padding-right: 0; padding-left: 0; } } + @media (min-width: 576px) { .navbar-expand-sm { flex-flow: row nowrap; @@ -330,10 +434,7 @@ h1, .navbar-expand-sm .navbar-nav .dropdown-menu { position: absolute; } - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } + .navbar-expand-sm > .container, .navbar-expand-sm > .container-fluid { flex-wrap: nowrap; } @@ -367,6 +468,7 @@ h1, vertical-align: baseline; border-radius: 0.25rem; } + @media (prefers-reduced-motion: reduce) { } .badge:empty { @@ -381,9 +483,9 @@ h1, padding-left: 0.6em; border-radius: 10rem; } -.badge-dark { - color: #fff; - background-color: #404040; +.media { + display: flex; + align-items: flex-start; } .close { float: right; @@ -392,15 +494,55 @@ h1, line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; - opacity: 0.5; + opacity: .5; } button.close { padding: 0; background-color: transparent; border: 0; + appearance: none; +} +a.close.disabled { + pointer-events: none; } -.rounded-circle { - border-radius: 50% !important; +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } +} +.bg-transparent { + background-color: transparent !important; +} +.border { + border: 1px solid #dbdbdb !important; +} +.border-top { + border-top: 1px solid #dbdbdb !important; +} +.border-right { + border-right: 1px solid #dbdbdb !important; +} +.border-bottom { + border-bottom: 1px solid #dbdbdb !important; +} +.border-left { + border-left: 1px solid #dbdbdb !important; +} +.rounded { + border-radius: 0.25rem !important; +} +.clearfix::after { + display: block; + clear: both; + content: ""; } .d-none { display: none !important; @@ -411,19 +553,19 @@ button.close { .d-block { display: block !important; } + @media (min-width: 576px) { .d-sm-none { display: none !important; } } + @media (min-width: 768px) { - .d-md-none { - display: none !important; - } .d-md-block { display: block !important; } } + @media (min-width: 992px) { .d-lg-none { display: none !important; @@ -432,14 +574,15 @@ button.close { display: block !important; } } + @media (min-width: 1200px) { - .d-xl-none { - display: none !important; - } .d-xl-block { display: block !important; } } +.flex-wrap { + flex-wrap: wrap !important; +} .float-right { float: right !important; } @@ -460,13 +603,15 @@ button.close { .text-nowrap { white-space: nowrap !important; } -@keyframes gl-spinner-rotate { - 0% { - transform: rotate(0); - } - 100% { - transform: rotate(360deg); - } +.visible { + visibility: visible !important; +} + .search form.focus { + color: #303030; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .gl-badge { display: inline-flex; @@ -478,148 +623,50 @@ button.close { padding-bottom: 0.25rem; padding-left: 0.5rem; padding-right: 0.5rem; -} -.gl-badge.sm { - padding-top: 0; - padding-bottom: 0; -} -.gl-badge.badge-muted { - background-color: #f0f0f0; - color: #666; -} -a.gl-badge.badge-muted.active, -a.gl-badge.badge-muted:active { - color: #404040; - background-color: #dbdbdb; -} -.gl-new-dropdown .dropdown-menu { - background-color: #fff; - border-width: 1px; - border-color: #bfbfbf; - margin-top: 0.25rem; - margin-bottom: 0.25rem; - padding: 0; - border-radius: 0.25rem; - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); - width: 15rem; -} -.gl-new-dropdown .dropdown-menu li { - padding: 0; -} -.gl-new-dropdown .dropdown-toggle::after, -.gl-new-dropdown .dropdown-menu-toggle::after { - display: none; -} -.gl-new-dropdown .dropdown-toggle.gl-button, -.gl-new-dropdown .gl-button.dropdown-menu-toggle { - padding-right: 0.5rem; -} -.gl-new-dropdown.dropdown .gl-button .dropdown-chevron, -.gl-new-dropdown.dropdown .dropdown-chevron { - margin-left: 0.25rem; - margin-right: 0; -} -.gl-new-dropdown .dropdown-icon { - margin-right: 0.25rem; -} -.gl-spinner-container { - line-height: 0; - text-align: center; -} -.gl-spinner { - position: relative; - display: inline-flex; - border-radius: 50%; - border-style: solid; - margin-left: auto; - margin-right: auto; - margin-top: 0; - margin-bottom: 0; - font-size: 0.875rem; - animation-name: gl-spinner-rotate; - animation-duration: 0.6s; - animation-timing-function: linear; - animation-iteration-count: infinite; - width: 1rem; - height: 1rem; - border-width: 2px; - transform-origin: 50% 50% calc((1rem / 2) + 2px); - border-color: rgba(82, 82, 82, 0.25); - border-top-color: #525252; -} -.gl-spinner.gl-spinner-md { - width: 1.5rem; - height: 1.5rem; - border-width: 3px; - transform-origin: 50% 50% calc((1.5rem / 2) + 3px); -} -.gl-button { - display: inline-flex; -} -.gl-button.gl-button { - border-width: 0; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - padding-right: 0.75rem; - background-color: transparent; - line-height: 1rem; - color: #303030; - fill: currentColor; - box-shadow: inset 0 0 0 1px #bfbfbf; - justify-content: center; - align-items: center; - font-size: 0.875rem; - border-radius: 0.25rem; -} -.gl-button.gl-button.btn-default { - background-color: #fff; -} -.gl-button.gl-button.btn-default:active, -.gl-button.gl-button.btn-default.active { - box-shadow: inset 0 0 0 2px #5e5e5e, 0 0 0 1px rgba(255, 255, 255, 0.4), - 0 0 0 4px rgba(31, 117, 203, 0.48); outline: none; - background-color: #dbdbdb; -} -.gl-button.gl-button.btn-link { - background-color: transparent; - border-width: 0; - font-size: 0.875rem; - line-height: 1rem; - color: #1f75cb; - padding-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - box-shadow: none; -} -.gl-button.gl-button.btn-link:active { - color: #0b5cad; - text-decoration: underline; } -body, -.form-control, +body, .search form, .search form { font-size: 0.875rem; } button, -html [type="button"], -[type="submit"], -[role="button"] { +html [type='button'], +[type='reset'], +[role='button'] { cursor: pointer; } h1, -.h1 { +.h1, +h2, +.h2, +h3, +.h3 { margin-top: 20px; margin-bottom: 10px; } +input[type='file'] { + line-height: 1; +} + strong { font-weight: bold; } a { color: #1068bf; } +code { + padding: 2px 4px; + color: #1f1f1f; + background-color: #f0f0f0; + border-radius: 4px; +} +.code > code { + background-color: inherit; + padding: unset; +} +table { + border-spacing: 0; +} .hidden { display: none !important; visibility: hidden !important; @@ -627,8 +674,7 @@ a { .hide { display: none; } -.dropdown-toggle::after, -.dropdown-menu-toggle::after { + .dropdown-menu-toggle::after { display: none; } .badge:not(.gl-badge) { @@ -638,11 +684,8 @@ a { font-weight: 400; display: inline-block; } -.divider { - height: 0; - margin: 4px 0; - overflow: hidden; - border-top: 1px solid #dbdbdb; +pre code { + white-space: pre-wrap; } .toggle-sidebar-button .collapse-text, .toggle-sidebar-button .icon-chevron-double-lg-left, @@ -658,20 +701,28 @@ html { body { text-decoration-skip: ink; } -@keyframes spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); +.content-wrapper { + margin-top: 40px; + padding-bottom: 100px; +} +.container { + padding-top: 0; + z-index: 5; +} +.container .content { + margin: 0; +} + +@media (max-width: 575.98px) { + .container .content { + margin-top: 20px; } } -.gl-spinner { - animation-name: spin; - animation-iteration-count: infinite; - animation-timing-function: linear; - animation-duration: 1s; - transform-origin: 50% 50%; + +@media (max-width: 575.98px) { + .container .container .title { + padding-left: 15px !important; + } } .btn { border-radius: 4px; @@ -684,8 +735,7 @@ body { color: #303030; white-space: nowrap; } -.btn:active, -.btn.active { +.btn:active, .btn.active { background-color: #eaeaea; border-color: #e3e3e3; color: #303030; @@ -694,35 +744,64 @@ body { height: 15px; width: 15px; } -.btn svg:not(:last-child) { +.btn svg:not(:last-child), +.btn .fa:not(:last-child) { margin-right: 5px; } -.btn-link { - padding: 0; - background-color: transparent; - color: #1068bf; - font-weight: normal; - border-radius: 0; - border-color: transparent; - border-width: 0; -} .badge.badge-pill:not(.gl-badge) { font-weight: 400; background-color: rgba(0, 0, 0, 0.07); color: #525252; vertical-align: baseline; } +.hint { + font-style: italic; + color: #bfbfbf; +} +.bold { + font-weight: 600; +} +pre.wrap { + word-break: break-word; + white-space: pre-wrap; +} +table a code { + position: relative; + top: -2px; + margin-right: 3px; +} +.loading { + margin: 20px auto; + height: 40px; + color: #525252; + font-size: 32px; + text-align: center; +} +.highlight { + text-shadow: none; +} .chart { overflow: hidden; height: 220px; } +.break-word { + word-wrap: break-word; +} +.center { + text-align: center; +} +.block { + display: block; +} +.flex { + display: flex; +} +.flex-grow { + flex-grow: 1; +} .dropdown { position: relative; } -.dropdown.gl-new-dropdown button.dropdown-toggle, -.dropdown.gl-new-dropdown button.dropdown-menu-toggle { - display: inline-flex; -} .show.dropdown .dropdown-menu { transform: translateY(0); display: block; @@ -730,32 +809,23 @@ body { max-height: 312px; overflow-y: auto; } -.show.dropdown .dropdown-menu.dropdown-extended-height { - max-height: 400px; -} + @media (max-width: 575.98px) { .show.dropdown .dropdown-menu { width: 100%; } } -.show.dropdown .dropdown-menu.frequent-items-dropdown-menu { - padding: 0; - overflow-y: initial; - max-height: initial; -} -.show.dropdown .dropdown-toggle, -.show.dropdown .dropdown-menu-toggle, + .show.dropdown .dropdown-menu-toggle, .show.dropdown .dropdown-menu-toggle { border-color: #c4c4c4; } -.show.dropdown [data-toggle="dropdown"] { +.show.dropdown [data-toggle='dropdown'] { outline: 0; } .search-input-container .dropdown-menu { margin-top: 11px; } -.dropdown-toggle, -.dropdown-menu-toggle { + .dropdown-menu-toggle { padding: 6px 8px 6px 10px; background-color: #fff; color: #303030; @@ -765,22 +835,21 @@ body { border-radius: 0.25rem; white-space: nowrap; } -.dropdown-toggle.no-outline, -.no-outline.dropdown-menu-toggle { + .no-outline.dropdown-menu-toggle { outline: 0; } -.dropdown-menu-toggle.dropdown-menu-toggle { - justify-content: flex-start; - overflow: hidden; + .dropdown-menu-toggle .fa { + color: #c4c4c4; +} +.dropdown-menu-toggle { padding-right: 25px; position: relative; - text-overflow: ellipsis; width: 160px; + text-overflow: ellipsis; + overflow: hidden; } -.dropdown-menu-toggle.dropdown-menu-toggle .gl-spinner { +.dropdown-menu-toggle .fa { position: absolute; - top: 9px; - right: 8px; } .dropdown-menu { display: none; @@ -811,9 +880,7 @@ body { padding: 0 1px; } .dropdown-menu li > a, -.dropdown-menu li button, -.dropdown-menu li .gl-button.btn-link, -.dropdown-menu li .menu-item { +.dropdown-menu li button { background: transparent; border: 0; border-radius: 0; @@ -835,24 +902,13 @@ body { padding: 0; background-color: #dbdbdb; } -.dropdown-menu .dropdown-header { - color: #000; - font-size: 13px; - font-weight: 600; - line-height: 16px; - padding: 8px 12px; -} -.dropdown-menu .dropdown-bold-header { - font-weight: 600; - line-height: 16px; - padding: 8px 12px; -} .dropdown-menu .badge.badge-pill + span:not(.badge):not(.badge-pill) { margin-right: 40px; } .dropdown-select { width: 300px; } + @media (max-width: 767.98px) { .dropdown-select { width: 100%; @@ -873,95 +929,42 @@ body { background-color: rgba(255, 255, 255, 0.6); font-size: 28px; } +.dropdown-loading .fa { + position: absolute; + top: 50%; + left: 50%; + margin-top: -14px; + margin-left: -14px; +} + @media (max-width: 575.98px) { .navbar-gitlab li.dropdown { position: static; } - .navbar-gitlab li.dropdown.user-counter { - margin-left: 8px !important; - } - .navbar-gitlab li.dropdown.user-counter > a { - padding: 0 4px !important; - } header.navbar-gitlab .dropdown .dropdown-menu { width: 100%; min-width: 100%; } } -header.header-content .dropdown-menu.frequent-items-dropdown-menu { - padding: 0; -} -.frequent-items-dropdown-container { - display: flex; - flex-direction: row; - height: 20rem; -} -.frequent-items-dropdown-container.with-deprecated-styles { - width: 500px; - height: 354px; -} -.frequent-items-dropdown-container.with-deprecated-styles - .search-input-container { - position: relative; - padding: 4px 16px; -} -.frequent-items-dropdown-container.with-deprecated-styles - .search-input-container - .search-icon { - position: absolute; - top: 13px; - right: 25px; - color: #999; -} -@media (max-width: 575.98px) { - .frequent-items-dropdown-container.with-deprecated-styles { - flex-direction: column; - width: 100%; - height: auto; - flex: 1; - } - .frequent-items-dropdown-container.with-deprecated-styles - .frequent-items-dropdown-sidebar, - .frequent-items-dropdown-container.with-deprecated-styles - .frequent-items-dropdown-content { - width: 100%; - } - .frequent-items-dropdown-container.with-deprecated-styles - .frequent-items-dropdown-sidebar { - border-bottom: 1px solid #dbdbdb; - border-right: 0; - } -} -.frequent-items-dropdown-container .frequent-items-dropdown-sidebar, -.frequent-items-dropdown-container .frequent-items-dropdown-content { - padding-top: 0.5rem; -} -.frequent-items-dropdown-container .frequent-items-dropdown-sidebar { - width: 30%; - border-right: 1px solid #dbdbdb; -} -.frequent-items-dropdown-container .frequent-items-dropdown-content { - position: relative; - width: 70%; -} + @media (max-width: 767.98px) { .dropdown-menu-toggle { width: 100%; } } +textarea { + resize: vertical; +} input { border-radius: 0.25rem; color: #303030; background-color: #fff; } -.form-control { + .search form { border-radius: 4px; padding: 6px 10px; } -.form-control::-ms-input-placeholder { - color: #868686; -} -.form-control::placeholder { + .search form::placeholder { color: #868686; } .navbar-gitlab { @@ -970,6 +973,7 @@ input { margin-bottom: 0; min-height: 40px; border: 0; + border-bottom: 1px solid #dbdbdb; position: fixed; top: 0; left: 0; @@ -1019,6 +1023,9 @@ input { .navbar-gitlab .header-content .title img + .logo-text { margin-left: 8px; } +.navbar-gitlab .header-content .title.wrap { + white-space: normal; +} .navbar-gitlab .header-content .title a { display: flex; align-items: center; @@ -1026,6 +1033,9 @@ input { margin: 5px 2px 5px -8px; border-radius: 4px; } +.navbar-gitlab .header-content .dropdown.open > a { + border-bottom-color: #fff; +} .navbar-gitlab .header-content .navbar-collapse > ul.nav > li:not(.d-none) { margin: 0 2px; } @@ -1034,6 +1044,7 @@ input { border-top: 0; padding: 0; } + @media (max-width: 575.98px) { .navbar-gitlab .navbar-collapse { flex: 1 1 auto; @@ -1042,6 +1053,7 @@ input { .navbar-gitlab .navbar-collapse .nav { flex-wrap: nowrap; } + @media (max-width: 575.98px) { .navbar-gitlab .navbar-collapse .nav > li:not(.d-none) a { margin-left: 0; @@ -1064,6 +1076,7 @@ input { text-align: center; color: currentColor; } + @media (max-width: 575.98px) { .navbar-gitlab .container-fluid .navbar-nav { display: flex; @@ -1071,14 +1084,11 @@ input { flex-direction: row; } } -.navbar-gitlab - .container-fluid - .navbar-nav - li - .badge.badge-pill:not(.merge-request-badge) { +.navbar-gitlab .container-fluid .navbar-nav li .badge.badge-pill { box-shadow: none; font-weight: 600; } + @media (max-width: 575.98px) { .navbar-gitlab .container-fluid .nav > li.header-user { padding-left: 10px; @@ -1090,6 +1100,7 @@ input { padding: 6px 8px; height: 32px; } + @media (max-width: 575.98px) { .navbar-gitlab .container-fluid .nav > li > a { padding: 0; @@ -1098,12 +1109,7 @@ input { .navbar-gitlab .container-fluid .nav > li > a.header-user-dropdown-toggle { margin-left: 2px; } -.navbar-gitlab - .container-fluid - .nav - > li - > a.header-user-dropdown-toggle - .header-user-avatar { +.navbar-gitlab .container-fluid .nav > li > a.header-user-dropdown-toggle .header-user-avatar { margin-right: 0; } .navbar-gitlab .container-fluid .nav > li .header-new-dropdown-toggle { @@ -1124,9 +1130,7 @@ input { height: 32px; font-weight: 600; } -.navbar-sub-nav > li .top-nav-toggle, .navbar-sub-nav > li > button, -.navbar-nav > li .top-nav-toggle, .navbar-nav > li > button { background: transparent; border: 0; @@ -1139,11 +1143,6 @@ input { display: flex; margin: 0 0 0 6px; } -.navbar-sub-nav .dropdown-chevron { - position: relative; - top: -1px; - font-size: 10px; -} .caret-down, .btn .caret-down { top: 0; @@ -1169,25 +1168,31 @@ input { font-weight: 400; margin-left: -6px; font-size: 11px; - color: var(--gray-950, #fff); + color: #fff; padding: 0 5px; line-height: 12px; border-radius: 7px; box-shadow: 0 1px 0 rgba(76, 78, 84, 0.2); } -.title-container .badge.badge-pill:not(.merge-request-badge).green-badge, -.navbar-nav .badge.badge-pill:not(.merge-request-badge).green-badge { - background-color: var(--green-400, #2da160); +.title-container .badge.badge-pill.green-badge, +.navbar-nav .badge.badge-pill.green-badge { + background-color: #108548; } -.title-container - .badge.badge-pill:not(.merge-request-badge).merge-requests-count, -.navbar-nav .badge.badge-pill:not(.merge-request-badge).merge-requests-count { - background-color: var(--orange-400, #c17d10); +.title-container .badge.badge-pill.merge-requests-count, +.navbar-nav .badge.badge-pill.merge-requests-count { + background-color: #de7e00; } -.title-container .badge.badge-pill:not(.merge-request-badge).todos-count, -.navbar-nav .badge.badge-pill:not(.merge-request-badge).todos-count { - background-color: var(--blue-400, #428fdc); +.title-container .badge.badge-pill.todos-count, +.navbar-nav .badge.badge-pill.todos-count { + background-color: #1f75cb; } +.title-container .canary-badge .badge, +.navbar-nav .canary-badge .badge { + font-size: 12px; + line-height: 16px; + padding: 0 0.5rem; +} + @media (max-width: 575.98px) { .navbar-gitlab .container-fluid { font-size: 18px; @@ -1214,7 +1219,7 @@ input { } .header-user.show .dropdown-menu { margin-top: 4px; - color: var(--gl-text-color, #303030); + color: #303030; left: auto; max-height: 445px; } @@ -1227,35 +1232,30 @@ input { border-radius: 50%; border: 1px solid #f5f5f5; } -.notification-dot { - background-color: #d99530; - height: 12px; - width: 12px; - margin-top: -15px; - pointer-events: none; - visibility: hidden; -} -.top-nav-toggle .dropdown-icon { - margin-right: 0.5rem; +.media { + display: flex; + align-items: flex-start; } -.top-nav-toggle .dropdown-chevron { - top: 0; +.card { + margin-bottom: 16px; } -.tanuki-logo .tanuki-left-ear, -.tanuki-logo .tanuki-right-ear, -.tanuki-logo .tanuki-nose { - fill: #e24329; +.content-wrapper { + width: 100%; } -.tanuki-logo .tanuki-left-eye, -.tanuki-logo .tanuki-right-eye { - fill: #fc6d26; +.content-wrapper .container-fluid { + padding: 0 16px; } -.tanuki-logo .tanuki-left-cheek, -.tanuki-logo .tanuki-right-cheek { - fill: #fca326; + +@media (min-width: 768px) { + .page-with-contextual-sidebar { + padding-left: 50px; + } } -.card { - margin-bottom: 16px; + +@media (min-width: 1200px) { + .page-with-contextual-sidebar { + padding-left: 220px; + } } .context-header { position: relative; @@ -1286,17 +1286,7 @@ input { font-weight: normal; font-size: 0.8em; } -@media (min-width: 768px) { - body:not(.sidebar-refactoring) .page-with-contextual-sidebar { - padding-left: 50px; - } -} -@media (min-width: 1200px) { - body:not(.sidebar-refactoring) .page-with-contextual-sidebar { - padding-left: 220px; - } -} -body:not(.sidebar-refactoring) .nav-sidebar { +.nav-sidebar { position: fixed; z-index: 600; width: 220px; @@ -1307,64 +1297,93 @@ body:not(.sidebar-refactoring) .nav-sidebar { box-shadow: inset -1px 0 0 #dbdbdb; transform: translate3d(0, 0, 0); } + @media (min-width: 576px) and (max-width: 576px) { - body:not(.sidebar-refactoring) .nav-sidebar:not(.sidebar-collapsed-desktop) { + .nav-sidebar:not(.sidebar-collapsed-desktop) { box-shadow: inset -1px 0 0 #dbdbdb, 2px 1px 3px rgba(0, 0, 0, 0.1); } } -body:not(.sidebar-refactoring) .nav-sidebar a { +.nav-sidebar.sidebar-collapsed-desktop { + width: 50px; +} +.nav-sidebar.sidebar-collapsed-desktop .nav-sidebar-inner-scroll { + overflow-x: hidden; +} +.nav-sidebar.sidebar-collapsed-desktop .badge.badge-pill:not(.fly-out-badge), +.nav-sidebar.sidebar-collapsed-desktop .sidebar-context-title, +.nav-sidebar.sidebar-collapsed-desktop .nav-item-name { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + white-space: nowrap; + width: 1px; +} +.nav-sidebar.sidebar-collapsed-desktop .sidebar-top-level-items > li > a { + min-height: 45px; +} +.nav-sidebar.sidebar-collapsed-desktop .fly-out-top-item { + display: block; +} +.nav-sidebar.sidebar-collapsed-desktop .avatar-container { + margin: 0 auto; +} +.nav-sidebar.sidebar-expanded-mobile { + left: 0; +} +.nav-sidebar a { text-decoration: none; } -body:not(.sidebar-refactoring) .nav-sidebar ul { +.nav-sidebar ul { padding-left: 0; list-style: none; } -body:not(.sidebar-refactoring) .nav-sidebar li { +.nav-sidebar li { white-space: nowrap; } -body:not(.sidebar-refactoring) .nav-sidebar li a { +.nav-sidebar li a { display: flex; align-items: center; padding: 12px 16px; color: #666; } -body:not(.sidebar-refactoring) .nav-sidebar li .nav-item-name { +.nav-sidebar li .nav-item-name { flex: 1; } -body:not(.sidebar-refactoring) .nav-sidebar li.active > a { +.nav-sidebar li.active > a { font-weight: 600; } + @media (max-width: 767.98px) { - body:not(.sidebar-refactoring) .nav-sidebar { + .nav-sidebar { left: -220px; } } -body:not(.sidebar-refactoring) .nav-sidebar .nav-icon-container { +.nav-sidebar .nav-icon-container { display: flex; margin-right: 8px; } -body:not(.sidebar-refactoring) .nav-sidebar .fly-out-top-item { +.nav-sidebar .fly-out-top-item { display: none; } -body:not(.sidebar-refactoring) .nav-sidebar svg { +.nav-sidebar svg { height: 16px; width: 16px; } + @media (min-width: 768px) and (max-width: 1199px) { - body:not(.sidebar-refactoring) .nav-sidebar:not(.sidebar-expanded-mobile) { + .nav-sidebar:not(.sidebar-expanded-mobile) { width: 50px; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .nav-sidebar-inner-scroll { + .nav-sidebar:not(.sidebar-expanded-mobile) .nav-sidebar-inner-scroll { overflow-x: hidden; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .badge.badge-pill:not(.fly-out-badge), - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .nav-item-name { + .nav-sidebar:not(.sidebar-expanded-mobile) .badge.badge-pill:not(.fly-out-badge), + .nav-sidebar:not(.sidebar-expanded-mobile) .sidebar-context-title, + .nav-sidebar:not(.sidebar-expanded-mobile) .nav-item-name { border: 0; clip: rect(0, 0, 0, 0); height: 1px; @@ -1375,476 +1394,273 @@ body:not(.sidebar-refactoring) .nav-sidebar svg { white-space: nowrap; width: 1px; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .sidebar-top-level-items - > li - > a { + .nav-sidebar:not(.sidebar-expanded-mobile) .sidebar-top-level-items > li > a { min-height: 45px; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .fly-out-top-item { + .nav-sidebar:not(.sidebar-expanded-mobile) .fly-out-top-item { display: block; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .avatar-container { + .nav-sidebar:not(.sidebar-expanded-mobile) .avatar-container { margin: 0 auto; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .context-header { + .nav-sidebar:not(.sidebar-expanded-mobile) .context-header { height: 60px; width: 50px; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .context-header - a { + .nav-sidebar:not(.sidebar-expanded-mobile) .context-header a { padding: 10px 4px; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .sidebar-context-title { - border: 0; - clip: rect(0, 0, 0, 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - white-space: nowrap; - width: 1px; - } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .sidebar-top-level-items - > li - .sidebar-sub-level-items:not(.flyout-list) { + .nav-sidebar:not(.sidebar-expanded-mobile) .sidebar-top-level-items > li .sidebar-sub-level-items:not(.flyout-list) { display: none; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .nav-icon-container { + .nav-sidebar:not(.sidebar-expanded-mobile) .nav-icon-container { margin-right: 0; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button { + .nav-sidebar:not(.sidebar-expanded-mobile) .toggle-sidebar-button { padding: 16px; width: 49px; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button - .collapse-text, - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button - .icon-chevron-double-lg-left { + .nav-sidebar:not(.sidebar-expanded-mobile) .toggle-sidebar-button .collapse-text, + .nav-sidebar:not(.sidebar-expanded-mobile) .toggle-sidebar-button .icon-chevron-double-lg-left { display: none; } - body:not(.sidebar-refactoring) - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button - .icon-chevron-double-lg-right { + .nav-sidebar:not(.sidebar-expanded-mobile) .toggle-sidebar-button .icon-chevron-double-lg-right { display: block; margin: 0; } } -body:not(.sidebar-refactoring) .nav-sidebar-inner-scroll { +.nav-sidebar-inner-scroll { height: 100%; width: 100%; overflow: auto; } -body:not(.sidebar-refactoring) .sidebar-sub-level-items { +.sidebar-sub-level-items { display: none; padding-bottom: 8px; } -body:not(.sidebar-refactoring) .sidebar-sub-level-items > li a { +.sidebar-sub-level-items > li a { padding: 8px 16px 8px 40px; } -body:not(.sidebar-refactoring) .sidebar-top-level-items { +.sidebar-top-level-items { margin-bottom: 60px; } + @media (min-width: 576px) { - body:not(.sidebar-refactoring) .sidebar-top-level-items > li > a { + .sidebar-top-level-items > li > a { margin-right: 1px; } } -body:not(.sidebar-refactoring) .sidebar-top-level-items > li .badge.badge-pill { +.sidebar-top-level-items > li .badge.badge-pill { background-color: rgba(0, 0, 0, 0.08); color: #666; } -body:not(.sidebar-refactoring) .sidebar-top-level-items > li.active { +.sidebar-top-level-items > li.active { background: rgba(0, 0, 0, 0.04); } -body:not(.sidebar-refactoring) .sidebar-top-level-items > li.active > a { +.sidebar-top-level-items > li.active > a { margin-left: 4px; padding-left: 12px; } -body:not(.sidebar-refactoring) - .sidebar-top-level-items - > li.active - .badge.badge-pill { +.sidebar-top-level-items > li.active .badge.badge-pill { font-weight: 600; } -body:not(.sidebar-refactoring) - .sidebar-top-level-items - > li.active - .sidebar-sub-level-items:not(.is-fly-out-only) { +.sidebar-top-level-items > li.active .sidebar-sub-level-items:not(.is-fly-out-only) { display: block; } -body:not(.sidebar-refactoring) .toggle-sidebar-button, -body:not(.sidebar-refactoring) .close-nav-button { +.toggle-sidebar-button, +.close-nav-button { + width: 219px; + position: fixed; height: 48px; + bottom: 0; padding: 0 16px; background-color: #fafafa; border: 0; + border-top: 1px solid #dbdbdb; color: #666; display: flex; align-items: center; } -body:not(.sidebar-refactoring) .toggle-sidebar-button, -body:not(.sidebar-refactoring) .close-nav-button { - position: fixed; - bottom: 0; - width: 219px; - border-top: 1px solid #dbdbdb; -} -body:not(.sidebar-refactoring) .toggle-sidebar-button svg, -body:not(.sidebar-refactoring) .close-nav-button svg { +.toggle-sidebar-button svg, +.close-nav-button svg { margin-right: 8px; } -body:not(.sidebar-refactoring) - .toggle-sidebar-button - .icon-chevron-double-lg-right, -body:not(.sidebar-refactoring) .close-nav-button .icon-chevron-double-lg-right { +.toggle-sidebar-button .icon-chevron-double-lg-right, +.close-nav-button .icon-chevron-double-lg-right { display: none; } -body:not(.sidebar-refactoring) .collapse-text { +.collapse-text { white-space: nowrap; overflow: hidden; } -body:not(.sidebar-refactoring) .fly-out-top-item > a { - display: flex; -} -body:not(.sidebar-refactoring) .fly-out-top-item .fly-out-badge { - margin-left: 8px; +.sidebar-collapsed-desktop .context-header { + height: 60px; + width: 50px; } -body:not(.sidebar-refactoring) .fly-out-top-item-name { - flex: 1; +.sidebar-collapsed-desktop .context-header a { + padding: 10px 4px; } -body:not(.sidebar-refactoring) .close-nav-button { +.sidebar-collapsed-desktop .sidebar-top-level-items > li .sidebar-sub-level-items:not(.flyout-list) { display: none; } -@media (max-width: 767.98px) { - body:not(.sidebar-refactoring) .close-nav-button { - display: flex; - } - body:not(.sidebar-refactoring) .toggle-sidebar-button { - display: none; - } -} -@media (min-width: 768px) { - body.sidebar-refactoring .page-with-contextual-sidebar { - padding-left: 50px; - } -} -@media (min-width: 1200px) { - body.sidebar-refactoring .page-with-contextual-sidebar { - padding-left: 220px; - } -} -body.sidebar-refactoring .nav-sidebar { - position: fixed; - z-index: 600; - width: 220px; - top: 40px; - bottom: 0; - left: 0; - background: linear-gradient(#cbbbf2, #e9be74); - box-shadow: inset -1px 0 0 #dbdbdb; - transform: translate3d(0, 0, 0); -} -@media (min-width: 576px) and (max-width: 576px) { - body.sidebar-refactoring .nav-sidebar:not(.sidebar-collapsed-desktop) { - box-shadow: inset -1px 0 0 #dbdbdb, 2px 1px 3px rgba(0, 0, 0, 0.1); - } +.sidebar-collapsed-desktop .nav-icon-container { + margin-right: 0; } -body.sidebar-refactoring .nav-sidebar a { - text-decoration: none; +.sidebar-collapsed-desktop .toggle-sidebar-button { + padding: 16px; + width: 49px; } -body.sidebar-refactoring .nav-sidebar ul { - padding-left: 0; - list-style: none; +.sidebar-collapsed-desktop .toggle-sidebar-button .collapse-text, +.sidebar-collapsed-desktop .toggle-sidebar-button .icon-chevron-double-lg-left { + display: none; } -body.sidebar-refactoring .nav-sidebar li { - white-space: nowrap; +.sidebar-collapsed-desktop .toggle-sidebar-button .icon-chevron-double-lg-right { + display: block; + margin: 0; } -body.sidebar-refactoring .nav-sidebar li a { +.fly-out-top-item > a { display: flex; - align-items: center; - padding: 12px 16px; - color: #666; -} -body.sidebar-refactoring .nav-sidebar li .nav-item-name { - flex: 1; -} -body.sidebar-refactoring .nav-sidebar li.active > a { - font-weight: 600; } -@media (max-width: 767.98px) { - body.sidebar-refactoring .nav-sidebar { - left: -220px; - } +.fly-out-top-item .fly-out-badge { + margin-left: 8px; } -body.sidebar-refactoring .nav-sidebar .nav-icon-container { - display: flex; - margin-right: 8px; +.fly-out-top-item-name { + flex: 1; } -body.sidebar-refactoring .nav-sidebar .fly-out-top-item { +.close-nav-button { display: none; } -body.sidebar-refactoring .nav-sidebar svg { - height: 16px; - width: 16px; -} -@media (min-width: 768px) and (max-width: 1199px) { - body.sidebar-refactoring .nav-sidebar:not(.sidebar-expanded-mobile) { - width: 50px; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .nav-sidebar-inner-scroll { - overflow-x: hidden; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .badge.badge-pill:not(.fly-out-badge), - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .nav-item-name { - border: 0; - clip: rect(0, 0, 0, 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - white-space: nowrap; - width: 1px; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .sidebar-top-level-items - > li - > a { - min-height: 45px; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .fly-out-top-item { - display: block; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .avatar-container { - margin: 0 auto; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .context-header { - height: 60px; - width: 50px; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .context-header - a { - padding: 10px 4px; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .sidebar-context-title { - border: 0; - clip: rect(0, 0, 0, 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - white-space: nowrap; - width: 1px; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .sidebar-top-level-items - > li - .sidebar-sub-level-items:not(.flyout-list) { - display: none; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .nav-icon-container { - margin-right: 0; - } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button { - padding: 16px; - width: 49px; + +@media (max-width: 767.98px) { + .close-nav-button { + display: flex; } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button - .collapse-text, - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button - .icon-chevron-double-lg-left { + .toggle-sidebar-button { display: none; } - body.sidebar-refactoring - .nav-sidebar:not(.sidebar-expanded-mobile) - .toggle-sidebar-button - .icon-chevron-double-lg-right { - display: block; - margin: 0; - } } -body.sidebar-refactoring .nav-sidebar-inner-scroll { - height: 100%; - width: 100%; - overflow: auto; -} -body.sidebar-refactoring .sidebar-sub-level-items { - display: none; - padding-bottom: 8px; -} -body.sidebar-refactoring .sidebar-sub-level-items > li a { - padding: 8px 16px 8px 40px; -} -body.sidebar-refactoring .sidebar-top-level-items { - margin-bottom: 60px; -} -@media (min-width: 576px) { - body.sidebar-refactoring .sidebar-top-level-items > li > a { - margin-right: 1px; - } -} -body.sidebar-refactoring .sidebar-top-level-items > li .badge.badge-pill { - background-color: rgba(0, 0, 0, 0.08); - color: #666; +table.table { + margin-bottom: 16px; } -body.sidebar-refactoring .sidebar-top-level-items > li.active { - background: rgba(0, 0, 0, 0.04); +table.table .dropdown-menu a { + text-decoration: none; } -body.sidebar-refactoring .sidebar-top-level-items > li.active > a { - margin-left: 4px; - padding-left: 12px; +table.table .success, +table.table .info { + color: #fff; } -body.sidebar-refactoring - .sidebar-top-level-items - > li.active - .badge.badge-pill { - font-weight: 600; +table.table .success a:not(.btn), +table.table .info a:not(.btn) { + text-decoration: underline; + color: #fff; } -body.sidebar-refactoring - .sidebar-top-level-items - > li.active - .sidebar-sub-level-items:not(.is-fly-out-only) { +pre { + font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; display: block; -} -body.sidebar-refactoring .toggle-sidebar-button, -body.sidebar-refactoring .close-nav-button { - height: 48px; - padding: 0 16px; + padding: 8px 12px; + margin: 0 0 8px; + font-size: 13px; + word-break: break-all; + word-wrap: break-word; + color: #303030; background-color: #fafafa; - border: 0; - color: #666; - display: flex; - align-items: center; -} -body.sidebar-refactoring .toggle-sidebar-button, -body.sidebar-refactoring .close-nav-button { - position: fixed; - bottom: 0; - width: 219px; - border-top: 1px solid #dbdbdb; -} -body.sidebar-refactoring .toggle-sidebar-button svg, -body.sidebar-refactoring .close-nav-button svg { - margin-right: 8px; -} -body.sidebar-refactoring .toggle-sidebar-button .icon-chevron-double-lg-right, -body.sidebar-refactoring .close-nav-button .icon-chevron-double-lg-right { - display: none; -} -body.sidebar-refactoring .collapse-text { - white-space: nowrap; - overflow: hidden; -} -body.sidebar-refactoring .fly-out-top-item > a { - display: flex; -} -body.sidebar-refactoring .fly-out-top-item .fly-out-badge { - margin-left: 8px; -} -body.sidebar-refactoring .fly-out-top-item-name { - flex: 1; -} -body.sidebar-refactoring .close-nav-button { - display: none; + border: 1px solid #dbdbdb; + border-radius: 2px; } -@media (max-width: 767.98px) { - body.sidebar-refactoring .close-nav-button { - display: flex; - } - body.sidebar-refactoring .toggle-sidebar-button { - display: none; - } +.monospace { + font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; } -input::-moz-placeholder { +input::-moz-placeholder, +textarea::-moz-placeholder { color: #868686; opacity: 1; } -input::-ms-input-placeholder { +input::-ms-input-placeholder, +textarea::-ms-input-placeholder { color: #868686; } -input:-ms-input-placeholder { +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { color: #868686; } svg { fill: currentColor; } + svg.s12 { width: 12px; height: 12px; } + svg.s16 { width: 16px; height: 16px; } + svg.s18 { width: 18px; height: 18px; } + svg.s12 { vertical-align: -1px; } + svg.s16 { vertical-align: -3px; } -.js-groups-dropdown { +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +table.code { width: 100%; + font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; + border: 0; + border-collapse: separate; + margin: 0; + padding: 0; + table-layout: fixed; + border-radius: 0 0 4px 4px; +} +.frame .badge.badge-pill { + position: absolute; + background-color: #428fdc; + color: #fff; + border: #fff 1px solid; + min-height: 16px; + padding: 5px 8px; + border-radius: 12px; +} +.frame .badge.badge-pill { + transform: translate(-50%, -50%); +} +.color-label { + padding: 0 0.5rem; + line-height: 16px; + border-radius: 100px; + color: #fff; +} +.label-link { + display: inline-flex; + vertical-align: text-bottom; +} +.milestones { + padding: 8px; + margin-top: 8px; + border-radius: 4px; + background-color: #dbdbdb; } .search { margin: 0 8px; } .search form { - display: block; margin: 0; padding: 4px; width: 200px; @@ -1853,6 +1669,7 @@ svg.s16 { border: 0; border-radius: 4px; } + @media (min-width: 1200px) { .search form { width: 320px; @@ -1891,17 +1708,12 @@ svg.s16 { .search .search-input-wrap .dropdown { position: static; } -.search .search-input-wrap .dropdown-header { - font-weight: 600; - color: #303030; - font-size: 0.875rem; - line-height: 16px; -} .search .search-input-wrap .dropdown-menu { left: -5px; max-height: 400px; overflow: auto; } + @media (min-width: 1200px) { .search .search-input-wrap .dropdown-menu { width: 320px; @@ -1910,27 +1722,34 @@ svg.s16 { .search .search-input-wrap .dropdown-content { max-height: 382px; } -.avatar, -.avatar-container { +.settings { + border-top: 1px solid #dbdbdb; +} +.settings:first-of-type { + margin-top: 10px; + border: 0; +} +.settings + div .settings:first-of-type { + margin-top: 0; + border-top: 1px solid #dbdbdb; +} +.avatar, .avatar-container { float: left; margin-right: 16px; border-radius: 50%; border: 1px solid #f5f5f5; } -.avatar.s16, -.avatar-container.s16 { +.s16.avatar, .s16.avatar-container { width: 16px; height: 16px; margin-right: 8px; } -.avatar.s18, -.avatar-container.s18 { +.s18.avatar, .s18.avatar-container { width: 18px; height: 18px; margin-right: 8px; } -.avatar.s40, -.avatar-container.s40 { +.s40.avatar, .s40.avatar-container { width: 40px; height: 40px; margin-right: 8px; @@ -1944,6 +1763,11 @@ svg.s16 { overflow: hidden; border-color: rgba(0, 0, 0, 0.1); } +.avatar.center { + font-size: 14px; + line-height: 1.8em; + text-align: center; +} .avatar.avatar-tile { border-radius: 0; border: 0; @@ -1982,18 +1806,6 @@ svg.s16 { .rect-avatar.s40 { border-radius: 4px; } -#content-body { - display: block; -} - -@keyframes gl-spinner-rotate { - 0% { - transform: rotate(0); - } - 100% { - transform: rotate(360deg); - } -} .tab-width-8 { -moz-tab-size: 8; tab-size: 8; @@ -2009,61 +1821,12 @@ svg.s16 { white-space: nowrap; width: 1px; } -@keyframes gl-spinner-rotate { - 0% { - transform: rotate(0); - } - 100% { - transform: rotate(360deg); - } -} -.gl-border-solid { - border-style: solid; -} -.gl-border-gray-100 { - border-color: #dbdbdb; -} -.gl-border-0 { - border-width: 0; -} -.gl-border-t-1 { - border-top-width: 1px; -} -.gl-display-flex\! { - display: flex !important; -} -.gl-align-items-center { - align-items: center; -} -.gl-justify-content-space-between { - justify-content: space-between; -} -.gl-absolute { - position: absolute; -} -.gl-px-3\! { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; -} -.gl-mt-7 { - margin-top: 2rem; -} -.gl-ml-auto { - margin-left: auto; -} .gl-ml-3 { margin-left: 0.5rem; } -.gl-mx-0\! { - margin-left: 0 !important; - margin-right: 0 !important; -} -.gl-font-weight-bold { - font-weight: 600; -} -.gl-line-height-20\! { - line-height: 1.25rem !important; +.content-wrapper > .alert-wrapper, +#content-body, .modal-dialog { + display: block; } - -@import "cloaking"; +@import 'cloaking'; @include cloak-startup-scss(none); diff --git a/app/assets/stylesheets/startup/startup-signin.scss b/app/assets/stylesheets/startup/startup-signin.scss index ccc67c23dd3..6b78abdb5e0 100644 --- a/app/assets/stylesheets/startup/startup-signin.scss +++ b/app/assets/stylesheets/startup/startup-signin.scss @@ -1,6 +1,3 @@ -// DO NOT EDIT! This is auto-generated from "yarn run generate:startup_css" -// Please see the feedback issue for more details and help: -// https://gitlab.com/gitlab-org/gitlab/-/issues/331812 @charset "UTF-8"; *, *::before, @@ -11,14 +8,12 @@ html { font-family: sans-serif; line-height: 1.15; } -header { + header, nav, section { display: block; } body { margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, - "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, - "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1rem; font-weight: 400; line-height: 1.5; @@ -31,8 +26,7 @@ hr { height: 0; overflow: visible; } -h1, -h3 { +h1, h2, h3 { margin-top: 0; margin-bottom: 0.25rem; } @@ -45,20 +39,47 @@ address { font-style: normal; line-height: inherit; } + +ul { + margin-top: 0; + margin-bottom: 1rem; +} + +ul ul { + margin-bottom: 0; +} + +strong { + font-weight: bolder; +} +sub { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sub { + bottom: -.25em; +} a { color: #007bff; text-decoration: none; background-color: transparent; } -a:not([href]):not([class]) { +a:not([href]) { color: inherit; text-decoration: none; } +pre, code { - font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", - "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; + font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-size: 1em; } +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} img { vertical-align: middle; border-style: none; @@ -67,54 +88,89 @@ svg { overflow: hidden; vertical-align: middle; } +table { + border-collapse: collapse; +} +th { + text-align: inherit; +} label { display: inline-block; margin-bottom: 0.5rem; } -input { +button { + border-radius: 0; +} +input, +button, +textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; } +button, input { overflow: visible; } +button { + text-transform: none; +} +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), [type="submit"]:not(:disabled) { cursor: pointer; } +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { padding: 0; border-style: none; } + +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} +textarea { + overflow: auto; + resize: vertical; +} fieldset { min-width: 0; padding: 0; margin: 0; border: 0; } +[type="search"] { + outline-offset: -2px; +} summary { display: list-item; cursor: pointer; } +template { + display: none; +} [hidden] { display: none !important; } -h1, -h3, -.h1, -.h3 { +h1, h2, h3, +.h1, .h2, .h3 { margin-bottom: 0.25rem; font-weight: 600; line-height: 1.2; color: #303030; } -h1, -.h1 { +h1, .h1 { font-size: 2.1875rem; } -h3, -.h3 { +h2, .h2 { + font-size: 1.75rem; +} +h3, .h3 { font-size: 1.53125rem; } hr { @@ -123,6 +179,10 @@ hr { border: 0; border-top: 1px solid rgba(0, 0, 0, 0.1); } +.list-unstyled { + padding-left: 0; + list-style: none; +} code { font-size: 90%; color: #1f1f1f; @@ -131,6 +191,16 @@ code { a > code { color: inherit; } +pre { + display: block; + font-size: 90%; + color: #303030; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} .container { width: 100%; padding-right: 15px; @@ -138,21 +208,56 @@ a > code { margin-right: auto; margin-left: auto; } + @media (min-width: 576px) { .container { max-width: 540px; } } + @media (min-width: 768px) { .container { max-width: 720px; } } + @media (min-width: 992px) { .container { max-width: 960px; } } + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + @media (min-width: 1200px) { .container { max-width: 1140px; @@ -164,26 +269,19 @@ a > code { margin-right: -15px; margin-left: -15px; } -.col, -.col-sm-5, -.col-sm-7, -.col-sm-12 { + .col-sm-5, .col-sm-7, .col-sm-12 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; } -.col { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; -} .order-1 { order: 1; } .order-12 { order: 12; } + @media (min-width: 576px) { .col-sm-5 { flex: 0 0 41.66667%; @@ -204,7 +302,18 @@ a > code { order: 12; } } -.form-control { +.table { + width: 100%; + margin-bottom: 0.5rem; + color: #303030; +} +.table th, +.table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dbdbdb; +} +.form-control, .search form { display: block; width: 100%; height: 34px; @@ -218,37 +327,52 @@ a > code { border: 1px solid #dbdbdb; border-radius: 0.25rem; } + @media (prefers-reduced-motion: reduce) { } -.form-control:-moz-focusring { +.form-control:-moz-focusring, .search form:-moz-focusring { color: transparent; text-shadow: 0 0 0 #303030; } -.form-control::-ms-input-placeholder { +.form-control::placeholder, .search form::placeholder { color: #5e5e5e; opacity: 1; } -.form-control::placeholder { - color: #5e5e5e; - opacity: 1; -} -.form-control:disabled { +.form-control:disabled, .search form:disabled { background-color: #fafafa; opacity: 1; } +textarea.form-control { + height: auto; +} .form-group { margin-bottom: 1rem; } -.form-row { +.form-inline { display: flex; - flex-wrap: wrap; - margin-right: -5px; - margin-left: -5px; + flex-flow: row wrap; + align-items: center; } -.form-row > .col, -.form-row > [class*="col-"] { - padding-right: 5px; - padding-left: 5px; + +@media (min-width: 576px) { + .form-inline label { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 0; + } + .form-inline .form-group { + display: flex; + flex: 0 0 auto; + flex-flow: row wrap; + align-items: center; + margin-bottom: 0; + } + .form-inline .form-control, .form-inline .search form, .search .form-inline form { + display: inline-block; + width: auto; + vertical-align: middle; + } } .btn { display: inline-block; @@ -256,7 +380,7 @@ a > code { color: #303030; text-align: center; vertical-align: middle; - -moz-user-select: none; + cursor: pointer; user-select: none; background-color: transparent; border: 1px solid transparent; @@ -265,17 +389,148 @@ a > code { line-height: 20px; border-radius: 0.25rem; } + @media (prefers-reduced-motion: reduce) { } -.btn:disabled { +.btn.disabled, .btn:disabled { opacity: 0.65; } -.btn:not(:disabled):not(.disabled) { - cursor: pointer; -} +a.btn.disabled, fieldset:disabled a.btn { pointer-events: none; } +.btn-success { + color: #fff; + background-color: #108548; + border-color: #108548; +} +.btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #108548; + border-color: #108548; +} +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, +.show > .btn-success.dropdown-menu-toggle { + color: #fff; + background-color: #0b572f; + border-color: #094c29; +} + .login-page input[type='submit'] { + display: block; + width: 100%; +} + .login-page input[type='submit'] + input[type='submit'] { + margin-top: 0.5rem; +} + .login-page input[type="submit"][type='submit'], +.login-page input[type="reset"][type='submit'], +.login-page input[type="button"][type='submit'] { + width: 100%; +} +.collapse:not(.show) { + display: none; +} + +.dropdown { + position: relative; +} + .dropdown-menu-toggle { + white-space: nowrap; +} + .dropdown-menu-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + .dropdown-menu-toggle:empty::after { + margin-left: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #303030; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} +.dropdown-menu-right { + right: 0; + left: auto; +} + .divider { + height: 0; + margin: 4px 0; + overflow: hidden; + border-top: 1px solid #dbdbdb; +} +.dropdown-menu.show { + display: block; +} +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav-link { + display: block; + padding: 0.5rem 1rem; +} +.nav-link.disabled { + color: #5e5e5e; + pointer-events: none; + cursor: default; +} +.nav-tabs { + border-bottom: 1px solid #999; +} +.nav-tabs .nav-item { + margin-bottom: -1px; +} +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} +.nav-tabs .nav-link.disabled { + color: #5e5e5e; + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #525252; + background-color: #fff; + border-color: #999 #999 #fff; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} .navbar { position: relative; display: flex; @@ -284,12 +539,77 @@ fieldset:disabled a.btn { justify-content: space-between; padding: 0.25rem 0.5rem; } -.navbar .container { +.navbar .container, +.navbar .container-fluid { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; } +.navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} +.navbar-nav .dropdown-menu { + position: static; + float: none; +} +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-flow: row nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + flex-wrap: nowrap; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } +} .card { position: relative; display: flex; @@ -305,12 +625,132 @@ fieldset:disabled a.btn { margin-right: 0; margin-left: 0; } +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 600; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; +} + +@media (prefers-reduced-motion: reduce) { +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; +} +.media { + display: flex; + align-items: flex-start; +} +.close { + float: right; + font-size: 1.5rem; + font-weight: 600; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; +} +button.close { + padding: 0; + background-color: transparent; + border: 0; + appearance: none; +} +a.close.disabled { + pointer-events: none; +} +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } +} +.bg-transparent { + background-color: transparent !important; +} +.border { + border: 1px solid #dbdbdb !important; +} +.border-top { + border-top: 1px solid #dbdbdb !important; +} +.border-right { + border-right: 1px solid #dbdbdb !important; +} +.border-bottom { + border-bottom: 1px solid #dbdbdb !important; +} +.border-left { + border-left: 1px solid #dbdbdb !important; +} +.rounded { + border-radius: 0.25rem !important; +} +.clearfix::after { + display: block; + clear: both; + content: ""; +} +.d-none { + display: none !important; +} +.d-inline-block { + display: inline-block !important; +} .d-block { display: block !important; } .d-flex { display: flex !important; } + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } +} + +@media (min-width: 768px) { + .d-md-block { + display: block !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + .d-lg-block { + display: block !important; + } +} + +@media (min-width: 1200px) { + .d-xl-block { + display: block !important; + } +} .flex-wrap { flex-wrap: wrap !important; } @@ -320,6 +760,9 @@ fieldset:disabled a.btn { .align-items-center { align-items: center !important; } +.float-right { + float: right !important; +} .fixed-top { position: fixed; top: 0; @@ -327,8 +770,16 @@ fieldset:disabled a.btn { left: 0; z-index: 1030; } -.ml-2 { - margin-left: 0.5rem !important; +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; } .mt-3 { margin-top: 1rem !important; @@ -336,122 +787,81 @@ fieldset:disabled a.btn { .mb-3 { margin-bottom: 1rem !important; } +.m-auto { + margin: auto !important; +} + @media (min-width: 576px) { .mt-sm-0 { margin-top: 0 !important; } } -.text-center { - text-align: center !important; +.text-nowrap { + white-space: nowrap !important; +} +.text-left { + text-align: left !important; } .font-weight-normal { font-weight: 400 !important; } -.gl-form-input, -.gl-form-input.form-control { - background-color: #fff; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, - "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, - "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-size: 0.875rem; - line-height: 1rem; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - padding-right: 0.75rem; - height: auto; - color: #303030; - box-shadow: inset 0 0 0 1px #868686; - border-style: none; - appearance: none; - -moz-appearance: none; -} -.gl-form-input:not(.form-control-plaintext):-moz-read-only, -.gl-form-input.form-control:not(.form-control-plaintext):-moz-read-only { - background-color: #fafafa; - color: #868686; - box-shadow: inset 0 0 0 1px #dbdbdb; - cursor: not-allowed; +.visible { + visibility: visible !important; } -.gl-form-input:disabled, -.gl-form-input:not(.form-control-plaintext):read-only, -.gl-form-input.form-control:disabled, -.gl-form-input.form-control:not(.form-control-plaintext):read-only { - background-color: #fafafa; - color: #868686; - box-shadow: inset 0 0 0 1px #dbdbdb; - cursor: not-allowed; -} -.gl-form-input::-ms-input-placeholder, -.gl-form-input.form-control::-ms-input-placeholder { - color: #868686; -} -.gl-form-input::placeholder, -.gl-form-input.form-control::placeholder { - color: #868686; -} -.gl-button { - display: inline-flex; -} -.gl-button.gl-button { - border-width: 0; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - padding-right: 0.75rem; - background-color: transparent; - line-height: 1rem; +.form-control.focus, .search form.focus { color: #303030; - fill: currentColor; - box-shadow: inset 0 0 0 1px #bfbfbf; - justify-content: center; - align-items: center; - font-size: 0.875rem; - border-radius: 0.25rem; -} -.gl-button.gl-button .gl-button-icon { - height: 1rem; - width: 1rem; - flex-shrink: 0; - margin-right: 0.25rem; - top: auto; -} -.gl-button.gl-button.btn-default { background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } -.gl-button.gl-button.btn-default:active { - box-shadow: inset 0 0 0 2px #5e5e5e, 0 0 0 1px rgba(255, 255, 255, 0.4), - 0 0 0 4px rgba(31, 117, 203, 0.48); - outline: none; - background-color: #dbdbdb; -} -.gl-button.gl-button.btn-confirm { - color: #fff; +input[type="color"].form-control { + height: 34px; + padding: 0.125rem 0.25rem; } -.gl-button.gl-button.btn-confirm { - background-color: #1f75cb; - box-shadow: inset 0 0 0 1px #1068bf; +input[type="color"].form-control:disabled { + background-color: #666; + opacity: 0.65; } -.gl-button.gl-button.btn-confirm:active { - box-shadow: inset 0 0 0 2px #033464, 0 0 0 1px rgba(255, 255, 255, 0.4), - 0 0 0 4px rgba(31, 117, 203, 0.48); +.gl-badge { + display: inline-flex; + align-items: center; + font-size: 0.75rem; + font-weight: 400; + line-height: 1rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + padding-right: 0.5rem; outline: none; - background-color: #0b5cad; } -body, -.form-control { +body, .form-control, .search form, +.search form { font-size: 0.875rem; } -[type="submit"] { +button, +html [type='button'], +[type='reset'], +[type='submit'], +[role='button'] { cursor: pointer; } h1, .h1, +h2, +.h2, h3, .h3 { margin-top: 20px; margin-bottom: 10px; } +input[type='file'] { + line-height: 1; +} + +strong { + font-weight: bold; +} a { color: #1068bf; } @@ -468,6 +878,9 @@ code { background-color: inherit; padding: unset; } +table { + border-spacing: 0; +} .hidden { display: none !important; visibility: hidden !important; @@ -475,6 +888,10 @@ code { .hide { display: none; } + .dropdown-menu-toggle::after { + display: none; +} +.badge:not(.gl-badge), .label { padding: 4px 5px; font-size: 12px; @@ -482,6 +899,28 @@ code { font-weight: 400; display: inline-block; } +.nav-tabs { + border-bottom: 0; +} +.nav-tabs .nav-link { + border-top: 0; + border-left: 0; + border-right: 0; +} +.nav-tabs .nav-item { + margin-bottom: 0; +} +pre code { + white-space: pre-wrap; +} +input[type="color"].form-control { + height: 34px; +} +.toggle-sidebar-button .collapse-text, +.toggle-sidebar-button .icon-chevron-double-lg-left, +.toggle-sidebar-button .icon-chevron-double-lg-right { + color: #666; +} svg { vertical-align: baseline; } @@ -494,6 +933,10 @@ body { body.navless { background-color: #fff !important; } +.content-wrapper { + margin-top: 40px; + padding-bottom: 100px; +} .container { padding-top: 0; z-index: 5; @@ -501,11 +944,13 @@ body.navless { .container .content { margin: 0; } + @media (max-width: 575.98px) { .container .content { margin-top: 20px; } } + @media (max-width: 575.98px) { .container .container .title { padding-left: 15px !important; @@ -526,31 +971,259 @@ body.navless { color: #303030; white-space: nowrap; } -.btn:active { +.btn:active, .btn.active { + box-shadow: rgba(0, 0, 0, 0.16); background-color: #eaeaea; border-color: #e3e3e3; color: #303030; } +.btn.btn-success { + background-color: #108548; + border-color: #217645; + color: #fff; +} +.btn.btn-success:active, .btn.btn-success.active { + box-shadow: rgba(0, 0, 0, 0.16); + background-color: #24663b; + border-color: #0d532a; + color: #fff; +} .btn svg { height: 15px; width: 15px; } -.btn svg:not(:last-child) { +.btn svg:not(:last-child), +.btn .fa:not(:last-child) { margin-right: 5px; } -.light { - color: #303030; + .login-page input[type='submit'] { + width: 100%; + margin: 0; + margin-bottom: 15px; +} + .login-page input.btn[type='submit'] { + padding: 6px 0; +} +.badge.badge-pill:not(.gl-badge) { + font-weight: 400; + background-color: rgba(0, 0, 0, 0.07); + color: #525252; + vertical-align: baseline; +} +.hint { + font-style: italic; + color: #bfbfbf; +} +.bold { + font-weight: 600; +} +.tab-content { + overflow: visible; +} +pre.wrap { + word-break: break-word; + white-space: pre-wrap; } hr { - margin: 1.5rem 0; + margin: 24px 0; border-top: 1px solid #eee; } +table a code { + position: relative; + top: -2px; + margin-right: 3px; +} +.loading { + margin: 20px auto; + height: 40px; + color: #525252; + font-size: 32px; + text-align: center; +} +.highlight { + text-shadow: none; +} +.chart { + overflow: hidden; + height: 220px; +} .footer-links { margin-bottom: 20px; } .footer-links a { margin-right: 15px; } +.break-word { + word-wrap: break-word; +} +.append-bottom-20 { + margin-bottom: 20px; +} +.center { + text-align: center; +} +.block { + display: block; +} +.flex { + display: flex; +} +.flex-grow { + flex-grow: 1; +} +.dropdown { + position: relative; +} +.show.dropdown .dropdown-menu { + transform: translateY(0); + display: block; + min-height: 40px; + max-height: 312px; + overflow-y: auto; +} + +@media (max-width: 575.98px) { + .show.dropdown .dropdown-menu { + width: 100%; + } +} + .show.dropdown .dropdown-menu-toggle, +.show.dropdown .dropdown-menu-toggle { + border-color: #c4c4c4; +} +.show.dropdown [data-toggle='dropdown'] { + outline: 0; +} +.search-input-container .dropdown-menu { + margin-top: 11px; +} + .dropdown-menu-toggle { + padding: 6px 8px 6px 10px; + background-color: #fff; + color: #303030; + font-size: 14px; + text-align: left; + border: 1px solid #dbdbdb; + border-radius: 0.25rem; + white-space: nowrap; +} + .no-outline.dropdown-menu-toggle { + outline: 0; +} + .dropdown-menu-toggle .fa { + color: #c4c4c4; +} +.dropdown-menu-toggle { + padding-right: 25px; + position: relative; + width: 160px; + text-overflow: ellipsis; + overflow: hidden; +} +.dropdown-menu-toggle .fa { + position: absolute; +} +.dropdown-menu { + display: none; + position: absolute; + width: auto; + top: 100%; + z-index: 300; + min-width: 240px; + max-width: 500px; + margin-top: 4px; + margin-bottom: 24px; + font-size: 14px; + font-weight: 400; + padding: 8px 0; + background-color: #fff; + border: 1px solid #dbdbdb; + border-radius: 0.25rem; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); +} +.dropdown-menu ul { + margin: 0; + padding: 0; +} +.dropdown-menu li { + display: block; + text-align: left; + list-style: none; + padding: 0 1px; +} +.dropdown-menu li > a, +.dropdown-menu li button { + background: transparent; + border: 0; + border-radius: 0; + box-shadow: none; + display: block; + font-weight: 400; + position: relative; + padding: 8px 12px; + color: #303030; + line-height: 16px; + white-space: normal; + overflow: hidden; + text-align: left; + width: 100%; +} +.dropdown-menu .divider { + height: 1px; + margin: 0.25rem 0; + padding: 0; + background-color: #dbdbdb; +} +.dropdown-menu .badge.badge-pill + span:not(.badge):not(.badge-pill) { + margin-right: 40px; +} +.dropdown-select { + width: 300px; +} + +@media (max-width: 767.98px) { + .dropdown-select { + width: 100%; + } +} +.dropdown-content { + max-height: 252px; + overflow-y: auto; +} +.dropdown-loading { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + display: none; + z-index: 9; + background-color: rgba(255, 255, 255, 0.6); + font-size: 28px; +} +.dropdown-loading .fa { + position: absolute; + top: 50%; + left: 50%; + margin-top: -14px; + margin-left: -14px; +} + +@media (max-width: 575.98px) { + .navbar-gitlab li.dropdown { + position: static; + } + header.navbar-gitlab .dropdown .dropdown-menu { + width: 100%; + min-width: 100%; + } +} + +@media (max-width: 767.98px) { + .dropdown-menu-toggle { + width: 100%; + } +} .flash-container { margin: 0; margin-bottom: 16px; @@ -559,8 +1232,8 @@ hr { z-index: 1; } .flash-container.sticky { - position: -webkit-sticky; position: sticky; + position: -webkit-sticky; top: 48px; z-index: 251; } @@ -570,6 +1243,9 @@ hr { .flash-container:empty { margin: 0; } +textarea { + resize: vertical; +} input { border-radius: 0.25rem; color: #303030; @@ -581,61 +1257,809 @@ label { label.label-bold { font-weight: 600; } -.form-control { +.form-control, .search form { border-radius: 4px; padding: 6px 10px; } -.form-control::-ms-input-placeholder { +.form-control::placeholder, .search form::placeholder { color: #868686; } -.form-control::placeholder { - color: #868686; +.gl-field-error { + color: #dd2b0e; + font-size: 0.875rem; } -.gl-show-field-errors .form-control:not(textarea) { +.gl-show-field-errors .form-control:not(textarea), .gl-show-field-errors .search form:not(textarea), .search .gl-show-field-errors form:not(textarea) { height: 34px; } .gl-show-field-errors .gl-field-hint { color: #303030; } + +@media (max-width: 575.98px) { + .remember-me .remember-me-checkbox { + margin-top: 0; + } +} +body.ui-indigo .navbar-gitlab { + background-color: #292961; +} +body.ui-indigo .navbar-gitlab .navbar-collapse { + color: #d1d1f0; +} +body.ui-indigo .navbar-gitlab .container-fluid .navbar-toggler { + border-left: 1px solid #6868b9; +} +body.ui-indigo .navbar-gitlab .container-fluid .navbar-toggler svg { + fill: #d1d1f0; +} +body.ui-indigo .navbar-gitlab .navbar-sub-nav > li.active > a, +body.ui-indigo .navbar-gitlab .navbar-sub-nav > li.active > button, body.ui-indigo .navbar-gitlab .navbar-sub-nav > li.dropdown.show > a, +body.ui-indigo .navbar-gitlab .navbar-sub-nav > li.dropdown.show > button, +body.ui-indigo .navbar-gitlab .navbar-nav > li.active > a, +body.ui-indigo .navbar-gitlab .navbar-nav > li.active > button, +body.ui-indigo .navbar-gitlab .navbar-nav > li.dropdown.show > a, +body.ui-indigo .navbar-gitlab .navbar-nav > li.dropdown.show > button { + color: #292961; + background-color: #fff; +} +body.ui-indigo .navbar-gitlab .navbar-sub-nav { + color: #d1d1f0; +} +body.ui-indigo .navbar-gitlab .nav > li { + color: #d1d1f0; +} +body.ui-indigo .navbar-gitlab .nav > li > a.header-user-dropdown-toggle .header-user-avatar { + border-color: #d1d1f0; +} +body.ui-indigo .navbar-gitlab .nav > li.active > a, +body.ui-indigo .navbar-gitlab .nav > li.dropdown.show > a { + color: #292961; + background-color: #fff; +} +body.ui-indigo .search form { + background-color: rgba(209, 209, 240, 0.2); +} +body.ui-indigo .search .search-input::placeholder { + color: rgba(209, 209, 240, 0.8); +} +body.ui-indigo .search .search-input-wrap .search-icon, +body.ui-indigo .search .search-input-wrap .clear-icon { + fill: rgba(209, 209, 240, 0.8); +} +body.ui-indigo .nav-sidebar li.active { + box-shadow: inset 4px 0 0 #4b4ba3; +} +body.ui-indigo .nav-sidebar li.active > a { + color: #393982; +} +body.ui-indigo .nav-sidebar li.active .nav-icon-container svg { + fill: #393982; +} +body.ui-indigo .sidebar-top-level-items > li.active .badge.badge-pill { + color: #393982; +} +body.ui-indigo .nav-links li.active a, +body.ui-indigo .nav-links li a.active { + border-bottom: 2px solid #6666c4; +} +body.ui-indigo .nav-links li.active a .badge.badge-pill, +body.ui-indigo .nav-links li a.active .badge.badge-pill { + font-weight: 600; +} +.navbar-gitlab { + padding: 0 16px; + z-index: 1000; + margin-bottom: 0; + min-height: 40px; + border: 0; + border-bottom: 1px solid #dbdbdb; + position: fixed; + top: 0; + left: 0; + right: 0; + border-radius: 0; +} +.navbar-gitlab .logo-text { + line-height: initial; +} +.navbar-gitlab .logo-text svg { + width: 55px; + height: 14px; + margin: 0; + fill: #fff; +} +.navbar-gitlab .close-icon { + display: none; +} +.navbar-gitlab .header-content { + width: 100%; + display: flex; + justify-content: space-between; + position: relative; + min-height: 40px; + padding-left: 0; +} +.navbar-gitlab .header-content .title-container { + display: flex; + align-items: stretch; + flex: 1 1 auto; + padding-top: 0; + overflow: visible; +} +.navbar-gitlab .header-content .title { + padding-right: 0; + color: currentColor; + display: flex; + position: relative; + margin: 0; + font-size: 18px; + vertical-align: top; + white-space: nowrap; +} +.navbar-gitlab .header-content .title img { + height: 28px; +} +.navbar-gitlab .header-content .title img + .logo-text { + margin-left: 8px; +} +.navbar-gitlab .header-content .title.wrap { + white-space: normal; +} +.navbar-gitlab .header-content .title a { + display: flex; + align-items: center; + padding: 2px 8px; + margin: 5px 2px 5px -8px; + border-radius: 4px; +} +.navbar-gitlab .header-content .dropdown.open > a { + border-bottom-color: #fff; +} +.navbar-gitlab .header-content .navbar-collapse > ul.nav > li:not(.d-none) { + margin: 0 2px; +} +.navbar-gitlab .navbar-collapse { + flex: 0 0 auto; + border-top: 0; + padding: 0; +} + +@media (max-width: 575.98px) { + .navbar-gitlab .navbar-collapse { + flex: 1 1 auto; + } +} +.navbar-gitlab .navbar-collapse .nav { + flex-wrap: nowrap; +} + +@media (max-width: 575.98px) { + .navbar-gitlab .navbar-collapse .nav > li:not(.d-none) a { + margin-left: 0; + } +} +.navbar-gitlab .container-fluid { + padding: 0; +} +.navbar-gitlab .container-fluid .user-counter svg { + margin-right: 3px; +} +.navbar-gitlab .container-fluid .navbar-toggler { + position: relative; + right: -10px; + border-radius: 0; + min-width: 45px; + padding: 0; + margin: 8px -7px 8px 0; + font-size: 14px; + text-align: center; + color: currentColor; +} + +@media (max-width: 575.98px) { + .navbar-gitlab .container-fluid .navbar-nav { + display: flex; + padding-right: 10px; + flex-direction: row; + } +} +.navbar-gitlab .container-fluid .navbar-nav li .badge.badge-pill { + box-shadow: none; + font-weight: 600; +} + +@media (max-width: 575.98px) { + .navbar-gitlab .container-fluid .nav > li.header-user { + padding-left: 10px; + } +} +.navbar-gitlab .container-fluid .nav > li > a { + will-change: color; + margin: 4px 0; + padding: 6px 8px; + height: 32px; +} + +@media (max-width: 575.98px) { + .navbar-gitlab .container-fluid .nav > li > a { + padding: 0; + } +} +.navbar-gitlab .container-fluid .nav > li > a.header-user-dropdown-toggle { + margin-left: 2px; +} +.navbar-gitlab .container-fluid .nav > li > a.header-user-dropdown-toggle .header-user-avatar { + margin-right: 0; +} +.navbar-gitlab .container-fluid .nav > li .header-new-dropdown-toggle { + margin-right: 0; +} +.navbar-sub-nav > li > a, +.navbar-sub-nav > li > button, +.navbar-nav > li > a, +.navbar-nav > li > button { + display: flex; + align-items: center; + justify-content: center; + padding: 6px 8px; + margin: 4px 2px; + font-size: 12px; + color: currentColor; + border-radius: 4px; + height: 32px; + font-weight: 600; +} +.navbar-sub-nav > li > button, +.navbar-nav > li > button { + background: transparent; + border: 0; +} +.navbar-sub-nav .dropdown-menu, +.navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-sub-nav { + display: flex; + margin: 0 0 0 6px; +} +.caret-down, +.btn .caret-down { + top: 0; + height: 11px; + width: 11px; + margin-left: 4px; + fill: currentColor; +} +.header-user .dropdown-menu, +.header-new .dropdown-menu { + margin-top: 4px; +} +.btn-sign-in { + background-color: #ebebfa; + color: #292961; + font-weight: 600; + line-height: 18px; + margin: 4px 0 4px 2px; +} +.title-container .badge.badge-pill, +.navbar-nav .badge.badge-pill { + position: inherit; + font-weight: 400; + margin-left: -6px; + font-size: 11px; + color: #fff; + padding: 0 5px; + line-height: 12px; + border-radius: 7px; + box-shadow: 0 1px 0 rgba(76, 78, 84, 0.2); +} +.title-container .badge.badge-pill.green-badge, +.navbar-nav .badge.badge-pill.green-badge { + background-color: #108548; +} +.title-container .badge.badge-pill.merge-requests-count, +.navbar-nav .badge.badge-pill.merge-requests-count { + background-color: #de7e00; +} +.title-container .badge.badge-pill.todos-count, +.navbar-nav .badge.badge-pill.todos-count { + background-color: #1f75cb; +} +.title-container .canary-badge .badge, +.navbar-nav .canary-badge .badge { + font-size: 12px; + line-height: 16px; + padding: 0 0.5rem; +} + +@media (max-width: 575.98px) { + .navbar-gitlab .container-fluid { + font-size: 18px; + } + .navbar-gitlab .container-fluid .navbar-nav { + table-layout: fixed; + width: 100%; + margin: 0; + text-align: right; + } + .navbar-gitlab .container-fluid .navbar-collapse { + margin-left: -8px; + margin-right: -10px; + } + .navbar-gitlab .container-fluid .navbar-collapse .nav > li:not(.d-none) { + flex: 1; + } + .header-user-dropdown-toggle { + text-align: center; + } + .header-user-avatar { + float: none; + } +} +.header-user.show .dropdown-menu { + margin-top: 4px; + color: #303030; + left: auto; + max-height: 445px; +} +.header-user.show .dropdown-menu svg { + vertical-align: text-top; +} +.header-user-avatar { + float: left; + margin-right: 5px; + border-radius: 50%; + border: 1px solid #f5f5f5; +} .navbar-empty { justify-content: center; height: 40px; background: #fff; border-bottom: 1px solid #f0f0f0; } -.navbar-empty .tanuki-logo, -.navbar-empty .brand-header-logo { - max-height: 100%; -} -.tanuki-logo .tanuki-left-ear, -.tanuki-logo .tanuki-right-ear, -.tanuki-logo .tanuki-nose { - fill: #e24329; + +@media (max-width: 575.98px) { + .nav-links > li > a .badge.badge-pill { + display: none; + } } -.tanuki-logo .tanuki-left-eye, -.tanuki-logo .tanuki-right-eye { - fill: #fc6d26; + +@media (max-width: 575.98px) { + .nav-links > li > a { + margin-right: 3px; + } } -.tanuki-logo .tanuki-left-cheek, -.tanuki-logo .tanuki-right-cheek { - fill: #fca326; +.media { + display: flex; + align-items: flex-start; } .card { margin-bottom: 16px; } -input::-moz-placeholder { +.nav-links:not(.quick-links) { + display: flex; + padding: 0; + margin: 0; + list-style: none; + height: auto; + border-bottom: 1px solid #dbdbdb; +} +.content-wrapper { + width: 100%; +} +.content-wrapper .container-fluid { + padding: 0 16px; +} + +@media (min-width: 768px) { + .page-with-contextual-sidebar { + padding-left: 50px; + } +} + +@media (min-width: 1200px) { + .page-with-contextual-sidebar { + padding-left: 220px; + } +} +.context-header { + position: relative; + margin-right: 2px; + width: 220px; +} +.context-header > a, +.context-header > button { + font-weight: 600; + display: flex; + width: 100%; + align-items: center; + padding: 10px 16px 10px 10px; + color: #303030; + background-color: transparent; + border: 0; + text-align: left; +} +.context-header .avatar-container { + flex: 0 0 40px; + background-color: #fff; +} +.context-header .sidebar-context-title { + overflow: hidden; + text-overflow: ellipsis; +} +.context-header .sidebar-context-title.text-secondary { + font-weight: normal; + font-size: 0.8em; +} +.nav-sidebar { + position: fixed; + z-index: 600; + width: 220px; + top: 40px; + bottom: 0; + left: 0; + background-color: #fafafa; + box-shadow: inset -1px 0 0 #dbdbdb; + transform: translate3d(0, 0, 0); +} + +@media (min-width: 576px) and (max-width: 576px) { + .nav-sidebar:not(.sidebar-collapsed-desktop) { + box-shadow: inset -1px 0 0 #dbdbdb, 2px 1px 3px rgba(0, 0, 0, 0.1); + } +} +.nav-sidebar.sidebar-collapsed-desktop { + width: 50px; +} +.nav-sidebar.sidebar-collapsed-desktop .nav-sidebar-inner-scroll { + overflow-x: hidden; +} +.nav-sidebar.sidebar-collapsed-desktop .badge.badge-pill:not(.fly-out-badge), +.nav-sidebar.sidebar-collapsed-desktop .sidebar-context-title, +.nav-sidebar.sidebar-collapsed-desktop .nav-item-name { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + white-space: nowrap; + width: 1px; +} +.nav-sidebar.sidebar-collapsed-desktop .sidebar-top-level-items > li > a { + min-height: 45px; +} +.nav-sidebar.sidebar-collapsed-desktop .fly-out-top-item { + display: block; +} +.nav-sidebar.sidebar-collapsed-desktop .avatar-container { + margin: 0 auto; +} +.nav-sidebar.sidebar-expanded-mobile { + left: 0; +} +.nav-sidebar a { + text-decoration: none; +} +.nav-sidebar ul { + padding-left: 0; + list-style: none; +} +.nav-sidebar li { + white-space: nowrap; +} +.nav-sidebar li a { + display: flex; + align-items: center; + padding: 12px 16px; + color: #666; +} +.nav-sidebar li .nav-item-name { + flex: 1; +} +.nav-sidebar li.active > a { + font-weight: 600; +} + +@media (max-width: 767.98px) { + .nav-sidebar { + left: -220px; + } +} +.nav-sidebar .nav-icon-container { + display: flex; + margin-right: 8px; +} +.nav-sidebar .fly-out-top-item { + display: none; +} +.nav-sidebar svg { + height: 16px; + width: 16px; +} + +@media (min-width: 768px) and (max-width: 1199px) { + .nav-sidebar:not(.sidebar-expanded-mobile) { + width: 50px; + } + .nav-sidebar:not(.sidebar-expanded-mobile) .nav-sidebar-inner-scroll { + overflow-x: hidden; + } + .nav-sidebar:not(.sidebar-expanded-mobile) .badge.badge-pill:not(.fly-out-badge), + .nav-sidebar:not(.sidebar-expanded-mobile) .sidebar-context-title, + .nav-sidebar:not(.sidebar-expanded-mobile) .nav-item-name { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + white-space: nowrap; + width: 1px; + } + .nav-sidebar:not(.sidebar-expanded-mobile) .sidebar-top-level-items > li > a { + min-height: 45px; + } + .nav-sidebar:not(.sidebar-expanded-mobile) .fly-out-top-item { + display: block; + } + .nav-sidebar:not(.sidebar-expanded-mobile) .avatar-container { + margin: 0 auto; + } + .nav-sidebar:not(.sidebar-expanded-mobile) .context-header { + height: 60px; + width: 50px; + } + .nav-sidebar:not(.sidebar-expanded-mobile) .context-header a { + padding: 10px 4px; + } + .nav-sidebar:not(.sidebar-expanded-mobile) .sidebar-top-level-items > li .sidebar-sub-level-items:not(.flyout-list) { + display: none; + } + .nav-sidebar:not(.sidebar-expanded-mobile) .nav-icon-container { + margin-right: 0; + } + .nav-sidebar:not(.sidebar-expanded-mobile) .toggle-sidebar-button { + padding: 16px; + width: 49px; + } + .nav-sidebar:not(.sidebar-expanded-mobile) .toggle-sidebar-button .collapse-text, + .nav-sidebar:not(.sidebar-expanded-mobile) .toggle-sidebar-button .icon-chevron-double-lg-left { + display: none; + } + .nav-sidebar:not(.sidebar-expanded-mobile) .toggle-sidebar-button .icon-chevron-double-lg-right { + display: block; + margin: 0; + } +} +.nav-sidebar-inner-scroll { + height: 100%; + width: 100%; + overflow: auto; +} +.sidebar-sub-level-items { + display: none; + padding-bottom: 8px; +} +.sidebar-sub-level-items > li a { + padding: 8px 16px 8px 40px; +} +.sidebar-top-level-items { + margin-bottom: 60px; +} + +@media (min-width: 576px) { + .sidebar-top-level-items > li > a { + margin-right: 1px; + } +} +.sidebar-top-level-items > li .badge.badge-pill { + background-color: rgba(0, 0, 0, 0.08); + color: #666; +} +.sidebar-top-level-items > li.active { + background: rgba(0, 0, 0, 0.04); +} +.sidebar-top-level-items > li.active > a { + margin-left: 4px; + padding-left: 12px; +} +.sidebar-top-level-items > li.active .badge.badge-pill { + font-weight: 600; +} +.sidebar-top-level-items > li.active .sidebar-sub-level-items:not(.is-fly-out-only) { + display: block; +} +.toggle-sidebar-button, +.close-nav-button { + width: 219px; + position: fixed; + height: 48px; + bottom: 0; + padding: 0 16px; + background-color: #fafafa; + border: 0; + border-top: 1px solid #dbdbdb; + color: #666; + display: flex; + align-items: center; +} +.toggle-sidebar-button svg, +.close-nav-button svg { + margin-right: 8px; +} +.toggle-sidebar-button .icon-chevron-double-lg-right, +.close-nav-button .icon-chevron-double-lg-right { + display: none; +} +.collapse-text { + white-space: nowrap; + overflow: hidden; +} +.sidebar-collapsed-desktop .context-header { + height: 60px; + width: 50px; +} +.sidebar-collapsed-desktop .context-header a { + padding: 10px 4px; +} +.sidebar-collapsed-desktop .sidebar-top-level-items > li .sidebar-sub-level-items:not(.flyout-list) { + display: none; +} +.sidebar-collapsed-desktop .nav-icon-container { + margin-right: 0; +} +.sidebar-collapsed-desktop .toggle-sidebar-button { + padding: 16px; + width: 49px; +} +.sidebar-collapsed-desktop .toggle-sidebar-button .collapse-text, +.sidebar-collapsed-desktop .toggle-sidebar-button .icon-chevron-double-lg-left { + display: none; +} +.sidebar-collapsed-desktop .toggle-sidebar-button .icon-chevron-double-lg-right { + display: block; + margin: 0; +} +.fly-out-top-item > a { + display: flex; +} +.fly-out-top-item .fly-out-badge { + margin-left: 8px; +} +.fly-out-top-item-name { + flex: 1; +} +.close-nav-button { + display: none; +} + +@media (max-width: 767.98px) { + .close-nav-button { + display: flex; + } + .toggle-sidebar-button { + display: none; + } +} +table.table { + margin-bottom: 16px; +} +table.table .dropdown-menu a { + text-decoration: none; +} +table.table .success, +table.table .info { + color: #fff; +} +table.table .success a:not(.btn), +table.table .info a:not(.btn) { + text-decoration: underline; + color: #fff; +} +pre { + font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; + display: block; + padding: 8px 12px; + margin: 0 0 8px; + font-size: 13px; + word-break: break-all; + word-wrap: break-word; + color: #303030; + background-color: #fafafa; + border: 1px solid #dbdbdb; + border-radius: 2px; +} +.monospace { + font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; +} +input::-moz-placeholder, +textarea::-moz-placeholder { color: #868686; opacity: 1; } -input::-ms-input-placeholder { +input::-ms-input-placeholder, +textarea::-ms-input-placeholder { color: #868686; } -input:-ms-input-placeholder { +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { color: #868686; } svg { fill: currentColor; } + +svg.s12 { + width: 12px; + height: 12px; +} + +svg.s16 { + width: 16px; + height: 16px; +} + +svg.s18 { + width: 18px; + height: 18px; +} + +svg.s12 { + vertical-align: -1px; +} + +svg.s16 { + vertical-align: -3px; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +table.code { + width: 100%; + font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; + border: 0; + border-collapse: separate; + margin: 0; + padding: 0; + table-layout: fixed; + border-radius: 0 0 4px 4px; +} +.frame .badge.badge-pill { + position: absolute; + background-color: #428fdc; + color: #fff; + border: #fff 1px solid; + min-height: 16px; + padding: 5px 8px; + border-radius: 12px; +} +.frame .badge.badge-pill { + transform: translate(-50%, -50%); +} +.color-label { + padding: 0 0.5rem; + line-height: 16px; + border-radius: 100px; + color: #fff; +} +.label-link { + display: inline-flex; + vertical-align: text-bottom; +} +.label-link .label { + vertical-align: inherit; + font-size: 12px; +} .login-page .container { max-width: 960px; } @@ -672,25 +2096,6 @@ svg { border-radius: 0.25rem; padding: 15px; } -.login-page .login-box .login-heading h3, -.login-page .omniauth-container .login-heading h3 { - font-weight: 400; - line-height: 1.5; - margin: 0 0 10px; -} -.login-page .login-box .login-footer, -.login-page .omniauth-container .login-footer { - margin-top: 10px; -} -.login-page .login-box .login-footer p:last-child, -.login-page .omniauth-container .login-footer p:last-child { - margin-bottom: 0; -} -.login-page .login-box a.forgot, -.login-page .omniauth-container a.forgot { - float: right; - padding-top: 6px; -} .login-page .login-box .nav .active a, .login-page .omniauth-container .nav .active a { background: transparent; @@ -727,30 +2132,22 @@ svg { background: none; margin-bottom: 16px; } + @media (max-width: 991.98px) { .login-page .omniauth-container form { width: 100%; } } +.login-page .omniauth-container .omniauth-btn { + width: 100%; + padding: 8px; +} .login-page .new-session-tabs { display: flex; box-shadow: 0 0 0 1px #dbdbdb; border-top-right-radius: 4px; border-top-left-radius: 4px; } -.login-page .new-session-tabs.custom-provider-tabs { - flex-wrap: wrap; -} -.login-page .new-session-tabs.custom-provider-tabs li { - min-width: 85px; - flex-basis: auto; -} -.login-page .new-session-tabs.custom-provider-tabs li:nth-child(n + 5) { - border-top: 1px solid #dbdbdb; -} -.login-page .new-session-tabs.custom-provider-tabs a { - font-size: 16px; -} .login-page .new-session-tabs li { flex: 1; text-align: center; @@ -776,22 +2173,14 @@ svg { .login-page .submit-container { margin-top: 16px; } -.login-page input[type="submit"] { +.login-page input[type='submit'] { margin-bottom: 0; - display: block; - width: 100%; } .login-page .devise-errors h2 { margin-top: 0; font-size: 14px; color: #ae1800; } -@media (max-width: 575.98px) { - .login-page .col-md-5.float-right { - float: none !important; - margin-bottom: 45px; - } -} .devise-layout-html { margin: 0; padding: 0; @@ -824,57 +2213,191 @@ svg { .devise-layout-html body .navless-container { padding: 65px 15px; } + @media (max-width: 575.98px) { .devise-layout-html body .navless-container { padding: 0 15px 65px; } } +.milestones { + padding: 8px; + margin-top: 8px; + border-radius: 4px; + background-color: #dbdbdb; +} +.search { + margin: 0 8px; +} +.search form { + margin: 0; + padding: 4px; + width: 200px; + line-height: 24px; + height: 32px; + border: 0; + border-radius: 4px; +} -.gl-border-solid { - border-style: solid; +@media (min-width: 1200px) { + .search form { + width: 320px; + } } -.gl-border-gray-100 { - border-color: #dbdbdb; +.search .search-input { + border: 0; + font-size: 14px; + padding: 0 20px 0 0; + margin-left: 5px; + line-height: 25px; + width: 98%; + color: #fff; + background: none; } -.gl-border-1 { - border-width: 1px; +.search .search-input-container { + display: flex; + position: relative; } -.gl-rounded-base { - border-radius: 0.25rem; +.search .search-input-wrap { + width: 100%; } -.gl-text-green-600 { - color: #217645; +.search .search-input-wrap .search-icon, +.search .search-input-wrap .clear-icon { + position: absolute; + right: 5px; + top: 4px; } -.gl-text-red-500 { - color: #dd2b0e; +.search .search-input-wrap .search-icon { + -moz-user-select: none; + user-select: none; +} +.search .search-input-wrap .clear-icon { + display: none; } -.gl-display-flex { +.search .search-input-wrap .dropdown { + position: static; +} +.search .search-input-wrap .dropdown-menu { + left: -5px; + max-height: 400px; + overflow: auto; +} + +@media (min-width: 1200px) { + .search .search-input-wrap .dropdown-menu { + width: 320px; + } +} +.search .search-input-wrap .dropdown-content { + max-height: 382px; +} +.settings { + border-top: 1px solid #dbdbdb; +} +.settings:first-of-type { + margin-top: 10px; + border: 0; +} +.settings + div .settings:first-of-type { + margin-top: 0; + border-top: 1px solid #dbdbdb; +} +.avatar, .avatar-container { + float: left; + margin-right: 16px; + border-radius: 50%; + border: 1px solid #f5f5f5; +} +.s16.avatar, .s16.avatar-container { + width: 16px; + height: 16px; + margin-right: 8px; +} +.s18.avatar, .s18.avatar-container { + width: 18px; + height: 18px; + margin-right: 8px; +} +.s40.avatar, .s40.avatar-container { + width: 40px; + height: 40px; + margin-right: 8px; +} +.avatar { + transition-property: none; + width: 40px; + height: 40px; + padding: 0; + background: #fdfdfd; + overflow: hidden; + border-color: rgba(0, 0, 0, 0.1); +} +.avatar.center { + font-size: 14px; + line-height: 1.8em; + text-align: center; +} +.avatar.avatar-tile { + border-radius: 0; + border: 0; +} +.avatar-container { + overflow: hidden; display: flex; } -.gl-align-items-center { - align-items: center; +.avatar-container a { + width: 100%; + height: 100%; + display: flex; + text-decoration: none; } -.gl-p-2 { - padding: 0.25rem; +.avatar-container .avatar { + border-radius: 0; + border: 0; + height: auto; + width: 100%; + margin: 0; + align-self: center; } -.gl-p-4 { - padding: 0.75rem; +.avatar-container.s40 { + min-width: 40px; + min-height: 40px; } -.gl-mt-2 { - margin-top: 0.25rem; +.rect-avatar { + border-radius: 2px; } -.gl-mb-2 { - margin-bottom: 0.25rem; +.rect-avatar.s16 { + border-radius: 2px; } -.gl-mb-3 { - margin-bottom: 0.5rem; +.rect-avatar.s18 { + border-radius: 2px; } -.gl-mb-5 { - margin-bottom: 1rem; +.rect-avatar.s40 { + border-radius: 4px; } -.gl-text-left { - text-align: left; +.tab-width-8 { + -moz-tab-size: 8; + tab-size: 8; } - -@import "cloaking"; +.gl-sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + white-space: nowrap; + width: 1px; +} +.gl-mt-5 { + margin-top: 1rem; +} +.gl-ml-3 { + margin-left: 0.5rem; +} +.content-wrapper > .alert-wrapper, +#content-body, .modal-dialog { + display: block; +} +@import 'cloaking'; @include cloak-startup-scss(none); diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb index b157b2f4a6c..777ba65858f 100644 --- a/app/models/ci/pipeline.rb +++ b/app/models/ci/pipeline.rb @@ -994,7 +994,7 @@ module Ci end def latest_test_report_builds - latest_report_builds(Ci::JobArtifact.test_reports).preload(:project) + latest_report_builds(Ci::JobArtifact.test_reports).preload(:project, :job_variables, :metadata) end def builds_with_coverage diff --git a/app/views/dashboard/todos/_todo.html.haml b/app/views/dashboard/todos/_todo.html.haml index a1457688278..2c6c721a51c 100644 --- a/app/views/dashboard/todos/_todo.html.haml +++ b/app/views/dashboard/todos/_todo.html.haml @@ -3,7 +3,7 @@ .todo-avatar.gl-display-none.gl-sm-display-inline-block = author_avatar(todo, size: 40) - .todo-item.flex-fill.gl-overflow-auto.gl-align-self-center{ data: { qa_selector: "todo_item_container" } } + .todo-item.flex-fill.gl-overflow-hidden.gl-overflow-x-auto.gl-align-self-center{ data: { qa_selector: "todo_item_container" } } .todo-title.gl-mb-3.gl-md-mb-0 - if todo_author_display?(todo) = todo_target_state_pill(todo) diff --git a/app/views/layouts/_head.html.haml b/app/views/layouts/_head.html.haml index 14d0d73e2b7..b28cd47efcc 100644 --- a/app/views/layouts/_head.html.haml +++ b/app/views/layouts/_head.html.haml @@ -36,7 +36,7 @@ = favicon_link_tag favicon, id: 'favicon', data: { original_href: favicon }, type: 'image/png' - = render 'layouts/startup_css', { startup_filename: local_assigns.fetch(:startup_filename, nil) } + = render 'layouts/startup_css' - if user_application_theme == 'gl-dark' = stylesheet_link_tag_defer "application_dark" = yield :page_specific_styles diff --git a/app/views/layouts/_startup_css.haml b/app/views/layouts/_startup_css.haml index 67c871b95f5..7d3cfe28007 100644 --- a/app/views/layouts/_startup_css.haml +++ b/app/views/layouts/_startup_css.haml @@ -1,5 +1,4 @@ -- startup_filename_default = user_application_theme == 'gl-dark' ? 'dark' : 'general' -- startup_filename = local_assigns.fetch(:startup_filename, nil) || startup_filename_default +- startup_filename = current_path?("sessions#new") ? 'signin' : user_application_theme == 'gl-dark' ? 'dark' : 'general' %style = Rails.application.assets_manifest.find_sources("themes/#{user_application_theme_css_filename}.css").first.to_s.html_safe if user_application_theme_css_filename diff --git a/app/views/layouts/devise.html.haml b/app/views/layouts/devise.html.haml index ae7c160c060..ef61a04c288 100644 --- a/app/views/layouts/devise.html.haml +++ b/app/views/layouts/devise.html.haml @@ -1,6 +1,6 @@ !!! 5 %html.devise-layout-html{ class: system_message_class } - = render "layouts/head", { startup_filename: 'signin' } + = render "layouts/head" %body.ui-indigo.login-page.application.navless{ class: "#{client_class_list}", data: { page: body_data_page, qa_selector: 'login_page' } } = header_message = render "layouts/init_client_detection_flags" |