Tokenize multiselect panel sizing and remove local viewport magic values
This commit is contained in:
@@ -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`;
|
||||
|
||||
Reference in New Issue
Block a user