UNPKG

antd

Version:

An enterprise-class UI design language and React components implementation

74 lines (73 loc) 2.45 kB
import type { ReactNode } from 'react'; import type { TourProps as RCTourProps, TourStepProps as RCTourStepProps } from '@rc-component/tour'; import type { SemanticClassNamesType, SemanticStylesType } from '../_util/hooks'; export type TourSemanticName = keyof TourSemanticClassNames & keyof TourSemanticStyles; export type TourSemanticClassNames = { root?: string; cover?: string; mask?: string; section?: string; footer?: string; actions?: string; indicator?: string; indicators?: string; header?: string; title?: string; description?: string; }; export type TourSemanticStyles = { root?: React.CSSProperties; cover?: React.CSSProperties; mask?: React.CSSProperties; section?: React.CSSProperties; footer?: React.CSSProperties; actions?: React.CSSProperties; indicator?: React.CSSProperties; indicators?: React.CSSProperties; header?: React.CSSProperties; title?: React.CSSProperties; description?: React.CSSProperties; }; export type TourClassNamesType = SemanticClassNamesType<TourProps, TourSemanticClassNames>; export type TourStylesType = SemanticStylesType<TourProps, TourSemanticStyles>; export interface TourProps extends Omit<RCTourProps, 'renderPanel' | 'classNames' | 'styles'> { steps?: TourStepProps[]; prefixCls?: string; current?: number; keyboard?: boolean; indicatorsRender?: (current: number, total: number) => ReactNode; actionsRender?: TourStepProps['actionsRender']; type?: 'default' | 'primary'; classNames?: TourClassNamesType; styles?: TourStylesType; className?: string; style?: React.CSSProperties; } export interface TourStepProps extends RCTourStepProps { cover?: ReactNode; nextButtonProps?: { children?: ReactNode; onClick?: () => void; className?: string; style?: React.CSSProperties; }; prevButtonProps?: { children?: ReactNode; onClick?: () => void; className?: string; style?: React.CSSProperties; }; indicatorsRender?: (current: number, total: number) => ReactNode; actionsRender?: (originNode: ReactNode, info: { current: number; total: number; }) => ReactNode; type?: 'default' | 'primary'; classNames?: TourSemanticClassNames; styles?: TourSemanticStyles; } export interface TourLocale { Next: string; Previous: string; Finish: string; }