refactor: replace inline dropdown display toggling with reusable floating positioning helpers

Switch download target dropdowns from absolute-positioned elements clipped by
scroll containers to body-ported fixed-position lists managed by
downloadTargetMethods. Adds showDropdownList, hideDropdownList,
portalDropdownList, positionFloatingDropdownList, and related helpers so the
UI can keep dropdowns visible and correctly placed near their anchors.
This commit is contained in:
Dariusz L
2026-06-23 06:22:57 +02:00
parent 762363d7ef
commit 1cfc0beeb6
3 changed files with 184 additions and 14 deletions
+11 -2
View File
@@ -5642,12 +5642,16 @@
}
}
.mr-download-target-list {
box-sizing: border-box;
position: absolute;
top: calc(100% + 4px);
left: 0;
right: 0;
right: auto;
width: 100%;
min-width: 100%;
max-height: 220px;
overflow: auto;
overflow-x: hidden;
overflow-y: auto;
display: none;
z-index: var(--mr-z-notification);
background: linear-gradient(180deg, var(--mr-panel-bg-strong) 0%, var(--mr-card-bg) 100%);
@@ -5669,11 +5673,16 @@
z-index: var(--mr-z-context-menu);
}
.mr-download-target-option {
box-sizing: border-box;
max-width: 100%;
padding: 8px 10px;
cursor: pointer;
border-bottom: 1px solid rgba(255,255,255,0.04);
color: var(--mr-text);
font-size: 12px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.mr-download-target-option:last-child {
border-bottom: none;