diff --git a/website/i18n/en.json b/website/i18n/en.json
index 55ef291bf6..4124ca67e8 100644
--- a/website/i18n/en.json
+++ b/website/i18n/en.json
@@ -304,6 +304,54 @@
},
"version-1.2.0/version-1.2.0-web_usage": {
"title": "Usage on the Web"
+ },
+ "version-2.0.0/version-2.0.0-avatar": {
+ "title": "Avatar"
+ },
+ "version-2.0.0/version-2.0.0-button_group": {
+ "title": "ButtonGroup"
+ },
+ "version-2.0.0/version-2.0.0-checkbox": {
+ "title": "CheckBox"
+ },
+ "version-2.0.0/version-2.0.0-contributing": {
+ "title": "Contributing"
+ },
+ "version-2.0.0/version-2.0.0-customization": {
+ "title": "Customization"
+ },
+ "version-2.0.0/version-2.0.0-divider": {
+ "title": "Divider"
+ },
+ "version-2.0.0/version-2.0.0-icon": {
+ "title": "Icon"
+ },
+ "version-2.0.0/version-2.0.0-image": {
+ "title": "Image"
+ },
+ "version-2.0.0/version-2.0.0-input": {
+ "title": "Input"
+ },
+ "version-2.0.0/version-2.0.0-listitem": {
+ "title": "ListItem"
+ },
+ "version-2.0.0/version-2.0.0-overlay": {
+ "title": "Overlay"
+ },
+ "version-2.0.0/version-2.0.0-rating": {
+ "title": "Rating"
+ },
+ "version-2.0.0/version-2.0.0-social_icon": {
+ "title": "SocialIcon"
+ },
+ "version-2.0.0/version-2.0.0-text": {
+ "title": "Text"
+ },
+ "version-2.0.0/version-2.0.0-tooltip": {
+ "title": "Tooltip"
+ },
+ "version-2.0.0/version-2.0.0-web_usage": {
+ "title": "Usage on the Web"
}
},
"links": {
diff --git a/website/versioned_docs/version-2.0.0/avatar.md b/website/versioned_docs/version-2.0.0/avatar.md
new file mode 100644
index 0000000000..ce20a19a25
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/avatar.md
@@ -0,0 +1,407 @@
+---
+id: version-2.0.0-avatar
+title: Avatar
+original_id: avatar
+---
+
+Avatars are found all over ui design from lists to profile screens. They are
+commonly used to represent a user and can contain photos, icons, or even text.
+
+
+
+
+
+
+
+
+## Usage
+
+```js
+import { Avatar } from 'react-native-elements';
+
+// Standard Avatar
+
+
+// Avatar with Title
+
+
+// Avatar with Icon
+
+
+// Standard Avatar with accessory
+
+```
+
+#### Avatar with initials
+
+
+
+```js
+import { Avatar } from "react-native-elements";
+
+ console.log("Works!")}
+ activeOpacity={0.7}
+/>
+ console.log("Works!")}
+ activeOpacity={0.7}
+/>
+ console.log("Works!")}
+ activeOpacity={0.7}
+/>
+ console.log("Works!")}
+ activeOpacity={0.7}
+/>
+```
+
+#### Avatar with icons
+
+
+
+```js
+import { Avatar } from "react-native-elements";
+
+ console.log("Works!")}
+ activeOpacity={0.7}
+ containerStyle={{flex: 2, marginLeft: 20, marginTop: 115}}
+/>
+ console.log("Works!")}
+ activeOpacity={0.7}
+ containerStyle={{flex: 2, marginLeft: 20, marginTop: 115}}
+/>
+ console.log("Works!")}
+ activeOpacity={0.7}
+ containerStyle={{flex: 3, marginTop: 100}}
+/>
+ console.log("Works!")}
+ activeOpacity={0.7}
+ containerStyle={{flex: 4, marginTop: 75}}
+/>
+ console.log("Works!")}
+ activeOpacity={0.7}
+ containerStyle={{flex: 5, marginRight: 60}}
+/>
+ console.log("Works!")}
+ activeOpacity={0.7}
+ containerStyle={{flex: 2, marginLeft: 20, marginTop: 115}}
+/>
+```
+
+#### Avatar with title placeholder
+
+
+
+```js
+import { ListItem } from 'react-native-elements';
+
+;
+```
+
+---
+
+## Props
+
+- [`accessory`](#accessory)
+- [`activeOpacity`](#activeopacity)
+- [`avatarStyle`](#avatarstyle)
+- [`containerStyle`](#containerstyle)
+- [`icon`](#icon)
+- [`iconStyle`](#iconstyle)
+- [`imageProps`](#imageprops)
+- [`onAccessoryPress`](#onaccessorypress)
+- [`onLongPress`](#onlongpress)
+- [`onPress`](#onpress)
+- [`overlayContainerStyle`](#overlaycontainerstyle)
+- [`placeholderStyle`](#placeholderstyle)
+- [`rounded`](#rounded)
+- [`showAccessory`](#showaccessory)
+- [`size`](#size)
+- [`source`](#source)
+- [`title`](#title)
+- [`titleStyle`](#titlestyle)
+- [`renderPlaceholderContent`](#renderplaceholdercontent)
+- [`Component`](#Component)
+- [`ImageComponent`](#imagecomponent)
+
+---
+
+## Reference
+
+### `accessory`
+
+Icon or Image used as small overlay.
+If a `source` key is used in the object, then an Image will be used.
+
+| Type | Default |
+| :--------------------------------------------------------------------: | :---------------------------------------------------------------------------: |
+| {[...Icon props](icon.md#props)} or {[...Image props](image.md#props)} | { name: 'mode-edit', type: 'material', color: '#fff', underlayColor: '#000' } |
+
+---
+
+### `activeOpacity`
+
+Opacity when pressed
+
+| Type | Default |
+| :----: | :-----: |
+| number | 0.2 |
+
+---
+
+### `avatarStyle`
+
+Style for avatar image
+
+| Type | Default |
+| :------------: | :-----: |
+| object (style) | none |
+
+---
+
+### `containerStyle`
+
+Styling for outer container
+
+| Type | Default |
+| :------------: | :-----: |
+| object (style) | none |
+
+---
+
+### `icon`
+
+Displays an icon as the main content of the Avatar. **Cannot be used alongside
+title**. When used with the `source` prop it will be used as the placeholder.
+
+| Type | Default |
+| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----: |
+| object {name: string, color: string, size: number, type: string (default is material, or choose from [supported icon sets](icon.md#available-icon-sets)), iconStyle: object(style)} | none |
+
+---
+
+### `iconStyle`
+
+Extra styling for icon component (optional)
+
+| Type | Default |
+| :------------: | :-----: |
+| object (style) | none |
+
+---
+
+### `imageProps`
+
+Optional properties to pass to the avatar e.g "resizeMode"
+
+| Type | Default |
+| :--------------------------------: | :-----: |
+| {[...Image props](image.md#props)} | none |
+
+---
+
+### `onAccessoryPress`
+
+Callback function when pressing on the accessory
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `onLongPress`
+
+Callback function when long pressing component
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `onPress`
+
+Callback function when pressing component
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `overlayContainerStyle`
+
+Style for the view outside image or icon
+
+| Type | Default |
+| :------------: | :-----: |
+| object (style) | none |
+
+---
+
+### `placeholderStyle`
+
+Adds style to the placeholder wrapper
+
+| Type | Default |
+| :------------: | :------------------------------: |
+| object (style) | `{ backgroundColor: '#BDBDBD' }` |
+
+---
+
+### `rounded`
+
+Makes the avatar circular
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `showAccessory`
+
+Shows an accessory over the avatar (optional)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `size`
+
+Size of the avatar
+
+| Type | Default |
+| :----------------------------------------------------: | :-----: |
+| string(`small`, `medium`, `large`, `xlarge`) or number | `small` |
+
+---
+
+### `source`
+
+Image source
+
+| Type | Default |
+| :----------------------------------------------------------------: | :-----: |
+| [ImageSource](https://facebook.github.io/react-native/docs/images) | none |
+
+---
+
+### `title`
+
+Renders title in the placeholder
+
+| Type | Default |
+| :----: | :-----: |
+| string | none |
+
+---
+
+### `titleStyle`
+
+Style for the title
+
+| Type | Default |
+| :------------: | :-----: |
+| object (style) | none |
+
+---
+
+### `renderPlaceholderContent`
+
+Custom placeholder element (by default, it's the title)
+
+| Type | Default |
+| :------------------------: | :-----: |
+| React component or element | none |
+
+---
+
+### `Component`
+
+Component for enclosing element (eg: TouchableHighlight, View, etc)
+
+| Type | Default |
+| :------: | :----------------: |
+| function | TouchableHighlight |
+
+---
+
+### `ImageComponent`
+
+Custom ImageComponent for Avatar
+
+| Type | Default |
+| :------------------------: | :-----: |
+| React component or element | Image |
diff --git a/website/versioned_docs/version-2.0.0/button_group.md b/website/versioned_docs/version-2.0.0/button_group.md
new file mode 100644
index 0000000000..866c7d649b
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/button_group.md
@@ -0,0 +1,296 @@
+---
+id: version-2.0.0-button_group
+title: ButtonGroup
+original_id: button_group
+---
+
+ButtonGroup is a linear set of segments, each of which function as a button that
+can display a different view. Use a ButtonGroup to offer choices that are
+closely related but mutually exclusive.
+
+![ButtonGroup](/react-native-elements/img/button_group.png)
+
+## Usage
+
+### Using strings
+
+```js
+constructor () {
+ super()
+ this.state = {
+ selectedIndex: 2
+ }
+ this.updateIndex = this.updateIndex.bind(this)
+}
+
+updateIndex (selectedIndex) {
+ this.setState({selectedIndex})
+}
+
+render () {
+ const buttons = ['Hello', 'World', 'Buttons']
+ const { selectedIndex } = this.state
+
+ return (
+
+ )
+}
+```
+
+### Using components
+
+```js
+constructor () {
+ super()
+ this.state = {
+ selectedIndex: 2
+ }
+ this.updateIndex = this.updateIndex.bind(this)
+}
+updateIndex (selectedIndex) {
+ this.setState({selectedIndex})
+}
+
+const component1 = () => Hello
+const component2 = () => World
+const component3 = () => ButtonGroup
+
+render () {
+ const buttons = [{ element: component1 }, { element: component2 }, { element: component3 }]
+ const { selectedIndex } = this.state
+ return (
+
+ )
+}
+```
+
+---
+
+## Props
+
+> This component inherits
+> [all native TouchableHighlight and TouchableOpacity props that come with React Native TouchableHighlight or TouchableOpacity elements](https://facebook.github.io/react-native/docs/touchablehighlight.html),
+> along with the following:
+
+- [`buttonStyle`](#buttonstyle)
+- [`buttons`](#buttons)
+- [`Component`](#Component)
+- [`containerStyle`](#containerstyle)
+- [`disabled`](#disabled)
+- [`disabledStyle`](#disabledstyle)
+- [`disabledTextStyle`](#disabledtextstyle)
+- [`disabledSelectedStyle`](#disabledselectedstyle)
+- [`disabledSelectedTextStyle`](#disabledselectedtextstyle)
+- [`innerBorderStyle`](#innerborderstyle)
+- [`onPress`](#onpress)
+- [`selectMultiple`](#selectmultiple)
+- [`selectedButtonStyle`](#selectedbuttonstyle)
+- [`selectedIndex`](#selectedindex)
+- [`selectedIndexes`](#selectedindexes)
+- [`selectedTextStyle`](#selectedtextstyle)
+- [`textStyle`](#textstyle)
+- [`underlayColor`](#underlaycolor)
+- [`vertical`](#vertical)
+
+---
+
+## Reference
+
+### `buttonStyle`
+
+specify styling for button (optional)
+
+| Type | Default |
+| :------------: | :---------------: |
+| object (style) | inherited styling |
+
+---
+
+### `buttons`
+
+array of buttons for component (required), if returning a component, must be an
+object with { element: componentName }
+
+| Type | Default |
+| :---: | :-----: |
+| array | none |
+
+---
+
+### `Component`
+
+Choose other button component such as TouchableOpacity (optional)
+
+| Type | Default |
+| :--------------------: | :----------------: |
+| React Native Component | TouchableHighlight |
+
+---
+
+### `containerStyle`
+
+specify styling for main button container (optional)
+
+| Type | Default |
+| :------------: | :---------------: |
+| object (style) | inherited styling |
+
+---
+
+### `disabled`
+
+Controls if buttons are disabled. Setting `true` makes all of them disabled,
+while using an array only makes those indices disabled.
+
+| Type | Default |
+| :---------------------: | :-----: |
+| boolean **OR** number[] | false |
+
+---
+
+### `disabledStyle`
+
+Styling for each button when disabled.
+
+| Type | Default |
+| :-----------------: | :------------: |
+| View style (object) | Internal Style |
+
+---
+
+### `disabledTextStyle`
+
+Styling for the text of each button when disabled.
+
+| Type | Default |
+| :-----------------: | :------------: |
+| Text style (object) | Internal Style |
+
+---
+
+### `disabledSelectedStyle`
+
+Styling for each selected button when disabled.
+
+| Type | Default |
+| :-----------------: | :------------: |
+| View style (object) | Internal Style |
+
+---
+
+### `disabledSelectedTextStyle`
+
+Styling for the text of each selected button when disabled.
+
+| Type | Default |
+| :-----------------: | :------------: |
+| Text style (object) | Internal Style |
+
+---
+
+### `innerBorderStyle`
+
+update the styling of the interior border of the list of buttons (optional)
+
+| Type | Default |
+| :---------------------: | :---------------: |
+| object { width, color } | inherited styling |
+
+---
+
+### `onPress`
+
+method to update Button Group Index (required)
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `selectMultiple`
+
+allows the user to select multiple buttons
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `selectedButtonStyle`
+
+specify styling for selected button (optional)
+
+| Type | Default |
+| :------------: | :---------------: |
+| object (style) | inherited styling |
+
+---
+
+### `selectedIndex`
+
+current selected index of array of buttons (required)
+
+| Type | Default |
+| :----: | :-----: |
+| number | none |
+
+---
+
+### `selectedIndexes`
+
+current selected indexes from the array of buttons
+
+| Type | Default |
+| :------------: | :-----: |
+| array (number) | [] |
+
+---
+
+### `selectedTextStyle`
+
+specify specific styling for text in the selected state (optional)
+
+| Type | Default |
+| :------------: | :---------------: |
+| object (style) | inherited styling |
+
+---
+
+### `textStyle`
+
+specify specific styling for text (optional)
+
+| Type | Default |
+| :------------: | :---------------: |
+| object (style) | inherited styling |
+
+---
+
+### `underlayColor`
+
+specify underlayColor for TouchableHighlight (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| string | white |
+
+---
+
+### `vertical`
+
+Display the ButtonGroup vertically
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
diff --git a/website/versioned_docs/version-2.0.0/checkbox.md b/website/versioned_docs/version-2.0.0/checkbox.md
new file mode 100644
index 0000000000..e623d08f4e
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/checkbox.md
@@ -0,0 +1,294 @@
+---
+id: version-2.0.0-checkbox
+title: CheckBox
+original_id: checkbox
+---
+
+CheckBoxes allow users to complete tasks that involve making choices such as
+selecting options, or switching settings on or off. It provides a clear visual
+of either a true or false choice.
+
+![Checkboxes](/react-native-elements/img/checkbox.png)
+
+## Usage
+
+```js
+import { CheckBox } from 'react-native-elements'
+
+
+
+
+
+
+
+
+
+}
+ uncheckedIcon={}
+ checked={this.state.checked}
+ onPress={() => this.setState({checked: !this.state.checked})}
+/>
+```
+
+---
+
+## Props
+
+- [`iconType`](#icontype)
+- [`Component`](#Component)
+- [`checked`](#checked)
+- [`size`](#size)
+- [`iconRight`](#iconright)
+- [`right`](#right)
+- [`center`](#center)
+- [`title`](#title)
+- [`titleProps`](#titleprops)
+- [`containerStyle`](#containerstyle)
+- [`textStyle`](#textstyle)
+- [`onLongPress`](#onlongpress)
+- [`onLongIconPress`](#onlongiconpress)
+- [`onPress`](#onpress)
+- [`onIconPress`](#oniconpress)
+- [`checkedIcon`](#checkedicon)
+- [`uncheckedIcon`](#uncheckedicon)
+- [`checkedColor`](#checkedcolor)
+- [`uncheckedColor`](#uncheckedcolor)
+- [`checkedTitle`](#checkedtitle)
+- [`fontFamily`](#fontfamily)
+
+---
+
+## Reference
+
+### `iconType`
+
+type of icon set. [Supported sets here](icon.md#available-icon-sets).
+
+| Type | Default |
+| :----: | :----------: |
+| string | font-awesome |
+
+---
+
+### `Component`
+
+Specify React Native component for main button (optional)
+
+| Type | Default |
+| :--------------------: | :--------------: |
+| React Native Component | TouchableOpacity |
+
+---
+
+### `checked`
+
+Flag for checking the icon (required)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `size`
+
+Size of the checkbox
+
+| Type | Default |
+| :----: | :-----: |
+| number | 24 |
+
+---
+
+### `iconRight`
+
+Moves icon to right of text (optional)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `right`
+
+Aligns checkbox to right (optional)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `center`
+
+Aligns checkbox to center (optional)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `title`
+
+Title of checkbox
+
+| Type | Default |
+| :------------------------------: | :-----: |
+| string OR React Native Component | none |
+
+---
+
+### `titleProps`
+
+Additional props for the title Text component (optional)
+
+| Type | Default |
+| :--------------------------------------------------------------------------: | :-----: |
+| {[...Text props](https://facebook.github.io/react-native/docs/text#props-1)} | none |
+
+---
+
+### `containerStyle`
+
+Style of main container (optional)
+
+| Type | Default |
+| :------------: | :-----: |
+| object (style) | none |
+
+---
+
+### `textStyle`
+
+Style of text (optional)
+
+| Type | Default |
+| :------------: | :-----: |
+| object (style) | none |
+
+---
+
+### `onLongPress`
+
+onLongPress function for checkbox (optional)
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `onLongIconPress`
+
+onLongPress function for checkbox (optional)
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `onPress`
+
+onPress function for container (optional)
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `onIconPress`
+
+onPress function for checkbox (required)
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `checkedIcon`
+
+Default checked icon ([Font Awesome Icon](http://fontawesome.io/icons/))
+(optional)
+
+| Type | Default |
+| :------------------------------: | :------------: |
+| string OR React Native Component | check-square-o |
+
+---
+
+### `uncheckedIcon`
+
+Default checked icon ([Font Awesome Icon](http://fontawesome.io/icons/))
+(optional)
+
+| Type | Default |
+| :------------------------------: | :------: |
+| string OR React Native Component | square-o |
+
+---
+
+### `checkedColor`
+
+Default checked color (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| string | green |
+
+---
+
+### `uncheckedColor`
+
+Default unchecked color (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| string | #bfbfbf |
+
+---
+
+### `checkedTitle`
+
+Specify a custom checked message (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| string | none |
+
+---
+
+### `fontFamily`
+
+Specify different font family
+
+| Type | Default |
+| :----: | :-----------------------------------------------: |
+| string | System font bold (iOS), Sans Serif Bold (android) |
diff --git a/website/versioned_docs/version-2.0.0/contributing.md b/website/versioned_docs/version-2.0.0/contributing.md
new file mode 100644
index 0000000000..5ca45a9524
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/contributing.md
@@ -0,0 +1,192 @@
+---
+id: version-2.0.0-contributing
+title: Contributing
+original_id: contributing
+---
+
+Thanks for taking the time to checkout this project and being willing to
+contribute!
+
+Here are some of some of ways you can help:
+
+- [Reporting Bugs](#reporting-bugs)
+- [Suggesting a Feature](#suggesting-a-feature)
+- [Responding to Issues](#responding-to-issues)
+- [Improving the Documentation](#improving-the-documentation)
+- [Implementing Bug Fixes and Improvements](#implementing-bug-fixes-and-improvements)
+
+## Reporting Bugs
+
+React Native Elements is used by many people, in fact they're over 9000 persons
+using it in their projects. With that many use cases, bugs are sure to come up
+from time to time. We release almost every two weeks, so sometimes we may
+accidentally miss something along the way. When you think you've found a bug
+here's what to do:
+
+1. Check your version. Most of the time, a fix has been made and released in new
+ a new version. However, you may still be on an old version. The easiest way
+ to validate this, it to update your version of react-native-elements to the
+ latest.
+
+2. Search the existing
+ [issues](https://github.com/react-native-elements/react-native-elements/issues)
+ and
+ [pull requests](https://github.com/react-native-elements/react-native-elements/pulls)
+ for one like what you're seeing. If you see one, add a đź‘Ť reaction (please no
+ +1 comments). Read through the comments and see if you can provide anymore
+ valuable information to the thread. The more use cases we have, the easier it
+ is to solve the issue.
+
+3. If there are no other issues like yours then create a new one. New issues
+ come with a issue template, so make sure to fill out as much information as
+ possible.
+
+If this is your first open source contribution, please take a look at
+[this](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github)
+guide.
+
+## Suggesting a feature
+
+Have a cool idea for a component? Think you can implement an existing feature
+better? Go ahead and open and issue, describe what you want to accomplish and
+lastly, why you think React Native Elements would benefit from it.
+
+A few things to consider/add:
+
+- As clearly as possible, attach screenshots, concepts of how this feature
+ should behave
+- Do you have any thoughts on how to implement this feature? Have you done
+ something similar already?
+- Hold off on submitting feature pull requests until the feature has been
+ discussed. Once the feature has been established and agreed upon, create the
+ pull request.
+
+## Responding to Issues
+
+When someone posts an issue, a maintainer might not be able to respond right
+away. Or a person may post and issue that has incomplete information. As a
+contributor you can help by answering the issue yourself if you know the cause
+of it, or help the maintainers by making sure that all the information necessary
+to validate the issue is there.
+
+## Improving the Documentation
+
+Our documentation is built with an open-source tool called
+[Docusaurus](https://docusaurus.io). It has a ton of great features, the most
+important being versioning - which allows us to have documentation for every
+version we release.
+
+The easiest way to contribute to a particular doc is through the Edit button on
+the page. It'll take you directly to the exact file for that page on the repo.
+
+Since all documents are versioned, it might be bit tricky to find which file
+needs changing. You can use the rule below to figure out which file you need to
+edit.
+
+- [Changes for an existing doc on a version not yet released](#changes-for-an-existing-doc-on-a-version-not-yet-released)
+- [Adding documentation for a new component](#adding-documentation-for-a-new-component)
+- [Rewording, adding missed info, or making a typo for a released version](#rewording-adding-missed-info-or-making-a-typo-for-a-released-version)
+- [Editing an existing page that's not docs or components](#editing-an-existing-page-that-s-not-docs-or-components)
+- [Editing a document that appears the same in all versions](#editing-a-document-that-appears-the-same-in-all-versions)
+
+### Changes for an existing doc on a version not yet released
+
+These files are located in the `/docs` folder. So if I wanted to add a new prop
+on the Avatar component, I'll need to document that in `/docs/avatar.md`.
+
+### Adding documentation for a new component
+
+You'll be creating your `.md` file in the `/docs` folder. Be sure to fill out
+the header at the top of the file:
+
+```
+---
+id: my-component
+title: My Component
+---
+```
+
+Lastly you'll need to add it to sidebar. This sidebar file is
+`/website/sidebars.json`. Then add the `id` from the document we just created
+into one of the sidebars.
+
+### Rewording, adding missed info, or making a typo for a released version
+
+These files are located in:
+`/website/versioned_docs/version-{version_name}/{file-name}`. The last
+directory will differ depending on what version you are submitting docs for.
+
+> Docusaurus only creates new versions of files if the `original` document in
+> the `/docs` folder has changed since a release was made.
+
+If I added docs for `Avatar.md` and it was our ever first release say `0.19.0`,
+when releasing that version it'll create
+`/website/versioned_docs/version-0.19.0/avatar.md`.
+
+Now if I go to release `0.20.0` and didn't change `/docs/Avatar.md`, then
+they'll be **no** `/website/versioned_docs/version-0.20.0/avatar.md`. Docusaurus
+will simply point to the old version from `0.19.0`.
+
+### Editing an existing page that's not docs or components
+
+These files are located in: `/website/pages/en/`.
+
+### Editing a document that appears the same in all versions
+
+This one is particularly the most complicated and requires a bit of duplication.
+
+Let's say we want edit the `Getting Started` doc. We want this document to be
+the same for all versions. Firstly we'll need to make edits to
+`/docs/getting_started.md` so it's available in future versions. Secondly we'll
+need to duplicate those changes in
+`/website/versioned_docs/version-{version-number}/getting_started.md`.
+
+We'll only need to make this change to the **first set of versioned docs**. In
+our case `/website/versioned_docs/version-0.19.0/getting_started.md`.
+
+Be sure to check out the documentation over at
+[docusaurus.io](https://docusaurus.io) if you have any other queries.
+
+## Implementing Bug Fixes and Improvements
+
+If you wish to submit a pull request for a new feature or issue then this is
+guide for you. On Github, we extensively use labels to reflect the content and
+status of issues.
+
+For all issues that are bugs check
+[here](https://github.com/react-native-elements/react-native-elements/issues?utf8=âś“&q=is%3Aissue+is%3Aopen+label%3A%22%3Aboom%3A++Bug%22+-label%3A%22âś…+Fixed+-+Next+Release%22+-label%3A%22đź“Ą+PR+Submitted%22).
+
+Improvements are separated into two categories:
+
+- [New components](https://github.com/react-native-elements/react-native-elements/issues?utf8=âś“&q=is%3Aissue+is%3Aopen+label%3A%22đź’ˇNew+Component%22+-label%3A%22âś…+Fixed+-+Next+Release%22+-label%3A%22đź“Ą+PR+Submitted%22+)
+- [Enhancements](https://github.com/react-native-elements/react-native-elements/issues?utf8=✓&q=is%3Aissue+is%3Aopen+label%3A%22✨Enhancement%22+-label%3A%22✅+Fixed+-+Next+Release%22+-label%3A%22📥+PR+Submitted%22)
+
+Check out the [Labels guide](labels.md) for a more descriptive info on our usage
+of labels.
+
+---
+
+To begin you should start by forking this repository first. This should get you
+setup on your local machine:
+
+### Setup
+
+- Install [Node.js](https://nodejs.org/) if you have not already. (_We suggest
+ you to use node v6.x.x_)
+- Fork the **react-native-elements** repo
+ [here](https://github.com/react-native-elements/react-native-elements)
+- `git clone && cd react-native-elements`
+- `yarn install` OR `npm install`
+- `npm test`
+
+Now create a new branch with a name that loosely describes
+the issue on which you will be working. Once you think you have addressed
+the issue in question, submit a pull request to the `next` branch.
+
+### Committing and Pushing Changes
+
+We like to provide informative and useful commit messages when pushing changes
+to the repo. This helps tremendously when sifting through the commit history to
+find a particular changeset. A useful guide for creating meaningful commit
+messages can be found
+[here.](https://www.conventionalcommits.org/en/v1.0.0-beta.2/#specification)
diff --git a/website/versioned_docs/version-2.0.0/customization.md b/website/versioned_docs/version-2.0.0/customization.md
new file mode 100644
index 0000000000..d35f077479
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/customization.md
@@ -0,0 +1,399 @@
+---
+id: version-2.0.0-customization
+title: Customization
+original_id: customization
+---
+
+Congrats! You've installed React Native Elements and your immediate question
+goes something like this:
+
+> So umm, how do I change how it looks?
+
+Great question! A UI Kit wouldn't be that useful if the apps everyone built
+looked the same right? For this case React Native Elements provide a number of
+props on each component to enable you to style them how you want.
+
+## Component Styles
+
+_Every_ component from React Native Elements has a container around it. The
+container is just a traditional `` from react native that has some
+styling on it. This default styling prevents components from colliding with each
+other. If you want to change how two components react to each on the screen your
+first stop should be the `containerStyle` prop.
+
+Similar to `containerStyle`, components may provide their custom style props
+like `buttonStyle`, `titleStyle` etc. Always refer to the documentation for the
+component to find out which style props it provides.
+
+## Theming
+
+While component styles are great for single use, you may want to have the same
+styling for every instance of a component. For example, you may want all your
+buttons to be blue or have the same font. Here are some ways to reuse styles
+with React Native Elements.
+
+### Using Composition
+
+With this approach, we create one component with the styles we want and use that
+instead of the built-in component.
+
+```jsx
+import React from 'react';
+import { Button } from 'react-native-elements';
+
+const RaisedButton = props => ;
+
+// Your App
+const App = () => {
+ return ;
+};
+```
+
+If we want to use a button that's raised in our app, we can use `RaisedButton`
+instead of using `Button`. This component still accepts all the props from the
+normal `Button` just that it has the `raised` prop set by default.
+
+### Using ThemeProvider
+
+The previous solution works great for only one component, but imagine having to
+do this for every component you want custom styles for. That could get a bit
+tedious to manage. Thankfully, there's a better way to do this. React Native
+Elements ships with a 3 utilities for large-scale theming.
+
+Firstly you'll want to set up your `ThemeProvider`.
+
+```jsx
+import { ThemeProvider, Button } from 'react-native-elements';
+
+const theme = {
+ Button: {
+ raised: true,
+ },
+};
+
+// Your App
+const App = () => {
+ return (
+
+
+
+
+ );
+};
+```
+
+The example above achieves the same goals as the first example — apply the same
+styles to multiple instances of `Button` in the app. However this example
+applies the `raised` prop to every instance of `Button` inside the component
+tree under `ThemeProvider`. Both of these buttons will have the `raised` prop
+set to true.
+
+This is extremely convenient and is made possible through
+[React's Context API](https://reactjs.org/docs/context.html).
+
+---
+
+### Order of Styles
+
+What happens now if we want a `Button` that isn't raised? To do that we have to understand the order in which styles are applied.
+
+> Internal > Theme > External
+
+#### Internal
+
+Internal components styles are the styles which are defined in the component
+file. These are applied first.
+
+#### Theme
+
+Theme styles are the values that are set by the ThemeProvider If present, these
+are applied second.
+
+```jsx
+import { ThemeProvider, Button } from 'react-native-elements';
+
+const theme = {
+ Button: {
+ titleStyle: {
+ color: 'red',
+ },
+ },
+};
+
+const App = () => {
+ return (
+
+
+
+ );
+};
+```
+
+This will override the white color for the title set in the component's style.
+
+#### External
+
+External styles are the styles which are set through the component props. These
+are applied last and have the highest precendence.
+
+```jsx
+import { ThemeProvider, Button } from 'react-native-elements';
+
+const theme = {
+ Button: {
+ titleStyle: {
+ color: 'red',
+ },
+ },
+};
+
+const App = () => {
+ return (
+
+
+
+ );
+};
+```
+
+This will override both the white color for the title set in the component's
+style as well as the red color set in the theme.
+
+> Remember if you want to override the values set in the theme you can always
+> use component props.
+
+---
+
+### The Theme Object
+
+By default, the theme object looks like this. You can add whatever values you
+want to the theme, and they will be merged with the default. By default the
+platform colors aren't used anywhere. These native colors are added for
+your convenience.
+
+```tsx
+interface theme {
+ colors: {
+ primary;
+ secondary;
+ grey0;
+ grey1;
+ grey2;
+ grey3;
+ grey4;
+ grey5;
+ greyOutline;
+ searchBg;
+ success;
+ error;
+ warning;
+ divider;
+ platform: {
+ ios: {
+ primary;
+ secondary;
+ success;
+ error;
+ warning;
+ };
+ android: {
+ // Same as ios
+ };
+ };
+ };
+}
+```
+
+Setting styles in the theme is as simple as using the name of the component, as
+a key and the props you want to change as the value.
+
+```jsx
+import { ThemeProvider } from 'react-native-elements';
+
+const theme = {
+ Avatar: {
+ rounded: true,
+ },
+ Badge: {
+ textStyle: { fontSize: 30 },
+ },
+};
+
+...
+
+
+```
+
+---
+
+### Using the theme in your own components
+
+You may want to make use of the theming utilities in your own components. For
+this you can use the `withTheme` HOC exported from this library. It adds three
+props to the component it wraps - `theme`, `updateTheme` and `replaceTheme`.
+
+```jsx
+import React from 'react';
+import { Text } from 'react-native';
+import { withTheme } from 'react-native-elements';
+
+function MyComponent(props) {
+ const { theme, updateTheme, replaceTheme } = props;
+ return Yo!;
+}
+
+export default withTheme(MyComponent);
+```
+
+The `updateTheme` function merges the theme passed in with the current theme.
+
+```jsx
+const theme = {
+ colors: {
+ primary: 'pink',
+ },
+};
+
+// We can update the primary color
+updateTheme({ colors: { primary: 'red' } });
+```
+
+The `replaceTheme` function merges the theme passed in with the default theme.
+
+Don't want to wrap your components? You can use the `ThemeConsumer` component
+which uses render props!
+
+```jsx
+import React from 'react';
+import { Text } from 'react-native';
+import { ThemeConsumer } from 'react-native-elements';
+
+const MyComponent = () => (
+
+ {({ theme }) => (
+ Yo!;
+ )}
+
+)
+```
+
+You can also use the ThemeContext directly if you use hooks.
+
+```jsx
+import React, { useContext } from 'react';
+import { Text } from 'react-native';
+import { ThemeContext } from 'react-native-elements';
+
+const MyComponent = () => {
+ const { theme } = useContext(ThemeContext);
+
+ return (
+
+ Yo!
+
+ );
+};
+```
+
+---
+
+### Using the respective platform's native colors
+
+You may want to style your app using the native color palette. You can do this
+using the `colors` object and the `Platform` API.
+
+```jsx
+import { Platform } from 'react-native';
+import { Button, colors, ThemeProvider } from 'react-native-elements';
+
+const theme = {
+ colors: {
+ ...Platform.select({
+ default: colors.platform.android,
+ ios: colors.platform.ios,
+ }),
+ },
+};
+
+const App = () => {
+ return (
+
+ // This button's color will now be the default iOS / Android blue.
+
+
+ );
+};
+```
+
+---
+
+### Common Pitfalls
+
+This section outlines some common pitfalls when using Theming.
+
+#### My local styles aren't working with the theme
+
+It's important to understand that the `ThemeProvider` works by merging your local(external) styles with those set on the theme.
+This means that in both cases **the type of these styles must be the same**.
+
+##### Example 1
+
+```jsx
+const theme = {
+ Button: {
+ containerStyle: {
+ marginTop: 10;
+ }
+ }
+}
+
+
+```
+
+> âś… Works
+>
+> In both cases the style is an `object`
+
+
+
+##### Example 2
+
+```jsx
+const theme = {
+ Button: {
+ containerStyle: [
+ {
+ marginTop: 10;
+ }
+ ]
+ }
+}
+
+
+```
+
+> âś… Works
+>
+> In both cases the style is an `array`
+
+
+
+##### Example 3
+
+```jsx
+const theme = {
+ Button: {
+ containerStyle: {
+ marginTop: 10;
+ }
+ }
+}
+
+
+```
+
+> đźš« Doesn't work
+>
+> In one case the style is an `object` and another the style is an `array`
diff --git a/website/versioned_docs/version-2.0.0/divider.md b/website/versioned_docs/version-2.0.0/divider.md
new file mode 100644
index 0000000000..4ac508070e
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/divider.md
@@ -0,0 +1,37 @@
+---
+id: version-2.0.0-divider
+title: Divider
+original_id: divider
+---
+
+Dividers are visual separators of content. Use Divider when you want to make a
+distinction between sections of content.
+
+## Usage
+
+```js
+import { Divider } from 'react-native-elements';
+
+;
+```
+
+---
+
+## Props
+
+> Also receives all
+> [View](https://facebook.github.io/react-native/docs/view#props) props
+
+- [`style`](#style)
+
+---
+
+## Reference
+
+### `style`
+
+Style of the divider
+
+| Type | Default |
+| :----------: | :-----------------------------------: |
+| style object | {height: 1, backgroundColor: #e1e8ee} |
diff --git a/website/versioned_docs/version-2.0.0/icon.md b/website/versioned_docs/version-2.0.0/icon.md
new file mode 100644
index 0000000000..9d6d113dd7
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/icon.md
@@ -0,0 +1,274 @@
+---
+id: version-2.0.0-icon
+title: Icon
+original_id: icon
+---
+
+Icons are visual indicators usually used to describe action or intent.
+
+![Icon](/react-native-elements/img/icons.png)
+
+> Hint: use **reverse** to make your icon look like a button
+
+## Available Icon Sets
+
+The icon sets in React Native Elements are made possible through
+[react-native-vector-icons](https://github.com/oblador/react-native-vector-icons).
+
+The current list of available icons sets are:
+
+- [material](https://material.io/tools/icons)
+- [material-community](https://materialdesignicons.com/)
+- [font-awesome](https://fontawesome.com/v4.7.0/)
+- [font-awesome-5](https://fontawesome.com/)
+- [octicon](https://octicons.github.com/)
+- [ionicon](http://ionicons.com/)
+- [foundation](http://zurb.com/playground/foundation-icon-fonts-3)
+- [evilicon](http://evil-icons.io/)
+- [simple-line-icon](https://simplelineicons.github.io/)
+- [zocial](http://weloveiconfonts.com/)
+- [entypo](http://www.entypo.com/)
+- [feather](https://feathericons.com/)
+- [antdesign](http://beta.ant.design/components/icon/)
+
+## Custom Icon Fonts
+
+Register your own custom icons by calling
+`registerCustomIconType('customid', customFont)`. Create a custom font by
+following the
+[ instructions for creating a custom font here](https://github.com/oblador/react-native-vector-icons#custom-fonts).
+Also, you can use [Fontello](http://fontello.com/) to generate custom icon
+fonts.
+
+If you are looking to implement custom icon fonts, please look at our example
+app
+[here](https://github.com/react-native-elements/react-native-elements-app/blob/master/src/views/buttons_home.js)
+to see how to use them with React Native Elements.
+
+## Usage
+
+```js
+import { Icon } from 'react-native-elements'
+
+
+
+
+
+
+
+
+
+ console.log('hello')} />
+```
+
+---
+
+## Props
+
+- [`brand`](#brand)
+- [`color`](#color)
+- [`containerStyle`](#containerstyle)
+- [`disabled`](#disabled)
+- [`disabledStyle`](#disabledstyle)
+- [`iconStyle`](#iconstyle)
+- [`name`](#name)
+- [`onPress`](#onpress)
+- [`onLongPress`](#onlongpress)
+- [`raised`](#raised)
+- [`reverse`](#reverse)
+- [`reverseColor`](#reversecolor)
+- [`size`](#size)
+- [`solid`](#solid)
+- [`type`](#type)
+- [`underlayColor`](#underlaycolor)
+- [`Component`](#Component)
+
+---
+
+## Reference
+
+### `brand`
+
+Uses the brands font (FontAwesome5 only)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `color`
+
+color of icon (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| string | black |
+
+---
+
+### `containerStyle`
+
+add styling to container holding icon (optional)
+
+| Type | Default |
+| :-----------------: | :---------------: |
+| View style (object) | inherited styling |
+
+---
+
+### `disabled`
+
+Disables onPress events (optional). Only works when `onPress` has a handler.
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `disabledStyle`
+
+Style for the button when disabled (optional). Only works when `onPress` has a
+handler.
+
+| Type | Default |
+| :-----------------: | :--------------------------------: |
+| View style (object) | `{{ backgroundColor: '#D1D5D8' }}` |
+
+---
+
+### `iconStyle`
+
+additional styling to icon (optional)
+
+| Type | Default |
+| :-----------------: | :-------------: |
+| View style (object) | inherited style |
+
+---
+
+### `name`
+
+name of icon (required)
+
+| Type | Default |
+| :----: | :-----: |
+| string | none |
+
+---
+
+### `onPress`
+
+onPress method for button (optional)
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `onLongPress`
+
+onLongPress method for button (optional)
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `raised`
+
+adds box shadow to button (optional)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `reverse`
+
+reverses color scheme (optional)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `reverseColor`
+
+specify reverse icon color (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| string | white |
+
+---
+
+### `size`
+
+size of icon (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| number | 26 |
+
+---
+
+### `solid`
+
+Uses the solid font (FontAwesome5 only)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `type`
+
+type of icon set. [Supported sets here](#available-icon-sets).
+
+| Type | Default |
+| :----: | :------: |
+| string | material |
+
+---
+
+### `underlayColor`
+
+underlayColor for press event
+
+| Type | Default |
+| :----: | :--------: |
+| string | icon color |
+
+---
+
+### `Component`
+
+update React Native Component (optional)
+
+| Type | Default |
+| :--------------------: | :-----------------------------------------------------------------------------------: |
+| React Native component | View if no onPress method is defined, TouchableHighlight if onPress method is defined |
diff --git a/website/versioned_docs/version-2.0.0/image.md b/website/versioned_docs/version-2.0.0/image.md
new file mode 100644
index 0000000000..d087506122
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/image.md
@@ -0,0 +1,98 @@
+---
+id: version-2.0.0-image
+title: Image
+original_id: image
+---
+
+Drop-in replacement for the standard React Native Image component that displays
+images with a placeholder and smooth image load transitioning.
+
+
+
+
+
+## Usage
+
+```js
+import { ActivityIndicator } from 'react-native';
+import { Image } from 'react-native-elements';
+
+// Standard Image
+
+
+
+// Image with custom placeholder content
+}
+/>
+```
+
+---
+
+## Props
+
+> Also receives all
+> [React Native Image](https://facebook.github.io/react-native/docs/image#props) props
+
+- [`containerStyle`](#containerstyle)
+- [`placeholderStyle`](#placeholderstyle)
+- [`transition`](#transition)
+- [`ImageComponent`](#imagecomponent)
+- [`PlaceholderContent`](#placeholdercontent)
+
+---
+
+## Reference
+
+### `containerStyle`
+
+Additional styling for the container (optional)
+
+| Type | Default |
+| :-----------------: | :-----: |
+| View style (object) | none |
+
+---
+
+### `placeholderStyle`
+
+Additional styling for the placeholder container (optional)
+
+| Type | Default |
+| :-----------------: | :-----: |
+| View style (object) | none |
+
+---
+
+### `transition`
+
+Perform fade transition on image load
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | true |
+
+---
+
+### `ImageComponent`
+
+Specify a different component as the Image component.
+
+| Type | Default |
+| :--------------------: | :-----: |
+| React Native Component | Image |
+
+---
+
+### `PlaceholderContent`
+
+Content to render when image is loading.
+
+| Type | Default |
+| :-------: | :-----: |
+| component | none |
diff --git a/website/versioned_docs/version-2.0.0/input.md b/website/versioned_docs/version-2.0.0/input.md
new file mode 100644
index 0000000000..d4e86395db
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/input.md
@@ -0,0 +1,314 @@
+---
+id: version-2.0.0-input
+title: Input
+original_id: input
+---
+
+Inputs allow users to enter text into a UI. They typically appear in forms and
+dialogs.
+
+
+
+
+
+
+## Usage
+
+```js
+import Icon from 'react-native-vector-icons/FontAwesome';
+import { Input } from 'react-native-elements';
+
+
+
+
+
+
+ }
+/>
+
+
+ this.setState({ comment: value })}
+ />
+
+
+
+
+
+```
+
+---
+
+## Props
+
+> This component inherits
+> [all native TextInput props that come with a standard React Native TextInput element](https://facebook.github.io/react-native/docs/textinput.html),
+> along with the following:
+
+- [`containerStyle`](#containerstyle)
+- [`disabled`](#disabled)
+- [`disabledInputStyle`](#disabledInputStyle)
+- [`inputContainerStyle`](#inputcontainerstyle)
+- [`errorMessage`](#errormessage)
+- [`errorStyle`](#errorstyle)
+- [`errorProps`](#errorprops)
+- [`inputStyle`](#inputstyle)
+- [`label`](#label)
+- [`labelStyle`](#labelstyle)
+- [`labelProps`](#labelprops)
+- [`leftIcon`](#lefticon)
+- [`leftIconContainerStyle`](#lefticoncontainerstyle)
+- [`renderErrorMessage`](#rendererrormessage)
+- [`rightIcon`](#righticon)
+- [`rightIconContainerStyle`](#righticoncontainerstyle)
+- [`InputComponent`](#inputcomponent)
+
+---
+
+## Reference
+
+### `containerStyle`
+
+styling for view containing the label, the input and the error message
+
+| Type | Default |
+| :-----------------: | :-----: |
+| View style (object) | none |
+
+---
+
+### `disabled`
+
+disables the input component
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `disabledInputStyle`
+
+disabled styles that will be passed to the `style` props of the React Native `TextInput` (optional)
+
+| Type | Default |
+| :-----------------: | :-----: |
+| Text style (object) | none |
+
+---
+
+### `inputContainerStyle`
+
+styling for Input Component Container (optional)
+
+| Type | Default |
+| :-----------------: | :-----: |
+| View style (object) | none |
+
+---
+
+### `errorMessage`
+
+adds error message (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| string | none |
+
+---
+
+### `errorStyle`
+
+add styling to error message (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| object | none |
+
+---
+
+### `errorProps`
+
+props to be passed to the React Native `Text` component used to display the
+error message (optional)
+
+| Type | Default |
+| :-----------------------------------------------------------------------------: | :-----: |
+| {[...Text props](https://facebook.github.io/react-native/docs/text.html#props)} | none |
+
+---
+
+### `inputStyle`
+
+style that will be passed to the `style` props of the React Native `TextInput`
+(optional)
+
+| Type | Default |
+| :----: | :-----: |
+| object | none |
+
+---
+
+### `label`
+
+add a label on top of the input (optional)
+
+| Type | Default |
+| :--------------------------------------: | :-----: |
+| string **OR** React element or component | none |
+
+---
+
+### `labelStyle`
+
+styling for the label (optional); You can only use this if `label` is a string
+
+| Type | Default |
+| :----: | :-----: |
+| object | none |
+
+---
+
+### `labelProps`
+
+props to be passed to the React Native `Text` component used to display the
+label or React Component used instead of simple string in `label` prop
+(optional)
+
+| Type | Default |
+| :-----------------------------------------------------------------------------------------------------------: | :-----: |
+| {[...Text props](https://facebook.github.io/react-native/docs/text.html#props)} **OR** passed component props | none |
+
+---
+
+### `leftIcon`
+
+displays an icon on the left (optional)
+
+| Type | Default |
+| :--------------------------------------------------------: | :-----: |
+| {[...Icon props](icon.md#props)} **OR** component | none |
+
+---
+
+### `leftIconContainerStyle`
+
+styling for left Icon Component container
+
+| Type | Default |
+| :-----------------: | :-----: |
+| View style (object) | none |
+
+---
+
+### `renderErrorMessage`
+
+If the error message container should be rendered (take up vertical space). If `false`, when showing errorMessage, the layout will shift to add it at that time.
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | true |
+
+---
+
+### `rightIcon`
+
+displays an icon on the right (optional)
+
+| Type | Default |
+| :--------------------------------------------------------: | :-----: |
+| {[...Icon props](icon.md#props)} **OR** component | none |
+
+---
+
+### `rightIconContainerStyle`
+
+styling for right Icon Component container
+
+| Type | Default |
+| :-----------------: | :-----: |
+| View style (object) | none |
+
+---
+
+### `InputComponent`
+
+component that will be rendered in place of the React Native `TextInput`
+(optional)
+
+| Type | Default |
+| :--------------------: | :-------: |
+| React Native Component | TextInput |
+
+---
+
+#### Styles explanation
+
+| Input with a label and an error message | Styles explanation |
+| ---------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| | |
+
+---
+
+## Interaction methods
+
+| method | description |
+| -------------- | ------------------------------------------------- |
+| focus | Focuses the Input |
+| blur | Removes focus from the Input |
+| clear | Clears the text in the Input |
+| isFocused | Returns `true` or `false` if the Input is focused |
+| setNativeProps | Sets props directly on the react native component |
+| shake | Shakes the input for error feedback |
+
+#### Calling methods on Input
+
+Store a reference to the Input in your component by using the ref prop
+provided by React
+([see docs](https://facebook.github.io/react/docs/refs-and-the-dom.html)):
+
+```js
+const input = React.createRef();
+
+
+```
+
+You can then use the Input methods like this:
+
+```js
+input.current.focus();
+input.current.blur();
+input.current.clear();
+input.current.isFocused();
+input.current.setNativeProps({ value: 'hello' });
+input.current.shake();
+```
diff --git a/website/versioned_docs/version-2.0.0/listitem.md b/website/versioned_docs/version-2.0.0/listitem.md
new file mode 100644
index 0000000000..2c48c17e5f
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/listitem.md
@@ -0,0 +1,666 @@
+---
+id: version-2.0.0-listitem
+title: ListItem
+original_id: listitem
+---
+
+ListItems are used to display rows of information, such as a contact list,
+playlist, or menu. They are very customizeable and can contain switches,
+avatars, badges, icons, and more.
+
+![Lists](/react-native-elements/img/lists.png)
+
+## Usage
+
+### Using Map Function - Implemented with avatar
+
+```js
+import { ListItem } from 'react-native-elements'
+
+const list = [
+ {
+ name: 'Amy Farha',
+ avatar_url: 'https://s3.amazonaws.com/uifaces/faces/twitter/ladylexy/128.jpg',
+ subtitle: 'Vice President'
+ },
+ {
+ name: 'Chris Jackson',
+ avatar_url: 'https://s3.amazonaws.com/uifaces/faces/twitter/adhamdannaway/128.jpg',
+ subtitle: 'Vice Chairman'
+ },
+ ... // more items
+]
+
+
+ {
+ list.map((l, i) => (
+
+ ))
+ }
+
+```
+
+### Using Map Function - Implemented with link and icon
+
+```js
+import { ListItem } from 'react-native-elements'
+
+const list = [
+ {
+ title: 'Appointments',
+ icon: 'av-timer'
+ },
+ {
+ title: 'Trips',
+ icon: 'flight-takeoff'
+ },
+ ... // more items
+]
+
+
+ {
+ list.map((item, i) => (
+
+ ))
+ }
+
+```
+
+### Using RN FlatList - Implemented with link and avatar
+
+```js
+import { ListItem } from 'react-native-elements'
+
+const list = [
+ {
+ name: 'Amy Farha',
+ avatar_url: 'https://s3.amazonaws.com/uifaces/faces/twitter/ladylexy/128.jpg',
+ subtitle: 'Vice President'
+ },
+ {
+ name: 'Chris Jackson',
+ avatar_url: 'https://s3.amazonaws.com/uifaces/faces/twitter/adhamdannaway/128.jpg',
+ subtitle: 'Vice Chairman'
+ },
+ ... // more items
+]
+
+keyExtractor = (item, index) => index.toString()
+
+renderItem = ({ item }) => (
+
+)
+
+render () {
+ return (
+
+ )
+}
+```
+
+### Using RN FlatList - Implemented with custom avatar component.
+
+```js
+import { ListItem } from 'react-native-elements'
+
+const list = [
+ {
+ name: 'Amy Farha',
+ subtitle: 'Vice President'
+ },
+ {
+ name: 'Chris Jackson',
+ avatar_url: 'https://s3.amazonaws.com/uifaces/faces/twitter/adhamdannaway/128.jpg',
+ subtitle: 'Vice Chairman'
+ },
+ ... // more items
+]
+
+keyExtractor = (item, index) => index.toString()
+
+renderItem = ({ item }) => (
+
+)
+
+render () {
+ return (
+
+ )
+}
+```
+
+### ListItem implemented with custom View for Subtitle
+
+```js
+import { ListItem } from 'react-native-elements'
+
+render () {
+ return (
+
+
+ 5 months ago
+
+ }
+ leftAvatar={{ source: require('../images/avatar1.jpg') }}
+ />
+ )
+}
+
+styles = StyleSheet.create({
+ subtitleView: {
+ flexDirection: 'row',
+ paddingLeft: 10,
+ paddingTop: 5
+ },
+ ratingImage: {
+ height: 19.21,
+ width: 100
+ },
+ ratingText: {
+ paddingLeft: 10,
+ color: 'grey'
+ }
+})
+```
+
+### Badges
+
+![Badges](/react-native-elements/img/list-badges.jpeg)
+
+Example badge usage
+
+```js
+
+```
+
+### Linear gradient + Scale feedback
+
+
+
+```js
+import TouchableScale from 'react-native-touchable-scale'; // https://github.com/kohver/react-native-touchable-scale
+import LinearGradient from 'react-native-linear-gradient'; // Only if no expo
+
+;
+```
+
+---
+
+## Props
+
+> Also receives all
+> [TouchableHighlight](https://facebook.github.io/react-native/docs/touchablehighlight#props)
+> props
+
+- [`Component`](#Component)
+- [`containerStyle`](#containerstyle)
+- [`contentContainerStyle`](#contentcontainerstyle)
+- [`rightContentContainerStyle`](#rightcontentcontainerstyle)
+- [`chevron`](#chevron)
+- [`checkmark`](#checkmark)
+- [`onPress`](#onpress)
+- [`onLongPress`](#onlongpress)
+- [`title`](#title)
+- [`titleStyle`](#titlestyle)
+- [`titleProps`](#titleprops)
+- [`subtitle`](#subtitle)
+- [`subtitleStyle`](#subtitlestyle)
+- [`subtitleProps`](#subtitleprops)
+- [`rightTitle`](#righttitle)
+- [`rightTitleStyle`](#righttitlestyle)
+- [`rightTitleProps`](#righttitleprops)
+- [`rightSubtitle`](#rightsubtitle)
+- [`rightSubtitleStyle`](#rightsubtitlestyle)
+- [`rightSubtitleProps`](#rightsubtitleprops)
+- [`leftIcon`](#lefticon)
+- [`rightIcon`](#righticon)
+- [`leftAvatar`](#leftavatar)
+- [`rightAvatar`](#rightavatar)
+- [`leftElement`](#leftelement)
+- [`rightElement`](#rightelement)
+- [`switch`](#switch)
+- [`input`](#input)
+- [`buttonGroup`](#buttongroup)
+- [`checkBox`](#checkbox)
+- [`badge`](#badge)
+- [`disabled`](#disabled)
+- [`disabledStyle`](#disabledstyle)
+- [`topDivider`](#topdivider)
+- [`bottomDivider`](#bottomdivider)
+- [`ViewComponent`](#viewcomponent)
+- [`pad`](#pad)
+
+---
+
+## Reference
+
+### `Component`
+
+replace element with custom element (optional)
+
+| Type | Default |
+| :---------------------------------------------------------------------: | :-------: |
+| View or TouchableHighlight (default) if onPress method is added as prop | component |
+
+---
+
+### `containerStyle`
+
+additional main container styling (optional)
+
+| Type | Default |
+| :------------: | :-----: |
+| object (style) | none |
+
+---
+
+### `contentContainerStyle`
+
+additional wrapper styling (title and subtitle container)
+
+| Type | Default |
+| :------------: | :-----: |
+| object (style) | none |
+
+---
+
+### `rightContentContainerStyle`
+
+additional wrapper styling (right title and subtitle container)
+
+| Type | Default |
+| :------------: | :-----: |
+| object (style) | none |
+
+---
+
+### `chevron`
+
+set it to true or custom icon props if you want a chevron (optional)
+
+| Type | Default |
+| :-------------------------------------------------------------------------------: | :-----: |
+| boolean **OR** {[...Icon props](icon.md#props)} **OR** React element or component | none |
+
+---
+
+### `checkmark`
+
+set it to true or custom icon props if you want a checkmark (optional)
+
+| Type | Default |
+| :-------------------------------------------------------------------------------: | :-----: |
+| boolean **OR** {[...Icon props](icon.md#props)} **OR** React element or component | none |
+
+---
+
+### `onPress`
+
+onPress method for link (optional)
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `onLongPress`
+
+onLongPress method for link (optional)
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `title`
+
+Main title of list item
+
+| Type | Default |
+| :-------------------------: | :-----: |
+| string **OR** React element | none |
+
+---
+
+### `titleStyle`
+
+Add additional styling
+
+| Type | Default |
+| :--------: | :-----: |
+| Text style | none |
+
+---
+
+### `titleProps`
+
+provide all props from react-native Text component
+
+| Type | Default |
+| :-----------------------------------------------------------------------------: | :-----: |
+| {[...Text props](https://facebook.github.io/react-native/docs/text.html#props)} | none |
+
+---
+
+### `subtitle`
+
+subtitle text or custom view (optional)
+
+| Type | Default |
+| :-------------------------: | :-----: |
+| string **OR** React element | none |
+
+---
+
+### `subtitleStyle`
+
+Add additional styling
+
+| Type | Default |
+| :--------: | :-----: |
+| Text style | none |
+
+---
+
+### `subtitleProps`
+
+provide all props from react-native Text component
+
+| Type | Default |
+| :-----------------------------------------------------------------------------: | :-----: |
+| {[...Text props](https://facebook.github.io/react-native/docs/text.html#props)} | none |
+
+---
+
+### `rightTitle`
+
+Show up a title on the right side of the list item
+
+| Type | Default |
+| :-------------------------: | :-----: |
+| string **OR** React element | none |
+
+---
+
+### `rightTitleStyle`
+
+add additional styling
+
+| Type | Default |
+| :--------: | :-----: |
+| Text style | none |
+
+---
+
+### `rightTitleProps`
+
+provide all props from react-native Text component
+
+| Type | Default |
+| :-----------------------------------------------------------------------------: | :-----: |
+| {[...Text props](https://facebook.github.io/react-native/docs/text.html#props)} | none |
+
+---
+
+### `rightSubtitle`
+
+Show up a subtitle on the right side of the list item
+
+| Type | Default |
+| :-------------------------: | :-----: |
+| string **OR** React element | none |
+
+---
+
+### `rightSubtitleStyle`
+
+Add additional styling
+
+| Type | Default |
+| :--------: | :-----: |
+| Text style | none |
+
+---
+
+### `rightSubtitleProps`
+
+provide all props from react-native Text component
+
+| Type | Default |
+| :-----------------------------------------------------------------------------: | :-----: |
+| {[...Text props](https://facebook.github.io/react-native/docs/text.html#props)} | none |
+
+---
+
+### `leftIcon`
+
+displays an icon on the left (optional)
+
+| Type | Default |
+| :----------------------------------------------------------: | :-----: |
+| {[...Icon props](icon.html#props)} **OR** component | none |
+
+---
+
+### `rightIcon`
+
+displays an icon on the right (optional)
+
+| Type | Default |
+| :--------------------------------------------------------: | :-----: |
+| {[...Icon props](icon.md#props)} **OR** component | none |
+
+---
+
+### `leftAvatar`
+
+displays an Avatar on the left (optional)
+
+| Type | Default |
+| :------------------------------------------------------------: | :-----: |
+| {[...Avatar props](avatar.md#props)} **OR** component | none |
+
+---
+
+### `rightAvatar`
+
+displays an Avatar on the right (optional)
+
+| Type | Default |
+| :-------------------------------------------------------------------------------: | :-----: |
+| View style (object){[...Avatar props](avatar.md#props)} **OR** component | none |
+
+---
+
+### `leftElement`
+
+Add any element on the left side of the list item
+
+| Type | Default |
+| :-----------: | :-----: |
+| React element | none |
+
+---
+
+### `rightElement`
+
+Add any element on the right side of the list item
+
+| Type | Default |
+| :-----------: | :-----: |
+| React element | none |
+
+---
+
+### `switch`
+
+add a switch to the right side. (object with the props of the react-native
+`Switch` component)
+
+| Type | Default |
+| :---------------------------------------------------------------------------------: | :-----: |
+| {[...Switch props](https://facebook.github.io/react-native/docs/switch.html#props)} | none |
+
+---
+
+### `input`
+
+add an Input on the right side (object with the props of the React Native
+Elements `Input` component)
+
+| Type | Default |
+| :--------------------------------: | :-----: |
+| {[...Input props](input.md#props)} | none |
+
+---
+
+### `buttonGroup`
+
+add a button group on the right side (object with the props of the React Native
+Elements `ButtonGroup` component)
+
+| Type | Default |
+| :---------------------------------------------: | :-----: |
+| {[...ButtonGroup props](button_group.md#props)} | none |
+
+---
+
+### `checkBox`
+
+add a checkbox on the right side (object with the props of the React Native
+Elements `CheckBox` component)
+
+| Type | Default |
+| :--------------------------------------: | :-----: |
+| {[...CheckBox props](checkbox.md#props)} | none |
+
+---
+
+### `badge`
+
+add a badge on the right side (object with the props of the React Native
+Elements `Badge` component)
+
+| Type | Default |
+| :--------------------------------: | :-----: |
+| {[...Badge props](badge.md#props)} | none |
+
+---
+
+### `disabled`
+
+If true the user won't be able to perform any action on the list item.
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | none |
+
+---
+
+### `disabledStyle`
+
+Specific styling to be used when list item is disabled.
+
+| Type | Default |
+| :------------: | :-----: |
+| object (style) | none |
+
+---
+
+### `topDivider`
+
+Add divider at the top of the list item
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `bottomDivider`
+
+Add divider at the bottom of the list item
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `ViewComponent`
+
+Container for linear gradient (for non-expo user)
+
+| Type | Default |
+| :-------: | :-----: |
+| component | View |
+
+---
+
+### `pad`
+
+adds spacing between the leftComponent, the title component & right component
+
+| Type | Default |
+| :----: | :-----: |
+| number | `16` |
diff --git a/website/versioned_docs/version-2.0.0/overlay.md b/website/versioned_docs/version-2.0.0/overlay.md
new file mode 100644
index 0000000000..96357f4c91
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/overlay.md
@@ -0,0 +1,137 @@
+---
+id: version-2.0.0-overlay
+title: Overlay
+original_id: overlay
+---
+
+The Overlay is a view that floats above an app’s content. Overlays are an easy
+way to inform or request information from the user.
+
+
+
+## Usage
+
+```jsx
+import React, { useState } from 'react';
+import { Button, Overlay } from 'react-native-elements';
+
+const OverlayExample = () => {
+ const [visible, setVisible] = useState(false);
+
+ const toggleOverlay = () => {
+ setVisible(!visible);
+ };
+
+ return (
+
+
+
+
+ Hello from Overlay!
+
+
+ );
+};
+```
+
+> Web-platform specific note:
+>
+> You **must** pass a valid React Native [`Modal`](https://facebook.github.io/react-native/docs/modal) component implementation
+> into [`ModalComponent`](#modalcomponent) prop because `Modal` component is not implemented yet in `react-native-web`
+
+```jsx
+...
+import Modal from 'modal-react-native-web';
+
+...
+
+
+...
+```
+
+---
+
+## Props
+
+> Also receives all
+> [Modal](https://facebook.github.io/react-native/docs/modal#props) props
+
+- [`backdropStyle`](#backdropStyle)
+- [`children`](#children)
+- [`fullScreen`](#fullscreen)
+- [`isVisible`](#isvisible)
+- [`onBackdropPress`](#onbackdroppress)
+- [`overlayStyle`](#overlaystyle)
+- [`ModalComponent`](#modalcomponent)
+
+---
+
+## Reference
+
+### `children`
+
+What the modal will render
+
+| Type | Default |
+| :-----------: | :-----: |
+| React Element | none |
+
+---
+
+### `backdropStyle`
+
+Style of the backdrop container
+
+| Type | Default |
+| :-----------------: | :------------: |
+| View Style (object) | Internal Style |
+
+---
+
+### `fullScreen`
+
+If set to true, the modal will take up the entire screen width and height
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `isVisible`
+
+If true, the overlay is visible
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `overlayStyle`
+
+style of the actual overlay
+
+| Type | Default |
+| :-----------------: | :------------: |
+| View Style (object) | Internal Style |
+
+---
+
+### `onBackdropPress`
+
+handler for backdrop press (only works when `fullscreen` is false)
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `ModalComponent`
+
+override React Native `Modal` component (usable for web-platform)
+
+| Type | Default |
+| :--------------------: | :-----: |
+| React Native Component | Modal |
diff --git a/website/versioned_docs/version-2.0.0/rating.md b/website/versioned_docs/version-2.0.0/rating.md
new file mode 100644
index 0000000000..6e16f2bcbb
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/rating.md
@@ -0,0 +1,305 @@
+---
+id: version-2.0.0-rating
+title: Rating
+original_id: rating
+---
+
+Ratings are used to collect measurable feedback from users. Use Rating over an
+Input where imagery can increase user interaction.
+
+> This component is imported from [react-native-ratings](https://github.com/Monte9/react-native-ratings)
+
+
+
+## Usage
+
+```js
+import { Rating, AirbnbRating } from 'react-native-elements';
+
+ratingCompleted(rating) {
+ console.log("Rating is: " + rating)
+}
+
+
+
+
+
+
+
+
+
+const WATER_IMAGE = require('./water.png')
+
+
+```
+
+### Read-only mode
+
+```js
+const { rating } = this.props;
+
+;
+```
+
+![readonly demo jpg](/react-native-elements/img/rating_readonly.jpg)
+
+### Fractions
+
+```html
+
+```
+
+![Fractions demo gif](https://cloud.githubusercontent.com/assets/241553/26780040/e8cd1a2c-49f8-11e7-8859-6dd9b4e0a779.gif)
+
+---
+
+## Props
+
+### AirbnbRating
+
+- [`defaultRating`](#defaultrating)
+- [`reviews`](#reviews)
+- [`count`](#count)
+- [`showRating`](#showrating)
+- [`onFinishRating`](#onfinishrating)
+
+## Rating
+
+- [`type`](#type)
+- [`ratingImage`](#ratingimage)
+- [`ratingColor`](#ratingcolor)
+- [`ratingBackgroundColor`](#ratingbackgroundcolor)
+- [`ratingCount`](#ratingcount)
+- [`ratingTextColor`](#ratingtextcolor)
+- [`imageSize`](#imagesize)
+- [`showRating`](#showrating)
+- [`readonly`](#readonly)
+- [`startingValue`](#startingvalue)
+- [`fractions`](#fractions)
+- [`minValue`](#minValue)
+- [`style`](#style)
+- [`onStartRating`](#onstartrating)
+- [`onFinishRating`](#onfinishrating)
+
+---
+
+## Reference
+
+### `defaultRating`
+
+Initial value for the rating
+
+| Type | Default |
+| :----: | :-----: |
+| number | 3 |
+
+---
+
+### `reviews`
+
+Labels to show when each value is tapped
+e.g. If the first star is tapped, then value in index 0 will be used as the label
+
+| Type | Default |
+| :------: | :------------------------------------------: |
+| string[] | ['Terrible', 'Bad', 'Okay', 'Good', 'Great'] |
+
+---
+
+### `count`
+
+Total number of ratings to display
+
+| Type | Default |
+| :----: | :-----: |
+| number | 5 |
+
+---
+
+### `showRating`
+
+Determines if to show the reviews above the rating
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | true |
+
+---
+
+### `onFinishRating`
+
+Callback method when the user finishes rating. Gives you the final rating value
+as a whole number **(required)**
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `onStartRating`
+
+Callback method when the user starts the rating. (optional)
+
+| Type | Default |
+| :------: | :-------: |
+| function | undefined |
+
+---
+
+### `fractions`
+
+The number of decimal places for the rating value; must be between 0 and 20
+(optional)
+
+| Type | Default |
+| :----: | :-------: |
+| number | undefined |
+
+---
+
+### `imageSize`
+
+The size of each rating image (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| number | 50 |
+
+---
+
+### `ratingBackgroundColor`
+
+Pass in a custom background-fill-color for the rating icon; use this along with
+`type='custom'` prop above (optional)
+
+| Type | Default |
+| :------------: | :-----: |
+| string (color) | white |
+
+---
+
+### `ratingColor`
+
+Pass in a custom fill-color for the rating icon; use this along with
+`type='custom'` prop above (optional)
+
+| Type | Default |
+| :------------: | :-----: |
+| string (color) | #f1c40f |
+
+---
+
+### `ratingCount`
+
+The number of rating images to display (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| number | 5 |
+
+---
+
+### `ratingImage`
+
+Pass in a custom image source; use this along with `type='custom'` prop above
+(optional)
+
+| Type | Default |
+| :----: | :-----: |
+| string | star |
+
+---
+
+### `ratingTextColor`
+
+Pass in a custom text color for the rating text (optional)
+
+| Type | Default |
+| :------------: | :-----: |
+| string (color) | #f1c40f |
+
+---
+
+### `readonly`
+
+Whether the rating can be modiefied by the user (optional)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `showRating`
+
+Displays the Built-in Rating UI to show the rating value in real-time (optional)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | none |
+
+---
+
+### `startingValue`
+
+The initial rating to render (optional)
+
+| Type | Default |
+| :----: | :-------------: |
+| number | ratingCount / 2 |
+
+---
+
+### `minValue`
+
+The minimum value the user can select
+
+| Type | Default |
+| :----: | :-----: |
+| number | 0 |
+
+---
+
+### `style`
+
+Exposes style prop to add additonal styling to the container view (optional)
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `type`
+
+Choose one of the built-in types: `star`, `rocket`, `bell`, `heart` or use type
+`custom` to render a custom image (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| string | star |
diff --git a/website/versioned_docs/version-2.0.0/social_icons.md b/website/versioned_docs/version-2.0.0/social_icons.md
new file mode 100644
index 0000000000..c0c5bf9b96
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/social_icons.md
@@ -0,0 +1,278 @@
+---
+id: version-2.0.0-social_icon
+title: SocialIcon
+original_id: social_icon
+---
+
+SocialIcons are visual cues to online and social media networks.
+
+![Social Icons](/react-native-elements/img/social-icons.png)
+
+## Usage
+
+```js
+import { SocialIcon } from 'react-native-elements'
+
+// Icon
+
+
+
+
+
+
+
+
+
+// Button
+
+
+
+
+
+
+
+```
+
+---
+
+## Props
+
+- [`button`](#button)
+- [`Component`](#Component)
+- [`disabled`](#disabled)
+- [`fontFamily`](#fontfamily)
+- [`fontStyle`](#fontstyle)
+- [`fontWeight`](#fontweight)
+- [`iconColor`](#iconcolor)
+- [`iconSize`](#iconsize)
+- [`iconStyle`](#iconstyle)
+- [`iconType`](#icontype)
+- [`light`](#light)
+- [`loading`](#loading)
+- [`onLongPress`](#onlongpress)
+- [`onPress`](#onpress)
+- [`raised`](#raised)
+- [`style`](#style)
+- [`title`](#title)
+- [`type`](#type)
+- [`underlayColor`](#underlaycolor)
+
+---
+
+## Reference
+
+### `button`
+
+creates button (optional)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `Component`
+
+type of button (optional)
+
+| Type | Default |
+| :--------------------: | :----------------: |
+| React Native Component | TouchableHighlight |
+
+---
+
+### `disabled`
+
+disable button (optional)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `fontFamily`
+
+specify different font family (optional)
+
+| Type | Default |
+| :----: | :------------------------------------------------: |
+| string | System font bold (iOS), Sans Serif Black (android) |
+
+---
+
+### `fontStyle`
+
+specify text styling (optional)
+
+| Type | Default |
+| :------------: | :-----: |
+| object (style) | none |
+
+---
+
+### `fontWeight`
+
+specify font weight of title if set as a button with a title
+
+| Type | Default |
+| :----: | :------------------------: |
+| string | bold (ios), black(android) |
+
+---
+
+### `iconColor`
+
+icon color (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| string | white |
+
+---
+
+### `iconSize`
+
+icon size (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| number | 24 |
+
+---
+
+### `iconStyle`
+
+extra styling for icon component (optional)
+
+| Type | Default |
+| :------------: | :-----: |
+| object (style) | none |
+
+---
+
+### `iconType`
+
+type of icon set. [Supported sets here](./icon.md#available-icon-sets).
+
+| Type | Default |
+| :----: | :----------: |
+| string | font-awesome |
+
+---
+
+### `light`
+
+reverses icon color scheme, setting background to white and icon to primary
+color
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `loading`
+
+shows loading indicator (optional)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `onLongPress`
+
+onLongPress method (optional)
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `onPress`
+
+onPress method (optional)
+
+| Type | Default |
+| :------: | :-----: |
+| function | none |
+
+---
+
+### `raised`
+
+raised adds a drop shadow, set to false to remove
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | true |
+
+---
+
+### `style`
+
+button styling (optional)
+
+| Type | Default |
+| :------------: | :-----: |
+| object (style) | none |
+
+---
+
+### `title`
+
+title if made into a button (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| string | none |
+
+---
+
+### `type`
+
+social media type (required)
+
+| Type | Default |
+| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----: |
+| social media type (angellist, codepen, envelope, etsy, facebook, flickr, foursquare, github-alt, github, gitlab, instagram, linkedin, medium, pinterest, quora, reddit-alien, soundcloud, stack-overflow, steam, stumbleupon, tumblr, twitch, twitter, google, google-plus-official, vimeo, vk, weibo, wordpress, youtube) | none |
+
+---
+
+### `underlayColor`
+
+underlay color (optional)
+
+| Type | Default |
+| :----: | :-----: |
+| string | none |
diff --git a/website/versioned_docs/version-2.0.0/text.md b/website/versioned_docs/version-2.0.0/text.md
new file mode 100644
index 0000000000..648415124c
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/text.md
@@ -0,0 +1,126 @@
+---
+id: version-2.0.0-text
+title: Text
+original_id: text
+---
+
+Text displays words and characters at various sizes.
+
+![Text](/react-native-elements/img/text.png)
+
+## Usage
+
+```js
+import { Text } from 'react-native-elements';
+
+Heading 1
+Heading 2
+Heading 3
+Heading 4
+```
+
+---
+
+## Props
+
+- [`h1`](#h1)
+- [`h2`](#h2)
+- [`h3`](#h3)
+- [`h4`](#h4)
+- [`h1Style`](#h1style)
+- [`h2Style`](#h2style)
+- [`h3Style`](#h3style)
+- [`h4Style`](#h4style)
+- [`style`](#style)
+
+---
+
+## Reference
+
+### `h1`
+
+font size 40 (optional)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | none |
+
+---
+
+### `h2`
+
+font size 34 (optional)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | none |
+
+---
+
+### `h3`
+
+font size 28 (optional)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | none |
+
+---
+
+### `h4`
+
+font size 22 (optional)
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | none |
+
+---
+
+### `h1Style`
+
+Styling for when `h1` is set (optional)
+
+| Type | Default |
+| :-----------------: | :-----: |
+| Text style (object) | none |
+
+---
+
+### `h2Style`
+
+Styling for when `h2` is set (optional)
+
+| Type | Default |
+| :-----------------: | :-----: |
+| Text style (object) | none |
+
+---
+
+### `h3Style`
+
+Styling for when `h3` is set (optional)
+
+| Type | Default |
+| :-----------------: | :-----: |
+| Text style (object) | none |
+
+---
+
+### `h4Style`
+
+Styling for when `h4` is set (optional)
+
+| Type | Default |
+| :-----------------: | :-----: |
+| Text style (object) | none |
+
+---
+
+### `style`
+
+add additional styling for Text (optional)
+
+| Type | Default |
+| :-----------------: | :-----: |
+| Text style (object) | none |
diff --git a/website/versioned_docs/version-2.0.0/tooltip.md b/website/versioned_docs/version-2.0.0/tooltip.md
new file mode 100644
index 0000000000..1c176ba49d
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/tooltip.md
@@ -0,0 +1,243 @@
+---
+id: version-2.0.0-tooltip
+title: Tooltip
+original_id: tooltip
+---
+
+Tooltips display informative text when users tap on an element.
+
+
+
+## Usage
+
+```js
+import { Tooltip, Text } from 'react-native-elements';
+
+...
+
+Info here}>
+ Press me
+
+```
+
+> Web-platform specific note:
+>
+> You **must** pass a valid React Native [`Modal`](https://facebook.github.io/react-native/docs/modal) component implementation
+> into [`ModalComponent`](#modalcomponent) prop because `Modal` component is not implemented yet in `react-native-web`
+
+```js
+...
+import Modal from 'modal-react-native-web';
+
+...
+
+
+...
+```
+
+---
+
+## Props
+
+- [`backgroundColor`](#backgroundcolor)
+- [`containerStyle`](#containerstyle)
+- [`height`](#height)
+- [`highlightColor`](#highlightcolor)
+- [`onClose`](#onclose)
+- [`onOpen`](#onopen)
+- [`overlayColor`](#overlaycolor)
+- [`pointerColor`](#pointercolor)
+- [`popover`](#popover)
+- [`toggleOnPress`](#toggleonpress)
+- [`width`](#width)
+- [`withOverlay`](#withoverlay)
+- [`withPointer`](#withpointer)
+- [`skipAndroidStatusBar`](#skipandroidstatusbar)
+- [`ModalComponent`](#modalcomponent)
+
+---
+
+## Reference
+
+### `backgroundColor`
+
+sets backgroundColor of the tooltip and pointer.
+
+| Type | Default |
+| :----: | :-----: |
+| string | #617080 |
+
+---
+
+### `containerStyle`
+
+Passes style object to tooltip container
+
+| Type | Default |
+| :------------: | :---------------: |
+| object (style) | inherited styling |
+
+---
+
+### `height`
+
+Tooltip container height. Necessary in order to render the container in the
+correct place. Pass height according to the size of the content rendered inside
+the container.
+
+| Type | Default |
+| :----: | :-----: |
+| number | 40 |
+
+---
+
+### `highlightColor`
+
+Color to highlight the item the tooltip is surrounding.
+
+| Type | Default |
+| :----: | :---------: |
+| string | transparent |
+
+---
+
+### `onClose`
+
+function which gets called on closing the tooltip.
+
+| Type | Default |
+| :------: | :------: |
+| function | () => {} |
+
+---
+
+### `onOpen`
+
+function which gets called on opening the tooltip.
+
+| Type | Default |
+| :------: | :------: |
+| function | () => {} |
+
+---
+
+### `overlayColor`
+
+Color of overlay shadow when tooltip is open.
+
+| Type | Default |
+| :----: | :-------------------------: |
+| string | 'rgba(250, 250, 250, 0.70)' |
+
+---
+
+### `pointerColor`
+
+Color of tooltip pointer, it defaults to the
+[`backgroundColor`](#backgroundcolor) if none is passed .
+
+| Type | Default |
+| :----: | :-----------------------------------: |
+| string | [`backgroundColor`](#backgroundcolor) |
+
+---
+
+### `popover`
+
+Component to be rendered as the display container.
+
+| Type | Default |
+| :-----------: | :-----: |
+| React.Element | null |
+
+---
+
+### `toggleOnPress`
+
+Flag to determine to toggle or not the tooltip on press.
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | true |
+
+---
+
+### `width`
+
+Tooltip container width. Necessary in order to render the container in the
+correct place. Pass height according to the size of the content rendered inside
+the container.
+
+| Type | Default |
+| :----: | :-----: |
+| number | 150 |
+
+---
+
+### `withOverlay`
+
+Flag to determine whether or not display overlay shadow when tooltip is open.
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | true |
+
+---
+
+### `withPointer`
+
+Flag to determine whether or not to display the pointer.
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | true |
+
+---
+
+### `skipAndroidStatusBar`
+
+Force skip StatusBar height when calculating element position. Pass `true` if Tooltip used inside react-native Modal component.
+
+| Type | Default |
+| :-----: | :-----: |
+| boolean | false |
+
+---
+
+### `ModalComponent`
+
+override React Native `Modal` component (usable for web-platform)
+
+| Type | Default |
+| :--------------------: | :-----: |
+| React Native Component | Modal |
+
+## Interaction methods
+
+| method | description |
+| ------------- | -------------------------------------------------------------- |
+| toggleTooltip | Toggles tooltip manually. ([example](#toggle-tooltip-example)) |
+
+#### `toggleTooltip` example
+
+Store a reference to the Tooltip in your component by using the ref prop
+provided by React ([see docs](https://reactjs.org/docs/refs-and-the-dom.html)):
+
+```js
+const tooltipRef = useRef(null);
+
+...
+
+
+```
+
+Then you can manually trigger tooltip from anywhere for example when screen loads:
+
+```js
+useEffect(() => {
+ tooltipRef.current.toggleTooltip();
+}, []);
+```
diff --git a/website/versioned_docs/version-2.0.0/web_usage.md b/website/versioned_docs/version-2.0.0/web_usage.md
new file mode 100644
index 0000000000..fbfa39f29e
--- /dev/null
+++ b/website/versioned_docs/version-2.0.0/web_usage.md
@@ -0,0 +1,80 @@
+---
+id: version-2.0.0-web_usage
+title: Usage on the Web
+original_id: web_usage
+---
+
+React Native Elements just like on mobile can be used in your web projects. This is possible using [react-native-web](https://github.com/necolas/react-native-web). We'll highlight how to set this up using create-react-app.
+
+## Why do I have to set this up?
+
+On the web, you can usually use UI libraries directly from npm without any additional setup. However in react-native, it's a bit different.
+
+The major difference is that React Native can support JSX and advanced javascript out the box. This means that we don't need to transpile our code before we ship it to npm. **We ship JSX and advanced javascript directly to npm** in React Native Elements, so we need to account for this in our web projects.
+
+## Create React App
+
+[Create React App](https://create-react-app.dev/) is a very popular framework for building react applications. Unfortunately it doesn't allow much customization of the build setup. To accomplish this we'll be making use of [react-app-rewired](https://github.com/timarney/react-app-rewired) and [customize-cra](https://github.com/arackaf/customize-cra).
+
+After creating a new create-react-app project, run the following commands.
+
+```bash
+yarn add react-native-elements react-native-web react-native-vector-icons
+```
+
+```bash
+yarn add --dev @babel/plugin-proposal-class-properties customize-cra react-app-rewired
+```
+
+Secondly, create a `config-overrides.js` file in the root of your project.
+
+```js
+const path = require('path');
+const { override, addBabelPlugins, babelInclude } = require('customize-cra');
+
+module.exports = override(
+ ...addBabelPlugins('@babel/plugin-proposal-class-properties'),
+ babelInclude([
+ path.resolve(__dirname, 'node_modules/react-native-elements'),
+ path.resolve(__dirname, 'node_modules/react-native-vector-icons'),
+ path.resolve(__dirname, 'node_modules/react-native-ratings'),
+ path.resolve(__dirname, 'src'),
+ ])
+);
+```
+
+Also you should keep in mind that not all of React Native components are implemented for web-platform out-of-box.
+For example, `Modal` component is not yet implemented in `react-native-web`. Therefore, to use some of our components
+you may need to install additional third-party libraries that implement the missing functionality.
+For [`Overlay`](overlay.md) and [`Tooltip`](tooltip.md) components `Modal` implementation is required.
+
+Lastly, change your scripts in `package.json` to use react-app-rewired:
+
+```diff
+"scripts": {
+- "start": "react-scripts start",
++ "start": "react-app-rewired start",
+- "build": "react-scripts build",
++ "build": "react-app-rewired build",
+- "test": "react-scripts test",
++ "test": "react-app-rewired test"
+}
+```
+
+At this point your app can start. However trying to use any components that use icons, will not show them. In your App.js, load these fonts as you would on the web with a style tag.
+
+```jsx
+
+```
+
+The full setup of the guide can be found at https://github.com/react-native-elements/create-react-app-example.
diff --git a/website/versions.json b/website/versions.json
index 9f55555ed5..ed7202cb57 100644
--- a/website/versions.json
+++ b/website/versions.json
@@ -1,4 +1,5 @@
[
+ "2.0.0",
"1.2.0",
"1.1.0",
"1.0.0",