react-native-24
TypeScript icon, indicating that this package has built-in type declarations

0.6.2 • Public • Published

react 24 logo

A clean, modern React Native component library. Light and easy to use. Built for 2020 and beyond.
Made with 🔥 in the UK.

💻 Installation

npm install react-native-24

or

yarn add react-native-24

🚀 Usage

Here is a quick example to get you started, it's all you need:

import React from "react";
import { Text, Flex } from "react-native-24";
 
function App() {
  return (
    <Flex justifyContent="center">
      <Text type="h1" color="blue">
        24
      </Text>
    </Flex>
  );
}

📚 Components

Flex (for flexible, dynamic divs)

<Flex props>
  {...children}
</Flex>
 
justifyContent?:
| "space-between"
| "space-evenly"
| "flex-start"
| "flex-end"
| "center"
| "space-around";
alignItems?:
| "space-between"
| "center"
| "stretch"
| "flex-start"
| "flex-end"
| "baseline"
| "initial"
| "inherit";
children: any;
style?: ViewStyle;
vertical?: boolean;

Text (for all kinds of text)

<Text props>
  {...children}
</Text>
 
children: any
size?: oneOf(['p', 'span', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6']); Default is 'p'.
color?: string;
bold?: boolean;
skeletonLoading?: boolean;
camel?: boolean;
underlined?: boolean;
numberOfLines?: number;
style?: TextStyle;

Space (handy replacement for margins)

<Space props>
  {...children}
</Space>
 
size?: oneOf(['xs', 'sm', 'md', 'lg', 'xl']). Default is 'md';
children?: any;
style?: ViewStyle;

Button (buttons)

<Button props>
  {...children}
</Button>
 
feedback?: FeedbackType;
theme?: ThemeType;
children: any;
style?: ViewStyle | ViewStyle[];
onPress?: () => void;
onPressIn?: () => void;
onPressOut?: () => void;
disabled?: boolean;

Divider (hr)

<Divider props />
 
color?: string;
width?: string | number;
style?: ViewStyle;

Spinner (ActivityIndicator)

<Spinner props />
 
color?: string;
size?: number;
style?: ViewStyle;

SkeletonLoader

<SkeletonLoader>
  <Text>Custom text</Text>
</SkeletonLoader>
 
children: any;

Input (TextInput)

<Input props />
 
height?: number;
style?: ViewStyle;
value?: string;
onChange?: Function;
multiline?: boolean;
editable?: boolean;
placeholder?: string;

Avatar (for profile/display pictures)

<Avatar props />
 
source: any; // uri or require local
style?: ViewStyle;
size?: "xxs" | "xs" | "sm" | "md" | "lg";

Image

<Image source="image URI source" width={100} />
 
width: number;
style: ImageStyle | ImageStyle[];
source: ImageURISource;
onLoad?: (args: any) => any;

Card

<Card props />
 
children: any;
style?: ViewStyle;
noPadding?: boolean;

Icon

<Icon name="camera" size={20} color="#fff" />
 
name: string;
size?: number;
color?: string;

Inherits props from react-native-vector-icons/Icon

Select

<Select
  onValueChange={(value) => console.log(value)}
  items={[
    { label: "Football", value: "football" },
    { label: "Baseball", value: "baseball" },
    { label: "Hockey", value: "hockey" },
  ]}
/>

Inherits props from react-native-picker-select

Notification (for in-app toasts)

import { Notification, Notify } from "react-native-24";
import { Text } from "...";
// Use at the root level of your app. Then you can call Notify.open elsewhere.
<Notification
  ref={(ref) => {
    Notify.setNotification(ref);
  }}
  text={Text} // use whatever text component you want (so you can have custom fonts)
/>;

Notify (to call Notification ☝️)

Notify.open(message, type);
 
message: string;
success: "success" | "info" | "error";

Roadmap

Currently in active development, and not ready for production projects. Any feedback is welcome.

License

This project is licensed under the terms of the MIT license.

Readme

Keywords

none

Package Sidebar

Install

npm i react-native-24

Weekly Downloads

18

Version

0.6.2

License

ISC

Unpacked Size

226 kB

Total Files

100

Last publish

Collaborators

  • alcuin