kui-shell
Version:
This is the monorepo for Kui, the hybrid command-line/GUI electron-based Kubernetes tool
257 lines (230 loc) • 6.4 kB
CSS
/* tabs */
.tab-container {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden; /* inner scrolling */
}
tab {
flex: 1;
display: none;
overflow: hidden; /* inner scrolling */
}
tab.visible {
display: flex;
}
tab.split-tab:not(:first-child).visible {
/* split screen separator */
border-top: 2px solid var(--color-base03);
}
body.not-electron .application-name {
display: flex;
}
body.not-electron > .page > .header {
flex-basis: 0;
padding: 0;
}
body.subwindow:not(.sidecar-is-minimized) .left-tab-stripe {
display: none;
}
.left-tab-stripe {
display: flex;
flex-basis: 36px;
height: 36px;
padding-left: 1ex;
min-width: 0;
background-color: var(--color-stripe-01);
transition-property: background-color;
}
.left-tab-stripe-buttons {
overflow: auto;
}
.left-tab-stripe-button:not([data-tab-button-index]):not([data-balloon]):after {
content: "";
}
.left-tab-stripe-buttons .left-tab-stripe-button:not(.left-tab-stripe-button-selected) {
background: transparent;
}
.left-tab-stripe-button i {
display: flex;
align-items: center;
justify-content: center;
font-size: 3em;
transition-property: filter, color, background-color;
}
/* these two rules give us the tab index label that appears inside of the tabs */
.left-tab-stripe-buttons .left-tab-stripe-button {
counter-increment: tab-index;
}
.left-tab-stripe-buttons .left-tab-stripe-button-closer {
position: absolute;
top: 50%;
right: 0.25em;
transform: translateY(-50%);
font-size: 1em;
transition-property: background-color;
padding: 1px;
display: flex;
}
.left-tab-stripe-buttons .left-tab-stripe-button-closer svg path {
fill: transparent;
transition-property: fill;
}
.left-tab-stripe-buttons .left-tab-stripe-button:hover .left-tab-stripe-button-closer {
cursor: pointer;
}
.left-tab-stripe-buttons .left-tab-stripe-button:hover .left-tab-stripe-button-closer svg path {
fill: var(--color-text-02);
}
.left-tab-stripe-buttons .left-tab-stripe-button:hover .left-tab-stripe-button-closer:hover svg path {
fill: var(--color-base01);
}
.left-tab-stripe-buttons .left-tab-stripe-button .left-tab-stripe-button-closer:hover {
background: var(--color-base05);
}
.left-tab-stripe-button:not([data-tab-button-index]):not(.left-tab-stripe-button-selected) > svg:hover {
cursor: pointer;
}
.left-tab-stripe-button:not([data-tab-button-index]):not(.left-tab-stripe-button-selected) > svg:hover path {
fill: var(--color-support-04) ;
}
.left-tab-stripe-button-selected .left-tab-stripe-button-label {
/* reduce the visibility of the tab label, for the visible tab */
opacity: 0.75;
}
.left-tab-stripe-button-label {
color: var(--color-text-01);
font-size: 0.75em;
text-align: center;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
padding: 0 1ex;
/* this is an attempt to get the text ellipsis to ellide at the front
rather than the end; we should be treat this as an experiment, and
back it out if it causes problems @starpit 20181204 */
direction: rtl;
}
.repl {
padding-top: 0;
}
body.not-electron .repl-input {
padding-left: 0.375rem;
}
body:not(.subwindow) .repl-prompt-right-elements {
padding-right: 0.375rem;
}
.left-tab-stripe-button svg circle,
.left-tab-stripe-button svg path {
fill: var(--color-text-02);
transition-property: fill;
}
#help-button.left-tab-stripe-button {
display: flex;
align-items: center;
justify-content: center;
}
.main {
flex-direction: column;
}
.left-tab-stripe-buttons {
display: flex;
}
.left-tab-stripe-button {
position: relative;
display: flex;
color: var(--color-text-01);
opacity: 1;
align-items: center;
justify-content: center;
background: var(--color-base02);
min-width: 10em;
margin: 0;
border: 1px solid transparent;
border-bottom: none;
border-top-left-radius: 3px 6px;
border-top-right-radius: 3px 6px;
transition-property: all;
}
.left-tab-stripe-button:not(.left-tab-stripe-button-selected) .left-tab-stripe-button-label {
/* make not-selected tabs a bit more visible */
color: var(--color-base02);
border-left: 1px solid transparent;
border-right: 1px solid transparent;
transition-property: color;
}
body[kui-theme-style="dark"]
.left-tab-stripe-button:not(.left-tab-stripe-button-selected)
.left-tab-stripe-button-label {
color: var(--color-text-02);
}
.left-tab-stripe-button:not(.left-tab-stripe-button-selected)
+ .left-tab-stripe-button:not(.left-tab-stripe-button-selected)
.left-tab-stripe-button-label {
border-left-color: var(--color-table-border1);
}
.left-tab-stripe-button:not(.left-tab-stripe-button-selected):last-child .left-tab-stripe-button-label {
border-right-color: var(--color-table-border1);
}
.kui-tab.left-tab-stripe-button-selected {
background: var(--color-ui-01);
border-color: var(--color-base03);
margin-top: 3px;
}
.left-tab-stripe-buttons .left-tab-stripe-button > i {
display: none;
}
.left-tab-stripe-button-label {
flex: 1;
padding: 0.125em 1.875em 0.125em 1em;
font-weight: 500;
direction: unset;
max-width: 25em;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
/* processing... */
.left-tab-stripe-button.processing .left-tab-stripe-button-label {
color: var(--color-base0C);
}
.left-tab-stripe-button:not(.left-tab-stripe-button-selected).processing .left-tab-stripe-button-label {
/* for background tabs... we need more contrast */
color: var(--color-base03);
}
.left-tab-stripe-button:not(.left-tab-stripe-button-selected).processing .left-tab-stripe-button-label:after {
content: " \2731";
}
.left-tab-stripe-bottom-buttons {
flex: 1;
display: flex;
}
.left-tab-stripe-bottom-buttons .left-tab-stripe-button {
margin: 0;
min-width: unset;
padding: 0;
padding: 0 0.375em;
background: none;
justify-content: center;
}
.left-tab-stripe-button-selected .left-tab-stripe-button-label {
opacity: 1;
}
.left-tab-stripe-button.smaller-button i {
font-size: 1.25em;
}
.left-tab-stripe-button.smaller-button i.fas {
font-size: 0.75em;
}
.kui-header {
border-bottom: 0.5px solid var(--color-content-divider);
box-shadow: 0 1px 10px 0 rgba(21, 41, 53, 0.1);
}
[kui-theme-style] .kui-header__title {
/* by default, don't show tool name in top tab */
display: none;
}
.kui-tab:hover:after,
.kui-tab--active:after {
display: none;
}