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 🙏

© 2025 – Pkg Stats / Ryan Hefner

react-peel

v2.0.0

Published

react-peel is a react library to create realistic peeling effects. No dependencies.

Readme

React Peel

Important Note: This is the first release of react-peel. If you encounter any issues or have suggestions, please open an issue. Contributions and feedback are highly appreciated!

react-peel is a React wrapper around the original peel.js library by Andrew Plummer. It enables realistic peel effects in React applications with a flexible API to customize and control the peeling behavior.

🌐 Documentation

Explore the full documentation and examples at:
https://iqbal-rashed.github.io/react-peel

Installation

Install react-peel via npm:

npm install react-peel

Basic Usage Example

import React from "react";
import { PeelWrapper, PeelTop, PeelBack, PeelBottom } from "react-peel";

const MyComponent = () => {
  return (
    <PeelWrapper height={200} width={200} drag>
      <PeelTop style={{ backgroundColor: "#81afcb" }} />
      <PeelBack style={{ backgroundColor: "#a0c7df" }} />
      <PeelBottom style={{ backgroundColor: "#688394" }} />
    </PeelWrapper>
  );
};

export default MyComponent;

This example sets up a peel effect with customizable layers and enables drag interaction. You can style the peel layers and control the peel behavior through the available props.

PeelWrapper Props

| Prop | Type | Description | | --------------- | ------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | | ref | MutableRefObject<any> \| undefined | Reference to the Peel instance, exposing methods and internal state. | | className | string \| undefined | CSS class applied to the PeelWrapper container. | | height | string \| number \| undefined | Sets the height of the peel container. | | width | string \| number \| undefined | Sets the width of the peel container. | | options | object \| undefined | Configuration options passed to the underlying peel.js instance. See peel.js options. | | peelPosition | { x: number; y: number } \| undefined | Coordinates of the peel position, representing the corner currently peeling. | | corner | { x: number; y: number } \| "TOP_LEFT" \| "TOP_RIGHT" \| "BOTTOM_LEFT" \| "BOTTOM_RIGHT" \| undefined | Defines the corner from which the peel originates. Can be coordinate or corner name. Defaults to "BOTTOM_RIGHT". | | constraints | { x: number; y: number } \| string \| Array<{ x: number; y: number } \| string> \| undefined | List of constraints limiting how far the peel can extend, defined as coordinates or corner names. | | drag | boolean \| undefined | Enables peel dragging using mouse/touch to move the peel position dynamically. | | mode | "book" \| "calendar" \| undefined | Predefined peel modes with specific constraints. Supported: "book" and "calendar". | | fadeThreshold | number \| undefined | Threshold (0 to 1) at which the top peel layer begins to fade out as it is peeled away. | | timeAlongPath | number \| undefined | Animates the peel along a predefined path at a given time (between 0 and 1). Throws error if no path is set. | | peelPath | number[] \| undefined | Defines the path (line or bezier curve) along which the peel moves. |

Contribution

Contributions are very welcome! If you'd like to contribute, please review the Contributing Guide before submitting a pull request.