import React from "react"; import { CustomBehaviorOptions, Options } from "scroll-into-view-if-needed"; import { BubbleProps } from "../bubble"; export interface GuideStep { /** * 需要高亮的元素 */ element: Element | (() => Element); /** * 气泡位置 */ placement?: BubbleProps["placement"]; /** * 标题 */ title?: React.ReactNode; /** * 描述 */ description?: React.ReactNode; /** * 配图 URL */ image?: string; /** * 弹出位置偏离参考位置的位移 * * 如: `10`、`"50%"`、`"10 + 10%"`、`[10, 10]` * * @since 2.6.3 */ placementOffset?: BubbleProps["placementOffset"]; /** * 气泡箭头是否指向目标元素中心 * @since 2.6.3 */ arrowPointAtCenter?: BubbleProps["arrowPointAtCenter"]; /** * 步骤气泡自定义类名 * @since 2.5.0 */ bubbleClassName?: string; /** * 步骤气泡自定义样式 * @since 2.5.0 */ bubbleStyle?: React.CSSProperties; /** * 滚动元素至视野范围的配置 * * **详见:https://www.npmjs.com/package/scroll-into-view-if-needed** * * @default { behavior: "smooth", block: "center", inline: "center" } * @since 2.6.18 */ scrollIntoViewOptions?: CustomBehaviorOptions | Options | boolean; } export interface GuideProps { /** * 引导步骤 */ steps?: GuideStep[]; /** * 开始引导内容 */ startContent?: GuideStep; /** * 包含 `children` 时,在 `children` 渲染完成后展示引导 */ children?: JSX.Element; /** * 当前步骤. 如果有引导内容(非第一步),current值设为 -1 */ current?: number; /** * 步骤变化回调 * * @since 2.6.10 支持 `context` */ onCurrentChange?: (current: number, context: { from: "start" | "back" | "next" | "finish" | "cancel"; }) => void; /** * 受控展示 * @default true */ visible?: boolean; /** * 隐藏取消按钮 * @default false */ hideCancelButton?: boolean; /** * 隐藏计数 * @default false * @since 2.6.4 */ hideCount?: boolean; /** * 隐藏上一步按钮 * @default false */ showBackButton?: boolean; /** * 取消按钮文字 * @default "跳过" */ cancelText?: string; /** * 上一步按钮文字 * @default "上一步" */ backText?: string; /** * 下一步按钮文字 * @default "下一步" */ nextText?: string; /** * 完成按钮文字 * @default "完成" */ finishText?: string; /** * 是否自动滚动元素至视野范围 * @default false */ autoScrollIntoView?: boolean; /** * 下一步(及完成)按钮样式 * @default "link" * @since 2.6.18 */ nextButtonTheme?: "link" | "primary"; /** * 是否显示遮罩 * @default true * @since 2.7.4 */ showMask?: boolean; /** * 是否显示圆点 * @default false * @since 2.7.4 */ showDot?: boolean; /** * 引导开始按钮文字 * @default "确定" * @since 2.7.4 */ startFinishText?: string; /** * 是否显示椭圆动画 * @default false * @since 2.7.4 */ visibleEllipseAnimation?: boolean; /** * 是否显示三角箭头 * @default true * @since 2.7.4 */ visibleTriangleArrow?: boolean; /** * 是否显示关闭按钮 * @default false * @since 2.7.4 */ visibleCloseBtn?: boolean; } export declare function Guide({ steps, startContent, children, visible, autoScrollIntoView, current, onCurrentChange, showBackButton, hideCount, hideCancelButton, cancelText, backText, nextText, finishText, nextButtonTheme, showDot, showMask, startFinishText, visibleEllipseAnimation, visibleTriangleArrow, visibleCloseBtn, }: GuideProps): JSX.Element; export declare namespace Guide { var displayName: string; }