mis-custom-nodes / Comfyui-Resolution-Master /js /css /searchable-dropdown.css
MarkLilly's picture
Add files using upload-large-folder tool
70ceb8b verified
Raw History Blame Contribute Delete
5.8 kB
/**
* Searchable Dropdown Styles
* A searchable dropdown component for better UX with large lists
* Note: Variables are defined in css-variables.css
* Common styles (overlay, container, title, close button, search input) are in common-components.css
*/
/* Main Container - Component-specific sizing */
.resolution-master-searchable-dropdown {
min-width: var(--width-dropdown-min);
max-width: var(--width-dropdown-max);
max-height: 400px;
display: flex;
flex-direction: column;
}
/* Responsive: full width on small screens */
@media (max-width: 480px) {
.resolution-master-searchable-dropdown {
min-width: 200px;
max-width: 90vw;
}
}
/* Mode Toggle Container */
.resolution-master-searchable-dropdown-mode-toggle-container {
padding: var(--spacing-6) var(--spacing-8);
display: flex;
align-items: center;
gap: var(--spacing-8);
border-bottom: 1px solid var(--color-gray-800);
background: var(--overlay-dark-20);
}
.resolution-master-searchable-dropdown-mode-label {
color: var(--color-gray-300);
font-size: var(--font-sm);
font-weight: bold;
}
.resolution-master-searchable-dropdown-mode-toggle {
padding: var(--spacing-4) var(--spacing-12);
border: 1px solid var(--color-gray-600);
border-radius: var(--radius-md);
font-size: var(--font-sm);
cursor: pointer;
transition: var(--transition-all);
}
/* Keyboard focus accessibility */
.resolution-master-searchable-dropdown-mode-toggle:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
.resolution-master-searchable-dropdown-mode-toggle.list-mode {
background: var(--bg-primary-20);
border-color: var(--color-primary);
color: var(--color-primary);
}
.resolution-master-searchable-dropdown-mode-toggle.visual-mode {
background: rgba(100, 100, 100, 0.3);
border-color: var(--color-gray-600);
color: var(--color-gray-300);
}
.resolution-master-searchable-dropdown-mode-toggle.list-mode:hover {
background: var(--bg-primary-30);
}
.resolution-master-searchable-dropdown-mode-toggle.visual-mode:hover {
background: rgba(120, 120, 120, 0.4);
}
/* Items Container */
.resolution-master-searchable-dropdown-items {
overflow-y: auto;
max-height: 300px;
padding: var(--spacing-5) 0;
}
/* Dropdown Item */
.resolution-master-searchable-dropdown-item {
padding: var(--spacing-5) var(--spacing-12);
cursor: pointer;
color: var(--color-gray-100);
font-size: var(--font-md);
transition: background var(--transition-fast);
user-select: none;
line-height: var(--line-height-tight);
}
.resolution-master-searchable-dropdown-item:hover,
.resolution-master-searchable-dropdown-item.selected {
background: var(--bg-primary-30);
color: var(--color-white);
}
/* Keyboard focus accessibility */
.resolution-master-searchable-dropdown-item:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: -2px;
background: var(--bg-primary-30);
color: var(--color-white);
}
/* Custom Preset Indicator */
.resolution-master-searchable-dropdown-item-custom-indicator {
width: 14px;
height: 14px;
margin-left: var(--spacing-6);
vertical-align: middle;
}
/* Search Highlight */
.resolution-master-searchable-dropdown-highlight {
background: var(--color-primary);
color: var(--color-black);
font-weight: bold;
padding: var(--spacing-1) var(--spacing-2);
border-radius: var(--radius-sm);
}
/* No Results */
.resolution-master-searchable-dropdown-no-results {
padding: var(--spacing-20) 15px;
color: var(--color-gray-500);
text-align: center;
font-size: var(--font-base);
line-height: 1.4;
}
.resolution-master-searchable-dropdown-hint {
color: var(--color-primary);
font-size: var(--font-sm);
margin-top: var(--spacing-8);
}
.resolution-master-searchable-dropdown-custom-hint {
color: var(--color-primary);
font-size: var(--font-sm);
}
/* Use Custom Value Button */
.resolution-master-searchable-dropdown-use-custom-btn {
margin-top: var(--spacing-12);
padding: var(--spacing-6) var(--spacing-16);
background: var(--bg-primary-20);
border: 1px solid var(--color-primary);
border-radius: var(--radius-md);
color: var(--color-primary);
font-size: var(--font-md);
font-weight: bold;
cursor: pointer;
transition: var(--transition-all);
}
/* Keyboard focus accessibility */
.resolution-master-searchable-dropdown-use-custom-btn:focus-visible {
outline: 2px solid var(--color-primary-light);
outline-offset: 2px;
}
.resolution-master-searchable-dropdown-use-custom-btn:hover {
background: var(--bg-primary-30);
border-color: #7bf;
color: #7bf;
}
.resolution-master-searchable-dropdown-use-custom-btn:active {
background: var(--bg-primary-40);
transform: translateY(1px);
}
/* Expand Button */
.resolution-master-searchable-dropdown-expand-btn {
padding: var(--spacing-4) var(--spacing-12);
border: none;
border-top: 1px solid var(--color-gray-800);
background: var(--color-gray-900);
color: var(--color-primary);
font-size: var(--font-xs);
cursor: pointer;
transition: background var(--transition-normal);
}
.resolution-master-searchable-dropdown-expand-btn:hover {
background: var(--color-gray-800);
}
/* Keyboard focus accessibility */
.resolution-master-searchable-dropdown-expand-btn:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: -2px;
}
/* Count Indicator */
.resolution-master-searchable-dropdown-count {
padding: var(--spacing-6) var(--spacing-12);
border-top: 1px solid var(--color-gray-800);
color: var(--color-gray-500);
font-size: var(--font-xs);
text-align: center;
}