UNPKG

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
* { 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