Peter-Young's picture
Upload folder using huggingface_hub
5193146 verified
import { $el } from "/scripts/ui.js";
$el("style", {
textContent: `
.JNodes-image-drawer {
position: absolute;
background: var(--comfy-menu-bg);
color: var(--fg-color);
z-index: 99;
font-family: sans-serif;
font-size: 12px;
display: flex;
flex-direction: column;
min-width: min-content;
width: calc(var(--drawer-width, 20) * 1vw);
height: calc(var(--drawer-height, 20) * 1vh);
}
.JNodes-image-drawer--bottom-left,
.JNodes-image-drawer--bottom-right {
bottom: 0;
flex-direction: column-reverse;
padding-top: 1px;
}
.JNodes-image-drawer--top-left,
.JNodes-image-drawer--top-right {
top: 0;
}
.JNodes-image-drawer--top-left,
.JNodes-image-drawer--bottom-left {
left: 0;
}
.JNodes-image-drawer--top-right,
.JNodes-image-drawer--bottom-right {
right: 0;
}
.JNodes-image-drawer-basic-controls-group {
display: flex;
gap: .5rem;
flex: 0 1 fit-content;
}
.JNodes-image-drawer--top-left .JNodes-image-drawer-basic-controls-group,
.JNodes-image-drawer--bottom-left .JNodes-image-drawer-basic-controls-group {
align-items: left;
justify-content: flex-start;
flex-direction: row;
}
.JNodes-image-drawer--top-right .JNodes-image-drawer-basic-controls-group,
.JNodes-image-drawer--bottom-right .JNodes-image-drawer-basic-controls-group {
align-items: right;
justify-content: flex-end;
flex-direction: row-reverse;
}
.JNodes-image-drawer--top-left .JNodes-image-drawer-left-affined-basic-controls-group,
.JNodes-image-drawer--bottom-left .JNodes-image-drawer-left-affined-basic-controls-group {
flex-direction: row;
}
.JNodes-image-drawer--top-right .JNodes-image-drawer-left-affined-basic-controls-group,
.JNodes-image-drawer--bottom-right .JNodes-image-drawer-left-affined-basic-controls-group {
flex-direction: row-reverse;
}
.JNodes-image-drawer--top-left .JNodes-image-drawer-right-affined-basic-controls-group,
.JNodes-image-drawer--bottom-left .JNodes-image-drawer-right-affined-basic-controls-group {
flex-direction: row;
}
.JNodes-image-drawer--top-right .JNodes-image-drawer-right-affined-basic-controls-group,
.JNodes-image-drawer--bottom-right .JNodes-image-drawer-right-affined-basic-controls-group {
flex-direction: row-reverse;
}
.JNodes-image-drawer--top-right .JNodes-image-drawer-menu,
.JNodes-image-drawer--top-left .JNodes-image-drawer-menu {
flex-direction: column;
}
.JNodes-image-drawer--bottom-right .JNodes-image-drawer-menu,
.JNodes-image-drawer--bottom-left .JNodes-image-drawer-menu {
flex-direction: column-reverse;
}
.JNodes-image-drawer-context-toolbar {
display: flex;
}
.JNodes-image-drawer--top-left .JNodes-image-drawer-context-toolbar,
.JNodes-image-drawer--bottom-left .JNodes-image-drawer-context-toolbar {
align-items: flex-end;
justify-content: flex-end;
}
.JNodes-image-drawer--top-right .JNodes-image-drawer-context-toolbar,
.JNodes-image-drawer--bottom-right .JNodes-image-drawer-context-toolbar {
align-items: flex-start;
justify-content: flex-start;
}
.JNodes-image-drawer-btn {
background-color:var(--comfy-input-bg);
border-radius:5px;
border:2px solid var(--border-color);
color: var(--fg-color);
cursor:pointer;
display:inline-block;
flex: 0 1 fit-content;
text-decoration:none;
}
.JNodes-image-drawer-btn:hover {
filter: brightness(1.2);
}
.JNodes-image-drawer-btn:active {
position:relative;
top:1px;
}
.flyout-handle,
.flyout-menu {
background: rgba(0,0,0,0.9);
display: flex;
gap: 5px;
border-radius: 4px;
}
.flyout-handle {
align-items: center;
padding: 0 5px;
position: relative;
border: 2px solid var(--border-color);
}
.flyout-handle .flyout-menu tr {
width: 100%
}
.flyout-handle .flyout-menu td {
width: 100%
}
.flyout-handle tr span,
.flyout-handle tr a {
white-space: nowrap;
}
.flyout-handle tr input {
flex: 1 1 100%;
flex-direction: flex-start;
border-radius: 5px;
overflow: hidden;
z-index: 100;
}
.flyout-handle .flyout-handle-label {
width: max-content;
}
.flyout-menu {
position: absolute;
flex-direction: column;
align-items: flex-start;
z-index: 102;
flex: 1 1 100%;
padding: 100%;
transform: scale(1,0);
overflow-x: scroll;
overflow-y: scroll;
width: fit-content;
}
.flyout-handle:hover .flyout-menu {
transform: scale(1,1);
transition: 100ms linear;
transition-delay: 0ms;
}
.flyout-menu.video-menu {
align-items: flex-end;
}
.JNodes-interactive-container:hover {
filter: brightness(2) drop-shadow(-1px -1px blue);
cursor: 'pointer';
}
.JNodes-interactive-container:active {
filter: brightness(2) drop-shadow(-1px -1px orange);
cursor: 'pointer';
}
.JNodes-image-drawer-list {
flex: 1 1 auto;
overflow-y: scroll;
display: grid;
align-items: center;
justify-content: center;
gap: 4px;
grid-auto-rows: min-content;
grid-template-columns: repeat(var(--column-count, 3), 1fr);
transition: 100ms linear;
scrollbar-gutter: stable;
padding: 5px;
background: var(--comfy-input-bg);
border-radius: 5px;
margin: 5px;
margin-top: 0px;
}
.JNodes-image-drawer-list:empty {
display: none;
}
.JNodes-image-drawer-list::-webkit-scrollbar {
background: var(--comfy-input-bg);
border-radius: 5px;
}
.JNodes-image-drawer-list::-webkit-scrollbar-thumb {
background:var(--comfy-menu-bg);
border: 5px solid transparent;
border-radius: 8px;
background-clip: content-box;
color: rgb(255,255,255);
}
.JNodes-image-drawer-list::-webkit-scrollbar-thumb:hover {
background: var(--border-color);
background-clip: content-box;
}
.JNodes-image-drawer-list div:hover {
filter: brightness(1.05);
}
.JNodes-image-drawer-list .imageElement img,
.JNodes-image-drawer-list .imageElement video {
width: 100%;
}`,
parent: document.body,
});