You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

22 lines
611 B

// Safari < 14 does not have mql.addEventListener(), but uses the old spec mql.addListener()
let oMatchMedia = window.matchMedia;
type MqlListener = (this: MediaQueryList, ev: MediaQueryListEvent) => any;
window.matchMedia = (mediaQueryString) => {
let mql = oMatchMedia(mediaQueryString);
if (!mql.addEventListener) {
// @ts-ignore
mql.addEventListener = (type: string, listener: MqlListener) => {
mql.addListener(listener);
};
// @ts-ignore
mql.removeEventListener = (type: string, listener: MqlListener) => {
mql.removeListener(listener);
};
}
return mql;
};