UNPKG

@gfazioli/mantine-onboarding-tour

Version:

A Mantine component enables you to create a onboarding-tour effect using overlays, popovers, and onboarding tours, which enhances element visibility and interactivity.

43 lines (42 loc) 2.31 kB
import React from 'react'; import { BoxProps, Factory, StylesApiProps } from '@mantine/core'; import { OnboardingTourController, type OnboardingTourOptions, type OnboardingTourStep } from './hooks/use-onboarding-tour/use-onboarding-tour'; import { OnboardingTourFocusReveal, OnboardingTourFocusRevealProps } from './OnboardingTourFocusReveal/OnboardingTourFocusReveal'; import { OnboardingTourPopoverContent, type OnboardingTourPopoverContentBaseProps } from './OnboardingTourPopoverContent'; import { OnboardingTourPopoverContentStylesNames } from './OnboardingTourPopoverContent/OnboardingTourPopoverContent'; import { OnboardingTourTarget } from './OnboardingTourTarget/OnboardingTourTarget'; export type OnboardingTourStylesNames = OnboardingTourPopoverContentStylesNames; export interface OnboardingTourBaseProps extends OnboardingTourOptions, Omit<OnboardingTourPopoverContentBaseProps, 'tourController'> { tour: OnboardingTourStep[]; /** Controlled started state */ started: boolean; /** Props passed to FocusReveal */ focusRevealProps?: OnboardingTourFocusRevealProps | ((tourController: OnboardingTourController) => OnboardingTourFocusRevealProps); /** Child elements */ children: React.ReactNode; } export interface OnboardingTourProps extends BoxProps, OnboardingTourBaseProps, StylesApiProps<OnboardingTourFactory> { } export type OnboardingTourFactory = Factory<{ props: OnboardingTourProps; ref: HTMLDivElement; stylesNames: OnboardingTourStylesNames; staticComponents: { FocusReveal: typeof OnboardingTourFocusReveal; PopoverContent: typeof OnboardingTourPopoverContent; Target: typeof OnboardingTourTarget; }; }>; export declare const defaultProps: Partial<OnboardingTourProps>; export declare function OnboardingTour(_props: OnboardingTourProps): React.JSX.Element; export declare namespace OnboardingTour { var displayName: string; var classes: any; var FocusReveal: typeof OnboardingTourFocusReveal; var PopoverContent: import("@mantine/core").MantineComponent<{ props: import("./OnboardingTourPopoverContent").OnboardingTourPopoverContentProps; ref: HTMLDivElement; stylesNames: OnboardingTourPopoverContentStylesNames; }>; var Target: typeof OnboardingTourTarget; }