mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2024-12-15 10:48:36 +01:00
1d75b98393
* set isForced to true on input * make floating auto-complete follow horizontal scrolling * add callable closure vars * changes to /let and /var for callable closures * fix error message * fix scope for closure arguments * if should return the pipe result from closures * use /run to call closures and no arguments on immediate closures * throw exception from QRs window-function if no match * when to show autocomplete vs info only * autocomplete positioning * autocomplete styling * add theming to autocomplete (theme, dark, light) * improve autocomplete show/hide logic and editor selection * use blur tint color instead of chat tint color and use blur setting * cleanup and docs * use scope macros for QR args * add enter to select autocomplete * fix no executor found * cleanup and comment * fix alias list in help string * fallback to empty string piped value if null or undefined * fix typo * blur textarea on ctrl+enter execute (and refocus after) * stop executeSlashCommand if parser throws * move /let and /var callbacks into functions * switch textarea to monospace when value starts with slash * add double pipe a pipe breaker * fix /? slash * remove some logging * add "/:name" as shorthand for "/run name" after all * move shit around * fix error message * use testRunShorthandEnd * use parseQuotedValue and parseValue to determine name for "/:" QR labels and set names can include spaces * add some adjustments to make autocomplete work properly some hint in there about "/:" would still be nice * add autocomplete style selector * only strip quotes from subcommand if they are at both ends * fix JSDoc * escaping * allow open quotes on dry run * throwing shit at the wall for /: autocomplete * escapes only for symbols * clean up autocomplete * improve performance * fix scope macros * remove unescaping of pipes * fix macros in scope copy * fix "/? slash" * don't run parser for getNameAt if text has not changed * fix options filter * re-enable blur listener * restore selection on non-replace select * fix for escaping first character of value * add support for {{pipe}} and {{var::}} closures * add index support to var macro * add scoped var macro to macro help * more escape fixes * reduce autocomplete render debounce * cleanup * restore old escape handling and parser flag for strict escaping * fix "no match" autocomplete message * add dummy commands for comments and parser flag * fix type annotations * somewhat safer macro replacements * fix autocomplete select on blank / "no match" * fix cutting off handled part in substitution * add parser flag REPLACE_GETVAR Replaces all {{getvar::}} and {{getglobalvar::}} macros with {{var::}}. Inserts a series of command executors before the command with the macros that: - save {{pipe}} to a var - call /getvar or /getglobalvar to get the variable used in the macro - call /let to save the retrieved variable - return the saved {{pipe}} value This helps to avoid double-substitutions when the var values contain text that could be interpreted as macros. * remove old parser * fix send on enter when no match * deal with pipes in quoted values (loose escaping) * add default parser flags to user settings * allow quoted values in unnamed argument * set parser flag without explicit state to "on" * add click hint on parser error toast * dirty more detailed cmd defs * remove name from unnamed arg * move autocomplete into class and floating with details * replace jQuery's trigger('input') on #send_textarea with native events because jQuery does not dispatch the native event * fix ctrl+space * fix arrow navigation * add comments * fix pointer block * add static fromProps * fix up dummy commands * migrate all commands to addCommandObject * remove commented comment command * fix alias in details * add range as argument type * switch to addCommandObject * switch to addCommandObject * fix height * fix floating details position on left * re-enable blur event * use auto width for full details on floating autocomplete * auto-size floating full details * fix typo * re-enable blur listener * don't prevent enter when selected item is fully typed out * add autocomplete details tooltips * add language to slash command examples * move makeItem into option and command and fix click select * use autocomplete parts in /? slash * fix alias formatting * add language to slash command examples * fix details position on initial input history * small screen styles * replace registerSlashCommand with detailed declarations * put name on first line * add missing returns * fix missing comma * fix alias display in autocomplete list * remove args from help string * move parser settings to its own section * jsdoc * hljs stscript lang * add hljs to autocomplete help examples * add missing import * apply autocomplete colors to stscript codeblocks (hljs) * add fromProps * cache autocomplete elements * towards generic autocomplete * remove unused imports * fix blanks * add return types * re-enable blur * fix blank check * Caption messages by id * add aborting command execution * fix return type * fix chat input font reset * add slash command progress indicator * add missing return * mark registerSlashCommand deprecated * why?? * separate abort logic for commands * remove parsing of quoted values from unnamed arg * add adjustable autocomplete width * revert stop button pulse * add progress and pause/abort to QR editor * add resize event on autocomplete width change * add key= argument to all get vars * refactoring * introduce NamedArgumentAsignment * add TODOs * refactoring * record start and end of named arg assignment * refactoring * prevent duplicate calls to show * refactoring * remove macro ac * add secondary autocomplete and enum descriptions * add syntax highlighting to QR editor * add enum descriptions to /while * add /let key=... to scope variable names * add unnamed argument assignment class and unnamed argument splitting * fix QR editor style * remove dash before autocomplete help text * add autocomplete for unnamed enums * fix remaining dom after holding backslash * fix for unnamed enums * fix autocomplete for /parser-flag * add parser-flag enum help * fix type annotations * fix autocomplete result for /: * add colored autocomplete type icons * collapse second line autocomplete help if empty * mark optional named args in autocomplete * fix when what * remove duplicate debug buttons * dispatch input on autocomplete select * prevent grow from editor syntax layer * add auto-adjust qr editor caret color * remove text-shadow from autocomplete * join value strings in /let and /var * add /abort syntax highlight * fix attempting secondary result when there is none * rename settings headers and split autocomplete / stscript * add parser flag tooltips * add tooltips to chat width stops * fix typo * return clone of help item * fix enum string * don't make optional notice for autocomplete arguments smaller * avoid scrollbar in chat input * add rudimentary macro autocomplete * strip macro from helptext * finally remove closure delimiters around root * cleanup * fix index stuff for removed closure delimiters * fix type hint * add child commands to progress indicator * include sub-separator in macro autocomplete * remove all mentions of interruptsGeneration and purge * remove unused imports * fix syntax highlight with newline at end of input * cleanup select pointer events * coalesce onProgress call * add regex to STscript syntax highlighting * fix closure end * fix autocomplete type icon alignment * adjustments for small screens * fix removing wrong element * add missing "at=" arg to /sys, /comment, /sendas * add font scale setting for autocomplete * add target=_blank for parser flag links * fix for searching enums * remove REGEXP_MODE from hljs just causes trouble * fix autocomplete in closures * fix typo * fix type hint * Get rid of scroll bar on load * Add type hint for /send name argument. Fix 'at' types * Add 'negative' arg hint to /sd command * reenable blur event * Allow /summarize to process any text * Compact layout of script toggles * Expand CSS by default * fix double ranger indicator and adjust to narrow container * make custom css input fill available vertical space * reduce scroll lag * use default cursor on scrollbar * Clean-up module loading in index.html * fix tab indent with hljs --------- Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
454 lines
14 KiB
CSS
454 lines
14 KiB
CSS
#qr--bar {
|
|
outline: none;
|
|
margin: 0;
|
|
transition: 0.3s;
|
|
opacity: 0.7;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 100%;
|
|
max-width: 100%;
|
|
overflow-x: auto;
|
|
order: 1;
|
|
padding-right: 2.5em;
|
|
position: relative;
|
|
}
|
|
#qr--bar > #qr--popoutTrigger {
|
|
position: absolute;
|
|
right: 0.25em;
|
|
top: 0;
|
|
}
|
|
#qr--popout {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 0;
|
|
z-index: 31;
|
|
}
|
|
#qr--popout > .qr--header {
|
|
flex: 0 0 auto;
|
|
height: 2em;
|
|
position: relative;
|
|
}
|
|
#qr--popout > .qr--header > .qr--controls > .qr--close {
|
|
height: 15px;
|
|
aspect-ratio: 1 / 1;
|
|
font-size: 20px;
|
|
opacity: 0.5;
|
|
transition: all 250ms;
|
|
}
|
|
#qr--popout > .qr--body {
|
|
overflow-y: auto;
|
|
}
|
|
#qr--bar > .qr--buttons,
|
|
#qr--popout > .qr--body > .qr--buttons {
|
|
margin: 0;
|
|
padding: 0;
|
|
display: flex;
|
|
justify-content: center;
|
|
flex-wrap: wrap;
|
|
gap: 5px;
|
|
width: 100%;
|
|
}
|
|
#qr--bar > .qr--buttons > .qr--buttons,
|
|
#qr--popout > .qr--body > .qr--buttons > .qr--buttons {
|
|
display: contents;
|
|
}
|
|
#qr--bar > .qr--buttons .qr--button,
|
|
#qr--popout > .qr--body > .qr--buttons .qr--button {
|
|
color: var(--SmartThemeBodyColor);
|
|
border: 1px solid var(--SmartThemeBorderColor);
|
|
border-radius: 10px;
|
|
padding: 3px 5px;
|
|
margin: 3px 0;
|
|
cursor: pointer;
|
|
transition: 0.3s;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
}
|
|
#qr--bar > .qr--buttons .qr--button:hover,
|
|
#qr--popout > .qr--body > .qr--buttons .qr--button:hover {
|
|
opacity: 1;
|
|
filter: brightness(1.2);
|
|
}
|
|
#qr--bar > .qr--buttons .qr--button > .qr--button-expander,
|
|
#qr--popout > .qr--body > .qr--buttons .qr--button > .qr--button-expander {
|
|
display: none;
|
|
}
|
|
#qr--bar > .qr--buttons .qr--button.qr--hasCtx > .qr--button-expander,
|
|
#qr--popout > .qr--body > .qr--buttons .qr--button.qr--hasCtx > .qr--button-expander {
|
|
display: block;
|
|
}
|
|
.qr--button-expander {
|
|
border-left: 1px solid;
|
|
margin-left: 1em;
|
|
text-align: center;
|
|
width: 2em;
|
|
}
|
|
.qr--button-expander:hover {
|
|
font-weight: bold;
|
|
}
|
|
.ctx-blocker {
|
|
/* backdrop-filter: blur(1px); */
|
|
/* background-color: rgba(0 0 0 / 10%); */
|
|
bottom: 0;
|
|
left: 0;
|
|
position: fixed;
|
|
right: 0;
|
|
top: 0;
|
|
z-index: 999;
|
|
}
|
|
.ctx-menu {
|
|
position: absolute;
|
|
overflow: visible;
|
|
}
|
|
.list-group .list-group-item.ctx-header {
|
|
font-weight: bold;
|
|
cursor: default;
|
|
}
|
|
.ctx-item + .ctx-header {
|
|
border-top: 1px solid;
|
|
}
|
|
.ctx-item {
|
|
position: relative;
|
|
}
|
|
.ctx-expander {
|
|
border-left: 1px solid;
|
|
margin-left: 1em;
|
|
text-align: center;
|
|
width: 2em;
|
|
}
|
|
.ctx-expander:hover {
|
|
font-weight: bold;
|
|
}
|
|
.ctx-sub-menu {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 100%;
|
|
}
|
|
@media screen and (max-width: 1000px) {
|
|
.ctx-blocker {
|
|
position: absolute;
|
|
}
|
|
.list-group .list-group-item.ctx-item {
|
|
padding: 1em;
|
|
}
|
|
}
|
|
#qr--settings .qr--head {
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: 1em;
|
|
}
|
|
#qr--settings .qr--head > .qr--title {
|
|
font-weight: bold;
|
|
}
|
|
#qr--settings .qr--head > .qr--actions {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: baseline;
|
|
gap: 0.5em;
|
|
}
|
|
#qr--settings .qr--setList > .qr--item {
|
|
display: flex;
|
|
flex-direction: row;
|
|
gap: 0.5em;
|
|
align-items: baseline;
|
|
padding: 0 0.5em;
|
|
}
|
|
#qr--settings .qr--setList > .qr--item > .drag-handle {
|
|
padding: 0.75em;
|
|
}
|
|
#qr--settings .qr--setList > .qr--item > .qr--visible {
|
|
flex: 0 0 auto;
|
|
display: flex;
|
|
flex-direction: row;
|
|
}
|
|
#qr--settings #qr--set-settings #qr--injectInputContainer {
|
|
flex-wrap: nowrap;
|
|
}
|
|
#qr--settings #qr--set-qrList .qr--set-qrListContents {
|
|
padding: 0 0.5em;
|
|
}
|
|
#qr--settings #qr--set-qrList .qr--set-qrListContents > .qr--set-item {
|
|
display: flex;
|
|
flex-direction: row;
|
|
gap: 0.5em;
|
|
align-items: baseline;
|
|
padding: 0.25em 0;
|
|
}
|
|
#qr--settings #qr--set-qrList .qr--set-qrListContents > .qr--set-item > :nth-child(1) {
|
|
flex: 0 0 auto;
|
|
}
|
|
#qr--settings #qr--set-qrList .qr--set-qrListContents > .qr--set-item > :nth-child(2) {
|
|
flex: 1 1 25%;
|
|
}
|
|
#qr--settings #qr--set-qrList .qr--set-qrListContents > .qr--set-item > :nth-child(3) {
|
|
flex: 0 0 auto;
|
|
}
|
|
#qr--settings #qr--set-qrList .qr--set-qrListContents > .qr--set-item > :nth-child(4) {
|
|
flex: 1 1 75%;
|
|
}
|
|
#qr--settings #qr--set-qrList .qr--set-qrListContents > .qr--set-item > :nth-child(5) {
|
|
flex: 0 0 auto;
|
|
}
|
|
#qr--settings #qr--set-qrList .qr--set-qrListContents > .qr--set-item > .drag-handle {
|
|
padding: 0.75em;
|
|
}
|
|
#qr--settings #qr--set-qrList .qr--set-qrListContents > .qr--set-item .qr--set-itemLabel,
|
|
#qr--settings #qr--set-qrList .qr--set-qrListContents > .qr--set-item .qr--action {
|
|
margin: 0;
|
|
}
|
|
#qr--settings #qr--set-qrList .qr--set-qrListContents > .qr--set-item .qr--set-itemMessage {
|
|
font-size: smaller;
|
|
}
|
|
#qr--settings .qr--set-qrListActions {
|
|
display: flex;
|
|
flex-direction: row;
|
|
gap: 0.5em;
|
|
justify-content: center;
|
|
padding-bottom: 0.5em;
|
|
}
|
|
#qr--qrOptions > #qr--ctxEditor .qr--ctxItem {
|
|
display: flex;
|
|
flex-direction: row;
|
|
gap: 0.5em;
|
|
align-items: baseline;
|
|
}
|
|
@media screen and (max-width: 750px) {
|
|
body .dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor {
|
|
flex-direction: column;
|
|
}
|
|
body .dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--labels {
|
|
flex-direction: column;
|
|
}
|
|
body .dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--modal-messageContainer > #qr--modal-message {
|
|
min-height: 90svh;
|
|
}
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) {
|
|
aspect-ratio: unset;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor {
|
|
flex: 1 1 auto;
|
|
display: flex;
|
|
flex-direction: row;
|
|
gap: 1em;
|
|
overflow: hidden;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main {
|
|
flex: 1 1 auto;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--labels {
|
|
flex: 0 0 auto;
|
|
display: flex;
|
|
flex-direction: row;
|
|
gap: 0.5em;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--labels > label {
|
|
flex: 1 1 1px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--labels > label > .qr--labelText {
|
|
flex: 1 1 auto;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--labels > label > .qr--labelHint {
|
|
flex: 1 1 auto;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--labels > label > input {
|
|
flex: 0 0 auto;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--modal-messageContainer {
|
|
flex: 1 1 auto;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--modal-messageContainer > .qr--modal-editorSettings {
|
|
display: flex;
|
|
flex-direction: row;
|
|
gap: 1em;
|
|
color: var(--grey70);
|
|
font-size: smaller;
|
|
align-items: baseline;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--modal-messageContainer > .qr--modal-editorSettings > .checkbox_label {
|
|
white-space: nowrap;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--modal-messageContainer > .qr--modal-editorSettings > .checkbox_label > input {
|
|
font-size: inherit;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--modal-messageContainer > #qr--modal-messageHolder {
|
|
flex: 1 1 auto;
|
|
display: grid;
|
|
text-align: left;
|
|
overflow: hidden;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--modal-messageContainer > #qr--modal-messageHolder > #qr--modal-messageSyntax {
|
|
grid-column: 1;
|
|
grid-row: 1;
|
|
padding: 0;
|
|
margin: 0;
|
|
border: none;
|
|
overflow: hidden;
|
|
min-width: 100%;
|
|
width: 0;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--modal-messageContainer > #qr--modal-messageHolder > #qr--modal-messageSyntax > #qr--modal-messageSyntaxInner {
|
|
height: 100%;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--modal-messageContainer > #qr--modal-messageHolder > #qr--modal-message {
|
|
grid-column: 1;
|
|
grid-row: 1;
|
|
caret-color: white;
|
|
mix-blend-mode: difference;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--modal-messageContainer > #qr--modal-messageHolder > #qr--modal-message::-webkit-scrollbar,
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--modal-messageContainer > #qr--modal-messageHolder > #qr--modal-message::-webkit-scrollbar-thumb {
|
|
visibility: hidden;
|
|
cursor: default;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--modal-messageContainer > #qr--modal-messageHolder #qr--modal-message,
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor > #qr--main > .qr--modal-messageContainer > #qr--modal-messageHolder #qr--modal-messageSyntaxInner {
|
|
padding: 0.75em;
|
|
margin: 0;
|
|
border: none;
|
|
resize: none;
|
|
line-height: 1.2;
|
|
border: 1px solid var(--SmartThemeBorderColor);
|
|
border-radius: 5px;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeButtons {
|
|
display: flex;
|
|
gap: 1em;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeButtons .qr--modal-executeButton {
|
|
border-width: 2px;
|
|
border-style: solid;
|
|
display: flex;
|
|
flex-direction: row;
|
|
gap: 0.5em;
|
|
padding: 0.5em 0.75em;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeButtons .qr--modal-executeButton .qr--modal-executeComboIcon {
|
|
display: flex;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeButtons #qr--modal-execute {
|
|
transition: 200ms;
|
|
filter: grayscale(0);
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeButtons #qr--modal-execute.qr--busy {
|
|
cursor: wait;
|
|
opacity: 0.5;
|
|
filter: grayscale(1);
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeButtons #qr--modal-execute {
|
|
border-color: #51a351;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeButtons #qr--modal-pause,
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeButtons #qr--modal-stop {
|
|
cursor: default;
|
|
opacity: 0.5;
|
|
filter: grayscale(1);
|
|
pointer-events: none;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeButtons .qr--busy ~ #qr--modal-pause,
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeButtons .qr--busy ~ #qr--modal-stop {
|
|
cursor: pointer;
|
|
opacity: 1;
|
|
filter: grayscale(0);
|
|
pointer-events: all;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeButtons #qr--modal-pause {
|
|
border-color: #92befc;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeButtons #qr--modal-stop {
|
|
border-color: #d78872;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeProgress {
|
|
--prog: 0;
|
|
--progColor: #92befc;
|
|
--progFlashColor: #d78872;
|
|
--progSuccessColor: #51a351;
|
|
--progErrorColor: #bd362f;
|
|
--progAbortedColor: #d78872;
|
|
height: 0.5em;
|
|
background-color: var(--black50a);
|
|
position: relative;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeProgress:after {
|
|
content: '';
|
|
background-color: var(--progColor);
|
|
position: absolute;
|
|
inset: 0;
|
|
right: calc(100% - var(--prog) * 1%);
|
|
transition: 200ms;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeProgress.qr--paused:after {
|
|
animation-name: qr--progressPulse;
|
|
animation-duration: 1500ms;
|
|
animation-timing-function: ease-in-out;
|
|
animation-delay: 0s;
|
|
animation-iteration-count: infinite;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeProgress.qr--aborted:after {
|
|
background-color: var(--progAbortedColor);
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeProgress.qr--success:after {
|
|
background-color: var(--progSuccessColor);
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeProgress.qr--error:after {
|
|
background-color: var(--progErrorColor);
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeErrors {
|
|
display: none;
|
|
text-align: left;
|
|
font-size: smaller;
|
|
background-color: #bd362f;
|
|
color: white;
|
|
padding: 0.5em;
|
|
overflow: auto;
|
|
min-width: 100%;
|
|
width: 0;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeErrors.qr--hasErrors {
|
|
display: block;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeResult {
|
|
display: none;
|
|
text-align: left;
|
|
font-size: smaller;
|
|
background-color: #51a351;
|
|
color: white;
|
|
padding: 0.5em;
|
|
overflow: auto;
|
|
min-width: 100%;
|
|
width: 0;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeResult.qr--hasResult {
|
|
display: block;
|
|
}
|
|
.dialogue_popup:has(#qr--modalEditor) .dialogue_popup_text > #qr--modalEditor #qr--modal-executeResult:before {
|
|
content: 'Result: ';
|
|
}
|
|
@keyframes qr--progressPulse {
|
|
0%,
|
|
100% {
|
|
background-color: var(--progColor);
|
|
}
|
|
50% {
|
|
background-color: var(--progFlashColor);
|
|
}
|
|
}
|
|
.shadow_popup.qr--hide {
|
|
opacity: 0 !important;
|
|
}
|