UNPKG

@tplc/wot

Version:

82 lines (81 loc) 1.79 kB
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>