| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476 |
- /*-----------------------------------------------------------------------------
- | Copyright (c) Jupyter Development Team.
- | Distributed under the terms of the Modified BSD License.
- |----------------------------------------------------------------------------*/
- /*
- The following CSS variables define the main, public API for styling JupyterLab.
- These variables should be used by all plugins wherever possible. In other
- words, plugins should not define custom colors, sizes, etc unless absolutely
- necessary. This enables users to change the visual theme of JupyterLab
- by changing these variables.
- Many variables appear in an ordered sequence (0,1,2,3). These sequences
- are designed to work well together, so for example, `--jp-border-color1` should
- be used with `--jp-layout-color1`. The numbers have the following meanings:
- * 0: super-primary, reserved for special emphasis
- * 1: primary, most important under normal situations
- * 2: secondary, next most important under normal situations
- * 3: tertiary, next most important under normal situations
- Throughout JupyterLab, we are mostly following principles from Google's
- Material Design when selecting colors. We are not, however, following
- all of MD as it is not optimized for dense, information rich UIs.
- */
- :root {
- /* Elevation
- *
- * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:
- *
- * https://github.com/material-components/material-components-web
- * https://material-components-web.appspot.com/elevation.html
- */
- --jp-shadow-base-lightness: 0;
- --jp-shadow-umbra-color: rgba(
- var(--jp-shadow-base-lightness),
- var(--jp-shadow-base-lightness),
- var(--jp-shadow-base-lightness),
- 0.2
- );
- --jp-shadow-penumbra-color: rgba(
- var(--jp-shadow-base-lightness),
- var(--jp-shadow-base-lightness),
- var(--jp-shadow-base-lightness),
- 0.14
- );
- --jp-shadow-ambient-color: rgba(
- var(--jp-shadow-base-lightness),
- var(--jp-shadow-base-lightness),
- var(--jp-shadow-base-lightness),
- 0.12
- );
- --jp-elevation-z0: none;
- --jp-elevation-z1: 0 2px 1px -1px var(--jp-shadow-umbra-color),
- 0 1px 1px 0 var(--jp-shadow-penumbra-color),
- 0 1px 3px 0 var(--jp-shadow-ambient-color);
- --jp-elevation-z2: 0 3px 1px -2px var(--jp-shadow-umbra-color),
- 0 2px 2px 0 var(--jp-shadow-penumbra-color),
- 0 1px 5px 0 var(--jp-shadow-ambient-color);
- --jp-elevation-z4: 0 2px 4px -1px var(--jp-shadow-umbra-color),
- 0 4px 5px 0 var(--jp-shadow-penumbra-color),
- 0 1px 10px 0 var(--jp-shadow-ambient-color);
- --jp-elevation-z6: 0 3px 5px -1px var(--jp-shadow-umbra-color),
- 0 6px 10px 0 var(--jp-shadow-penumbra-color),
- 0 1px 18px 0 var(--jp-shadow-ambient-color);
- --jp-elevation-z8: 0 5px 5px -3px var(--jp-shadow-umbra-color),
- 0 8px 10px 1px var(--jp-shadow-penumbra-color),
- 0 3px 14px 2px var(--jp-shadow-ambient-color);
- --jp-elevation-z12: 0 7px 8px -4px var(--jp-shadow-umbra-color),
- 0 12px 17px 2px var(--jp-shadow-penumbra-color),
- 0 5px 22px 4px var(--jp-shadow-ambient-color);
- --jp-elevation-z16: 0 8px 10px -5px var(--jp-shadow-umbra-color),
- 0 16px 24px 2px var(--jp-shadow-penumbra-color),
- 0 6px 30px 5px var(--jp-shadow-ambient-color);
- --jp-elevation-z20: 0 10px 13px -6px var(--jp-shadow-umbra-color),
- 0 20px 31px 3px var(--jp-shadow-penumbra-color),
- 0 8px 38px 7px var(--jp-shadow-ambient-color);
- --jp-elevation-z24: 0 11px 15px -7px var(--jp-shadow-umbra-color),
- 0 24px 38px 3px var(--jp-shadow-penumbra-color),
- 0 9px 46px 8px var(--jp-shadow-ambient-color);
- /* Borders
- *
- * The following variables, specify the visual styling of borders in JupyterLab.
- */
- --jp-border-width: 1px;
- --jp-border-color0: var(--md-grey-400, #bdbdbd);
- --jp-border-color1: var(--md-grey-400, #bdbdbd);
- --jp-border-color2: var(--md-grey-300, #e0e0e0);
- --jp-border-color3: var(--md-grey-200, #eee);
- --jp-inverse-border-color: var(--md-grey-600, #757575);
- --jp-border-radius: 2px;
- /* shortcut buttons
- *
- * The following css variables are used to specify the visual
- * styling of the keyboard shortcut buttons
- */
- --jp-shortcuts-button-background: var(--jp-brand-color3);
- --jp-shortcuts-button-hover-background: var(--jp-brand-color2);
- /* UI Fonts
- *
- * The UI font CSS variables are used for the typography all of the JupyterLab
- * user interface elements that are not directly user generated content.
- *
- * The font sizing here is done assuming that the body font size of --jp-ui-font-size1
- * is applied to a parent element. When children elements, such as headings, are sized
- * in em all things will be computed relative to that body size.
- */
- --jp-ui-font-scale-factor: 1.2;
- --jp-ui-font-size0: 0.83333em;
- --jp-ui-font-size1: 13px; /* Base font size */
- --jp-ui-font-size2: 1.2em;
- --jp-ui-font-size3: 1.44em;
- --jp-ui-font-family: system-ui, -apple-system, blinkmacsystemfont, 'Segoe UI',
- helvetica, arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
- 'Segoe UI Symbol';
- /*
- * Use these font colors against the corresponding main layout colors.
- * In a light theme, these go from dark to light.
- */
- /* Defaults use Material Design specification */
- --jp-ui-font-color0: rgba(0, 0, 0, 1);
- --jp-ui-font-color1: rgba(0, 0, 0, 0.87);
- --jp-ui-font-color2: rgba(0, 0, 0, 0.54);
- --jp-ui-font-color3: rgba(0, 0, 0, 0.38);
- /*
- * Use these against the brand/accent/warn/error colors.
- * These will typically go from light to darker, in both a dark and light theme.
- */
- --jp-ui-inverse-font-color0: rgba(255, 255, 255, 1);
- --jp-ui-inverse-font-color1: rgba(255, 255, 255, 1);
- --jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7);
- --jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5);
- /* Content Fonts
- *
- * Content font variables are used for typography of user generated content.
- *
- * The font sizing here is done assuming that the body font size of --jp-content-font-size1
- * is applied to a parent element. When children elements, such as headings, are sized
- * in em all things will be computed relative to that body size.
- */
- --jp-content-line-height: 1.6;
- --jp-content-font-scale-factor: 1.2;
- --jp-content-font-size0: 0.83333em;
- --jp-content-font-size1: 14px; /* Base font size */
- --jp-content-font-size2: 1.2em;
- --jp-content-font-size3: 1.44em;
- --jp-content-font-size4: 1.728em;
- --jp-content-font-size5: 2.0736em;
- /* This gives a magnification of about 125% in presentation mode over normal. */
- --jp-content-presentation-font-size1: 17px;
- --jp-content-heading-line-height: 1;
- --jp-content-heading-margin-top: 1.2em;
- --jp-content-heading-margin-bottom: 0.8em;
- --jp-content-heading-font-weight: 500;
- /* Defaults use Material Design specification */
- --jp-content-font-color0: rgba(0, 0, 0, 1);
- --jp-content-font-color1: rgba(0, 0, 0, 0.87);
- --jp-content-font-color2: rgba(0, 0, 0, 0.54);
- --jp-content-font-color3: rgba(0, 0, 0, 0.38);
- --jp-content-link-color: var(--md-blue-900, #0d47a1);
- --jp-content-link-visited-color: var(--md-purple-700, #7b1fa2);
- --jp-content-font-family: system-ui, -apple-system, blinkmacsystemfont,
- 'Segoe UI', helvetica, arial, sans-serif, 'Apple Color Emoji',
- 'Segoe UI Emoji', 'Segoe UI Symbol';
- /*
- * Code Fonts
- *
- * Code font variables are used for typography of code and other monospaces content.
- */
- --jp-code-font-size: 13px;
- --jp-code-line-height: 1.3077; /* 17px for 13px base */
- --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */
- --jp-code-font-family-default: menlo, consolas, 'DejaVu Sans Mono', monospace;
- --jp-code-font-family: var(--jp-code-font-family-default);
- /* This gives a magnification of about 125% in presentation mode over normal. */
- --jp-code-presentation-font-size: 16px;
- /* may need to tweak cursor width if you change font size */
- --jp-code-cursor-width0: 1.4px;
- --jp-code-cursor-width1: 2px;
- --jp-code-cursor-width2: 4px;
- /* Layout
- *
- * The following are the main layout colors use in JupyterLab. In a light
- * theme these would go from light to dark.
- */
- --jp-layout-color0: white;
- --jp-layout-color1: white;
- --jp-layout-color2: var(--md-grey-200, #eee);
- --jp-layout-color3: var(--md-grey-400, #bdbdbd);
- --jp-layout-color4: var(--md-grey-600, #757575);
- /* Inverse Layout
- *
- * The following are the inverse layout colors use in JupyterLab. In a light
- * theme these would go from dark to light.
- */
- --jp-inverse-layout-color0: #111;
- --jp-inverse-layout-color1: var(--md-grey-900, #212121);
- --jp-inverse-layout-color2: var(--md-grey-800, #424242);
- --jp-inverse-layout-color3: var(--md-grey-700, #616161);
- --jp-inverse-layout-color4: var(--md-grey-600, #757575);
- /* Brand/accent */
- --jp-brand-color0: var(--md-blue-900, #0d47a1);
- --jp-brand-color1: var(--md-blue-700, #1976d2);
- --jp-brand-color2: var(--md-blue-300, #64b5f6);
- --jp-brand-color3: var(--md-blue-100, #bbdefb);
- --jp-brand-color4: var(--md-blue-50, #e3f2fd);
- --jp-accent-color0: var(--md-green-900, #1b5e20);
- --jp-accent-color1: var(--md-green-700, #388e3c);
- --jp-accent-color2: var(--md-green-300, #81c784);
- --jp-accent-color3: var(--md-green-100, #c8e6c9);
- /* State colors (warn, error, success, info) */
- --jp-warn-color0: var(--md-orange-900, #e65100);
- --jp-warn-color1: var(--md-orange-700, #f57c00);
- --jp-warn-color2: var(--md-orange-300, #ffb74d);
- --jp-warn-color3: var(--md-orange-100, #ffe0b2);
- --jp-error-color0: var(--md-red-900, #b71c1c);
- --jp-error-color1: var(--md-red-700, #d32f2f);
- --jp-error-color2: var(--md-red-300, #e57373);
- --jp-error-color3: var(--md-red-100, #ffcdd2);
- --jp-success-color0: var(--md-green-900, #1b5e20);
- --jp-success-color1: var(--md-green-700, #388e3c);
- --jp-success-color2: var(--md-green-300, #81c784);
- --jp-success-color3: var(--md-green-100, #c8e6c9);
- --jp-info-color0: var(--md-cyan-900, #006064);
- --jp-info-color1: var(--md-cyan-700, #0097a7);
- --jp-info-color2: var(--md-cyan-300, #4dd0e1);
- --jp-info-color3: var(--md-cyan-100, #b2ebf2);
- /* Cell specific styles */
- --jp-cell-padding: 5px;
- --jp-cell-collapser-width: 8px;
- --jp-cell-collapser-min-height: 20px;
- --jp-cell-collapser-not-active-hover-opacity: 0.6;
- --jp-cell-editor-background: var(--md-grey-100, #f5f5f5);
- --jp-cell-editor-border-color: var(--md-grey-300, #e0e0e0);
- --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300, #64b5f6);
- --jp-cell-editor-active-background: var(--jp-layout-color0);
- --jp-cell-editor-active-border-color: var(--jp-brand-color1);
- --jp-cell-prompt-width: 64px;
- --jp-cell-prompt-font-family: var(--jp-code-font-family-default);
- --jp-cell-prompt-letter-spacing: 0;
- --jp-cell-prompt-opacity: 1;
- --jp-cell-prompt-not-active-opacity: 0.5;
- --jp-cell-prompt-not-active-font-color: var(--md-grey-700, #616161);
- /* A custom blend of MD grey and blue 600
- * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */
- --jp-cell-inprompt-font-color: #307fc1;
- /* A custom blend of MD grey and orange 600
- * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */
- --jp-cell-outprompt-font-color: #bf5b3d;
- /* Notebook specific styles */
- --jp-notebook-padding: 10px;
- --jp-notebook-select-background: var(--jp-layout-color1);
- --jp-notebook-multiselected-color: var(--md-blue-50, #e3f2fd);
- /* The scroll padding is calculated to fill enough space at the bottom of the
- notebook to show one single-line cell (with appropriate padding) at the top
- when the notebook is scrolled all the way to the bottom. We also subtract one
- pixel so that no scrollbar appears if we have just one single-line cell in the
- notebook. This padding is to enable a 'scroll past end' feature in a notebook.
- */
- --jp-notebook-scroll-padding: calc(
- 100% - var(--jp-code-font-size) * var(--jp-code-line-height) -
- var(--jp-code-padding) - var(--jp-cell-padding) - 1px
- );
- /* The scroll padding is calculated to provide enough space at the bottom of
- a text editor to allow the last line of code to be positioned at the top
- of the viewport when the editor is scrolled all the way down. We also
- subtract one pixel to avoid showing a scrollbar when the file contains
- only a single line. This padding enables a 'scroll past end' feature in
- text editors. */
- --jp-editor-scroll-padding: calc(
- 100% - var(--jp-code-font-size) * var(--jp-code-line-height) -
- var(--jp-code-padding) - 1px
- );
- /* Rendermime styles */
- --jp-rendermime-error-background: #fdd;
- --jp-rendermime-table-row-background: var(--md-grey-100, #cfd8dc);
- --jp-rendermime-table-row-hover-background: var(--md-light-blue-50, #e1f5fe);
- /* Dialog specific styles */
- --jp-dialog-background: rgba(0, 0, 0, 0.25);
- /* Console specific styles */
- --jp-console-padding: 10px;
- /* Toolbar specific styles */
- --jp-toolbar-border-color: var(--jp-border-color1);
- --jp-toolbar-micro-height: 8px;
- --jp-toolbar-background: var(--jp-layout-color1);
- --jp-toolbar-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.24);
- --jp-toolbar-header-margin: 4px 4px 0 4px;
- --jp-toolbar-active-background: var(--md-grey-300, #90a4ae);
- /* Statusbar specific styles */
- --jp-statusbar-height: 24px;
- /* Input field styles */
- --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300, #64b5f6);
- --jp-input-active-background: var(--jp-layout-color1);
- --jp-input-hover-background: var(--jp-layout-color1);
- --jp-input-background: var(--md-grey-100, #f5f5f5);
- --jp-input-border-color: var(--jp-inverse-border-color);
- --jp-input-active-border-color: var(--jp-brand-color1);
- --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);
- /* General editor styles */
- --jp-editor-selected-background: #d9d9d9;
- --jp-editor-selected-focused-background: #d7d4f0;
- --jp-editor-cursor-color: var(--jp-ui-font-color0);
- /* Code mirror specific styles */
- --jp-mirror-editor-keyword-color: #008000;
- --jp-mirror-editor-atom-color: #88f;
- --jp-mirror-editor-number-color: #080;
- --jp-mirror-editor-def-color: #00f;
- --jp-mirror-editor-variable-color: var(--md-grey-900, #212121);
- --jp-mirror-editor-variable-2-color: rgb(0, 54, 109);
- --jp-mirror-editor-variable-3-color: #085;
- --jp-mirror-editor-punctuation-color: #05a;
- --jp-mirror-editor-property-color: #05a;
- --jp-mirror-editor-operator-color: #7800c2;
- --jp-mirror-editor-comment-color: #408080;
- --jp-mirror-editor-string-color: #ba2121;
- --jp-mirror-editor-string-2-color: #708;
- --jp-mirror-editor-meta-color: #a2f;
- --jp-mirror-editor-qualifier-color: #555;
- --jp-mirror-editor-builtin-color: #008000;
- --jp-mirror-editor-bracket-color: #997;
- --jp-mirror-editor-tag-color: #170;
- --jp-mirror-editor-attribute-color: #00c;
- --jp-mirror-editor-header-color: blue;
- --jp-mirror-editor-quote-color: #090;
- --jp-mirror-editor-link-color: #00c;
- --jp-mirror-editor-error-color: #f00;
- --jp-mirror-editor-hr-color: #999;
- /*
- RTC user specific colors.
- These colors are used for the cursor, username in the editor,
- and the icon of the user.
- */
- --jp-collaborator-color1: #ffad8e;
- --jp-collaborator-color2: #dac83d;
- --jp-collaborator-color3: #72dd76;
- --jp-collaborator-color4: #00e4d0;
- --jp-collaborator-color5: #45d4ff;
- --jp-collaborator-color6: #e2b1ff;
- --jp-collaborator-color7: #ff9de6;
- /* Vega extension styles */
- --jp-vega-background: white;
- /* Sidebar-related styles */
- --jp-sidebar-min-width: 250px;
- /* Search-related styles */
- --jp-search-toggle-off-opacity: 0.5;
- --jp-search-toggle-hover-opacity: 0.8;
- --jp-search-toggle-on-opacity: 1;
- --jp-search-selected-match-background-color: rgb(245, 200, 0);
- --jp-search-selected-match-color: black;
- --jp-search-unselected-match-background-color: var(
- --jp-inverse-layout-color0
- );
- --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0);
- /* Icon colors that work well with light or dark backgrounds */
- --jp-icon-contrast-color0: var(--md-purple-600, #8e24aa);
- --jp-icon-contrast-color1: var(--md-green-600, #43a047);
- --jp-icon-contrast-color2: var(--md-pink-600, #d81b60);
- --jp-icon-contrast-color3: var(--md-blue-600, #1e88e5);
- /* Button colors */
- --jp-accept-color-normal: var(--md-blue-700, #1976d2);
- --jp-accept-color-hover: var(--md-blue-800, #1565c0);
- --jp-accept-color-active: var(--md-blue-900, #0d47a1);
- --jp-warn-color-normal: var(--md-red-700, #d32f2f);
- --jp-warn-color-hover: var(--md-red-800, #c62828);
- --jp-warn-color-active: var(--md-red-900, #b71c1c);
- --jp-reject-color-normal: var(--md-grey-600, #757575);
- --jp-reject-color-hover: var(--md-grey-700, #616161);
- --jp-reject-color-active: var(--md-grey-800, #424242);
- /* File or activity icons and switch semantic variables */
- --jp-jupyter-icon-color: #f37626;
- --jp-notebook-icon-color: #f37626;
- --jp-json-icon-color: var(--md-orange-700, #f57c00);
- --jp-console-icon-background-color: var(--md-blue-700, #1976d2);
- --jp-console-icon-color: white;
- --jp-terminal-icon-background-color: var(--md-grey-800, #424242);
- --jp-terminal-icon-color: var(--md-grey-200, #eee);
- --jp-text-editor-icon-color: var(--md-grey-700, #616161);
- --jp-inspector-icon-color: var(--md-grey-700, #616161);
- --jp-switch-color: var(--md-grey-400, #bdbdbd);
- --jp-switch-true-position-color: var(--md-orange-900, #e65100);
- }
- /* Completer specific styles */
- .jp-Completer {
- --jp-completer-type-background0: transparent;
- --jp-completer-type-background1: #1f77b4;
- --jp-completer-type-background2: #ff7f0e;
- --jp-completer-type-background3: #2ca02c;
- --jp-completer-type-background4: #d62728;
- --jp-completer-type-background5: #9467bd;
- --jp-completer-type-background6: #8c564b;
- --jp-completer-type-background7: #e377c2;
- --jp-completer-type-background8: #7f7f7f;
- --jp-completer-type-background9: #bcbd22;
- --jp-completer-type-background10: #17becf;
- }
- /*-----------------------------------------------------------------------------
- | Copyright (c) Jupyter Development Team.
- | Distributed under the terms of the Modified BSD License.
- |----------------------------------------------------------------------------*/
- /* Set the default typography for monospace elements */
- .jp-ThemedContainer tt,
- .jp-ThemedContainer code,
- .jp-ThemedContainer kbd,
- .jp-ThemedContainer samp,
- .jp-ThemedContainer pre {
- font-family: var(--jp-code-font-family);
- font-size: var(--jp-code-font-size);
- line-height: var(--jp-code-line-height);
- }
|