{"version":3,"sources":["../src/useBreakpoint.ts"],"names":["breakpoints"],"mappings":";;;;;AAEO,IAAM,cAAc,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK;AAM/D,IAAM,qBAAoC;AAAA,EACzC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,OAAO;AACR;AAEO,SAAS,cACfA,eAA6B,oBAChB;AACb,QAAM,OAAO,cAAc,eAAeA,aAAY,EAAE,KAAK;AAC7D,QAAM,OAAO,cAAc,eAAeA,aAAY,EAAE,KAAK;AAC7D,QAAM,OAAO,cAAc,eAAeA,aAAY,EAAE,KAAK;AAC7D,QAAM,OAAO,cAAc,eAAeA,aAAY,EAAE,KAAK;AAC7D,QAAM,QAAQ,cAAc,eAAeA,aAAY,KAAK,CAAC,KAAK;AAElE,MAAI;AAAO,WAAO;AAClB,MAAI;AAAM,WAAO;AACjB,MAAI;AAAM,WAAO;AACjB,MAAI;AAAM,WAAO;AACjB,MAAI;AAAM,WAAO;AACjB,SAAO;AACR;AAEA,IAAM,oBAAoB,CAACA,kBAAgC;AAAA,EAC1D,IAAI,eAAeA,aAAY,EAAE;AAAA,EACjC,IAAI,eAAeA,aAAY,EAAE;AAAA,EACjC,IAAI,eAAeA,aAAY,EAAE;AAAA,EACjC,IAAI,eAAeA,aAAY,EAAE;AAAA,EACjC,OAAO,eAAeA,aAAY,KAAK,CAAC;AACzC;AAEO,IAAM,0BAA0B,CACtC,YACA,YAGI;AACJ,SAAO;AAAA,IACN,kBAAkB,SAAS,eAAe,kBAAkB,EAC3D,UACD;AAAA,EACD;AACD","sourcesContent":["import { useMediaQuery } from \"./useMediaQuery\";\n\nexport const breakpoints = [\"xs\", \"sm\", \"md\", \"lg\", \"xl\", \"2xl\"] as const;\n\nexport type Breakpoint = (typeof breakpoints)[number];\n\ntype BreakpointMap = { [key in Breakpoint]: number };\n\nconst defaultBreakpoints: BreakpointMap = {\n\txs: 0,\n\tsm: 640,\n\tmd: 768,\n\tlg: 1024,\n\txl: 1280,\n\t\"2xl\": 1536,\n};\n\nexport function useBreakpoint(\n\tbreakpoints: BreakpointMap = defaultBreakpoints\n): Breakpoint {\n\tconst isSm = useMediaQuery(`(min-width: ${breakpoints.sm}px)`);\n\tconst isMd = useMediaQuery(`(min-width: ${breakpoints.md}px)`);\n\tconst isLg = useMediaQuery(`(min-width: ${breakpoints.lg}px)`);\n\tconst isXl = useMediaQuery(`(min-width: ${breakpoints.xl}px)`);\n\tconst is2xl = useMediaQuery(`(min-width: ${breakpoints[\"2xl\"]}px)`);\n\n\tif (is2xl) return \"2xl\";\n\tif (isXl) return \"xl\";\n\tif (isLg) return \"lg\";\n\tif (isMd) return \"md\";\n\tif (isSm) return \"sm\";\n\treturn \"xs\";\n}\n\nconst getReponsiveValue = (breakpoints: BreakpointMap) => ({\n\tsm: `(min-width: ${breakpoints.sm}px)`,\n\tmd: `(min-width: ${breakpoints.md}px)`,\n\tlg: `(min-width: ${breakpoints.lg}px)`,\n\txl: `(min-width: ${breakpoints.xl}px)`,\n\t\"2xl\": `(min-width: ${breakpoints[\"2xl\"]}px)`,\n});\n\nexport const useResponsiveMediaQuery = (\n\tbreakpoint: Exclude<Breakpoint, \"xs\">,\n\toptions?: {\n\t\tbreakpoints?: BreakpointMap;\n\t}\n) => {\n\treturn useMediaQuery(\n\t\tgetReponsiveValue(options?.breakpoints || defaultBreakpoints)[\n\t\t\tbreakpoint\n\t\t]\n\t);\n};\n"]}