import { useTheme } from '@primer/react' import { useMediaQuery } from './useMediaQuery' type Size = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' export function useMinWidthBreakpoint(size: Size) { const { theme } = useTheme() // For some reason, xsmall isn't in theme for Primer: https://github.com/primer/react/blob/308fe82909f3d922be0a6582f83e96798678ec78/packages/react/src/utils/layout.ts#L6 let sizePx = theme?.sizes[size] if (size === 'xsmall') { sizePx = '320px' } return useMediaQuery(`(min-width: ${sizePx})`) } export function useMaxWidthBreakpoint(sizePx: string) { if (!sizePx.endsWith('px')) { sizePx = `${sizePx}px` } return useMediaQuery(`(max-width: ${sizePx})`) }