@react-awesome/use-breakpoint
Version:
useBreakpoint triggers callback when a container's size is equal to one specific breakpoint.
39 lines • 1.85 kB
TypeScript
declare const DEFAULT_BREAKPOINTS: {
sm: number;
md: number;
lg: number;
xl: number;
'2xl': number;
};
export type DefaultBreakpointConfigs = typeof DEFAULT_BREAKPOINTS;
export type BreakpointConfig = Record<string, number>;
export type UseBreakpointCallback = () => any;
export type UseBreakpointCallbacks<O extends Record<string, number> = DefaultBreakpointConfigs> = O extends DefaultBreakpointConfigs ? Record<keyof DefaultBreakpointConfigs, UseBreakpointCallback> : O extends Record<infer K, number> ? Record<K, UseBreakpointCallback> : never;
export type UseBreakpointUtils<B extends Record<string, number> = DefaultBreakpointConfigs> = B extends DefaultBreakpointConfigs ? {
greater(k: keyof DefaultBreakpointConfigs): boolean;
greaterOrEqual: (k: keyof DefaultBreakpointConfigs) => boolean;
smaller(k: keyof DefaultBreakpointConfigs): boolean;
smallerOrEqual(k: keyof DefaultBreakpointConfigs): boolean;
between(a: keyof DefaultBreakpointConfigs, b: keyof DefaultBreakpointConfigs): boolean;
} : B extends Record<infer K, number> ? {
greater(k: K): boolean;
greaterOrEqual(k: K): boolean;
smaller(k: K): boolean;
smallerOrEqual(k: K): boolean;
between(a: K, b: K): boolean;
} : never;
export type UseBreakpointOpts<B extends Record<string, number> = DefaultBreakpointConfigs> = {
/**
* @description Breakpoints object, each breakpoint should be defined in `px` value.
*/
breakpoints?: B;
callbacks?: Partial<UseBreakpointCallbacks<B>>;
fallbackValue?: keyof B;
useResizeObserver?: boolean;
containerEl?: HTMLElement | null;
};
export declare function useBreakpoint<B extends Record<string, number>>(opts?: UseBreakpointOpts<B>): {
currentBreakpoint?: keyof B;
} & UseBreakpointUtils<B>;
export {};
//# sourceMappingURL=useBreakpoint.d.ts.map