openOutpaint/css/index.css
2022-12-18 17:50:40 -06:00

636 lines
9.7 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;
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;
max-width: 300px;
max-height: 400px;
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 input {
flex-shrink: 0;
width: calc(100% - 15px);
display: block;
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;
}
/* 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;
}
#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);
}