678 lines
10 KiB
CSS
678 lines
10 KiB
CSS
* {
|
|
font-size: 100%;
|
|
font-family: Arial, Helvetica, sans-serif;
|
|
user-select: none;
|
|
}
|
|
|
|
input,
|
|
textarea {
|
|
user-select: auto;
|
|
}
|
|
|
|
/* Body is stuck with no scroll */
|
|
body {
|
|
width: 100%;
|
|
height: 100%;
|
|
|
|
margin: 0px;
|
|
padding: 0px;
|
|
|
|
overflow: clip;
|
|
}
|
|
|
|
.invisible {
|
|
display: none !important;
|
|
}
|
|
|
|
.collapsible {
|
|
background-color: rgb(0, 0, 0);
|
|
color: rgb(255, 255, 255);
|
|
border-radius: 5px;
|
|
cursor: pointer;
|
|
width: 100%;
|
|
border: none;
|
|
text-align: center;
|
|
outline: none;
|
|
padding: 0px;
|
|
}
|
|
|
|
.collapsible {
|
|
background-color: var(--c-primary);
|
|
|
|
margin-bottom: 2px;
|
|
margin-top: 5px;
|
|
|
|
transition-duration: 50ms;
|
|
}
|
|
|
|
.collapsible::before {
|
|
content: "";
|
|
display: block;
|
|
|
|
position: absolute;
|
|
|
|
width: 21px;
|
|
height: 21px;
|
|
|
|
background-color: var(--c-text);
|
|
mask-image: url("../res/icons/chevron-up.svg");
|
|
-webkit-mask-image: url("../res/icons/chevron-up.svg");
|
|
mask-size: contain;
|
|
-webkit-mask-size: contain;
|
|
rotate: 90deg;
|
|
}
|
|
|
|
.collapsible.active::before {
|
|
rotate: 180deg;
|
|
}
|
|
|
|
.display-none {
|
|
display: none;
|
|
}
|
|
|
|
.collapsible:hover {
|
|
background-color: var(--c-hover);
|
|
}
|
|
|
|
.collapsible:active {
|
|
filter: brightness(110%);
|
|
}
|
|
|
|
.content {
|
|
max-height: 0;
|
|
overflow-y: clip;
|
|
overflow-x: visible;
|
|
transition:
|
|
max-height 0.2s ease-out,
|
|
height 0s ease-out;
|
|
}
|
|
|
|
.menu-container {
|
|
background-color: rgba(255, 255, 255, 0.5);
|
|
padding-left: 10px;
|
|
padding-right: 10px;
|
|
padding-top: 5px;
|
|
padding-bottom: 5px;
|
|
|
|
color: black;
|
|
border: solid;
|
|
border-top: none;
|
|
border-color: black;
|
|
font-size: medium;
|
|
text-align: left;
|
|
max-height: fit-content;
|
|
overflow: visible;
|
|
cursor: auto;
|
|
}
|
|
|
|
#page-overlay-wrapper {
|
|
position: fixed;
|
|
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
|
|
top: 0;
|
|
left: 0;
|
|
bottom: 0;
|
|
right: 0;
|
|
|
|
background-color: #fff6;
|
|
backdrop-filter: blur(5px);
|
|
|
|
transition-duration: 50ms;
|
|
|
|
z-index: 1000;
|
|
}
|
|
|
|
.page-overlay-window {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
|
|
border-radius: 10px;
|
|
|
|
min-width: 400px;
|
|
width: 400px;
|
|
min-height: 260px;
|
|
height: 260px;
|
|
|
|
color: var(--c-text);
|
|
|
|
overflow: hidden;
|
|
|
|
position: absolute;
|
|
|
|
margin: auto;
|
|
|
|
background-color: var(--c-primary);
|
|
}
|
|
|
|
.page-overlay-window .close {
|
|
position: absolute;
|
|
|
|
cursor: pointer;
|
|
|
|
top: 0;
|
|
right: 0;
|
|
|
|
margin: 5px;
|
|
|
|
width: 25px;
|
|
height: 25px;
|
|
|
|
-webkit-mask-image: url("../res/icons/x.svg");
|
|
mask-image: url("../res/icons/x.svg");
|
|
|
|
background-color: var(--c-text);
|
|
}
|
|
|
|
.page-overlay-window .close:hover {
|
|
transform: scale(1.1);
|
|
}
|
|
|
|
.page-overlay-window .title {
|
|
padding: 10px;
|
|
padding-top: 7px;
|
|
|
|
font-size: large;
|
|
font-weight: bold;
|
|
|
|
margin: auto;
|
|
|
|
background-color: var(--c-primary);
|
|
}
|
|
|
|
#page-overlay {
|
|
border: 0;
|
|
|
|
min-height: 200px;
|
|
max-height: 600px;
|
|
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
/* Mask colors for mask inversion */
|
|
/* Filters are some magic acquired at https://codepen.io/sosuke/pen/Pjoqqp */
|
|
.mask-canvas {
|
|
opacity: 0%;
|
|
}
|
|
|
|
.mask-canvas.display {
|
|
opacity: 40%;
|
|
filter: invert(100%);
|
|
}
|
|
|
|
.mask-canvas.display.opaque {
|
|
opacity: 100%;
|
|
}
|
|
|
|
.mask-canvas.display.clear {
|
|
filter: invert(71%) sepia(46%) saturate(6615%) hue-rotate(321deg)
|
|
brightness(106%) contrast(100%);
|
|
}
|
|
|
|
.mask-canvas.display.hold {
|
|
filter: invert(41%) sepia(16%) saturate(5181%) hue-rotate(218deg)
|
|
brightness(103%) contrast(108%);
|
|
}
|
|
|
|
.wideSelect {
|
|
width: 100%;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
/* Host input */
|
|
.host-field-wrapper {
|
|
position: relative;
|
|
display: flex;
|
|
|
|
align-items: stretch;
|
|
justify-content: space-between;
|
|
|
|
width: 100%;
|
|
}
|
|
|
|
.host-field-wrapper > .host-field {
|
|
display: flex;
|
|
width: calc(100% - 15px);
|
|
}
|
|
|
|
.host-field-wrapper > .host-field > .label {
|
|
padding-left: 5px;
|
|
padding-right: 5px;
|
|
|
|
border-top-left-radius: 5px;
|
|
border-bottom-left-radius: 5px;
|
|
|
|
background-color: var(--c-primary);
|
|
color: var(--c-text);
|
|
}
|
|
|
|
.host-field-wrapper input {
|
|
display: block;
|
|
min-width: 0;
|
|
|
|
border: 0;
|
|
}
|
|
|
|
.host-field-wrapper .connection-status {
|
|
width: 15px;
|
|
|
|
position: absolute;
|
|
left: calc(100% - 15px);
|
|
|
|
border-top-right-radius: 5px;
|
|
border-bottom-right-radius: 5px;
|
|
|
|
box-sizing: inherit;
|
|
|
|
cursor: pointer;
|
|
|
|
transition-duration: 50ms;
|
|
|
|
padding-top: 1px;
|
|
padding-bottom: 1px;
|
|
|
|
overflow: hidden;
|
|
}
|
|
.host-field-wrapper .connection-status:active,
|
|
.host-field-wrapper .connection-status:hover {
|
|
width: fit-content;
|
|
padding-left: 5px;
|
|
padding-right: 6px;
|
|
|
|
filter: brightness(110%);
|
|
}
|
|
|
|
.host-field-wrapper .connection-status:active {
|
|
filter: brightness(80%);
|
|
}
|
|
|
|
.host-field-wrapper .connection-status > #connection-status-indicator-text {
|
|
opacity: 0%;
|
|
transition-duration: 20ms;
|
|
}
|
|
|
|
.host-field-wrapper
|
|
.connection-status:hover
|
|
> #connection-status-indicator-text {
|
|
opacity: 100%;
|
|
}
|
|
|
|
.host-field-wrapper .connection-status.online {
|
|
background-color: #49dd49;
|
|
color: #1f3f1f;
|
|
}
|
|
|
|
.host-field-wrapper .connection-status.offline {
|
|
background-color: #dd4949;
|
|
color: #3f1f1f;
|
|
}
|
|
|
|
.host-field-wrapper .connection-status.webui-issue {
|
|
background-color: #dddd49;
|
|
color: #3f3f1f;
|
|
}
|
|
|
|
.host-field-wrapper .connection-status.before {
|
|
background-color: #777;
|
|
color: #1f1f1f;
|
|
}
|
|
|
|
input#host {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
/* Model Select */
|
|
#models-ac-select option {
|
|
background-color: #fcc;
|
|
}
|
|
|
|
#models-ac-select option.inpainting {
|
|
background-color: #cfc;
|
|
}
|
|
|
|
/* Settings button */
|
|
.ui.icon.header-button {
|
|
padding: 0;
|
|
border: 0;
|
|
|
|
cursor: pointer;
|
|
|
|
background-color: transparent;
|
|
}
|
|
|
|
.ui.icon.header-button > *:first-child {
|
|
background-color: black;
|
|
|
|
-webkit-mask-size: contain;
|
|
mask-size: contain;
|
|
|
|
width: 28px;
|
|
height: 28px;
|
|
transition-duration: 30ms;
|
|
}
|
|
|
|
.ui.icon.header-button:hover > *:last-child {
|
|
transform: scale(1.1);
|
|
}
|
|
|
|
/* Prompt Fields */
|
|
|
|
.content.prompt {
|
|
display: flex;
|
|
align-items: stretch;
|
|
}
|
|
|
|
.content.prompt > .inputs {
|
|
width: 200px;
|
|
}
|
|
|
|
div.prompt-wrapper {
|
|
display: flex;
|
|
|
|
width: calc(100%);
|
|
|
|
overflow: visible;
|
|
}
|
|
|
|
div.prompt-wrapper > * {
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
div.prompt-wrapper textarea {
|
|
margin: 0;
|
|
|
|
border-radius: 0;
|
|
|
|
border: none;
|
|
|
|
z-index: 1;
|
|
}
|
|
|
|
div.prompt-wrapper:not(:first-child) textarea {
|
|
border-top: 1px solid black;
|
|
}
|
|
|
|
div.prompt-wrapper > textarea {
|
|
box-sizing: border-box;
|
|
width: calc(100% - 20px);
|
|
|
|
padding: 2px;
|
|
|
|
transition-duration: 200ms;
|
|
|
|
resize: vertical;
|
|
}
|
|
|
|
div.prompt-wrapper > textarea:focus {
|
|
width: 700px;
|
|
}
|
|
|
|
div.prompt-wrapper > .prompt-indicator {
|
|
display: flex;
|
|
|
|
cursor: help;
|
|
|
|
width: 20px;
|
|
}
|
|
|
|
div.prompt-wrapper:first-child > .prompt-indicator {
|
|
border-top-left-radius: 5px;
|
|
}
|
|
|
|
div.prompt-wrapper:last-child > .prompt-indicator {
|
|
border-bottom-left-radius: 5px;
|
|
}
|
|
|
|
div.prompt-wrapper > .prompt-indicator.positive {
|
|
background-color: #484;
|
|
}
|
|
|
|
div.prompt-wrapper > .prompt-indicator.negative {
|
|
background-color: #844;
|
|
}
|
|
div.prompt-wrapper > .prompt-indicator.styles {
|
|
background-color: #448;
|
|
}
|
|
|
|
div.prompt-wrapper > .prompt-indicator::after {
|
|
content: "";
|
|
display: block;
|
|
margin: auto;
|
|
|
|
width: 16px;
|
|
height: 16px;
|
|
|
|
background-color: var(--c-text);
|
|
|
|
mask-size: contain;
|
|
-webkit-mask-size: contain;
|
|
}
|
|
|
|
div.prompt-wrapper > .prompt-indicator.positive::after {
|
|
mask-image: url("../res/icons/plus-square.svg");
|
|
-webkit-mask-image: url("../res/icons/plus-square.svg");
|
|
}
|
|
|
|
div.prompt-wrapper > .prompt-indicator.negative::after {
|
|
mask-image: url("../res/icons/minus-square.svg");
|
|
-webkit-mask-image: url("../res/icons/minus-square.svg");
|
|
}
|
|
|
|
div.prompt-wrapper > .prompt-indicator.styles::after {
|
|
mask-image: url("../res/icons/library.svg");
|
|
-webkit-mask-image: url("../res/icons/library.svg");
|
|
}
|
|
|
|
.prompt-history-wrapper {
|
|
position: relative;
|
|
|
|
flex-shrink: 0;
|
|
|
|
width: 20px;
|
|
}
|
|
|
|
.prompt-history-container {
|
|
display: flex;
|
|
|
|
position: absolute;
|
|
|
|
top: 0;
|
|
left: 0;
|
|
|
|
height: 100%;
|
|
}
|
|
|
|
#prompt-history {
|
|
width: 0px;
|
|
height: 100%;
|
|
|
|
transition-duration: 200ms;
|
|
|
|
background-color: #1e1e50;
|
|
}
|
|
|
|
#prompt-history.expanded {
|
|
width: 300px;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
#prompt-history .entry {
|
|
display: flex;
|
|
align-items: stretch;
|
|
justify-content: stretch;
|
|
|
|
border: 1px #fff3;
|
|
|
|
height: 25px;
|
|
}
|
|
|
|
#prompt-history.expanded .entry > button {
|
|
padding: 2px;
|
|
padding-left: 5px;
|
|
}
|
|
|
|
#prompt-history .entry > button {
|
|
flex: 1;
|
|
|
|
cursor: pointer;
|
|
|
|
margin: 0;
|
|
border: 0;
|
|
padding: 0;
|
|
|
|
color: var(--c-text);
|
|
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
|
|
transition-duration: 100ms;
|
|
}
|
|
|
|
#prompt-history .entry:hover > button:not(:hover) {
|
|
flex-grow: 0;
|
|
flex-shrink: 1;
|
|
flex-basis: 20%;
|
|
width: 20%;
|
|
}
|
|
|
|
#prompt-history .entry > button.prompt {
|
|
background-color: #484;
|
|
}
|
|
|
|
#prompt-history .entry > button.negative {
|
|
background-color: #844;
|
|
}
|
|
|
|
#prompt-history .entry > button.styles {
|
|
background-color: #448;
|
|
}
|
|
|
|
#prompt-history .entry > button:hover {
|
|
filter: brightness(115%);
|
|
backdrop-filter: brightness(115%);
|
|
}
|
|
|
|
#prompt-history .entry > button:active {
|
|
filter: brightness(150%);
|
|
backdrop-filter: brightness(150%);
|
|
}
|
|
|
|
button.prompt-history-btn {
|
|
cursor: pointer;
|
|
|
|
border-radius: 0;
|
|
|
|
border-top-right-radius: 5px;
|
|
border-bottom-right-radius: 5px;
|
|
|
|
background-color: #1e1e50;
|
|
|
|
margin: 0;
|
|
padding: 0;
|
|
border: 0;
|
|
|
|
width: 20px;
|
|
}
|
|
|
|
button.prompt-history-btn::after {
|
|
content: "";
|
|
display: block;
|
|
margin: auto;
|
|
|
|
width: 16px;
|
|
height: 16px;
|
|
|
|
background-color: var(--c-text);
|
|
|
|
mask-size: contain;
|
|
-webkit-mask-size: contain;
|
|
|
|
mask-image: url("../res/icons/history.svg");
|
|
-webkit-mask-image: url("../res/icons/history.svg");
|
|
}
|
|
|
|
button.prompt-history-btn:hover {
|
|
filter: brightness(115%);
|
|
}
|
|
|
|
button.prompt-history-btn:active {
|
|
filter: brightness(150%);
|
|
}
|
|
|
|
/* Style Field */
|
|
select > .style-select-option {
|
|
position: relative;
|
|
|
|
cursor: pointer;
|
|
}
|
|
|
|
select > .style-select-option:hover {
|
|
background-color: #999;
|
|
}
|
|
|
|
select > .style-select-option:active {
|
|
background-color: #aaa;
|
|
}
|
|
|
|
/* Tool buttons */
|
|
.button-array {
|
|
display: flex;
|
|
justify-content: stretch;
|
|
}
|
|
|
|
.button-array > .button.tool {
|
|
flex: 1;
|
|
border-radius: 0;
|
|
}
|
|
|
|
.button-array > .button.tool:first-child {
|
|
border-top-left-radius: 5px;
|
|
border-bottom-left-radius: 5px;
|
|
}
|
|
|
|
.button-array > .button.tool:last-child {
|
|
border-top-right-radius: 5px;
|
|
border-bottom-right-radius: 5px;
|
|
}
|
|
|
|
.button.tool {
|
|
background-color: rgb(0, 0, 50);
|
|
color: rgb(255, 255, 255);
|
|
cursor: pointer;
|
|
border: none;
|
|
text-align: center;
|
|
outline: none;
|
|
font-size: 15px;
|
|
padding: 5px;
|
|
margin-top: 5px;
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
.button.tool:disabled {
|
|
background-color: #666 !important;
|
|
cursor: default;
|
|
}
|
|
|
|
.button.tool:hover {
|
|
background-color: rgb(30, 30, 80);
|
|
}
|
|
.button.tool:active,
|
|
.button.tool.active {
|
|
background-color: rgb(60, 60, 130);
|
|
}
|
|
|
|
/* Miscellaneous garbage */
|
|
|
|
.thirdwidth {
|
|
max-width: 33%;
|
|
}
|
|
|
|
.refreshbutton {
|
|
max-width: 50%;
|
|
max-height: 50%;
|
|
}
|