blob: c131896fbc288d38d2717f0e2e8144a5b75e485b [file] [log] [blame]
/* Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file */
/* for details. All rights reserved. Use of this source code is governed by a */
/* BSD-style license that can be found in the LICENSE file. */
/*
* Colors mentioned in this file, e.g. "$dark-text-color" are from DartPad:
* https://github.com/dart-lang/dart-pad/blob/master/lib/scss/colors.scss
*/
/* Text selection */
::selection {
background: #6e8eb1; /* $dark-selection-color */
}
/* Material icons configuration */
@font-face {
font-family: 'Material Icons';
font-style: normal;
font-weight: 400;
src: local('Material Icons'),
local('MaterialIcons-Regular'),
url(/MaterialIconsRegular.ttf) format('truetype');
}
/*
* Required for Material Icons:
* https://google.github.io/material-design-icons/
*/
.material-icons {
font-family: 'Material Icons';
font-weight: normal;
font-style: normal;
font-size: 24px; /* Preferred icon size */
display: inline-block;
line-height: 1;
text-transform: none;
letter-spacing: normal;
word-wrap: normal;
white-space: nowrap;
direction: ltr;
/* Support for all WebKit browsers. */
-webkit-font-smoothing: antialiased;
/* Support for Safari and Chrome. */
text-rendering: optimizeLegibility;
/* Support for Firefox. */
-moz-osx-font-smoothing: grayscale;
/* Support for IE. */
font-feature-settings: 'liga';
}
body {
background-color: #12202f;
color: #ccc;
font-family: "Roboto", sans-serif;
font-size: 14px;
display: flex;
flex-direction: column;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: 0;
padding: 0;
overflow: hidden;
}
.proposed .after-apply {
display: none;
}
.applied .before-apply {
display: none;
}
.applied .apply-migration:not([disabled]), .needs-rerun .apply-migration:not([disabled]) {
display: none;
}
.proposed:not(.needs-rerun) .apply-migration[disabled] {
display: none;
}
header {
background-color: #1c2834;
height: 48px;
padding-left: 24px;
align-items: center;
z-index: 4;
}
header h1,
header h2 {
display: inline-block;
font-family: "Google Sans","Roboto",sans-serif;
font-weight: 400;
margin-right: 24px;
}
h1 {
font-size: 1.5em;
}
header h2 {
font-size: 1.2em;
/* Shift text up */
position: relative;
top: -2px;
}
header .action-button, header a {
right: 0px;
float: right;
margin: 10px;
}
header img.logo {
height: 24px;
width: 24px;
margin-right: 8px;
position: relative;
top: 4px;
}
footer .report-problem {
right: 0px;
margin: 4px 8px;
}
.rerun-migration .required {
display: none;
}
.needs-rerun .rerun-migration .required {
display: initial;
}
.needs-rerun .rerun-migration .optional {
display:none;
}
footer {
color: #ccc;
background-color: #27323a;
display: flex;
flex-direction: row;
align-items: center;
padding: 8px 0 8px 24px;
}
footer .wide {
flex: 1;
}
footer .sdk-version {
margin-right: 32px;
}
.horizontal {
display: flex;
}
.panels {
background-color: #121a25;
flex: 1;
overflow: hidden;
}
.panel-heading {
color: #676767;
margin: 8px;
}
.nav-link,
.region {
cursor: pointer;
}
.nav-panel {
background-color: #12202f;
flex: 1 200px;
margin: 0;
overflow: scroll;
user-select: none;
}
.nav-inner {
padding: 0 0 7px 7px;
}
.fixed {
position: fixed;
top: 0;
}
.root {
margin: 0;
display: none;
}
.nav-tree > ul {
padding-left: 6px;
}
.nav-tree .material-icons {
font-size: 20px;
position: relative;
top: 5px;
margin-right: 8px;
color: #676767; /* $secondary-color */
}
.status-icon.already-migrated {
color: #007a27; /* $light-green */
}
.status-icon.disabled {
cursor: not-allowed;
}
.status-icon.opted-out {
color: #676767; /* $secondary-color */
}
.status-icon.opted-out:hover {
color: #ffffff;
}
.status-icon.migrating {
color: #51c686; /* $dark-green */
}
.status-icon.migrating:hover {
color: #ffffff;
}
.nav-inner ul {
padding-left: 12px;
margin: 0;
}
.nav-inner li {
list-style-type: none;
white-space: nowrap;
}
.nav-inner li:not(.dir) {
margin-left: 20px;
margin-bottom: 3px;
}
.nav-inner li.dir .arrow {
cursor: pointer;
display: inline-block;
font-size: 10px;
margin-right: 4px;
transition: transform 0.5s ease-out;
}
.nav-inner li.dir .arrow.collapsed {
transform: rotate(-90deg);
}
.nav-inner ul {
/* a max-height is added to each element at runtime. */
transition: max-height 0.5s ease-out;
}
.nav-inner ul.collapsed {
max-height: 0 !important;
overflow: hidden;
}
.nav-inner .selected-file {
color: white;
cursor: inherit;
font-weight: 600;
text-decoration: none;
}
.edit-count {
background-color: #676767;
border-radius: 10px;
color: #fff;
display: inline-block;
font-size: 11px;
font-weight: 600;
margin-left: 5px;
min-width: 25px;
padding: 4px 0 2px 0;
text-align: center;
line-height: 1em;
}
.file {
display: flex;
flex-direction: column;
flex: 4 300px;
font-family: "Google Sans","Roboto",sans-serif;
background: #12202f;
margin: 0 6px;
}
.title-bar h3 {
display: inline-block;
font-weight: 400;
/* This aligns the title text with the content text, accounting for the width
* of the line numbers.
*/
margin: 0.5em 24px 0.5em 63px;
}
.title-bar #migrate-unit-status-icon-label {
display: none;
user-select: none;
}
.title-bar #migrate-unit-status-icon-label.visible {
display: inline;
}
.title-bar #migrate-unit-status-icon {
vertical-align: text-bottom;
}
.content {
flex-grow: 1;
font-family: "Roboto Mono",monospace;
overflow: scroll;
position: relative;
white-space: pre;
}
.code {
padding: 0.5em;
position: absolute;
left: 0;
top: 0;
margin-left: 56px;
}
.code .welcome {
font-family: "Google Sans","Roboto",sans-serif;
font-size: 18px;
margin-right: 62px;
color: #777;
}
.code .nav-link {
color: #16adca;
text-decoration-line: none;
}
.code .nav-link:visited {
color: #139bb5; /* #16adca darkened 10% */
text-decoration-line: none;
}
.code .nav-link:hover {
text-decoration-line: underline;
font-weight: 600;
}
.regions {
padding: 0.5em;
position: absolute;
left: 0;
top: 0;
}
.regions table {
border-spacing: 0;
font-size: inherit;
}
.regions td {
border: none;
/* The content of the regions is not visible; the user instead will see the
* highlighted copy of the content. */
color: rgba(255, 255, 255, 0);
padding: 0;
white-space: pre;
}
.regions td:empty:after {
content: "\00a0";
}
.regions tr.highlight td:last-child {
background-color: #444444;
color: white;
}
.regions td.line-no {
border-right: solid #12202f 2px;
color: #999999;
padding-right: 4px;
text-align: right;
visibility: visible;
width: 50px;
display: inline-block;
}
.regions tr.highlight td.line-no {
border-right: solid #ccc 2px;
}
.region {
display: inline-block;
position: relative;
visibility: visible;
z-index: 200;
}
.region.added-region {
background-color: #178afd;
color: #fff;
}
.region.removed-region {
background-color: #FA557d; /* $dark-pink */
color: #fff;
}
.region.informative-region {
background-color: #263952;
color: #fff;
display: inline-block;
height: 15px;
position: relative;
}
.target {
background-color: #444;
position: relative;
visibility: visible;
font-weight: 600;
}
.info-panel {
flex: 1 200px;
margin: 0;
height: 100%;
display: flex;
flex-direction: column;
}
.info-panel .edit-panel {
background-color: #12202f;
overflow: auto;
}
.info-panel .panel-content {
padding: 7px;
}
.info-panel .panel-content> :first-child {
margin-top: 0;
}
.info-panel .nowrap {
white-space: nowrap;
}
.info-panel ul,
.info-panel ol {
padding-left: 20px;
}
.info-panel li {
margin: 0 0 5px 0;
}
.info-panel a {
color: #139bb5;
}
.info-panel a:hover {
color: #1ec7e7; /* #139bb5 lightened 20% */
}
.info-panel .edit-list {
background-color: #12202f;
overflow: auto;
}
.edit-panel {
margin-top: 6px;
flex: 1 100px;
}
.edit-list {
flex: 2 100px;
}
.edit-list .edit {
margin: 3px 0;
}
.edit-list .edit-link {
cursor: pointer;
}
.popup-pane {
display: none;
position: fixed;
top: 150px;
left: 150px;
right: 150px;
bottom: 150px;
border: 1px solid black;
border-top: 2px solid black;
border-radius: 7px;
box-shadow: 0px 0px 20px 2px #b4bfcb22;
z-index: 400;
background: #2b3036;
padding: 20px;
}
.popup-pane .close {
position: absolute;
right: 10px;
top: 10px;
cursor: pointer;
text-shadow: 1px 1px 2px #888;
box-shadow: 1px 1px 2px #111;
}
.popup-pane h2 {
padding: 21px;
height: 10%;
margin: 0px;
box-sizing: border-box;
}
.popup-pane p {
height: 10%;
box-sizing: border-box;
padding: 0px 20px;
}
.popup-pane pre {
background: #12202f;
padding: 20px;
bottom: 0px;
overflow: auto scroll;
height: 65%;
margin: 0px;
box-sizing: border-box;
}
.popup-pane .button.bottom {
margin: 20px 0px;
display: block;
text-align: center;
}
.rerunning-pane {
display: none;
}
body.rerunning .rerunning-pane {
display: block;
position: fixed;
top: 0px;
bottom: 0px;
left: 0px;
right: 0px;
background-color: #000000AA; /* translucent black */
z-index: 400;
}
.rerunning-pane h1 {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.edit-panel .type-description {
/* From DartPad $dark-orange */
color: #ff916e;
font-family: monospace;
}
ul.trace {
font-size: 13px;
list-style-type: none;
padding-left: 0px;
}
ul.trace li {
color: white;
}
ul.trace li .function {
/* from .hljs-variable */
color: #16adca;
font-family: monospace;
font-weight: 600;
}
ul.trace li p.drawer {
margin: 3px 0px;
padding: 0px 0px 0px 14px;
}
ul.trace li p.drawer button {
margin-right: 3px;
}
.elevation-z4 {
box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2),
0px 4px 5px 0px rgba(0, 0, 0, 0.14),
0px 1px 10px 0px rgba(0, 0, 0, .12);
}
a {
color: #ccc;
fill: #ccc;
text-decoration: none;
}
a:hover {
color: #dbdbdb; /* #ccc lightented 30%*/
fill: #fff;
}
.add-hint-link {
display: inline-block;
margin: 3px;
}
.add-hint-link:hover {
color: #fff;
}
header button {
text-transform: uppercase;
}
header a {
margin: 0;
}
/* Careful here. `a.button` is repetitive but required to get correct
* specificity */
button, .button, a.button {
background-color: rgba(22, 138, 253, 0.15);
border: none;
border-radius: 3px;
padding: 3px 10px;
font-weight: 500;
font-font: Roboto, sans-serif;
color: #fff;
}
button:hover, .button:hover {
background-color: rgba(22, 138, 253, 0.29);
cursor: pointer;
}
button[disabled] {
background-color: rgba(255,255,255,.12);
color: rgba(255,255,255,.37);
cursor: not-allowed;
}
/* Change edit panel button colors */
.edit-panel .button, .edit-panel button {
background-color: rgba(63, 104, 148, 0.6);
color: white;
}
.edit-panel .button:hover, .edit-panel button:hover {
background-color: rgba(101, 153, 208, 0.6);
color: white;
}
/*
* Adjustments to align material icons in the toolbar buttons.
*/
.action-button > span {
position: relative;
top: -3px;
}
.action-button .material-icons {
top: 4px;
}
/* Don't shift the icon when it's a direct child of the button */
.action-button > .material-icons {
top: 1px;
}
/* Shift the text to center with the icon. */
.action-button > span.label {
position:relative;
top: -4px;
}
.action-button .material-icons {
font-size: 20px;
position: relative;
}
.placeholder {
color: #777;
text-align: center;
margin-top: 3em !important;
}
/**
* HLJS Overrides
*/
.hljs {
background-color: #12202f; /* $dark-code-background-color */
color: #c0c2c5; /* $dark-editor-text */
display: block;
overflow-x: auto;
padding: 0.5em;
/**
* This allows the per-line highlights to show.
*/
background: none;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-deletion {
color: #51c686; /* cm-keyword */
}
.hljs-number {
color: #627978; /* cm-number */
}
.hljs-comment {
color: #9198b4; /* cm-comment */
}
.hljs-literal {
color: #ee8666; /* cm-atom */
}
.hljs-string {
color: #e55074; /* cm-string */
}
.hljs-variable {
color: #16adca; /* cm-variable */
}
.hljs-link {
color: #e55074; /* cm-string */
}
.hljs-section,
.hljs-type,
.hljs-built_in,
.hljs-title {
color: #ee8666; /* cm-variable-2 */
}
.hljs-addition {
color: #263952; /* $dark-selection-color */
}
.hljs-meta {
color: #627978;
}