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';