npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-ui-kit-native

v0.0.25

Published

React Native components based on React UI Kit

Downloads

19

Readme

React Native UI Kit

React Native components based on React UI Kit

Offical documentation of React UI Kit Native made for React Native applications and you can easily use the components in your project. A lot of predefined styles & properties so it's perfectly fit for prototyping of your app UI.

Support: [email protected]

Setup

Install & usage

  1. Install local module with react-ui-kit-native (it will also download all required dependencies)
npm install react-ui-kit-native --save
  1. Use any component you want, all available props are available separately for each component below in this documentation. For example:
import React from 'react';
import { Button } from 'react-ui-kit-native';

export default class MyButton extends React.Component {
  render() {
    return (
      <Button full primary rounded label="My button" />
    );
  }
}

Components

List of available components:

Status | Type | Component | Description :--- | :--- | :--- | :--- | :heavy_check_mark: | button | Button | react-native TouchableOpacity component with predefined styles & props :heavy_check_mark: | button | Link | react-native Text & Linking component with predefined properties :heavy_check_mark: | input | Input | react-native TextInput component with predefined styles & props :heavy_check_mark: | input | Select | react-native-modal-dropdown module with predefined styles :soon: | input | Checkbox | react-native Switch component with predefined styles & props :soon: | input | Datepiker | react-native DatePickerIOS & DatePickerAndroid component with predefined styles & props :soon: | input | Progress | react-native ProgressViewIOS & ProgressBarAndroid component with predefined styles & props :heavy_check_mark: | view | Block | react-native View component with predefined styles & props :heavy_check_mark: | view | Container | react-native View component with predefined styles & props :heavy_check_mark: | view | Text | react-native Text component with predefined styles & props :heavy_check_mark: | view | Icon | react-native-vector-icons module with predefined props :heavy_check_mark: | view | Image | react-native Image component with predefined styles & props :construction: | view | Badge | react-native Text & View component with predefined styles & props :construction: | view | Label | react-native Text & View component with predefined styles & props :soon: | view | Tabs | react-native TabBarIOS component with predefined styles & props :soon: | view | List | react-native ScrollView component with predefined styles & props :soon: | view | Menu | react-native ScrollView component with predefined styles & props

Button

PROP | TYPE | DEFAULT | DESCRIPTION :--- | :--- | :--- | :--- color | string | #FFFFFF | Specifies a text color size | number | 16 | Specifies a fontSize size label | string | null | Specifies a string for the button text icon | bool | null | Specifies an icon name - check Icon component family | bool | null | Specifies an icon family - check Icon component loading | bool | false | Disable touch/press events and render ActivityIndicator full | bool | false | Set the width of the component to 80% from the total width of the screen opacity | number | 0.8 | Determines what the activeOpacity of the Button should be when touch is active basic | bool | false | Include styles.basic with backgroundColor: #FFFFFF, borderColor: #45547e bold | bool | false | Determines whether the styles.bold should be included border | bool | false | Determines whether the styles.border should be included rounded | bool | false | Determines whether the styles.basic should be included primary | bool | false | Include styles.primary with backgroundColor: #7CB527 secondary | bool | false | Include styles.secondary with backgroundColor: #FF3D57 tertiary | bool | false | Include styles.tertiary with backgroundColor: #7857A9 style | View style | {} | Add style properties for better customization

For more properties visit TouchableOpacity props

Link

PROP | TYPE | DEFAULT | DESCRIPTION :--- | :--- | :--- | :--- color | string | color: #323642 | Specifies a text color href | string | null | A link (web URL, email, contact etc.) onPress | func | () => {} | Called when the touch is released style | View style | {} | Add style properties for better customization

Input

PROP | TYPE | DEFAULT | DESCRIPTION :--- | :--- | :--- | :--- color | string | #293042 | Specifies a text color placeHolderColor | string | #5E6D95 | Specifies a placeholderTextColor bgColor | string | #FFFFFF | Specifies a backgroundColor color rounded | bool | false | Determines whether the styles.rounded should be included type | string | default | One of 'default', 'email-address', 'numeric', 'phone-pad', 'number-pad', 'decimal-pad' for keyboardType help | string | null | Specifies a string or node for the text positioned between label and input left | bool | true | Positioning the icon on the left right | bool | false | Positioning the icon on the right transparent | bool | false | Determines whether the styles.transparent should be included borderless | bool | false | Determines whether the styles.borderless should be included border | bool | false | Determines whether the styles.border should be included

For more properties visit TextInput props

Text

PROP | TYPE | DEFAULT | DESCRIPTION :--- | :--- | :--- | :--- h1 | bool | false | styles.h1 with fontSize size of 112 h2 | bool | false | styles.h2 with fontSize size of 56 h3 | bool | false | styles.h3 with fontSize size of ~45 h4 | bool | false | styles.h4 with fontSize size of ~34 h5 | bool | false | styles.h5 with fontSize size of ~24 title | bool | false | styles.title with fontSize size of ~20 subtitle | bool | false | styles.subtitle with fontSize size of 16 caption | bool | false | styles.caption with fontSize size of 12 size | number | 14 | Specifies a fontSize size of 14 color | string | #808080 | Specifies a text color #808080 thin | bool | false | Set the fontWeight to 100 bold | bool | false | Set the fontWeight to 300 light | bool | false | Set the fontWeight to bold italic | bool | false | Set the fontStyle to italic align | bool | null | Specifies a textAlign

For more properties visit Text props

Icon

PROP | TYPE | DEFAULT | DESCRIPTION :--- | :--- | :--- | :--- color | string | #808080 | Specifies an Icon color COLOR_DEFAULT #808080 size | number | 16 | Specifies a fontSize size, BASE_SIZE 16px name | string | null | What icon to show, for more example see [Icon Explorer](https://oblador.github.io/react-native-vector-icons/) family | string | null | One of the sets from Bundled Icon Sets

For more properties visit react-native-vector-icons

Image

PROP | TYPE | DEFAULT | DESCRIPTION :--- | :--- | :--- | :--- avatar | string | false | Based on image width & height will add borderRadius with value of minimum between WIDTH & HEIGHT width | number | null | Add WIDTH to image style height | number | null | Add HEIGHT to image style size | number | null | width & height changed using: tiny divided by 2, small divided by 1.25 or large multiplied by 2 source | string | null | Image source (either a remote URL or a local file resource).

For more properties visit Image props

Examples

A list of example screens based on the above components:

Login

Login Screen

import React from 'react';
import { Block, Button, Input, Text } from 'react-ui-kit-native';

export default class LoginScreen extends React.Component {
  render() {
    return (
      <Block flex middle>
        <Text title light color="#000">
          LOGIN SCREEN
        </Text>
        <Text caption thin color="#000">
          Please login to your account
        </Text>
        <Input placeholder="Email" />
        <Input password placeholder="Password" />
        <Button full primary rounded label="SIGN IN" />
      </Block>
    );
  }
}

Forgot

Forgot Screen

import React from 'react';
import { Block, Button, Input, Text } from 'react-ui-kit-native';

export default class LoginScreen extends React.Component {
  static navigationOptions = {
    header: null,
  };

  render() {
    return (
      <Block flex middle>
        <Text title light color="#000">
          FORGOT PASSWORD
        </Text>
        <Input placeholder="Email" />
        <Button full rounded label="RESET PASSWORD" />
      </Block>
    );
  }
}

Register

Register Screen

import React from 'react';
import { Block, Button, Input, Text } from 'react-ui-kit-native';

export default class RegisterScreen extends React.Component {
  render() {
    return (
      <Block fluid flex middle>
        <Text title light color="#000">
          REGISTER SCREEN
        </Text>
        <Input label="First name" placeholder="React" right icon="text" family="Entypo" />
        <Input label="Last name" placeholder="UI Kit" right icon="text" family="Entypo" />
        <Input
          right
          icon="location-pin"
          family="Entypo"
          label="Address"
          placeholder="Street name, number, house"
        />
        <Input
          right
          icon="phone"
          family="Entypo"
          type="phone-pad"
          label="Phone number"
          placeholder="0712345678"
        />
        <Button full rounded tertiary label="SIGN UP" />
      </Block>
    );
  }
}

Profile

Profile Screen

import React from 'react';
import { StyleSheet, Image } from 'react-native';
import { Block, Text } from 'react-ui-kit-native';

class ProfileScreen extends React.Component {
  render() {
    const { profile } = this.props;

    return (
      <Block fluid flex middle style={styles.profile}>
        <Text h5 light color="#000">{profile.fullname}</Text>
        <Image source={{ uri: profile.avatar }} style={styles.avatar} />
        <Text subtitle light>{`${profile.city}, ${profile.country}`}</Text>
        <Text bold>{profile.email}</Text>
      </Block>
    );
  }
}

ProfileScreen.defaultProps = {
  profile: {
    fullname: `React UI Kit`,
    city: `London`,
    country: `United Kingdom`,
    email: `[email protected]`,
    avatar: `https://react-ui-kit.com/assets/img/react-ui-kit-logo.png`,
  },
};

export default ProfileScreen;

const styles = StyleSheet.create({
  profile: {
    paddingTop: 15,
    backgroundColor: '#fff',
  },
  avatar: {
    width: 200,
    height: 200,
    resizeMode: 'contain',
  },
});

Work in progress

  • [x] export components style as styles for easy import
  • [ ] create theme HoC with default theme.js

Contribution

Have an idea for a new component or Screen? Just contact us at [email protected] and will add it to our list.