Skip to content

组件运行时类型

ts

import { I18nOptions,Tmui4xI18nTml} from "@/uni_modules/x-vuei18n-s/interface.uts"
export type NAVIGATE_TYPE = "navigate" | "redirect" | "switchTab" | "reLaunch" | "navigateBack";
/** 
 * 下拉菜单类型子项目信息
 */
export type XDROPDOWN_LISTITEM_INFO_TYPE = {
	/** 下拉列表项的唯一标识符 */
	id : string,
	/** 下拉列表项的标题 */
	title : string,
	/** 下拉列表项的键名 */
	keyName : string,
	/** 下拉列表项的图标 */
	icon : string,
	/** 下拉列表项激活状态下的图标 */
	activeIcon : string,
	/** 下拉列表项的字体颜色 */
	fontColor : string,
	/** 下拉列表项激活状态下的字体颜色 */
	activeFontColor : string,
	/** 下拉列表项的字体大小 */
	fontSize : string,
	/** 是否是按钮类型的下拉列表项 */
	isBtn : boolean
}

/** 
 * 节点的信息
 */
export type NODE_INFO = {
	/** 节点左边界的位置 */
	left : number,
	/** 节点的宽度 */
	width : number,
	/** 节点的高度 */
	height : number,
	/** 节点底部的位置 */
	bottom : number,
	/** 节点右边界的位置 */
	right : number,
	/** 节点顶部的位置 */
	top : number
}
/**
 * 消息条的数据类型
 */
export type SNACKBAR_INFO = {
	/**
	 *  可选的背景颜色
	 */
	background ?: string,
	/**
	 * 可选的文字颜色属性
	 */
	color ?: string,
	/**
	 * 可选的字体大小属性
	 */
	fontSize ?: string,
	/**
	 * 必需的内容属性
	 */
	content : string,
	/**
	 * 必需的id属性
	 */
	id : number,
	/**
	 * 图标
	 */
	icon ?: string
}
/**
 * 消息条的数据类型
 */
export type SNACKBAR_ITEM = {
	background : string,
	color : string,
	fontSize : string,
	content : string,
	id : number,
	icon : string
}

/**
 * 多选,选项组的子节点属性。
 */
export type CHECKBOX_ITEM_INFO = {
	id : string,
	/** 当前选中的值 */
	nowvalue : string,
	/** 选中的值 */
	value : string,
	/** 未选中的值 */
	unvalue : string
}
/**
 * 单选,选项组的子节点属性。
 */
export type RADIO_ITEM_INFO = {
	id : string,
	/** 当前选中的值 */
	nowvalue : string,
	/** 选中的值 */
	value : string,
	/** 未选中的值 */
	unvalue : string
}
/**
 * 单选按钮组件类型
 */
export type RADIO_BUTTON = {
	id : string,
	icon ?: string,
	title : string,
	/** 是否禁用 */
	disabled ?: boolean
}
/**
 * 宫格项目类型
 */
export type XGRID_ITEM_INFO = {
	iconSize : string,
	fontSize : string,
	iconColor : string,
	fontColor : string,
	fontDarkColor:string,
	darkIconColor : string
}
/**
 * 动作菜单项目类型
 */
export type XACTION_MENU_ITEM_INFO = {
	iconSize ?: string,
	fontSize ?: string,
	iconColor ?: string,
	fontColor ?: string,
	icon ?: string,
	disabled ?: boolean,
	id : string,
	text : string,
}

/**
 * 词云项目类型
 */
export type TEXTCLOUD_ITEM_INFO = {
	/** 文本 **/
	text : string,
	/** 权重 **/
	weight : number,
	/** 颜色值 **/
	color ?: string
}
/**
 * tabs组件项目类型
 */
export type TABS_ITEM_INFO = {
	/** 标题 **/
	title : string,
	/** 是否禁用 **/
	disabled ?: boolean,
	/** 唯一标识,如果不提供,会当作idnex索引取代 **/
	id ?: string,
	/** 角标类型,dot,label,"",空时不显示 */
	dotType ?: "" | "dot" | "label",
	/** 角标背景颜色 */
	dotColor ?: string,
	/** 角标文本,只有dotType="number"时有效 */
	dotText ?: string,
}

export type TABS_ITEM = {
	/** 标题 **/
	title : string,
	/** 是否禁用 **/
	disabled : boolean,
	/** 唯一标识,如果不提供,会当作idnex索引取代 **/
	id : string,
	/** 角标类型,dot,number,"",空时不显示 */
	dotType : string,
	/** 角标背景颜色 */
	dotColor : string,
	/** 角标文本,只有dotType="number"时有效 */
	dotText : string,
}

/**
 * 侧边分类数据
 */
export type SLIDER_TREE_ITEM_INFO = {
	id : string,
	title : string,
	children ?: SLIDER_TREE_ITEM_INFO[],
	disabled ?: boolean,
	//菜单左侧小图标
	icon ?: string,
	/** 选中的子级值 */
	selected ?: string[],
}
/**
 * 底部导航项目信息tabbar
 */
export type TABBAR_ITEM_INFO = {
	/**
	 * 标题
	 * @type {string}
	 */
	title ?: string;
	/**
	 * 图标
	 * @type {string}
	 */
	icon ?: string;
	/**
	 * 被选中时的图标
	 * @type {string}
	 */
	selectedIcon ?: string;
	/**
	 * 是否禁用
	 * @type {boolean}
	 */
	disabled ?: boolean;

	/**
	 * 默认颜色
	 * @type {string}
	 */
	color ?: string;
	/**
	 * 选中时的颜色
	 * @type {string}
	 */
	selectedColor ?: string;

	/**
	 * 打开方式
	 * @type {NAVIGATE_TYPE}
	 */
	openType ?: NAVIGATE_TYPE;
	/**
	 * 链接地址
	 * @type {string}
	 */
	url ?: string;
	/**
	 * 是否显示角标。如果为dot,dotLabel不为空优先展示文本角标
	 * dot,
	 * label
	 */
	dotType ?: string,
	/**
	 * 文本角标。空不展示。
	 */
	dotLabel ?: string
}

export type TABBAR_ITEM = {
	title : string,
	icon : string,
	selectedIcon : string,
	disabled : boolean,
	color : string,
	selectedColor : string,
	openType : string,
	url : string,
	/**
	 * 是否显示角标。如果为dot,dotLabel不为空优先展示文本角标
	 * dot,
	 * label
	 */
	dotType ?: string,
	/**
	 * 文本角标。空不展示。
	 */
	dotLabel ?: string
}

/**
 * xUploadMedia组件参数配置表类型
 */
export type XUPLOADFILE_INFO = {
	/** 最大上传数量 */
	count ?: number,
	sourceType ?: Array<string>,
	sizeType ?: Array<string>,
	/** 上传地址 */
	hostUrl ?: string,
	/** 上传的文件字段名 */
	name ?: string,
	header ?: UTSJSONObject,
	formData ?: UTSJSONObject,
	/**
	 * 开启多文件同时上传。
	 * 开启后注意:多个文件中的字段名name都是file
	 */
	multipart ?: boolean,
	autoUpload ?: boolean,
	/** 开发者服务器返回code,默认是200,非200表示上传失败。 */
	statusCode ?: number,
	compress ?: boolean,
	quality ?: number | null,
	compressedHeight ?: number | null,
	compressedWidth ?: number | null

}
/**
 * 0未上传,1上传中,2上传成功,3上传失败(网络错误),4已取消(终止,上到一半取消了),5超过大小
 */
export type XUPLOADFILE_FILE_STATUS = 0 | 1 | 2 | 3 | 4 | 5

/**
 * 上传的文件类型
 */
export type XUPLOADFILE_FILE_INFO = {
	id : string,
	/** 文件类型 */
	type : string,
	/** 文件大小 */
	size : number,
	/** 文件路径 */
	path : string,
	/** 文件名 */
	name : string,
	/** 文件扩展名 */
	extension : string,
	progress : number,
	statusText : string,
	status : XUPLOADFILE_FILE_STATUS,
	response : string,
	/** 文件类型,photo,video */
	model ?: string
}
/**
 * 选择前|选择结束|上传前|成功|失败|完成前|完成|任何变动触发
 * chooseBefore|chooseAfter|beforeUpload|success|fail|beforeComplete|complete|change
 */
export type XUPLOADFILE_EVENT_NAME = "chooseBefore" | "chooseAfter" | "beforeUpload" | "success" | "fail" | "beforeComplete" | "complete" | "change"

/**
 * 文件上传双向绑定的对象类型
 */
export type XUPLOADFILE_FILE_VALUE = {
	id ?: string,
	response ?: string,
	url : string,
	/** 可选字段状态值,如果你自己添加的文件路径错误,再上传时安卓是直接引发io错误,uni.upload是捕捉不到的,请小心使用状态值,默认为2即用户添加的代表上传成功,其它值:0等待,1失败,2成功,3上传中,4超过大小。 */
	status ?: number
}


/**
 * picker数据结构
 */
export type PICKER_ITEM_INFO = {
	title : string,
	id ?: string,
	children ?: PICKER_ITEM_INFO[],
	disabled ?: boolean
}

/**
 * picker数据结构项目结构
 */
export type X_PICKER_X_ITEM = {
	id : string,
	title : string,
	children : X_PICKER_X_ITEM[],
	disabled : boolean,
}


/**
 * 极联器数据
 */
export type CASCADER_ITEM_INFO = {
	id : string,
	title : string,
	children ?: CASCADER_ITEM_INFO[],
	disabled ?: boolean,
	/** 选中的子级值 */
	selected ?: string[],
}

export type CALLFUN_T_BOOLEAN = (val : any) => boolean;
export type FORM_RULE_TYPE = '' | 'string' | 'number' | 'array' | 'UTSJSON' | 'phone' | 'email' | 'boolean' | 'date'
/**
* 表单校验对象
*/
export type FORM_RULE = {
	/**
	 * 字段类型,空值为自动判断 ,不填写默认为空,自动判断.
	 */
	type ?: FORM_RULE_TYPE,
	/**
	 * 校验函数。默认根据泛型判断字段值,如果不填写默认为自带的校验函数校验.
	 */
	valid ?: (val : any | null) => boolean,
	/**
	 * 错误信息,默认为自动根据类型编写提示
	 */
	errorMessage ?: string,
	/** 
	 * 最大值,如果为空值或者为-1表示不限制大小,(数组和字符串是长度,数字是值,utsjson是key字段数量)
	 * 如果type=date时.max是以毫秒值的时间值可以通过Date.getTime()或者通过我的xDate来取值
	 */
	max ?: number,
	/** 
	 * 最小值,如果为空默认为1,(数组,字符,utsjson为1,长不能小于1)
	 * * 如果type=date时,默认1不作判断请提供大于的值,此时只会校验val是不是合法的date值
	 */
	min ?: number,
	/**
	 * 触发时机,只针对input有效,其它默认全是change
	 * change变化时触发,blur失焦时触发(如果你配置在非input组件上,会导致无法校验,因为只有input才有blur事件.)
	 */
	trigger ?: "change" | "blur"
};
export type FORM_SUBMIT_OBJECT = {
	errorMessage : string,
	valid : boolean,
	key : string,
	value : any | null
}
/**
 * 提交表单时的验证结果
 */
export type FORM_SUBMIT_RESULT = {
	/**
	 * 是否验证通过
	 */
	valid : boolean,
	/**
	 * 首次(验证失败的第一个字段,并非你字段中的顺序,是按渲染顺序来)验证失败的字段 错误信息
	 */
	errorMessage : string,
	/**
	 * 首次(验证失败的第一个字段,并非你字段中的顺序,是按渲染顺序来)验证失败的字段 key
	 */
	key : string,

	formData : FORM_SUBMIT_OBJECT[]
}

export type CASCADER_TREE_ITEM = {
	id : string,
	title : string,
	children : CASCADER_TREE_ITEM[],
	disabled : boolean,
	/** 当前选中的id数组 */
	selected : string[],
	checked:boolean
}

export type CASCADER_PATH_MENU_TYPE = {
	indexPath:number[],
	ids:string[],
	pathData:CASCADER_TREE_ITEM[]
}

/**
 * xAnimate类型
 */
export type XANIMATE_OPIONS = {
	/** 元素id */
	ele ?: string,
	/** 时间 */
	duration ?: number,
	/** 动画类型 */
	timingFunction ?: string,
	/** -1表示无限循环播放,0表示不会播放,大于0表示播放该次数后停止播放 */
	loop ?: number,
	/** 表示循环播放时,是否左右来回播放,而不是始终从开始到结束这样的状态播放 */
	tyty ?: boolean,
	/** 是否让动画顺序挨过按attr添加的属性顺序执行动画,而不是统一一起执行。 */
	isDescPlay ?: boolean,
	/** 四位数数组的动画映射值,优先级高于timingFunction */
	bezier ?: number[],
	/** 动画结束后的回调函数 */
	complete ?: () => void,
	/** 动画开始 */
	start ?: () => void,
	/** 动画运行中执行 */
	frame ?: (propress : number) => void
}

/**
 * 日期的对象属性
 */
export type xDateDayInfoType = {
	/** 年 */
	year : number,
	/** 月0-11 */
	month : number,
	/** 天 */
	day : number,
	/** 小时0-23 */
	hours : number,
	/** 分钟0-59 */
	minutes : number,
	/** 秒0-59 */
	seconds : number,
	/** 本年的第几周 */
	weeks : number,
	/** 本周星期几 */
	week : number,
	/** 本周星期几,中文名称 */
	weekCn : string,
	/** 格式化的日期字符串 */
	date : string,
	/** 是否渲染显示 */
	isRender ?: boolean
}

/**
 * 日历单个日期的样式对象
 */
export type xCalendarDateStyle_type = {
	/** 是否显示右角标 */
	dot ?: boolean,
	/** 右角标背景颜色 */
	dotColor ?: string,
	/** 右角标文字颜色 */
	dotLabelColor ?: string,
	/** 注意如果dot为true,此内容为空就会显示小圆点。如果有内容优先显示本文本 */
	dotLabel ?: string,
	/** 底部文本 */
	label ?: string,
	/** 背景颜色 */
	color ?: string,
	/** 日期文字颜色 */
	fontColor ?: string,
	/** 设置的日期 */
	date : string
}

export type xCalendarDateStyleStatus = {
	date:string,
	color:string
}

export type xCalendarDateStyleBetweenStatus = {
	/** 指定了start和end,那么处于这两个日期(含起始)之间的会显示状态点 */
	start?:string,
	/** 指定了start和end,那么处于这两个日期(含起始)之间的会显示状态点 */
	end?:string,
	/** start和end间条件达成时的状态颜色 */
	color?:string,
	/* 区间内排除的指定日期 */
	notDate?:string[],
}
/**
 * 状态结构对象
 */
export type xCalendarDateStyleStatusType = {
	/** 启用日期区间设置连续性的状态,它与下面的参数不冲突,如果日期不在区间内,但又在指定的日期内,也会启用状态显示。 */
	between?:xCalendarDateStyleBetweenStatus,
	/** 指定单独的日期状态,高于between优先权 */
	date?:xCalendarDateStyleStatus[]
}

export type xRequestMethond = "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS"

/**
 * xReuest请求配置表
 */
export type xRequestOptions = {
	/**
	 * 是否新增访问前缀域名。如果提供了,在请求时会覆盖函数设置的setHostUrl如果不提供就使用全局设置的域名。
	 */
	hostUrl?:string,
	/** 定义服务器成功的状态码,如果不为此值会让请求进入失败状态。 */
	successStatusCode ?: number,
	/** string|null */
	url ?: string,
	/** 如果请求时提供了缓存时间将对接口进行缓存,一定时间内请求直接返回上次结果,不会真正请求 */
	cacheTime?:number,
	/** 是否启用缓存 */
	useCache?:boolean,
	/** UTSJSONObject|string|null */
	data ?: any,
	/** UTSJSONObject|string|null */
	header ?: UTSJSONObject,
	method ?: xRequestMethond,
	timeout ?: number,
	firstIpv4 ?: boolean,
	/** 请求前是否显示loading遮罩 */
	showLoadToast ?: boolean,
	/** 请求成功后是否提示,否则不提示 */
	showSuccessToast ?: boolean,
	/** 出错时,是否显示提示,否则不提示 */
	showErrorToast ?: boolean,
	dataType ?: string | null,
	responseType ?: string | null,
	/** 显示loading是的提示文本。 */
	loadToastText ?:string,
	/**
	 * 成功后的提示文件,注意你不提供它会先偿试读取你返回结果中msg字段,如果没有返回系统的错误字段,如果还没有就是最终的默认错误信息了
	 * 如果你提供了,不会展示其它可能的错误信息,以提供的为准。
	 */
	successToastText ?:string,
	/**
	 * 失败后的提示文件,注意你不提供它会先偿试读取你返回结果中msg字段,如果没有默认的则提示:操作成功字样
	 * 如果你提供了,不会展示其它信息,以提供的为准。
	 */
	errorToastText ?:string,
}
/**
 * 在监事事件中返回的参数类型
 */
export type xRequestOptionsCallBack = {
	/**
	 * 是否新增访问前缀域名。如果提供了,在请求时会覆盖函数设置的setHostUrl如果不提供就使用全局设置的域名。
	 */
	hostUrl:string,
	/** 定义服务器成功的状态码,如果不为此值会让请求进入失败状态。 */
	successStatusCode : number,
	/** 是否启用缓存 */
	useCache:boolean,
	/** 如果请求时提供了缓存时间将对接口进行缓存,一定时间内请求直接返回上次结果,不会真正请求 */
	cacheTime:number,
	/** string|null */
	url : string,
	/** UTSJSONObject|string|null */
	data : any,
	/** UTSJSONObject|string|null */
	header : UTSJSONObject,
	method : xRequestMethond,
	timeout : number,
	firstIpv4 : boolean,
	/** 请求前是否显示loading遮罩 */
	showLoadToast : boolean,
	/** 请求成功后是否提示,否则不提示 */
	showSuccessToast : boolean,
	/** 出错时,是否显示提示,否则不提示 */
	showErrorToast : boolean,
	dataType ?: string | null,
	responseType ?: string | null,
	/** 显示loading是的提示文本。 */
	loadToastText ?:string,
	/**
	 * 成功后的提示文件,注意你不提供它会先偿试读取你返回结果中msg字段,如果没有返回系统的错误字段,如果还没有就是最终的默认错误信息了
	 * 如果你提供了,不会展示其它可能的错误信息,以提供的为准。
	 */
	successToastText ?:string,
	/**
	 * 失败后的提示文件,注意你不提供它会先偿试读取你返回结果中msg字段,如果没有默认的则提示:操作成功字样
	 * 如果你提供了,不会展示其它信息,以提供的为准。
	 */
	errorToastText ?:string,
}
/**
 * 请求成功后听结果
 */
export type xRequestResult = {
	data : any | null,
	statusCode : number,
	header : any,
	cookies : string[],
}
/**
 * 请求的历史记录类型列表
 */
export type xRequestHistoryType = {
	id : string,
	loading : boolean,
	loaded : boolean,
	/** 状态标志 */
	status : string,
	/** 请求总时间ms为单位 */
	time : number,
	/** 请求的接口api名称 */
	api : string,
	/** 请求成功后的数据集 */
	result : any
};

export type xTableColumns = {
	title : string,
	/** 需要对应源数据中值的key字段名称 */
	key : string,
	style ?: UTSJSONObject,
	/** 升序,降序,只针对数字或者数字字符串 */
	desc ?: boolean,
	/** 单列宽,0px或者auto为自动宽其实就是flex-1值。
	允许auto,%,prx,px等,多列时,不要全部写一个宽,
	你要让剩下的一个自动。不然会出现大于或者小于容器宽的。
	excel表格宽就懂了,总要有一个是最大的自动宽。
	 */
	width ?: string
}
export type XTABBARCONFIG = {
	/**
	 * 底部导航栏选中项索引值。
	 */
	tabbarActiveIndex : number,
	/**
	 * 底部导航的高
	 */
	tabaarHeight : number,
	/**
	 * 导航栏数据。
	 */
	list : TABBAR_ITEM_INFO[]
}

export type X_REQUEST_PRIVATE_CALL_FUN_TYPE = {
	history : xRequestHistoryType[],
	/**
	 *  设置为false时表示需要登录授权的请求不会被发起
	 *	比如第一次请求发现没有登录或者登录失败,设置此值为false后
	 * 后面所有再它后面请求的请求会部会被阻止请求。
	 */
	authPass : boolean,
	hostUrl : string,
	header : UTSJSONObject | null,
	/**
	 * 开了调试模式后,你能查看所有的请求日志并统计当前的
	 * 请求总数,及每次请求的时间
	 * 及请求的状态值。
	 */
	dev : boolean,
	showLoadToast : boolean,
	/** 请求成功后是否提示,否则不提示 */
	showSuccessToast : boolean,
	/** 出错时,是否显示提示,否则不提示 */
	showErrorToast : boolean
}

export type xPageStyle = {
	path : string,
	backgroundColorContent : string,
	navigationBarBackgroundColor : string,
	navigationBarTextStyle : string
}
export type XPRIVATECONFIG = {
	scrollTop : number,
	windowInnerWidth : number,
	windowInnerHeight : number,
	windowWidth : number,
	windowHeight : number,
	pageStyle : Map<string, xPageStyle>,
	pageReady : boolean
}

export type XCONFIG = {
	i18n:Tmui4xI18nTml,
	/** 默认颜色主题名称的配置 */
	theme : Map<string, string>,
	/** 全局的主题色 **/
	color : string,
	/** 主题配置,auto,dark,light */
	dark : 'dark' | 'light' | 'auto',
	/** 设计基准默认是375,如果修改会影响组件的尺寸,比如你设置为414,那么假设12号最终计算过程是414/375*12=13.248px,如果你小于375则不计算。 */
	designSize: number,
	/** 当屏幕宽大于或者等于667时再直接采用以375为基座,按照designSize比例来的原始尺寸,即尺寸不会变大也不会变小了 */
	maximumCalculatedSize:number,
	/** 设计单位px,rpx */
	unit : 'px' | 'rpx',
	/** 语言 */
	language : string,
	/** 所有组件的文字统一缩放的倍数,如果你使用unit为rpx时,fontScale不要去设置,如果unit为px时,可以设置此值来缩放大小。 */
	fontScale: number,
	/** x-text默认的字号,如果你使用unit为rpx时,fontScale不要去设置 */
	fontSize: string,
	/** 在web时的系统导航文本色 **/
	navigationBarTextStyleDark : string,
	/** 注意局部的page.json节点配置会覆盖这里 */
	navigationBarTextStyleLight : string,
	/** 在web时的系统导航背景色 **/
	navigationBarBackgroundColorDark : string,
	/** 注意局部的page.json节点配置会覆盖这里 */
	navigationBarBackgroundColorLight : string,
	/** 在web时的页面暗黑本色 **/
	backgroundColorContentDark : string,
	/** 注意局部的page.json节点配置会覆盖这里 */
	backgroundColorContentLight : string,
	/** 在web时的底部导航暗黑背景色 **/
	tabarBackgroundColorDark : string,
	/** 在web时的底部导航亮系背景色 **/
	tabarBackgroundColorLight : string,

	/** 一般容器sheet的暗黑背景 */
	sheetDarkColor : string,
	/** 一般容器边线颜色如果你布局自己写了默认的边线色,但忘记填写组件上的暗黑线时,会取这里的值 */
	sheetDarkBorderColor : string[],

	/** 输入框,表单,常规灰背景待统一的二级暗黑背景 */
	inputDarkColor : string,
	/** 输入框默认的亮系背景色方便统一设计稿 */
	inputBgColor: string,
	/** 输入框默认的统一提示placeholderStyle方便统一设计稿 */
	placeholderStyle: string,
	/** 一般的表单,列表底的暗黑统一边线颜色 */
	borderDarkColor : string,


	/** 统一的输入框圆角 */
	inputRadius : string,
	/** 
	 * 输入框统一的聚集样式
	 * 第3表示默认的边颜色(如果为空表示默认边颜色不生效.),第4表示聚焦时的颜色(空表示取全局color,transparent为不生效就是没有聚集样式)
	 * ['2px','solid','','']
	 */
	inputFocusBorder : string[],
	/** 统一的按钮圆角 */
	buttonRadius : string,
	/** 统一的标签圆角 */
	tagRadius : string,
	/**
	 * 统一列表的圆角
	 */
	cellRadius : string,
	/** 
	 * 列表为cellCard组件时的边距
	 * [x]全部,[x,x]左右,上下,[x,x,x]左上右,[x,x,x,x]左上右下
	 */
	cellMargin : string[],
	/** 容器的全局圆角 */
	sheetRadius : string[],
	/** 容器的全局间隙 */
	sheetMargin : string[],
	/** 容器的全局内间隙 */
	sheetPadding : string[],
	/**
	 * 影响:
	 * 抽屉打开方向为上和下时的圆角
	 * 浮动面板
	 * 动作菜单
	 * */
	drawerRadius : string,
	/** 对话框modal的圆角 */
	modalRadius : string,
	/** 开关的圆角 */
	switchRadius : string,
	/**进度条的圆角 */
	progressRadius : string,
	/** 未选中时的颜色 */
	unRadioAndCheckBoxColor : string,
	/** 单选按钮组的圆角 */
	radioButtonRadius : string,
	/** 弹窗,弹层,对话框等等所有的动画类型。 */
	animationFun : string,
	/** 卡片的圆角 */
	cardRound : string,
	/**各种弹层右上角的关闭按钮图标名称,可以根据自己设计稿更换**/
	closeIcon : string

}

export type xWaterfallDataItemType = {
	top : number,
	left : number,
	width : number,
	height : number,
	id : string,
	col : number,
	isRender : boolean,
	order : number
}

/**
 * 1:从未执行过动画
 * 2:已完成/结束
 * 3:暂停中
 * 6:循环中被暂停。
 * 4:执行动画中
 * 5:重置并继续
 */
export type xTweenStatus = 1 | 2 | 3 | 4 | 5 | 6
export type xTweenEventListenerName = 'enter' | 'complete' | 'start' | 'stop' | 'pause'
export type xTweenCallbackFunType = (x : number) => number
export type xTweenEventCallFunType = {
	id : string,
	ease : xTweenCallbackFunType | null,
	status : xTweenStatus,
	duration : number,
	progress : number,
	oldProgeress : number,
	startTime : number,
	autoRemove : boolean,
	complete : xTweenEventCall,
	enter : xTweenEventCall,
	start : xTweenEventCall,
	pause : xTweenEventCall,
	loop : number,
	tyty : boolean,
	step : number,
	//已执行的次数。
	_finishLoop : number,
	//是否允许在下次播放时反向(loop>1或者loop -1才生效)
	reverse : boolean,

}
export type xTweenEventCall = (item : xTweenEventCallFunType) => void;
export type xTweenAnimate = {
	//结束完成时都被执行
	complete ?: xTweenEventCall,
	//运行中执行,会不停的执行回调函数
	enter ?: xTweenEventCall,
	//开始时执行
	start ?: xTweenEventCall
	//暂停时执行.
	pause ?: xTweenEventCall,
	/**
	 * string|number[]|null
	 * 动画名称或者动画差值number[]长度为4
	 * args为string时,应该是ease名称,只能是内置的名称.
	 */
	ease ?: any,
	/**
	 * 动画持续的时间.
	 */
	duration : number,
	/**
	 * 执行完动画后,是否自动删除本动画
	 * 删除后,如果再点play不再有动画.如果需要执行就需要再次
	 * addAnimate来添加执行的动画.
	 */
	autoRemove ?: boolean,
	// 动画循环的次数,默认为1即执行一次,-1表示永久循环执行
	loop ?: number,
	//动画被执行后,如果loop=-1或者loop>1将在下一次动画执行时,将从反向开始播放.进度也会反向值.1-0
	tyty ?: boolean,
	// [未实现]按步骤帖执行动画,比如在指定duration时间内以这个步骤数完成
	step ?: number,
}

/** 思维导图数据类型 */
export type XTREEFLAT_NODES = {
	/** 标题,必填写,其它字段全部为非必填 */
	title : string,
	/** 唯一标识,如果不填写内部自动填写 */
	id ?: string | number,
	/** 文本颜色 */
	fontColor ?: string,
	/** 文本背景颜色 */
	bgColor ?: string,
	/** 绘制文本时的内边跑 */
	padding ?: number,
	/** 绘制项目是连接线上下项目或者左右项目的间距 */
	gutter ?: number,
	/** 父级与子级之间的连续长度 */
	parentLineGutter ?: number,
	/** 是否展开了子级 */
	opened ?: boolean,
	/** 是否禁用展开子级 */
	disabled ?: boolean,
	/** 当前项目是否选中 */
	selected ?: boolean,
	/** 绘制文本的字号大小 */
	fontSize ?: number,
	/** 子级数据,可以为空数组代表无子级不绘制下级 */
	children ?: Array<XTREEFLAT_NODES>
}

/** 思维导图组件配置项 */
export type XTreeFlatOpts = {
	/** 不填写默认为透明,即不绘制背景 */
	bgColor ?: string,
	nodeBgColor ?: string,
	/** 不填写默认为#333 */
	fontColor ?: string,
	/** 不填写默认为14,如果子节点设置了以子节点为准 */
	fontSize ?: number,
	/** 统一连线颜色,不配置取节点的背景,如果节点背景也没设置取#333 */
	lineColor ?: string,
	/** 连线宽 */
	lineWidth ?: number,
	/** 绘制文本时的内边跑 */
	padding ?: number,
	/** 绘制项目是连接线上下项目或者左右项目的间距 */
	gutter ?: number,
	/** 父级与子级之间的连续长度 */
	parentLineGutter ?: number,
	/** 点击有子节点的父级时,是否允许关闭和展开,默认关闭 */
	enbleOpenChildren ?: boolean
	/** 节点圆角,默认为8 */
	nodeRadius ?: number
}

export type Tmui4xOptions = {
	config:UTSJSONObject|null,
	i18nOptions:I18nOptions|null
}
最近更新