UNPKG

cgreact-core

Version:

未发表!CGReact前端Web研发框架核心包

49 lines (45 loc) 3.23 kB
/** 布局数据类型:STATE*/ import {ModalState} from "./cgreact-type-modal"; type CGReactAlign = "left-top" | "left-center" | "left-bottom" | "middle-top" | "middle-center" | "middle-bottom" | "right-top" | "right-center" | "right-bottom"; type CGReactGrid = "grid-1" | "grid-2" | "grid-3" | "grid-4" | "grid-5" | "grid-6" | "grid-7" | "grid-8" | "grid-9" | "grid-10" | "grid-11" | "grid-12";//删格系统 type CGReactLength = "fit-content" | "stretch-parent" | "stretch-content";//"fit-content"不爱伸展,"stretch-parent"自动填满父,"stretch-content"自动伸展 type MediaResponse = { phoneXS: CGReactGrid | CGReactLength, //移动手机,超小屏幕,参考尺寸 <=768px padSM: CGReactGrid | CGReactLength, //pad设备,小屏幕,768px <参考尺寸 <=992px laptopMD: CGReactGrid | CGReactLength,//膝上电脑,中型屏幕,992px <参考尺寸 <=1200px desktopLG: CGReactGrid | CGReactLength, //桌面端PC电脑,参考尺寸 >1200px } type CGReactLayoutState = { layoutName?: string, //布局的名称属性,渲染为item-name direction?: "horizontal" | "vertical", //布局的方向属性为横向 layoutWidth?: number | CGReactLength | CGReactGrid | MediaResponse,//布局宽度,水平方向支持删格系统,只有宽度才需要响应式布局 layoutHeight?: number | CGReactLength | CGReactGrid,//布局长度,垂直方向支持删格系统 layoutBorder?: "none" | "default",//布局的边框,default是灰色的1像素边框,后续继续丰富 gravity?: CGReactAlign, //布局包含的子元素的对其方式 align?: CGReactAlign, //布局相对于父布局的对其方式,其优先级高于父布局的gravity配置 layoutDebug?: "debug-off" | "only-layout" | "with-content", //用于调试时显示布局的框子默认false不显示,如果没有配置,子Layout会自动同步父Layout的配置 }//Layout用户空间数据定义 export interface LayoutState extends CGReactLayoutState {} /** 组件参数类型:PROP*/ type CGReactLayoutProp = { className?: string, //可以配置className style?: React.CSSProperties, //可以配置style layout?: CGReactLayoutState, //layout的数据配置 modal?: ModalState | boolean,//对话框参数配置 } //组件参数默认配置 export interface LayoutProp extends CGReactLayoutProp, CGReactLayoutState {} /** 用户接口回调参数*/ export interface LayoutConfig { direction: "horizontal" | "vertical", //布局的方向属性 layoutName: string, //布局的名称属性 layoutDebug: "debug-off" | "only-layout" | "with-content", //用于调试时显示布局的框子 layoutBorder: "none" | "default",//布局的边框 layoutWidthXS: CGReactGrid | CGReactLength,//超小屏幕宽度 layoutWidthSM: CGReactGrid | CGReactLength,//小屏幕宽度 layoutWidthMD: CGReactGrid | CGReactLength,//中屏幕宽度 layoutWidthLG: CGReactGrid | CGReactLength,//大屏幕宽度, layoutHeight: CGReactGrid | CGReactLength,//高度配置, gravity: CGReactAlign, //布局包含的子元素的对其方式 align: CGReactAlign, //布局相对于父布局的对其方式 }