Add custom nodes, Civitai loras (LFS), and vast.ai setup script
Some checks failed
Python Linting / Run Ruff (push) Has been cancelled
Python Linting / Run Pylint (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.10, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.11, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.12, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-unix-nightly (12.1, , linux, 3.11, [self-hosted Linux], nightly) (push) Has been cancelled
Execution Tests / test (macos-latest) (push) Has been cancelled
Execution Tests / test (ubuntu-latest) (push) Has been cancelled
Execution Tests / test (windows-latest) (push) Has been cancelled
Test server launches without errors / test (push) Has been cancelled
Unit Tests / test (macos-latest) (push) Has been cancelled
Unit Tests / test (ubuntu-latest) (push) Has been cancelled
Unit Tests / test (windows-2022) (push) Has been cancelled
Some checks failed
Python Linting / Run Ruff (push) Has been cancelled
Python Linting / Run Pylint (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.10, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.11, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-stable (12.1, , linux, 3.12, [self-hosted Linux], stable) (push) Has been cancelled
Full Comfy CI Workflow Runs / test-unix-nightly (12.1, , linux, 3.11, [self-hosted Linux], nightly) (push) Has been cancelled
Execution Tests / test (macos-latest) (push) Has been cancelled
Execution Tests / test (ubuntu-latest) (push) Has been cancelled
Execution Tests / test (windows-latest) (push) Has been cancelled
Test server launches without errors / test (push) Has been cancelled
Unit Tests / test (macos-latest) (push) Has been cancelled
Unit Tests / test (ubuntu-latest) (push) Has been cancelled
Unit Tests / test (windows-2022) (push) Has been cancelled
Includes 30 custom nodes committed directly, 7 Civitai-exclusive loras stored via Git LFS, and a setup script that installs all dependencies and downloads HuggingFace-hosted models on vast.ai. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
156
custom_nodes/rgthree-comfy/src_web/common/css/buttons.scss
Normal file
156
custom_nodes/rgthree-comfy/src_web/common/css/buttons.scss
Normal file
@@ -0,0 +1,156 @@
|
||||
:not(#fakeid) .rgthree-button-reset {
|
||||
position: relative;
|
||||
appearance: none;
|
||||
cursor: pointer;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
color: inherit;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
$borderRadius: 0.33rem;
|
||||
|
||||
:not(#fakeid) .rgthree-button {
|
||||
--padding-top: 7px;
|
||||
--padding-bottom: 9px;
|
||||
--padding-x: 16px;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
border: 0;
|
||||
border-radius: $borderRadius;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
color: white;
|
||||
font-family: system-ui, sans-serif;
|
||||
font-size: calc(16rem / 16);
|
||||
line-height: 1;
|
||||
white-space: nowrap;
|
||||
text-decoration: none;
|
||||
margin: 0.25rem;
|
||||
box-shadow: 0px 0px 2px rgb(0, 0, 0);
|
||||
background: #212121;
|
||||
transition: all 0.1s ease-in-out;
|
||||
padding: var(--padding-top) var(--padding-x) var(--padding-bottom);
|
||||
display: inline-flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
&::before,
|
||||
&::after {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
border-radius: $borderRadius;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
box-shadow:
|
||||
inset 1px 1px 0px rgba(255, 255, 255, 0.12),
|
||||
inset -1px -1px 0px rgba(0, 0, 0, 0.75);
|
||||
background: linear-gradient(to bottom, rgba(255, 255, 255, 0.06), rgba(0, 0, 0, 0.15));
|
||||
mix-blend-mode: screen;
|
||||
}
|
||||
|
||||
&::after {
|
||||
mix-blend-mode: multiply;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: #303030;
|
||||
}
|
||||
&:active {
|
||||
box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
|
||||
background: #121212;
|
||||
padding: calc(var(--padding-top) + 1px) calc(var(--padding-x) - 1px)
|
||||
calc(var(--padding-bottom) - 1px) calc(var(--padding-x) + 1px);
|
||||
}
|
||||
|
||||
&:active::before,
|
||||
&:active::after {
|
||||
box-shadow:
|
||||
1px 1px 0px rgba(255, 255, 255, 0.15),
|
||||
inset 1px 1px 0px rgba(0, 0, 0, 0.5),
|
||||
inset 1px 3px 5px rgba(0, 0, 0, 0.33);
|
||||
}
|
||||
|
||||
&.-blue {
|
||||
background: #346599 !important;
|
||||
}
|
||||
&.-blue:hover {
|
||||
background: #3b77b8 !important;
|
||||
}
|
||||
&.-blue:active {
|
||||
background: #1d5086 !important;
|
||||
}
|
||||
|
||||
&.-green {
|
||||
background: linear-gradient(to bottom, rgba(255, 255, 255, 0.06), rgba(0, 0, 0, 0.15)), #14580b;
|
||||
}
|
||||
&.-green:hover {
|
||||
background: linear-gradient(to bottom, rgba(255, 255, 255, 0.06), rgba(0, 0, 0, 0.15)), #1a6d0f;
|
||||
}
|
||||
&.-green:active {
|
||||
background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15), rgba(255, 255, 255, 0.06)), #0f3f09;
|
||||
}
|
||||
|
||||
&[disabled] {
|
||||
box-shadow: none;
|
||||
background: #666 !important;
|
||||
color: #aaa;
|
||||
pointer-events: none;
|
||||
}
|
||||
&[disabled]::before,
|
||||
&[disabled]::after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
:not(#fakeid) .rgthree-comfybar-top-button-group {
|
||||
font-size: 0;
|
||||
flex: 1 1 auto;
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
|
||||
.rgthree-comfybar-top-button {
|
||||
margin: 0;
|
||||
flex: 1 1;
|
||||
height: 36px;
|
||||
padding: 0 12px;
|
||||
border-radius: 0;
|
||||
background: var(--p-button-secondary-background);
|
||||
color: var(--p-button-secondary-color);
|
||||
|
||||
&.-primary {
|
||||
background: var(--p-button-primary-background);
|
||||
color: var(--p-button-primary-color);
|
||||
}
|
||||
|
||||
&::before,
|
||||
&::after {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
|
||||
svg {
|
||||
fill: currentColor;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
}
|
||||
|
||||
.rgthree-comfybar-top-button:first-of-type,
|
||||
.rgthree-comfybar-top-button:first-of-type::before,
|
||||
.rgthree-comfybar-top-button:first-of-type::after {
|
||||
border-top-left-radius: 0.33rem;
|
||||
border-bottom-left-radius: 0.33rem;
|
||||
|
||||
}
|
||||
.rgthree-comfybar-top-button:last-of-type,
|
||||
.rgthree-comfybar-top-button:last-of-type::before,
|
||||
.rgthree-comfybar-top-button:last-of-type::after {
|
||||
border-top-right-radius: 0.33rem;
|
||||
border-bottom-right-radius: 0.33rem;
|
||||
}
|
||||
}
|
||||
129
custom_nodes/rgthree-comfy/src_web/common/css/dialog.scss
Normal file
129
custom_nodes/rgthree-comfy/src_web/common/css/dialog.scss
Normal file
@@ -0,0 +1,129 @@
|
||||
|
||||
.rgthree-dialog {
|
||||
outline: 0;
|
||||
border: 0;
|
||||
border-radius: 6px;
|
||||
background: #414141;
|
||||
color: #fff;
|
||||
box-shadow:
|
||||
inset 1px 1px 0px rgba(255, 255, 255, 0.05),
|
||||
inset -1px -1px 0px rgba(0, 0, 0, 0.5),
|
||||
2px 2px 20px rgb(0, 0, 0);
|
||||
max-width: 800px;
|
||||
box-sizing: border-box;
|
||||
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
|
||||
font-size: 1rem;
|
||||
padding: 0;
|
||||
max-height: calc(100% - 32px);
|
||||
|
||||
*, *::before, *::after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
.rgthree-dialog-container {
|
||||
// padding: 16px;
|
||||
> * {
|
||||
padding: 8px 16px;
|
||||
|
||||
&:first-child {
|
||||
padding-top: 16px;
|
||||
}
|
||||
&:last-child {
|
||||
padding-bottom: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rgthree-dialog.-iconed::after {
|
||||
content: "";
|
||||
font-size: 276px;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
opacity: 0.15;
|
||||
display: block;
|
||||
width: 237px;
|
||||
overflow: hidden;
|
||||
height: 186px;
|
||||
line-height: 1;
|
||||
pointer-events: none;
|
||||
z-index: -1;
|
||||
}
|
||||
.rgthree-dialog.-iconed.-help::after {
|
||||
content: "🛟";
|
||||
}
|
||||
.rgthree-dialog.-iconed.-settings::after {
|
||||
content: "⚙️";
|
||||
}
|
||||
|
||||
@media (max-width: 832px) {
|
||||
.rgthree-dialog {
|
||||
max-width: calc(100% - 32px);
|
||||
}
|
||||
}
|
||||
|
||||
.rgthree-dialog-container-title {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: start;
|
||||
}
|
||||
.rgthree-dialog-container-title > svg:first-child {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
margin-right: 16px;
|
||||
}
|
||||
.rgthree-dialog-container-title h2 {
|
||||
font-size: calc(22rem / 16);
|
||||
margin: 0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.rgthree-dialog-container-title h2 small {
|
||||
font-size: calc(13rem / 16);
|
||||
font-weight: normal;
|
||||
opacity: 0.75;
|
||||
}
|
||||
|
||||
.rgthree-dialog-container-content {
|
||||
overflow: auto;
|
||||
max-height: calc(100vh - 200px); /* Arbitrary height to copensate for margin, title, and footer.*/
|
||||
}
|
||||
.rgthree-dialog-container-content p {
|
||||
font-size: calc(13rem / 16);
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.rgthree-dialog-container-content ul li p {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.rgthree-dialog-container-content ul li p + p {
|
||||
margin-top: 0.5em;
|
||||
}
|
||||
|
||||
.rgthree-dialog-container-content ul li ul {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.rgthree-dialog-container-content p code {
|
||||
display: inline-block;
|
||||
padding: 2px 4px;
|
||||
margin: 0px 2px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.25);
|
||||
border-radius: 3px;
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
.rgthree-dialog-container-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
body.rgthree-dialog-open > *:not(.rgthree-dialog):not(.rgthree-top-messages-container) {
|
||||
filter: blur(5px);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,161 @@
|
||||
|
||||
.rgthree-lora-chooser-dialog {
|
||||
max-width: 100%;
|
||||
|
||||
|
||||
.rgthree-dialog-container-title {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.rgthree-dialog-container-title h2 {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
}
|
||||
.rgthree-lora-chooser-search {
|
||||
margin-left: auto;
|
||||
border-radius: 50px;
|
||||
width: 50%;
|
||||
max-width: 170px;
|
||||
padding: 2px 8px;
|
||||
}
|
||||
|
||||
.rgthree-lora-chooser-header {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.rgthree-lora-filters-container {
|
||||
svg {width: 16px; height: 16px;}
|
||||
}
|
||||
|
||||
.rgthree-dialog-container-content {
|
||||
width: 80vw;
|
||||
height: 80vh;
|
||||
}
|
||||
|
||||
.rgthree-button-reset {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
> svg {width: 100%; height: 100%;}
|
||||
|
||||
}
|
||||
|
||||
ul.rgthree-lora-chooser-list {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
align-items: start;
|
||||
justify-content: space-around;
|
||||
|
||||
> li {
|
||||
position: relative;
|
||||
flex: 0 0 auto;
|
||||
width: 170px;
|
||||
max-width: 100%;
|
||||
margin: 8px 8px 16px;
|
||||
|
||||
label {
|
||||
position: absolute;
|
||||
display: block;
|
||||
inset: 0;
|
||||
z-index: 3;
|
||||
cursor: pointer;
|
||||
}
|
||||
input[type="checkbox"] {
|
||||
position: absolute;
|
||||
right: 8px;
|
||||
top: 8px;
|
||||
margin: 0;
|
||||
z-index: 2;
|
||||
appearance: none;
|
||||
background-color: #fff;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid rgba(120,120,120,1);
|
||||
opacity: 0;
|
||||
transition: opacity 0.15s ease-in-out;
|
||||
|
||||
&:checked {
|
||||
opacity: 1;
|
||||
background: #0060df;
|
||||
&::before {
|
||||
content: "";
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
box-shadow: inset 100px 100px #fff;
|
||||
clip-path: polygon(40.13% 68.39%, 23.05% 51.31%, 17.83% 48.26%, 12.61% 49.57%, 9.57% 53.04%, 8% 60%, 34.13% 85.87%, 39.82% 89.57%, 45.88% 86.73%, 90.66% 32.39%, 88.92% 26.1%, 83.03% 22.17%, 76.94% 22.62%)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
figure {
|
||||
position: relative;
|
||||
display: block;
|
||||
margin: 0 0 8px;
|
||||
padding: 0;
|
||||
border: 1px solid rgba(120, 120, 120, .8);
|
||||
background: rgba(120, 120, 120, .5);
|
||||
width: 100%;
|
||||
padding-top: 120%;
|
||||
transition: box-shadow 0.15s ease-in-out;
|
||||
opacity: 0.75;
|
||||
&::after {
|
||||
content: '';
|
||||
display: block;
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
}
|
||||
|
||||
&:empty {
|
||||
&::before {
|
||||
content: 'No image.';
|
||||
color: rgba(200, 200, 200, .8);
|
||||
position: absolute;
|
||||
display: block;
|
||||
inset: 0;
|
||||
font-size: 1.2em;
|
||||
text-align: center;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
> img, > video {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
object-fit: cover;
|
||||
}
|
||||
}
|
||||
div {
|
||||
word-wrap: break-word;
|
||||
font-size: 0.8rem;
|
||||
opacity: 0.75;
|
||||
}
|
||||
|
||||
&:hover figure::after{
|
||||
box-shadow: 0px 2px 6px rgba(0,0,0,0.75);
|
||||
}
|
||||
:checked ~ figure::after {
|
||||
box-shadow: 0 0 5px #fff, 0px 0px 15px rgba(49, 131, 255, 0.88), inset 0 0 3px #fff, inset 0px 0px 5px rgba(49, 131, 255, 0.88)
|
||||
}
|
||||
|
||||
&:hover *,
|
||||
&:hover input[type="checkbox"],
|
||||
:checked ~ * {
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,400 @@
|
||||
|
||||
.rgthree-info-dialog {
|
||||
|
||||
width: 90vw;
|
||||
max-width: 960px;
|
||||
|
||||
.rgthree-info-area {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
|
||||
> li {
|
||||
display: inline-flex;
|
||||
margin: 0;
|
||||
vertical-align: top;
|
||||
|
||||
+ li {
|
||||
margin-left: 6px;
|
||||
}
|
||||
&:not(.-link) + li.-link {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
&.rgthree-info-tag > * {
|
||||
min-height: 24px;
|
||||
border-radius: 4px;
|
||||
line-height: 1;
|
||||
color: rgba(255,255,255,0.85);
|
||||
background: rgb(69, 92, 85);;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
display: flex;
|
||||
height: 1.6em;
|
||||
padding-left: .5em;
|
||||
padding-right: .5em;
|
||||
padding-bottom: .1em;
|
||||
align-content: center;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
box-shadow: inset 0px 0px 0 1px rgba(0, 0, 0, 0.5);
|
||||
|
||||
> svg {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
|
||||
&:last-child {
|
||||
margin-left: .5em;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&[href] {
|
||||
box-shadow: inset 0px 1px 0px rgba(255,255,255,0.25), inset 0px -1px 0px rgba(0,0,0,0.66);
|
||||
}
|
||||
|
||||
&:empty {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
// &.-civitai > * {
|
||||
// color: #ddd;
|
||||
// background: #1b65aa;
|
||||
// transition: all 0.15s ease-in-out;
|
||||
// &:hover {
|
||||
// color: #fff;
|
||||
// border-color: #1971c2;
|
||||
// background: #1971c2;
|
||||
// }
|
||||
// }
|
||||
&.-type > * {
|
||||
background: rgb(73, 54, 94);
|
||||
color: rgb(228, 209, 248);
|
||||
}
|
||||
|
||||
&.rgthree-info-menu {
|
||||
margin-left: auto;
|
||||
|
||||
:not(#fakeid) & .rgthree-button {
|
||||
margin: 0;
|
||||
min-height: 24px;
|
||||
padding: 0 12px;
|
||||
}
|
||||
|
||||
svg {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rgthree-info-table {
|
||||
border-collapse: collapse;
|
||||
margin: 16px 0px;
|
||||
width: 100%;
|
||||
font-size: 12px;
|
||||
|
||||
tr.editable button {
|
||||
display: flex;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
svg + svg {display: none;}
|
||||
}
|
||||
tr.editable.-rgthree-editing button {
|
||||
svg {display: none;}
|
||||
svg + svg {display: inline-block;}
|
||||
}
|
||||
|
||||
td {
|
||||
position: relative;
|
||||
border: 1px solid rgba(255,255,255,0.25);
|
||||
padding: 0;
|
||||
vertical-align: top;
|
||||
|
||||
&:first-child {
|
||||
background: rgba(255,255,255,0.075);
|
||||
width: 10px; // Small, so it doesn't adjust.
|
||||
> *:first-child {
|
||||
white-space: nowrap;
|
||||
padding-right: 32px;
|
||||
}
|
||||
|
||||
small {
|
||||
display: block;
|
||||
margin-top: 2px;
|
||||
opacity: 0.75;
|
||||
|
||||
> [data-action] {
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
a, a:hover, a:visited {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
svg {
|
||||
width: 1.3333em;
|
||||
height: 1.3333em;
|
||||
vertical-align: -0.285em;
|
||||
|
||||
&.logo-civitai {
|
||||
margin-right: 0.3333em;
|
||||
}
|
||||
}
|
||||
|
||||
> *:first-child {
|
||||
display: block;
|
||||
padding: 6px 10px;
|
||||
}
|
||||
|
||||
> input, > textarea{
|
||||
padding: 5px 10px;
|
||||
border: 0;
|
||||
box-shadow: inset 1px 1px 5px 0px rgba(0,0,0,0.5);
|
||||
font: inherit;
|
||||
appearance: none;
|
||||
background: #fff;
|
||||
color: #121212;
|
||||
resize: vertical;
|
||||
|
||||
&:only-child {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
:not(#fakeid) & .rgthree-button[data-action="fetch-civitai"] {
|
||||
font-size: inherit;
|
||||
padding: 6px 16px;
|
||||
margin: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
tr[data-field-name="userNote"] td > span:first-child {
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
tr.rgthree-info-table-break-row td {
|
||||
border: 0;
|
||||
background: transparent;
|
||||
padding: 12px 4px 4px;
|
||||
font-size: 1.2em;
|
||||
|
||||
> small {
|
||||
font-style: italic;
|
||||
opacity: 0.66;
|
||||
}
|
||||
|
||||
&:empty {
|
||||
padding: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
td .-help {
|
||||
border: 1px solid currentColor;
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
top: 6px;
|
||||
line-height: 1;
|
||||
font-size: 11px;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 8px;
|
||||
display: flex;
|
||||
align-content: center;
|
||||
justify-content: center;
|
||||
cursor: help;
|
||||
&::before {
|
||||
content: '?';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
td > ul.rgthree-info-trained-words-list {
|
||||
list-style: none;
|
||||
padding: 2px 8px;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
max-height: 15vh;
|
||||
overflow: auto;
|
||||
|
||||
> li {
|
||||
display: inline-flex;
|
||||
margin: 2px;
|
||||
vertical-align: top;
|
||||
border-radius: 4px;
|
||||
line-height: 1;
|
||||
color: rgba(255,255,255,0.85);
|
||||
background: rgb(73, 91, 106);
|
||||
font-size: 1.2em;
|
||||
font-weight: 600;
|
||||
text-decoration: none;
|
||||
display: flex;
|
||||
height: 1.6em;
|
||||
align-content: center;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
box-shadow: inset 0px 0px 0 1px rgba(0, 0, 0, 0.5);
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
max-width: 183px;
|
||||
|
||||
&:hover {
|
||||
background: rgb(68, 109, 142);
|
||||
}
|
||||
|
||||
> svg {
|
||||
width: auto;
|
||||
height: 1.2em;
|
||||
}
|
||||
|
||||
> span {
|
||||
padding-left: .5em;
|
||||
padding-right: .5em;
|
||||
padding-bottom: .1em;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
> small {
|
||||
align-self: stretch;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0 0.5em;
|
||||
background: rgba(0,0,0,0.2);
|
||||
}
|
||||
|
||||
&.-rgthree-is-selected {
|
||||
background: rgb(42, 126, 193);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rgthree-info-images {
|
||||
list-style:none;
|
||||
padding:0;
|
||||
margin:0;
|
||||
scroll-snap-type: x mandatory;
|
||||
display:flex;
|
||||
flex-direction:row;
|
||||
overflow: auto;
|
||||
|
||||
> li {
|
||||
scroll-snap-align: start;
|
||||
max-width: 90%;
|
||||
flex: 0 0 auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
margin: 6px;
|
||||
font-size: 0;
|
||||
position: relative;
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
position: static;
|
||||
|
||||
video, img {
|
||||
max-height: 45vh;
|
||||
}
|
||||
|
||||
figcaption {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
bottom: 0;
|
||||
padding: 12px;
|
||||
font-size: 12px;
|
||||
background: rgba(0,0,0,0.85);
|
||||
opacity: 0;
|
||||
transform: translateY(50px);
|
||||
transition: all 0.25s ease-in-out;
|
||||
|
||||
> span {
|
||||
display: inline-block;
|
||||
padding: 2px 4px;
|
||||
margin: 2px;
|
||||
border-radius: 2px;
|
||||
border: 1px solid rgba(255,255,255,0.2);
|
||||
word-break: break-word;
|
||||
|
||||
label {
|
||||
display: inline;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
opacity: 0.5;
|
||||
pointer-events: none;
|
||||
user-select: none;
|
||||
}
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: underline;
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
svg {
|
||||
height: 10px;
|
||||
margin-left: 4px;
|
||||
fill: currentColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
&:empty {
|
||||
text-align: center;
|
||||
|
||||
&::before {
|
||||
content: 'No data.';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:hover figure figcaption {
|
||||
opacity: 1;
|
||||
transform: translateY(0px);
|
||||
}
|
||||
|
||||
.rgthree-info-table {
|
||||
width: calc(100% - 16px);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rgthree-info-civitai-link {
|
||||
margin: 8px;
|
||||
color: #eee;
|
||||
|
||||
a, a:hover, a:visited {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
> svg {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
122
custom_nodes/rgthree-comfy/src_web/common/css/menu.scss
Normal file
122
custom_nodes/rgthree-comfy/src_web/common/css/menu.scss
Normal file
@@ -0,0 +1,122 @@
|
||||
|
||||
|
||||
.rgthree-menu {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
position: fixed;
|
||||
z-index: 999999;
|
||||
pointer-events: none;
|
||||
opacity: 0;
|
||||
transition: opacity 0.08s ease-in-out;
|
||||
|
||||
color: #dde;
|
||||
background-color: #111;
|
||||
font-size: 12px;
|
||||
box-shadow: 0 0 10px black !important;
|
||||
|
||||
> li {
|
||||
position: relative;
|
||||
padding: 4px 6px;
|
||||
z-index: 9999;
|
||||
white-space: nowrap;
|
||||
|
||||
&[role="button"] {
|
||||
background-color: var(--comfy-menu-bg) !important;
|
||||
color: var(--input-text);
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
filter: brightness(155%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&[state^="measuring"] {
|
||||
display: block;
|
||||
opacity: 0;
|
||||
}
|
||||
&[state="open"] {
|
||||
display: block;
|
||||
opacity: 1;
|
||||
pointer-events: all;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.rgthree-top-menu {
|
||||
box-sizing: border-box;
|
||||
white-space: nowrap;
|
||||
background: var(--content-bg);
|
||||
color: var(--content-fg);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
* {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
|
||||
> li:not(#fakeid) {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
|
||||
> button {
|
||||
cursor: pointer;
|
||||
padding: 8px 12px 8px 8px;
|
||||
width: 100%;
|
||||
text-align: start;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: start;
|
||||
|
||||
&:hover {
|
||||
background-color: var(--comfy-input-bg);
|
||||
}
|
||||
|
||||
svg {
|
||||
height: 16px;
|
||||
width: auto;
|
||||
margin-inline-end: 0.6em;
|
||||
|
||||
&.github-star {
|
||||
fill: rgb(227, 179, 65);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.rgthree-message {
|
||||
// ComfyUI's code has strange behavior that that always puts the popupat to if its less than
|
||||
// 30px... we'll force our message to be at least 32px tall so it won't do that unless it's
|
||||
// actually on the bottom.
|
||||
min-height: 32px;
|
||||
> span {
|
||||
padding: 8px 12px;
|
||||
display: block;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-style: italic;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.-modal::after {
|
||||
content: '';
|
||||
display: block;
|
||||
position: fixed;
|
||||
z-index: 1;
|
||||
inset: 0;
|
||||
background: #0001;
|
||||
}
|
||||
}
|
||||
|
||||
body.rgthree-modal-menu-open > *:not(.rgthree-menu):not(.rgthree-top-messages-container) {
|
||||
filter: blur(2px);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
|
||||
html, body {
|
||||
|
||||
}
|
||||
html {
|
||||
font-size: 100%;
|
||||
overflow-y: scroll;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
*, *:before, *:after {
|
||||
box-sizing: inherit
|
||||
}
|
||||
|
||||
:root {
|
||||
--header-height: 56px;
|
||||
--progress-height: 12px;
|
||||
}
|
||||
|
||||
button {
|
||||
all: unset;
|
||||
}
|
||||
|
||||
.-bevel {
|
||||
position: relative;
|
||||
}
|
||||
.-bevel::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 1px solid red;
|
||||
border-color: rgba(255,255,255,0.15) rgba(255,255,255,0.15) rgba(0,0,0,0.5) rgba(0,0,0,0.5);
|
||||
z-index: 5;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
|
||||
body {
|
||||
background: #202020;
|
||||
font-family: Arial, sans-serif;
|
||||
font-size: calc(16 * 0.0625rem);
|
||||
font-weight: 400;
|
||||
margin: 0;
|
||||
padding-top: calc(var(--header-height) + var(--progress-height));
|
||||
color: #ffffff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: start;
|
||||
}
|
||||
|
||||
.app-header {
|
||||
height: var( --header-height);
|
||||
padding: 0;
|
||||
position: fixed;
|
||||
z-index: 99;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
background: #353535;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: start;
|
||||
}
|
||||
Reference in New Issue
Block a user