ant-design-x-vue-next
Version:
Ant Design X for Vue — community continuation aligned with @ant-design/x
38 lines (37 loc) • 1.29 kB
TypeScript
import type { CSSProperties, HTMLAttributes, VNode } from 'vue';
import type { Key } from '../_util/type';
import type { AvoidValidation } from '../type-utility';
export type SourcesSemanticType = 'root' | 'title' | 'content';
export interface SourcesRef {
nativeElement: HTMLElement;
}
export interface SourcesItem {
key?: Key;
title: AvoidValidation<VNode | string>;
url?: string;
icon?: AvoidValidation<VNode | string>;
description?: AvoidValidation<VNode | string>;
}
export interface SourcesProps extends /* @vue-ignore */ Omit<HTMLAttributes, 'title' | 'onClick'> {
prefixCls?: string;
rootClassName?: string;
className?: string;
class?: string;
style?: CSSProperties;
classNames?: Partial<Record<SourcesSemanticType, string>>;
styles?: Partial<Record<SourcesSemanticType, CSSProperties>>;
inline?: boolean;
items?: SourcesItem[];
title?: AvoidValidation<VNode | string | (() => VNode | string)>;
expandIconPosition?: 'start' | 'end';
onClick?: (item: SourcesItem) => void;
popoverOverlayWidth?: number | string;
activeKey?: Key;
expanded?: boolean;
onExpand?: (expand: boolean) => void;
defaultExpanded?: boolean;
}
export type SourcesSlots = {
default?(): any;
title?(): any;
};