UNPKG

@trussworks/react-uswds

Version:
24 lines (23 loc) 1.3 kB
import { default as React, JSX } from 'react'; import { GridItemProps, BreakpointKeys } from '../types'; export type GridProps = GridItemProps & { [P in BreakpointKeys]?: GridItemProps; }; export type GridComponentProps<T> = GridProps & { className?: string; } & T; export type GridLayoutProp = { gridLayout?: GridProps; }; interface WithCustomGridProps<T> { asCustom: React.FunctionComponent<T>; } export type DefaultGridProps = GridComponentProps<JSX.IntrinsicElements['div']>; export type CustomGridProps<T> = GridComponentProps<React.PropsWithChildren<T>> & WithCustomGridProps<React.PropsWithChildren<T>>; type omittedProps = 'mobile' | 'tablet' | 'desktop' | 'widescreen' | 'mobileLg' | 'tabletLg' | 'desktopLg' | 'children' | 'className' | 'row' | 'col' | 'gap' | 'offset'; export declare function isCustomProps<T>(props: Omit<DefaultGridProps, omittedProps> | Omit<CustomGridProps<T>, omittedProps>): props is Omit<CustomGridProps<T>, omittedProps>; export declare const getGridClasses: (itemProps?: GridItemProps, breakpoint?: BreakpointKeys) => string; export declare const applyGridClasses: (gridLayout: GridProps) => string; export declare function Grid(props: DefaultGridProps): JSX.Element; export declare function Grid<T>(props: CustomGridProps<T>): JSX.Element; export {};