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

easy-on-board

v2.5.0

Published

easy on Board is a react native package that helps you to make an on Board Screen without efforts.

Downloads

25

Readme

:iphone: Easy On board :fist:

:blue_book: Description

:star: What is new ?

:boom: ShowCase

:zap: Installation

:key: Usage

:page_facing_up: Examples

:ok_hand: Why easy-on-board ?

Twitter Follow

Description

easy on Board is a react native package that helps you to make an onBoard Screen without efforts.

What is new ?

  • version 0.0.5 :

    • Adding current component indicator
    • Changing text on the Next button to appear as Finish when reaching the last component
    • Changing some props naming convention
  • version 0.0.6 :

    • Adding navigation between the components through the indicators
  • version 1.1.0 :

    • Removing indicator keys warning
    • Implementing swipe gesture
  • version 2.2.0 :

    • Adding useOnBoard hook :tada:
    • Applying some performance improvements
  • version 2.2.1 :

    • adding finish text prop
  • version 2.2.2 :

    • adding onBoard component title prop
    • adding onBoard component text style prop
  • version 2.2.3 :

    • default styles improvements
  • version 2.3.0 :

    • adding start button text and styling props
    • adding finish button text and styling props
  • version 2.3.1 :

    • Wrapper style improvements
  • version 2.3.2 :

    • supporting RTL in swipe gestures "when LTR 'swipe right' === back and when RTL 'swipe right' === next"
  • version 2.4.0 :

    • adding custom render functions for back,start,next and finish buttons
  • version 2.5.0 :

    • adding EasyOnBoard component titleStyle and imageStyle props
    • some style props improvements

ShowCase

Installation

#npm
npm install easy-on-board

#yarn
yarn add easy-on-board

Usage

we have two components

  • EasyOnBoard.Screen which is the wrapper of the on-board components and it has 12 props :

    • children which are wrapped components (Required)

    • onFinish the function to be called on last component which could be navigation to another screen (Required)

    • nextButtonText the text to be shown on next button (Optional)

    • nextTextStyle the styling props of the text (Optional)

    • nextButtonStyle the button styling props (Optional)

    • renderNextComponent render function that called to render custom next button component, Note: it overrides nextButtonText (Optional)

    • startButtonText the text to be shown on start button "same as next button but showed as at first component" (Optional)

    • startTextStyle the styling props of the text (Optional)

    • startButtonStyle the button styling props (Optional)

    • renderStartComponent render function that called to render custom start button component, Note: it overrides startButtonText (Optional)

    • finishButtonText the text to be shown on finish button "same as next button but showed as at last component"(Optional)

    • finishTextStyle the styling props of the text (Optional)

    • finishButtonStyle the button styling props (Optional)

    • renderFinishtComponent render function that called to render custom finish button component, Note: it overrides finishButtonText (Optional)

    • backButtonText the text to be shown on back button (Optional)

    • backTextStyle the styling props of the text (Optional)

    • backButtonStyle the button styling props (Optional)

    • renderBackComponent render function that called to render custom back button component, Note: it overrides backButtonText (Optional)

    • indicator boolean value to determine showing indicator or not " default value = false " (Optional)

    • indicatorColor color of the non-current indicators (Optional)

    • selectedIndicatorColor color of the current indicator (Optional)

    • swipeable boolean value to determine allowing swipe gesture to change the current component or not " default value = false " (Optional)

  • EasyOnBoard.Component which is the wrapped component as we will see and it has 3 props:

    • text (Required)

    • title (Required)

    • imageSource (Required) and this takes the source of the image , like "require('./myimage.png')" or "{uri: 'https://reactjs.org/logo-og.png'}"

    • style component styling props (Optional)

    • textStyle text styling props (Optional)

    • titleStyle title styling props (Optional)

    • imageStyle image styling props (Optional)

:fire:or you can just use The Hook:fire:

  • useOnBoard and it takes 4 props and finish the whole work for you :

    • children which is an array of objects where each object has 2 properties {text,imageSource,title} (Required)

    • onFinish the function to be called on last component which could be navigation to another screen (Required)

    • swipeable boolean value to determine allowing swipe gesture to change the current component or not " default value = false " (Optional)

    • indicator boolean value to determine showing indicator or not " default value = false " (Optional)

Package Import :

import EasyOnBoard, { useOnBoard } from "easy-on-board";

Examples

<EasyOnBoard.Screen
  onFinish={() => {
    alert("this is last component");
  }}
  indicator
  swipeable
>
  <EasyOnBoard.Component
    title="First"
    text="First Component"
    imageSource={require("./src/assets/first.png")}
  />
  <EasyOnBoard.Component
    title="Second"
    text="Second Component"
    imageSource={require("./src/assets/second.png")}
  />
  <EasyOnBoard.Component
    title="Third"
    text="Third Component"
    imageSource={require("./src/assets/third.png")}
  />
</EasyOnBoard.Screen>

Or use the hook

const children = [
  {
    title: "First",
    text: "First component",
    imageSource: require("./src/assets/first.png"),
  },
  {
    title: "Second",
    text: "Second component",
    imageSource: require("./src/assets/second.png"),
  },
  {
    title: "Third",
    text: "Third component",
    imageSource: require("./src/assets/third.png"),
  },
];

const onFinish = () => {
  alert("tada enjoy the hook");
};

const onBoardScreen = useOnBoard({
  onFinish: onFinish,
  swipeable: true,
  indicator: true,
  children: children,
});

Why easy-on-board ?

  • :heavy_check_mark: Highly customizable :muscle:

  • :heavy_check_mark: Fixed wrapped component "EasyOnBoard.Component" :muscle:

  • :heavy_check_mark: Dynamic wrapped component "any component can be used as wrapped component" :muscle:

  • :heavy_check_mark: Dynamic style of the buttons :muscle:

  • :heavy_check_mark: Current component indicator :muscle:

  • :heavy_check_mark: Navigation through the Indicators :muscle:

  • :heavy_check_mark: Adding swipe gesture to change current component :muscle:

  • :heavy_check_mark: You can use the hook feature for the fast creation of OnBoard Screen :tada: