mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-08-06 08:57:38 +00:00
359d87440b
Not quite working yet. polyfill is loaded, but positioned elements are spanning whole viewport. Parking this for now.
29 lines
737 B
JavaScript
29 lines
737 B
JavaScript
import './anchorPositioningPolyfill.less';
|
|
|
|
let polyfillPromise;
|
|
|
|
const supportsAnchorPositioning = ()=>'anchorName' in document.documentElement.style;
|
|
|
|
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 ()=>{
|
|
const { default: polyfill } = await import('@oddbird/css-anchor-positioning/fn');
|
|
await polyfill();
|
|
return true;
|
|
})
|
|
.catch((error)=>{
|
|
polyfillPromise = undefined;
|
|
throw error;
|
|
});
|
|
|
|
return polyfillPromise;
|
|
}; |