/** * @license * Copyright (C) 2015 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // Mark the file as a module. Otherwise typescript assumes this is a script // and $_documentContainer is a global variable. // See: https://www.typescriptlang.org/docs/handbook/modules.html import { createStyle, safeStyleSheet, setInnerHtml, } from '../../utils/inner-html-util'; const customStyle = document.createElement('custom-style'); customStyle.setAttribute('id', 'light-theme'); const styleSheet = safeStyleSheet` html { /** * When adding a new color variable make sure to also add it to the other * theme files in the same directory. * * For colors prefer lower case hex colors. * * Note that plugins might be using these variables, so removing a variable * can be a breaking change that should go into the release notes. */ /* color palette */ --gerrit-blue-light: #1565c0; --gerrit-blue-dark: #90caf9; --red-900: #a50e0e; --red-700: #c5221f; --red-700-04: #c5221f0a; --red-700-10: #c5221f1a; --red-700-12: #c5221f1f; --red-600: #d93025; --red-300: #f28b82; --red-200: #f6aea9; --red-50: #fce8e6; --red-tonal: #6c322f; --blue-900: #174ea6; --blue-800: #185abc; --blue-700: #1967d2; --blue-700-04: #1967d20a; --blue-700-10: #1967d21a; --blue-700-12: #1967d21f; --blue-700-16: #1967d229; --blue-700-24: #1967d23d; --blue-400: #669df6; --blue-200: #aecbfa; --blue-200-16: #aecbfa29; --blue-200-24: #aecbfa3d; --blue-100: #d2e3fc; --blue-50: #e8f0fe; --blue-tonal: #314972; --orange-900: #b06000; --orange-700: #d56e0c; --orange-700-04: #d56e0c0a; --orange-700-10: #d56e0c1a; --orange-700-12: #d56e0c1f; --orange-200: #fdc69c; --orange-50: #feefe3; --orange-tonal: #714625; --cyan-900: #007b83; --cyan-700: #129eaf; --cyan-200: #a1e4f2; --cyan-100: #cbf0f8; --cyan-50: #e4f7fb; --cyan-tonal: #275e6b; --green-900: #0d652d; --green-700: #188038; --green-700-04: #1880380a; --green-700-10: #1880381a; --green-700-12: #1880381f; --green-400: #5bb974; --green-300: #81c995; --green-200: #a8dab5; --green-50: #e6f4ea; --green-tonal: #2c553a; --gray-900: #202124; --gray-800: #3c4043; --gray-800-12: #3c40431f; --gray-800-38: #3c404361; --gray-700: #5f6368; --gray-700-04: #5f63680a; --gray-700-10: #5f63681a; --gray-700-12: #5f63681f; --gray-500: #9aa0a6; --gray-300: #dadce0; --gray-200: #e8eaed; --gray-200-12: #e8eaed1f; --gray-200-38: #e8eaed61; --gray-100: #f1f3f4; --gray-50: #f8f9fa; --gray-tonal: #505357; --purple-900: #681da8; --purple-700: #8430ce; --purple-500: #a142f4; --purple-400: #af5cf7; --purple-200: #d7aefb; --purple-50: #f3e8fd; --purple-tonal: #523272; --pink-800: #b80672; --pink-500: #f538a0; --pink-50: #fde7f3; --pink-tonal: #702f55; --yellow-50: #fef7e0; --yellow-tonal: #6a5619; --brown-50: #efebe9; --brown-tonal: #6d4c41; --white-04: #ffffff0a; --white-10: #ffffff1a; --white-12: #ffffff1f; --error-foreground: var(--red-700); --error-background: var(--red-50); --error-background-hover: linear-gradient(var(--red-700-04), var(--red-700-04)), var(--red-50); --error-background-focus: linear-gradient(var(--red-700-12), var(--red-700-12)), var(--red-50); --error-ripple: var(--red-700-10); --warning-foreground: var(--orange-700); --warning-background: var(--orange-50); --warning-background-hover: linear-gradient(var(--orange-700-04), var(--orange-700-04)), var(--orange-50); --warning-background-focus: linear-gradient(var(--orange-700-12), var(--orange-700-12)), var(--orange-50); --warning-ripple: var(--orange-700-10); --info-foreground: var(--blue-700); --info-background: var(--blue-50); --info-background-hover: linear-gradient(var(--blue-700-04), var(--blue-700-04)), var(--blue-50); --info-background-focus: linear-gradient(var(--blue-700-12), var(--blue-700-12)), var(--blue-50); --info-ripple: var(--blue-700-10); --primary-button-text-color: white; --primary-button-background-color: var(--gerrit-blue-light); --primary-button-background-hover: var(--blue-700-16); --primary-button-background-focus: var(--blue-700-24); --selected-foreground: var(--blue-800); --selected-background: var(--blue-50); --success-foreground: var(--green-700); --success-background: var(--green-50); --success-background-hover: linear-gradient(var(--green-700-04), var(--green-700-04)), var(--green-50); --success-background-focus: linear-gradient(var(--green-700-12), var(--green-700-12)), var(--green-50); --success-ripple: var(--green-700-10); --gray-foreground: var(--gray-700); --gray-background: var(--gray-100); --gray-background-hover: linear-gradient(var(--gray-700-04), var(--gray-700-04)), var(--gray-100); --gray-background-focus: linear-gradient(var(--gray-700-12), var(--gray-700-12)), var(--gray-100); --gray-ripple: var(--gray-700-10); --disabled-foreground: var(--gray-800-38); --disabled-background: var(--gray-800-12); --chip-color: var(--gray-900); --error-color: var(--red-900); --tag-background: var(--cyan-100); --label-background: var(--red-50); /* text colors */ --primary-text-color: var(--gray-900); --link-color: var(--gerrit-blue-light); --comment-text-color: var(--gray-900); --deemphasized-text-color: var(--gray-700); --default-button-text-color: var(--gerrit-blue-light); --chip-selected-text-color: var(--selected-foreground); --error-text-color: var(--red-700); /* Used on text color for change list that doesn't need user's attention. */ --reviewed-text-color: black; --vote-text-color: black; --status-text-color: white; --tooltip-text-color: white; --tooltip-button-text-color: var(--gerrit-blue-dark); --negative-red-text-color: var(--red-600); --positive-green-text-color: var(--green-700); --indirect-ancestor-text-color: var(--green-700); /* background colors */ /* primary background colors */ --background-color-primary: white; --background-color-secondary: var(--gray-50); --background-color-tertiary: var(--gray-100); /* directly derived from primary background colors */ --chip-background-color: var(--background-color-tertiary); --default-button-background-color: var(--background-color-primary); --dialog-background-color: var(--background-color-primary); --dropdown-background-color: var(--background-color-primary); --expanded-background-color: var(--background-color-tertiary); --select-background-color: var(--background-color-secondary); --shell-command-background-color: var(--background-color-secondary); --shell-command-decoration-background-color: var(--background-color-tertiary); --table-header-background-color: var(--background-color-secondary); --table-subheader-background-color: var(--background-color-tertiary); --view-background-color: var(--background-color-primary); /* unique background colors */ --assignee-highlight-color: #fcfad6; /* TODO: Find a nicer way to combine the --assignee-highlight-color and the --selection-background-color than to just invent another unique color. */ --assignee-highlight-selection-color: #f6f4d0; --chip-selected-background-color: var(--blue-50); --edit-mode-background-color: #ebf5fb; --emphasis-color: #fff9c4; --hover-background-color: rgba(161, 194, 250, 0.2); --disabled-button-background-color: var(--disabled-background); --selection-background-color: rgba(161, 194, 250, 0.1); --tooltip-background-color: var(--gray-900); /* comment background colors */ --comment-background-color: var(--gray-200); --robot-comment-background-color: var(--blue-50); --unresolved-comment-background-color: #fef7e0; /* vote background colors */ --vote-color-approved: var(--green-300); --vote-color-disliked: var(--red-50); --vote-outline-disliked: var(--red-700); --vote-color-neutral: var(--gray-300); --vote-color-recommended: var(--green-50); --vote-outline-recommended: var(--green-700); --vote-color-rejected: var(--red-300); --outline-color-focus: var(--gray-900); /* misc colors */ --border-color: var(--gray-300); --comment-separator-color: var(--gray-300); /* checks tag colors */ --tag-gray: var(--gray-200); --tag-yellow: var(--yellow-50); --tag-pink: var(--pink-50); --tag-purple: var(--purple-50); --tag-cyan: var(--cyan-50); --tag-brown: var(--brown-50); /* status colors */ --status-merged: var(--green-700); --status-abandoned: var(--gray-700); --status-deferred: #5f6368; --status-integrating: #999900; --status-staged: #cccc00; --status-wip: #795548; --status-private: var(--purple-500); --status-conflict: var(--red-600); --status-revert-created: #e64a19; --status-active: var(--blue-700); --status-ready: var(--pink-800); --status-custom: var(--purple-900); /* file status colors */ --file-status-added: var(--green-300); --file-status-changed: var(--red-200); --file-status-unchanged: var(--grey-300); /* fonts */ --font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; --header-font-family: 'Open Sans', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; --monospace-font-family: 'Roboto Mono', 'SF Mono', 'Lucida Console', Monaco, monospace; --font-size-code: 12px; /* 12px mono */ --font-size-mono: .929rem; /* 13px mono */ --font-size-small: .857rem; /* 12px */ --font-size-normal: 1rem; /* 14px */ --font-size-h3: 1.143rem; /* 16px */ --font-size-h2: 1.429rem; /* 20px */ --font-size-h1: 1.714rem; /* 24px */ --line-height-mono: 1.286rem; /* 18px */ --line-height-small: 1.143rem; /* 16px */ --line-height-normal: 1.429rem; /* 20px */ --line-height-h3: 1.715rem; /* 24px */ --line-height-h2: 2rem; /* 28px */ --line-height-h1: 2.286rem; /* 32px */ --font-weight-normal: 400; /* 400 is the same as 'normal' */ --font-weight-bold: 500; --font-weight-h1: 400; --font-weight-h2: 400; --font-weight-h3: var(--font-weight-bold, 500); --context-control-button-font: var(--font-weight-normal) var(--font-size-normal) var(--font-family); --code-hint-font-weight: 500; --image-diff-button-font: var(--font-weight-normal) var(--font-size-normal) var(--font-family); /* spacing */ --spacing-xxs: 1px; --spacing-xs: 2px; --spacing-s: 4px; --spacing-m: 8px; --spacing-l: 12px; --spacing-xl: 16px; --spacing-xxl: 24px; /* header and footer */ --footer-background-color: transparent; --footer-border-top: none; --header-background-color: var(--background-color-tertiary); --header-border-bottom: 1px solid var(--border-color); --header-border-image: ''; --header-box-shadow: none; --header-padding: 0 var(--spacing-l); --header-icon-size: 0em; --header-icon: none; --header-text-color: black; --header-title-content: 'Gerrit'; --header-title-font-size: 1.75rem; /* diff colors */ --dark-add-highlight-color: #aaf2aa; --dark-rebased-add-highlight-color: #d7d7f9; --dark-rebased-remove-highlight-color: #f7e8b7; --dark-remove-highlight-color: #ffcdd2; --diff-blank-background-color: var(--background-color-secondary); --diff-context-control-background-color: #fff7d4; --diff-context-control-border-color: #f6e6a5; --diff-context-control-color: var(--default-button-text-color); --diff-highlight-range-color: rgba(255, 213, 0, 0.5); --diff-highlight-range-hover-color: rgba(255, 255, 0, 0.5); --diff-selection-background-color: #c7dbf9; --diff-tab-indicator-color: var(--deemphasized-text-color); --diff-trailing-whitespace-indicator: #ff9ad2; --light-add-highlight-color: #d8fed8; --light-rebased-add-highlight-color: #eef; --diff-moved-in-background: var(--cyan-50); --diff-moved-out-background: var(--purple-50); --diff-moved-in-label-color: var(--cyan-900); --diff-moved-out-label-color: var(--purple-900); --light-remove-add-highlight-color: #fff8dc; --light-remove-highlight-color: #ffebee; --coverage-covered: #e0f2f1; --coverage-not-covered: #ffd1a4; --ranged-comment-hint-text-color: var(--orange-900); --token-highlighting-color: #fffd54; /* syntax colors */ --syntax-attr-color: #219; --syntax-attribute-color: var(--primary-text-color); --syntax-built_in-color: #30a; --syntax-comment-color: #3f7f5f; --syntax-default-color: var(--primary-text-color); --syntax-doctag-weight: bold; --syntax-function-color: var(--primary-text-color); --syntax-keyword-color: #9e0069; --syntax-link-color: #219; --syntax-literal-color: #219; --syntax-meta-color: #ff1717; --syntax-meta-keyword-color: #219; --syntax-number-color: #164; --syntax-params-color: var(--primary-text-color); --syntax-regexp-color: #fa8602; --syntax-selector-attr-color: #fa8602; --syntax-selector-class-color: #164; --syntax-selector-id-color: #2a00ff; --syntax-property-color: #fa8602; --syntax-selector-pseudo-color: #fa8602; --syntax-string-color: #2a00ff; --syntax-tag-color: #170; --syntax-template-tag-color: #fa8602; --syntax-template-variable-color: #0000c0; --syntax-title-color: #0000c0; --syntax-type-color: var(--blue-700); --syntax-variable-color: var(--primary-text-color); /* elevation */ --elevation-level-1: 0px 1px 2px 0px rgba(60, 64, 67, .30), 0px 1px 3px 1px rgba(60, 64, 67, .15); --elevation-level-2: 0px 1px 2px 0px rgba(60, 64, 67, .30), 0px 2px 6px 2px rgba(60, 64, 67, .15); --elevation-level-3: 0px 1px 3px 0px rgba(60, 64, 67, .30), 0px 4px 8px 3px rgba(60, 64, 67, .15); --elevation-level-4: 0px 2px 3px 0px rgba(60, 64, 67, .30), 0px 6px 10px 4px rgba(60, 64, 67, .15); --elevation-level-5: 0px 4px 4px 0px rgba(60, 64, 67, .30), 0px 8px 12px 6px rgba(60, 64, 67, .15); /* misc */ --border-radius: 4px; --reply-overlay-z-index: 1000; --line-length-indicator-color: #681da8; /* paper and iron component overrides */ --iron-overlay-backdrop-background-color: black; --iron-overlay-backdrop-opacity: 0.32; --iron-overlay-backdrop: { transition: none; }; --paper-tooltip-delay-in: 200ms; --paper-tooltip-delay-out: 0; --paper-tooltip-duration-in: 0; --paper-tooltip-duration-out: 0; --paper-tooltip-background: var(--tooltip-background-color); --paper-tooltip-opacity: 1.0; --paper-tooltip-text-color: var(--tooltip-text-color); --paper-tooltip: { font-size: var(--font-size-small); } } @media screen and (max-width: 50em) { html { --spacing-xxs: 1px; --spacing-xs: 1px; --spacing-s: 2px; --spacing-m: 4px; --spacing-l: 8px; --spacing-xl: 12px; --spacing-xxl: 16px; } }`; setInnerHtml(customStyle, createStyle(styleSheet)); document.head.appendChild(customStyle);