@ticmakers-react-native/onboarding
Version:
TIC Makers - React Native Onboarding
106 lines (85 loc) • 4.21 kB
Markdown
# TIC Makers - React Native Onboarding
React native component for onboarding.
Powered by [TIC Makers](https://ticmakers.com)
## Demo
[Onboarding Expo's snack]()
## Install
Install `@ticmakers-react-native/onboarding` package and save into `package.json`:
NPM
```shell
$ npm install @ticmakers-react-native/onboarding --save
```
Yarn
```shell
$ yarn add @ticmakers-react-native/onboarding
```
## How to use?
```javascript
import React from 'react'
import Onboarding from '@ticmakers-react-native/onboarding'
export default class App extends React.Component {
render() {
// Define the pages, it will be displayed in order
let pages = [
{
backgroundColor: '#fff',
image: <Image source={ require('assets/circle.png') } />,
subtitle: 'Done with React Native Onboarding Swiper',
title: 'Onboarding',
}, {
backgroundColor: '#fe6e58',
image: <Image source={ require('assets/square.png') } />,
subtitle: 'This is the subtitle that sumplements the title.',
title: 'The Title',
}, {
backgroundColor: '#999',
image: <Image source={ require('assets/triangle.png') } />,
subtitle: 'Beautiful, isn\'t it?',
title: 'Triangle',
}
]
return (
<Onboarding
pages={ pages }
onDone={ () => this.props.navigation.navigate('RouteName') }
/>
)
}
}
```
## Properties
| Name | Type | Default Value | Definition |
| ---- | ---- | ------------- | ---------- |
| bottomBarHeight `(optional)` | number | 60 | A number for the height of the bottom bar
| bottomBarHighlight `(optional)` | boolean | true | A bool flag indicating whether the bottom bar should be highlighted
| containerStyles `(optional)` | object { ...styles } | - | Override the default container styles
| controlStatusBar `(optional)` | boolean | true | A bool flag indicating whether the status bar should change with the background color
| defaultPages `(optional)` | boolean | false | Use 3 pages generated by default
| imageContainerStyles `(optional)` | object { ...styles } | - | Override the default image container styles
| nextLabel `(optional)` | string / Element | Next | A string or a React-Native component for the Next label
| onDone | function | - | A callback that is fired after the OnBoarding is completed
| onSkip `(optional)` | function | - | A callback that is fired if the OnBoarding is skipped
| pages | array of object { pagesProperties } | - | A array of pages to show in the component. `Show below pagesProperties`
| pageIndexCallback `(optional)` | function(indexPage: number) | - | A function that receives the page index as a parameter on page change
| skipLabel `(optional)` | string / Element | Skip | A string OR a React-Native component for the Skip label
| skipToPage `(optional)` | number | - | When pressing skip, go to that page (ex. skipToPage={2}). `If this prop is provided, ignores onSkip`
| subtitleStyles `(optional)` | object { ...styles } | - | Override the default subtitle styles
| titleStyles `(optional)` | object { ...styles } | - | Override the default title styles
| transitionAnimationDuration `(optional)` | number | 500 | The duration in milliseconds for the animation of the background color for the page transition
## Pages properties
| Name | Type | Default Value | Definition |
| ---- | ---- | ------------- | ---------- |
| backgroundColor | string(hex,rgb,etc) | - | A background color. The color of the font and dots adapts to the background color
| image | Element | - | A React-Native component to display at the top of the page
| title | string / Element | - | A string OR a React-Native component
| titleStyles `(optional)` | object { ...styles } | - | Modify styles of a specific page's title
| subtitle | string / Element | - | A string OR a React-Native component
| subtitleStyles `(optional)` | object { ...styles } | - | Modify styles of a specific page's subtitle
## Todo
- Test on Android & iOS
- Improve and add new features
- Add more styles
- Create tests
- Add new props and components in readme
## Version 1.2.1 ([Changelog])
[Changelog]: https://bitbucket.org/ticmakers/rn-onboarding/src/master/CHANGELOG.md