react-layout-kit
Version:
a npm develop template
90 lines (89 loc) • 2.51 kB
TypeScript
import { ContentPosition, DivProps, FlexDirection } from "../type";
import { CSSProperties, ElementType, Ref } from 'react';
export type CommonSpaceNumber = 2 | 4 | 8 | 12 | 16 | 24;
/**
* 表示一个 Flexbox 布局组件的接口
*/
export interface IFlexbox {
/**
* @title 是否横向
* @default false
*/
horizontal?: boolean;
/**
* @title 主轴方向
* @enum ["vertical", "vertical-reverse", "horizontal", "horizontal-reverse"]
* @enumNames ["垂直从上到下", "垂直从下到上","水平从左到右", "水平从右到左"]
* @default "horizontal"
*/
direction?: FlexDirection;
/**
* @title 内容分布
* @enum ["start", "end", "center", "between", "around"]
* @enumNames ["靠起始位置", "靠结束位置", "居中", "两端对齐", "环绕"]
*/
distribution?: CSSProperties['justifyContent'];
wrap?: CSSProperties['flexWrap'];
/**
* @title 主轴对齐方式
* @enum ["start", "end", "center", "between", "around"]
* @enumNames ["靠起始位置", "靠结束位置", "居中", "两端对齐", "环绕"]
*/
justify?: CSSProperties['justifyContent'];
/**
* @title 交叉轴对齐方式
* @enum ["start", "end", "center", "baseline", "stretch"]
* @enumNames ["靠起始位置", "靠结束位置", "居中", "基线对齐", "拉伸"]
* @default "stretch"
*/
align?: ContentPosition;
/**
* @title 主轴方向上的间距
* @default 0
*/
gap?: CommonSpaceNumber | number | string;
/**
* @title 宽度
* @default "auto"
*/
width?: number | string;
/**
* @title 高度
* @default "auto"
*/
height?: number | string;
/**
* @title 内边距
* @default 0
*/
padding?: string | number | CommonSpaceNumber;
/**
* @title 内联内边距
*/
paddingInline?: string | number;
/**
* @title 块内边距
*/
paddingBlock?: string | number;
/**
* @title flex 值
* @default "0 1 auto"
*/
flex?: number | string;
/**
* @title 是否显示
* @default true
*/
visible?: boolean;
/**
* @title 元素类型
* @default "div"
*/
as?: ElementType;
}
export interface FlexBasicProps extends IFlexbox, DivProps {
internalClassName?: string;
ref?: Ref<any>;
}
declare const FlexBasic: import("react").NamedExoticComponent<FlexBasicProps>;
export default FlexBasic;