@tplc/wot
Version:
82 lines (81 loc) • 1.79 kB
TypeScript
import {
type ComponentPublicInstance,
type ExtractPropTypes,
type InjectionKey,
type PropType,
} from 'vue'
export type CollapseToggleAllOptions =
| boolean
| {
expanded?: boolean
skipDisabled?: boolean
}
export type CollapseProvide = {
props: Partial<CollapseProps>
toggle: (name: string, expanded: boolean) => void
}
export declare const COLLAPSE_KEY: InjectionKey<CollapseProvide>
export declare const collapseProps: {
/**
* 查看更多模式下的插槽外部自定义样式
*/
customMoreSlotClass: {
type: PropType<string>
default: string
}
text: {
type: PropType<string>
default: string
}
/**
* 绑定值
*/
modelValue: {
type: PropType<string | Array<string> | boolean>
}
/**
* 手风琴模式
*/
accordion: {
type: BooleanConstructor
default: boolean
}
/**
* 查看更多的折叠面板
*/
viewmore: {
type: BooleanConstructor
default: boolean
}
/**
* 查看更多的自定义插槽使用标志
*/
useMoreSlot: {
type: BooleanConstructor
default: boolean
}
/**
* 查看更多的折叠面板,收起时的显示行数
*/
lineNum: {
type: NumberConstructor
default: number
}
customStyle: {
type: PropType<string>
default: string
}
customClass: {
type: PropType<string>
default: string
}
}
export type CollapseProps = ExtractPropTypes<typeof collapseProps>
export type CollapseExpose = {
/**
* 切换所有面板展开状态,传 true 为全部展开,false 为全部收起,不传参为全部切换
* @param options 面板状态
*/
toggleAll: (options?: boolean | CollapseToggleAllOptions) => void
}
export type CollapseInstance = ComponentPublicInstance<CollapseProps, CollapseExpose>