| 123456789101112131415161718 |
- import { Breakpoint } from '../interfaces/breakpoints';
- export const addBreakpointListener = (
- breakpoint: Breakpoint,
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- listener: (this: MediaQueryList, ev: MediaQueryListEvent) => any,
- ): MediaQueryList => {
- // get the value of '--breakpoint-*'
- const breakpointPixel = parseInt(window.getComputedStyle(document.documentElement).getPropertyValue(`--breakpoint-${breakpoint}`), 10);
- const mediaQueryList = window.matchMedia(`(min-width: ${breakpointPixel}px)`);
- // add event listener
- mediaQueryList.addEventListener('change', listener);
- return mediaQueryList;
- };
|