react-wizard-onboarding
v1.0.2
Published
Pretty fancy onboarding wizard for your website, made in React.
Maintainers
Readme
React Wizard Onboarding
Pretty fancy onboarding wizard for your website, made in React.

Live demo at https://chrisuser.github.io/react-wizard-onboarding.
Installation
Install via npm
npm install --save react-wizard-onboardingor yarn
yarn add react-wizard-onboardingUsage
- Wrap your app inside the
<TutorialProvider>context.
Example
const config = createTutorialConfig({ sticky: true, darkMode: true, displayDots: true, hideArrowOnSticky: true })
const Setup: React.FC = () => {
return (
<TutorialProvider config={config}>
<App />
</TutorialProvider>
)
}
ReactDOM.createRoot(document.getElementById('root')!).render(<Setup />)- Register all the elements of a page to include them into the onboarding carousel.
Example
const { registerTutorialComponent, startTutorial } = useTutorial()
...
return (
<div className="main-container">
<header
ref={registerTutorialComponent({
position: 1,
id: 'header',
tutorialKey: 'main_tutorial',
text: 'This is the header element...'
})}
>
...
)- Call the startTutorial method from useTutorial hook anywhere in the page (eg. with an onClick or a useEffect).
Example
<button onClick={() => startTutorial()}>
Start
</button>Hooks
registerTutorialComponent: (componentData: TutorialComponentData)Registers a tutorial component to be highlighted during the onboarding steps.startTutorial: (tutorialKey?: string)Starts the tutorial onboarding process. You can also specify which tutorial to start. If not specified, all the previously registered components will be highlighted during the onboarding process.
Props
TutorialComponentData connect a component to the onboarding process
| Name | Optional | Type | Description |
| ----------- | -------- | -------- | ---------------------------------------------------- |
| id | | string | Component key or identifier |
| position | | number | Component chapter position in the onboarding wizard |
| tutorialKey | | string | Identifier of the onboarding tutorial chapters group |
| text | ✔️ | string | Onboarding chapter text |
| iamge | ✔️ | string | Onboarding chapter image |
TutorialConfiguration configure the onboarding wizard UI
| Name | Optional | Type | Description |
| ----------- | -------- | --------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| title | ✔️ | string | Onboarding process title |
| sticky | ✔️ | boolean | Determines if the wizard should stick to the registered components at each step. |
| darkMode | ✔️ | boolean | Enables dark theme mode. |
| displayDots | ✔️ | boolean | Determines if page dots should be displayed in default mode (non-sticky only). |
| labels | ✔️ | { next?: string; complete?: string; close?: string } | Custom labels for the wizard buttons. |
| icons | ✔️ | { next?: ReactNode; complete?: ReactNode; close?: ReactNode } | Custom icons for the wizard buttons. |
License
react-wizard-onboarding is MIT licensed.
