@jupyterlab/application
Version:
JupyterLab - Application
183 lines (156 loc) • 5.14 kB
CSS
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*
* Mozilla scrollbar styling
*/
/* use standard opaque scrollbars for most nodes */
[data-jp-theme-scrollbars='true'] {
scrollbar-color: rgb(var(--jp-scrollbar-thumb-color))
var(--jp-scrollbar-background-color);
}
/* for code nodes, use a transparent style of scrollbar. These selectors
* will match lower in the tree, and so will override the above */
[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar,
[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar {
scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
}
/* tiny scrollbar */
.jp-scrollbar-tiny {
scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
scrollbar-width: thin;
}
/* tiny scrollbar */
.jp-scrollbar-tiny::-webkit-scrollbar,
.jp-scrollbar-tiny::-webkit-scrollbar-corner {
background-color: transparent;
height: 4px;
width: 4px;
}
.jp-scrollbar-tiny::-webkit-scrollbar-thumb {
background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
}
.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal {
border-left: 0 solid transparent;
border-right: 0 solid transparent;
}
.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {
border-top: 0 solid transparent;
border-bottom: 0 solid transparent;
}
/*
* Lumino
*
* The Lumino scrollbar (used by every DataGrid — CSV viewer, Debugger
* Variables panel, …) is themed via the shared scrollbar variables.
* Fallbacks equal the previous hardcoded values, so themes that do not
* define `--jp-scrollbar-*` (the default light theme) are unchanged at
* rest. Hover/active blend towards `--jp-ui-font-color1` (dark in the
* light theme, light in the dark themes) with `color-mix` so the
* feedback stays visible in every theme. See issue #18797.
*/
.lm-ScrollBar[data-orientation='horizontal'] {
min-height: 16px;
max-height: 16px;
min-width: 45px;
border-top: 1px solid var(--jp-border-color1);
}
.lm-ScrollBar[data-orientation='vertical'] {
min-width: 16px;
max-width: 16px;
min-height: 45px;
border-left: 1px solid var(--jp-border-color1);
}
.lm-ScrollBar-button {
position: relative;
background-color: var(--jp-scrollbar-background-color, #f0f0f0);
min-height: 15px;
max-height: 15px;
min-width: 15px;
max-width: 15px;
}
/*
* The caret SVGs have a fixed fill, so render them as a theme-aware
* mask tinted with --jp-ui-font-color1 (light in the dark themes, dark
* in the light theme) rather than a fixed-colour background image, so
* the arrows keep enough contrast in every theme.
*/
.lm-ScrollBar-button::before {
content: '';
position: absolute;
inset: 0;
background-color: var(--jp-ui-font-color1);
-webkit-mask-position: center;
mask-position: center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-size: 17px;
mask-size: 17px;
}
.lm-ScrollBar-button:hover {
background-color: color-mix(
in srgb,
var(--jp-scrollbar-background-color, #f0f0f0) 86%,
var(--jp-ui-font-color1) 14%
);
}
.lm-ScrollBar-button.lm-mod-active {
background-color: color-mix(
in srgb,
var(--jp-scrollbar-background-color, #f0f0f0) 74%,
var(--jp-ui-font-color1) 26%
);
}
.lm-ScrollBar-track {
background: var(--jp-scrollbar-background-color, #f0f0f0);
}
.lm-ScrollBar-thumb {
background: rgb(var(--jp-scrollbar-thumb-color, 205, 205, 205));
}
.lm-ScrollBar-thumb:hover {
background: color-mix(
in srgb,
rgb(var(--jp-scrollbar-thumb-color, 205, 205, 205)) 78%,
var(--jp-ui-font-color1) 22%
);
}
.lm-ScrollBar-thumb.lm-mod-active {
background: color-mix(
in srgb,
rgb(var(--jp-scrollbar-thumb-color, 205, 205, 205)) 62%,
var(--jp-ui-font-color1) 38%
);
}
.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb {
height: 100%;
min-width: 15px;
border-left: 1px solid var(--jp-border-color1);
border-right: 1px solid var(--jp-border-color1);
}
.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb {
width: 100%;
min-height: 15px;
border-top: 1px solid var(--jp-border-color1);
border-bottom: 1px solid var(--jp-border-color1);
}
.lm-ScrollBar[data-orientation='horizontal']
.lm-ScrollBar-button[data-action='decrement']::before {
-webkit-mask-image: var(--jp-icon-caret-left);
mask-image: var(--jp-icon-caret-left);
}
.lm-ScrollBar[data-orientation='horizontal']
.lm-ScrollBar-button[data-action='increment']::before {
-webkit-mask-image: var(--jp-icon-caret-right);
mask-image: var(--jp-icon-caret-right);
}
.lm-ScrollBar[data-orientation='vertical']
.lm-ScrollBar-button[data-action='decrement']::before {
-webkit-mask-image: var(--jp-icon-caret-up);
mask-image: var(--jp-icon-caret-up);
}
.lm-ScrollBar[data-orientation='vertical']
.lm-ScrollBar-button[data-action='increment']::before {
-webkit-mask-image: var(--jp-icon-caret-down);
mask-image: var(--jp-icon-caret-down);
}