svelte-media-observer
Version:
SvelteJS media queries observer.
2 lines (1 loc) • 486 B
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0});var e=require("svelte/store");exports.mediaObserver=function(t){return e.writable({},e=>{if(!globalThis.window)return;const r=new Map,n=()=>e(function(e){const t={};for(const[r,n]of e)t[r]=n.matches;return t}(r));for(const[e,o]of t){window.matchMedia(o).addEventListener("change",n),r.set(e,window.matchMedia(o))}return n(),()=>{var e;for(const t of r.keys())null===(e=r.get(t))||void 0===e||e.removeEventListener("change",n)}})};