@taylord.tech/react-native-onboarding
v0.0.4
Published
Onboarding for your React-Native App
Downloads
4
Maintainers
Readme
<Onboarding />
| | | | | --------------------- | --------------------- | --------------------- |
There are many ways to onboard people to your mobile app. But for React-Native, there is solely one component that is a) easy to setup and b) highly customizable: @taylord.tech/react-native-onboarding
.
Your new users shouldn't jump in at the deep end. First give them a pleasurable, delightful introduction and only then let them explore your awesome app.
Getting everything running merely takes a minute. Don't believe me? Try it out!
Install
yarn add @taylord.tech/react-native-onboarding
import Onboarding from '@taylord.tech/react-native-onboarding';
Usage
<Onboarding
pages={[
{
backgroundColor: '#fff',
image: <Image source={require('./images/circle.png')} />,
title: 'Onboarding',
subtitle: 'Done with React Native Onboarding',
},
...
]}
/>
Required Properties
pages
(required): an array of pages in the following shape:backgroundColor
(required): a background color. The color of the font and dots adapts to the background color.image
(required): a component (e.g.<Image />
) to display at the top of the page.title
(required): a string OR a React-Native component.subtitle
(required): a string OR a React-Native component.
Optional Properties
onSkip
(optional): a callback that is fired if the Onboarding is skipped.skipToPage
(optional): when pressing skip, go the to that page (e.g.skipToPage={2}
). If this prop is provided, ignoresonSkip
.onDone
(optional): a callback that is fired after the Onboarding is completed.showSkip
(optional): a bool flag indicating whether the Skip button is visible. Defaults totrue
.showNext
(optional): a bool flag indicating whether the Next button is visible. Defaults totrue
.showDone
(optional): a bool flag indicating whether the Done checkmark button is visible. Defaults totrue
.skipLabel
(optional): a string OR a React-Native component for the Skip label. Defaults toSkip
.nextLabel
(optional): a string OR a React-Native component for the Skip label. Defaults toNext
.hasGradient
(optional): a bool flag indicating whether the background color has a gradient. Defaults tofalse
.bottomBarHeight
(optional): a number for the height of the bottom bar. Defaults to60
.bottomBarHighlight
(optional): a bool flag indicating whether the bottm bar should be highlighted. Defaults totrue
.imageContainerStyles
(optional): for a page in thepages
array, you can override the default styles e.g. thepaddingBottom
of 60.controlStatusBar
(optional): a bool flag indicating whether the status bar should change with the background color. Defaults totrue
.flatlistProps
(optional): additional props for the FlatList which holds all the pages.transitionAnimationDuration
(optional): The duration in milliseconds for the animation of the background color for the page transition. Defaults to500
.
Custom Components Properties
You can also provide your own custom components for the buttons and the dots. All of them have access to a isLight
prop but it's up to you what you do with it. Also checkout this example.
SkipButtonComponent
(optional): Skip Button, getsskipLabel
as prop.NextButtonComponent
(optional): Next Button, getsnextLabel
as prop.DoneButtonComponent
(optional): Done Button.DotComponent
(optional): Dot for the pagination, getsselected
as prop to indicate the active page.
Acknowledgements
Built upon the work by Johannes Filter and Gosha Arinich which was originally inspired by AndroidOnboarder.
License
MIT.