# react-native-useful-screens

> Set of screen boilerplates for React Native

Latest version **0.0.5** (published 2018-11-20) · MIT license · 0 weekly downloads

## Install

```sh
npm install react-native-useful-screens
pnpm add react-native-useful-screens
yarn add react-native-useful-screens
bun add react-native-useful-screens
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.5 |
| Published | 2018-11-20 |
| First published | 2018-11-16 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 9 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Dmitriy Nikolenko |
| Maintainers | dmitriy_nikolenko |
| Keywords | react-native, react-native-component, react, ui, screen, navigation |

## Links

- npm: https://www.npmjs.com/package/react-native-useful-screens
- Repository: https://github.com/DmitriyNikolenko/react-native-useful-screens
- Issues: https://github.com/DmitriyNikolenko/react-native-useful-screens/issues
- npm.io page: https://npm.io/package/react-native-useful-screens

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 0.0.5 (latest) — 2018-11-20
- 0.0.4 — 2018-11-19
- 0.0.3 — 2018-11-16
- 0.0.2 — 2018-11-16

## README

# Contents
* [About](#about)
* [Installation](#installation)
* [Usage](#usage)
* [License](#license)
* [Changelog](#changelog)

# About
A set of screens with headers for React Native.

# Installation

```
npm install react-native-useful-screens
```
or 
```
yarn add react-native-useful-screens
```

# Usage

## Import
```javascript
import Screen from 'react-native-useful-screens'
```

## Screen props
| props           | description             | default                 | type |   headerType   |
|-----------------|-------------------------|-------------------------|------|----------------|
| headerType      | Type of header          | Screen.headerTypes.NONE | oneOf([Screen.headerTypes.NONE, Screen.headerTypes.SINGLE, Screen.headerTypes.FLOATING, Screen.headerTypes.IMAGED]) | all |
| title           | Header title            | undefined               | string  | all |
| height          | height of header        | ios: 44, android: 56    | number | all |
| color           | Header color            | undefined               | string   | all |
| children        | Screen content          | undefined               | React.Node | all |
| topComponent    | Component above content | undefined               | React.Node | all |
| footerComponent | Component below content | undefined               | React.Node | all |
| floatingRatio   | speed of expand header    | 3  | number | 'floating' |
| expandedHeight  | height of expanded header | ios: 44, android: 56  | number | 'imaged' |
| imageSrc        | image source for header   | undefined  | required image | 'imaged' |


## Header types
- *'none'* - Screen.headerTypes.NONE
- *'single'* - Screen.headerTypes.SINGLE
- *'floating'* - Screen.headerTypes.FLOATING
- *'imaged'* - Screen.headerTypes.IMAGED

## Example

```javascript
<Screen
	// Screen props
	headerType={Screen.headerTypes.IMAGED}
	topComponent={TabBar}
	footerComponent={Footer}
	// Single header props
	title="Screen title"
	color="orange"
	leftComponent={DrawerMenuButton}
	rightComponent={AppNavMenu}
	// Imaged header props
	imageSrc={require('./images/header-bg')}
	expandedHeight={240}
>
	<Text>Content</Text>
</Screen>
```

## Demo

| Screen.headerTypes.FLOATING | Screen.headerTypes.IMAGED |
| ------------- |:-------------:|
| ![floating navbar](/demo/floating.gif "headerType={Screen.headerTypes.FLOATING}") |  ![imaged navbar](/demo/imaged.gif "headerType={Screen.headerTypes.IMAGED}") |

# License

MIT

# Changelog

- *0.0.5* - rename .jsx files to .js
- *0.0.4* - update docs
- *0.0.3* - fixed collapsing bug in FloatingNavBar
- *0.0.2* - fixed imports in ImagedNavBar component, adding demo gifs, update docs
- *0.0.1* - created module.

---
_Source: https://npm.io/package/react-native-useful-screens · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
