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

expo-alerts

v0.1.0

Published

Internal notifications module for React Native / Expo. Focused on providing a flexible, cross-platform and easy-to-implement solution for developers looking to add internal notifications to their apps

Downloads

3

Readme

expo-alerts

Internal notifications module for React Native / Expo. Focused on providing a flexible, cross-platform and easy-to-implement solution for developers looking to add internal notifications to their apps

Example Alert Notification

| Customized by props | Customized by component | | :------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | | | |

Example Toast Notification

| Theme Light |
| :----------------------------------------------------------------------------------------------------------------------------------------------------------------: | |

Installation

- Installing:

yarn add expo-alerts

- Installing dependencies:

  • For Native project:
yarn add expo-alerts

pod install
  • For Expo project:
expo install expo-alerts

Usage

Alert configured by props

import { Alert } from "expo-alerts";
import React, { useState } from "react";
import { Image } from "react-native";

const App = () => {
    // Handler
    const [visible, setVisible] = useState()
    
    // ALert configuration
    const alertConfig = {
        icon: <Image source={...} />,
        title: "Another alert with props",
        body: "This is an alert customized by props.\nAwesome!",
        alertStyle: { radius: 30, padding: 12 },
        actions: {
            direction: "row",
                gap: 5,
                radius: 50,
                buttons: [
                {
                    onPress: () => setVisible(),
                    title: "Aceptar",
                    style: { buttonColor: "#2AAF73", textColor: "white" },
                },
            ],
        },
    };
    
    return (
        <Alert isVisible={isVisible} setVisible={setVisible} {...alertConfig} />
    );
};

export default App;

Alert by user custom component

import { Alert } from "expo-alerts";
import React from "react";
import { Text, View, StyleSheet, Image } from "react-native";

const App = () => {
    // Handler
    const [visible, setVisible] = useState()
    return (
        <Alert isVisible={isVisible} setVisible={setVisible}>
          // Children
        </Alert>
    );
};

Toast Notification

import { Alert } from "expo-alerts";
import React from "react";
import { Text, View, StyleSheet, Image } from "react-native";

const App = () => {
    // Handler
    const [visible, setVisible] = useState()
    
    // Toast configuration
    const configuration = {
        position: "bottom",
        bottomPosition: 20,
        customStyle: {
            titleSize: 16,
            bodySize: 16,
            backgroundColor: "#2AAF73",
            titleColor: "white",
            bodyColor: "white",
        },
        timeout: 3000,
        title: "Timeout Toast",
        body: "This toast will be visible for 3 seconds",
    };
    
    return (
        <Toast
            visible={toast === "Toast"}
            setVisible={setToast}
            config={configuration}
        />
    );
};

Documentation:

Alert Component

Alert component that will show data, actions, images...

| Name | Description | Required | Default | Type | | ---------- | ------------------------------------------------------------------ | ------- | ------- | ---------- | | alertStyle | The custom style for the Alert component. | | | Object | | actions | An array containing information about the Alert's actions. | | | Array | | icon | The icon to display in the Alert component. | | | React Node | | timeout | The timeout in milliseconds for the Alert component. | | | Number | | onHide | The function to call when the Alert component is hidden. | | () => {}| Function | | isVisible | Whether the Alert component is visible or not. | | | Boolean | | setVisible | The function to call to set the visibility of the Alert component. | | | Function | | title | The title text for the Alert component. | | | String | | body | The body text for the Alert component. | | | String | | children | Any child components to render inside the Alert component. | | | React Node |

AlertStyle

| Name | Description | Required | Default | Type | | ----------- | ------------------------------------------------------- | ------- | ------- | ---------- | | radius | The border radius of the Alert component. | | 20 | Number | | bgColor | The background color of the Alert component. | | "white" | String | | titleColor | The color of the title text in the Alert component. | | "black" | String | | titleSize | The font size of the title text in the Alert component. | | 20 | Number | | bodySize | The font size of the body text in the Alert component. | | 14 | Number | | bodyColor | The color of the body text in the Alert component. | | "black" | String | | family | The font family to use for the Alert component. | | | String | | padding | The padding around the Alert component. | | 1 | Number | | width | The width of the Alert component. | | "100%" | String | | height | The height of the Alert component. | | "auto" | String | | maxWidth | The maximum width of the Alert component. | | 350 | Number | | maxHeight | The maximum height of the Alert component. | | | Number | | textAlign | The text alignment in the Alert component. | | "center"| String | | gap | The gap between the Alert component and its container. | | 20 | Number |

AlertActions

| Name | Description | Required | Default | Type | | -------- | ----------------------------------------------------------------- | ------- | ------- | ----------------------- | | direction| The direction of the inline buttons. Either "row" or "column". | | "row" | String | | gap | The gap between the inline buttons. | | 5 | Number | | radius | The radius of the inline buttons. | | 10 | Number | | buttons | An array containing information about the inline buttons. | | | Array |

AlertButtons

| Name | Description | Required | Default | Type | | ------ | ----------------------------------------------------- | ------- | ------- | ----------- | | onPress| The function to call when the button is pressed. | | () => {}| Function | | title | The text to display on the button. | | "" | String | | style | The style for the button. | | { buttonColor: "", textColor: "" } | Object |

Toast Component

A Toast component displays a brief message to the user.

| Name | Description | Required | Default | Type | | --------------- | --------------------------------------------------------------------------- | ------- | ------- | ------------------------ | | position | The position of the Toast component on the screen. | | "top" | String | | customStyle | The custom style for the Toast component. | | | Object | | timeout | The timeout in milliseconds for the Toast component. | | false | Boolean or Number | | title | The title text for the Toast component. | | | String | | body | The body text for the Toast component. | | | String | | bottomPosition | The distance in pixels from the bottom of the screen for a bottom-positioned Tost. | | 60 | Number | | topPosition | The distance in pixels from the top of the screen for a top-positioned Toast. | | 60 | Number | | icon | The icon to display in the Toast component. | | | React Node | | height | The height of the Toast component. | | 60 | Number | | action | The function to call when an action is triggered in the Toast component. | | () => {}| Function |

ToastStyle

| Name | Description | Require | Default | Type | | ---------------- | --------------------------------------------------- | ------- | ------- | ------ | | titleSize | The font size of the title text in the Alert. | | 16 | Number | | bodySize | The font size of the body text in the Alert. | | 16 | Number | | backgroundColor | The background color of the Alert. | | #2AAF73 | String | | titleColor | The color of the title text in the Alert. | | white | String | | bodyColor | The color of the body text in the Alert. | | white | String |

Author

Eloy Gómez García | https://eloygomez.net.com

License

MIT