@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.
149 lines (143 loc) • 4.86 kB
TypeScript
import { ExtractPropTypes } from 'vue';
import { ISharedRenderlessFunctionParams, ISharedRenderlessParamUtils } from './shared.type.js';
declare const $constants: {
ITEM_NAME: string;
};
declare const userHeadProps: {
_constants: {
type: ObjectConstructor;
default: () => {
ITEM_NAME: string;
};
};
/**
* @property {Boolean} [min=false] - 小尺寸模式
*/
min: BooleanConstructor;
/**
* @property {Boolean} [round=true] - 圆形模式
*/
round: BooleanConstructor;
/**
* @property {String} [color=#ffffff] - 文字颜色
*/
color: {
type: StringConstructor;
default: string;
};
/**
* @property {String} [backgroundColor=#BBBBBB] - 背景色
*/
backgroundColor: {
type: StringConstructor;
default: string;
};
/**
* @property {String} [type=label] - 头像类型,icon|image|label 可选
*/
type: {
type: StringConstructor;
default: string;
validator: (value: string) => boolean;
};
/**
* @property {String} - 头像资源
* type=icon 时为图标组件,type=label时为字体串,type=image时为资源路径
*/
value: {
type: (StringConstructor | ObjectConstructor)[];
default: null;
};
/**
* @property {String} - 头像资源
* type=icon 时为图标组件,type=label时为字体串,type=image时为资源路径
*/
modelValue: {
type: (StringConstructor | ObjectConstructor)[];
default: null;
};
/**
* @property {Number} - 消息计数
*/
messageTotal: NumberConstructor;
/**
* @property {String} [messageType=details] - 消息类型 details|basic 可选
*/
messageType: {
type: StringConstructor;
default: string;
validator: (value: string) => boolean;
};
/**
* @property {Number} [messageUpperLimit=0] - 消息显示上限
*/
messageUpperLimit: {
type: NumberConstructor;
default: number;
};
size: {
type: NumberConstructor;
default: number;
};
tiny_mode: StringConstructor;
tiny_mode_root: BooleanConstructor;
tiny_template: (FunctionConstructor | ObjectConstructor)[];
tiny_renderless: FunctionConstructor;
tiny_theme: StringConstructor;
tiny_mcp_config: ObjectConstructor;
tiny_chart_theme: ObjectConstructor;
};
/**
* Copyright (c) 2022 - present TinyVue Authors.
* Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd.
*
* Use of this source code is governed by an MIT-style license.
*
* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
*
*/
declare const computedStyle: ({ state, props }: Pick<IUserHeadRenderlessParams, 'state' | 'props'>) => () => {
fill: string;
color: string;
backgroundColor: string;
backgroundImage: string;
};
declare const computedMessage: ({ props }: Pick<IUserHeadRenderlessParams, 'props'>) => () => string;
declare const computedFontSize: ({ props, state, mode }: Pick<IUserHeadRenderlessParams, 'props' | 'state' | 'mode'>) => () => {
fontSize: string;
};
declare const computedLabel: ({ state, props }: Pick<IUserHeadRenderlessParams, 'state' | 'props'>) => () => any;
declare const getInternalValue: ({ props }: Pick<IUserHeadRenderlessParams, 'props'>) => () => string | Record<string, any>;
interface IUserHeadState {
internalValue: string | Record<string, any>;
label: string;
style: ReturnType<ReturnType<typeof computedStyle>>;
message: string;
fontSize: {
fontSize: string;
};
size: number;
color: string;
backgroundColor: string;
}
type IUserHeadProps = ExtractPropTypes<typeof userHeadProps>;
type IUserHeadConstants = typeof $constants;
type IUserHeadRenderlessParams = ISharedRenderlessFunctionParams<IUserHeadConstants> & {
api: IUserHeadApi;
state: IUserHeadState;
props: IUserHeadProps;
};
interface IUserHeadApi {
state: IUserHeadState;
computedLabel: ReturnType<typeof computedLabel>;
computedStyle: ReturnType<typeof computedStyle>;
computedMessage: ReturnType<typeof computedMessage>;
computedFontSize: ReturnType<typeof computedFontSize>;
getInternalValue: ReturnType<typeof getInternalValue>;
handleClick: (event: Event) => void;
mouseEnter: (event: Event) => void;
}
type IUserHeadRenderlessParamUtils = ISharedRenderlessParamUtils<IUserHeadConstants>;
export { IUserHeadApi, IUserHeadConstants, IUserHeadProps, IUserHeadRenderlessParamUtils, IUserHeadRenderlessParams, IUserHeadState };