{"version":3,"file":"f65e862a.js","sources":["../../../src/hooks/useMediaQuery.ts"],"sourcesContent":["/**\n * Use Media Query\n *\n * Only useable in client components\n * @param {String} query valid media query, ex: '(min-width: 1024px)'\n */\nimport {useEffect, useState} from 'react';\n\nexport default function useMediaQuery(query: string): boolean | undefined {\n const [matches, setMatches] = useState(undefined);\n\n useEffect(() => {\n const media = window.matchMedia(query);\n if (media.matches !== matches) setMatches(media.matches);\n\n const listener = (): void => {\n setMatches(media.matches);\n };\n\n if (media.addEventListener) {\n media.addEventListener('change', listener);\n } else {\n media.addListener(listener); // Support for older iOS devices using Safari\n }\n\n const remove = media.removeEventListener\n ? () => media.removeEventListener('change', listener)\n : () => media.removeListener(listener); // Support for older iOS devices using Safari\n\n return () => remove();\n }, [matches, query]);\n\n return matches;\n}\n"],"names":["useMediaQuery","query","matches","setMatches","useState","useEffect","media","listener","remove"],"mappings":"wCAQA,SAAwBA,EAAcC,EAAoC,CACxE,KAAM,CAACC,EAASC,CAAU,EAAIC,EAAAA,QAAAA,SAA8B,MAAS,EAErEC,OAAAA,EAAAA,QAAAA,UAAU,IAAM,CACR,MAAAC,EAAQ,OAAO,WAAWL,CAAK,EACjCK,EAAM,UAAYJ,GAASC,EAAWG,EAAM,OAAO,EAEvD,MAAMC,EAAW,IAAY,CAC3BJ,EAAWG,EAAM,OAAO,CAAA,EAGtBA,EAAM,iBACFA,EAAA,iBAAiB,SAAUC,CAAQ,EAEzCD,EAAM,YAAYC,CAAQ,EAG5B,MAAMC,EAASF,EAAM,oBACjB,IAAMA,EAAM,oBAAoB,SAAUC,CAAQ,EAClD,IAAMD,EAAM,eAAeC,CAAQ,EAEvC,MAAO,IAAMC,EAAO,CAAA,EACnB,CAACN,EAASD,CAAK,CAAC,EAEZC,CACT"}