@jupyterlab/application
Version:
JupyterLab - Application
206 lines (175 loc) • 5.24 kB
CSS
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/
:root {
--jp-private-menubar-height: 28px;
--jp-private-menu-item-height: 24px;
}
/*-----------------------------------------------------------------------------
| MenuBar
|----------------------------------------------------------------------------*/
.lm-MenuBar {
background: var(--jp-layout-color1);
color: var(--jp-ui-font-color1);
font-size: var(--jp-ui-font-size1);
overflow: hidden;
}
.lm-MenuBar:hover {
overflow-x: auto;
}
.lm-MenuBar-menu.jp-ThemedContainer {
top: calc(-2 * var(--jp-border-width));
scrollbar-width: none;
-ms-overflow-style: none;
overflow: auto;
background:
linear-gradient(var(--jp-layout-color0) 30%, rgba(0, 0, 0, 0)) center top,
linear-gradient(rgba(0, 0, 0, 0), var(--jp-layout-color0) 70%) center bottom,
radial-gradient(
farthest-side at 50% 0,
color-mix(
in hsl,
var(--jp-layout-color0) 50%,
var(--jp-inverse-layout-color0) 30%
),
rgba(0, 0, 0, 0)
)
center top,
radial-gradient(
farthest-side at 50% 100%,
color-mix(
in hsl,
var(--jp-layout-color0) 50%,
var(--jp-inverse-layout-color0) 30%
),
rgba(0, 0, 0, 0)
)
center bottom;
background-color: var(--jp-layout-color0);
background-repeat: no-repeat;
background-size:
100% 40px,
100% 40px,
100% 14px,
100% 14px;
background-attachment: local, local, scroll, scroll;
}
.lm-MenuBar-menu.jp-ThemedContainer::-webkit-scrollbar {
display: none;
}
.lm-MenuBar-item {
padding: 0 8px;
border-left: var(--jp-border-width) solid transparent;
border-right: var(--jp-border-width) solid transparent;
border-top: var(--jp-border-width) solid transparent;
line-height: calc(
var(--jp-private-menubar-height) - var(--jp-border-width) * 2
);
}
.lm-MenuBar-content:focus-visible {
outline-offset: -3px; /* this value is a compromise between Firefox, Chrome,
and Safari over this outline's visibility and discretion */
}
.lm-MenuBar:focus-visible {
outline: 1px solid var(--jp-accept-color-active, var(--jp-brand-color1));
outline-offset: -1px;
}
.lm-MenuBar-menu:focus-visible,
.lm-MenuBar-item:focus-visible,
.lm-Menu-item:focus-visible {
outline: unset;
outline-offset: unset;
-moz-outline-radius: unset;
}
.lm-MenuBar-item.lm-mod-active {
background: var(--jp-layout-color2);
}
.lm-MenuBar.lm-mod-active .lm-MenuBar-item.lm-mod-active {
z-index: 10001;
background: var(--jp-layout-color0);
color: var(--jp-ui-font-color0);
border-left: var(--jp-border-width) solid var(--jp-border-color1);
border-right: var(--jp-border-width) solid var(--jp-border-color1);
box-shadow: var(--jp-elevation-z6);
}
/* stylelint-disable-next-line selector-max-class */
.jp-LabShell[data-shell-mode='single-document']
.lm-MenuBar.lm-mod-active
.lm-MenuBar-item.lm-mod-active {
border-top: var(--jp-border-width) solid var(--jp-border-color1);
}
.lm-MenuBar-item.lm-mod-disabled {
color: var(--jp-ui-font-color3);
}
.lm-MenuBar-item.lm-type-separator {
margin: 2px;
padding: 0;
border: none;
border-left: var(--jp-border-width) solid var(--jp-border-color2);
}
.lm-MenuBar-itemMnemonic {
text-decoration: underline;
}
/*-----------------------------------------------------------------------------
| Menu
|----------------------------------------------------------------------------*/
.lm-Menu {
z-index: 10000;
padding: 4px 0;
background: var(--jp-layout-color0);
color: var(--jp-ui-font-color0);
border: var(--jp-border-width) solid var(--jp-border-color1);
font-size: var(--jp-ui-font-size1);
box-shadow: var(--jp-elevation-z6);
}
.lm-Menu-item {
min-height: var(--jp-private-menu-item-height);
max-height: var(--jp-private-menu-item-height);
padding: 0;
line-height: var(--jp-private-menu-item-height);
}
.lm-Menu-item.lm-mod-active {
background: var(--jp-layout-color2);
}
.lm-Menu-item.lm-mod-disabled {
color: var(--jp-ui-font-color3);
}
.lm-Menu-itemIcon {
width: 21px;
padding: 0 2px 0 4px;
margin-top: -2px;
}
.lm-Menu-itemLabel {
padding: 0 32px 0 2px;
}
.lm-Menu-itemMnemonic {
text-decoration: underline;
}
.lm-Menu-itemShortcut {
padding: 0;
}
.lm-Menu-itemSubmenuIcon {
width: 18px;
padding: 0 4px 0 0;
}
.lm-Menu-item[data-type='separator'] > div {
padding: 0;
height: 9px;
}
.lm-Menu-item[data-type='separator'] > div::after {
content: '';
display: block;
position: relative;
top: 4px;
border-top: var(--jp-border-width) solid var(--jp-layout-color2);
mix-blend-mode: multiply;
}
/* gray out icon/caret for disabled menu items */
.lm-Menu-item.lm-mod-disabled > .lm-Menu-itemIcon,
.lm-Menu-item[data-type='submenu'].lm-mod-disabled > .lm-Menu-itemSubmenuIcon {
opacity: 0.4;
}