kui-shell
Version:
This is the monorepo for Kui, the hybrid command-line/GUI electron-based Kubernetes tool
1,994 lines (1,965 loc) • 89 kB
CSS
* {
box-sizing: border-box;
}
::selection {
background-color: var(--color-selection-background);
color: var(--color-selection-foreground);
}
html,
body,
.page,
.main,
.repl,
sidecar {
height: 100%;
max-height: 100%;
overflow-x: hidden;
}
body {
font-size: 1em;
font-weight: 400;
margin: 0;
overflow: hidden;
}
.page {
display: flex;
flex-direction: column;
user-select: text;
}
body a.plain-anchor {
color: inherit;
text-decoration: none;
transition: none;
}
body a {
transition-property: color;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
body a:hover:not(.plain-anchor) {
cursor: pointer;
}
/* HEADER */
body.still-loading .left-tab-stripe {
display: none;
}
body .page > .header {
/* only allow mouse dragging on top-most header */
-webkit-app-region: drag;
}
.header {
flex-basis: 0;
display: flex;
align-items: center;
padding: 0 1.1875em;
font-weight: 300;
font-size: 1rem;
}
.header .deemphasize {
font-size: 55%;
letter-spacing: 1px;
display: none;
}
.header-left-bits,
.header-right-bits {
display: flex;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.header-left-bits {
flex: 1;
}
sidecar .header-top-bits {
display: flex;
padding-left: 1em;
margin: 0.75em 0 0;
}
.header .clickable,
.header .clickable:hover {
text-decoration: none;
transition: none;
}
.header .clickable {
/* this just gives a little room for hovers, so that users don't have
to mouse precisely over the hover text */
padding: 0.75ex 0;
}
.application-icon {
/* hide the application by default; custom clients can override this */
display: none;
}
.header .application-name {
font-size: 1.125rem;
font-weight: 400;
}
.header .application-name .bx--logo__text--bold {
font-weight: 600;
}
.header .application-name .bx--global-header__title--current-page {
font-weight: 400;
}
header .header-nav-list {
display: flex;
align-items: center;
list-style: none;
margin: 0;
padding: 0;
}
.header .header-nav-list li {
font-weight: 400;
font-size: 0.75rem;
text-transform: uppercase;
margin: 0 1em;
-webkit-app-region: no-drag;
}
.header-nav-list li input {
border: none;
font-family: inherit;
font-size: inherit;
text-transform: inherit;
font-weight: inherit;
padding: 0;
}
/* MAIN */
.main {
display: flex;
flex: 1;
}
/* REPL */
#invisible-global-input {
/* element that handles text input while a command is being executed */
position: absolute;
left: -1000px;
top: -1000px;
}
body.still-loading .repl {
opacity: 0;
}
.repl {
opacity: 1;
display: flex;
flex-direction: column;
margin: 0;
padding-top: 1rem;
flex: 4;
background-color: var(--color-ui-01);
}
.repl-inner {
overflow-y: auto;
flex: 1;
}
.repl.sidecar-visible .repl-block {
background: transparent;
}
.repl-block {
padding: 0.5em 0 0;
display: flex;
flex-direction: column;
}
body:not(.subwindow) repl.sidecar-visible .repl-block,
.sidecar-full-screen repl .repl-block {
border-color: transparent;
box-shadow: none;
}
.repl,
.repl-input input {
font-family: var(--font-monospace);
}
.scrollable[data-table-max-rows="4"],
.scrollable-auto[data-table-max-rows="4"] {
max-height: calc(4 * 3em + 2px);
}
.scrollable[data-table-max-rows="5"],
.scrollable-auto[data-table-max-rows="5"] {
max-height: calc(5 * 3em + 2px);
}
.scrollable[data-table-max-rows="6"],
.scrollable-auto[data-table-max-rows="6"] {
max-height: calc(6 * 3em + 2px);
}
.scrollable[data-table-max-rows="7"],
.scrollable-auto[data-table-max-rows="7"] {
max-height: calc(7 * 3em + 2px);
}
.scrollable[data-table-max-rows="8"],
.scrollable-auto[data-table-max-rows="8"] {
max-height: calc(8 * 3em + 2px);
}
.scrollable[data-table-max-rows="9"],
.scrollable-auto[data-table-max-rows="9"] {
max-height: calc(9 * 3em + 2px);
}
.scrollable[data-table-max-rows="10"],
.scrollable-auto[data-table-max-rows="10"] {
max-height: calc(10 * 3em + 2px);
}
.kui--repl-subblock:not(:first-child) {
padding-top: 1em;
}
.kui--repl-subblock:not(:last-child) {
padding-bottom: 1em;
}
.kui--repl-subblock > .repl-result {
/* don't double-do the font-size for nested repl-result */
font-size: inherit;
padding: 0 !important;
}
.repl-result {
display: flex;
flex-wrap: wrap;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.repl-result[data-stream] {
/* streaming output of stdout; make sure stderr occurs below */
flex-direction: column;
}
.repl-result > p:not(:first-child) {
padding-top: 1em;
}
.repl.sidecar-visible p {
white-space: normal;
}
.repl-prompt {
font: var(--font-monospace);
line-height: 1em;
margin-right: 0.5em;
white-space: nowrap;
overflow: hidden;
display: flex;
border-left: 0.125em solid var(--color-ui-02);
--color-prompt-text: var(--color-brand-01);
--color-prompt-background: transparent;
}
.repl-block:not(.using-custom-prompt) .repl-prompt {
font-family: var(--font-sans-serif);
}
.repl-prompt .repl-selection {
font-size: 80%;
opacity: 0.6;
}
.repl-prompt .repl-selection.has-selection-true {
margin-left: 1ex;
}
.repl-prompt-righty {
display: flex;
}
.repl-context {
font-size: 0.875em;
color: var(--color-prompt-text);
background-color: var(--color-prompt-background);
display: flex;
align-items: center;
letter-spacing: 0.32px;
filter: opacity(87.5%) grayscale(50%);
}
.repl-block.using-custom-prompt .repl-prompt-righty > svg,
.repl-block.using-custom-prompt .repl-prompt-righty > i,
.repl-block.using-custom-prompt .repl-context {
display: none;
}
.repl-block.using-custom-prompt .repl-input input {
opacity: 0;
width: 0;
}
.repl-prompt-righty {
color: var(--color-brand-01);
}
.repl-prompt-righty svg path {
fill: var(--color-brand-01);
}
.repl-prompt-righty .repl-temporary {
display: flex;
align-items: center;
}
/* repl right-hand decorations */
.repl-prompt-right-elements {
display: flex;
align-items: center;
flex: 0;
white-space: nowrap;
margin-left: 1em;
}
body.subwindow .repl-prompt-right-elements {
margin: 0;
flex: 1;
justify-content: center;
}
.kui--repl-prompt-buttons {
margin-right: 1em;
}
body.subwindow .kui--repl-prompt-buttons {
display: none;
}
.kui--repl-prompt-buttons .graphical-icon {
opacity: 0.0375;
}
.repl-block .repl-input:hover .kui--repl-prompt-buttons .graphical-icon {
opacity: 0.25;
}
.repl-block .repl-input .kui--repl-prompt-buttons .graphical-icon:hover {
opacity: 1;
cursor: pointer;
}
.repl-input .kui--repl-prompt-buttons .graphical-icon:hover svg path {
fill: var(--color-text-01);
}
.repl .repl-prompt-right-element-status-icon.deemphasize {
font-size: 0.875em; /* see the comment for repl-input re: min-height; that should match this */
opacity: 1;
transition-property: all;
}
body:not(.subwindow) .repl .repl-prompt-right-element-status-icon.deemphasize {
margin-left: 0.5em;
}
.repl-prompt-right-element-status-icon.deemphasize .bx--loading {
width: unset;
height: unset;
}
.repl-prompt-right-element-status-icon.deemphasize .bx--loading__svg circle {
/* scaling from 16 to 20 circle; default 240, and 300 = 240*20/16; also see index.html for 46.875=37.5*20/16 */
stroke-dasharray: 300;
}
.repl-block:hover .repl-prompt-right-element-status-icon.deemphasize svg {
filter: opacity(0.75) grayscale(0.125);
}
.repl-prompt-right-element-status-icon.deemphasize svg {
display: none;
filter: opacity(0.75) grayscale(0.5);
}
.repl-block:hover .repl-prompt-right-element-status-icon.deemphasize svg.kui--icon-error {
filter: grayscale(0.25);
}
.repl-prompt-right-element-status-icon.deemphasize svg.kui--icon-error {
filter: grayscale(0.5);
}
.repl-block.processing .repl-prompt-right-element-status-icon.deemphasize {
opacity: 1;
}
.repl-block.processing .repl-prompt-right-element-status-icon .kui--icon-processing svg {
filter: none;
}
.repl-block:not(.processing) .kui--icon-processing {
display: none;
}
.repl-block.processing .repl-prompt-right-element-status-icon.deemphasize .kui--icon-processing svg,
.repl-block.valid-response .repl-prompt-right-element-status-icon.deemphasize svg.kui--icon-ok,
.repl-block.error .repl-prompt-right-element-status-icon.deemphasize svg.kui--icon-error {
display: block;
}
.repl-block.processing .repl-prompt-right-element-status-icon .kui--icon-processing svg circle {
stroke: var(--color-brand-03);
}
svg.kui--error-icon path[data-icon-path="inner-path"],
.repl-block .repl-prompt-right-element-status-icon svg path[data-icon-path="inner-path"] {
opacity: 1;
stroke: var(--color-ui-01);
fill: var(--color-ui-01);
}
.repl-block.valid-response
.repl-prompt-right-element-status-icon
svg.kui--icon-ok
path:not([data-icon-path="inner-path"]) {
fill: var(--color-ok);
stroke: var(--color-ok);
stroke-opacity: 0.5;
}
svg.kui--error-icon path:not([data-icon-path="inner-path"]),
.repl-block.error .repl-prompt-right-element-status-icon svg.kui--icon-error path:not([data-icon-path="inner-path"]) {
fill: var(--color-error);
stroke: var(--color-error);
stroke-opacity: 0.5;
}
.repl-prompt-right-elements .repl-prompt-right-element-status-icon:hover {
opacity: 1;
}
repl.sidecar-visible .repl-block:not(.processing) .repl-prompt-right-elements,
.repl-active .repl-prompt-right-elements {
display: none; /* see the comment for repl-input re: min-height */
}
body/*:not(.sidecar-full-screen)*/ repl.sidecar-visible .repl-prompt-lefty, body/*.sidecar-full-screen*/ repl .repl-prompt-lefty {
display: none;
}
body/*:not(.sidecar-full-screen)*/ repl.sidecar-visible .repl-selection, body/*.sidecar-full-screen*/ repl .repl-selection {
/* collapse the context and selection when the sidecar is visible */
width: 0;
min-width: 0;
opacity: 0 !important;
margin: 0 !important;
}
.repl-result,
.repl-result-like,
.repl-input input,
.repl-input-like {
font-size: 0.875em;
}
.repl-block:not(.processing) .repl-result-like:last-child {
margin-bottom: 0.375em;
}
.repl-input input,
.repl-input-like {
--color-caret: var(--color-support-01);
color: var(--color-text-01);
background: transparent;
border: none;
flex: 1;
caret-color: var(--color-caret);
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.kui--prompt-like:empty {
border-right: 1ex solid var(--color-caret);
}
.repl-input input:focus,
.repl-input-like:focus {
outline: none;
}
.repl-block.valid-response .ok,
.green-text,
.dragover .ok-text-on-dragover {
opacity: 1 !important;
}
.repl-block.valid-response .oops,
sidecar.rule-enabled-false .sidecar-header-icon,
.repl-block.error .oops,
.clickable.oops,
.oops .oops-text-on-oops,
.red-text {
opacity: 1 !important;
white-space: pre-wrap;
}
.header .clickable.oops {
font-weight: 900;
}
.repl-block.valid-response div:not(.repl-result) > .ok-line,
.repl-block.valid-response > .oops {
font-size: 0.875em;
}
.repl-block.valid-response .ok,
.repl-block.valid-response > .oops {
display: block;
}
.repl-block.valid-response .ok.inline-ok {
display: inline;
}
.repl-block.valid-response .repl-result .ok {
/* oof, sometimes the .ok is nested under a repl-result, which would
result in a double 0.875em reduction */
font-size: 1em;
}
.repl-block.valid-response .oops {
/* oops output often times doesn't word wrap nicely on its own, e.g. help/usage; issue #396 */
word-break: break-all;
}
.repl-input {
align-items: center;
min-height: 1.25em; /* so that when the sidecar is open (and the right-elements are display:none) we don't get a height adjustment */
}
.repl-input,
.repl-output {
display: flex;
}
.repl-output.result-vertical {
flex-direction: column;
}
.repl-block .whitespace {
white-space: pre-wrap;
}
.repl-block.processing .repl-output,
.repl-block.valid-response .repl-output {
display: flex;
align-items: flex-start;
}
.sidecar-visible tab:not(.sidecar-is-minimized) .repl-block.processing .repl-output,
.sidecar-visible tab:not(.sidecar-is-minimized) .repl-block.valid-response .repl-output {
align-items: stretch;
}
.repl-result-spinner {
font-size: 0.875em;
}
.repl-block.custom-caret .repl-result-spinner {
/* for commands with self-managed carets */
display: none;
}
.repl-block.processing .repl-result-spinner-inner {
/* animation: spin 750ms linear infinite; */
height: auto;
width: auto;
opacity: 1;
transition-delay: 100ms; /* only show the spinner block if the command takes a bit longer */
display: inline-block;
background-color: var(--color-processing);
margin-bottom: 0.25em;
}
.repl-block.processing .repl-result-spinner-inner:after {
content: "\00a0";
}
.repl-result pre {
margin: 2px 0; /* firefox needs some vertical padding, otherwise descenders like "y" crop; weird */
white-space: pre-wrap;
}
.repl-result code {
/* more invocation results */
/* here, we override the highlight.js theme, when rendering in the repl */
background: transparent;
color: var(--color-text-01);
}
.fifty-fifty:nth-last-child(2) {
max-width: calc(50% - 3em);
margin-right: 3em;
}
.fifty-fifty:last-child {
max-width: 50%;
}
.repl.sidecar-visible .repl-block .fifty-fifty,
tab:not(.sidecar-full-screen) sidecar .fifty-fifty {
max-width: unset;
margin-right: unset;
}
.entity-rule-status {
width: 7em;
}
.sidecar-visible .repl-result.one-column .package-prefix {
max-width: 35%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.repl-result .activationId {
font-weight: 500;
}
/* two special session activation list decorations */
.repl-block .repl-result .status {
padding-top: 0;
padding-left: 1em;
order: 5;
}
.repl-result .activation-duration {
width: 3em;
text-align: right;
}
/* grid cells in activation list view */
.repl-result .entity.activations {
margin: 0.25ex;
}
.repl-result .activation-viz-plugin {
/* activation grid in activation list vie */
flex: initial;
flex-direction: row;
align-items: center;
margin-right: 2em;
}
.repl-result .activation-viz-plugin .grid {
/* activation grid in activation list vie */
padding: 0 1ex 0 0;
}
.repl-result .activation-viz-plugin .grid .grid-cell {
/* activation grid in activation list vie */
border: 1px solid rgba(100, 100, 100, 0.35);
}
.repl-result .activation-result {
/* activation result in activation list view */
order: 3;
margin-left: 2em;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
background: transparent;
}
.repl-result .activation-start-time {
order: 4;
padding-left: 1em;
}
.timestamp-same-day {
/* keep the width, but make it hidden */
opacity: 0;
}
.sidecar-visible .repl-result.one-column .activation-result,
.sidecar-visible .repl-result.one-column .activation-start-time,
.sidecar-visible .entity-rule-definition {
/* hide activation result and start time in activation list view, when sidecar is open */
opacity: 0;
flex: 0 0 0%;
min-width: 0;
padding: 0;
margin: 0;
}
.repl .list-label {
font-size: 70%;
opacity: 0.6;
margin-right: 1ex;
}
.repl-result-prefix,
.sidecar-header badge:not(.badge-as-image) {
font-weight: 500;
font-size: 0.825em;
border-radius: 0.9375em;
margin: 0.1875em;
padding: 0 0.825em;
height: 1.925em;
line-height: 1.925em;
display: inline-flex;
justify-content: center;
align-items: center;
}
badge:only-child {
/* we only need margins around badges if there is more than one badge */
margin: 0;
}
i.clickable:hover,
badge.clickable:hover {
/* no underline effect for icons (i) and badges */
text-decoration: none;
}
.entity.activations.is-sequence-true .repl-result-prefix {
min-width: 5.5em;
}
.entity .repl-result-prefix {
height: auto;
font-size: 0.875em;
font-weight: 300;
background: transparent;
margin-top: 0;
margin-bottom: 0;
margin-left: 0;
margin-right: 2em;
min-width: 6em;
text-align: right;
border-radius: 0;
}
.entity .repl-result-prefix,
.entity .border-right {
border-right: 1px solid;
}
/* sidecar */
sidecar {
flex: 0 0 0%;
min-width: 0;
transition-property: background-color, color, border-color;
transition-duration: calc(var(--transition-duration) * 2); /* twice the normal duration */
display: flex;
flex-direction: column;
overflow-y: hidden;
background: var(--color-sidecar-background);
}
sidecar.visible {
flex: 6;
z-index: 1; /* float above the repl */
border-left: 1px solid var(--color-sidecar-border);
}
body:not(.subwindow) .sidecar-full-screen sidecar.visible:not(.minimized) {
border-left-color: var(--color-ui-04);
}
.sidecar-full-screen .repl.sidecar-visible {
flex: 0 0 0;
min-width: 0;
}
.sidecar-bottom-stripe {
flex-basis: 2.5em;
min-height: 2.5rem; /* important for screenshot, which tries to maximally squish the sidecar height */
display: flex;
z-index: 5;
background-color: var(--color-stripe-02);
border-bottom: 1px inset var(--color-ui-02);
order: -1;
}
/* sidecar .sidecar-bottom-stripe {
order: -1;
} */
sidecar .sidecar-bottom-stripe > div {
font-size: 0.875em;
}
sidecar .sidecar-bottom-stripe-left-bits,
sidecar .sidecar-bottom-stripe-left-bits .sidecar-bottom-stripe-button-container {
/* button container in sidecar bottom stripe */
flex: 1;
display: flex;
align-items: center;
overflow: hidden;
}
sidecar .sidecar-bottom-stripe-left-bits .sidecar-bottom-stripe-button-container.sidecar-bottom-stripe-back-bits {
/* back button container in sidecar bottom stripe */
flex: 0 0 0%;
min-width: 0;
}
sidecar
.sidecar-bottom-stripe-left-bits
.sidecar-bottom-stripe-button-container.sidecar-bottom-stripe-back-bits.has-back-button {
flex: initial;
margin-right: 0;
padding: 0 calc(1em - 0.375em); /* the button inside has 0.375em padding left-right */
}
sidecar .sidecar-bottom-stripe-close-icon {
letter-spacing: -1ex;
opacity: 0.6;
transition-property: all;
}
body.os-win32 sidecar .sidecar-bottom-stripe-close-icon {
/* dunno why windows is weird here */
letter-spacing: 0px;
}
sidecar .sidecar-bottom-stripe .sidecar-bottom-stripe-maximize {
display: flex;
/* so that the "hidden" maximize button (see opacity:0,width:0 just below)
doesn't occlude the close button */
/*overflow: hidden;*/
}
.maximize-button-label,
.unmaximize-button-label {
display: inline-block;
}
body:not(.subwindow) .sidecar-full-screen sidecar .sidecar-bottom-stripe-maximize .maximize-button-label,
body:not(.subwindow) tab:not(.sidecar-full-screen) sidecar .sidecar-bottom-stripe-maximize .unmaximize-button-label {
transition: opacity 0ms ease-in-out;
opacity: 0;
width: 0;
height: 0;
}
.sidecar-bottom-stripe-left-bits .sidecar-bottom-stripe-button-return-to::first-letter,
.sidecar-bottom-stripe-left-bits .sidecar-bottom-stripe-button[data-mode] {
/* for bottom mode-switching buttons, capitalize the text; for actual buttons, keep the capitalization as it was given */
text-transform: capitalize;
}
sidecar .sidecar-bottom-stripe .package-prefix {
/* kubectl namespace and openwhisk package name, etc. */
display: block;
font-weight: 400;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
sidecar .sidecar-bottom-stripe .package-prefix:first-letter {
/* first-letter avoids README.md -> README.Md */
text-transform: capitalize;
}
sidecar .sidecar-header .limits {
/* don't show limits in header for now */
display: none;
}
.sidecar-bottom-stripe .sidecar-bottom-stripe-button:not(.sidecar-bottom-stripe-button-active):hover,
sidecar .sidecar-bottom-stripe-button.hover {
cursor: pointer;
opacity: 1;
}
sidecar .sidecar-bottom-stripe-button:not(.sidecar-bottom-stripe-button-active).force-no-hover:hover,
sidecar .sidecar-bottom-stripe-button.force-no-hover.hover {
/* e.g. the screenshot plugin wants to disallow tooltips on the
"capture screenshot" button while capturing a screenshot! */
color: inherit !important;
transition: none !important;
}
.sidecar-bottom-stripe-close:hover .sidecar-bottom-stripe-close-icon,
.sidecar-bottom-stripe-close.hover .sidecar-bottom-stripe-close-icon,
.sidecar-bottom-stripe-button-container:hover .sidecar-bottom-stripe-close-icon {
/* on hover, squeeze the >> a bit closer together */
letter-spacing: -1.25ex;
}
body.os-win32 sidecar .sidecar-bottom-stripe-close:hover .sidecar-bottom-stripe-close-icon,
body.os-win32 sidecar .sidecar-bottom-stripe-close.hover .sidecar-bottom-stripe-close-icon,
body.os-win32 sidecar .sidecar-bottom-stripe-button-container:hover .sidecar-bottom-stripe-close-icon {
letter-spacing: -1px; /* windows is different here */
}
sidecar .sidecar-bottom-stripe-back-bits,
.sidecar-bottom-stripe .fill-container {
/* back button in sidecar bottom stripe */
border-right: 1px solid var(--color-table-border2);
padding-right: 0.475rem;
margin-right: 0.475rem;
}
sidecar .sidecar-bottom-stripe-back-bits > div {
display: flex;
align-items: center;
}
sidecar .sidecar-bottom-stripe-back-bits > div:hover {
opacity: 1;
}
sidecar .sidecar-bottom-stripe-button-container.sidecar-bottom-stripe-back-bits:not(.has-back-button) {
display: none;
}
body.subwindow sidecar .sidecar-bottom-stripe-button-container.sidecar-bottom-stripe-back-bits .graphical-icon {
font-size: 3vmin;
}
/* sidecar view-button "flush right" toolbar */
sidecar .sidecar-bottom-stripe-toolbar {
display: flex;
}
body.subwindow sidecar .sidecar-bottom-stripe-toolbar {
font-size: 1.5vw;
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text,
sidecar .sidecar-bottom-stripe-toolbar .sidecar-bottom-stripe-mode-bits {
background-color: var(--color-sidecar-toolbar-background);
color: var(--color-sidecar-toolbar-foreground);
height: 1.5em;
display: flex;
align-items: center;
flex: 1;
overflow: hidden;
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text svg path {
fill: var(--color-sidecar-toolbar-foreground);
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text[data-type="warning"] svg path {
fill: var(--color-warning);
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text[data-type="warning"] svg path[data-icon-path="inner-path"],
sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text[data-type="error"] svg path[data-icon-path="inner-path"] {
fill: var(--color-white);
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text[data-type="error"] svg path {
fill: var(--color-error);
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text:not([data-type]),
sidecar .sidecar-bottom-stripe-toolbar .sidecar-bottom-stripe-mode-bits.sidecar-bottom-stripe-button-container:empty {
display: none !important;
}
sidecar
.sidecar-bottom-stripe-toolbar
.sidecar-toolbar-text:not([data-type])
+ .sidecar-bottom-stripe-mode-bits.sidecar-bottom-stripe-button-container:not(:empty) {
flex: 1;
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text-icon,
sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text-content {
opacity: 0.875;
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text-icon {
margin-right: 0.375em;
margin-left: calc(43px - 2em); /* attempting to roughly match monaco's gutter spacing */
padding-left: 1em;
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text-icon > svg {
display: none;
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text[data-type="info"] svg.kui--info-icon,
sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text[data-type="warning"] svg.kui--warning-icon,
sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text[data-type="error"] svg.kui--error-icon {
display: block;
}
body.subwindow sidecar .sidecar-bottom-stripe svg {
width: 2.5vmin;
height: 2.5vmin;
}
body.subwindow sidecar .sidecar-bottom-stripe-toolbar svg {
width: 1.5vmin;
height: 1.5vmin;
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text .sidecar-toolbar-text-content {
font-size: 0.75em;
display: block;
letter-spacing: 0.32px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
body.subwindow sidecar .sidecar-bottom-stripe-toolbar .sidecar-toolbar-text .sidecar-toolbar-text-content {
font-size: 1.375vmin;
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-bottom-stripe-button {
display: flex;
line-height: 1.5em;
padding: 0 0.5em;
color: inherit;
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-bottom-stripe-button:hover {
cursor: pointer;
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-bottom-stripe-button [role="tab"] {
font-size: 0.875em;
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-bottom-stripe-button:hover [role="tab"] {
color: var(--color-base03);
}
sidecar .sidecar-bottom-stripe-toolbar .graphical-icon svg path {
fill: var(--color-sidecar-toolbar-foreground);
}
sidecar .sidecar-bottom-stripe-toolbar .sidecar-bottom-stripe-mode-bits.sidecar-bottom-stripe-button-container {
padding: 0 1em;
display: flex;
flex: initial;
}
/* custom content */
body.no-sidecar-header .sidecar-header,
sidecar.no-sidecar-header .sidecar-header,
sidecar.custom-content .sidecar-content,
sidecar:not(.custom-content) .custom-content,
sidecar.custom-content .sidecar-header-secondary-content .limits,
sidecar.custom-content .sidecar-header-secondary-content .action-content {
/* custom content rules */
display: none;
}
sidecar .sidecar-content-container {
overflow: hidden;
}
sidecar .sidecar-content-container,
sidecar .custom-content {
display: flex;
flex: 1;
min-height: 0; /* without this, in firefox wskflow pushes the bottom stripe off the bottom of the viewport */
}
sidecar .sidecar-header {
display: flex;
background-color: var(--color-sidecar-header);
border-bottom: 1px solid var(--color-content-divider);
flex-basis: 8rem;
min-height: 8rem; /* see shell issue #712 */
}
body.subwindow sidecar .sidecar-header {
flex-basis: 15vh;
min-height: 15vh;
}
sidecar .sidecar-header .header-main-content {
flex: 1;
display: flex;
flex-direction: column;
/* this is needed, as we rotate the "sidecar-header-icon", which confuses chrome in terms of width occupancy;
see sidecar .sidecar-header-icon-wrapper; the 4em parts must match! */
/* width: calc(100% - 4em); */
/* this is needed to work around firefox's odd behavior with nested
flex boxes versus text-overflow; see
https://github.com/IBM/kui/issues/1334 */
min-width: 0;
}
sidecar .header-right-bits {
white-space: nowrap;
margin: 0 1em;
}
.sidecar-header .kind {
font-variant: small-caps;
flex: 1;
margin-top: 1ex;
}
.sidecar-header .action-content .kind {
font-size: 0.875rem;
font-variant: normal;
font-weight: 300;
font-family: inherit;
margin: 0;
}
.header-right-bits .action-content,
.header-right-bits .custom-header-content {
display: flex;
flex-direction: column;
flex: 1;
align-items: flex-end;
justify-content: space-evenly;
}
.sidecar-header .badges:not(:empty) + .activation-duration {
margin-top: 0.1em;
font-size: 1.5em;
}
.sidecar-header .activation-duration,
.sidecar-header .kind {
font-weight: bold;
font-size: 2.5em;
}
sidecar .sidecar-header-text {
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: center;
}
sidecar .sidecar-header-icon {
display: flex;
justify-content: center;
align-items: center;
text-transform: uppercase;
}
sidecar .sidecar-header-icon-wrapper > span {
padding: 0 1em;
}
sidecar .sidecar-header-icon-wrapper + .sidecar-header-icon-wrapper > span:not(:empty) {
border-left: 1px solid var(--color-table-border2);
}
sidecar .sidecar-header-icon-wrapper {
display: flex;
align-items: center;
overflow: hidden;
}
sidecar .header-left-bits {
align-items: stretch;
overflow: hidden;
}
sidecar .sidecar-header-icon {
font-weight: 600;
letter-spacing: 1px;
pointer-events: none; /* with text rotation, this element bumps into neighbors, otherwise obfuscating mouse events */
}
sidecar .sidecar-header-name {
flex: 1;
font-weight: 400;
font-size: 2em;
display: flex;
align-items: center;
/* the bit of padding allows for space to initiate a drag-select of
the header name text */
padding-right: 1rem;
-webkit-app-region: no-drag !important;
}
body.subwindow sidecar .sidecar-header-name {
font-size: 4vh;
}
sidecar .sidecar-header .entity-name-line {
display: flex;
align-items: center;
}
sidecar.entity-has-badges .sidecar-header .header-right-bits .action-content {
display: flex;
}
sidecar .sidecar-header .badges {
margin-left: 1rem;
display: flex;
flex-wrap: wrap;
align-items: flex-end;
}
sidecar .sidecar-header .badges:first-child {
margin-left: 0;
}
sidecar .sidecar-header badge.clickable:hover {
filter: brightness(1.1);
}
sidecar .sidecar-header-name-content {
overflow-x: hidden;
}
sidecar .sidecar-header-name-content .entity-name {
overflow: hidden;
text-overflow: ellipsis;
white-space: normal;
word-break: break-all;
max-height: 2.35em;
/* these two rules help us to simulate left-ellision */
/* direction: rtl;
text-align: left; */
}
sidecar .sidecar-header-name-content > span {
display: block;
vertical-align: middle;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
sidecar .sidecar-header-name .package-prefix {
font-size: 0.875rem;
max-width: none;
text-transform: uppercase;
letter-spacing: 1.6px;
}
sidecar .sidecar-header-name .entity-name-hash {
font-family: var(--font-monospace);
font-size: 75%;
color: var(--color-text-02);
font-size: 1rem;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
sidecar.entity-is-activations .sidecar-header-name .package-prefix {
/* don't display package name for activations? hmm */
display: none;
}
sidecar.entity-is-activations .sidecar-header-name .sidecar-header-name-content {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
sidecar .sidecar-header-secondary-content {
padding-left: 1rem;
font-size: 0.875em;
display: flex;
align-items: center;
color: var(--color-text-02);
letter-spacing: 0.32px;
line-height: 1.25em;
}
sidecar .sidecar-header-secondary-content .kind-content {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
sidecar .sidecar-content {
flex: 1;
overflow-y: auto;
display: flex;
flex-direction: column;
}
sidecar .sidecar-content > div,
sidecar .sidecar-content .activation-content > pre > code,
sidecar .custom-content pre > code,
sidecar .custom-content .padding-content {
display: block;
padding: 1.5em 1em;
}
sidecar .custom-content > .scrollable {
/* for scrollable padding-content, we want the scrollbar to be flush-right */
flex: 1;
}
sidecar .sidecar-content .hook-for-third-party-content.no-content {
display: none;
}
sidecar .sidecar-header .activation-content {
display: flex;
flex-direction: column;
justify-content: center;
}
sidecar .sidecar-content .activation-content {
padding: 0;
}
sidecar .sidecar-content .activation-content,
sidecar .sidecar-content .hook-for-third-party-content {
flex: 1;
display: flex;
flex-direction: column;
}
.entity-web-export-url:not(.has-url) {
display: none;
}
sidecar .activation-status {
color: white;
font-size: 2.5rem;
border-radius: 50%;
width: 4rem;
height: 4rem;
display: flex;
justify-content: center;
align-items: center;
margin: 0 0.5ex;
}
sidecar pre {
/* no margin for action source code */
margin: 0;
}
sidecar .action-content > pre {
/* some odd issue here; pre > code will give us the pre-wrap */
white-space: normal;
}
sidecar:not(.entity-is-actions):not(.entity-is-apps):not(.entity-is-compositions) .action-content {
display: none;
}
sidecar:not(.entity-is-activations) .activation-content {
display: none;
}
sidecar.no-activation-timing-data .sidecar-header-secondary-content {
/* no timing information for activations */
display: none;
}
sidecar:not(.entity-is-packages) .package-content {
display: none;
}
sidecar.entity-is-packages:not(entity-is-package-binding) .package-binding-signifier {
display: none;
}
sidecar:not(.entity-is-rules) .rule-content {
display: none;
}
sidecar:not(.entity-is-triggers) .trigger-content {
display: none;
}
sidecar.entity-is-actions:not(.entity-is-sequence) .action-source,
sidecar .activation-result,
code.hljs,
.code-highlighting pre {
font-family: var(--font-monospace);
font-weight: 400;
font-size: 0.875em;
white-space: pre-wrap;
background: transparent;
}
.repl-result code.hljs {
/* avoid nested 0.875em from .repl-result and the above code.hljs */
font-size: 1em;
}
.package-content-count {
font-weight: bold;
}
.rule-components {
display: flex;
justify-content: center;
}
sidecar:not(.entity-is-sequence) .sequence-components {
display: none;
}
.sequence-components {
display: flex;
flex-direction: column;
align-items: center;
}
.sequence-component {
border: 3px solid;
margin: 1em;
height: 5em;
width: 5em;
display: flex;
align-items: center;
justify-content: center;
padding: 1em;
position: relative;
}
.sequence-component:before {
content: " ";
position: absolute;
top: 0px;
left: 0px;
right: 0px;
bottom: 0px;
border: 3px solid rgba(0, 0, 0, 0.075);
}
.sequence-component:hover:before {
border-color: rgba(0, 0, 0, 0.2);
}
.sequence-component.trigger-node {
border-radius: 0;
}
.sequence-component.trigger-node:before {
border-radius: 0;
}
.sequence-component:hover {
cursor: pointer;
height: 11.25em; /* 25% larger */
width: 20em; /* 25% larger */
}
.sequence-component-inner .emphasize {
font-size: 1.4375rem;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.sequence-component-inner .deemphasize {
opacity: 1;
margin: 1ex;
}
.sequence-component {
height: 9em;
width: 16em;
}
.sequence-component:not(:last-child):after {
/* edge */
content: "";
border: 1px solid #333;
outline: 1px solid #999;
position: absolute;
height: 2em;
top: calc(100% + 4px);
left: 50%;
}
.horizontal-canvas .sequence-component:not(:last-child):after {
height: 0px;
width: calc(2em - 2px);
top: 50%;
left: calc(100% + 3px);
}
.sequence-component .sequence-component-inner {
display: flex;
flex-direction: column;
align-items: center;
overflow: hidden;
text-overflow: ellipsis;
/*white-space: nowrap;*/
font-variant: small-caps;
font-weight: 400;
word-break: break-all;
}
/* sidecar cost */
.activation-estimated-cost-container {
display: none;
}
/* generic */
textarea.not-tabbable,
input.not-tabbable {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.map-key {
color: var(--color-map-key);
}
.map-value {
color: var(--color-map-value);
}
b {
font-weight: bold;
}
webview {
display: flex;
flex: 1;
background: transparent;
}
.blurry {
filter: blur(3px) brightness(0.5) grayscale(0.5);
-webkit-app-region: drag;
}
.blurry [data-balloon]:before,
.blurry [data-balloon]:after {
/* no tooltips under a blurry element */
display: none;
}
sidecar .present-as-quotation {
border-left-color: var(--color-base02);
}
.present-as-quotation {
padding: 0.375em 0;
margin: 0.375em 0;
}
.do-not-overflow {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.overflow-auto {
overflow: auto;
}
.display-inline {
display: inline;
}
.fixed-table-layout {
table-layout: fixed;
}
.text-center {
text-align: center;
}
pre,
code {
font-family: var(--font-monospace);
}
code.fancy-code,
code.fancy-code.hljs {
background: var(--color-base00) !important;
border: 1px solid var(--color-ui-04);
color: var(--color-base05);
}
.no-wrap {
white-space: nowrap;
}
.normal-wrap {
white-space: normal;
}
.break-all {
word-break: break-all;
}
.hide {
display: none;
}
.flex-layout {
display: flex;
align-items: center;
}
.flex-align-top {
align-items: flex-start;
}
.normal-text {
color: var(--color-text-01);
font-weight: 400;
opacity: 1;
font-size: 1em;
}
.normal-text svg path {
fill: var(--color-text-01);
}
.kui--sidecar-inverted sidecar .normal-text {
color: var(--color-text-inverted01);
}
.kui--sidecar-inverted sidecar .normal-text svg path {
fill: var(--color-text-inverted01);
}
.even-larger-text {
font-size: 2em;
line-height: 1em;
}
.larger-text {
font-size: 1.5em;
}
.even-smaller-text {
font-size: 0.75em;
}
.smaller-text {
font-size: 0.875em;
}
.somewhat-smaller-text {
font-size: 0.925em;
}
.sub-text {
color: var(--color-text-02);
}
.kui--sidecar-inverted sidecar .sub-text {
color: var(--color-text-inverted03);
}
.lighter-text {
font-weight: 300;
}
.even-lighter-text {
color: var(--color-text-02);
font-weight: 300;
}
.nowrap {
white-space: nowrap;
}
.slightly-deemphasize {
color: var(--color-text-02);
}
.deemphasize {
color: var(--color-text-02);
font-size: 0.75em;
opacity: 0.7;
vertical-align: middle;
}
.deemphasize.deemphasize-partial {
font-weight: 400;
opacity: 1;
}
.pre-wrap {
white-space: pre-wrap;
}
.monospace,
pre.monospace {
font-family: var(--font-monospace);
}
.sans-serif {
font-family: var(--font-sans-serif);
}
.semi-bold {
font-weight: 500;
}
.sans-serif.semi-bold {
font-weight: 600;
}
.min-width-6em {
min-width: 6em !important;
}
.min-width-8em {
min-width: 8em !important;
display: block;
}
.min-width-10em {
min-width: 10em !important;
display: block;
}
.timestamp-like {
width: 16em;
}
.min-width-date-like {
width: 15em;
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.max-width-id-like {
max-width: 8em;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.not-very-wide {
display: block; /* spans don't respond */
max-width: 18em;
}
.not-too-wide {
display: block; /* spans don't respond */
max-width: 35em;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.badge-width {
width: 10em;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.pretty-narrow {
/* please note: used in tandem with not-too-wide */
width: 7em;
}
.very-narrow {
/* please note: used in tandem with not-too-wide */
width: 6em !important;
}
.a-few-numbers-wide {
width: 5em;
}
.icon-width {
/* intended for fontawesome table cells */
width: 2em;
}
.radio-button-width {
width: 3em !important;
}
.double-icon-width {
/* intended for fontawesome table cells */
width: 4em;
}
.normal-size {
color: var(--color-text-01);
font-size: inherit;
font-weight: inherit;
}
.small-bottom-pad {
margin-bottom: 1ex;
display: inline-flex;
}
.tiny-top-pad {
margin-top: 0.125em;
}
.small-top-pad {
margin-top: 1ex;
}
.top-pad {
margin-top: 1em;
}
.repl:not(.sidecar-visible) .result-as-multi-table-flex-wrap .big-top-pad:not(:last-child) > div,
body.subwindow .result-as-multi-table-flex-wrap .big-top-pad:not(:last-child) > div {
padding-right: 2em;
}
sidecar .result-as-table .big-top-pad:first-child {
margin-top: 0;
}
.small-left-pad {
margin-left: 1ex;
}
.left-pad {
margin-left: 1em;
}
.small-right-pad {
margin-right: 1ex;
}
.right-pad {
margin-right: 1em;
}
.emphasize {
font-size: 1.5rem;
font-weight: 900;
}
.count-with-label[data-is-plural="false"] .label-plural,
.count-with-label[data-is-plural="true"] .label-singular {
display: none;
}
.clickable-color {
color: var(--color-base09);
}
.clickable-blatant {
text-decoration: underline;
text-decoration-color: var(--color-text-02);
}
.clickable:hover,
.entity-name-group:not(.header-cell) .entity.actions:hover .entity-name {
cursor: pointer;
text-decoration: underline;
}
.clickable-block {
cursor: pointer;
}
.clickable-block:hover {
border-color: var(--color-ui-05) !important;
}
.graphical-clickable:hover {
cursor: pointer;
}
.template {
display: none;
}
.toggle-visibility-on-hover .visible-on-hover {
transition-property: opacity;
font-size: 70%;
font-weight: 900;
opacity: 0;
}
.toggle-visibility-on-hover:hover .visible-on-hover {
opacity: 0.5;
}
.hideable {
transition-property: all;
}
.hidden {
opacity: 0;
height: 0;
flex: 0 0 0;
padding: 0 !important;
margin: 0 !important;
border: none !important;
min-height: 0; /* important for firefox */
}
.offscreen {
position: absolute;
top: -1000px;
left: -1000px;
}
.not-displayed {
display: none !important;
}
.scrollable.scrollable-auto {
overflow-y: auto;
overflow-x: hidden;
}
.scrollable {
overflow-y: scroll;
overflow-x: hidden;
}
.scrollable-x {
overflow-y: hidden;
overflow-x: scroll;
}
.code-highlighting.scrollable {
/* sidecar custom entity container */
flex: 1;
}
/* Track */
.scrollable::-webkit-scrollbar-track,
.scrollable-x::-webkit-scrollbar-track,
.scrollable-auto::-webkit-scrollbar-track {
box-shadow: inset 0 0 8px var(--color-scrollbar-track);
border-radius: 10px;
border-radius: 10px;
}
/* Handle */
.scrollable::-webkit-scrollbar-thumb,
.scrollable-x::-webkit-scrollbar-thumb,
.scrollable-auto::-webkit-scrollbar-thumb {
border-radius: 10px;
background: var(--color-scrollbar-thumb);
border: 1px solid var(--color-scrollbar-thumb-border);
outline: 1px solid var(--color-scrollbar-thumb-outline);
}
.result-as-table.scrollable::-webkit-scrollbar-thumb,
.result-as-table.scrollable::-webkit-scrollbar-track {
box-shadow: none;
}
.scrollable::-webkit-scrollbar,
.scrollable-auto::-webkit-scrollbar {
width: 9px;
height: 9px;
}
.scrollable-x::-webkit-scrollbar {
height: 8px;
}
/* highlight.js tweaks */
.hljs {
padding: 0;
}
.hljs-number,
.hljs-literal {
color: var(--color-brand-03);
}
/* help */
.help-options {
display: table;
}
.help-option {
display: table-row;
}
.help-option > div {
display: table-cell;
padding: 0.5ex 1ex;
white-space: normal;
}
.help-option-left-column {
font-weight: bold; /* make the command name bold */
text-align: right;
border-left: 3px solid transparent;
width: 10em;
}
.help-option-interior-node-designation {
/* any designation that this command is a "context-changing" command, as opposed to a leaf-node command that actually does something */
font-weight: normal;
opacity: 0.6;
}
.help-option .help-option-synonyms-column {
padding-right: 1.5em;
width: 10em;
}
.sidecar-visible .help-option .help-option-synonyms-column {
/* with the sidecar visible, there isn't room for the synonyms column */
width: 0;
}
.sidecar-visible .help-option .help-option-synonym {
color: transparent;
width: 0;
padding: 0;
}
.help-option-synonyms-list {
display: flex;
align-items: center;
font-size: 80%;
opacity: 0.6; /* fira mono has no 300 font-weight specimen */
}
.help-option-synonym:not(:last-child) {
padding-right: 1ex;
}
.help-option-synonym:not(:last-child):after {
content: ",";
}
/* activation logs */
body[kui-theme-style="dark"] .log-lines,
body[kui-theme-style="dark"] .list-paginator,
body[kui-theme-style="dark"] .repl .log-lines .log-line .log-field,
body[kui-theme-style="dark"] .result-as-table .result-table,
body[kui-theme-style="dark"] .result-as-table.result-table {
border-color: var(--color-ui-03);
}
.log-lines {
border: 1px solid var(--color-ui-04);
}
.log-lines {
display: table;
border-collapse: collapse;
width: 100%;
}
.log-lines-message-for-activations {
font-size: 1rem;
padding-bottom: 1em;
}
.log-lines .log-line {
/* every row in the log table */
display: table-row;
height: 3em;
}
.log-lines .log-line .log-field {
/* every field in the log table */
display: table-cell;
vertical-align: middle;
padding: 0.375rem;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
opacity: 1; /* see issue #132 */
}
.repl .log-lines .log-line .log-field {
border-top: 1px solid var(--color-ui-04);
}
.log-lines .log-line .log-field.log-message {
vertical-align: middle;
/* padding-top: 1em;
padding-bottom: 1em; */
}
sidecar .activation-result .log-line .log-field code {
font-size: 1em;
margin: 0.375em 0.375em 0 0;
padding: 1em;
background: var(--color-ui-01);
border: 1px solid var(--color-ui-04);
box-shadow: 0 0 2px var(--color-ui-04);
}
sidecar .activation-result .log-line .log-field > div > div:first-child code {
margin-top: 0;
}
.log-lines .log-line .log-field.activationId {
font-weight: 500;
}
.log-lines .log-line .log-field.activationId:not(.full-width) {
width: 6em;
overflow: hidden;
text-overflow: clip;
white-space: nowrap;
}
.repl.sidecar-visible .log-lines .log-line .log-field.activationId:not(.full-width) {
/* further squish the activation id when the sidecar is visible */
max-width: 8em;
}
.repl.sidecar-visible .log-lines .log-line .log-line-bar-field,
.repl.sidecar-visible .log-lines .log-line .log-field.start-time-field,
.repl.sidecar-visible .log-lines .log-line .hide-with-sidecar:not(.keep-with-sidecar),
.repl.sidecar-visible .entity-attributes .hide-with-sidecar:not(.keep-with-sidecar) {
/* hide bar chart when the sidecar is visible */
max-width: 0;
padding: 0;
/*opacity: 0 !important;*/ /* see https://github.com/ibm-functions/shell/issues/278 */
width: 0;
border: none;
display: none;
}
.log-lines .log-line .log-field-right-align {
text-align: right;
}
.log-lines .log-field.log-field-right-align.duration-field {
width: 6em;
}
.log-lines .log-line .log-line-bar-field {
position: relative;
width: 50%;
max-width: 20em;
}
.result-as-table .log-lines .log-line .log-line-bar-field {
/* add a left-right border to the timeline bars, but only for the repl side, not the sidecar Trace view */
border: 1px solid var(--color-ui-04);
}
.log-lines .log-field.entity-name {
max-width: 20em;
}
.log-lines .log-line .log-line-bar {
top: 25%;
min-width: 2px;
height: 1.25em;
position: absolute;
}
.log-lines .log-line:hover .log-line-bar {
z-index: 10; /* tooltip layering */
}
.log-lines .log-line .log-line-bar:hover {
filter: brightness(1.2) !important;
}
.log-lines .log-line.log-line-root .log-line-bar {
border: 1px solid;
}
.log-lines .log-line .log-field.log-date {
/* the date part of log lines */
vertical-align: middle;
text-align: right;
width: 15em;
}
.log-lines .log-line .log-field.log-date > span {
/* the date part of log lines */
display: block;
font-size: 0.925em;
font-weight: 500;
white-space: pre-wrap;
vertical-align: middle;
}
.log-lines .log-line .log-field.log-date .entity-name,
.log-lines .log-line .log-field.log-date .provider-name {
/* this represents e.g. the origin or source line for a log entry */
color: var(--color-text-02);
display: block;
font-weight: 400;
}
.log-lines .log-line .log-field.log-date .provider-name {
color: var(--color-base09);
}
.log-lines .log-line .log-field.log-date:not(.hljs-attribute) {
color: var(--color-text-02);
}
.log-lines .log-line .log-field.log-date.hljs-attribute {
color: var(--color-base0C);
}
.log-lines .log-line .log-message {
white-space: pre-wrap;
}
sidecar .log-lines:not(.log-lines-loose) .log-line {
height: auto;
}
sidecar .log-lines .log-line:nth-child(2n) .log-field {
background: var(--color-ui-03); /* <-- zebra */
}
/* legend for activation/trace list */
.legend-list,
.legend-trace {
text-align: right;
font-family: var(--font-sans-serif);
}
.legend-list {
padding-bottom: 0.75em;
transition-property: height, width;
}
.repl.sidecar-visible .legend-list {
/* don't show legend when the sidecar is open. see issue #138 */
opacity: 0;
height: 0;
width: 0;
}
.legend-trace {
padding-bottom: 0.75em;
}
.legend-stripe,
.legend-entry {
display: flex;
justify-content: flex-end;
align-items: center;
}
.legend-stripe {
font-size: 0.75em;
}
.legend-icon {
display: inline-block;
width: 11em;
height: 0.875em;
}
.legend-entry {
flex-direction: column;
align-items: flex-end;
}
.legend-entry:not(:last-child) {
margin-right: 2em;
}
.legend-trace[data-hover-type="execution-time"] .legend-entry[data-legend-type="execution-time"] {
opacity: 1;
}
.legend-trace[data-hover-type="container-initialization"] .legend-entry[data-legend-type="container-initialization"] {
opacity: 1;
}
.legend-trace[data-hover-type="queueing-delays"] .legend-entry[data-legend-type="queueing-delays"] {
opacity: 1;
}
.legend-trace[data-hover-type="failures"] .legend-entry[data-legend-type="failures"] {
opacity: 1;
}
.legend-trace[data-hover-type] .legend-entry {
/* legend entries that don't match the current hover type get more opaque */
opacity: 0.3;
}
.legend-list:hover .legend-entry,
.legend-trace:hover .legend-entry {
opacity: 1;
}
.log-line-bar[data-balloon]:after {
width: auto;
}
/* notification area */
#notification-area {
display: flex;
align-items: center;
}
#notification-area > div {
margin-left: 0.5ex;
}
#notification-area a:not(:hover) {
color: inherit;
}
/* spin animation */
@-moz-keyframes spin {
100% {
-moz-transform: rotate(360deg);
}
}
@-webkit-keyframes spin {
100% {
-webkit-transform: rotate(360deg);
}
}
@keyframes spin {
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
body.subwindow .repl-block .ok-line,
body.subwindow .repl-block .oops {
font-size: 2.5vmin;
}
body.subwindow .repl-result-like {
font-size: 2vmin;
}
body.subwindow sidecar .sidecar-bottom-stripe-close {
/* no close button if in subwindow/popup mode */
display: none;
}
body.subwindow .repl-block.processing .repl-prompt-right-elements,
body.subwindow .repl-block.processing .repl-prompt-right-element-status-icon {
margin: 0 auto;
padding: 0;
}
body.subwindow .repl-block.processing .kui--repl-prompt-buttons {
/* screenshot etc. widgets */
display: none;
}
body.subwindow .repl-block.processing .kui--icon-processing > svg, /* loading icon */
body.subwindow .repl .repl-prompt-right-element-status-icon svg {
width: 15vmin;
height: 15vmin;
}
body.subwindow.sidecar-full-screen .sidecar-bottom-stripe-maximize:not(.screenshot-button) {
/* in subwindow mode, no maximize or unma