{ "version": 3, "sources": ["../../javascript/warp/utilities/parseJSONData.ts", "../../javascript/warp/context/TranslationContext.tsx", "../../javascript/warp/hooks/useMediaQuery.ts", "../../javascript/warp/hooks/breakpoints.ts"], "sourcesContent": ["const parseJSONData = (dataset: DOMStringMap, attribute: string) => {\n const json = dataset[attribute]\n\n if (json) {\n return JSON.parse(json)\n } else {\n throw new Error(`Failed to parse JSON in dataset attribute ${attribute}`)\n }\n}\n\nexport default parseJSONData\n", "import React, { useContext } from \"react\"\n\ntype Translations = { [key: string]: string }\n\nconst TranslationContext = React.createContext({})\n\nconst TranslationProvider = TranslationContext.Provider\nconst TranslationConsumer = TranslationContext.Consumer\n\n/* I wouldn't normally name something a single letter variable, but this\n * matches the I18N.t helper.\n */\nconst T: React.FC<{ tKey: string }> = ({ tKey }) => (\n \n {(translations) => translations[tKey]}\n \n)\n\nfunction useTranslation() {\n return useContext(TranslationContext)\n}\n\nexport {\n TranslationContext as default,\n TranslationProvider,\n TranslationConsumer,\n Translations,\n useTranslation,\n T\n}\n", "import React from \"react\"\n\nexport default function useMediaQuery(query: string) {\n const [value, setValue] = React.useState(false)\n\n React.useEffect(() => {\n function onChange(event: MediaQueryListEvent) {\n setValue(event.matches)\n }\n\n const result = matchMedia(query)\n result.addEventListener(\"change\", onChange)\n setValue(result.matches)\n\n return () => result.removeEventListener(\"change\", onChange)\n }, [query])\n\n return value\n}\n", "import useMediaQuery from \"./useMediaQuery\"\n\nexport function useIsTablet() {\n const breakpoint = getComputedStyle(document.body).getPropertyValue(\n \"--breakpoint-tablet\"\n )\n return useMediaQuery(`(min-width: ${breakpoint})`)\n}\n\nexport function useIsDesktop() {\n const breakpoint = getComputedStyle(document.body).getPropertyValue(\n \"--breakpoint-desktop\"\n )\n return useMediaQuery(`(min-width: ${breakpoint})`)\n}\n\nexport function useIsDesktopLarge() {\n const breakpoint = getComputedStyle(document.body).getPropertyValue(\n \"--breakpoint-desktop-large\"\n )\n return useMediaQuery(`(min-width: ${breakpoint})`)\n}\n\nexport function useIsDesktopHuge() {\n const breakpoint = getComputedStyle(document.body).getPropertyValue(\n \"--breakpoint-desktop-huge\"\n )\n return useMediaQuery(`(min-width: ${breakpoint})`)\n}\n"], "mappings": "kHAAA,IAAMA,EAAgB,CAACC,EAAuBC,IAAsB,CAClE,IAAMC,EAAOF,EAAQC,GAErB,GAAIC,EACF,OAAO,KAAK,MAAMA,CAAI,EAEtB,MAAM,IAAI,MAAM,6CAA6CD,GAAW,CAE5E,EAEOE,EAAQJ,ECVf,IAAAK,EAAkC,SAI5BC,EAAqB,EAAAC,QAAM,cAA4B,CAAC,CAAC,EAEzDC,EAAsBF,EAAmB,SACzCG,EAAsBH,EAAmB,SAW/C,SAASI,GAAiB,CACxB,SAAO,cAAWC,CAAkB,CACtC,CCpBA,IAAAC,EAAkB,SAEH,SAARC,EAA+BC,EAAe,CACnD,GAAM,CAACC,EAAOC,CAAQ,EAAI,EAAAC,QAAM,SAAS,EAAK,EAE9C,SAAAA,QAAM,UAAU,IAAM,CACpB,SAASC,EAASC,EAA4B,CAC5CH,EAASG,EAAM,OAAO,CACxB,CAEA,IAAMC,EAAS,WAAWN,CAAK,EAC/B,OAAAM,EAAO,iBAAiB,SAAUF,CAAQ,EAC1CF,EAASI,EAAO,OAAO,EAEhB,IAAMA,EAAO,oBAAoB,SAAUF,CAAQ,CAC5D,EAAG,CAACJ,CAAK,CAAC,EAEHC,CACT,CCTO,SAASM,GAAe,CAC7B,IAAMC,EAAa,iBAAiB,SAAS,IAAI,EAAE,iBACjD,sBACF,EACA,OAAOC,EAAc,eAAeD,IAAa,CACnD", "names": ["parseJSONData", "dataset", "attribute", "json", "parseJSONData_default", "import_react", "TranslationContext", "React", "TranslationProvider", "TranslationConsumer", "useTranslation", "TranslationContext", "import_react", "useMediaQuery", "query", "value", "setValue", "React", "onChange", "event", "result", "useIsDesktop", "breakpoint", "useMediaQuery"] }