@opentiny/vue-renderless
Version:
An enterprise-class UI component library, support both Vue.js 2 and Vue.js 3, as well as PC and mobile.
32 lines (30 loc) • 1.11 kB
TypeScript
/** 支持的 size 类型定义:预设值或 px 数字,或水平/垂直间距数组 */
type SpaceSize = 'small' | 'medium' | 'large' | string | number | Array<string | number>;
/** 交叉轴对齐方式 */
type SpaceAlign = 'stretch' | 'start' | 'center' | 'end' | 'baseline';
/** 主轴对齐方式 */
type SpaceJustify = 'start' | 'center' | 'end' | 'space-around' | 'space-between' | 'space-evenly';
/** 布局方向:横向还是纵向 */
type SpaceDirection = 'row' | 'column';
/** Space 组件 props 接口定义 */
interface ISpaceProps {
size?: SpaceSize;
align?: SpaceAlign;
justify?: SpaceJustify;
direction?: SpaceDirection;
wrap?: boolean;
order?: any[];
customClass?: string;
customStyle?: string | Record<string, any>;
}
/** renderless 返回的响应式数据结构 */
interface ISpaceApi {
state: {
direction: SpaceDirection;
align: SpaceAlign;
justify: SpaceJustify;
wrap: boolean;
gapStyle: Record<string, string>;
};
}
export { ISpaceApi, ISpaceProps, SpaceAlign, SpaceDirection, SpaceJustify, SpaceSize };