Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

react-slot-counter

Package Overview
Dependencies
Maintainers
1
Versions
47
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-slot-counter

React Slot Counter Component

  • 1.3.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4.5K
decreased by-57.05%
Maintainers
1
Weekly downloads
 
Created
Source

react-slot-counter

react-slot-counter is a React component that uses slot machine animations to display numbers and strings.

NPM

Installation

To install the package, run the following command:

npm install react-slot-counter

Usage

Import SlotCounter and use it in your component. Here's a simple example:

import React from 'react';
import SlotCounter from 'react-slot-counter';

function App() {
  return (
    <>
      <SlotCounter value={123456} />
      <SlotCounter value="1,234,567" />
      <SlotCounter value={['1', '2', '3', '4', '5', '6']} />
      <SlotCounter value="??????" />
      <SlotCounter value={36.5} duration={2} />
      <SlotCounter
        value={123456}
        charClassName="char"
        separatorClassName="sep"
      />
    </>
  );
}

export default App;

Demo

For more examples of usage and available options, check out the demo page.

Props

PropTypeDefaultDescription
value (required)number or stringThe value to be displayed. It can be a number or a string with numbers and commas.
durationnumber0.7The duration of the animation in seconds.
dummyCharactersArray<string>Defaults to random numbers from 0 to 9An array of dummy characters to be used in the animation.
dummyCharacterCountnumber6The number of dummy characters to be displayed in the animation before reaching the target character.
autoAnimationStartbooleantrueDetermines whether the animation should start automatically when the component is first mounted.
containerClassNamestringThe class name of container.
charClassNamestringThe class name of each character.
separatorClassNamestringThe class name of the separator character (. or ,).

Ref

You can access the SlotCounter component using a ref. This ref can be used to start the animation of the component.

MethodDescription
startAnimationStart the animation of the component

The startAnimation method accepts an optional object with the following properties:

  • duration: The duration of the animation in seconds. Overrides the duration prop.
  • dummyCharacterCount: The number of dummy characters to be displayed in the animation before reaching the target character. Overrides the dummyCharacterCount prop.

Example:

import React, { useRef } from 'react';
import SlotCounter, { SlotCounterRef } from 'react-slot-counter';

function App() {
  const counterRef = useRef < SlotCounterRef > null;

  const handleStartClick = () => {
    counterRef.current?.startAnimation();
  };

  return (
    <div>
      <SlotCounter value={123456} ref={counterRef} />
      <button onClick={handleStartClick}>Start</button>
    </div>
  );
}

export default App;

Contributing

Contributions, issues, and feature requests are welcome! If you'd like to contribute, please follow these steps:

  1. Fork the project
  2. Create a new branch for your feature or bugfix
  3. Commit your changes
  4. Push your changes to the branch
  5. Open a pull request

Please also make sure to update tests as appropriate and follow the coding style of the project.

License

This project is licensed under the MIT License

Keywords

FAQs

Package last updated on 27 Mar 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc