tdesign-mobile-vue
Version:
tdesign-mobile-vue
66 lines (65 loc) • 1.92 kB
TypeScript
import { ButtonProps } from '../button';
import { PopoverProps } from '../popover';
import { TNode, AttachNode } from '../common';
export interface TdGuideProps {
backButtonProps?: ButtonProps;
counter?: TNode<{
current: number;
total: number;
}>;
current?: number;
defaultCurrent?: number;
modelValue?: number;
finishButtonProps?: ButtonProps;
hideCounter?: boolean;
hideSkip?: boolean;
highlightPadding?: number;
mode?: 'popover' | 'dialog';
nextButtonProps?: ButtonProps;
showOverlay?: boolean;
skipButtonProps?: ButtonProps;
steps?: Array<GuideStep>;
zIndex?: number;
onBack?: (context: {
e: MouseEvent;
current: number;
total: number;
}) => void;
onChange?: (current: number, context?: {
e: MouseEvent;
total: number;
}) => void;
onFinish?: (context: {
e: MouseEvent;
current: number;
total: number;
}) => void;
onNextStepClick?: (context: {
e: MouseEvent;
next: number;
current: number;
total: number;
}) => void;
onSkip?: (context: {
e: MouseEvent;
current: number;
total: number;
}) => void;
}
export interface GuideStep {
backButtonProps?: ButtonProps;
body?: string | TNode;
content?: TNode;
element: AttachNode;
highlightContent?: TNode;
highlightPadding?: number;
mode?: 'popover' | 'dialog';
nextButtonProps?: ButtonProps;
offset?: Array<string | number>;
placement?: StepPopoverPlacement;
popoverProps?: PopoverProps;
showOverlay?: boolean;
skipButtonProps?: ButtonProps;
title?: string | TNode;
}
export declare type StepPopoverPlacement = 'top' | 'left' | 'right' | 'bottom' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom' | 'center';