UNPKG

@tplc/wot

Version:

116 lines (115 loc) 2.16 kB
import { type ExtractPropTypes, type InjectionKey } from 'vue' export type TabsProvide = { state: { activeIndex: number } } export declare const TABS_KEY: InjectionKey<TabsProvide> export type TagsMode = 'semicircle' | 'default' export declare const tabsProps: { /** * 绑定值 */ modelValue: { type: (NumberConstructor | StringConstructor)[] default: number } /** * 标签数超过阈值可滑动 */ slidableNum: { type: NumberConstructor default: number } /** * 标签数超过阈值显示导航地图 */ mapNum: { type: NumberConstructor default: number } /** * 粘性布局 */ sticky: { type: BooleanConstructor default: boolean } /** * 粘性布局吸顶位置 */ offsetTop: { type: NumberConstructor default: number } /** * 开启手势滑动 */ swipeable: { type: BooleanConstructor default: boolean } /** * 底部条宽度,单位像素 */ lineWidth: (NumberConstructor | StringConstructor)[] /** * 底部条高度,单位像素 */ lineHeight: (NumberConstructor | StringConstructor)[] /** * 颜色 */ color: { type: import('vue').PropType<string> default: string } /** * 非活动状态颜色 */ inactiveColor: { type: import('vue').PropType<string> default: string } /** * 是否开启切换标签内容时的过渡动画 */ animated: { type: BooleanConstructor default: boolean } /** * 切换动画过渡时间,单位毫秒 */ duration: { type: NumberConstructor default: number } mode: { type: import('vue').PropType<TagsMode> default: TagsMode } /** * 字体大小 */ itemFontSize: { type: import('vue').PropType<number> default: number } /** * 字体粗细 */ itemFontWeight: { type: import('vue').PropType<string> default: string } customStyle: { type: import('vue').PropType<string> default: string } customClass: { type: import('vue').PropType<string> default: string } } export type TabsProps = ExtractPropTypes<typeof tabsProps>