import { CSSProperties, HTMLAttributes, ReactNode } from 'react'; export declare type GridResponsiveBreakpoint = 'xxxl' | 'xxl' | 'xl' | 'lg' | 'md' | 'sm' | 'xs'; export declare type GridRowGutter = number | Partial>; /** * @title Row */ export interface RowProps extends Omit, 'className'> { style?: CSSProperties; className?: string | string[]; /** * @zh * 栅格间隔,单位是`px` 栅格间隔。可传入响应式对象写法 { xs: 4, sm: 6, md: 12},传入数组 [ 水平间距, 垂直间距 ] 来设置两个方向。 * @defaultValue 0 */ gutter?: GridRowGutter | Array; /** * 开启这个选项 `` 和 `` 都会被当作 div 而不会附带任何 Grid 相关的类和样式 */ div?: boolean; /** * 竖直对齐方式 ( `align-items` ) * @defaultValue start */ align?: 'start' | 'center' | 'end' | 'stretch'; /** * 水平对齐方式 (`justify-content`) * @defaultValue start */ justify?: 'start' | 'center' | 'end' | 'space-around' | 'space-between'; } /** * @title Col */ export interface ColProps extends Omit, 'className' | 'ref'> { style?: CSSProperties; className?: string | string[]; /** * 栅格占位格数 * @defaultValue 24 */ span?: number; /** * 栅格左侧的间隔格数,间隔内不可以有栅格 */ offset?: number; /** * 对元素进行排序 */ order?: number; /** * 对元素进行排序 */ push?: number; /** * 对元素进行排序 */ pull?: number; /** * < 576px 响应式栅格 */ xs?: number | { [key: string]: any; }; /** * >= 576px 响应式栅格 */ sm?: number | { [key: string]: any; }; /** * >= 768px 响应式栅格 */ md?: number | { [key: string]: any; }; /** * >= 992px 响应式栅格 */ lg?: number | { [key: string]: any; }; /** * >= 1200px 响应式栅格 */ xl?: number | { [key: string]: any; }; /** * >= 1600px 响应式栅格 */ xxl?: number | { [key: string]: any; }; /** * >= 2000px 响应式栅格 */ xxxl?: number | { [key: string]: any; }; /** * 设置 flex 布局属性 */ flex?: FlexType; } /** * @title Grid */ export interface GridProps extends Omit, 'className'> { style?: CSSProperties; className?: string | string[]; /** * 每一行展示的列数 * @defaultValue 24 */ cols?: number | ResponsiveValue; /** * 行与行之间的间距 * @defaultValue 0 */ rowGap?: number | ResponsiveValue; /** * 列与列之间的间距 * @defaultValue 0 */ colGap?: number | ResponsiveValue; /** * 是否折叠 * @defaultValue false */ collapsed?: boolean; /** * 折叠时显示的行数 * @defaultValue 1 */ collapsedRows?: number; } /** * @title GridItem */ export interface GridItemProps extends Omit, 'className' | 'children'> { style?: CSSProperties; className?: string | string[]; /** * 跨越的格数 * @defaultValue 1 */ span?: number | ResponsiveValue; /** * 左侧的间隔格数 * @defaultValue 0 */ offset?: number | ResponsiveValue; /** * 是否是后缀元素 * @defaultValue false */ suffix?: boolean; __index__?: number; children?: ReactNode | ((info: { overflow: boolean; }) => ReactNode); } export interface GridItemData extends GridItemProps { span: number; offset: number; } /** * @title ResponsiveValue */ export interface ResponsiveValue { /** * >= 2000px 响应式栅格 */ xxxl?: number; /** * >= 1600px 响应式配置 */ xxl?: number; /** * >= 1200px 响应式配置 */ xl?: number; /** * >= 992px 响应式配置 */ lg?: number; /** * >= 768px 响应式配置 */ md?: number; /** * >= 576px 响应式配置 */ sm?: number; /** * < 576px 响应式配置 */ xs?: number; } export declare type FlexType = string | number | 'auto' | 'none';