import { HTMLAttributes, ReactNode } from 'react'; export type GridResponsiveBreakpoint = 'xxxl' | 'xxl' | 'xl' | 'lg' | 'md' | 'sm' | 'xs'; export type GridRowGutter = number | Partial>; export interface RowProps extends HTMLAttributes { gutter?: GridRowGutter | Array; align?: 'start' | 'center' | 'end' | 'stretch'; justify?: 'start' | 'center' | 'end' | 'space-around' | 'space-between'; wrap?: boolean; } export interface ColProps extends HTMLAttributes { span?: number; offset?: number; order?: number; push?: number; pull?: number; xs?: number | { [key: string]: any; }; sm?: number | { [key: string]: any; }; md?: number | { [key: string]: any; }; lg?: number | { [key: string]: any; }; xl?: number | { [key: string]: any; }; xxl?: number | { [key: string]: any; }; xxxl?: number | { [key: string]: any; }; flex?: FlexType; } export interface GridProps extends HTMLAttributes { cols?: number | ResponsiveValue; rowGap?: number | ResponsiveValue; colGap?: number | ResponsiveValue; collapsed?: boolean; collapsedRows?: number; } export interface GridItemProps extends Omit, 'children'> { span?: number | ResponsiveValue; offset?: number | ResponsiveValue; suffix?: boolean; __index__?: number; children?: ReactNode | ((info: { overflow: boolean; }) => ReactNode); } export interface ResponsiveValue { xxxl?: number; xxl?: number; xl?: number; lg?: number; md?: number; sm?: number; xs?: number; } export type FlexType = string | number | 'auto' | 'none';