diff --git a/scripts/userstyles.yml b/scripts/userstyles.yml index b1c4273472..aa8e12eb07 100644 --- a/scripts/userstyles.yml +++ b/scripts/userstyles.yml @@ -357,6 +357,15 @@ userstyles: app-link: "https://github.com" current-maintainers: [*uncenter] past-maintainers: [*unseen-ninja, *pocco81, *glowingumbreon] + gitlab: + name: Gitlab + categories: [development, productivity] + icon: gitlab + color: peach + readme: + usage: "Switch to a default Gitlab light/dark theme via **Preferences** > **Appearance** for the best experience!" + app-link: "https://gitlab.com" + current-maintainers: [*thomas-philippot] gmail: name: Gmail categories: [email_client, productivity] diff --git a/styles/gitlab/catppuccin.user.less b/styles/gitlab/catppuccin.user.less new file mode 100644 index 0000000000..c6797864a4 --- /dev/null +++ b/styles/gitlab/catppuccin.user.less @@ -0,0 +1,938 @@ +/* ==UserStyle== +@name Gitlab Catppuccin +@namespace github.com/catppuccin/userstyles/styles/gitlab +@homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/gitlab +@version 0.0.1 +@updateURL https://github.com/catppuccin/userstyles/raw/main/styles/gitlab/catppuccin.user.css +@supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Agitlab +@description Soothing pastel theme for Gitlab +@author Catppuccin +@license MIT + +@preprocessor less +@var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha"] +@var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha*"] +@var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] +==/UserStyle== */ +@-moz-document domain('gitlab.com'), +domain("git.plugin-lab.com") { + :root:not(.gl-dark) { + #catppuccin(@lightFlavor, @accentColor); + } + :root.gl-dark { + #catppuccin(@darkFlavor, @accentColor); + } + + #catppuccin(@lookup, @accent) { + @rosewater: @catppuccin[@@lookup][@rosewater]; + @flamingo: @catppuccin[@@lookup][@flamingo]; + @pink: @catppuccin[@@lookup][@pink]; + @mauve: @catppuccin[@@lookup][@mauve]; + @red: @catppuccin[@@lookup][@red]; + @maroon: @catppuccin[@@lookup][@maroon]; + @peach: @catppuccin[@@lookup][@peach]; + @yellow: @catppuccin[@@lookup][@yellow]; + @green: @catppuccin[@@lookup][@green]; + @teal: @catppuccin[@@lookup][@teal]; + @sky: @catppuccin[@@lookup][@sky]; + @sapphire: @catppuccin[@@lookup][@sapphire]; + @blue: @catppuccin[@@lookup][@blue]; + @lavender: @catppuccin[@@lookup][@lavender]; + @text: @catppuccin[@@lookup][@text]; + @subtext1: @catppuccin[@@lookup][@subtext1]; + @subtext0: @catppuccin[@@lookup][@subtext0]; + @overlay2: @catppuccin[@@lookup][@overlay2]; + @overlay1: @catppuccin[@@lookup][@overlay1]; + @overlay0: @catppuccin[@@lookup][@overlay0]; + @surface2: @catppuccin[@@lookup][@surface2]; + @surface1: @catppuccin[@@lookup][@surface1]; + @surface0: @catppuccin[@@lookup][@surface0]; + @base: @catppuccin[@@lookup][@base]; + @mantle: @catppuccin[@@lookup][@mantle]; + @crust: @catppuccin[@@lookup][@crust]; + @accent-color: @catppuccin[@@lookup][@@accent]; + + @black: if(@lookup = latte, @text, @crust); + @white: if(@lookup = latte, @base, @surface0); + @gray10: if(@lookup = latte, @surface0, @crust); + @gray8: if(@lookup = latte, @subtext1, @surface2); + @gray7: if(@lookup = latte, @subtext0, @overlay0); + @gray6: if(@lookup = latte, @overlay2, @overlay1); + @gray5: if(@lookup = latte, @overlay2, @overlay1); + @gray4: if(@lookup = latte, @overlay1, @overlay2); + @gray3: if(@lookup = latte, @overlay1, @overlay2); + @gray2: if(@lookup = latte, @mantle, @subtext0); + @gray1: if(@lookup = latte, @crust, @surface0); + + @neutral10: if(@lookup = latte, @subtext1, @crust); + @neutral9: if(@lookup = latte, @subtext0, @mantle); + @neutral8: if(@lookup = latte, @overlay2, @base); + @neutral7: if(@lookup = latte, @overlay1, @surface0); + @neutral6: if(@lookup = latte, @overlay0, @surface1); + @neutral5: if(@lookup = latte, @surface2, @surface2); + @neutral4: if(@lookup = latte, @surface1, @overlay0); + @neutral3: if(@lookup = latte, @surface0, @overlay1); + @neutral2: if(@lookup = latte, @base, @overlay2); + @neutral1: if(@lookup = latte, @mantle, @subtext0); + @neutral0: if(@lookup = latte, @crust, @subtext1); + + color-scheme: if(@lookup = latte, light, dark); + + ::selection { + background-color: fade(@accent-color, 30%); + } + + --blue: @blue; + --indigo: @mauve; + --purple: @mauve; + --pink: @pink; + --red: @red; + --orange: @peach; + --yellow: @yellow; + --green: @green; + --teal: @teal; + --cyan: @sky; + --white: @white; + --black: @text; + --primary: @accent-color; + --secondary: @base; + --success: @green; + --info: @sapphire; + --warning: @peach; + --danger: @red; + + --brand-gray-05: @gray10; + --brand-gray-04: @gray8; + --brand-gray-03: @gray6; + --brand-gray-02: @gray4; + --brand-gray-01: @gray1; + --brand-charcoal: @black; + --red-950: @red; + --green-700: @green; + --green-300: @green; + --gray-950: @gray10; + --gray-900: @text; + --gray-800: @gray8; + --gray-700: @gray7; + --gray-600: @gray6; + --gray-500: @gray5; + --gray-400: @gray4; + --gray-300: @gray3; + --gray-200: @gray2; + --gray-100: @gray1; + --gray-50: @gray1; + --gray-10: @gray10; + --blue-600: @blue; + + --gl-color-neutral-1000: @neutral10; + --gl-color-neutral-950: @neutral9; + --gl-color-neutral-900: @neutral8; + --gl-color-neutral-800: @neutral7; + --gl-color-neutral-700: @neutral6; + --gl-color-neutral-600: @neutral5; + --gl-color-neutral-500: @neutral4; + --gl-color-neutral-400: @neutral3; + --gl-color-neutral-300: @neutral2; + --gl-color-neutral-200: @neutral1; + --gl-color-neutral-100: @neutral0; + --gl-color-neutral-50: @neutral0; + --gl-color-neutral-10: @neutral0; + --gl-color-neutral-0: @neutral0; + + --gl-background-color-default: @base; + --gl-text-color-default: @text; + --gl-text-color-link: @text; + --gl-text-color-subtle: @subtext0; + --gl-text-color-strong: @text; + --gl-text-color-heading: @text; + + --gl-text-primary: @text; + --gl-text-secondary: @overlay0; + + --gl-action-neutral-foreground-color-default: @text; + --gl-action-neutral-background-color-hover: @surface0; + + /* Badge */ + --gl-badge-neutral-background-color-default: @surface1; + --gl-badge-neutral-text-color-default: @text; + + --gl-badge-muted-background-color-default: if( + @lookup = latte, + @surface0, + @overlay1 + ); + --gl-badge-muted-text-color-default: @black; + + /* Primary button */ + --gl-button-default-primary-foreground-color-default: @text; + --gl-button-default-primary-background-color-default: @base; + --gl-button-default-primary-border-color-default: @overlay0; + + --gl-button-default-primary-foreground-color-active: @text; + --gl-button-default-primary-background-color-active: @surface0; + --gl-button-default-primary-border-color-active: @overlay1; + + --gl-button-default-primary-foreground-color-hover: @text; + --gl-button-default-primary-background-color-hover: @surface0; + --gl-button-default-primary-border-color-hover: @overlay1; + + --gl-button-default-primary-foreground-color-focus: @text; + --gl-button-default-primary-background-color-focus: @surface0; + --gl-button-default-primary-border-color-focus: @overlay1; + + --gl-button-confirm-primary-foreground-color-default: @base; + --gl-button-confirm-primary-background-color-default: @accent-color; + --gl-button-confirm-primary-border-color-default: @accent-color; + + --gl-button-confirm-primary-foreground-color-active: @base; + --gl-button-confirm-primary-background-color-active: @accent-color; + --gl-button-confirm-primary-border-color-active: @accent-color; + + --gl-button-confirm-primary-foreground-color-hover: @base; + --gl-button-confirm-primary-background-color-hover: @accent-color; + --gl-button-confirm-primary-border-color-hover: @accent-color; + + --gl-button-confirm-primary-foreground-color-focus: @base; + --gl-button-confirm-primary-background-color-focus: @accent-color; + --gl-button-confirm-primary-border-color-focus: @accent-color; + + /* Secondary button */ + --gl-button-default-secondary-foreground-color-default: @blue; + --gl-button-default-secondary-background-color-default: @surface0; + --gl-button-default-secondary-border-color-default: @blue; + + --gl-button-confirm-secondary-foreground-color-default: @blue; + --gl-button-confirm-secondary-background-color-default: if( + @lookup = latte, + @base, + @surface0 + ); + --gl-button-confirm-secondary-border-color-default: @blue; + + --gl-button-confirm-secondary-foreground-color-active: @blue; + --gl-button-confirm-secondary-background-color-active: @surface0; + --gl-button-confirm-secondary-border-color-active: @blue; + + --gl-button-confirm-secondary-foreground-color-hover: @blue; + --gl-button-confirm-secondary-background-color-hover: @surface0; + --gl-button-confirm-secondary-border-color-hover: @blue; + + --gl-button-confirm-secondary-foreground-color-focus: @blue; + --gl-button-confirm-secondary-background-color-focus: @surface0; + --gl-button-confirm-secondary-border-color-focus: @blue; + + /* Tertiary button */ + --gl-button-default-tertiary-foreground-color-default: @text; + --gl-button-default-tertiary-background-color-default: @base; + + --gl-button-default-tertiary-foreground-color-active: @text; + --gl-button-default-tertiary-background-color-active: @surface0; + + --gl-button-default-tertiary-foreground-color-hover: @text; + --gl-button-default-tertiary-background-color-hover: @surface0; + + --gl-button-default-tertiary-foreground-color-focus: @text; + --gl-button-default-tertiary-background-color-focus: @surface0; + + /* Danger button */ + + --gl-button-danger-primary-foreground-color-default: @surface0; + --gl-button-danger-primary-background-color-default: @red; + --gl-button-danger-primary-border-color-default: @red; + + --gl-button-danger-primary-foreground-color-active: @red; + --gl-button-danger-primary-background-color-active: @surface0; + --gl-button-danger-primary-border-color-active: @red; + + --gl-button-danger-primary-foreground-color-hover: @red; + --gl-button-danger-primary-background-color-hover: @surface0; + --gl-button-danger-primary-border-color-hover: @red; + + --gl-button-danger-primary-foreground-color-focus: @red; + --gl-button-danger-primary-background-color-focus: @surface0; + --gl-button-danger-primary-border-color-focus: @red; + + --gl-button-danger-secondary-foreground-color-default: @red; + --gl-button-danger-secondary-background-color-default: @base; + --gl-button-danger-secondary-border-color-default: @red; + + --gl-button-danger-secondary-foreground-color-active: @red; + --gl-button-danger-secondary-background-color-active: @surface0; + --gl-button-danger-secondary-border-color-active: @red; + + --gl-button-danger-secondary-foreground-color-hover: @red; + --gl-button-danger-secondary-background-color-hover: @surface0; + --gl-button-danger-secondary-border-color-hover: @red; + + --gl-button-danger-secondary-foreground-color-focus: @red; + --gl-button-danger-secondary-background-color-focus: @surface0; + --gl-button-danger-secondary-border-color-focus: @red; + + --gl-button-disabled-background-color: @mantle; + --gl-button-disabled-foreground-color: @text; + --gl-label-scoped-text-color: @text; + --gl-label-dark-text-color: if(@lookup = latte, @crust, @text); + + --gl-dropdown-option-background-color-unselected-hover: @base; + + --gl-datepicker-background-color: @base; + --gl-datepicker-date-text-color-selected: @base; + + --gl-control-background-color-selected-default: @accent-color; + --gl-control-background-color-selected-hover: @accent-color; + --gl-control-background-color-selected-focus: @accent-color; + --gl-control-background-color-selected-active: @accent-color; + + --gl-badge-success-background-color-default: fade(@green, 50%); + + --gl-background-color-subtle: @surface0; + --gl-background-color-strong: @surface1; + --gl-background-color-overlap: @surface0; + --gl-focus-ring-outer-color: @accent-color; + --gl-control-background-color-default: @white; + --gl-control-border-color-default: @subtext0; + --gl-control-border-color-hover: @subtext0; + --gl-border-color-default: @overlay0; + + --gl-banner-promo-background-color: if(@lookup = latte, @lavender, @blue); + --gl-banner-promo-border-color: @surface0; + + input, + textarea { + &::placeholder { + color: @subtext0 !important; + } + } + + .commit-content .committer, + .nav-links li:not(.md-header-toolbar) a { + color: @subtext0; + } + + .super-sidebar .super-sidebar-nav-item.super-sidebar-nav-item-current { + --super-sidebar-nav-item-current-bg: @surface0; + } + + .gl-label .gl-label-link-underline { + color: var(--gl-label-dark-text-color); + } + + .super-sidebar { + --super-sidebar-bg: @crust; + --super-sidebar-border-color: @surface0; + --super-sidebar-context-header-color: @accent-color; + --super-sidebar-active-indicator-color: @accent-color; + --super-sidebar-accent-color: @accent-color; + --super-sidebar-user-bar-bg: @mantle; + --super-sidebar-user-bar-button-bg: @base; + --super-sidebar-user-bar-button-color: @text; + --super-sidebar-user-bar-button-border-color: @surface1; + --super-sidebar-user-bar-button-hover-bg: @surface2; + --super-sidebar-user-bar-button-active-bg: @surface2; + --super-sidebar-user-bar-button-icon-color: @text; + --super-sidebar-nav-item-hover-bg: @surface0; + --super-sidebar-nav-item-active-bg: @surface0; + --super-sidebar-nav-item-icon-color: @text; + + --gl-button-default-tertiary-background-color-default: @mantle; + } + + .super-sidebar-nav-item > .gl-text-right { + z-index: 1; + } + + aside.right-sidebar:not(.right-sidebar-merge-requests), + .merge-request.closed, + .merge-request.merged { + background-color: @base; + } + .job-log { + background-color: @crust; + } + + .form-control, + input, + .dropdown-menu .dropdown-item, + .dropdown-menu-toggle, + .status_td { + background-color: @base; + color: @text; + } + + table.table:not(.gl-table) tr th, + .info-well, + .mr-widget-section .gl-bg-gray-10 { + background-color: if(@lookup = latte, @surface0, @base); + color: @text; + } + + .info-well, + .bordered-box, + .gl-new-card { + border-color: @overlay0; + } + + .notes.timeline > .timeline-entry.note-comment .timeline-content { + background-color: if(@lookup = latte, @base, @surface1); + border-color: @overlay0; + } + + .note-actions .btn-default-tertiary { + background-color: if(@lookup = latte, @base, @surface1); + } + + .note-actions .btn-default-tertiary:hover, + .mr-widget-body .btn-default-tertiary:hover, + .md-header .btn-default-tertiary:hover { + background-color: if(@lookup = latte, @surface0, @surface2); + } + + .mr-widget-body .btn-default-tertiary, + .md-header .btn-default-tertiary { + background-color: @white; + } + + hr, + ul.content-list li, + .right-sidebar, + .right-sidebar .block, + .row-content-block { + border-color: @surface0; + } + + .dropdown-menu li > button, + .dropdown-menu li .gl-button.btn-link { + color: @accent-color; + } + + .dropdown-menu li > button:not(.disable-hover):hover, + .dropdown-menu li .gl-button.btn-link:not(.disable-hover):hover, + .filtered-search-token .name, + .filtered-search-token .operator, + .filtered-search-token .value-container, + .right-sidebar .dropdown-menu li a:hover { + background-color: @surface0; + color: @text; + } + + .modal-dialog input, + .modal-dialog input:hover, + .modal-dialog input:focus, + .modal-dialog textarea, + .modal-dialog textarea:hover, + .modal-dialog textarea:focus, + .modal-dialog .gl-button.gl-button.btn-default, + .modal-dialog .input-group .input-group-append, + .modal-dialog .input-group .input-group-prepend, + .gl-datepicker-theme :not(.is-selected) > .pika-button:hover, + .dropdown-menu .dropdown-item:hover, + .gl-pagination .page-item.disabled .page-link, + .gl-token, + .gl-filtered-search-token-operator, + .gl-filtered-search-token-type, + .gl-filtered-search-token-data, + .file-title-flex-parent, + .file-holder .file-title-flex-parent, + .file-header-content .btn-default-tertiary, + .file-actions .btn-default-tertiary, + .gl-new-dropdown .gl-new-dropdown-panel, + .global-search-modal.gl-modal .modal-footer { + background-color: @surface0; + } + + body, + .top-bar-fixed, + .gl-bg-gray-10, + .merge-request-tabs-holder, + .row-content-block, + .settings-sticky-header-inner, + .settings-sticky-footer, + .gl-filtered-search-scrollable-container, + .dropdown-menu, + .filtered-search-box-input-container, + .filtered-search-box, + .markdown-area, + .commit-sha-group .label-monospace, + .diff-file .file-title::before, + .diff-file .file-title-flex-parent::before, + .awards .gl-button.selected, + .form-control:disabled, + .form-control[readonly], + .input-group .input-group-prepend, + .input-group-append, + .content-wrapper { + background-color: @base; + } + + .gl-link, + .right-sidebar .title, + .nav-links li:not(.md-header-toolbar).active a, + .nav-links li:not(.md-header-toolbar) a:hover, + .detail-page-description .author-link, + .dropdown-title, + .action-card-title { + color: @text; + } + + body, + .commit a, + .emoji-picker-category-active svg, + ul.content-list li a:not(.gfm-project_member), + li.nav-item > a.nav-link, + .gl-tab-content, + h1, + h2, + h3, + h4, + h5, + li { + color: @text !important; + } + + .nav-links li:not(.md-header-toolbar).active a { + box-shadow: inset 0 -2px 0 0 @accent-color; + } + + .emoji-picker-category-header { + background: linear-gradient(to bottom, @base 50%, transparent 100%); + } + + p, + legend, + small { + color: @subtext1; + } + + .text-muted, + .text-secondary, + .right-sidebar.right-sidebar-expanded .no-value { + color: @subtext0 !important; + } + + .home-panel-title { + color: @black; + } + + .section_border_1 { + background-color: @base; + border-color: @base; + } + + .tree-holder table.tree-table tr:hover:not(.tree-truncated-warning) td { + background-color: @surface0; + border-color: @text; + } + + .gl-pagination .page-link, + .btn-default { + background-color: @base; + border-color: @surface2; + color: @text; + } + + .gl-pagination .page-link:hover, + .gl-pagination .page-link:active, + .gl-pagination .page-link:focus { + background-color: @surface1; + border-color: @surface2; + color: @text; + } + + .gl-pagination .page-item:not(.disabled) a.active { + background-color: @accent-color; + border-color: @accent-color; + color: @base; + } + + .gl-filtered-search-token.gl-filtered-search-token-hover:hover, + .gl-filtered-search-token-type, + .filtered-search-token:hover .name, + .filtered-search-token:hover .operator, + .filtered-search-token:hover .value-container, + .file-header-content .btn-default-tertiary:hover, + .file-actions .btn-default-tertiary:hover, + .btn-default:hover { + background-color: @surface1; + } + + .gl-filtered-search-token.gl-filtered-search-token-hover:hover, + .gl-filtered-search-token-operator, + .gl-filtered-search-token-data { + background-color: @surface2; + } + + .ref-container { + background-color: @lavender; + } + + .ref-container, + .ref-container a { + color: @base !important; + } + + div[data-testid="groups-projects-more-actions-dropdown"] + button[aria-label="More actions"], + button#dropdown-toggle-btn-33 { + --gl-button-default-tertiary-background-color-default: @base; + + :hover { + --gl-button-default-tertiary-background-color-default: @surface0; + } + } + + a { + &.ref-name, + &.js-view-all, + &.mr-iid { + color: @accent-color; + } + } + + .action-card-default { + background-color: @mantle; + border-color: @surface0; + } + + .gl-tab-nav-item.active { + &::before { + border-bottom-color: @accent-color; + } + } + + a.btn-danger.btn-sm { + .gl-button-text, + .gl-button-icon { + color: @crust; + } + } + + .user-contrib-cell { + &[data-level="0"] { + fill: @crust; + } + + &[data-level="1"] { + fill: fade(@accent-color, 25%); + } + + &[data-level="2"] { + fill: fade(@accent-color, 50%); + } + + &[data-level="3"] { + fill: fade(@accent-color, 75%); + } + + &[data-level="4"] { + fill: @accent-color; + } + } + + /* Code styling */ + .term-fg-green { + color: @green; + } + + .term-fg-cyan { + color: @sky; + } + + .term-fg-yellow { + color: @yellow; + } + + .line_holder .line_content, + .line_holder .line-coverage { + background-color: @base; + color: @text; + } + + .line_holder .diff-line-num { + background-color: @surface0; + } + + .code.diff-line-expand-button { + background-color: @surface2; + color: @text; + } + + .line_holder.diff-grid-row.expansion .diff-td { + background-color: @surface0; + color: @text; + } + + .diff-line-num a, + .line_holder .diff-line-num.new a, + .line_holder .diff-line-num.old a { + color: @text; + } + + .line_holder .line_content.new, + .line_holder .line-coverage.new { + background-color: if( + @lookup = latte, + lighten(@green, 50%), + darken(@green, 55%) + ); + } + + .line_holder .diff-line-num.new { + background-color: if( + @lookup = latte, + lighten(@green, 40%), + darken(@green, 50%) + ); + } + + .line_holder .line_content.old, + .line_holder .line-coverage.old { + background-color: if( + @lookup = latte, + lighten(@red, 50%), + darken(@red, 55%) + ); + } + + .line_holder .diff-line-num.old { + background-color: if( + @lookup = latte, + lighten(@red, 40%), + darken(@red, 45%) + ); + } + + .line_holder .diff-line-num.is-over { + background-color: @accent-color; + color: @text; + } + + .note-button.add-diff-note { + background-color: @base; + border-color: @accent-color; + color: @accent-color; + } + + .note-button.add-diff-note:hover { + background-color: @accent-color; + color: @base; + } + + .line_holder.diff-expanded > .line_content { + background-color: @surface1; + border-color: @surface0; + color: @text; + } + + .line_holder.diff-expanded > .diff-line-num { + background-color: @surface2; + color: @text; + } + + .line a { + color: @sky; + } + + .hll { + background-color: @mantle; + } + + .err, + .gd, + .no, + .ne, + .nv, + .vc, + .vg, + .vi { + color: @red; + } + + .m, + .se, + .si, + .mf, + .mh, + .mi, + .mo, + .il, + .l { + color: @peach; + } + + .c, + .cm, + .cp, + .c1, + .cs, + .cd, + .sd { + color: @subtext0; + } + + .gp { + color: @subtext0; + font-weight: 600; + } + + .ge { + font-style: italic; + } + + .gh, + .gu { + color: @sky; + font-weight: 600; + } + + .k, + .kc, + .kd, + .kp, + .kr { + color: @lavender; + } + + .kt, + .nn, + .nc { + color: @yellow; + } + + .n, + .nb, + .ni, + .nl, + .py, + .w, + .sc, + .bp, + .p { + color: @text; + } + + .kn, + .nd, + .nt, + .ow, + .o { + color: @subtext1; + } + + .nf, + .na, + .nx, + .hljs-title, + .hljs-title.function_ { + color: @blue; + } + + .gi, + .sx, + .sr, + .s1, + .ss, + .ld, + .s, + .sh, + .s2, + .sb, + .gs { + color: @green; + } + + .nb { + color: @peach; + } + + .cd { + color: @subtext0; + } + .ci-icon { + &.ci-icon-variant-success { + background-color: @green; + border-color: @green; + + .ci-icon-gl-icon-wrapper { + color: @green; + background-color: darken(@green, 35%); + border-color: darken(@green, 35%); + } + } + + &.ci-icon.ci-icon-variant-info { + background-color: @blue; + border-color: @blue; + + .ci-icon-gl-icon-wrapper { + color: @blue; + background-color: darken(@blue, 35%); + border-color: darken(@blue, 35%); + } + } + + &.ci-icon.ci-icon-variant-warning { + background-color: @peach; + border-color: @peach; + + .ci-icon-gl-icon-wrapper { + color: @peach; + background-color: darken(@peach, 35%); + border-color: darken(@peach, 35%); + } + } + } + + .commit-sha-container { + color: @subtext0 !important; + } + + .gl-toggle { + background-color: @overlay1; + } + + span[data-testid="job-name"] { + color: @accent-color; + } + + div[data-testid="job-duration"], + div[data-testid="job-finished-time"] { + color: @overlay0; + } + + a[data-testid="job-sidebar-value-link"], + a[data-testid="link-commit"], + a[data-testid="pipeline-path"] { + color: @accent-color !important; + } + + a[data-testid="source-ref-link"] { + color: @text !important; + } + + svg[data-testid="question-o-icon"] { + color: @blue; + } + + svg[data-testid="status-warning-icon"] { + color: @peach; + } + + .job-log { + &-line-number { + color: @overlay0; + } + + color: @text; + } + } +} + +/* prettier-ignore */ +@catppuccin: { + @latte: { @rosewater: #dc8a78; @flamingo: #dd7878; @pink: #ea76cb; @mauve: #8839ef; @red: #d20f39; @maroon: #e64553; @peach: #fe640b; @yellow: #df8e1d; @green: #40a02b; @teal: #179299; @sky: #04a5e5; @sapphire: #209fb5; @blue: #1e66f5; @lavender: #7287fd; @text: #4c4f69; @subtext1: #5c5f77; @subtext0: #6c6f85; @overlay2: #7c7f93; @overlay1: #8c8fa1; @overlay0: #9ca0b0; @surface2: #acb0be; @surface1: #bcc0cc; @surface0: #ccd0da; @base: #eff1f5; @mantle: #e6e9ef; @crust: #dce0e8; }; + @frappe: { @rosewater: #f2d5cf; @flamingo: #eebebe; @pink: #f4b8e4; @mauve: #ca9ee6; @red: #e78284; @maroon: #ea999c; @peach: #ef9f76; @yellow: #e5c890; @green: #a6d189; @teal: #81c8be; @sky: #99d1db; @sapphire: #85c1dc; @blue: #8caaee; @lavender: #babbf1; @text: #c6d0f5; @subtext1: #b5bfe2; @subtext0: #a5adce; @overlay2: #949cbb; @overlay1: #838ba7; @overlay0: #737994; @surface2: #626880; @surface1: #51576d; @surface0: #414559; @base: #303446; @mantle: #292c3c; @crust: #232634; }; + @macchiato: { @rosewater: #f4dbd6; @flamingo: #f0c6c6; @pink: #f5bde6; @mauve: #c6a0f6; @red: #ed8796; @maroon: #ee99a0; @peach: #f5a97f; @yellow: #eed49f; @green: #a6da95; @teal: #8bd5ca; @sky: #91d7e3; @sapphire: #7dc4e4; @blue: #8aadf4; @lavender: #b7bdf8; @text: #cad3f5; @subtext1: #b8c0e0; @subtext0: #a5adcb; @overlay2: #939ab7; @overlay1: #8087a2; @overlay0: #6e738d; @surface2: #5b6078; @surface1: #494d64; @surface0: #363a4f; @base: #24273a; @mantle: #1e2030; @crust: #181926; }; + @mocha: { @rosewater: #f5e0dc; @flamingo: #f2cdcd; @pink: #f5c2e7; @mauve: #cba6f7; @red: #f38ba8; @maroon: #eba0ac; @peach: #fab387; @yellow: #f9e2af; @green: #a6e3a1; @teal: #94e2d5; @sky: #89dceb; @sapphire: #74c7ec; @blue: #89b4fa; @lavender: #b4befe; @text: #cdd6f4; @subtext1: #bac2de; @subtext0: #a6adc8; @overlay2: #9399b2; @overlay1: #7f849c; @overlay0: #6c7086; @surface2: #585b70; @surface1: #45475a; @surface0: #313244; @base: #1e1e2e; @mantle: #181825; @crust: #11111b; }; +} + +// vim:ft=less diff --git a/styles/gitlab/preview.webp b/styles/gitlab/preview.webp new file mode 100644 index 0000000000..786d918513 Binary files /dev/null and b/styles/gitlab/preview.webp differ