Skip to content
Open
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 169 additions & 2 deletions js/comfyui-manager.js
Comment thread
admdev24 marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,167 @@ import { buildGuiFrame, createSettingsCombo } from "./comfyui-gui-builder.js";

let manager_version = await getVersion();

// =========================================================================
// HOVER & KEYBOARD ACCESSIBILITY GLOW RING HOOK (GLOBAL CORE SHIELD)
// =========================================================================
const customHoverStyle = document.createElement('style');
customHoverStyle.innerHTML = `
/* 1. Setup the main close button container cleanly across all windows */
#cm-manager-dialog .p-dialog-header-close,
#cm-manager-dialog .p-dialog-close-button,
#cm-manager-dialog button[class*="-close"],
#cm-manager-dialog button[onclick*="close"],
.comfy-modal .p-dialog-header-close,
.comfy-modal .p-dialog-close-button,
.comfy-modal button[class*="-close"],
.comfy-modal button[onclick*="close"],
.comfy-dialog .comfy-menu-close,
.comfy-dialog button[class*="close"],
.comfy-panel .comfy-menu-close,
.comfy-panel button[class*="close"],
div[class*="cn-manager"] button[class*="close"],
div[class*="cn-manager"] .comfy-menu-close,
.cn-manager-dialog button[class*="close"],
.cn-manager-dialog .comfy-menu-close,
div[class*="mm-manager"] button[class*="close"],
div[class*="mm-manager"] .comfy-menu-close,
.mm-manager-dialog button[class*="close"],
.mm-manager-dialog .comfy-menu-close,
.comfy-modal div[style*="position: fixed"] button,
.comfy-modal div button[style*="float: right"],
.comfy-modal button[style*="float: right"] {
border: none !important;
outline: none !important;
box-shadow: none !important;
background: transparent !important;
background-color: transparent !important;
padding: 0 !important;
margin: 0 !important;
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
box-sizing: border-box !important;
position: relative !important;
width: 32px !important;
height: 32px !important;
overflow: visible !important;
}

/* 2. Lock the "X" character itself dead-center using perfect structural text metrics */
#cm-manager-dialog .p-dialog-header-close *,
#cm-manager-dialog .p-dialog-close-button *,
#cm-manager-dialog button[class*="-close"] *,
.comfy-modal .p-dialog-header-close *,
.comfy-modal .p-dialog-close-button *,
.comfy-modal button[class*="-close"] *,
.comfy-dialog .comfy-menu-close *,
.comfy-dialog button[class*="close"] *,
.comfy-panel .comfy-menu-close *,
.comfy-panel button[class*="close"] *,
div[class*="cn-manager"] button[class*="close"] *,
div[class*="cn-manager"] .comfy-menu-close *,
div[class*="mm-manager"] button[class*="close"] *,
div[class*="mm-manager"] .comfy-menu-close *,
.comfy-modal div[style*="position: fixed"] button *,
.comfy-modal div button[style*="float: right"] *,
.comfy-modal button[style*="float: right"] * {
position: relative !important;
z-index: 2 !important;
display: inline-block !important;
line-height: 32px !important;
height: 32px !important;
width: 32px !important;
text-align: center !important;
padding: 0 !important;
margin: 0 !important;
}

/* 3. Create a clean hidden circular layer right behind the icon character */
#cm-manager-dialog .p-dialog-header-close::before,
#cm-manager-dialog .p-dialog-close-button::before,
#cm-manager-dialog button[class*="-close"]::before,
#cm-manager-dialog button[onclick*="close"]::before,
.comfy-modal .p-dialog-header-close::before,
.comfy-modal .p-dialog-close-button::before,
.comfy-modal button[class*="-close"]::before,
.comfy-modal button[onclick*="close"]::before,
.comfy-dialog .comfy-menu-close::before,
.comfy-dialog button[class*="close"]::before,
.comfy-panel .comfy-menu-close::before,
.comfy-panel button[class*="close"]::before,
div[class*="cn-manager"] button[class*="close"]::before,
div[class*="cn-manager"] .comfy-menu-close::before,
div[class*="mm-manager"] button[class*="close"]::before,
div[class*="mm-manager"] .comfy-menu-close::before,
.comfy-modal div[style*="position: fixed"] button::before,
.comfy-modal div button[style*="float: right"]::before,
.comfy-modal button[style*="float: right"]::before {
content: "" !important;
position: absolute !important;
z-index: 1 !important;
top: 50% !important;
left: 50% !important;
width: 30px !important;
height: 30px !important;
border-radius: 50% !important;
background-color: transparent !important;
box-sizing: border-box !important;
transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out !important;
transform: translate(-74.5%, -50%) !important;
}
Comment thread
coderabbitai[bot] marked this conversation as resolved.

/* 4. Trigger the grey circular fill on cursor hover OR keyboard focus */
#cm-manager-dialog .p-dialog-header-close:hover::before,
#cm-manager-dialog .p-dialog-close-button:hover::before,
#cm-manager-dialog button[class*="-close"]:hover::before,
#cm-manager-dialog button[onclick*="close"]:hover::before,
.comfy-modal .p-dialog-header-close:hover::before,
.comfy-modal .p-dialog-close-button:hover::before,
.comfy-modal button[class*="-close"]:hover::before,
.comfy-modal button[onclick*="close"]:hover::before,
.comfy-dialog .comfy-menu-close:hover::before,
.comfy-dialog button[class*="close"]:hover::before,
.comfy-panel .comfy-menu-close:hover::before,
.comfy-panel button[class*="close"]:hover::before,
div[class*="cn-manager"] button[class*="close"]:hover::before,
div[class*="cn-manager"] .comfy-menu-close:hover::before,
div[class*="mm-manager"] button[class*="close"]:hover::before,
div[class*="mm-manager"] .comfy-menu-close:hover::before,
.comfy-modal div[style*="position: fixed"] button:hover::before,
.comfy-modal div button[style*="float: right"]:hover::before,
.comfy-modal button[style*="float: right"]:hover::before,

#cm-manager-dialog .p-dialog-header-close:focus-visible::before,
#cm-manager-dialog .p-dialog-close-button:focus-visible::before,
#cm-manager-dialog button[class*="-close"]:focus-visible::before,
.comfy-modal .p-dialog-header-close:focus-visible::before,
.comfy-modal .p-dialog-close-button:focus-visible::before,
.comfy-modal button[class*="-close"]:focus-visible::before,
.comfy-dialog .comfy-menu-close:focus-visible::before,
.comfy-dialog button[class*="close"]:focus-visible::before,
div[class*="cn-manager"] button:focus-visible::before,
div[class*="mm-manager"] button:focus-visible::before,
.comfy-modal button[style*="float: right"]:focus-visible::before {
background-color: rgba(255, 255, 255, 0.15) !important;
}

/* 5. Add an accessibility glow ring ONLY during keyboard navigation focus */
#cm-manager-dialog .p-dialog-header-close:focus-visible::before,
#cm-manager-dialog .p-dialog-close-button:focus-visible::before,
#cm-manager-dialog button[class*="-close"]:focus-visible::before,
.comfy-modal .p-dialog-header-close:focus-visible::before,
.comfy-modal .p-dialog-close-button:focus-visible::before,
.comfy-modal button[class*="-close"]:focus-visible::before,
.comfy-dialog .comfy-menu-close:focus-visible::before,
.comfy-dialog button[class*="close"]:focus-visible::before,
div[class*="cn-manager"] button:focus-visible::before,
div[class*="mm-manager"] button:focus-visible::before,
.comfy-modal button[style*="float: right"]:focus-visible::before {
box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.75) !important;
}
`;
document.head.appendChild(customHoverStyle);

var docStyle = document.createElement('style');
docStyle.innerHTML = `
.comfy-toast {
Expand Down Expand Up @@ -259,8 +420,11 @@ const style = `
width: auto;
position: relative;
overflow: hidden;
background-color: var(--comfy-menu-secondary-bg);
border-color: var(--border-color);
cursor: pointer;
padding: 0.5em 0.5em;
border: 1px solid var(--border-color);
border-radius: 6px;
background: var(--comfy-menu-secondary-bg);
color: var(--input-text);
}

Expand All @@ -272,6 +436,9 @@ const style = `
background-color: #500000 !important;
border-color: #88181b !important;
color: white !important;
width: 100%;
padding: 0.5em 0.5em;
border-radius: 6px;
}

.cm-button-red:hover {
Expand Down