import { type FunctionComponent, type ComponentType } from 'react'; import { TourProvider } from '../contexts/TourProvider'; import { useTour } from '../hooks/useTour'; import { type TourOptions } from '../types'; const ComponentWithTourContext = (WrappedComponent: ComponentType) => { const Component: FunctionComponent = (props) => { const tour = useTour(); return ; }; Component.displayName = `TourInjector(${ WrappedComponent.displayName ?? WrappedComponent.name ?? 'Component' })`; return Component; }; /** * @deprecated The HOC is deprecated. Please use `TourProvider` instead. */ export function Tour

(options: TourOptions) { return (WrappedComponent: ComponentType) => { const OuterComponent: FunctionComponent

= (props) => { const InnerComponentWithTourContext = ComponentWithTourContext(WrappedComponent); return ( ); }; OuterComponent.displayName = `Tour(${ WrappedComponent.displayName ?? WrappedComponent.name ?? 'Component' })`; return OuterComponent; }; }