- web/lib/: the shared rgthree-derived layer (mxd_* utils, dialogs, api, runtime) + its CSS, moved as a unit. - web/nodes/: one extension file per node/feature, _mxd suffix dropped. - web/vendor/zip_loader/: vendored zip import addon. - index.js explicitly imports every module; loraloader_mxd_entry.js folded into it and deleted. Power Lora Loader merge: new web/nodes/power_lora_base.js holds the shared node machinery, header row, and single-strength lora row widget. power_lora_loader.js (dual model/clip strengths) and ltx2_power_lora_loader.js (per-layer strength rows) are now thin subclasses (~450 duplicated lines removed). Serialization formats, widget names, extension names, and node targets unchanged. better_combos.js scoped to MXD latent loaders only: removed the pysssss CheckpointLoader/LoraLoader patching (already disabled behind ENABLE_PYSSSS_NODE_ENHANCEMENTS=false, so provably inert), the dead ' MXD' alias config entries, and the no-op refreshComboInNodes wrapper. scripts/check_web.py clean; node schema unchanged (68 identical). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
104 lines
2.1 KiB
CSS
104 lines
2.1 KiB
CSS
.mxd-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;
|
|
}
|
|
.mxd-menu > li {
|
|
position: relative;
|
|
padding: 4px 6px;
|
|
z-index: 9999;
|
|
white-space: nowrap;
|
|
}
|
|
.mxd-menu > li[role=button] {
|
|
background-color: var(--comfy-menu-bg) !important;
|
|
color: var(--input-text);
|
|
cursor: pointer;
|
|
}
|
|
.mxd-menu > li[role=button]:hover {
|
|
filter: brightness(155%);
|
|
}
|
|
.mxd-menu[state^=measuring] {
|
|
display: block;
|
|
opacity: 0;
|
|
}
|
|
.mxd-menu[state=open] {
|
|
display: block;
|
|
opacity: 1;
|
|
pointer-events: all;
|
|
}
|
|
|
|
.mxd-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;
|
|
}
|
|
.mxd-top-menu * {
|
|
box-sizing: inherit;
|
|
}
|
|
.mxd-top-menu > li:not(#fakeid) {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
position: relative;
|
|
z-index: 2;
|
|
}
|
|
.mxd-top-menu > li:not(#fakeid) > button {
|
|
cursor: pointer;
|
|
padding: 8px 12px 8px 8px;
|
|
width: 100%;
|
|
text-align: start;
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
justify-content: start;
|
|
}
|
|
.mxd-top-menu > li:not(#fakeid) > button:hover {
|
|
background-color: var(--comfy-input-bg);
|
|
}
|
|
.mxd-top-menu > li:not(#fakeid) > button svg {
|
|
height: 16px;
|
|
width: auto;
|
|
margin-inline-end: 0.6em;
|
|
}
|
|
.mxd-top-menu > li:not(#fakeid) > button svg.github-star {
|
|
fill: rgb(227, 179, 65);
|
|
}
|
|
.mxd-top-menu > li:not(#fakeid).mxd-message {
|
|
min-height: 32px;
|
|
}
|
|
.mxd-top-menu > li:not(#fakeid).mxd-message > span {
|
|
padding: 8px 12px;
|
|
display: block;
|
|
width: 100%;
|
|
text-align: center;
|
|
font-style: italic;
|
|
font-size: 12px;
|
|
}
|
|
.mxd-top-menu.-modal::after {
|
|
content: "";
|
|
display: block;
|
|
position: fixed;
|
|
z-index: 1;
|
|
inset: 0;
|
|
background: rgba(0, 0, 0, 0.0666666667);
|
|
}
|
|
|
|
body.mxd-modal-menu-open > *:not(.mxd-menu):not(.mxd-top-messages-container) {
|
|
filter: blur(2px);
|
|
}
|