@navinc/base-react-components
Version:
Nav's Pattern Library
28 lines (27 loc) • 932 B
TypeScript
import { ComponentType } from 'react';
import { InferComponentProps } from './types.js';
export declare const DimensionsForContainerContext: import("react").Context<{
clientWidth: number;
clientHeight: number;
} | null>;
/**
* @example
* ```
* const ProvidedComponent = provideDimensionsForContainer(ParentComponent)
*
* const Child = () => {
* // useDimensionsForContainer will return the dimensions of ProvidedComponent
* const dimensions = useDimensionsForContainer()
* return <div>{dimensions?.clientWidth}x{dimensions?.clientHeight}</div>
* }
*
* <ProvidedComponent>
* <Child />
* </ProvidedComponent>
* ```
*/
export declare const provideDimensionsForContainer: <C extends ComponentType>(Component: C) => (props: InferComponentProps<C>) => import("react/jsx-runtime").JSX.Element;
export declare const useDimensionsForContainer: () => {
clientWidth: number;
clientHeight: number;
} | null;