@theia/core
Version:
Theia is a cloud & desktop IDE framework implemented in TypeScript.
344 lines (279 loc) • 10.5 kB
CSS
/********************************************************************************
* Copyright (C) 2017, 2018 TypeFox and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the Eclipse
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
* with the GNU Classpath Exception which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
********************************************************************************/
/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/
:root {
--theia-private-sidebar-tab-width: 48px;
--theia-private-sidebar-tab-height: 32px;
--theia-private-sidebar-tab-padding-top-and-bottom: 11px;
--theia-private-sidebar-tab-padding-left-and-right: 10px;
--theia-private-sidebar-scrollbar-rail-width: 7px;
--theia-private-sidebar-scrollbar-width: 5px;
--theia-private-sidebar-icon-size: 24px;
}
/*-----------------------------------------------------------------------------
| SideBars (left and right)
|----------------------------------------------------------------------------*/
.p-TabBar.theia-app-sides {
display: block;
color: var(--theia-activityBar-inactiveForeground);
background: var(--theia-activityBar-background);
font-size: var(--theia-ui-font-size1);
min-width: var(--theia-private-sidebar-tab-width);
max-width: var(--theia-private-sidebar-tab-width);
}
.p-TabBar-content {
gap: 4px 0px;
}
.p-TabBar.theia-app-sides .p-TabBar-content {
z-index: 1;
}
.p-TabBar.theia-app-sides .p-TabBar-tab {
position: relative;
background: var(--theia-activityBar-background);
flex-direction: column;
justify-content: center;
align-items: center;
min-height: var(--theia-private-sidebar-tab-height);
cursor: pointer;
}
.p-TabBar.theia-app-sides .p-TabBar-tab.p-mod-current,
.p-TabBar.theia-app-sides .p-TabBar-tab:hover {
color: var(--theia-activityBar-foreground);
background-color: var(--theia-activityBar-activeBackground);
min-height: var(--theia-private-sidebar-tab-height);
height: var(--theia-private-sidebar-tab-height);
border-top: none;
}
.p-TabBar.theia-app-left .p-TabBar-tab.p-mod-current {
border-top-color: transparent;
box-shadow: 2px 0 0 var(--theia-activityBar-activeBorder) inset;
}
.p-TabBar.theia-app-right .p-TabBar-tab.p-mod-current {
border-top-color: transparent;
box-shadow: -2px 0 0 var(--theia-activityBar-activeBorder) inset;
}
.p-TabBar.theia-app-sides .p-TabBar-tabLabel,
.p-TabBar.theia-app-sides .p-TabBar-tabCloseIcon {
display: none;
}
/* inactive common icons */
.p-TabBar.theia-app-sides .p-TabBar-tabIcon {
display: flex;
align-items: center;
justify-content: center;
font-size: var(--theia-private-sidebar-icon-size);
text-align: center;
color: inherit;
/* svg */
width: var(--theia-private-sidebar-tab-width);
height: var(--theia-private-sidebar-tab-width);
mask-repeat: no-repeat;
-webkit-mask-repeat: no-repeat;
mask-size: var(--theia-private-sidebar-icon-size);
-webkit-mask-size: var(--theia-private-sidebar-icon-size);
mask-position: 50% 50%;
-webkit-mask-position: 50% 50%;
}
/* inactive legacy/plugin icons */
.p-TabBar.theia-app-sides .p-TabBar-tabIcon:not(.codicon) {
background: var(--theia-activityBar-inactiveForeground);
}
/* inactive file icons */
.p-TabBar.theia-app-sides .file-icon.p-TabBar-tabIcon {
background: inherit ;
}
/* inactive font-awesome icons */
.p-TabBar.theia-app-sides .fa.p-TabBar-tabIcon {
background: none ;
}
/* active icons */
.p-TabBar.theia-app-sides .p-TabBar-tabIcon:hover,
.p-TabBar.theia-app-sides .p-mod-current .p-TabBar-tabIcon {
color: var(--theia-activityBar-foreground);
}
/* active legacy/plugin icons */
.p-TabBar.theia-app-sides .p-TabBar-tabIcon:not(.codicon):hover,
.p-TabBar.theia-app-sides .p-mod-current .p-TabBar-tabIcon:not(.codicon) {
background-color: var(--theia-activityBar-foreground);
}
.p-TabBar.theia-app-left .p-TabBar-tabLabel {
transform-origin: top left 0;
transform: rotate(-90deg) translateX(-100%);
}
.p-TabBar.theia-app-right .p-TabBar-tabLabel {
transform-origin: top left 0;
transform: rotate(90deg) translateY(-50%);
}
#theia-left-content-panel.theia-mod-collapsed,
#theia-right-content-panel.theia-mod-collapsed {
max-width: var(--theia-private-sidebar-tab-width);
}
#theia-left-content-panel > .p-Panel {
border-right: var(--theia-panel-border-width) solid var(--theia-activityBar-border);
}
#theia-right-content-panel > .p-Panel {
border-left: var(--theia-panel-border-width) solid var(--theia-activityBar-border);
}
.theia-side-panel {
background-color: var(--theia-sideBar-background);
}
.p-Widget.theia-side-panel .p-Widget,
.p-Widget .theia-sidepanel-toolbar {
color: var(--theia-sideBar-foreground);
}
.theia-app-sidebar-container {
min-width: var(--theia-private-sidebar-tab-width);
max-width: var(--theia-private-sidebar-tab-width);
background: var(--theia-activityBar-background);
display: flex;
flex-direction: column;
}
.theia-app-sidebar-container .theia-app-sides {
flex-grow: 1;
}
.theia-app-sidebar-container .theia-sidebar-menu {
flex-shrink: 0;
}
.p-Widget.theia-sidebar-menu {
background-color: var(--theia-activityBar-background);
display: flex;
flex-direction: column-reverse;
}
.p-Widget.theia-sidebar-menu i {
padding: var(--theia-private-sidebar-tab-padding-top-and-bottom) var(--theia-private-sidebar-tab-padding-left-and-right);
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
color: var(--theia-activityBar-inactiveForeground);
background-color: var(--theia-activityBar-background);
font-size: var(--theia-private-sidebar-icon-size);
}
.theia-sidebar-menu i:hover {
color: var(--theia-activityBar-foreground);
}
.theia-sidebar-menu > i.codicon-menu {
font-size: 16px;
}
.p-SplitPanel-handle.sash-hidden {
visibility: hidden;
}
/*-----------------------------------------------------------------------------
| Perfect scrollbar
|----------------------------------------------------------------------------*/
.p-TabBar.theia-app-sides > .ps__rail-y {
width: var(--theia-private-sidebar-scrollbar-rail-width);
z-index: 1000;
}
#theia-app-shell .p-TabBar.theia-app-sides > .ps__rail-y >.ps__thumb-y {
width: var(--theia-private-sidebar-scrollbar-width);
right: calc((var(--theia-private-sidebar-scrollbar-rail-width) - var(--theia-private-sidebar-scrollbar-width)) / 2);
}
.p-TabBar.theia-app-sides > .ps__rail-y:hover,
.p-TabBar.theia-app-sides > .ps__rail-y:focus {
width: var(--theia-private-sidebar-scrollbar-rail-width);
}
.p-TabBar.theia-app-sides > .ps__rail-y:hover > .ps__thumb-y,
.p-TabBar.theia-app-sides > .ps__rail-y:focus > .ps__thumb-y {
width: var(--theia-private-sidebar-scrollbar-width);
right: calc((var(--theia-private-sidebar-scrollbar-rail-width) - var(--theia-private-sidebar-scrollbar-width)) / 2);
}
/*-----------------------------------------------------------------------------
| Bottom content panel
|----------------------------------------------------------------------------*/
#theia-bottom-content-panel {
background: var(--theia-panel-background);
}
#theia-bottom-content-panel .theia-input {
border-color: var(--theia-panelInput-border);
}
#theia-bottom-content-panel .p-DockPanel-handle[data-orientation='horizontal'] {
border-left: var(--theia-border-width) solid var(--theia-panel-border);
}
#theia-bottom-content-panel .p-TabBar {
border-top: var(--theia-border-width) solid var(--theia-panel-border);
background: inherit;
}
#theia-bottom-content-panel .p-TabBar-tab {
background: inherit;
}
#theia-bottom-content-panel .p-TabBar-tab:not(.p-mod-current) {
color: var(--theia-panelTitle-inactiveForeground);
}
#theia-bottom-content-panel .p-TabBar-tab.p-mod-current {
color: var(--theia-panelTitle-activeForeground);
box-shadow: 0 var(--theia-border-width) 0 var(--theia-panelTitle-activeBorder) inset;
}
#theia-bottom-content-panel .p-TabBar:not(.theia-tabBar-active) .p-TabBar-tab .theia-tab-icon-label {
color: var(--theia-tab-unfocusedInactiveForeground);
}
#theia-bottom-content-panel .p-TabBar:not(.theia-tabBar-active) .p-TabBar-tab.p-mod-current .theia-tab-icon-label {
color: var(--theia-tab-unfocusedActiveForeground);
}
/*-----------------------------------------------------------------------------
| Hidden tab bars used for rendering vertical side bars
|----------------------------------------------------------------------------*/
.theia-TabBar-hidden-content {
display: flex;
position: absolute;
visibility: hidden;
}
.p-TabBar.theia-app-sides > .theia-TabBar-hidden-content .p-TabBar-tab {
line-height: var(--theia-private-sidebar-tab-width);
}
.p-TabBar.theia-app-left > .theia-TabBar-hidden-content .p-TabBar-tabLabel {
transform: none;
}
.p-TabBar.theia-app-right > .theia-TabBar-hidden-content .p-TabBar-tabLabel {
transform: none;
}
/*-----------------------------------------------------------------------------
| Sidepanel Toolbar
|----------------------------------------------------------------------------*/
.theia-sidepanel-toolbar {
min-height: calc(var(--theia-private-horizontal-tab-height) + var(--theia-private-horizontal-tab-scrollbar-rail-height) / 2);
display: flex;
padding-left: 5px;
align-items: center;
background-color: var(--theia-sideBar-background);
}
.theia-sidepanel-toolbar .theia-sidepanel-title {
color: var(--theia-settings-headerForeground);
flex: 1;
margin-left: 14px;
text-transform: uppercase;
font-size: var(--theia-ui-font-size0);
}
.theia-sidepanel-toolbar .p-TabBar-toolbar .item {
color: var(--theia-icon-foreground);
}
.theia-sidepanel-toolbar .p-TabBar-toolbar .item > div{
height: 18px;
width: 18px;
background-repeat: no-repeat;
}
.noWrapInfo {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.noWrapInfoTree {
white-space: pre;
overflow: hidden;
text-overflow: ellipsis;
}