mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-08-06 08:57:38 +00:00
revert the work done in earlier commit with anchor properties
revert commit 1fe19578c2 which changed `anchor()` values to `position-area`.
I'm not sure what compelled me to do that change initially, except the easier to understand syntax. Hopefully it wasn't important.
But oddbird polyfill expects `anchor()` values, which it converts to pixel values for positioning.
This commit is contained in:
@@ -1,11 +1,9 @@
|
||||
|
||||
|
||||
.anchored-box {
|
||||
position : absolute;
|
||||
visibility : hidden;
|
||||
justify-self : anchor-center;
|
||||
@supports (inset-block-start: anchor(bottom)) {
|
||||
inset-block-start : anchor(bottom);
|
||||
}
|
||||
position : absolute;
|
||||
visibility : hidden;
|
||||
justify-self : anchor-center;
|
||||
inset-block-start : anchor(bottom);
|
||||
&.active { visibility : visible; }
|
||||
}
|
||||
@@ -8,27 +8,20 @@ let polyfillPromise;
|
||||
// look for `anchorName` in the computed styles
|
||||
const supportsAnchorPositioning = ()=>'anchorName' in document.documentElement.style;
|
||||
|
||||
// wait for initial render
|
||||
const afterInitialRender = ()=>new Promise((resolve)=>{
|
||||
requestAnimationFrame(()=>{
|
||||
requestAnimationFrame(resolve);
|
||||
});
|
||||
});
|
||||
|
||||
export const bootstrapAnchorPositioningPolyfill = ()=>{
|
||||
if(supportsAnchorPositioning()) return Promise.resolve(false);
|
||||
if(polyfillPromise) return polyfillPromise;
|
||||
|
||||
polyfillPromise = afterInitialRender()
|
||||
.then(async ()=>{
|
||||
polyfillPromise = (async ()=>{
|
||||
try {
|
||||
const { default: polyfill } = await import('@oddbird/css-anchor-positioning/fn');
|
||||
await polyfill();
|
||||
return true;
|
||||
})
|
||||
.catch((error)=>{
|
||||
} catch (error){
|
||||
polyfillPromise = undefined;
|
||||
throw error;
|
||||
});
|
||||
}
|
||||
})();
|
||||
|
||||
return polyfillPromise;
|
||||
};
|
||||
@@ -6,16 +6,18 @@
|
||||
}
|
||||
|
||||
.menu-list {
|
||||
position : absolute;
|
||||
position : fixed;
|
||||
z-index : 1000;
|
||||
position-area : block-end span-inline-end;
|
||||
top : anchor(bottom);
|
||||
left : anchor(left);
|
||||
position-try: flip-inline flip-block;
|
||||
color: inherit; // [popover] gets a `canvastext` color value from useragent.
|
||||
> .menu-wrapper {
|
||||
position:relative;
|
||||
> .menu-list {
|
||||
margin: 0 0px;
|
||||
position-area: inline-end span-block-end;
|
||||
top : anchor(top);
|
||||
left : anchor(right);
|
||||
position-try: flip-inline;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user