{"version":3,"file":"useMediaQuery.cjs","sources":["../../../../src/components/AppHeader/hooks/useMediaQuery.ts"],"sourcesContent":["import { useMemo, useSyncExternalStore } from 'react'\n\nexport const mediaQuery = {\n  desktop: '(min-width: 752px)',\n} as const\n\nconst NOOP = () => undefined\nconst RETURN_FALSE = () => false\n\nexport const useMediaQuery = (query: string) => {\n  const mediaQueryList = useMemo(\n    () => (typeof window === 'undefined' ? null : matchMedia(query)),\n    [query],\n  )\n\n  const syncArgs = useMemo(\n    () => ({\n      subscribe: (callback: () => void) => {\n        if (!mediaQueryList) {\n          return NOOP\n        }\n\n        mediaQueryList.addEventListener('change', callback)\n\n        return () => {\n          mediaQueryList.removeEventListener('change', callback)\n        }\n      },\n      getSnapshot: () => mediaQueryList?.matches ?? false,\n    }),\n    [mediaQueryList],\n  )\n\n  return useSyncExternalStore(syncArgs.subscribe, syncArgs.getSnapshot, RETURN_FALSE)\n}\n"],"names":["useMemo","useSyncExternalStore"],"mappings":";;;;AAEO,MAAM,UAAU,GAAG;AACxB,IAAA,OAAO,EAAE,oBAAoB;;AAG/B,MAAM,IAAI,GAAG,MAAM,SAAS;AAC5B,MAAM,YAAY,GAAG,MAAM,KAAK;AAEzB,MAAM,aAAa,GAAG,CAAC,KAAa,KAAI;AAC7C,IAAA,MAAM,cAAc,GAAGA,aAAO,CAC5B,OAAO,OAAO,MAAM,KAAK,WAAW,GAAG,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAChE,CAAC,KAAK,CAAC,CACR;AAED,IAAA,MAAM,QAAQ,GAAGA,aAAO,CACtB,OAAO;AACL,QAAA,SAAS,EAAE,CAAC,QAAoB,KAAI;YAClC,IAAI,CAAC,cAAc,EAAE;AACnB,gBAAA,OAAO,IAAI;YACb;AAEA,YAAA,cAAc,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAEnD,YAAA,OAAO,MAAK;AACV,gBAAA,cAAc,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACxD,YAAA,CAAC;QACH,CAAC;QACD,WAAW,EAAE,MAAM,cAAc,EAAE,OAAO,IAAI,KAAK;AACpD,KAAA,CAAC,EACF,CAAC,cAAc,CAAC,CACjB;AAED,IAAA,OAAOC,0BAAoB,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;AACrF;;;;;"}