Introduce addMatchMediaChangeListener with support for Safari 13.x

This commit is contained in:
Alex Dima
2021-05-12 15:55:52 +02:00
parent db5cb92a74
commit 2abf8d3779
3 changed files with 18 additions and 19 deletions

View File

@@ -1600,3 +1600,13 @@ export function getCookieValue(name: string): string | undefined {
return match ? match.pop() : undefined;
}
export function addMatchMediaChangeListener(query: string, callback: () => void): void {
const mediaQueryList = window.matchMedia(query);
if (typeof mediaQueryList.addEventListener === 'function') {
mediaQueryList.addEventListener('change', callback);
} else {
// Safari 13.x
mediaQueryList.addListener(callback);
}
}