1.1.1 • Published 1 year ago

use-react-breakpoint v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

use-react-breakpoint

Package that allows to easily work app breakpoints It provides couple of hooks to work with breakpoints

Hooks

useBreakpoint

hook that accepts breakpoint name and returns fits or smaller

import { useBreakpoint } from 'use-react-breakpoint';

const showMenu = useBreakpoint('md') === 'fits';
const showMobileMenu = useBreakpoint('md') === 'smaller';

useBreakpointFits

Same as useBreakpoint, but returns true if your screen size is greater of equal to breakpoint size

import { useBreakpointFits } from 'use-react-breakpoint';

const showMenu = useBreakpointFits('md');
const showMobileMenu = !useBreakpointFits('md');

useCurrentBreakpoint

Just a simple hook that returns current screen breakpoint

import { useCurrentBreakpoint } from 'use-react-breakpoint';

const breakpoint = useCurrentBreakpoint(); // 'md', 'lg', 'xl', etc.

Utilities:

Exposing some of the useful utils you might need

Default Breakpoints

export const defaultBreakpointsMap: BreakpointsMapType = {
  xs: 0,
  sm: 640,
  md: 768,
  lg: 1024,
  xl: 1280,
  '2xl': 1536,
  '3xl': 1920,
  '4xl': 2560,
};

compareBreakpoints

Utility that return fits or smaller First param comparator, second param - comparable. So result defines if 2nd parameter is bigger or smaller than 1st

compareBreakpoints('lg', 'md') === 'smaller';

Overrides

You can override defaultBreakpointsMap with anything else all hooks and utils accept it as last param

import { defaultBreakpointsMap as defMap } from 'use-react-breakpoint';

const showMenu = useBreakpoint('md', { ...defMap, '5xl': 3400 }) === 'fits';

const isHugeScreen = useBreakpointFits('5xl', { ...defMap, '5xl': 3400 });

const current = useCurrentBreakpoint({ ...defMap, '5xl': 3400 });

const compare = compareBreakpoints('5xl', 'md', { ...defMap, '5xl': 3400 });