UNPKG

1.02 kBJavaScriptView Raw
1import { createContext, useContext } from 'react';
2import { useShopConfig } from '../hooks/useShopConfig';
3// Default to 'sm' breakpoint.
4// detect-mobile will replace this value during server render
5const BreakpointContext = createContext('sm');
6export function BreakpointConsumer({ children }) {
7 const { theme: { breakpoints } } = useShopConfig();
8 const breakpoint = useContext(BreakpointContext);
9 const labels = Object.keys(breakpoints);
10 const breakpointIndex = labels.indexOf(breakpoint);
11 return children({
12 breakpointIndex,
13 breakpointLabel: breakpoint
14 });
15}
16export function useInitialBreakpoint() {
17 const { theme: { breakpoints } } = useShopConfig();
18 const breakpoint = useContext(BreakpointContext);
19 const labels = Object.keys(breakpoints);
20 const breakpointIndex = labels.indexOf(breakpoint);
21 return { breakpointIndex, breakpointLabel: breakpoint };
22}
23export const BreakpointProvider = BreakpointContext.Provider;
24//# sourceMappingURL=BreakpointProvider.js.map
\No newline at end of file