You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
monkeyking/packages/notebook-extension/style/base.css

257 lines
6.2 KiB

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
@import './variables.css';
/**
Document oriented look for the notebook.
This includes changes to the look and feel of the JupyterLab Notebook
component like:
- scrollbar to the right of the page
- drop shadow on the notebook
- smaller empty space at the bottom of the notebook
- compact view on mobile
*/
/* Keep the notebook centered on the page */
body[data-notebook='notebooks'] .jp-NotebookPanel-toolbar {
padding-left: calc(calc(100% - var(--jp-notebook-max-width)) * 0.5);
padding-right: calc(calc(100% - var(--jp-notebook-max-width)) * 0.5);
}
body[data-notebook='notebooks'] .jp-Notebook {
padding-top: unset;
padding-left: calc(calc(100% - var(--jp-notebook-max-width)) * 0.5);
padding-right: calc(
calc(
100% - var(--jp-notebook-max-width) - var(--jp-notebook-padding-offset)
) * 0.5
);
background: var(--jp-layout-color2);
}
body[data-notebook='notebooks'] .jp-WindowedPanel-inner {
margin-top: var(--jp-notebook-toolbar-margin-bottom);
}
body[data-notebook='notebooks'] .jp-Notebook-cell {
background: var(--jp-layout-color0);
padding-left: calc(2 * var(--jp-cell-padding));
padding-right: calc(2 * var(--jp-cell-padding));
}
/* Empty space at the bottom of the notebook (similar to classic) */
body[data-notebook='notebooks'] .jp-Notebook.jp-mod-scrollPastEnd::after {
min-height: 100px;
}
/* Fix background colors */
body[data-notebook='notebooks'] .jp-Notebook > * {
background: var(--jp-layout-color0);
}
body[data-notebook='notebooks']
.jp-Notebook.jp-mod-commandMode
.jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) {
background: var(--jp-layout-color0) !important;
}
/**
Extra padding to the first and and last cell of the notebook.
TODO: revisit when https://github.com/jupyterlab/jupyterlab/issues/13151 is fixed
*/
.jp-Notebook-cell[data-windowed-list-index='0'] {
padding-top: calc(2 * var(--jp-notebook-padding));
}
body[data-notebook='notebooks'] .jp-WindowedPanel-window > *:last-child {
padding-bottom: calc(2 * var(--jp-notebook-padding));
}
body[data-notebook='notebooks']
.jp-Notebook
.jp-Notebook-cell:not(:first-child)::before {
content: ' ';
height: 100%;
position: absolute;
top: 0;
width: 11px;
}
/* Cell toolbar adjustements */
body[data-notebook='notebooks'] .jp-cell-toolbar {
background: unset;
box-shadow: unset;
}
body[data-notebook='notebooks']
.jp-RawCell[data-windowed-list-index='0']
.jp-cell-toolbar,
body[data-notebook='notebooks']
.jp-MarkdownCell[data-windowed-list-index='0']
.jp-cell-toolbar {
top: calc(2 * var(--jp-notebook-padding));
}
/** first code cell on mobile
(keep the selector above the media query)
*/
body[data-notebook='notebooks']
.jp-CodeCell[data-windowed-list-index='0']
.jp-cell-toolbar {
top: unset;
}
@media only screen and (max-width: 760px) {
/* first code cell on mobile */
body[data-notebook='notebooks']
.jp-CodeCell[data-windowed-list-index='0']
.jp-cell-toolbar {
top: var(--jp-notebook-padding);
}
body[data-notebook='notebooks'] .jp-MarkdownCell .jp-cell-toolbar,
body[data-notebook='notebooks'] .jp-RawCell .jp-cell-toolbar {
top: calc(0.5 * var(--jp-notebook-padding));
}
}
/* Mobile View */
body[data-format='mobile'] .jp-NotebookCheckpoint {
display: none;
}
body[data-format='mobile'] .jp-Notebook > *:first-child {
margin-top: 0;
}
/* Virtual Notebook fixes */
body[data-notebook='notebooks'] .jp-WindowedPanel-window {
background: var(--jp-layout-color0);
}
/* Notebook box shadow */
body[data-notebook='notebooks'] .jp-Notebook > *:first-child:not(:last-child) {
box-shadow: 0px 0px 12px 1px var(--jp-shadow-umbra-color);
}
body[data-notebook='notebooks'] .jp-Notebook > *:first-child:not(:last-child) {
box-shadow: 0px 0px 12px 1px var(--jp-shadow-umbra-color);
}
body[data-notebook='notebooks']
.jp-Notebook
> *:first-child:last-child::before {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
box-shadow: 0px 0px 12px 1px var(--jp-shadow-umbra-color);
}
body[data-notebook='notebooks']
.jp-Notebook
.jp-Notebook-cell:not(:first-child)::after,
body[data-notebook='notebooks']
.jp-Notebook
.jp-Notebook-cell:not(:first-child)::before {
content: ' ';
height: 100%;
position: absolute;
top: 0;
width: 11px;
}
/* Additional customizations of the components on the notebook page */
.jp-NotebookKernelLogo {
flex: 0 0 auto;
display: flex;
align-items: center;
text-align: center;
margin-right: 8px;
}
.jp-NotebookKernelLogo img {
max-width: 28px;
max-height: 28px;
display: flex;
}
.jp-NotebookKernelStatus {
margin: 0;
font-weight: normal;
font-size: var(--jp-ui-font-size1);
color: var(--jp-ui-font-color0);
font-family: var(--jp-ui-font-family);
line-height: var(--jp-private-title-panel-height);
padding-left: var(--jp-kernel-status-padding);
padding-right: var(--jp-kernel-status-padding);
}
.jp-NotebookKernelStatus-error {
background-color: var(--jp-error-color0);
}
.jp-NotebookKernelStatus-warn {
background-color: var(--jp-warn-color0);
}
.jp-NotebookKernelStatus-info {
background-color: var(--jp-info-color0);
}
.jp-NotebookKernelStatus-fade {
animation: 0.5s fade-out forwards;
}
@keyframes fade-out {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
#jp-title h1 {
cursor: pointer;
font-size: 18px;
margin: 0;
font-weight: normal;
color: var(--jp-ui-font-color0);
font-family: var(--jp-ui-font-family);
line-height: calc(1.5 * var(--jp-private-title-panel-height));
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
#jp-title h1:hover {
background: var(--jp-layout-color2);
}
.jp-NotebookCheckpoint {
font-size: 14px;
margin-left: 5px;
margin-right: 5px;
font-weight: normal;
color: var(--jp-ui-font-color0);
font-family: var(--jp-ui-font-family);
line-height: calc(1.5 * var(--jp-private-title-panel-height));
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}