@w11r/use-breakpoint
Version:
React useBreakpoint hook to have different values for a variable based on a breakpoints.
27 lines (25 loc) • 898 B
JavaScript
import React, { createContext, useState } from 'react';
import useResize from "./useResize"; // @ts-ignore
export const getInnerWidth = () => typeof window !== 'undefined' ? window.innerWidth : global.innerWidth || 1920; // @ts-ignore
export const getInnerHeight = () => typeof window !== 'undefined' ? window.innerHeight : global.innerHeight || 1080;
export const defaultState = {
innerWidth: getInnerWidth(),
innerHeight: getInnerHeight()
};
export const Context = /*#__PURE__*/createContext(defaultState);
export const BreakpointProvider = (_ref) => {
let {
children
} = _ref;
const [value, setValue] = useState(defaultState);
useResize(() => {
setValue({
innerWidth: getInnerWidth(),
innerHeight: getInnerHeight()
});
});
return /*#__PURE__*/React.createElement(Context.Provider, {
value: value
}, children);
};
export default BreakpointProvider;