import {LayoutState} from "./cgreact-type-layout";
import {ModalState} from "./cgreact-type-modal";
/* CGReactFrom的STATE数据类型*/
type CGReactFormItem = {
    form?: "default" | "pane";// item主题样式，有普通和pane两种选择
    label?: false | string | "表单域" | "输入框" | "选择框";//item左侧标签
    auxiliary?: string | "辅助文字"; //item框的辅助文字提醒
} //表单一行配置数据结构
type CGReactFormState = {
    form?: "default" | "pane",//表单主题
    fluid?: boolean//流体统一配置
};//表单数据接口
export interface FormItem extends CGReactFormItem {} //导出表单条目的配置
export interface FormState extends CGReactFormState, LayoutState {}

/** FormProps在CGReactCompProp的基础上以form配置作为data的数据类型*/
type CGReactFormProp = {
    className?: string,//样式类
    style?: React.CSSProperties, //样式配置类
    data?: CGReactFormState, //使用Input数据类型
    layout?: LayoutState,//布局配置
    modal?: ModalState | boolean //对话框配置
} ;//参数类型
export interface FormProp extends CGReactFormProp, LayoutState, CGReactFormState {}

/** Form表单用户回调接口*/
export interface ItemConfig
{
    theme: "default" | "pane";
    label: false | string | "表单域" | "输入框" | "选择框";
    auxiliary: string | "辅助文字"; //item框的辅助文字提醒
    outerFrame: boolean; //当渲染button时需要包裹的border，渲染input或者select的时候因为有框子了不需要
    multiline: boolean; //当渲染textarea的时候multiline为true，其余情况一律false
}
