Tokenize multiselect panel sizing and remove local viewport magic values

This commit is contained in:
2026-05-20 13:20:11 +02:00
parent 25c7654534
commit 83c6b0289a
4 changed files with 15 additions and 7 deletions
+5 -5
View File
@@ -404,20 +404,20 @@
return;
}
const viewportInset = 16;
demo.dataset.align = 'left';
panel.style.left = '0px';
panel.style.right = 'auto';
const initialRect = panel.getBoundingClientRect();
let offsetX = 0;
const maxRight = window.innerWidth;
if (initialRect.right > window.innerWidth - viewportInset) {
offsetX -= initialRect.right - (window.innerWidth - viewportInset);
if (initialRect.right > maxRight) {
offsetX -= initialRect.right - maxRight;
}
if (initialRect.left + offsetX < viewportInset) {
offsetX += viewportInset - (initialRect.left + offsetX);
if (initialRect.left + offsetX < 0) {
offsetX += 0 - (initialRect.left + offsetX);
}
panel.style.left = `${offsetX}px`;